diff --git a/bd-api/bd-api-system/src/main/java/com/hzs/system/base/dto/CountryDTO.java b/bd-api/bd-api-system/src/main/java/com/hzs/system/base/dto/CountryDTO.java index 6cd545d7..3fc2531e 100644 --- a/bd-api/bd-api-system/src/main/java/com/hzs/system/base/dto/CountryDTO.java +++ b/bd-api/bd-api-system/src/main/java/com/hzs/system/base/dto/CountryDTO.java @@ -5,11 +5,7 @@ import lombok.Data; import java.io.Serializable; /** - * Description: 国家数据传输DTO - * Author: jiang chao - * Time: 2022/8/31 16:56 - * Classname: CountryDTO - * PackageName: com.hzs.system.base.dto + * 国家数据传输DTO */ @Data public class CountryDTO implements Serializable { diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/controller/api/ApiCuMemberTransferController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/controller/api/ApiCuMemberTransferController.java index db08b67a..dedbdee0 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/controller/api/ApiCuMemberTransferController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/controller/api/ApiCuMemberTransferController.java @@ -21,7 +21,6 @@ import com.hzs.common.domain.member.detail.CuMemberServiceLogExt; import com.hzs.common.domain.member.ext.CuMemberExt; import com.hzs.common.domain.system.config.BdAccount; import com.hzs.common.domain.system.config.BdTransfer; -import com.hzs.common.domain.system.config.BdTransferSpecial; import com.hzs.common.security.utils.SecurityUtils; import com.hzs.common.util.TransactionUtils; import com.hzs.member.account.dto.CuMemberRechargeAccountParam; @@ -338,51 +337,6 @@ public class ApiCuMemberTransferController extends BaseController { return (reference.equals(EYesNo.YES.getIntValue()) || transferStatus.equals(EYesNo.YES.getIntValue())) && !cuMemberTransferService.isBloodLine(pkMember, toPkMember); } - /** - * 转账的特殊配置 - * - * @param pkMember 转出方ID - * @param transferMoney 转账金额 - * @param toPkMember 转入方ID - * @return AjaxResult - */ - private AjaxResult transferSpecial(BdTransferSpecial transferSpecial, Long pkMember, BigDecimal transferMoney, Long toPkMember) { - //特殊配置 - if (null != transferSpecial) { - //某个人的最低提现金额 - BigDecimal minAmountMoney = transferSpecial.getMinAmountMoney(); - if (transferMoney.compareTo(minAmountMoney) < 0) { - return AjaxResult.error("转账金额不能低于最低转账金额"); - } - Integer specialConfig = transferSpecial.getSpecialConfig(); - //不校验 - if (specialConfig.equals(ETransferSpecial.NO_CONTROL.getValue())) { - return AjaxResult.success(); - } - //推荐 - if (specialConfig.equals(ETransferSpecial.BLOOD_ALL.getValue()) && !cuMemberTransferService.isBloodLine(pkMember, toPkMember)) { - return AjaxResult.error("接收方编号不在血缘线中"); - } - if (specialConfig.equals(ETransferSpecial.BLOOD_ON_UMBRELLA.getValue()) && !cuMemberTransferService.isBloodKinshipOnUmbrella(pkMember, toPkMember)) { - return AjaxResult.error("接收方编号不在血缘伞上"); - } - if (specialConfig.equals(ETransferSpecial.BLOOD_UNDER_UMBRELLA.getValue()) && !cuMemberTransferService.isBloodKinshipUnderUmbrella(pkMember, toPkMember)) { - return AjaxResult.error("接收方编号不在血缘伞下"); - } - //安置 - if (specialConfig.equals(ETransferSpecial.PLACE_ALL.getValue()) && !cuMemberTransferService.isPlaceSponsorOnline(pkMember, toPkMember)) { - return AjaxResult.error("接收方编号不在安置线中"); - } - if (specialConfig.equals(ETransferSpecial.PLACE_ON_UMBRELLA.getValue()) && !cuMemberTransferService.isPlaceSponsorOnUmbrella(pkMember, toPkMember)) { - return AjaxResult.error("接收方编号不在安置伞上"); - } - if (specialConfig.equals(ETransferSpecial.PLACE_UNDER_UMBRELLA.getValue()) && !cuMemberTransferService.isPlaceSponsorUnderUmbrella(pkMember, toPkMember)) { - return AjaxResult.error("接收方编号不在安置伞下"); - } - } - return AjaxResult.success(); - } - /** * 计算手续费金额 * diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/mapper/CuMemberTransferMapper.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/mapper/CuMemberTransferMapper.java index 1ab26faf..8d3be3c1 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/mapper/CuMemberTransferMapper.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/mapper/CuMemberTransferMapper.java @@ -1,6 +1,5 @@ package com.hzs.member.account.mapper; - import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.hzs.common.domain.member.account.CuMemberTransfer; import com.hzs.common.domain.member.account.CuMemberTransferExt; @@ -9,12 +8,7 @@ import com.hzs.member.account.vo.CuMemberTransferVO; import java.util.List; /** - *

* 会员转账表 Mapper 接口 - *

- * - * @author hzs - * @since 2022-09-06 */ public interface CuMemberTransferMapper extends BaseMapper { @@ -26,12 +20,4 @@ public interface CuMemberTransferMapper extends BaseMapper { */ List selectMemberTransferList(CuMemberTransferVO cuMemberTransferVO); - /** - * 查询统计总充值金额 - * - * @param cuMemberTransferVO 转账参数 - * @return CuMemberTransferExt - */ - CuMemberTransferExt selectMemberTransferCount(CuMemberTransferVO cuMemberTransferVO); - } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/ICuMemberTransferService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/ICuMemberTransferService.java index d04f1282..971fa52a 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/ICuMemberTransferService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/ICuMemberTransferService.java @@ -1,22 +1,13 @@ package com.hzs.member.account.service; - import com.baomidou.mybatisplus.extension.service.IService; import com.hzs.common.domain.member.account.CuMemberAccount; import com.hzs.common.domain.member.account.CuMemberTransfer; -import com.hzs.common.domain.member.account.CuMemberTransferExt; import com.hzs.common.domain.system.config.BdTransfer; import com.hzs.member.account.vo.CuMemberTransferVO; - - /** - *

* 会员转账表 服务类 - *

- * - * @author hzs - * @since 2022-09-06 */ public interface ICuMemberTransferService extends IService { /** @@ -46,33 +37,6 @@ public interface ICuMemberTransferService extends IService { */ Boolean isBloodKinshipUnderUmbrella(Long pkMember, Long toPkMember); - /** - * 查找安置人线上 - * - * @param pkMember 转出方ID - * @param toPkMember 转入方ID - * @return Boolean - */ - Boolean isPlaceSponsorOnline(Long pkMember, Long toPkMember); - - /** - * 查找安置人伞上 - * - * @param pkMember 转出方ID - * @param toPkMember 转入方ID - * @return Boolean - */ - Boolean isPlaceSponsorOnUmbrella(Long pkMember, Long toPkMember); - - /** - * 查找安置人伞下 - * - * @param pkMember 转出方ID - * @param toPkMember 转入方ID - * @return Boolean - */ - Boolean isPlaceSponsorUnderUmbrella(Long pkMember, Long toPkMember); - /** * 获取转账配置 * @@ -86,11 +50,11 @@ public interface ICuMemberTransferService extends IService { * 保存转账 * * @param cuMemberTransfer 转账信息 - * @param cuMemberAccount 转出的账户信息 - * @param toMemberAccount 转入的账户信息 + * @param cuMemberAccount 转出的账户信息 + * @param toMemberAccount 转入的账户信息 * @return Integer */ - Integer saveMemberTransferInfo(CuMemberTransfer cuMemberTransfer, CuMemberAccount cuMemberAccount,CuMemberAccount toMemberAccount); + Integer saveMemberTransferInfo(CuMemberTransfer cuMemberTransfer, CuMemberAccount cuMemberAccount, CuMemberAccount toMemberAccount); /** * 根据条件查询转账列表 diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberTransferServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberTransferServiceImpl.java index 59706847..b0c92c87 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberTransferServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberTransferServiceImpl.java @@ -34,32 +34,22 @@ import java.math.RoundingMode; import java.util.*; /** - *

* 会员转账表 服务实现类 - *

- * - * @author hzs - * @since 2022-09-06 */ @Service public class CuMemberTransferServiceImpl extends ServiceImpl implements ICuMemberTransferService { @Autowired private ICuMemberService cuMemberService; - @Autowired private ICuMemberAccountService cuMemberAccountService; - @Autowired private ICuMemberTradeService cuMemberTradeService; - - @DubboReference - private ITransferServiceApi transferServiceApi; - - @Autowired private ICuMemberBaseService cuMemberBaseService; + @DubboReference + ITransferServiceApi transferServiceApi; @Override public Boolean isBloodLine(Long pkMember, Long toPkMember) { @@ -91,29 +81,6 @@ public class CuMemberTransferServiceImpl extends ServiceImpl memberPlaceOn = cuMemberService.queryPlaceSponsorOnUmbrella(pkMember); - Optional onPlaceOptional = memberPlaceOn.stream().filter(placeOn -> toPkMember.equals(placeOn.getPkId())).findFirst(); - return onPlaceOptional.isPresent(); - } - - @Override - public Boolean isPlaceSponsorUnderUmbrella(Long pkMember, Long toPkMember) { - List memberPlaceUnder = cuMemberService.queryPlaceSponsorUnderUmbrella(pkMember); - Optional underPlaceOptional = memberPlaceUnder.stream().filter(placeUnder -> toPkMember.equals(placeUnder.getPkId())).findFirst(); - return underPlaceOptional.isPresent(); - } - @Transactional(rollbackFor = Exception.class) @Override public Integer saveMemberTransferInfo(CuMemberTransfer cuMemberTransfer, CuMemberAccount cuMemberAccount, CuMemberAccount toMemberAccount) { @@ -231,7 +198,7 @@ public class CuMemberTransferServiceImpl extends ServiceImpl { */ List checkMemberOrder(@Param("pkMemberList") List pkMemberList); - /** * 查询多会员是否在血缘伞下 * @@ -615,8 +614,15 @@ public interface CuMemberMapper extends BaseMapper { */ BdTradeWhiteConfig selectMemberByUnderBlood(@Param("pkMember") Long pkMember, @Param("memberType") Integer memberType); - int validateCompanyCount(@Param("gradeValue") Integer gradeValue); int validateBranchOfficeCount(@Param("areaId") Integer areaId, @Param("userId") Long userId); + + /** + * 查询博羚店主会员 + * + * @return + */ + CuMember getShopkeeperMember(@Param("pkMember") Long pkMember); + } 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 98dd482e..ec8d484f 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 @@ -100,13 +100,6 @@ public interface ICuMemberService extends IService { */ boolean checkLowerMember(Long pkMember); - /** - * 查找安置人伞上 - * - * @param memberId 安置人,编号 - */ - List queryPlaceSponsorOnUmbrella(Long memberId); - /** * 查找安置人伞上 * @@ -893,4 +886,12 @@ public interface ICuMemberService extends IService { int validateCompanyCount(); int validateBranchOfficeCount(Integer areaId, Long userId); + + /** + * 查询博羚店主会员 + * + * @return + */ + CuMember getShopkeeperMember(Long pkMember); + } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java index 21d66077..e17663c6 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java @@ -31,6 +31,7 @@ import com.hzs.common.domain.sale.order.SaOrder; import com.hzs.common.domain.system.config.BdAccount; import com.hzs.common.domain.system.config.BdAwards; import com.hzs.common.domain.system.config.BdGrade; +import com.hzs.common.security.utils.SecurityUtils; import com.hzs.common.util.TransactionUtils; import com.hzs.member.account.dto.BusinessCommissionDTO; import com.hzs.member.account.service.ICuMemberAccountService; @@ -50,10 +51,11 @@ import com.hzs.system.base.dto.CurrencyDTO; import com.hzs.system.config.IAccountServiceApi; import com.hzs.system.config.IAreaCurrencyServiceApi; import com.hzs.system.config.IAwardsServiceApi; +import com.hzs.system.config.IGradeServiceApi; import com.hzs.system.config.dto.AreaCurrencyDTO; +import com.hzs.system.config.dto.GradeDTO; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; -import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -76,6 +78,8 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { @DubboReference IAwardsServiceApi iAwardsServiceApi; @DubboReference + IGradeServiceApi iGradeServiceApi; + @DubboReference ICurrencyServiceApi iCurrencyServiceApi; @DubboReference ISaOrderServiceApi iSaOrderServiceApi; @@ -83,13 +87,11 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { @Autowired private MemberToolsHandler memberToolsHandler; @Autowired - private ICuMemberAchieveService cuMemberAchieveService; + private ICuMemberAchieveService iCuMemberAchieveService; @Autowired private RedisService redisService; @Autowired - private RabbitTemplate rabbitTemplate; - - private ICuMemberService cuMemberService; + private ICuMemberService iCuMemberService; private ICuMemberRegisterService cuMemberRegisterService; @@ -144,11 +146,6 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { this.cuMemberAccountService = cuMemberAccountService; } - @Autowired - public void setCuMemberService(ICuMemberService cuMemberService) { - this.cuMemberService = cuMemberService; - } - @Autowired public void setCuMemberRegisterService(ICuMemberRegisterService cuMemberRegisterService) { this.cuMemberRegisterService = cuMemberRegisterService; @@ -164,7 +161,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { public void updateCuMember(CuMember cuMember) { redisService.lockKeyMany(CacheConstants.UPD_MEMBER + cuMember.getMemberCode()); try { - cuMemberService.updateById(cuMember); + iCuMemberService.updateById(cuMember); } finally { redisService.unlock(CacheConstants.UPD_MEMBER + cuMember.getMemberCode()); } @@ -177,7 +174,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { // 当cuMember为空时,代表为复购订单,不更新会员表 if (cuMember != null) { // 验证等级是否发生了变化,海外存在累计升级的国家 - CuMember member = cuMemberService.getMember(cuMember.getPkId()); + CuMember member = iCuMemberService.getMember(cuMember.getPkId()); if (!cuMember.getPkSettleGrade().equals(member.getPkSettleGrade())) { saveLevelUpgrade(cuMember, EUpgradeType.BUY_UPGRADE.getValue(), saOrder, member.getPkSettleGrade()); } @@ -260,10 +257,10 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { if (isPay) { updateCuMember(cuMember); } else { - if (cuMemberService.getMember(cuMember.getPkId()) != null) { + if (iCuMemberService.getMember(cuMember.getPkId()) != null) { updateCuMember(cuMember); } else { - cuMemberService.saveMember(cuMember); + iCuMemberService.saveMember(cuMember); } } // 代表在线支付,在线支付先插入一条充值信息 @@ -287,7 +284,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { @Override public void saveShareMember(CuMember cuMember) { // 保存会员 - cuMemberService.saveMember(cuMember); + iCuMemberService.saveMember(cuMember); // 保存账户 saveMemberAccount(cuMember); // 用户注册信息 @@ -365,7 +362,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { // 扣款 扣款信息 Integer pkCountry = saOrder.getPkCountry(); Long pkMember = saOrder.getPkCreator(); - CuMember cuMember = cuMemberService.getMember(saOrder.getPkCreator()); + CuMember cuMember = iCuMemberService.getMember(saOrder.getPkCreator()); if (cuMember != null) { pkCountry = cuMember.getPkSettleCountry(); pkMember = cuMember.getPkId(); @@ -602,13 +599,13 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { if (EOrderType.RETAIL_REGISTER.getValue() == saOrder.getOrderType()) { // 会员账号 验证会员账户是否存在金额 - CuMember member = cuMemberService.getMemberById(saOrder.getPkMember()); + CuMember member = iCuMemberService.getMemberById(saOrder.getPkMember()); // 会员变为死点 member.setCategory(ECategory.LOGGED_OUT.getValue()); member.setCustomerType(ECustomerType.DEAD_POINT.getValue()); member.setPkModified(saOrder.getPkModified()); member.setModifiedTime(DateUtils.currentDateTime()); - cuMemberService.updateById(member); + iCuMemberService.updateById(member); // 撤销正常订单,修改 cu_member_register 账户状态为死点 CuMemberRegister cuMemberRegister = new CuMemberRegister(); cuMemberRegister.setPkMember(member.getPkId()); @@ -629,7 +626,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { CuMemberAccount payMemberAccount = cuMemberAccountService.queryCuMemberAccountByPkMember(saOrder.getPkCreator()); if (EOrderType.RETAIL_REGISTER.getValue() == saOrder.getOrderType()) { // 会员账号 验证会员账户是否存在金额 - CuMember member = cuMemberService.getMember(saOrder.getPkMember()); + CuMember member = iCuMemberService.getMember(saOrder.getPkMember()); //删除会员 LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); @@ -638,7 +635,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { updateWrapper.set(CuMember::getModifiedTime, DateUtils.currentDateTime()); updateWrapper.set(CuMember::getPkModified, saOrder.getPkModified()); updateWrapper.eq(CuMember::getPkId, member.getPkId()); - cuMemberService.update(updateWrapper); + iCuMemberService.update(updateWrapper); // 删除会员注册表 LambdaUpdateWrapper updateWrapperRegister = new LambdaUpdateWrapper<>(); @@ -870,7 +867,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { cuMemberLevelService.deleteCuMemberLevelRecord(saOrder.getPkId(), pkApprove, currentDateTime); // 回退奖衔,根据订单从 cu_member_awards查询 cuMemberAwardsService.deleteCuMemberAwards(saOrder.getPkId(), pkApprove, currentDateTime); - cuMemberService.deleteCuMemberByPkMember(pkMember, pkApprove, currentDateTime); + iCuMemberService.deleteCuMemberByPkMember(pkMember, pkApprove, currentDateTime); cuMemberAccountService.deleteCuMemberAccountByPkMember(pkMember, pkApprove, currentDateTime); // 撤销正常订单,修改 cu_member_register 账户状态为死点 CuMemberRegister cuMemberRegister = new CuMemberRegister(); @@ -936,7 +933,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { if (saOrder.getUpdateFlag() != null && EYesNo.YES.getIntValue() == saOrder.getUpdateFlag()) { if (null != cuMember) { // 更新会员信息 - cuMemberService.updateById(cuMember); + iCuMemberService.updateById(cuMember); } } @@ -1241,7 +1238,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { memberUpdateWrapper.set(CuMember::getPkModified, userId); memberUpdateWrapper.set(CuMember::getModifiedTime, nowDate); memberUpdateWrapper.set(CuMember::getCategory, ECategory.LOGGED_OUT.getValue()); - cuMemberService.update(memberUpdateWrapper); + iCuMemberService.update(memberUpdateWrapper); // 添加会员信息修改记录 CuMemberChangeLog cuMemberChangeLog = new CuMemberChangeLog(); cuMemberChangeLog.setPkMember(saOrder.getPkMember()); @@ -1260,7 +1257,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { memberUpdateWrapper.set(CuMember::getPkModified, userId); memberUpdateWrapper.set(CuMember::getModifiedTime, new Date()); memberUpdateWrapper.set(CuMember::getCategory, ECategory.LOGGED_OUT.getValue()); - cuMemberService.update(memberUpdateWrapper); + iCuMemberService.update(memberUpdateWrapper); // 添加会员信息修改记录 List cuMemberChangeLogList = new ArrayList<>(); for (Long pkMember : pkMemberList) { @@ -1403,12 +1400,12 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { Long pkMember = cuMember.getPkParent(); Integer pkCountry = cuMember.getPkSettleCountry(); // 获取推荐人的左右区 - CuMember parentMember = cuMemberService.queryMember(pkMember); + CuMember parentMember = iCuMemberService.queryMember(pkMember); int placeDept; // 查询当前的业绩 - CuMemberAchieve cuMemberAchieve = cuMemberAchieveService.queryCuMemberAchieveByPkMember(pkMember, pkCountry); + CuMemberAchieve cuMemberAchieve = iCuMemberAchieveService.queryCuMemberAchieveByPkMember(pkMember, pkCountry); placeDept = getPlaceDept(isFirst, isFirstAchieve, cuMemberAchieve, parentMember.getPkId()); - CuMemberExt cuMemberExt = cuMemberService.queryPlaceSponsorLastLeft(pkMember, placeDept); + CuMemberExt cuMemberExt = iCuMemberService.queryPlaceSponsorLastLeft(pkMember, placeDept); CuMember placeCuMember = new CuMember(); if (cuMemberExt != null) { placeCuMember.setPkPlaceParent(cuMemberExt.getPkId()); @@ -1460,7 +1457,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { } } else { // 验证左右区人数,放入人数少的 - List personNumList = cuMemberService.queryMemberLeftRightCount(pkParent); + List personNumList = iCuMemberService.queryMemberLeftRightCount(pkParent); if (personNumList != null && personNumList.size() > 1) { long leftNum = 0; long rigthNum = 0; @@ -1486,7 +1483,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { @Override public void saveRetailMember(CuMember cuMember, SaOrderExt saOrder, CuMemberAccountExt cuMemberAccountExt) { // 保存会员信息 - cuMemberService.saveMember(cuMember); + iCuMemberService.saveMember(cuMember); // 保存会员账户信息 CuMemberAccount cuMemberAccount = CuMemberAccount.builder() @@ -1503,6 +1500,8 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { // 保存会员等级变动 saveLevelUpgrade(cuMember, EUpgradeType.BUY_UPGRADE.getValue(), saOrder, 0); + // 判断推送MQ处理推荐人等级 + handleParentUpgrade(cuMember, saOrder); this.handleRetailMemberAccount(saOrder, cuMemberAccountExt); } @@ -1517,6 +1516,8 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { // 保存会员等级变动(如果旧等级和新等级相同,则不记录) saveLevelUpgrade(cuMember, EUpgradeType.BUY_UPGRADE.getValue(), saOrder, saOrder.getPkGradeOld()); } + // 判断推送MQ处理推荐人等级 + handleParentUpgrade(cuMember, saOrder); this.handleRetailMemberAccount(saOrder, cuMemberAccountExt); } @@ -1543,7 +1544,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { // 更新会员信息 updateWrapper.eq(CuMember::getPkId, cuMember.getPkId()); updateWrapper.set(CuMember::getModifiedTime, new Date()); - cuMemberService.update(updateWrapper); + iCuMemberService.update(updateWrapper); } // if (!cuMember.getPkSettleGrade().equals(saOrder.getPkGradeOld())) { @@ -1574,4 +1575,39 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { } } + /** + * 判断推送MQ处理推荐人等级 + * + * @param cuMember + */ + private void handleParentUpgrade(CuMember cuMember, SaOrderExt saOrder) { + GradeDTO gradeDTO = iGradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData(); + if (EGrade.VIP.getValue() == gradeDTO.getGradeValue()) { + // 会员等级为 博羚店主,推荐人如果也是博羚店主,需要升级为高级店主 + CuMember parentMember = iCuMemberService.getShopkeeperMember(cuMember.getPkParent()); + if (null != parentMember) { + // 记录升级历史 + GradeDTO upgradeDTO = iGradeServiceApi.getGradeByGradeValue(EGrade.S_VIP.getValue(), cuMember.getPkSettleCountry()).getData(); + CuMemberLevel cuMemberLevel = CuMemberLevel.builder() + .pkMember(parentMember.getPkId()) + .upType(EUpgradeType.AUTO_UPGRADE.getValue()) + .oldLevel(parentMember.getPkSettleGrade()) + .newLevel(upgradeDTO.getPkId()) + .upgradeTime(saOrder.getPayTime()) + .pkOrder(saOrder.getPkId()) + .build(); + cuMemberLevel.setPkCountry(cuMember.getPkSettleCountry()); + cuMemberLevel.setPkCreator(cuMember.getPkId()); + cuMemberLevelService.save(cuMemberLevel); + + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.set(CuMember::getPkSettleGrade, upgradeDTO.getPkId()); + updateWrapper.eq(CuMember::getPkId, parentMember.getPkId()); + updateWrapper.set(CuMember::getPkModified, cuMember.getPkId()); + updateWrapper.set(CuMember::getModifiedTime, new Date()); + iCuMemberService.update(updateWrapper); + } + } + } + } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java index de3c1fdb..68fc6094 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java @@ -77,7 +77,6 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.text.NumberFormat; import java.util.*; -import java.util.concurrent.TimeUnit; import java.util.function.Function; import java.util.stream.Collectors; @@ -197,11 +196,6 @@ public class CuMemberServiceImpl extends ServiceImpl i return this.count(queryWrapper) > 0; } - @Override - public List queryPlaceSponsorOnUmbrella(Long memberId) { - return baseMapper.selectPlaceSponsorOnUmbrella(memberId, null, null); - } - @Override public List queryPlaceSponsorOnUmbrella(Long memberId, String memberCode, String phone) { return baseMapper.selectPlaceSponsorOnUmbrella(memberId, memberCode, phone); @@ -3159,4 +3153,9 @@ public class CuMemberServiceImpl extends ServiceImpl i return baseMapper.validateBranchOfficeCount(areaId, userId); } + @Override + public CuMember getShopkeeperMember(Long pkMember) { + return baseMapper.getShopkeeperMember(pkMember); + } + } diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/account/CuMemberTransferMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/account/CuMemberTransferMapper.xml index 3ec006cd..0aa6b682 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/member/account/CuMemberTransferMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/member/account/CuMemberTransferMapper.xml @@ -26,31 +26,18 @@ - - - DEL_FLAG, - PK_CREATOR, - CREATION_TIME, - PK_MODIFIED, - MODIFIED_TIME, - PK_COUNTRY, - PK_ID, PK_MEMBER, TRANSFER_CODE, PK_ACCOUNT, TO_PK_MEMBER, - PK_TO_ACCOUNT, PK_RATE, TRANSFER_MONEY, REMARKS, APPROVE_STATE, APPROVER, APPROVE_TIME, - SERVICE_CHARGE,ISSUED_AMOUNT - - select r.*, m.member_code as memberCode, m.member_name as memberName, - t.member_code toMemberCode, - t.member_name toMemberName - from cu_member_transfer r - left join cu_member m - on r.pk_member = m.pk_id - left join cu_member t - on r.to_pk_member = t.pk_id + t.member_code toMemberCode, + t.member_name toMemberName + from cu_member_transfer r + left join cu_member m + on r.pk_member = m.pk_id + left join cu_member t + on r.to_pk_member = t.pk_id @@ -116,12 +103,4 @@ order by r.creation_time Desc - - - diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml index 9c0634dc..c8257b3a 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml @@ -207,13 +207,16 @@ ,IS_ACTIVATE ) - VALUES (#{pkId,jdbcType=INTEGER}, #{memberCode}, #{memberName}, #{category}, #{customerType}, #{phone}, #{email, jdbcType=VARCHAR}, #{idCard, jdbcType=VARCHAR}, #{pkSettleCountry}, - #{pkParent}, #{pkPlaceParent,jdbcType=NUMERIC}, #{placeDept,jdbcType=INTEGER}, #{pkTeamCode,jdbcType=INTEGER}, #{pkCenterCode,jdbcType=INTEGER}, #{source}, #{pkRegisterGrade}, + VALUES (#{pkId,jdbcType=INTEGER}, #{memberCode}, #{memberName}, #{category}, #{customerType}, #{phone}, #{email, jdbcType=VARCHAR}, + #{idCard, jdbcType=VARCHAR}, #{pkSettleCountry}, + #{pkParent}, #{pkPlaceParent,jdbcType=NUMERIC}, #{placeDept,jdbcType=INTEGER}, #{pkTeamCode,jdbcType=INTEGER}, + #{pkCenterCode,jdbcType=INTEGER}, #{source}, #{pkRegisterGrade}, #{pkSettleGrade}, #{pkAwards}, #{consumeMoney,jdbcType=NUMERIC}, #{consumeAchieve,jdbcType=NUMERIC}, #{payStatus}, #{loginPwd}, #{payPwd}, #{loginPassword}, #{payPassword}, #{pkVertex,jdbcType=INTEGER}, #{accountStatus}, #{orderSource}, #{pkCreator,jdbcType=INTEGER}, #{creationTime, jdbcType=TIMESTAMP}, #{pkCountry}, #{payTime, jdbcType=TIMESTAMP}, #{globalCode, jdbcType=VARCHAR}, #{countryCode, jdbcType=VARCHAR}, #{registerAuthority,jdbcType=INTEGER}, - #{expireDate, jdbcType=DATE}, #{stopDate, jdbcType=DATE}, #{isMakerGift,jdbcType=INTEGER}, #{makerGiftTime,jdbcType=TIMESTAMP}, #{nickName, jdbcType=VARCHAR} + #{expireDate, jdbcType=DATE}, #{stopDate, jdbcType=DATE}, #{isMakerGift,jdbcType=INTEGER}, #{makerGiftTime,jdbcType=TIMESTAMP}, + #{nickName, jdbcType=VARCHAR} ,#{systemType} @@ -1459,7 +1462,8 @@ + + + diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java index 08df6a92..ffdebdde 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java @@ -226,7 +226,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService { public List createSaOrderItems(RetailOrderParam orderParam, List gradeList, CuMember cuMember, SaOrderExt saOrderExt, CurrencyDTO currency) { // 需要查询盒数商品 - List boxProductList = BoxProductUtil.getBoxProductListBySystemType(null); + List boxWaresList = BoxProductUtil.getBoxProductListBySystemType(null); // 订单明细信息 List orderItemsList = new ArrayList<>(); @@ -244,8 +244,8 @@ public class RetailOrderServiceImpl implements IRetailOrderService { // 当前盒数 int boxNum = 0; -// // 2025.03.11 添加需求,复购专区、重消专区,指定盒数商品每用户每月限购50件 -// this.checkWaresLimit(cuMember.getPkId(), orderParam.getSpecialArea(), waresDetailExtList, boxProductList); + // 2025.03.11 添加需求,复购专区、重消专区,指定盒数商品每用户每月限购50件 + this.checkWaresLimit(cuMember, orderParam.getSpecialArea(), waresDetailExtList, boxWaresList, gradeList); // 遍历生成订单明细数据 for (BdWaresDetailExt waresDetailExt : waresDetailExtList) { @@ -261,7 +261,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService { saOrderHandle.setPostageTmpMap(orderParam.getTranType(), postageMap, waresDetailExt, orderItems); } - if (boxProductList.contains(waresDetailExt.getWaresCode())) { + if (boxWaresList.contains(waresDetailExt.getWaresCode())) { // 商品是盒数商品,需要累计数量 boxNum += orderItems.getWaresQuantity(); } @@ -782,22 +782,25 @@ public class RetailOrderServiceImpl implements IRetailOrderService { /** * 2025.03.11 添加需求,复购专区、重消专区,指定盒数商品每用户每月限购50件 * - * @param pkMember 会员ID + * @param cuMember 会员 * @param specialArea 所属专区 * @param waresDetailExtList 购买商品列表 - * @param boxProductList 盒数商品列表 + * @param boxWaresList 盒数商品列表 + * @param gradeList 等级列表 * @return */ - private void checkWaresLimit(Long pkMember, Integer specialArea, List waresDetailExtList, List boxProductList) { + private void checkWaresLimit(CuMember cuMember, Integer specialArea, List waresDetailExtList, List boxWaresList, List gradeList) { + if (null == gradeList) { + return; + } String limitDate = DateUtils.parseDateToFormat(DateUtils.YYYYMM, new Date()); // 商品数量map(key: 商品编号,value: 商品数量) Map waresNumMap = new HashMap<>(); // 商品信息map(key: 商品编号,value: 商品名称) Map waresNameMap = new HashMap<>(); for (BdWaresDetailExt waresDetailExt : waresDetailExtList) { - if ((ESpecialArea.RETAIL_REPURCHASE.getValue() == specialArea - || ESpecialArea.RETAIL_RESCISSION.getValue() == specialArea) - && boxProductList.contains(waresDetailExt.getWaresCode()) + if ((ESpecialArea.RETAIL_REPURCHASE.getValue() == specialArea) + && boxWaresList.contains(waresDetailExt.getWaresCode()) && EYesNo.NO.getIntValue() == waresDetailExt.getIsGift() ) { // 2025.03.11 添加需求,复购专区、重消专区,指定盒数商品每月每人限购50件(赠品排除) @@ -807,19 +810,37 @@ public class RetailOrderServiceImpl implements IRetailOrderService { } if (!waresNumMap.isEmpty()) { + // 根据会员等级进行限购处理 + BdGrade bdGrade = gradeList.stream().filter(tmpGrade -> tmpGrade.getPkId().equals(cuMember.getPkSettleGrade())).findFirst().get(); + + // 会员、VIP、合伙人,每月限购1套 + Integer limitNum = RetailConstants.V1_LIMIT; + + if (EGrade.VIP.getValue() == bdGrade.getGradeValue() + || EGrade.S_VIP.getValue() == bdGrade.getGradeValue()) { + // 会员、VIP、合伙人,每月限购10套 + limitNum = RetailConstants.V4_LIMIT; + } else if (EGrade.BRANCH_COMPANY.getValue() == bdGrade.getGradeValue()) { + // 分公司,每月限购25套 + limitNum = RetailConstants.V6_LIMIT; + } else if (EGrade.COMPANY.getValue() == bdGrade.getGradeValue()) { + // 总公司,不限购给一个很大的值 + limitNum = RetailConstants.V7_LIMIT; + } + for (String key : waresNumMap.keySet()) { - if (waresNumMap.get(key) > 50) { - throw new ServiceException("商品【" + waresNameMap.get(key) + "】每月限购50件"); + if (waresNumMap.get(key) > limitNum) { + throw new ServiceException("商品【" + waresNameMap.get(key) + "】每月限购 " + limitNum + " 件"); } } - List limitList = iSaOrderWaresLimitService.listWaresList(pkMember, specialArea, limitDate, new ArrayList<>(waresNumMap.keySet())); + List limitList = iSaOrderWaresLimitService.listWaresList(cuMember.getPkId(), specialArea, limitDate, new ArrayList<>(waresNumMap.keySet())); if (CollectionUtil.isNotEmpty(limitList)) { for (SaOrderWaresLimitExt waresLimitExt : limitList) { Integer waresNum = waresNumMap.get(waresLimitExt.getWaresCode()); if (null != waresNum - && waresNum + waresLimitExt.getWaresQuantity() > 50) { - throw new ServiceException("商品【" + waresLimitExt.getWaresName() + "】每月限购50件"); + && waresNum + waresLimitExt.getWaresQuantity() > limitNum) { + throw new ServiceException("商品【" + waresLimitExt.getWaresName() + "】每月限购 \" + limitNum + \" 件"); } } } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/index/vo/CuMemberMyMarketDetailVO.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/index/vo/CuMemberMyMarketDetailVO.java deleted file mode 100644 index 223b5133..00000000 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/index/vo/CuMemberMyMarketDetailVO.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.hzs.sale.index.vo; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 我的市场一下详情VO - * - * @Description: - * @Author: ljc - * @Time: 2023/5/9 14:34 - * @Classname: CuMemberMyMarketVO - * @Package_name: com.hzs.member.base.vo - */ -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class CuMemberMyMarketDetailVO implements Serializable { - private static final long serialVersionUID = -2715842187394176784L; - - /** - * 国家 - */ - private Integer pkCountry; - - /** - * 省 - */ - private Integer province; - /** - * 市 - */ - private Integer city; - - /** - * 县 - */ - private Integer county; - - /** - * 点亮名称 - */ - private String lightName; - - -} diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/index/vo/CuMemberMyMarketVO.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/index/vo/CuMemberMyMarketVO.java deleted file mode 100644 index 00db08ef..00000000 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/index/vo/CuMemberMyMarketVO.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.hzs.sale.index.vo; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.util.List; - -/** - * 我的市场VO - * - * @Description: - * @Author: ljc - * @Time: 2023/5/9 14:34 - * @Classname: CuMemberMyMarketVO - * @Package_name: com.hzs.member.base.vo - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -public class CuMemberMyMarketVO implements Serializable { - private static final long serialVersionUID = -2715842187394176784L; - - /** - * 国家数 - */ - private Integer countryNum; - /** - * 地区数 - */ - private Integer regionNum; - - /** - * 我的国家数 - */ - private Integer myCountryNum; - /** - * 我的地区数 - */ - private Integer myRegionNum; - - /** - * 国家点亮名称 - */ - private String countryLightName; - - /** - * 市场详情 - */ - private List myMarketDetailVOList; - - -} diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/mapper/SaOrderMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/mapper/SaOrderMapper.java index 0541e671..271b084e 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/mapper/SaOrderMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/mapper/SaOrderMapper.java @@ -5,8 +5,6 @@ import com.hzs.common.domain.sale.ext.SaDeliverItemsExt; import com.hzs.common.domain.sale.ext.SaOrderExt; import com.hzs.common.domain.sale.ext.SaOrderItemsExt; import com.hzs.common.domain.sale.order.SaOrder; -import com.hzs.sale.index.vo.CuMemberMyMarketDetailVO; -import com.hzs.sale.index.vo.CuMemberMyMarketVO; import com.hzs.sale.order.param.*; import com.hzs.sale.order.vo.*; import org.apache.ibatis.annotations.Param; @@ -229,25 +227,6 @@ public interface SaOrderMapper extends BaseMapper { */ List queryOrderType(@Param("memberId") Long memberId, @Param("pkCountry") Integer pkCountry); - /** - * 会员首页我的市场 - * - * @param pkMember 用户ID - * @param pkCountry 国家ID - * @return - */ - CuMemberMyMarketVO selectMyMarket(@Param("pkMember") Long pkMember, @Param("pkCountry") Integer pkCountry); - - - /** - * 会员首页我的市场 - * - * @param pkMember 用户ID - * @param pkCountry 国家ID - * @return - */ - List selectMyMarketDetail(@Param("pkMember") Long pkMember, @Param("pkCountry") Integer pkCountry); - /** * 查询指定数量会员SEQ * diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/mapper/SaOrderWaresLimitMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/mapper/SaOrderWaresLimitMapper.java index 77ce7f4b..76a72efd 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/mapper/SaOrderWaresLimitMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/mapper/SaOrderWaresLimitMapper.java @@ -10,9 +10,6 @@ import java.util.List; /** * 会员商品限购 Mapper 接口 - * - * @author hzs - * @since 2025-03-11 */ public interface SaOrderWaresLimitMapper extends BaseMapper { diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderService.java index ced1d7e7..78ef2ccf 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderService.java @@ -9,7 +9,6 @@ import com.hzs.common.domain.sale.ext.*; import com.hzs.common.domain.sale.order.SaOrder; import com.hzs.common.domain.sale.order.SaOrderItems; import com.hzs.common.domain.system.config.BdGrade; -import com.hzs.sale.index.vo.CuMemberMyMarketVO; import com.hzs.sale.order.param.*; import com.hzs.sale.order.vo.*; import com.hzs.system.config.dto.GradeDTO; @@ -536,16 +535,6 @@ public interface ISaOrderService extends IService { */ void waresSalesAccrual(List waresNumberParamList); - - /** - * 会员首页我的市场 - * - * @param pkMember 用户ID - * @param pkCountry 国家ID - * @return - */ - CuMemberMyMarketVO selectMyMarket(Long pkMember, Integer pkCountry); - /** * 查询指定数量会员SEQ * 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 0e0406e8..38622be0 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 @@ -47,8 +47,6 @@ import com.hzs.member.base.IMemberServiceApi; import com.hzs.member.detail.ICuMemberDetailServiceApi; import com.hzs.member.detail.ICuMemberServiceLogServiceApi; import com.hzs.sale.deliver.service.ISaDeliverItemsService; -import com.hzs.sale.index.vo.CuMemberMyMarketDetailVO; -import com.hzs.sale.index.vo.CuMemberMyMarketVO; import com.hzs.sale.order.dto.OrderQueryChargeDTO; import com.hzs.sale.order.mapper.SaOrderMapper; import com.hzs.sale.order.param.*; @@ -60,7 +58,6 @@ import com.hzs.system.base.IAreaServiceApi; import com.hzs.system.base.ICountryServiceApi; import com.hzs.system.base.ICurrencyServiceApi; import com.hzs.system.base.ISystemConfigServiceApi; -import com.hzs.system.base.dto.CountryDTO; import com.hzs.system.base.dto.CurrencyDTO; import com.hzs.system.config.IAreaCurrencyServiceApi; import com.hzs.system.config.IAwardsServiceApi; @@ -1752,30 +1749,6 @@ public class SaOrderServiceImpl extends ServiceImpl impl } } - @Override - public CuMemberMyMarketVO selectMyMarket(Long pkMember, Integer pkCountry) { - //查询全国市场 - CuMemberMyMarketVO cuMemberMyMarketVO = baseMapper.selectMyMarket(null, pkCountry); - CountryDTO country = countryServiceApi.getCountry(pkCountry).getData(); - //查询市场分布 - List cuMemberMyMarketDetailVOList = baseMapper.selectMyMarketDetail(pkMember, pkCountry); - cuMemberMyMarketVO.setMyMarketDetailVOList(cuMemberMyMarketDetailVOList); - //查询我的市场 - if (CollectionUtil.isNotEmpty(cuMemberMyMarketDetailVOList)) { - List countryNmus = cuMemberMyMarketDetailVOList.stream().map(CuMemberMyMarketDetailVO::getPkCountry).distinct().collect(Collectors.toList()); - cuMemberMyMarketVO.setMyCountryNum(countryNmus.size()); - cuMemberMyMarketVO.setMyRegionNum(cuMemberMyMarketDetailVOList.size()); - } else { - cuMemberMyMarketVO.setMyCountryNum(1); - cuMemberMyMarketVO.setMyRegionNum(0); - } - //海外暂时点亮国家 - if (!pkCountry.equals(CountryConstants.CHINA_COUNTRY)) { - cuMemberMyMarketVO.setMyMarketDetailVOList(Collections.singletonList(CuMemberMyMarketDetailVO.builder().lightName(country.getLightName()).build())); - } - return cuMemberMyMarketVO; - } - @Override public List querySeqList(Integer param) { return baseMapper.querySeqList(param); @@ -2208,8 +2181,8 @@ public class SaOrderServiceImpl extends ServiceImpl impl // 当前会员等级 BdGrade memberGrade = gradeList.stream().filter(tmpGrade -> tmpGrade.getPkId().equals(updateGradeMember.getPkSettleGrade())).findFirst().get(); - if (memberGrade.getGradeValue().compareTo(EGrade.MAKER.getValue()) >= 0) { - // 会员等级大于等于V3(卓越),不能通过升级进行购买了 + if (memberGrade.getGradeValue().compareTo(EGrade.BRANCH_COMPANY.getValue()) >= 0) { + // 会员等级大于等于分公司,不能通过升级进行购买了 throw new ServiceException("当前已经是可以购买的最高等级"); } @@ -2226,15 +2199,6 @@ public class SaOrderServiceImpl extends ServiceImpl impl return bdGrade; } - /** - * 根据盒数计算等级 - * - * @param boxTotal 总盒数 - * @param gradeList 等级列表(可为空) - * @param memberGrade 当前等级 -- 为空则为注册,不为空则为升级 - * @param checkUpgrade 校验升级 - * @return - */ @Override public BdGrade getGradeByBox(final Integer boxTotal, List gradeList, BdGrade memberGrade, boolean checkUpgrade) { if (CollectionUtil.isEmpty(gradeList)) { @@ -2243,9 +2207,11 @@ public class SaOrderServiceImpl extends ServiceImpl impl if (null == memberGrade) { // 注册处理 - // 小于V4等级 并且 升级盒数小于购买盒数的最大一个等级为注册等级 + // 小于总公司等级 并且 排除高级店主 并且 升级盒数小于购买盒数的最大一个等级为注册等级 return gradeList.stream() - .filter(tmpGrade -> tmpGrade.getGradeValue() < EGrade.VIP.getValue() && tmpGrade.getBoxNumber() <= boxTotal) + .filter(tmpGrade -> tmpGrade.getGradeValue() != EGrade.S_VIP.getValue() + && tmpGrade.getGradeValue() < EGrade.COMPANY.getValue() + && tmpGrade.getBoxNumber() <= boxTotal) .max(Comparator.comparingInt(BdGrade::getGradeValue)).get(); } else { // 非注册处理 @@ -2263,8 +2229,9 @@ public class SaOrderServiceImpl extends ServiceImpl impl // } // } - // 查询等级比现在当前等级大的,然后倒序排序,再查询 购买盒数 <= 等级盒数 的第一个等级,就是当前升级的等级 - Optional gradeOptional = gradeList.stream().filter(tmpGrade -> tmpGrade.getGradeValue() > memberGrade.getGradeValue()) + // 查询等级比现在当前等级大的 并且 排除高级店主,然后倒序排序,再查询 购买盒数 <= 等级盒数 的第一个等级,就是当前升级的等级 + Optional gradeOptional = gradeList.stream() + .filter(tmpGrade -> tmpGrade.getGradeValue() != EGrade.S_VIP.getValue() && tmpGrade.getGradeValue() > memberGrade.getGradeValue()) .sorted(Comparator.comparingInt(BdGrade::getGradeValue).reversed()) .filter(tmpGrade -> tmpGrade.getBoxNumber() != 0) .filter(tmpGrade -> tmpGrade.getBoxNumber() <= boxTotal).findFirst(); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderWaresLimitServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderWaresLimitServiceImpl.java index 94934179..27aa9435 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderWaresLimitServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderWaresLimitServiceImpl.java @@ -12,9 +12,6 @@ import java.util.List; /** * 会员商品限购 服务实现类 - * - * @author hzs - * @since 2025-03-11 */ @Service public class SaOrderWaresLimitServiceImpl extends ServiceImpl implements ISaOrderWaresLimitService { diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderMapper.xml index a5763c8c..83f66172 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderMapper.xml @@ -1159,57 +1159,6 @@ order by order_type - - - -