3
0
Fork 0

Compare commits

..

2 Commits

Author SHA1 Message Date
cabbage b23b401e55 ## 空单产品数据处理; 2025-08-25 14:12:31 +08:00
sangelxiu1 bd9a379a06 ## Opt - 手机号唯一 2025-08-25 14:12:29 +08:00
8 changed files with 48 additions and 7 deletions

View File

@ -815,6 +815,7 @@ public interface ICuMemberService extends IService<CuMember> {
* @return * @return
*/ */
String checkRegisterRelation(String phone, Long pkParent); String checkRegisterRelation(String phone, Long pkParent);
String checkRegisterRelation(String phone, Integer systemType);
/** /**
* 添加等级升级记录 * 添加等级升级记录

View File

@ -3130,7 +3130,8 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
* @param systemType 系统类型 * @param systemType 系统类型
* @return * @return
*/ */
private String checkRegisterRelation(String phone, Integer systemType) { @Override
public String checkRegisterRelation(String phone, Integer systemType) {
if (this.count(Wrappers.<CuMember>lambdaQuery() if (this.count(Wrappers.<CuMember>lambdaQuery()
.eq(CuMember::getPhone, phone) .eq(CuMember::getPhone, phone)
.eq(CuMember::getCategory, ECategory.NORMAL.getValue()) .eq(CuMember::getCategory, ECategory.NORMAL.getValue())

View File

@ -96,10 +96,12 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
public void importTemplate(List<MemberEmptyDetailDTO> resultList) { public void importTemplate(List<MemberEmptyDetailDTO> resultList) {
// 会员编号列表导入会员编号去重 // 会员编号列表导入会员编号去重
List<String> checkMemberList = new ArrayList<>(); List<String> checkMemberList = new ArrayList<>();
// 会员联系方式列表需要查库校验
List<String> checkPhoneList = new ArrayList<>();
// 遍历导入数据提取各种校验所需要的数据 // 遍历导入数据提取各种校验所需要的数据
for (MemberEmptyDetailDTO detail : resultList) { for (MemberEmptyDetailDTO detail : resultList) {
this.checkBase(detail, checkMemberList); this.checkBase(detail, checkMemberList, checkPhoneList);
} }
} }
@ -209,7 +211,7 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
// 遍历导入数据提取各种校验所需要的数据 // 遍历导入数据提取各种校验所需要的数据
for (MemberEmptyDetailDTO detail : resultList) { for (MemberEmptyDetailDTO detail : resultList) {
if (this.checkBase(detail, checkMemberList)) { if (this.checkBase(detail, checkMemberList, checkPhoneList)) {
// 已经存在异常直接返回 // 已经存在异常直接返回
return false; return false;
} }
@ -461,7 +463,7 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
* @param detail 校验数据 * @param detail 校验数据
* @param checkMemberList 会员编号列表 * @param checkMemberList 会员编号列表
*/ */
private boolean checkBase(MemberEmptyDetailDTO detail, List<String> checkMemberList) { private boolean checkBase(MemberEmptyDetailDTO detail, List<String> checkMemberList, List<String> checkPhoneList) {
// 校验之前先为空 // 校验之前先为空
detail.setPointStatus(EPointStatus.NORMAL.getValue()); detail.setPointStatus(EPointStatus.NORMAL.getValue());
detail.setContentAbstract(""); detail.setContentAbstract("");
@ -492,7 +494,16 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
// 导入数据中不重复的会员编号需要查库校验是否重复 // 导入数据中不重复的会员编号需要查库校验是否重复
checkMemberList.add(detail.getMemberCode()); checkMemberList.add(detail.getMemberCode());
} }
if (checkPhoneList.contains(detail.getPhone())) {
// 导入的数据存在重复联系方式异常状态
detail.setPointStatus(EPointStatus.ABNORMAL.getValue());
// 联系方式存在重复
detail.setContentAbstract(detail.getContentAbstract() + TransactionUtils.getContent(MemberMsgConstants.EMPTY_PHONE_NOT) + ";");
hasError = true;
} else {
// 导入数据中不重复的联系方式需要查库校验是否重复
checkPhoneList.add(detail.getPhone());
}
return hasError; return hasError;
} }

View File

@ -350,6 +350,16 @@ public class CuHandleBusinessController extends BaseController {
btvo.setTable5(EYesNo.YES.getIntValue()); btvo.setTable5(EYesNo.YES.getIntValue());
btvo.setTable6(EYesNo.YES.getIntValue()); btvo.setTable6(EYesNo.YES.getIntValue());
btvo.setTable7(EYesNo.YES.getIntValue()); btvo.setTable7(EYesNo.YES.getIntValue());
Set<String> seenPhones = new HashSet<>();
for (BusinessMemberVO member : businessSingleVO.getBusinessMemberList()) {
String phone = member.getNewPhone();
if (!seenPhones.add(phone)) {
BusinessErrorVO bev = new BusinessErrorVO();
bev.setErrorMsg(TransactionUtils.getContent(ConfigMsgConstants.MEMBER_RETAIL_PHONE_REPEAT) + "["+phone+"]");
bev.setMemberCode(member.getMemberCode());
errorMemberList.add(bev);
}
}
} }
} }
businessSingleVO.setBtvo(btvo); businessSingleVO.setBtvo(btvo);

View File

@ -633,6 +633,16 @@ public class CuHandleBusinessServiceImpl extends ServiceImpl<CuHandleBusinessMap
Integer businessType = businessTypeValueVO.getBusinessType(); Integer businessType = businessTypeValueVO.getBusinessType();
//变更姓名变更联系方式 //变更姓名变更联系方式
if (businessType.equals(EApprovalBusiness.CHANGE_NAME.getValue()) || businessType.equals(EApprovalBusiness.CHANGE_PHONE.getValue())) { if (businessType.equals(EApprovalBusiness.CHANGE_NAME.getValue()) || businessType.equals(EApprovalBusiness.CHANGE_PHONE.getValue())) {
Set<String> seenPhones = new HashSet<>();
for (BusinessMemberVO member : handleBusinessVO.getBusinessMemberList()) {
if(businessType.equals(EApprovalBusiness.CHANGE_PHONE.getValue())
&& member.getBusinessType().equals(EApprovalBusiness.CHANGE_PHONE.getValue())){
String phone = member.getNewValue();
if (!seenPhones.add(phone)) {
return false;
}
}
}
businessMemberListUpdate = getBusinessMemberByBusinessType(businessMemberList, businessType); businessMemberListUpdate = getBusinessMemberByBusinessType(businessMemberList, businessType);
result = cuMemberService.batchUpdateMemberNameAndMobileByPkmember(businessMemberListUpdate, businessType, loginUser.getUserId()); result = cuMemberService.batchUpdateMemberNameAndMobileByPkmember(businessMemberListUpdate, businessType, loginUser.getUserId());
//重置银行卡 //重置银行卡

View File

@ -1,5 +1,6 @@
package com.hzs.member.self.controller.api; package com.hzs.member.self.controller.api;
import cn.hutool.core.util.StrUtil;
import com.hzs.common.core.annotation.RepeatSubmitSimple; import com.hzs.common.core.annotation.RepeatSubmitSimple;
import com.hzs.common.core.constant.MagicNumberConstants; import com.hzs.common.core.constant.MagicNumberConstants;
import com.hzs.common.core.constant.msg.ConfigMsgConstants; import com.hzs.common.core.constant.msg.ConfigMsgConstants;
@ -121,6 +122,10 @@ public class ApiDomicileChangeController extends BaseController {
} }
domicileChangeVO.setPkCountry(pkCountry); domicileChangeVO.setPkCountry(pkCountry);
domicileChangeVO.setPkMember(pkMember); domicileChangeVO.setPkMember(pkMember);
String verifyDuplicationStr = iCuMemberService.checkRegisterRelation(domicileChangeVO.getChangePhone(), SecurityUtils.getSystemType());
if(StrUtil.isNotEmpty(verifyDuplicationStr)){
return AjaxResult.error(verifyDuplicationStr);
}
// 校验短信验证码 // 校验短信验证码
String message = iApiAliSmsService.checkCode(domicileChangeVO.getChangePhone(), domicileChangeVO.getVerificationCode(), null, pkMember); String message = iApiAliSmsService.checkCode(domicileChangeVO.getChangePhone(), domicileChangeVO.getVerificationCode(), null, pkMember);
if (null != message) { if (null != message) {

View File

@ -111,7 +111,7 @@
#{item.recCounty, jdbcType=NUMERIC} rec_county, #{item.recCounty, jdbcType=NUMERIC} rec_county,
#{item.recAddress, jdbcType=VARCHAR} rec_address, #{item.recAddress, jdbcType=VARCHAR} rec_address,
#{item.contentAbstract, jdbcType=VARCHAR} content_abstract, #{item.contentAbstract, jdbcType=VARCHAR} content_abstract,
#{item.productFlag} product_flag, 1 product_flag,
#{item.orderType} order_type, #{item.orderType} order_type,
#{item.autoFlag} auto_flag #{item.autoFlag} auto_flag
from dual from dual

View File

@ -1211,5 +1211,8 @@ public class ConfigMsgConstants {
*/ */
public static final String MEMBER_RETAIL_REGION_REPEAT = "会员已添加收益区域"; public static final String MEMBER_RETAIL_REGION_REPEAT = "会员已添加收益区域";
/**
* 会员手机号重复 -- 会员手机号重复
*/
public static final String MEMBER_RETAIL_PHONE_REPEAT = "会员手机号重复";
} }