From 6f5ff7c4c84cf07e9de21e9a0e636fba593f63de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= <18222067976@163.com> Date: Wed, 22 Sep 2021 14:52:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=9A=E8=AE=AE=E9=9C=80=E8=A6=81=E7=9A=84?= =?UTF-8?q?=E4=BC=81=E4=B8=9A=E3=80=81=E8=81=94=E7=B3=BB=E4=BA=BA=E5=BC=80?= =?UTF-8?q?=E6=94=BE=E6=8E=A5=E5=8F=A3=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/config/shiro/ShiroConfig.java | 7 + .../PayCompanyManagementController.java | 97 +++++++++++++ .../PayContactsManagementController.java | 130 +++++++++++++++++- .../jero/project/entity/PayCommonProject.java | 3 +- 4 files changed, 233 insertions(+), 4 deletions(-) diff --git a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java index 3be62eeb..1b6ab5f2 100644 --- a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java +++ b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java @@ -146,6 +146,13 @@ public class ShiroConfig { //性能监控 TODO 存在安全漏洞泄露TOEKN(durid连接池也有) filterChainDefinitionMap.put("/actuator/**", "anon"); + // 会议添加企业,联系人接口放过 + filterChainDefinitionMap.put("/company/payCompanyManagement/listMeeting","anon"); + filterChainDefinitionMap.put("/company/payCompanyManagement/addMeeting","anon"); + filterChainDefinitionMap.put("/company/payContactsManagement/listMeeting","anon"); + filterChainDefinitionMap.put("/company/payContactsManagement/addMeeting","anon"); + filterChainDefinitionMap.put("/company/payContactsManagement/queryByIdMeeting","anon"); + // 添加自己的过滤器并且取名为jwt diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java index 5ed5e8be..db590fbd 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java @@ -96,6 +96,103 @@ public class PayCompanyManagementController extends JeroController queryPageListMeeting(PayCompanyManagement payCompanyManagement, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + if(!StringUtils.isBlank(payCompanyManagement.getCompanyName()) && payCompanyManagement.getCompanyName().length() > 50){ + return Result.error("企业名称长度不能大于50个字符!"); + } + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(payCompanyManagement, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = payCompanyManagementService.page(page, queryWrapper); + List listPayCompanyManagement = pageList.getRecords(); + if(!CollectionUtils.isEmpty(listPayCompanyManagement)){ + try { + listPayCompanyManagement.forEach(p->{ + if (!StringUtils.isBlank(p.getCompanyPhone())){ + p.setCompanyPhone(PasswordUtil.decrypt(p.getCompanyPhone())); + } + }); + pageList.setRecords(listPayCompanyManagement); + }catch (Exception e){ + log.error("公司电话解密异常!",e); + } + } + return Result.OK(pageList); + } + + /** + * 添加-会议对外开放接口 + * + * @param payCompanyManagement 企业管理 + * @return + */ + @ApiOperation(value="企业管理-添加-会议对外开放接口", notes="企业管理-添加-会议对外开放接口") + @PostMapping(value = "/addMeeting") + public Result addMeeting(@RequestBody PayCompanyManagement payCompanyManagement) { + StringBuilder msg = ValidUtil.validateAll(payCompanyManagement); + if(!StringUtils.isBlank(msg)){ + return Result.error(msg.toString()); + } + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + // 查看角色是否为财务人员 + int dataSource = PayCompanyManagementCommon.DATA_SOURCE2; + int status = PayCompanyManagementCommon.STATUS2; + if(Objects.equals(sysUser.getRoleCode(),PayCompanyManagementCommon.ROLE_CODE)){ + dataSource = PayCompanyManagementCommon.DATA_SOURCE1; + status = PayCompanyManagementCommon.STATUS1; + } + payCompanyManagement.setDataSource(dataSource); + payCompanyManagement.setStatus(status); + try { + // 新增企业前在次校验企业名称是否存在 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(PayCompanyManagement::getCompanyName,payCompanyManagement.getCompanyName()); + PayCompanyManagement payCompanyManagementNew = payCompanyManagementService.getOne(queryWrapper); + // 存在数据 + if(!Objects.isNull(payCompanyManagementNew)){ + return Result.error("该企业名称已存在!"); + } + }catch (Exception e){ + log.info("企业管理-添加异常",e); + return Result.error("该企业名称已存在!"); + } + try { + // 新增企业前在次校验信用代码是否存在 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(PayCompanyManagement::getDutyCode,payCompanyManagement.getDutyCode()); + PayCompanyManagement payCompanyManagementNew = payCompanyManagementService.getOne(queryWrapper); + // 存在数据 + if(!Objects.isNull(payCompanyManagementNew)){ + return Result.error("该信用代码已存在!"); + } + }catch (Exception e){ + log.info("企业管理-添加异常",e); + return Result.error("该信用代码已存在!"); + } + if(!StringUtils.isBlank(payCompanyManagement.getCompanyPhone())){ + try { + payCompanyManagement.setCompanyPhone(PasswordUtil.encrypt(payCompanyManagement.getCompanyPhone())); + }catch (Exception e){ + log.error("公司电话加密异常!",e); + } + } + payCompanyManagementService.save(payCompanyManagement); + return Result.OK("添加成功!",payCompanyManagement); + } /** * 添加 diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayContactsManagementController.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayContactsManagementController.java index 6f786dbe..02aa8e4c 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayContactsManagementController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayContactsManagementController.java @@ -107,7 +107,111 @@ public class PayContactsManagementController extends JeroController queryPageListMeeting(PayContactsManagement payContactsManagement, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) { + if(!StringUtils.isBlank(payContactsManagement.getName()) && payContactsManagement.getName().length() > 20){ + return Result.error("姓名长度不能大于20个字符!"); + } + if(!StringUtils.isBlank(payContactsManagement.getCompanyName()) && payContactsManagement.getCompanyName().length() > 50){ + return Result.error("企业名称长度不能大于50个字符!"); + } + if(!StringUtils.isBlank(payContactsManagement.getPhone()) && payContactsManagement.getPhone().length() > 11){ + return Result.error("手机号长度不能大于11个字符!"); + } + Page page = new Page<>(pageNo, pageSize); + IPage pageList = payContactsManagementService.queryPageList(page, payContactsManagement); + List listPayContactsManagement = pageList.getRecords(); + if(!CollectionUtils.isEmpty(listPayContactsManagement)){ + try { + listPayContactsManagement.forEach(p->{ + if (!StringUtils.isBlank(p.getPhone())){ + p.setPhone(PasswordUtil.decrypt(p.getPhone())); + } + if (!StringUtils.isBlank(p.getEmail())){ + p.setEmail(PasswordUtil.decrypt(p.getEmail())); + } + }); + pageList.setRecords(listPayContactsManagement); + }catch (Exception e){ + log.error("手机号、邮箱解密异常!",e); + } + } + return Result.OK(pageList); + } + + /** + * 添加-会议对外开放接口 + * + * @param payContactsManagement 联系人管理 + * @return + */ + @ApiOperation(value="联系人管理-添加-会议对外开放接口", notes="联系人管理-添加-会议对外开放接口") + @PostMapping(value = "/addMeeting") + public Result addMeeting(@RequestBody PayContactsManagement payContactsManagement) { + StringBuilder msg = ValidUtil.validateAll(payContactsManagement); + if(!StringUtils.isBlank(msg)){ + return Result.error(msg.toString()); + } + PayCompanyManagement payCompanyManagement = payCompanyManagementService.getById(payContactsManagement.getCompanyId()); + if(Objects.isNull(payCompanyManagement)){ + return Result.error("企业不存在!"); + } + payContactsManagement.setCompanyName(payCompanyManagement.getCompanyName()); + try { + String phone = PasswordUtil.encrypt(payContactsManagement.getPhone()); + // 新增联系人前在次校验手机号是否存在 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(PayContactsManagement::getPhone,phone); + PayContactsManagement payContactsManagementNew = payContactsManagementService.getOne(queryWrapper); + // 手机号存在,并且编辑id与查询不同,则校验不通过 + if(!Objects.isNull(payContactsManagementNew)) { + return Result.error("手机号已存在!"); + } + }catch (Exception e){ + log.info("联系人管理-添加异常",e); + return Result.error("手机号已存在!"); + } + try { + // 新增联系人前校验同企业下联系人是否存在 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(PayContactsManagement::getName,payContactsManagement.getName()); + queryWrapper.eq(PayContactsManagement::getCompanyId,payContactsManagement.getCompanyId()); + PayContactsManagement payContactsManagementNew = payContactsManagementService.getOne(queryWrapper); + // 姓名存在,则校验不通过 + if(!Objects.isNull(payContactsManagementNew)) { + return Result.error("联系人姓名已存在!"); + } + }catch (Exception e){ + log.info("联系人管理-添加异常",e); + return Result.error("联系人姓名已存在!"); + } + // 存在数据 + try { + if (!StringUtils.isBlank(payContactsManagement.getPhone())){ + payContactsManagement.setPhone(PasswordUtil.encrypt(payContactsManagement.getPhone())); + } + if (!StringUtils.isBlank(payContactsManagement.getEmail())){ + payContactsManagement.setEmail(PasswordUtil.encrypt(payContactsManagement.getEmail())); + } + }catch (Exception e){ + log.error("手机号、邮箱加密异常!",e); + } + payContactsManagementService.save(payContactsManagement); + return Result.OK("添加成功!",payContactsManagement); + } + /** * 添加 * @@ -333,7 +437,29 @@ public class PayContactsManagementController extends JeroController queryByIdMeeting(@RequestParam(name="id") String id) { + PayContactsManagement payContactsManagement = payContactsManagementService.getById(id); + if(payContactsManagement == null) { + return Result.error("未找到对应数据"); + } + if (!StringUtils.isBlank(payContactsManagement.getPhone())){ + payContactsManagement.setPhone(PasswordUtil.decrypt(payContactsManagement.getPhone())); + } + if (!StringUtils.isBlank(payContactsManagement.getEmail())){ + payContactsManagement.setEmail(PasswordUtil.decrypt(payContactsManagement.getEmail())); + } + return Result.OK(payContactsManagement); + } + /** * 通过id查询 * diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java index 332972af..a6509413 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java @@ -41,8 +41,7 @@ public class PayCommonProject implements Serializable { /**来款项目*/ @Excel(name = "来款项目", width = 20,orderNum = "0") @ApiModelProperty(value = "来款项目") - @NotEmpty(message = "来款项目不能为空!") - @Size(max = 100,message = "来款项目长度不能大于100个字符") + @TableField(exist = false) private String chargeProject; /**来款用途(字典表)*/ @ApiModelProperty(value = "来款用途")