This commit is contained in:
linfso 2024-07-16 12:27:29 +08:00
parent 0761da96aa
commit b9cd424585
2 changed files with 77 additions and 39 deletions

View File

@ -200,11 +200,36 @@ public class EmisBaseService {
/** /**
* 获取客户完整手机号 国家+电话 eg: 0086-1381861188 * 获取客户完整手机号 国家+电话 eg: 0086-1381861188
* @param countryCode
* @param phone * @param phone
* @return * @return
*/ */
public String getCompletePhone(String countryCode,String phone){ public String getCompletePhone(String phone){
if(StringUtils.isAnyEmpty(phone) ){
return phone;
}
phone = phone.trim(); //去除头尾空白符
if(StringUtils.isEmpty(phone)){
return "";
}
// 去除所有空白
phone = phone.replaceAll(" ", "");
String str2 = "";
// for(int i = 0;i < phone.length();i++) {
// //对字符串的每个字符进行处理,如果在0-9之间就追加到str2上
// if(phone.charAt(i) >= 48 && phone.charAt(i) <= 57) {
// str2 += phone.charAt(i);
// }
// }
// 去除左边的0
// countryCode = countryCode.replaceAll("^(0+)", "");
// phone = phone.replaceAll("^(0+)", "");
return phone;
}
public String getCompletePhone_old(String countryCode,String phone){
if(StringUtils.isAnyEmpty(phone,countryCode) ){ if(StringUtils.isAnyEmpty(phone,countryCode) ){
return phone; return phone;
@ -2106,38 +2131,42 @@ public class EmisBaseService {
* @return * @return
*/ */
public EmisCustomerUser createCustomerUser(EmisCustomerUser emisCustomerUser) { public EmisCustomerUser createCustomerUser(EmisCustomerUser emisCustomerUser) {
// 直接返回客户 // 直接返回客户
if(emisCustomerUser.getCustomerCode() != null){ if (emisCustomerUser.getCustomerCode() != null) {
return emisCustomerUser; return emisCustomerUser;
} }
EmisCustomerUser oldUser=getCustomerUserByPhone(emisCustomerUser.getPhone()); redissonService.lock("EMIS_CREATE_USER_LOCK",100);
if(oldUser!=null){ try {
if(oldUser.getCustomerCode() == null){
EmisCustomerUser oldUser = getCustomerUserByPhone(emisCustomerUser.getPhone());
if (oldUser != null) {
if (oldUser.getCustomerCode() == null) {
// 产生 customerCode // 产生 customerCode
String siteCode = oldUser.getOwnerSite(); String siteCode = oldUser.getOwnerSite();
if(StringUtils.isEmpty(siteCode)){ if (StringUtils.isEmpty(siteCode)) {
siteCode="88888"; siteCode = "88888";
} }
// 根据所属网点获取客户编码 // 根据所属网点获取客户编码
String customerCode=genCustomerCode(siteCode); String customerCode = genCustomerCode(siteCode);
oldUser.setCustomerCode(customerCode); oldUser.setCustomerCode(customerCode);
oldUser.preUpdate(); oldUser.preUpdate();
oldUser.setUserName(customerCode); oldUser.setUserName(customerCode);
emisCustomerUserMapper.updateEmisCustomerUser(oldUser); emisCustomerUserMapper.updateEmisCustomerUser(oldUser);
}
}
redissonService.unlock("EMIS_CREATE_USER_LOCK");
return oldUser; return oldUser;
} }
// 产生 customerCode // 产生 customerCode
String siteCode = emisCustomerUser.getOwnerSite(); String siteCode = emisCustomerUser.getOwnerSite();
if(StringUtils.isEmpty(siteCode)){ if (StringUtils.isEmpty(siteCode)) {
siteCode="88888"; siteCode = "88888";
} }
// 根据所属网点获取客户编码 // 根据所属网点获取客户编码
String customerCode=genCustomerCode(siteCode); String customerCode = genCustomerCode(siteCode);
// 插入现金客户数据 // 插入现金客户数据
emisCustomerUser.setCustomerCode(customerCode); emisCustomerUser.setCustomerCode(customerCode);
@ -2149,8 +2178,13 @@ public class EmisBaseService {
emisCustomerUser.preInsert(); emisCustomerUser.preInsert();
emisCustomerUserMapper.insertEmisCustomerUser(emisCustomerUser); emisCustomerUserMapper.insertEmisCustomerUser(emisCustomerUser);
redissonService.unlock("EMIS_CREATE_USER_LOCK");
return emisCustomerUser; return emisCustomerUser;
}catch(Exception ex){
redissonService.unlock("EMIS_CREATE_USER_LOCK");
ex.printStackTrace();
return emisCustomerUser;
}
} }

View File

@ -1225,8 +1225,9 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
else if( "3".equals(emisWaybillSave.getPaymentType()) ) { else if( "3".equals(emisWaybillSave.getPaymentType()) ) {
// //
String recievePhone=getCompletePhone(recieveAddress.getPhone());
// 通过电话判断客户是否存在 // 通过电话判断客户是否存在
EmisCustomerUser emisCustomerUser=getCustomerUserByPhone(recieveAddress.getPhone()); EmisCustomerUser emisCustomerUser=getCustomerUserByPhone(recievePhone);
if(emisCustomerUser!=null){ if(emisCustomerUser!=null){
customerCode=emisCustomerUser.getCustomerCode(); customerCode=emisCustomerUser.getCustomerCode();
customerName=emisCustomerUser.getCustomerName(); customerName=emisCustomerUser.getCustomerName();
@ -1236,7 +1237,7 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
newEmisCustomerUser.setCustomerName(recieveAddress.getName()); newEmisCustomerUser.setCustomerName(recieveAddress.getName());
newEmisCustomerUser.setCountry(recieveAddress.getCountry()); newEmisCustomerUser.setCountry(recieveAddress.getCountry());
newEmisCustomerUser.setPhone(recieveAddress.getPhone()); newEmisCustomerUser.setPhone(recievePhone);
newEmisCustomerUser.setProvince(recieveAddress.getProvince()); newEmisCustomerUser.setProvince(recieveAddress.getProvince());
newEmisCustomerUser.setCity(recieveAddress.getCity()); newEmisCustomerUser.setCity(recieveAddress.getCity());
newEmisCustomerUser.setCounty(recieveAddress.getCounty()); newEmisCustomerUser.setCounty(recieveAddress.getCounty());
@ -1261,7 +1262,7 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
// 寄付和其他 // 寄付和其他
else{ else{
// 通过电话判断客户是否存在 // 通过电话判断客户是否存在
String sendPhone=getCompletePhone(sendAddress.getCounty(),sendAddress.getPhone()); String sendPhone=getCompletePhone(sendAddress.getPhone());
EmisCustomerUser emisCustomerUser=getCustomerUserByPhone(sendPhone); EmisCustomerUser emisCustomerUser=getCustomerUserByPhone(sendPhone);
if(emisCustomerUser!=null){ if(emisCustomerUser!=null){
customerCode=emisCustomerUser.getCustomerCode(); customerCode=emisCustomerUser.getCustomerCode();
@ -1284,6 +1285,9 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
newEmisCustomerUser.setSettledType("1"); newEmisCustomerUser.setSettledType("1");
newEmisCustomerUser.setUserType("1"); newEmisCustomerUser.setUserType("1");
newEmisCustomerUser.setBlOpenOms("0");
newEmisCustomerUser.setRemark("开单自动生成的现金用户");
newEmisCustomerUser.setSalesmen(emisWaybillSave.getSalesmen()); newEmisCustomerUser.setSalesmen(emisWaybillSave.getSalesmen());
newEmisCustomerUser.setPayee(emisWaybillSave.getPayee()); newEmisCustomerUser.setPayee(emisWaybillSave.getPayee());