会员与来款企业、用户同步

This commit is contained in:
liangqitao
2021-12-20 18:16:29 +08:00
parent 5e6e6d1a12
commit f55ae7772d
5 changed files with 226 additions and 79 deletions
@@ -282,20 +282,27 @@ public class PayContactsManagementController extends JeroController<PayContactsM
log.info("联系人管理-编辑异常",e);
return Result.error("联系人姓名已存在!");
}
LambdaUpdateWrapper<PayContactsManagement> updatePayContactsManagement = new LambdaUpdateWrapper<>();
// 企业管理员变更需要同步会员项目
if(Objects.equals(payContactsManagementOld.getRoleCode(),PayContactsManagementCommon.ROLE_CODE2)
&& StringUtils.isBlank(payContactsManagement.getFlagStatus())){
// 调用会员项目接口
MemberInfo memberInfo = new MemberInfo();
memberInfo.setCompanyName(payCompanyManagement.getCompanyName());
memberInfo.setId(payCompanyManagement.getMemberId());
memberInfo.setLiaisonMan(payContactsManagement.getName());
memberInfo.setEmail(payContactsManagement.getEmail());
memberInfo.setMobile(payContactsManagement.getPhone());
memberInfo.setAddress(payContactsManagement.getContactAddress());
memberInfo.setPostcode(payContactsManagement.getPostalCode());
AuthenticationUtils.post("/memberInfo/memberInfo/incomingEdit","",memberInfo);
if(Objects.equals(payContactsManagementOld.getRoleCode(),PayContactsManagementCommon.ROLE_CODE2)){
// 变更了企业,变更为企业联系人
if(!Objects.equals(payContactsManagementOld.getCompanyId(),payContactsManagement.getCompanyId())){
updatePayContactsManagement.set(PayContactsManagement::getRoleCode,PayContactsManagementCommon.ROLE_CODE1);
updatePayContactsManagement.set(PayContactsManagement::getMemberNature,null);
updatePayContactsManagement.set(PayContactsManagement::getUsername,null);
updatePayContactsManagement.set(PayContactsManagement::getDelFlag,null);
}else{
// 调用会员项目接口
MemberInfo memberInfo = new MemberInfo();
memberInfo.setCompanyName(payCompanyManagement.getCompanyName());
memberInfo.setId(payCompanyManagement.getMemberId());
memberInfo.setLiaisonMan(payContactsManagement.getName());
memberInfo.setEmail(payContactsManagement.getEmail());
memberInfo.setMobile(payContactsManagement.getPhone());
memberInfo.setAddress(payContactsManagement.getContactAddress());
memberInfo.setPostcode(payContactsManagement.getPostalCode());
AuthenticationUtils.post("/memberInfo/memberInfo/incomingEdit","",memberInfo);
}
}
try {
if (!StringUtils.isBlank(payContactsManagement.getPhone())){
@@ -308,7 +315,6 @@ public class PayContactsManagementController extends JeroController<PayContactsM
log.error("手机号、邮箱加密异常!",e);
}
LambdaUpdateWrapper<PayContactsManagement> updatePayContactsManagement = new LambdaUpdateWrapper<>();
updatePayContactsManagement.eq(PayContactsManagement::getId,payContactsManagement.getId());
updatePayContactsManagement.set(PayContactsManagement::getCompanyName,payContactsManagement.getCompanyName());
updatePayContactsManagement.set(PayContactsManagement::getCompanyId,payContactsManagement.getCompanyId());
@@ -320,14 +326,6 @@ public class PayContactsManagementController extends JeroController<PayContactsM
updatePayContactsManagement.set(PayContactsManagement::getContactAddress,payContactsManagement.getContactAddress());
updatePayContactsManagement.set(PayContactsManagement::getPostalCode,payContactsManagement.getPostalCode());
updatePayContactsManagement.set(PayContactsManagement::getRemarks,payContactsManagement.getRemarks());
// 更换企业,变更为企业联系人
if(!Objects.equals(payContactsManagementOld.getCompanyId(),payContactsManagement.getCompanyId())){
updatePayContactsManagement.set(PayContactsManagement::getRoleCode,PayContactsManagementCommon.ROLE_CODE1);
}
// 会员系统同步用户,更细会员性质
if(StringUtils.isBlank(payContactsManagement.getMemberNature())){
updatePayContactsManagement.set(PayContactsManagement::getMemberNature,payContactsManagement.getMemberNature());
}
payContactsManagementService.update(updatePayContactsManagement);
return Result.OK("编辑成功!");
}
@@ -74,6 +74,16 @@ public interface IPayCompanyManagementService extends IService<PayCompanyManagem
*/
void companyEdit(PayCompanyManagement payCompanyManagement);
/**
* @Description 会员系统同步企业信息
* @Author lqt
* @Date 2021/10/12
* @Param
* @Return
* @Exception
*/
void companyEditMember(PayCompanyManagement payCompanyManagement);
/**
* @Description 管理端-编辑
* @Author lqt
@@ -34,6 +34,15 @@ public interface IPayContactsManagementService extends IService<PayContactsManag
* @Exception
*/
void contactsEdit(PayContactsManagement payContactsManagement);
/**
* @Description 会员系统同步管理员
* @Author lqt
* @Date 2021/8/27
* @Param payContactsManagement
* @Return
* @Exception
*/
void contactsEditMember(PayContactsManagement payContactsManagement);
/**
* @Description 分页查询
@@ -249,11 +249,7 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl<PayCompanyManag
}
// 会员企业编辑同步会员系统
if(Objects.equals(payCompanyManagementOld.getRoleCode(),PayCompanyManagementCommon.ROLE_CODE2)
&& StringUtils.isBlank(payCompanyManagement.getFlagStatus())){
if(!Objects.equals(payCompanyManagementOld.getCompanyName(),payCompanyManagement.getCompanyName())){
throw new JeroBootException("会员企业名称不可修改!");
}
if(Objects.equals(payCompanyManagementOld.getRoleCode(),PayCompanyManagementCommon.ROLE_CODE2)){
// 调用会员项目接口
MemberInfo memberInfo = new MemberInfo();
memberInfo.setCompanyName(payCompanyManagement.getCompanyName());
@@ -267,7 +263,6 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl<PayCompanyManag
}
payCompanyManagement.setStatus(status);
// payCompanyManagement.setStatus(payCompanyManagementOld.getStatus());
payCompanyManagement.setDataSource(payCompanyManagementOld.getDataSource());
try {
// 编辑保存企业前再次校验企业名称是否存在
@@ -279,7 +274,68 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl<PayCompanyManag
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);
throw new JeroBootException("公司电话加密异常!");
}
}
// 如果该企业状态为通过,更新时间戳
if(Objects.equals(payCompanyManagementOld.getStatus(),PayCompanyManagementCommon.STATUS1)){
payCompanyManagement.setEditTime(new Date());
}
payCompanyManagementService.updateById(payCompanyManagement);
}
@Override
@Transactional
public void companyEditMember(PayCompanyManagement payCompanyManagement) {
if(StringUtils.isEmpty(payCompanyManagement.getCompanyPhone())){
payCompanyManagement.setCompanyPhone(null);
}
if(StringUtils.isEmpty(payCompanyManagement.getPostalCode())){
payCompanyManagement.setPostalCode(null);
}
StringBuilder msg = ValidUtil.validateAll(payCompanyManagement);
if(!StringUtils.isBlank(msg)){
throw new JeroBootException(msg.toString());
}
if(StringUtils.isEmpty(payCompanyManagement.getPostalCode())){
payCompanyManagement.setPostalCode("");
}
if(StringUtils.isEmpty(payCompanyManagement.getCompanyPhone())){
payCompanyManagement.setCompanyPhone("");
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
int status = PayCompanyManagementCommon.STATUS2;
// 只有财务人员操作不需要重新审核,其他人都需要审核
if(!Objects.isNull(sysUser) && sysUser.getRoleCode().contains(RoleCommon.CWRY)){
status = PayCompanyManagementCommon.STATUS1;
}
PayCompanyManagement payCompanyManagementOld = payCompanyManagementService.getById(payCompanyManagement.getId());
if(Objects.isNull(payCompanyManagementOld)){
throw new JeroBootException("企业不存在!");
}
if(!Objects.equals(payCompanyManagementOld.getCompanyName(),payCompanyManagement.getCompanyName())){
throw new JeroBootException("会员企业名称不可修改!");
}
payCompanyManagement.setStatus(status);
payCompanyManagement.setDataSource(payCompanyManagementOld.getDataSource());
try {
// 编辑保存企业前再次校验企业名称是否存在
LambdaQueryWrapper<PayCompanyManagement> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PayCompanyManagement::getCompanyName,payCompanyManagement.getCompanyName());
PayCompanyManagement payCompanyManagementNew = payCompanyManagementService.getOne(queryWrapper);
// 企业名称存在,并且编辑id与查询不同,则校验不通过
if(!Objects.isNull(payCompanyManagementNew) && !Objects.equals(payCompanyManagementNew.getId(),payCompanyManagement.getId())) {
throw new JeroBootException("企业名称已存在!");
}
}catch (Exception e){
throw new JeroBootException("企业名称已存在!");
}
if(!StringUtils.isBlank(payCompanyManagement.getCompanyPhone())){
@@ -328,24 +384,6 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl<PayCompanyManag
if(Objects.isNull(payCompanyManagementOld)){
throw new JeroBootException("企业不存在!");
}
// 会员企业编辑同步会员系统
if(Objects.equals(payCompanyManagementOld.getRoleCode(),PayCompanyManagementCommon.ROLE_CODE2)
&& StringUtils.isBlank(payCompanyManagement.getFlagStatus())){
if(!Objects.equals(payCompanyManagementOld.getCompanyName(),payCompanyManagement.getCompanyName())){
throw new JeroBootException("会员企业名称不可修改!");
}
// 调用会员项目接口
MemberInfo memberInfo = new MemberInfo();
memberInfo.setCompanyName(payCompanyManagement.getCompanyName());
memberInfo.setId(payCompanyManagementOld.getMemberId());
memberInfo.setTaxNo(payCompanyManagement.getDutyCode());
memberInfo.setDepositBank(payCompanyManagement.getOpeningBank());
memberInfo.setBankAccount(payCompanyManagement.getBankAccount());
memberInfo.setInvoiceAddress(payCompanyManagement.getCompanyAddress());
memberInfo.setInvoicePhone(payCompanyManagement.getCompanyPhone());
AuthenticationUtils.post("/memberInfo/memberInfo/incomingEdit","",memberInfo);
}
try {
// 编辑保存企业前再次校验企业名称是否存在
LambdaQueryWrapper<PayCompanyManagement> queryWrapper = new LambdaQueryWrapper<>();
@@ -356,14 +394,12 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl<PayCompanyManag
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);
throw new JeroBootException("公司电话加密异常!");
}
}
@@ -378,12 +414,28 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl<PayCompanyManag
payCompanyManagement.setEditTime(new Date());
}
}
// 会员企业编辑同步会员系统
if(Objects.equals(payCompanyManagementOld.getRoleCode(),PayCompanyManagementCommon.ROLE_CODE2)){
if(!Objects.equals(payCompanyManagementOld.getCompanyName(),payCompanyManagement.getCompanyName())){
throw new JeroBootException("会员企业名称不可修改!");
}
// 调用会员项目接口
MemberInfo memberInfo = new MemberInfo();
memberInfo.setCompanyName(payCompanyManagement.getCompanyName());
memberInfo.setId(payCompanyManagementOld.getMemberId());
memberInfo.setTaxNo(payCompanyManagement.getDutyCode());
memberInfo.setDepositBank(payCompanyManagement.getOpeningBank());
memberInfo.setBankAccount(payCompanyManagement.getBankAccount());
memberInfo.setInvoiceAddress(payCompanyManagement.getCompanyAddress());
memberInfo.setInvoicePhone(payCompanyManagement.getCompanyPhone());
AuthenticationUtils.post("/memberInfo/memberInfo/incomingEdit","",memberInfo);
}
payCompanyManagementService.updateById(payCompanyManagement);
}
@Override
@Transactional
@Transactional(rollbackFor = JeroBootException.class)
public void audit(String id) {
PayCompanyManagement payCompanyManagement = payCompanyManagementService.getById(id);
if(Objects.isNull(payCompanyManagement)){
@@ -404,7 +456,7 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl<PayCompanyManag
}
@Override
@Transactional(rollbackFor = Exception.class)
@Transactional(rollbackFor = JeroBootException.class)
public void saveOrEdit(PayCompanyAndContactsManagement payCompanyAndContactsManagement) {
if(Objects.isNull(payCompanyAndContactsManagement)){
throw new JeroBootException("数据为空!");
@@ -461,14 +513,14 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl<PayCompanyManag
payContactsManagementService.update(updatePayContactsManagement);
}
payContactsManagement.setId(listPayContactsManagement.get(0).getId());
payContactsManagementService.contactsEdit(payContactsManagement);
payContactsManagementService.contactsEditMember(payContactsManagement);
}
}else{
payContactsManagement.setDelFlag(PayContactsManagementCommon.DEL_FLAG1);
payContactsManagementService.addMeeting(payContactsManagement);
}
payCompanyManagement.setId(listPayCompanyManagement.get(0).getId());
companyEdit(payCompanyManagement);
companyEditMember(payCompanyManagement);
}
}
@@ -112,6 +112,105 @@ public class PayContactsManagementServiceImpl extends ServiceImpl<PayContactsMan
@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("手机号不可修改!");
}
if(!Objects.equals(payContactsManagementOld.getCompanyId(),payContactsManagement.getCompanyId())){
throw new JeroBootException("企业不可修改!");
}
try {
String phone = PasswordUtil.encrypt(payContactsManagement.getPhone());
// 编辑保存联系人前再次校验手机号是否存在
LambdaQueryWrapper<PayContactsManagement> 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<PayContactsManagement> 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("联系人姓名已存在!");
}
// 企业管理员变更,并且变更了企业,需要同步会员项目
if(Objects.equals(payContactsManagementOld.getRoleCode(),PayContactsManagementCommon.ROLE_CODE2)){
// 调用会员项目接口
MemberInfo memberInfo = new MemberInfo();
memberInfo.setCompanyName(payCompanyManagement.getCompanyName());
memberInfo.setId(payCompanyManagement.getMemberId());
memberInfo.setLiaisonMan(payContactsManagement.getName());
memberInfo.setEmail(payContactsManagement.getEmail());
memberInfo.setMobile(payContactsManagement.getPhone());
memberInfo.setAddress(payContactsManagement.getContactAddress());
memberInfo.setPostcode(payContactsManagement.getPostalCode());
AuthenticationUtils.post("/memberInfo/memberInfo/incomingEdit","",memberInfo);
}
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<PayContactsManagement> 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);
}
/**
* @Description 会员系统同步会员管理员
* @Date 2021/12/20 15:14
* @param payContactsManagement
* @return void
*/
@Override
public void contactsEditMember(PayContactsManagement payContactsManagement) {
StringBuilder msg = ValidUtil.validateAll(payContactsManagement);
if(!StringUtils.isBlank(msg)){
throw new JeroBootException(msg.toString());
@@ -163,21 +262,6 @@ public class PayContactsManagementServiceImpl extends ServiceImpl<PayContactsMan
throw new JeroBootException("联系人姓名已存在!");
}
// 企业管理员变更需要同步会员项目
if(Objects.equals(payContactsManagementOld.getRoleCode(),PayContactsManagementCommon.ROLE_CODE2)
&& StringUtils.isBlank(payContactsManagement.getFlagStatus())){
// 调用会员项目接口
MemberInfo memberInfo = new MemberInfo();
memberInfo.setCompanyName(payCompanyManagement.getCompanyName());
memberInfo.setId(payCompanyManagement.getMemberId());
memberInfo.setLiaisonMan(payContactsManagement.getName());
memberInfo.setEmail(payContactsManagement.getEmail());
memberInfo.setMobile(payContactsManagement.getPhone());
memberInfo.setAddress(payContactsManagement.getContactAddress());
memberInfo.setPostcode(payContactsManagement.getPostalCode());
AuthenticationUtils.post("/memberInfo/memberInfo/incomingEdit","",memberInfo);
}
try {
if (!StringUtils.isBlank(payContactsManagement.getPhone())){
payContactsManagement.setPhone(PasswordUtil.encrypt(payContactsManagement.getPhone()));
@@ -201,17 +285,11 @@ public class PayContactsManagementServiceImpl extends ServiceImpl<PayContactsMan
updatePayContactsManagement.set(PayContactsManagement::getContactAddress,payContactsManagement.getContactAddress());
updatePayContactsManagement.set(PayContactsManagement::getPostalCode,payContactsManagement.getPostalCode());
updatePayContactsManagement.set(PayContactsManagement::getRemarks,payContactsManagement.getRemarks());
if(!StringUtils.isBlank(payContactsManagement.getUsername())){
updatePayContactsManagement.set(PayContactsManagement::getUsername,payContactsManagement.getUsername());
}
// 变更企业,求改企业联系人为普通联系人
if(!StringUtils.isBlank(payContactsManagement.getRoleCode())){
updatePayContactsManagement.set(PayContactsManagement::getRoleCode,payContactsManagement.getRoleCode());
}
if(!StringUtils.isBlank(payContactsManagement.getMemberNature())){
updatePayContactsManagement.set(PayContactsManagement::getMemberNature,payContactsManagement.getMemberNature());
}
updatePayContactsManagement.set(PayContactsManagement::getUsername,payContactsManagement.getUsername());
updatePayContactsManagement.set(PayContactsManagement::getRoleCode,payContactsManagement.getRoleCode());
updatePayContactsManagement.set(PayContactsManagement::getMemberNature,payContactsManagement.getMemberNature());
update(updatePayContactsManagement);
return;
}
@Override
@@ -220,7 +298,7 @@ public class PayContactsManagementServiceImpl extends ServiceImpl<PayContactsMan
}
@Override
@Transactional
@Transactional(rollbackFor = JeroBootException.class)
public void updateContactsData(List<PayContactsManagement> listSigning, List<PayContactsManagement> list) {
// 已存在企业名称,变更数据来源
if(!CollectionUtils.isEmpty(listSigning)){