diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberAssessMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberAssessMapper.xml index 9a040dde..e093b12c 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberAssessMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberAssessMapper.xml @@ -527,7 +527,7 @@ on (cma.pk_member = tmp.pk_member and assess_type = 5 and cma.is_examine = 1 and cma.del_flag = 0) when matched then update set cma.assess_status = tmp.assess_status, - cma.start_date = tmp.pay_time + cma.start_date = trunc(tmp.pay_time) when not matched then insert (pk_member, diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/api/ApiMemberController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/api/ApiMemberController.java index fba2328c..311ee624 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/api/ApiMemberController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/api/ApiMemberController.java @@ -848,6 +848,17 @@ public class ApiMemberController extends BaseController { } + /** + * 获取会员收益区域 + * + * @return + */ + @GetMapping("/get-all-region") + public AjaxResult getAllRegion() { + return AjaxResult.success(iCuMemberService.getAllRegion()); + } + + /** * 获取会员收益区域 * diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/CuMemberRegionController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/CuMemberRegionController.java index fbee542e..8b9e133b 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/CuMemberRegionController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/CuMemberRegionController.java @@ -127,7 +127,7 @@ public class CuMemberRegionController extends BaseController { @Log(module = EOperationModule.CU_MEMBER_RETAIL_REGION, business = EOperationBusiness.CU_MEMBER_RETAIL_REGION, method = EOperationMethod.INSERT) @PostMapping("/save") public AjaxResult save(@RequestBody @Valid MemberRegionParam mrrExt) { - return iCuMemberService.setRegion(mrrExt); + return iCuMemberService.setRegionForBack(mrrExt); } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java index eb256a24..de14ce42 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java @@ -1007,10 +1007,13 @@ public interface ICuMemberService extends IService { int countGradeMemberPoint(String memberName, String phone, Integer pkGrade, Integer pkCountry); CheckRegionVO getRegion(); + CheckRegionVO getAllRegion(); List getRegionList(Integer type); BigDecimal getSmallPV(Long userId); AjaxResult setRegion(MemberRegionParam param); + AjaxResult setRegionForBack(MemberRegionParam param); + CheckRegionVO getRegionForBack(MemberRegionParam param); /** diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberRegionServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberRegionServiceImpl.java index 2ec33740..33510253 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberRegionServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberRegionServiceImpl.java @@ -73,6 +73,7 @@ public class CuMemberRegionServiceImpl extends ServiceImpl i IBdAwardsRegionConfigServiceApi iBdAwardsRegionConfigServiceApi; @DubboReference IAreaServiceApi iAreaServiceApi; + @DubboReference + ISmsServiceApi iSmsServiceApi; @Autowired private ICuMemberRegisterService iCuMemberRegisterService; @@ -175,11 +179,7 @@ public class CuMemberServiceImpl extends ServiceImpl i @Override public CuMemberExt getMemberByCode(String memberCode) { - CuMemberExt cuMemberExt = baseMapper.queryLoginMember(memberCode, null); - if (null == cuMemberExt && memberCode.length() == 7) { - return baseMapper.queryTmpLoginMember(memberCode); - } - return cuMemberExt; + return baseMapper.queryLoginMember(memberCode, null); } @Override @@ -3433,6 +3433,28 @@ public class CuMemberServiceImpl extends ServiceImpl i } } } + }else{ + LambdaQueryWrapper cuMemberRegionLambdaQueryWrapper = new LambdaQueryWrapper<>(); + cuMemberRegionLambdaQueryWrapper.eq(CuMemberRegion::getPkMember, SecurityUtils.getUserId()); + cuMemberRegionLambdaQueryWrapper.eq(CuMemberRegion::getDelFlag, EDelFlag.UN_DELETE.getValue()); + cuMemberRegionLambdaQueryWrapper.eq(CuMemberRegion::getEffective, EEffective.EFFECTIVE.getValue()); + cuMemberRegionLambdaQueryWrapper.eq(CuMemberRegion::getSource, ENoticeWebsiteType.ADMIN.getValue()); + int count = iCuMemberRegionService.count(cuMemberRegionLambdaQueryWrapper); + if(count > 0){ + // 后台添加 可查看 + checkRegionVO.setData(new CheckRegionVO.CheckRegionWrapper()); + CheckRegionDetailVO regionDetail = baseMapper.getSelectRegionDetail(userId, EAreaType.PROVINCE.getValue()); + checkRegionVO.setProvince(ObjectUtil.isNotEmpty(regionDetail)); + checkRegionVO.getData().setProvinceData(regionDetail); + regionDetail = baseMapper.getSelectRegionDetail(userId, EAreaType.CITY.getValue()); + checkRegionVO.setCity(ObjectUtil.isNotEmpty(regionDetail)); + checkRegionVO.getData().setCityData(regionDetail); + regionDetail = baseMapper.getSelectRegionDetail(userId, EAreaType.COUNTY.getValue()); + checkRegionVO.setCounty(ObjectUtil.isNotEmpty(regionDetail)); + checkRegionVO.getData().setCountyData(regionDetail); + return checkRegionVO; + } + } // checkRegionVO.setCounty(true); // checkRegionVO.setCity(true); @@ -3440,6 +3462,23 @@ public class CuMemberServiceImpl extends ServiceImpl i return checkRegionVO; } + @Override + public CheckRegionVO getAllRegion() { + Long userId = SecurityUtils.getUserId(); + CheckRegionVO checkRegionVO = new CheckRegionVO(); + checkRegionVO.setData(new CheckRegionVO.CheckRegionWrapper()); + CheckRegionDetailVO regionDetail = baseMapper.getSelectRegionDetail(userId, EAreaType.PROVINCE.getValue()); + checkRegionVO.setProvince(ObjectUtil.isNotEmpty(regionDetail)); + checkRegionVO.getData().setProvinceData(regionDetail); + regionDetail = baseMapper.getSelectRegionDetail(userId, EAreaType.CITY.getValue()); + checkRegionVO.setCity(ObjectUtil.isNotEmpty(regionDetail)); + checkRegionVO.getData().setCityData(regionDetail); + regionDetail = baseMapper.getSelectRegionDetail(userId, EAreaType.COUNTY.getValue()); + checkRegionVO.setCounty(ObjectUtil.isNotEmpty(regionDetail)); + checkRegionVO.getData().setCountyData(regionDetail); + return checkRegionVO; + } + @Override public List getRegionList(Integer type) { return baseMapper.getRegionList(SecurityUtils.getUserId(), type); @@ -3529,6 +3568,90 @@ public class CuMemberServiceImpl extends ServiceImpl i return AjaxResult.error(str); } + @Override + public AjaxResult setRegionForBack(MemberRegionParam param) { + Long userId = param.getPkMember(); + Integer systemType = SecurityUtils.getSystemType(); + param.setSystemType(systemType); + Integer pkCountry = SecurityUtils.getPkCountry(); + CheckRegionVO checkRegionVO = this.getRegionForBack(param); + BdArea province = iAreaServiceApi.getArea(param.getProvince()).getData(); + CuMemberRegionExt cuMemberRegionExt = iCuMemberRegionService.getRegionByMember(userId, param.getType()); + + LambdaQueryWrapper cuMemberRegionLambdaQueryWrapper = new LambdaQueryWrapper<>(); + cuMemberRegionLambdaQueryWrapper.eq(CuMemberRegion::getDelFlag, EDelFlag.UN_DELETE.getValue()); + cuMemberRegionLambdaQueryWrapper.eq(CuMemberRegion::getEffective, EEffective.EFFECTIVE.getValue()); + + + if(ObjectUtil.isNotEmpty(cuMemberRegionExt)){ + return AjaxResult.error("已选择区域, 不允许重复添加!"); + } + if (null == province) { + return AjaxResult.error("选择区域省不存在,请重新选择"); + } + if (param.getType() == 1 && checkRegionVO.isProvince()) { + cuMemberRegionLambdaQueryWrapper.eq(CuMemberRegion::getProvince, param.getProvince()); + cuMemberRegionLambdaQueryWrapper.eq(CuMemberRegion::getCity, 0); + cuMemberRegionLambdaQueryWrapper.eq(CuMemberRegion::getCounty, 0); + param.setCity(0); + param.setCounty(0); + } else if (param.getType() == 2 && checkRegionVO.isCity()) { + // 校验市是否存在 + if (!param.getCity().equals(0)) { + BdArea city = iAreaServiceApi.getArea(param.getCity()).getData(); + if (null == city) { + return AjaxResult.error("选择区域市不存在,请重新选择"); + } + } + cuMemberRegionLambdaQueryWrapper.eq(CuMemberRegion::getCity, param.getCity()); + cuMemberRegionLambdaQueryWrapper.eq(CuMemberRegion::getCounty, 0); + param.setCounty(0); + } else if (param.getType() == 3 && checkRegionVO.isCounty()) { + // 校验区是否存在 + if (!param.getCounty().equals(0)) { + BdArea county = iAreaServiceApi.getArea(param.getCounty()).getData(); + if (null == county) { + return AjaxResult.error("选择区域区不存在,请重新选择"); + } + } + cuMemberRegionLambdaQueryWrapper.eq(CuMemberRegion::getCounty, param.getCounty()); + } + int count = iCuMemberRegionService.count(cuMemberRegionLambdaQueryWrapper); + if(count > 0){ + return AjaxResult.error("该区域已被选择, 不允许重复添加!"); + } + if (ObjectUtil.isNotEmpty(cuMemberRegionExt)) { + param.setPkId(cuMemberRegionExt.getPkId()); + } + param.setPkMember(userId); + param.setPkCountry(pkCountry); + param.setSource(ENoticeWebsiteType.ADMIN.getValue()); + param.setSystemType(systemType); + + String str = iCuMemberRegionService.setRegion(param); + if (null == str) { + return AjaxResult.success(); + } + return AjaxResult.error(str); + } + + @Override + public CheckRegionVO getRegionForBack(MemberRegionParam param) { + CheckRegionVO checkRegionVO = new CheckRegionVO(); + checkRegionVO.setData(new CheckRegionVO.CheckRegionWrapper()); + Long userId = param.getPkMember(); + CheckRegionDetailVO regionDetail = baseMapper.getSelectRegionDetail(userId, EAreaType.PROVINCE.getValue()); + checkRegionVO.setProvince(true); + checkRegionVO.getData().setProvinceData(regionDetail); + regionDetail = baseMapper.getSelectRegionDetail(userId, EAreaType.CITY.getValue()); + checkRegionVO.setCity(true); + checkRegionVO.getData().setCityData(regionDetail); + regionDetail = baseMapper.getSelectRegionDetail(userId, EAreaType.COUNTY.getValue()); + checkRegionVO.setCounty(true); + checkRegionVO.getData().setCountyData(regionDetail); + return checkRegionVO; + } + public static int getSmallFlag(CuMemberSettleExt lastMonthData, CuMemberSettleExt yesterdayData, CuMemberSettleExt todayData) { int smallFlag = 1; // left-1, right-2 if (ObjectUtil.isNotEmpty(todayData)) { @@ -3594,6 +3717,11 @@ public class CuMemberServiceImpl extends ServiceImpl i CuMemberRegister cuMemberRegister = BeanUtil.copyProperties(cuMember, CuMemberRegister.class); cuMemberRegister.setPkMember(cuMember.getPkId()); iCuMemberRegisterService.save(cuMemberRegister); + + // 发送会员注册成功短信 + iSmsServiceApi.sendMemberRegister(cuMember.getPhone(), EAliSmsTemplate.MEMBER_REGISTER, + cuMember.getMemberCode(), cuMember.getLoginPassword(), cuMember.getPayPassword()); + return cuMember; } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/login/service/impl/MemberLoginServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/login/service/impl/MemberLoginServiceImpl.java index deb90aa3..da9e733e 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/login/service/impl/MemberLoginServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/login/service/impl/MemberLoginServiceImpl.java @@ -181,12 +181,12 @@ public class MemberLoginServiceImpl implements IMemberLoginService { R memberResult = iMemberServiceApi.getMemberInfo(username); if (R.FAIL == memberResult.getCode()) { - if (username.length() >= 14) { - // 如果上树会员表中不存在,并且用户编号是14位,则查询分享会员表 - return this.passwordFreeshareLogin(username); - } else { - throw new ServiceException(memberResult.getMsg()); - } +// if (username.length() >= 14) { +// // 如果上树会员表中不存在,并且用户编号是14位,则查询分享会员表 +// return this.passwordFreeshareLogin(username); +// } else { + throw new ServiceException(memberResult.getMsg()); +// } } if (StringUtils.isNull(memberResult.getData())) { @@ -199,9 +199,12 @@ public class MemberLoginServiceImpl implements IMemberLoginService { CuMemberExt member = loginMember.getCuMember(); // 用户未支付状态 if (EPayStatus.UNPAID.getValue() == member.getPayStatus()) { - recordLoginLog(null, EStatus.NO, username + " 登录用户不存在"); - // 登录用户: %s 不存在 - throw new ServiceException(TransactionUtils.getContent(SystemMsgConstants.USER_NOT_EXIST, username)); + if (null != member.getPkPlaceParent()) { + // 兼容0元注册,有安置的为正常会员需要判断支付状态 + recordLoginLog(null, EStatus.NO, username + " 登录用户不存在"); + // 登录用户: %s 不存在 + throw new ServiceException(TransactionUtils.getContent(SystemMsgConstants.USER_NOT_EXIST, username)); + } } // 非正常点位(死点、已注销),不能登录 if (ECategory.NORMAL.getValue() != member.getCategory()) { diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberRegionMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberRegionMapper.xml index 26994263..71fce0f1 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberRegionMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberRegionMapper.xml @@ -74,7 +74,8 @@ county, creation_time, pk_creator, - REGION_VERTEX_PK_ID + REGION_VERTEX_PK_ID, + source ) select cu_member_retail_region_seq.nextval, #{retailRegion.pkMember}, @@ -83,7 +84,8 @@ #{retailRegion.county}, sysdate, #{retailRegion.pkCreator}, - #{retailRegion.regionVertexPkId} + #{retailRegion.regionVertexPkId}, + #{retailRegion.source} from dual where not exists(select 1 from cu_member_retail_region cmrr diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java index 149addf1..1c00f011 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java @@ -956,6 +956,12 @@ public class SaOrderServiceImpl extends ServiceImpl impl // 如果是1980赠送升级的9900,可以再买一个9900,但是等级不变 checkUpgrade = false; } + } else if (EGrade.MAKER.getValue() == oldGradeDTO.getGradeValue()) { + SaOrderExt gradeOrder = baseMapper.getLastOrderGrade(cuMember.getPkId()); + if (EGrade.YOU_KE.getValue() == gradeOrder.getGradeValue()) { + // 如果是660赠送升级的1980,可以再买一个1980,但是等级不变 + checkUpgrade = false; + } } } if (checkUpgrade) { diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EEffective.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EEffective.java new file mode 100644 index 00000000..5307494c --- /dev/null +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EEffective.java @@ -0,0 +1,32 @@ +package com.hzs.common.core.enums; + +import com.hzs.common.core.constant.EnumsPrefixConstants; +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +@Getter +public enum EEffective { + + /** + * 生效 + */ + EFFECTIVE(0, "生效"), + + /** + * 失效 + */ + INVALID(1, "失效"), + + ; + + /** + * 实际值 + */ + private final int value; + /** + * 显示标签 + */ + private final String label; + +} diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EPlaceDept.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EPlaceDept.java index 79124d4a..d10300ab 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EPlaceDept.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EPlaceDept.java @@ -40,7 +40,10 @@ public enum EPlaceDept { */ private final String key; - public static String getEPlaceDept(int value) { + public static String getEPlaceDept(Integer value) { + if (null == value) { + return ""; + } for (EPlaceDept ePlaceDept : EPlaceDept.values()) { if (ePlaceDept.value == value) { return ePlaceDept.label; diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ESysName.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ESysName.java index c739ce20..395b1c24 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ESysName.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ESysName.java @@ -28,6 +28,10 @@ public enum ESysName { * 新零售店铺 */ BL("bl", "新零售店铺BL"), + /** + * 众康 + */ + ZK("zk", "众康ZK"), ;