diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/commont/constant.java b/jero-boot-incoming-payment/src/main/java/com/jero/mail/commont/constant.java index 68d0ae76..36db8524 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/commont/constant.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/commont/constant.java @@ -28,6 +28,10 @@ public interface constant { * 超级管理员 */ public static final String ADMIN="admin"; + /** + * 企业信息维护人员 + */ + public static final String QYXXWHRY="qyxxwhry"; /** * 用户角色(企业人员) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/controller/PayMailBillController.java b/jero-boot-incoming-payment/src/main/java/com/jero/mail/controller/PayMailBillController.java index 8319b447..22a5f324 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/controller/PayMailBillController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/controller/PayMailBillController.java @@ -131,7 +131,7 @@ public class PayMailBillController extends JeroController pageList = payMailBillService.pageList(page, queryWrapper); if (!CollectionUtils.isEmpty(pageList.getRecords())) { try { diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/controller/PayMailContractController.java b/jero-boot-incoming-payment/src/main/java/com/jero/mail/controller/PayMailContractController.java index ee4e928f..643b8340 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/controller/PayMailContractController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/controller/PayMailContractController.java @@ -64,6 +64,7 @@ public class PayMailContractController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(payMailBillList, req.getParameterMap()); Page page = new Page<>(pageNo, pageSize); + queryWrapper.orderByAsc("post_status"); queryWrapper.orderByDesc("pc.create_time"); IPage pageList = payMailContractService.pageContract(page, queryWrapper); return Result.OK(pageList); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/xml/PayMailBillMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/xml/PayMailBillMapper.xml index e950e648..766345d9 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/xml/PayMailBillMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/xml/PayMailBillMapper.xml @@ -58,5 +58,7 @@ contact_name as contactName,contact_mobile as contactMobile,post_status as postStatus,send_method as sendMethod ,create_time from pay_mail_bill pmb left join pay_mail_bill_project pmbp on(pmb.id=pmbp.bill_id) ${ew.customSqlSegment} +group by pmb.id ORDER BY post_status ASC,create_time DESC + \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupStatisticsController.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupStatisticsController.java index ee1d01d8..f2955078 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupStatisticsController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupStatisticsController.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Result; import com.jero.common.system.api.ISysBaseAPI; +import com.jero.common.system.vo.ComboModel; +import com.jero.common.system.vo.DictModel; import com.jero.common.system.vo.LoginUser; import com.jero.mail.commont.constant; import com.jero.modules.system.entity.SysUser; @@ -21,7 +23,9 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; +import org.apache.poi.hssf.record.DVALRecord; import org.apache.shiro.SecurityUtils; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; @@ -81,7 +85,7 @@ public class PayWorkingGroupStatisticsController { List userList = userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", orgCode)); idList = userList.stream().map(SysUser::getId).collect(Collectors.toList()); //所领导或者超级管理员 - } else if (constant.SLD.equals(roleCode)|| constant.ADMIN.equals(roleCode)) { + } else if (constant.SLD.equals(roleCode)||constant.ADMIN.equals(roleCode)||constant.QYXXWHRY.equals(roleCode)) { idList=null; //企业职员项目负责人 }else if( constant.QYRY.equals(roleCode)){ @@ -156,7 +160,7 @@ public class PayWorkingGroupStatisticsController { List userList = userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", orgCode)); idList = userList.stream().map(SysUser::getId).collect(Collectors.toList()); //所领导或者超级管理员 - } else if (constant.SLD.equals(roleCode)|| constant.ADMIN.equals(roleCode)) { + } else if (constant.SLD.equals(roleCode)||constant.ADMIN.equals(roleCode)||constant.QYXXWHRY.equals(roleCode)) { idList=null; //企业职员项目负责人 }else if( constant.QYRY.equals(roleCode)){ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java index 5e312c56..8a491fd6 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java @@ -79,6 +79,15 @@ public interface PayWorkingGroupMapper extends BaseMapper { * @Exception */ List queryPageList3(@Param(value = "allProjectStatisticsSearch") AllProjectStatisticsSearch allProjectStatisticsSearch); + /** + * @Description 企业来款查询 + * @Author zql + * @Date 2021/9/17 + * @Param + * @Return + * @Exception + */ + IPage queryPageList3( Page page,@Param(value = "allProjectStatisticsSearch") AllProjectStatisticsSearch allProjectStatisticsSearch,@Param("idList") List idList); /** * @Description 全所统计 diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupService.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupService.java index 5b475301..a45939f5 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupService.java @@ -195,4 +195,13 @@ public interface IPayWorkingGroupService extends IService { * @return */ List queryPageListForDepartFirstPage(); + + /** + * 企业来款统计 + * @param page + * @param allProjectStatisticsSearch + * @param idList + * @return + */ + IPage queryPageListForProject(Page page, AllProjectStatisticsSearch allProjectStatisticsSearch, List idList); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java index 5802e03d..95d9c5ee 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java @@ -297,6 +297,11 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl queryPageListForProject(Page page, AllProjectStatisticsSearch allProjectStatisticsSearch, List idList) { + return payWorkingGroupMapper.queryPageList3(page,allProjectStatisticsSearch,idList); + } + /** * @Description 校验是存在关联合同的项目 * @Author lqt diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/AllProjectStatisticsController.java b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/AllProjectStatisticsController.java index e6a093d1..a67c5cb1 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/AllProjectStatisticsController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/AllProjectStatisticsController.java @@ -1,11 +1,26 @@ package com.jero.statistics.controller; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Result; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.vo.LoginUser; +import com.jero.mail.commont.constant; +import com.jero.meeting.service.IPayMeetingSituationService; +import com.jero.member.service.IPayMemberProjectService; +import com.jero.member.service.IPayMemberProjectSubitemService; +import com.jero.member.service.ITbMemberProjectService; +import com.jero.member.service.ITbMemberProjectSubitemService; +import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.mapper.SysUserMapper; +import com.jero.project.entity.PayCommonProject; +import com.jero.project.entity.PayWorkGroupSubletStatistics; +import com.jero.project.entity.PayWorkingGroupStatistics; +import com.jero.project.entity.PayWorkingGroupSubletSearch; +import com.jero.project.service.IPayCommonProjectService; import com.jero.project.service.IPayWorkingGroupService; +import com.jero.project.service.IPayWorkingGroupSubItemService; import com.jero.statistics.entity.AllProjectStatistics; import com.jero.statistics.entity.AllProjectStatisticsSearch; import com.jero.util.AmountUtil; @@ -18,10 +33,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; +import javax.annotation.Resource; import java.text.DecimalFormat; +import java.util.ArrayList; import java.util.Calendar; import java.util.HashMap; import java.util.List; +import java.util.stream.Collectors; /** * @author zql @@ -32,7 +50,8 @@ import java.util.List; @RequestMapping("/statistics/allProjectStatistics") @Slf4j public class AllProjectStatisticsController { - + @Resource + private SysUserMapper userMapper; @Autowired private ISysBaseAPI sysBaseAPI; @Autowired @@ -54,7 +73,7 @@ public class AllProjectStatisticsController { @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { LoginUser sysUser =(LoginUser) SecurityUtils.getSubject().getPrincipal(); String roleCode = sysUser.getRoleCode(); -// if(constant.SLD.equals(roleCode)||constant.ADMIN.equals(roleCode)) { + if(constant.SLD.equals(roleCode)||constant.ADMIN.equals(roleCode)||constant.QYXXWHRY.equals(roleCode)) { if (allProjectStatisticsSearch.getYear() == null || allProjectStatisticsSearch.getYear().equals("")) { Calendar calendar = Calendar.getInstance(); String year = String.valueOf(calendar.get(Calendar.YEAR)); @@ -91,9 +110,78 @@ public class AllProjectStatisticsController { hashMap.put("sumOfReallyMoney", sum2==0.0?sum2:df.format(sum2)); hashMap.put("pageList",pageList); return Result.OK(hashMap); -// }else { -// return Result.OK("权限不足"); -// } + }else { + return Result.OK("权限不足"); + } + } + + /** + * 企业项目统计——分页列表查询 + * + * @param allProjectStatisticsSearch 企业项目统计 + * @param pageNo 页数 + * @param pageSize 条数 + */ + @ApiOperation(value = "企业项目统计-分页列表查询", notes = "企业项目统计-详情分页列表查询") + @GetMapping(value = "/listProject") + public Result listProject(AllProjectStatisticsSearch allProjectStatisticsSearch, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { + //根据不同角色加载不同列表的参数 + List idList = new ArrayList<>(); + //判断登录角色,显示特定工作组内容,判断依据为登录用户的角色和机构编码 + LoginUser sysUser =(LoginUser) SecurityUtils.getSubject().getPrincipal(); + String roleCode = sysUser.getRoleCode(); + //科长 + if(constant.BMFZR.equals(roleCode)) { + String orgCode = sysUser.getOrgCode(); + List userList = userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", orgCode)); + idList = userList.stream().map(SysUser::getId).collect(Collectors.toList()); + //所领导或者超级管理员 + } else if (constant.SLD.equals(roleCode)||constant.ADMIN.equals(roleCode)||constant.QYXXWHRY.equals(roleCode)) { + idList=null; + //企业职员项目负责人 + }else if( constant.QYRY.equals(roleCode)){ + String userId = sysUser.getId(); + idList.add(userId); + } + if (allProjectStatisticsSearch.getYear() == null || allProjectStatisticsSearch.getYear().equals("")) { + Calendar calendar = Calendar.getInstance(); + String year = String.valueOf(calendar.get(Calendar.YEAR)); + allProjectStatisticsSearch.setYear(year); + } + Page page = new Page<>(pageNo, pageSize); + IPage pageList = payWorkingGroupService.queryPageListForProject(page,allProjectStatisticsSearch,idList); + HashMap hashMap = new HashMap<>(); + double sum=0; + double sum2 =0; + if(ObjectUtils.isNotEmpty(pageList.getRecords())) { + sum = pageList.getRecords() != null ? pageList.getRecords().stream().mapToDouble(t -> Double.parseDouble(t.getAllMoney() == null || t.getAllMoney().equals("") ? "0" : t.getAllMoney())).sum() : 0; + sum2 = pageList.getRecords() != null ? pageList.getRecords().stream().mapToDouble(t -> Double.parseDouble(t.getComeAllMoney() == null || t.getComeAllMoney().equals("") ? "0" : t.getComeAllMoney())).sum() : 0; + } + DecimalFormat df = new DecimalFormat("#.00"); + if (pageList.getRecords() != null) { + for(AllProjectStatistics s: pageList.getRecords()){ + String key = String.valueOf(s.getChargeUse()); + String payment_charge_use = sysBaseAPI.translateDict("payment_charge_use", key); + s.setChargeUse_text(payment_charge_use); + } + } + //处理为空数据为0 + for(AllProjectStatistics s: pageList.getRecords()){ + if(s.getAllMoney()== null || s.getAllMoney().equals("") ){ + s.setAllMoney("0.00"); + } + if(s.getComeAllMoney()== null || s.getComeAllMoney().equals("") ) { + s.setComeAllMoney("0.00"); + } + + } + hashMap.put("sumOfMoney", sum==0.0?sum:df.format(sum)); + hashMap.put("sumOfReallyMoney", sum2==0.0?sum2:df.format(sum2)); + hashMap.put("pageList",pageList); + return Result.OK(hashMap); + } /** @@ -105,7 +193,7 @@ public class AllProjectStatisticsController { public ModelAndView excel( AllProjectStatisticsSearch allProjectStatisticsSearch) { LoginUser sysUser =(LoginUser) SecurityUtils.getSubject().getPrincipal(); String roleCode = sysUser.getRoleCode(); -// if(constant.SLD.equals(roleCode)||constant.ADMIN.equals(roleCode)) { + if(constant.SLD.equals(roleCode)||constant.ADMIN.equals(roleCode)||constant.QYXXWHRY.equals(roleCode)) { if (allProjectStatisticsSearch.getYear() == null || allProjectStatisticsSearch.getYear().equals("")) { Calendar calendar = Calendar.getInstance(); String year = String.valueOf(calendar.get(Calendar.YEAR)); @@ -114,8 +202,25 @@ public class AllProjectStatisticsController { List pageList = payWorkingGroupService.queryPageListExcel(allProjectStatisticsSearch); return AmountUtil.exportListXls(pageList, AllProjectStatistics.class, "统计"); -// }else { -// return new ModelAndView(); -// } + }else { + return new ModelAndView(); + } + } + + /** + *企业来款统计 + * + */ + @GetMapping(value = "/statistics/excelProject") + @ApiOperation(value = "企业来款统计-导出统计", notes = "企业来款统计-导出统计") + public ModelAndView excelProject( AllProjectStatisticsSearch allProjectStatisticsSearch) { + if (allProjectStatisticsSearch.getYear() == null || allProjectStatisticsSearch.getYear().equals("")) { + Calendar calendar = Calendar.getInstance(); + String year = String.valueOf(calendar.get(Calendar.YEAR)); + allProjectStatisticsSearch.setYear(year); + } + List pageList = payWorkingGroupService.queryPageListExcel(allProjectStatisticsSearch); + return AmountUtil.exportListXls(pageList, AllProjectStatistics.class, "统计"); + } } \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/CompanyComeMoneyStatisticsController.java b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/CompanyComeMoneyStatisticsController.java index 609bdb56..a9b4a52c 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/CompanyComeMoneyStatisticsController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/CompanyComeMoneyStatisticsController.java @@ -77,14 +77,12 @@ public class CompanyComeMoneyStatisticsController { List userList = userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", orgCode)); idList = userList.stream().map(SysUser::getId).collect(Collectors.toList()); //所领导或者超级管理员 - } else if (constant.SLD.equals(roleCode)|| constant.ADMIN.equals(roleCode)) { + } else if (constant.SLD.equals(roleCode)||constant.ADMIN.equals(roleCode)||constant.QYXXWHRY.equals(roleCode)) { idList=null; //企业职员项目负责人 }else if( constant.QYRY.equals(roleCode)){ String userId = sysUser.getId(); idList.add(userId); - }else { - idList=null; } Page page = new Page<>(pageNo, pageSize); IPage pageList = payWorkingGroupService.queryPageListForCompany(page,companyComeMoneySearch,idList); @@ -143,7 +141,7 @@ public class CompanyComeMoneyStatisticsController { List userList = userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", orgCode)); idList = userList.stream().map(SysUser::getId).collect(Collectors.toList()); //所领导或者超级管理员 - } else if (constant.SLD.equals(roleCode)|| constant.ADMIN.equals(roleCode)) { + } else if (constant.SLD.equals(roleCode)||constant.ADMIN.equals(roleCode)) { idList=null; //企业职员项目负责人 }else if( constant.QYRY.equals(roleCode)){ @@ -208,7 +206,7 @@ public class CompanyComeMoneyStatisticsController { List userList = userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", orgCode)); idList = userList.stream().map(SysUser::getId).collect(Collectors.toList()); //所领导或者超级管理员 - } else if (constant.SLD.equals(roleCode)|| constant.ADMIN.equals(roleCode)) { + } else if (constant.SLD.equals(roleCode)||constant.ADMIN.equals(roleCode)) { idList=null; //企业职员项目负责人 }else if( constant.QYRY.equals(roleCode)){ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/PrincipalPeopleStatisticsController.java b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/PrincipalPeopleStatisticsController.java index 3a666526..1f950a4b 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/PrincipalPeopleStatisticsController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/PrincipalPeopleStatisticsController.java @@ -1,5 +1,6 @@ package com.jero.statistics.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -9,8 +10,10 @@ import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.vo.LoginUser; import com.jero.common.vo.ProjectDetailVO; import com.jero.mail.commont.constant; +import com.jero.mail.entity.PayMailBillProject; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.mapper.SysUserMapper; +import com.jero.project.entity.PayWorkGroupSubletStatistics; import com.jero.project.service.IPayWorkingGroupService; import com.jero.statistics.entity.*; import com.jero.util.AmountUtil; @@ -80,16 +83,14 @@ public class PrincipalPeopleStatisticsController { List userList = userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", orgCode)); idList = userList.stream().map(SysUser::getId).collect(Collectors.toList()); //所领导或者超级管理员 - } else if (constant.SLD.equals(roleCode)|| constant.ADMIN.equals(roleCode)) { + } else if (constant.SLD.equals(roleCode)||constant.ADMIN.equals(roleCode)||constant.QYXXWHRY.equals(roleCode)) { idList=null; //企业职员项目负责人 }else if( constant.QYRY.equals(roleCode)){ String userId = sysUser.getId(); idList.add(userId); } - else { - idList=null; - } + Page page = new Page<>(pageNo, pageSize); IPage pageList = payWorkingGroupService.queryPageListForPrincipal(page,principalPeopleSearch,idList); HashMap hashMap = new HashMap<>(); @@ -211,7 +212,7 @@ public class PrincipalPeopleStatisticsController { List userList = userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", orgCode)); idList = userList.stream().map(SysUser::getId).collect(Collectors.toList()); //所领导或者超级管理员 - } else if (constant.SLD.equals(roleCode)|| constant.ADMIN.equals(roleCode)) { + } else if (constant.SLD.equals(roleCode)||constant.ADMIN.equals(roleCode)) { idList=null; //企业职员项目负责人 }else if( constant.QYRY.equals(roleCode)){ diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/LoginController.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/LoginController.java index f096e60f..05f00277 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/LoginController.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/LoginController.java @@ -124,29 +124,29 @@ public class LoginController { } // 若用户名有效,则查询该账号的登陆失败次数是否符合等保要求 -// int retryCount = 0; -// if (redisUtil.get(RETRY_LOGIN_PREFIX + username) != null) { -// retryCount = (int) redisUtil.get(RETRY_LOGIN_PREFIX + username); -// } -// if (retryCount >= RETRY_LOGIN_MAX_COUNT) { -// result.error500("密码错误次数过多,请稍后重试"); -// return result; -// } -// //2. 校验用户名或密码是否正确 -// String userpassword = PasswordUtil.encrypt(username, password, sysUser.getSalt()); -// String syspassword = sysUser.getPassword(); -// if (!syspassword.equals(userpassword)) { -// // 重试登录次数加一 -// retryCount++; -// if (retryCount == 1) { -// redisUtil.set(RETRY_LOGIN_PREFIX + username, retryCount, 60 * 30); -// } else { -// redisUtil.set(RETRY_LOGIN_PREFIX + username, retryCount, redisUtil.getExpire(RETRY_LOGIN_PREFIX + username)); -// } -// String msg = retryCount == RETRY_LOGIN_MAX_COUNT ? "密码错误次数过多,请稍后重试" : "用户名或密码错误,剩余可登录次数:" + (RETRY_LOGIN_MAX_COUNT - retryCount); -// result.error500(msg); -// return result; -// } + int retryCount = 0; + if (redisUtil.get(RETRY_LOGIN_PREFIX + username) != null) { + retryCount = (int) redisUtil.get(RETRY_LOGIN_PREFIX + username); + } + if (retryCount >= RETRY_LOGIN_MAX_COUNT) { + result.error500("密码错误次数过多,请稍后重试"); + return result; + } + //2. 校验用户名或密码是否正确 + String userpassword = PasswordUtil.encrypt(username, password, sysUser.getSalt()); + String syspassword = sysUser.getPassword(); + if (!syspassword.equals(userpassword)) { + // 重试登录次数加一 + retryCount++; + if (retryCount == 1) { + redisUtil.set(RETRY_LOGIN_PREFIX + username, retryCount, 60 * 30); + } else { + redisUtil.set(RETRY_LOGIN_PREFIX + username, retryCount, redisUtil.getExpire(RETRY_LOGIN_PREFIX + username)); + } + String msg = retryCount == RETRY_LOGIN_MAX_COUNT ? "密码错误次数过多,请稍后重试" : "用户名或密码错误,剩余可登录次数:" + (RETRY_LOGIN_MAX_COUNT - retryCount); + result.error500(msg); + return result; + } //登录成功,清除错误登录次数 redisUtil.del(RETRY_LOGIN_PREFIX + username); //如果用初始密码登录,前端就跳转到修改密码界面