From facbfdbe16d8cddd21e5702728fbf903e52c4a21 Mon Sep 17 00:00:00 2001 From: liangqitao <12345678> Date: Mon, 13 Dec 2021 18:10:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=A7=92=E8=89=B2=E4=BD=93?= =?UTF-8?q?=E7=B3=BB=EF=BC=9A=E5=8C=85=E5=90=AB=E4=BC=81=E4=B8=9A=E8=81=94?= =?UTF-8?q?=E7=B3=BB=E4=BA=BA=E3=80=81=E4=BC=81=E4=B8=9A=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/jero/common/util/ValidUtil.java | 2 +- .../common/PayCompanyManagementCommon.java | 9 + .../common/PayContactsManagementCommon.java | 8 + .../PayCompanyManagementController.java | 95 ++++------ .../PayContactsManagementController.java | 143 +++------------ .../com/jero/company/entity/MemberInfo.java | 49 ++++++ .../PayCompanyAndContactsManagement.java | 61 +++++++ .../company/entity/PayCompanyManagement.java | 3 + .../company/entity/PayContactsManagement.java | 4 + .../service/IPayCompanyManagementService.java | 15 ++ .../IPayContactsManagementService.java | 22 ++- .../impl/PayCompanyManagementServiceImpl.java | 164 +++++++++++++++++- .../PayContactsManagementServiceImpl.java | 150 +++++++++++++++- 13 files changed, 528 insertions(+), 197 deletions(-) create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/company/entity/MemberInfo.java create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/company/entity/PayCompanyAndContactsManagement.java diff --git a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/ValidUtil.java b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/ValidUtil.java index b8fae457..f47c6578 100644 --- a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/ValidUtil.java +++ b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/ValidUtil.java @@ -96,7 +96,7 @@ public class ValidUtil { if(set != null && set.size() >0 ){ for(ConstraintViolation constraintViolation : set){ // 这里循环获取错误信息,可以自定义格式 - msg.append(constraintViolation.getMessage()).append("
"); + msg.append(constraintViolation.getMessage()).append(";"); } } return msg; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/common/PayCompanyManagementCommon.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/common/PayCompanyManagementCommon.java index fba286b6..4f9c7955 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/common/PayCompanyManagementCommon.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/common/PayCompanyManagementCommon.java @@ -21,4 +21,13 @@ public class PayCompanyManagementCommon { * 企业状态 */ public final static String COMPANY_STATUS = "(未审核)"; + /** + * 企业角色1:普通企业、2:会员企业 + */ + public final static String ROLE_CODE1 = "1"; + /** + * 企业角色1:普通企业、2:会员企业 + */ + public final static String ROLE_CODE2 = "2"; + } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/common/PayContactsManagementCommon.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/common/PayContactsManagementCommon.java index 695089c5..a011333e 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/common/PayContactsManagementCommon.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/common/PayContactsManagementCommon.java @@ -9,4 +9,12 @@ public class PayContactsManagementCommon { * 性别(1:男,2:女) */ public final static Integer GENDER2 = 2; + /** + * 企业用户角色1:企业联系人、2:企业管理员 + */ + public final static String ROLE_CODE1 = "1"; + /** + * 企业用户角色1:企业联系人、2:企业管理员 + */ + public final static String ROLE_CODE2 = "2"; } 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 451b39d2..9387ac11 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 @@ -81,8 +81,6 @@ public class PayCompanyManagementController extends JeroController addMeeting(@RequestBody PayCompanyManagement payCompanyManagement) { - StringBuilder msg = ValidUtil.validateAll(payCompanyManagement); - if(!StringUtils.isBlank(msg)){ - return Result.error(msg.toString()); - } - payCompanyManagement.setEditTime(new Date()); - 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); - } - } - payCompanyManagement.setDataSource(PayCompanyManagementCommon.DATA_SOURCE2); - payCompanyManagement.setStatus(PayCompanyManagementCommon.STATUS2); - payCompanyManagementService.save(payCompanyManagement); - // 获取项目负责人,发送消息 - List list = sysUserService.getRolesUser(Arrays.asList(RoleCommon.CWRY)); - if(!CollectionUtils.isEmpty(list)){ - list.forEach(item->{ - // 发送消息 - SendMessageDTO sendMessageDTO = new SendMessageDTO(); - if(!StringUtils.isBlank(item.getEmail())){ - sendMessageDTO.setEmail(PasswordUtil.decrypt(item.getEmail())); - } - if(!StringUtils.isEmpty(item.getPhone())){ - sendMessageDTO.setPhone(PasswordUtil.decrypt(item.getPhone())); - } - HashMap map = new HashMap<>(); - sendMessageDTO.setFromUser(env.getProperty("message.systemEmailUser")); - sendMessageDTO.setToUser(item.getUsername()); - sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG9.getCode()); - sendMessageDTO.setTemplateParam(map); - sendMessageDTO.setBusType("M_OPEN_TYPE9"); - sendMessageService.SendMessageService(sendMessageDTO); - }); - } + payCompanyManagementService.addMeeting(payCompanyManagement); return Result.OK("添加成功!",payCompanyManagement); + } /** @@ -305,6 +243,9 @@ public class PayCompanyManagementController extends JeroController{ LambdaQueryWrapper queryPayCommonProject = new LambdaQueryWrapper<>(); @@ -523,7 +469,12 @@ public class PayCompanyManagementController extends JeroController{ + // 会员企业不能删除 + if(Objects.equals(p.getRoleCode(),PayCompanyManagementCommon.ROLE_CODE2)){ + msgCode.append(p.getCompanyName() + "会员企业不可删除!"); + } LambdaQueryWrapper queryPayCommonProject = new LambdaQueryWrapper<>(); queryPayCommonProject.eq(PayCommonProject::getChargeCompanyId,p.getId()); List listPayCommonProject = payCommonProjectService.list(queryPayCommonProject); @@ -560,6 +511,9 @@ public class PayCompanyManagementController extends JeroController saveOrEdit(@RequestParam("info") String info) { + payCompanyManagementService.saveOrEdit(info); + return Result.OK("同步成功!"); + } + } 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 fe3896a5..3fa22f81 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 @@ -159,55 +159,7 @@ public class PayContactsManagementController extends JeroController 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); + payContactsManagementService.addMeeting(payContactsManagement); return Result.OK("添加成功!",payContactsManagement); } @@ -270,6 +222,7 @@ public class PayContactsManagementController extends JeroController companyEdit(@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()); - PayContactsManagement payContactsManagementOld = payContactsManagementService.getById(payContactsManagement.getId()); - if(Objects.isNull(payContactsManagementOld)){ - return Result.error("联系人不存在!"); - } - if(!Objects.equals(payContactsManagementOld.getName(),payContactsManagement.getName())){ - return Result.error("姓名不可修改!"); - } - if(!Objects.equals(PasswordUtil.decrypt(payContactsManagementOld.getPhone()),payContactsManagement.getPhone())){ - return Result.error("手机号不可修改!"); - } - 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) && !Objects.equals(payContactsManagementNew.getId(),payContactsManagement.getId())) { - 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); - // 姓名存在,并且编辑id与查询不同,则校验不通过 - if(!Objects.isNull(payContactsManagementNew) && !Objects.equals(payContactsManagementNew.getId(),payContactsManagement.getId())) { - 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); - } - LambdaUpdateWrapper updatePayContactsManagement = new LambdaUpdateWrapper<>(); - updatePayContactsManagement.eq(PayContactsManagement::getId,payContactsManagement.getId()); - updatePayContactsManagement.set(PayContactsManagement::getCompanyName,payContactsManagement.getCompanyName()); - updatePayContactsManagement.set(PayContactsManagement::getCompanyId,payContactsManagement.getCompanyId()); - updatePayContactsManagement.set(PayContactsManagement::getName,payContactsManagement.getName()); - updatePayContactsManagement.set(PayContactsManagement::getGender,StringUtils.isBlank(payContactsManagement.getGender()) ? null : payContactsManagement.getGender()); - updatePayContactsManagement.set(PayContactsManagement::getPost,payContactsManagement.getPost()); - updatePayContactsManagement.set(PayContactsManagement::getPhone,payContactsManagement.getPhone()); - updatePayContactsManagement.set(PayContactsManagement::getEmail,payContactsManagement.getEmail()); - updatePayContactsManagement.set(PayContactsManagement::getContactAddress,payContactsManagement.getContactAddress()); - updatePayContactsManagement.set(PayContactsManagement::getPostalCode,payContactsManagement.getPostalCode()); - updatePayContactsManagement.set(PayContactsManagement::getRemarks,payContactsManagement.getRemarks()); - payContactsManagementService.update(updatePayContactsManagement); -// payContactsManagementService.updateById(payContactsManagement); + public Result contactsEdit(@RequestBody PayContactsManagement payContactsManagement) { + payContactsManagementService.contactsEdit(payContactsManagement); return Result.OK("编辑成功!"); } @@ -457,6 +344,10 @@ public class PayContactsManagementController extends JeroController{ LambdaQueryWrapper queryPayCommonProject = new LambdaQueryWrapper<>(); @@ -535,7 +426,12 @@ public class PayContactsManagementController extends JeroController{ + // 企业管理员验证 + if(Objects.equals(listPayContactsManagement.get(0).getRoleCode(),PayContactsManagementCommon.ROLE_CODE2)){ + msgCode.append(p.getName() + "企业管理员不可删除!"); + } LambdaQueryWrapper queryPayCommonProject = new LambdaQueryWrapper<>(); queryPayCommonProject.eq(PayCommonProject::getContactsId,p.getId()).or().eq(PayCommonProject::getMailContactsId,p.getId()); List listPayCommonProject = payCommonProjectService.list(queryPayCommonProject); @@ -575,6 +471,9 @@ public class PayContactsManagementController extends JeroController { + + /** + * @Description 企业管理-添加-会议对外开放接口 + * @Author lqt + * @Date 2021/8/26 + * @Param payCompanyManagement + * @Return + * @Exception + */ + void addMeeting(PayCompanyManagement payCompanyManagement); /** * @Description 更新数据 * @Author lqt @@ -83,4 +93,9 @@ public interface IPayCompanyManagementService extends IService { + /** + * @Description 添加-会议对外开放接口 + * @Author lqt + * @Date 2021/8/27 + * @Param payContactsManagement + * @Return + * @Exception + */ + void addMeeting(PayContactsManagement payContactsManagement); + /** + * @Description 编辑-会议对外开放接口 + * @Author lqt + * @Date 2021/8/27 + * @Param payContactsManagement + * @Return + * @Exception + */ + void contactsEdit(PayContactsManagement payContactsManagement); + /** * @Description 分页查询 * @Author lqt diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java index b7b70608..01b84232 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java @@ -1,14 +1,20 @@ package com.jero.company.service.impl; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.api.vo.Result; import com.jero.common.common.RoleCommon; +import com.jero.common.dto.SendMessageDTO; +import com.jero.common.enums.ManagementMessageEnums; import com.jero.common.exception.JeroBootException; +import com.jero.common.service.SendMessageService; import com.jero.common.system.vo.LoginUser; import com.jero.common.util.PasswordUtil; import com.jero.common.util.ValidUtil; import com.jero.company.common.PayCompanyManagementCommon; +import com.jero.company.entity.PayCompanyAndContactsManagement; import com.jero.company.entity.PayCompanyManagement; import com.jero.company.entity.PayContactsManagement; import com.jero.company.mapper.PayCompanyManagementMapper; @@ -20,6 +26,8 @@ import com.jero.contract.entity.PayIncomeContract; import com.jero.contract.service.IPayIncomeContractService; import com.jero.member.entity.PayMemberProjectSubitem; import com.jero.member.service.IPayMemberProjectSubitemService; +import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.service.ISysUserService; import com.jero.pack.entity.PayPackCompany; import com.jero.pack.service.IPayPackCompanyService; import com.jero.project.entity.PayCommonProject; @@ -28,15 +36,15 @@ import com.jero.project.service.IPayCommonProjectService; import com.jero.project.service.IPayWorkingGroupSubItemService; import com.jero.temporary.entity.PayCompanyManagementTemporary; import com.jero.temporary.service.IPayCompanyManagementTemporaryService; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; +import org.springframework.core.env.Environment; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.util.Date; -import java.util.List; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; /** @@ -45,6 +53,7 @@ import java.util.stream.Collectors; * @Date: 2021-08-25 * @Version: V1.0 */ +@Slf4j @Service public class PayCompanyManagementServiceImpl extends ServiceImpl implements IPayCompanyManagementService { @@ -68,6 +77,87 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(PayCompanyManagement::getCompanyName,payCompanyManagement.getCompanyName()); + PayCompanyManagement payCompanyManagementNew = payCompanyManagementService.getOne(queryWrapper); + // 存在数据 + if(!Objects.isNull(payCompanyManagementNew)){ + throw new JeroBootException("该企业名称已存在!"); + } + }catch (Exception e){ + log.info("企业管理-添加异常",e); + throw new JeroBootException("该企业名称已存在!"); + } + try { + // 新增企业前在次校验信用代码是否存在 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(PayCompanyManagement::getDutyCode,payCompanyManagement.getDutyCode()); + PayCompanyManagement payCompanyManagementNew = payCompanyManagementService.getOne(queryWrapper); + // 存在数据 + if(!Objects.isNull(payCompanyManagementNew)){ + throw new JeroBootException("该信用代码已存在!"); + } + }catch (Exception e){ + log.info("企业管理-添加异常",e); + throw new JeroBootException("该信用代码已存在!"); + } + if(!StringUtils.isBlank(payCompanyManagement.getCompanyPhone())){ + try { + payCompanyManagement.setCompanyPhone(PasswordUtil.encrypt(payCompanyManagement.getCompanyPhone())); + }catch (Exception e){ + log.error("公司电话加密异常!",e); + } + } + payCompanyManagement.setDataSource(PayCompanyManagementCommon.DATA_SOURCE2); + payCompanyManagement.setStatus(PayCompanyManagementCommon.STATUS2); + payCompanyManagement.setRoleCode(PayCompanyManagementCommon.ROLE_CODE1); + payCompanyManagementService.save(payCompanyManagement); + + + // 获取项目负责人,发送消息 + List list = sysUserService.getRolesUser(Arrays.asList(RoleCommon.CWRY)); + if(!CollectionUtils.isEmpty(list)){ + list.forEach(item->{ + // 发送消息 + SendMessageDTO sendMessageDTO = new SendMessageDTO(); + if(!StringUtils.isBlank(item.getEmail())){ + sendMessageDTO.setEmail(PasswordUtil.decrypt(item.getEmail())); + } + if(!StringUtils.isEmpty(item.getPhone())){ + sendMessageDTO.setPhone(PasswordUtil.decrypt(item.getPhone())); + } + HashMap map = new HashMap<>(); + sendMessageDTO.setFromUser(env.getProperty("message.systemEmailUser")); + sendMessageDTO.setToUser(item.getUsername()); + sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG9.getCode()); + sendMessageDTO.setTemplateParam(map); + sendMessageDTO.setBusType("M_OPEN_TYPE9"); + sendMessageService.SendMessageService(sendMessageDTO); + }); + } + } @Override @Transactional @@ -143,6 +233,10 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); @@ -253,6 +355,62 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl queryPayCompanyManagement = new LambdaQueryWrapper<>(); + queryPayCompanyManagement.eq(PayCompanyManagement::getCompanyName,payCompanyManagement.getCompanyName()); + queryPayCompanyManagement.last("limit 1"); + List listPayCompanyManagement = payCompanyManagementService.list(queryPayCompanyManagement); + + LambdaQueryWrapper queryPayContactsManagement = new LambdaQueryWrapper<>(); + queryPayContactsManagement.eq(PayContactsManagement::getPhone,payContactsManagement.getPhone()); + queryPayContactsManagement.last("limit 1"); + List listPayContactsManagement = payContactsManagementService.list(queryPayContactsManagement); + + if(!StringUtils.isBlank(payCompanyManagement.getCompanyPhone())){ + payCompanyManagement.setCompanyPhone(PasswordUtil.decrypt(payCompanyManagement.getCompanyPhone())); + } + if (!StringUtils.isBlank(payContactsManagement.getPhone())){ + payContactsManagement.setPhone(PasswordUtil.decrypt(payContactsManagement.getPhone())); + } + if (!StringUtils.isBlank(payContactsManagement.getEmail())){ + payContactsManagement.setEmail(PasswordUtil.decrypt(payContactsManagement.getEmail())); + } + + // 新增 + if(CollectionUtils.isEmpty(listPayCompanyManagement)){ + // 新增,如果存在用户,返回异常 + if(!CollectionUtils.isEmpty(listPayContactsManagement)){ + throw new JeroBootException("此用户已在其他企业下"); + } + addMeeting(payCompanyManagement); + payContactsManagementService.addMeeting(payContactsManagement); + }else{// 编辑 + // 如果存在用户 + if(!CollectionUtils.isEmpty(listPayContactsManagement)){ + // 企业不同,返回异常 + if(!Objects.equals(listPayContactsManagement.get(0).getCompanyId(),listPayCompanyManagement.get(0).getId())){ + throw new JeroBootException("此用户已在其他企业下"); + }else{ + payContactsManagement.setCompanyId(listPayCompanyManagement.get(0).getId()); + payContactsManagement.setId(listPayContactsManagement.get(0).getId()); + payContactsManagementService.contactsEdit(payContactsManagement); + } + }else{ + payContactsManagementService.addMeeting(payContactsManagement); + } + payCompanyManagement.setId(listPayCompanyManagement.get(0).getId()); + companyEdit(payCompanyManagement); + } + } + /** * @Description 批量更新数据 * @Author lqt diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java index c53ee09a..0efa821d 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java @@ -2,29 +2,33 @@ package com.jero.company.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.jero.common.api.vo.Result; import com.jero.common.exception.JeroBootException; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.util.JwtUtil; import com.jero.common.system.vo.LoginUser; import com.jero.common.util.*; +import com.jero.company.common.PayContactsManagementCommon; +import com.jero.company.entity.PayCompanyManagement; import com.jero.company.entity.PayContactsManagement; import com.jero.company.mapper.PayContactsManagementMapper; +import com.jero.company.service.IPayCompanyManagementService; import com.jero.company.service.IPayContactsManagementService; import com.jero.company.vo.CompanyLoginVO; -import com.jero.modules.system.entity.SysUser; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; import javax.annotation.Resource; import java.util.List; +import java.util.Objects; /** * @Description: pay_contacts_management @@ -32,17 +36,153 @@ import java.util.List; * @Date: 2021-08-25 * @Version: V1.0 */ +@Slf4j @Service public class PayContactsManagementServiceImpl extends ServiceImpl implements IPayContactsManagementService { - @Autowired + @Resource IPayContactsManagementService iPayContactsManagementService; @Resource PayContactsManagementMapper payContactsManagementMapper; @Resource private RedisUtil redisUtil; - @Autowired + @Resource private ISysBaseAPI sysBaseAPI; + @Resource + private IPayCompanyManagementService payCompanyManagementService; + + @Override + public void addMeeting(PayContactsManagement payContactsManagement) { + StringBuilder msg = ValidUtil.validateAll(payContactsManagement); + if(!StringUtils.isBlank(msg)){ + throw new JeroBootException(msg.toString()); + } + PayCompanyManagement payCompanyManagement = payCompanyManagementService.getById(payContactsManagement.getCompanyId()); + if(Objects.isNull(payCompanyManagement)){ + throw new JeroBootException("企业不存在!"); + } + payContactsManagement.setCompanyName(payCompanyManagement.getCompanyName()); + try { + String phone = PasswordUtil.encrypt(payContactsManagement.getPhone()); + // 新增联系人前在次校验手机号是否存在 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(PayContactsManagement::getPhone,phone); + PayContactsManagement payContactsManagementNew = getOne(queryWrapper); + // 手机号存在,并且编辑id与查询不同,则校验不通过 + if(!Objects.isNull(payContactsManagementNew)) { + throw new JeroBootException("手机号已存在!"); + } + }catch (Exception e){ + log.info("联系人管理-添加异常",e); + throw new JeroBootException("手机号已存在!"); + } + try { + // 新增联系人前校验同企业下联系人是否存在 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(PayContactsManagement::getName,payContactsManagement.getName()); + queryWrapper.eq(PayContactsManagement::getCompanyId,payContactsManagement.getCompanyId()); + PayContactsManagement payContactsManagementNew = getOne(queryWrapper); + // 姓名存在,则校验不通过 + if(!Objects.isNull(payContactsManagementNew)) { + throw new JeroBootException("联系人姓名已存在!"); + } + }catch (Exception e){ + log.info("联系人管理-添加异常",e); + throw new JeroBootException("联系人姓名已存在!"); + } + // 存在数据 + 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); + } + payContactsManagement.setRoleCode(PayContactsManagementCommon.ROLE_CODE1); + save(payContactsManagement); + } + + @Override + public void contactsEdit(PayContactsManagement payContactsManagement) { + StringBuilder msg = ValidUtil.validateAll(payContactsManagement); + if(!StringUtils.isBlank(msg)){ + throw new JeroBootException(msg.toString()); + } + PayCompanyManagement payCompanyManagement = payCompanyManagementService.getById(payContactsManagement.getCompanyId()); + if(Objects.isNull(payCompanyManagement)){ + throw new JeroBootException("企业不存在!"); + } + payContactsManagement.setCompanyName(payCompanyManagement.getCompanyName()); + PayContactsManagement payContactsManagementOld = getById(payContactsManagement.getId()); + if(Objects.isNull(payContactsManagementOld)){ + throw new JeroBootException("联系人不存在!"); + } + if(!Objects.equals(payContactsManagementOld.getName(),payContactsManagement.getName())){ + throw new JeroBootException("姓名不可修改!"); + } + if(!Objects.equals(PasswordUtil.decrypt(payContactsManagementOld.getPhone()),payContactsManagement.getPhone())){ + throw new JeroBootException("手机号不可修改!"); + } + try { + String phone = PasswordUtil.encrypt(payContactsManagement.getPhone()); + // 编辑保存联系人前再次校验手机号是否存在 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(PayContactsManagement::getPhone,phone); + PayContactsManagement payContactsManagementNew = getOne(queryWrapper); + // 手机号存在,并且编辑id与查询不同,则校验不通过 + if(!Objects.isNull(payContactsManagementNew) && !Objects.equals(payContactsManagementNew.getId(),payContactsManagement.getId())) { + throw new JeroBootException("手机号已存在!"); + } + }catch (Exception e){ + log.info("联系人管理-编辑异常",e); + throw new JeroBootException("手机号已存在!"); + } + try { + // 新增联系人前校验同企业下联系人是否存在 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(PayContactsManagement::getName,payContactsManagement.getName()); + queryWrapper.eq(PayContactsManagement::getCompanyId,payContactsManagement.getCompanyId()); + PayContactsManagement payContactsManagementNew = getOne(queryWrapper); + // 姓名存在,并且编辑id与查询不同,则校验不通过 + if(!Objects.isNull(payContactsManagementNew) && !Objects.equals(payContactsManagementNew.getId(),payContactsManagement.getId())) { + throw new JeroBootException("联系人姓名已存在!"); + } + }catch (Exception e){ + log.info("联系人管理-编辑异常",e); + throw new JeroBootException("联系人姓名已存在!"); + } + 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); + } + LambdaUpdateWrapper updatePayContactsManagement = new LambdaUpdateWrapper<>(); + updatePayContactsManagement.eq(PayContactsManagement::getId,payContactsManagement.getId()); + updatePayContactsManagement.set(PayContactsManagement::getCompanyName,payContactsManagement.getCompanyName()); + updatePayContactsManagement.set(PayContactsManagement::getCompanyId,payContactsManagement.getCompanyId()); + updatePayContactsManagement.set(PayContactsManagement::getName,payContactsManagement.getName()); + updatePayContactsManagement.set(PayContactsManagement::getGender,StringUtils.isBlank(payContactsManagement.getGender()) ? null : payContactsManagement.getGender()); + updatePayContactsManagement.set(PayContactsManagement::getPost,payContactsManagement.getPost()); + updatePayContactsManagement.set(PayContactsManagement::getPhone,payContactsManagement.getPhone()); + updatePayContactsManagement.set(PayContactsManagement::getEmail,payContactsManagement.getEmail()); + updatePayContactsManagement.set(PayContactsManagement::getContactAddress,payContactsManagement.getContactAddress()); + updatePayContactsManagement.set(PayContactsManagement::getPostalCode,payContactsManagement.getPostalCode()); + updatePayContactsManagement.set(PayContactsManagement::getRemarks,payContactsManagement.getRemarks()); + update(updatePayContactsManagement); +// payContactsManagementService.updateById(payContactsManagement); + // 企业管理员变更需要同步会员项目 + if(Objects.equals(payContactsManagement.getRoleCode(),PayContactsManagementCommon.ROLE_CODE2)){ + // todo 调用会员项目接口 + } + } @Override public IPage queryPageList(Page page, PayContactsManagement payContactsManagement) {