From 08489f870aa0e53e185a9a7769a797cc62b4e7fd Mon Sep 17 00:00:00 2001 From: linfso Date: Sat, 30 Nov 2024 15:57:40 +0800 Subject: [PATCH] md --- .../web/emis/EmisCustomerUserController.java | 13 +-- .../emis/mapper/EmisCustomerUserMapper.java | 3 +- .../erp/emis/service/EmisBaseService.java | 85 ++++++++++++++++--- .../service/IEmisCustomerUserService.java | 5 +- .../impl/EmisCustomerUserServiceImpl.java | 15 +++- .../service/impl/EmisWaybillServiceImpl.java | 4 +- .../mapper/EmisCustomerUserMapper.xml | 2 +- 7 files changed, 99 insertions(+), 28 deletions(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCustomerUserController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCustomerUserController.java index 75b8366b2..22286053f 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCustomerUserController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCustomerUserController.java @@ -142,11 +142,13 @@ public class EmisCustomerUserController extends EmisBaseController if(oldUser!=null){ return AjaxResult.error("该客户电话号码已被占用,请使用新号码"); } - emisCustomerUser.setCustomerType("1"); - emisCustomerUser.setSettledType("1"); - emisCustomerUser.setUserType("1"); + + emisCustomerUser.setCustomerType("1"); + emisCustomerUser.setSettledType("1"); + emisCustomerUser.setUserType("1"); emisCustomerUser.setOwnerSite(getLoginUser().getUser().getOwnerSiteCode()); - return toAjax(emisCustomerUserService.insertEmisCustomerUser(emisCustomerUser)); + + return toAjax(emisCustomerUserService.insertMoneyCustomerUser(emisCustomerUser)); } catch (DuplicateKeyException e) { e.printStackTrace(); return AjaxResult.error("数据重复!"); @@ -255,10 +257,11 @@ public class EmisCustomerUserController extends EmisBaseController emisCustomerUser.setCustomerType("2"); emisCustomerUser.setSettledType("2"); + emisCustomerUser.setUserType("2"); emisCustomerUser.setUserName(emisCustomerUser.getMonthlyPayCode()); - return toAjax(emisCustomerUserService.insertEmisCustomerUser(emisCustomerUser)); + return toAjax(emisCustomerUserService.insertMonthCustomerUser(emisCustomerUser)); } catch (DuplicateKeyException e) { e.printStackTrace(); return AjaxResult.error("数据重复!"); diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCustomerUserMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCustomerUserMapper.java index de447b6de..9fbae06f6 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCustomerUserMapper.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCustomerUserMapper.java @@ -80,10 +80,9 @@ public interface EmisCustomerUserMapper extends BaseMapper /** * 根据站点获取到最大编码 - * @param ownSiteCode * @return */ - public Long selectMaxCustomerCodeBySite(String ownSiteCode); + public Long selectMaxCustomerCode(); public EmisCustomerUser selectEmisCustomerUserByPhone(String phone); diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java index eb7d71a9c..41def9d66 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java @@ -2479,8 +2479,8 @@ public class EmisBaseService { * @param siteCode * @return */ - private String genCustomerCode(String siteCode){ - Long maxCode=emisCustomerUserMapper.selectMaxCustomerCodeBySite(siteCode); + private String genCustomerCode(){ + Long maxCode=emisCustomerUserMapper.selectMaxCustomerCode(); return maxCode.toString(); } @@ -2489,7 +2489,7 @@ public class EmisBaseService { EmisCustomerUser queryEmisCustomerUser = new EmisCustomerUser(); List emisCustomerUserList=emisCustomerUserMapper.selectEmisCustomerUserList(queryEmisCustomerUser); for(EmisCustomerUser user:emisCustomerUserList){ - EmisCustomerUser crt=createCustomerUser(user); + EmisCustomerUser crt=createMoneyCustomerUser(user); if(crt.getCustomerCode() != null){ continue; } @@ -2498,7 +2498,7 @@ public class EmisBaseService { if(StringUtils.isEmpty(siteCode)){ siteCode="88888"; } - String customerCode=genCustomerCode(siteCode); + String customerCode=genCustomerCode(); crt.setCustomerCode(customerCode); crt.setOwnerSite(siteCode); crt.setUserName(crt.getCustomerCode()); @@ -2507,12 +2507,12 @@ public class EmisBaseService { } } - /** - * 创建客户 - * @param emisCustomerUser - * @return - */ - public EmisCustomerUser createCustomerUser(EmisCustomerUser emisCustomerUser) { + /** + * 创建现金客户 + * @param emisCustomerUser + * @return + */ + public EmisCustomerUser createMoneyCustomerUser(EmisCustomerUser emisCustomerUser) { // 直接返回客户 if (emisCustomerUser.getCustomerCode() != null) { return emisCustomerUser; @@ -2524,14 +2524,13 @@ public class EmisBaseService { EmisCustomerUser oldUser = getCustomerUserByPhone(emisCustomerUser.getPhone()); if (oldUser != null) { if (oldUser.getCustomerCode() == null) { - // 产生 customerCode String siteCode = oldUser.getOwnerSite(); if (StringUtils.isEmpty(siteCode)) { siteCode = "88888"; } // 根据所属网点获取客户编码 - String customerCode = genCustomerCode(siteCode); + String customerCode = genCustomerCode(); oldUser.setCustomerCode(customerCode); oldUser.preUpdate(); oldUser.setUserName(customerCode); @@ -2549,7 +2548,7 @@ public class EmisBaseService { siteCode = "88888"; } // 根据所属网点获取客户编码 - String customerCode = genCustomerCode(siteCode); + String customerCode = genCustomerCode(); // 插入现金客户数据 emisCustomerUser.setCustomerCode(customerCode); @@ -2570,6 +2569,66 @@ public class EmisBaseService { } } + /** + * 创建月结客户 + * @param emisCustomerUser + * @return + */ + public EmisCustomerUser createMonthCustomerUser(EmisCustomerUser emisCustomerUser) { + // 直接返回客户 + if (emisCustomerUser.getCustomerCode() != null) { + return emisCustomerUser; + } + + redissonService.lock("EMIS_CREATE_USER_LOCK",100); + try { + + EmisCustomerUser oldUser = getCustomerUserByPhone(emisCustomerUser.getPhone()); + if (oldUser != null) { + if (oldUser.getCustomerCode() == null) { + // 产生 customerCode + // 根据所属网点获取客户编码 + String customerCode = genCustomerCode(); + oldUser.setCustomerCode(customerCode); + oldUser.preUpdate(); + oldUser.setUserName(customerCode); + oldUser.setDelFlag("0"); + emisCustomerUserMapper.updateEmisCustomerUser(oldUser); + + } + redissonService.unlock("EMIS_CREATE_USER_LOCK"); + return oldUser; + } + + // 产生 customerCode + String siteCode = emisCustomerUser.getOwnerSite(); + if (StringUtils.isEmpty(siteCode)) { + siteCode = "88888"; + } + // 根据所属网点获取客户编码 + String customerCode = genCustomerCode(); + + // 插入月结客户数据 + emisCustomerUser.setCustomerCode(customerCode); + emisCustomerUser.setOwnerSite(siteCode); + emisCustomerUser.setUserName(emisCustomerUser.getMonthlyPayCode()); + emisCustomerUser.setCustomerType("2"); + emisCustomerUser.setSettledType("2"); + emisCustomerUser.setUserType("2"); + + emisCustomerUser.preInsert(); + emisCustomerUserMapper.insertEmisCustomerUser(emisCustomerUser); + + // 插入登录角色 + redissonService.unlock("EMIS_CREATE_USER_LOCK"); + return emisCustomerUser; + }catch(Exception ex){ + redissonService.unlock("EMIS_CREATE_USER_LOCK"); + ex.printStackTrace(); + return emisCustomerUser; + } + } + /** * 寄件网点运单统计 diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisCustomerUserService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisCustomerUserService.java index d11013192..c48efe44d 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisCustomerUserService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisCustomerUserService.java @@ -41,7 +41,10 @@ public interface IEmisCustomerUserService * @param emisCustomerUser 快递客户用户 * @return 结果 */ - public int insertEmisCustomerUser(EmisCustomerUser emisCustomerUser); + public int insertMoneyCustomerUser(EmisCustomerUser emisCustomerUser); + + + public int insertMonthCustomerUser(EmisCustomerUser emisCustomerUser); /** diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCustomerUserServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCustomerUserServiceImpl.java index 1f946cb1d..cde35297e 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCustomerUserServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCustomerUserServiceImpl.java @@ -63,14 +63,21 @@ public class EmisCustomerUserServiceImpl extends EmisBaseService implements IEmi * @return 结果 */ @Override - public int insertEmisCustomerUser(EmisCustomerUser emisCustomerUser) + public int insertMoneyCustomerUser(EmisCustomerUser emisCustomerUser) { - - EmisCustomerUser crtUser=createCustomerUser(emisCustomerUser); -// return emisCustomerUserMapper.insertEmisCustomerUser(emisCustomerUser); + createMoneyCustomerUser(emisCustomerUser); return 1; } + @Override + public int insertMonthCustomerUser(EmisCustomerUser emisCustomerUser) + { + + createMonthCustomerUser(emisCustomerUser); + return 1; + } + + /** * 重置登录密码 * @param emisCustomerUser diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java index 11bfee29c..9335a4b4d 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java @@ -1896,7 +1896,7 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb // 预置主归属网点 newEmisCustomerUser.setOwnerSite(emisWaybillSave.getSendSiteCode()); - EmisCustomerUser newUser = createCustomerUser(newEmisCustomerUser); + EmisCustomerUser newUser = createMoneyCustomerUser(newEmisCustomerUser); customerCode = newUser.getCustomerCode(); customerName = newUser.getCustomerName(); @@ -2310,7 +2310,7 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb // 预置主归属网点 newEmisCustomerUser.setOwnerSite(emisWaybillSave.getSendSiteCode()); - EmisCustomerUser newUser=createCustomerUser(newEmisCustomerUser); + EmisCustomerUser newUser=createMoneyCustomerUser(newEmisCustomerUser); customerCode = newUser.getCustomerCode(); customerName = newUser.getCustomerName(); diff --git a/emis-biz/src/main/resources/mapper/EmisCustomerUserMapper.xml b/emis-biz/src/main/resources/mapper/EmisCustomerUserMapper.xml index 92c9ce487..2e08e0dc7 100644 --- a/emis-biz/src/main/resources/mapper/EmisCustomerUserMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisCustomerUserMapper.xml @@ -410,7 +410,7 @@ - select CONCAT(CONVERT(max(customer_code),SIGNED)+1,'') as code from emis_customer_user