forked from angelo/java-retail-app
## 购买博羚店主,添加推荐人升级高级店主处理;
This commit is contained in:
parent
eaeb2b98fe
commit
bc63691d9f
|
@ -5,11 +5,7 @@ import lombok.Data;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description: 国家数据传输DTO
|
* 国家数据传输DTO
|
||||||
* Author: jiang chao
|
|
||||||
* Time: 2022/8/31 16:56
|
|
||||||
* Classname: CountryDTO
|
|
||||||
* PackageName: com.hzs.system.base.dto
|
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class CountryDTO implements Serializable {
|
public class CountryDTO implements Serializable {
|
||||||
|
|
|
@ -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.member.ext.CuMemberExt;
|
||||||
import com.hzs.common.domain.system.config.BdAccount;
|
import com.hzs.common.domain.system.config.BdAccount;
|
||||||
import com.hzs.common.domain.system.config.BdTransfer;
|
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.security.utils.SecurityUtils;
|
||||||
import com.hzs.common.util.TransactionUtils;
|
import com.hzs.common.util.TransactionUtils;
|
||||||
import com.hzs.member.account.dto.CuMemberRechargeAccountParam;
|
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);
|
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();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 计算手续费金额
|
* 计算手续费金额
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package com.hzs.member.account.mapper;
|
package com.hzs.member.account.mapper;
|
||||||
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.hzs.common.domain.member.account.CuMemberTransfer;
|
import com.hzs.common.domain.member.account.CuMemberTransfer;
|
||||||
import com.hzs.common.domain.member.account.CuMemberTransferExt;
|
import com.hzs.common.domain.member.account.CuMemberTransferExt;
|
||||||
|
@ -9,12 +8,7 @@ import com.hzs.member.account.vo.CuMemberTransferVO;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
|
||||||
* 会员转账表 Mapper 接口
|
* 会员转账表 Mapper 接口
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-09-06
|
|
||||||
*/
|
*/
|
||||||
public interface CuMemberTransferMapper extends BaseMapper<CuMemberTransfer> {
|
public interface CuMemberTransferMapper extends BaseMapper<CuMemberTransfer> {
|
||||||
|
|
||||||
|
@ -26,12 +20,4 @@ public interface CuMemberTransferMapper extends BaseMapper<CuMemberTransfer> {
|
||||||
*/
|
*/
|
||||||
List<CuMemberTransferExt> selectMemberTransferList(CuMemberTransferVO cuMemberTransferVO);
|
List<CuMemberTransferExt> selectMemberTransferList(CuMemberTransferVO cuMemberTransferVO);
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询统计总充值金额
|
|
||||||
*
|
|
||||||
* @param cuMemberTransferVO 转账参数
|
|
||||||
* @return CuMemberTransferExt
|
|
||||||
*/
|
|
||||||
CuMemberTransferExt selectMemberTransferCount(CuMemberTransferVO cuMemberTransferVO);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,22 +1,13 @@
|
||||||
package com.hzs.member.account.service;
|
package com.hzs.member.account.service;
|
||||||
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.hzs.common.domain.member.account.CuMemberAccount;
|
import com.hzs.common.domain.member.account.CuMemberAccount;
|
||||||
import com.hzs.common.domain.member.account.CuMemberTransfer;
|
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.common.domain.system.config.BdTransfer;
|
||||||
import com.hzs.member.account.vo.CuMemberTransferVO;
|
import com.hzs.member.account.vo.CuMemberTransferVO;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
|
||||||
* 会员转账表 服务类
|
* 会员转账表 服务类
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-09-06
|
|
||||||
*/
|
*/
|
||||||
public interface ICuMemberTransferService extends IService<CuMemberTransfer> {
|
public interface ICuMemberTransferService extends IService<CuMemberTransfer> {
|
||||||
/**
|
/**
|
||||||
|
@ -46,33 +37,6 @@ public interface ICuMemberTransferService extends IService<CuMemberTransfer> {
|
||||||
*/
|
*/
|
||||||
Boolean isBloodKinshipUnderUmbrella(Long pkMember, Long toPkMember);
|
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<CuMemberTransfer> {
|
||||||
* 保存转账
|
* 保存转账
|
||||||
*
|
*
|
||||||
* @param cuMemberTransfer 转账信息
|
* @param cuMemberTransfer 转账信息
|
||||||
* @param cuMemberAccount 转出的账户信息
|
* @param cuMemberAccount 转出的账户信息
|
||||||
* @param toMemberAccount 转入的账户信息
|
* @param toMemberAccount 转入的账户信息
|
||||||
* @return Integer
|
* @return Integer
|
||||||
*/
|
*/
|
||||||
Integer saveMemberTransferInfo(CuMemberTransfer cuMemberTransfer, CuMemberAccount cuMemberAccount,CuMemberAccount toMemberAccount);
|
Integer saveMemberTransferInfo(CuMemberTransfer cuMemberTransfer, CuMemberAccount cuMemberAccount, CuMemberAccount toMemberAccount);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据条件查询转账列表
|
* 根据条件查询转账列表
|
||||||
|
|
|
@ -34,32 +34,22 @@ import java.math.RoundingMode;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
|
||||||
* 会员转账表 服务实现类
|
* 会员转账表 服务实现类
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-09-06
|
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMapper, CuMemberTransfer> implements ICuMemberTransferService {
|
public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMapper, CuMemberTransfer> implements ICuMemberTransferService {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberService cuMemberService;
|
private ICuMemberService cuMemberService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberAccountService cuMemberAccountService;
|
private ICuMemberAccountService cuMemberAccountService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberTradeService cuMemberTradeService;
|
private ICuMemberTradeService cuMemberTradeService;
|
||||||
|
|
||||||
@DubboReference
|
|
||||||
private ITransferServiceApi transferServiceApi;
|
|
||||||
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberBaseService cuMemberBaseService;
|
private ICuMemberBaseService cuMemberBaseService;
|
||||||
|
|
||||||
|
@DubboReference
|
||||||
|
ITransferServiceApi transferServiceApi;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean isBloodLine(Long pkMember, Long toPkMember) {
|
public Boolean isBloodLine(Long pkMember, Long toPkMember) {
|
||||||
|
@ -91,29 +81,6 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
|
||||||
return downOptional.isPresent();
|
return downOptional.isPresent();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public Boolean isPlaceSponsorOnline(Long pkMember, Long toPkMember) {
|
|
||||||
if (Boolean.TRUE.equals(isPlaceSponsorOnUmbrella(pkMember, toPkMember))) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return isPlaceSponsorUnderUmbrella(pkMember, toPkMember);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Boolean isPlaceSponsorOnUmbrella(Long pkMember, Long toPkMember) {
|
|
||||||
// TODO 此处会查询整颗树,会出现问题
|
|
||||||
List<CuMemberExt> memberPlaceOn = cuMemberService.queryPlaceSponsorOnUmbrella(pkMember);
|
|
||||||
Optional<CuMemberExt> onPlaceOptional = memberPlaceOn.stream().filter(placeOn -> toPkMember.equals(placeOn.getPkId())).findFirst();
|
|
||||||
return onPlaceOptional.isPresent();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Boolean isPlaceSponsorUnderUmbrella(Long pkMember, Long toPkMember) {
|
|
||||||
List<CuMemberExt> memberPlaceUnder = cuMemberService.queryPlaceSponsorUnderUmbrella(pkMember);
|
|
||||||
Optional<CuMemberExt> underPlaceOptional = memberPlaceUnder.stream().filter(placeUnder -> toPkMember.equals(placeUnder.getPkId())).findFirst();
|
|
||||||
return underPlaceOptional.isPresent();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@Override
|
@Override
|
||||||
public Integer saveMemberTransferInfo(CuMemberTransfer cuMemberTransfer, CuMemberAccount cuMemberAccount, CuMemberAccount toMemberAccount) {
|
public Integer saveMemberTransferInfo(CuMemberTransfer cuMemberTransfer, CuMemberAccount cuMemberAccount, CuMemberAccount toMemberAccount) {
|
||||||
|
@ -231,7 +198,7 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
|
||||||
.tradeBalance(balance.add(amount))
|
.tradeBalance(balance.add(amount))
|
||||||
.sourceCode(cuMemberTransfer.getTransferCode())
|
.sourceCode(cuMemberTransfer.getTransferCode())
|
||||||
.tradeStatue(ETradeStatus.TAKE_EFFECT.getValue())
|
.tradeStatue(ETradeStatus.TAKE_EFFECT.getValue())
|
||||||
.remarks(getTransferRemarks(toMember, member, tradeAmount,ETransferType.TRANSFER_OUT))
|
.remarks(getTransferRemarks(toMember, member, tradeAmount, ETransferType.TRANSFER_OUT))
|
||||||
.build();
|
.build();
|
||||||
memberTrade.setPkCountry(cuMemberTransfer.getPkCountry());
|
memberTrade.setPkCountry(cuMemberTransfer.getPkCountry());
|
||||||
memberTrade.setPkCreator(cuMemberTransfer.getPkCreator());
|
memberTrade.setPkCreator(cuMemberTransfer.getPkCreator());
|
||||||
|
@ -267,7 +234,7 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
|
||||||
.tradeBalance(balance.add(tradeAmount))
|
.tradeBalance(balance.add(tradeAmount))
|
||||||
.sourceCode(cuMemberTransfer.getTransferCode())
|
.sourceCode(cuMemberTransfer.getTransferCode())
|
||||||
.tradeStatue(ETradeStatus.TAKE_EFFECT.getValue())
|
.tradeStatue(ETradeStatus.TAKE_EFFECT.getValue())
|
||||||
.remarks(getTransferRemarks(member, toMember, tradeAmount,ETransferType.TRANSFER_IN))
|
.remarks(getTransferRemarks(member, toMember, tradeAmount, ETransferType.TRANSFER_IN))
|
||||||
.build();
|
.build();
|
||||||
memberTrade.setPkCountry(cuMemberTransfer.getPkCountry());
|
memberTrade.setPkCountry(cuMemberTransfer.getPkCountry());
|
||||||
memberTrade.setPkCreator(cuMemberTransfer.getPkCreator());
|
memberTrade.setPkCreator(cuMemberTransfer.getPkCreator());
|
||||||
|
@ -304,8 +271,6 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object[] selectMemberTransferList(CuMemberTransferVO cuMemberTransferVO) {
|
public Object[] selectMemberTransferList(CuMemberTransferVO cuMemberTransferVO) {
|
||||||
CuMemberTransferVO memberTransferVO;
|
CuMemberTransferVO memberTransferVO;
|
||||||
|
@ -319,8 +284,7 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
|
||||||
cuMemberTransferVOS.add(memberTransferVO);
|
cuMemberTransferVOS.add(memberTransferVO);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Object[] objects = new Object[]{cuMemberTransferExts, cuMemberTransferVOS};
|
return new Object[]{cuMemberTransferExts, cuMemberTransferVOS};
|
||||||
return objects;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -605,7 +605,6 @@ public interface CuMemberMapper extends BaseMapper<CuMember> {
|
||||||
*/
|
*/
|
||||||
List<Long> checkMemberOrder(@Param("pkMemberList") List<Long> pkMemberList);
|
List<Long> checkMemberOrder(@Param("pkMemberList") List<Long> pkMemberList);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询多会员是否在血缘伞下
|
* 查询多会员是否在血缘伞下
|
||||||
*
|
*
|
||||||
|
@ -615,8 +614,15 @@ public interface CuMemberMapper extends BaseMapper<CuMember> {
|
||||||
*/
|
*/
|
||||||
BdTradeWhiteConfig selectMemberByUnderBlood(@Param("pkMember") Long pkMember, @Param("memberType") Integer memberType);
|
BdTradeWhiteConfig selectMemberByUnderBlood(@Param("pkMember") Long pkMember, @Param("memberType") Integer memberType);
|
||||||
|
|
||||||
|
|
||||||
int validateCompanyCount(@Param("gradeValue") Integer gradeValue);
|
int validateCompanyCount(@Param("gradeValue") Integer gradeValue);
|
||||||
|
|
||||||
int validateBranchOfficeCount(@Param("areaId") Integer areaId, @Param("userId") Long userId);
|
int validateBranchOfficeCount(@Param("areaId") Integer areaId, @Param("userId") Long userId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询博羚店主会员
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
CuMember getShopkeeperMember(@Param("pkMember") Long pkMember);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -100,13 +100,6 @@ public interface ICuMemberService extends IService<CuMember> {
|
||||||
*/
|
*/
|
||||||
boolean checkLowerMember(Long pkMember);
|
boolean checkLowerMember(Long pkMember);
|
||||||
|
|
||||||
/**
|
|
||||||
* 查找安置人伞上
|
|
||||||
*
|
|
||||||
* @param memberId 安置人,编号
|
|
||||||
*/
|
|
||||||
List<CuMemberExt> queryPlaceSponsorOnUmbrella(Long memberId);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查找安置人伞上
|
* 查找安置人伞上
|
||||||
*
|
*
|
||||||
|
@ -893,4 +886,12 @@ public interface ICuMemberService extends IService<CuMember> {
|
||||||
int validateCompanyCount();
|
int validateCompanyCount();
|
||||||
|
|
||||||
int validateBranchOfficeCount(Integer areaId, Long userId);
|
int validateBranchOfficeCount(Integer areaId, Long userId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询博羚店主会员
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
CuMember getShopkeeperMember(Long pkMember);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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.BdAccount;
|
||||||
import com.hzs.common.domain.system.config.BdAwards;
|
import com.hzs.common.domain.system.config.BdAwards;
|
||||||
import com.hzs.common.domain.system.config.BdGrade;
|
import com.hzs.common.domain.system.config.BdGrade;
|
||||||
|
import com.hzs.common.security.utils.SecurityUtils;
|
||||||
import com.hzs.common.util.TransactionUtils;
|
import com.hzs.common.util.TransactionUtils;
|
||||||
import com.hzs.member.account.dto.BusinessCommissionDTO;
|
import com.hzs.member.account.dto.BusinessCommissionDTO;
|
||||||
import com.hzs.member.account.service.ICuMemberAccountService;
|
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.IAccountServiceApi;
|
||||||
import com.hzs.system.config.IAreaCurrencyServiceApi;
|
import com.hzs.system.config.IAreaCurrencyServiceApi;
|
||||||
import com.hzs.system.config.IAwardsServiceApi;
|
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.AreaCurrencyDTO;
|
||||||
|
import com.hzs.system.config.dto.GradeDTO;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.dubbo.config.annotation.DubboReference;
|
import org.apache.dubbo.config.annotation.DubboReference;
|
||||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
@ -76,6 +78,8 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
@DubboReference
|
@DubboReference
|
||||||
IAwardsServiceApi iAwardsServiceApi;
|
IAwardsServiceApi iAwardsServiceApi;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
|
IGradeServiceApi iGradeServiceApi;
|
||||||
|
@DubboReference
|
||||||
ICurrencyServiceApi iCurrencyServiceApi;
|
ICurrencyServiceApi iCurrencyServiceApi;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
ISaOrderServiceApi iSaOrderServiceApi;
|
ISaOrderServiceApi iSaOrderServiceApi;
|
||||||
|
@ -83,13 +87,11 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private MemberToolsHandler memberToolsHandler;
|
private MemberToolsHandler memberToolsHandler;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberAchieveService cuMemberAchieveService;
|
private ICuMemberAchieveService iCuMemberAchieveService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private RedisService redisService;
|
private RedisService redisService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private RabbitTemplate rabbitTemplate;
|
private ICuMemberService iCuMemberService;
|
||||||
|
|
||||||
private ICuMemberService cuMemberService;
|
|
||||||
|
|
||||||
private ICuMemberRegisterService cuMemberRegisterService;
|
private ICuMemberRegisterService cuMemberRegisterService;
|
||||||
|
|
||||||
|
@ -144,11 +146,6 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
this.cuMemberAccountService = cuMemberAccountService;
|
this.cuMemberAccountService = cuMemberAccountService;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public void setCuMemberService(ICuMemberService cuMemberService) {
|
|
||||||
this.cuMemberService = cuMemberService;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public void setCuMemberRegisterService(ICuMemberRegisterService cuMemberRegisterService) {
|
public void setCuMemberRegisterService(ICuMemberRegisterService cuMemberRegisterService) {
|
||||||
this.cuMemberRegisterService = cuMemberRegisterService;
|
this.cuMemberRegisterService = cuMemberRegisterService;
|
||||||
|
@ -164,7 +161,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
public void updateCuMember(CuMember cuMember) {
|
public void updateCuMember(CuMember cuMember) {
|
||||||
redisService.lockKeyMany(CacheConstants.UPD_MEMBER + cuMember.getMemberCode());
|
redisService.lockKeyMany(CacheConstants.UPD_MEMBER + cuMember.getMemberCode());
|
||||||
try {
|
try {
|
||||||
cuMemberService.updateById(cuMember);
|
iCuMemberService.updateById(cuMember);
|
||||||
} finally {
|
} finally {
|
||||||
redisService.unlock(CacheConstants.UPD_MEMBER + cuMember.getMemberCode());
|
redisService.unlock(CacheConstants.UPD_MEMBER + cuMember.getMemberCode());
|
||||||
}
|
}
|
||||||
|
@ -177,7 +174,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
// 当cuMember为空时,代表为复购订单,不更新会员表
|
// 当cuMember为空时,代表为复购订单,不更新会员表
|
||||||
if (cuMember != null) {
|
if (cuMember != null) {
|
||||||
// 验证等级是否发生了变化,海外存在累计升级的国家
|
// 验证等级是否发生了变化,海外存在累计升级的国家
|
||||||
CuMember member = cuMemberService.getMember(cuMember.getPkId());
|
CuMember member = iCuMemberService.getMember(cuMember.getPkId());
|
||||||
if (!cuMember.getPkSettleGrade().equals(member.getPkSettleGrade())) {
|
if (!cuMember.getPkSettleGrade().equals(member.getPkSettleGrade())) {
|
||||||
saveLevelUpgrade(cuMember, EUpgradeType.BUY_UPGRADE.getValue(), saOrder, member.getPkSettleGrade());
|
saveLevelUpgrade(cuMember, EUpgradeType.BUY_UPGRADE.getValue(), saOrder, member.getPkSettleGrade());
|
||||||
}
|
}
|
||||||
|
@ -260,10 +257,10 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
if (isPay) {
|
if (isPay) {
|
||||||
updateCuMember(cuMember);
|
updateCuMember(cuMember);
|
||||||
} else {
|
} else {
|
||||||
if (cuMemberService.getMember(cuMember.getPkId()) != null) {
|
if (iCuMemberService.getMember(cuMember.getPkId()) != null) {
|
||||||
updateCuMember(cuMember);
|
updateCuMember(cuMember);
|
||||||
} else {
|
} else {
|
||||||
cuMemberService.saveMember(cuMember);
|
iCuMemberService.saveMember(cuMember);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 代表在线支付,在线支付先插入一条充值信息
|
// 代表在线支付,在线支付先插入一条充值信息
|
||||||
|
@ -287,7 +284,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
@Override
|
@Override
|
||||||
public void saveShareMember(CuMember cuMember) {
|
public void saveShareMember(CuMember cuMember) {
|
||||||
// 保存会员
|
// 保存会员
|
||||||
cuMemberService.saveMember(cuMember);
|
iCuMemberService.saveMember(cuMember);
|
||||||
// 保存账户
|
// 保存账户
|
||||||
saveMemberAccount(cuMember);
|
saveMemberAccount(cuMember);
|
||||||
// 用户注册信息
|
// 用户注册信息
|
||||||
|
@ -365,7 +362,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
// 扣款 扣款信息
|
// 扣款 扣款信息
|
||||||
Integer pkCountry = saOrder.getPkCountry();
|
Integer pkCountry = saOrder.getPkCountry();
|
||||||
Long pkMember = saOrder.getPkCreator();
|
Long pkMember = saOrder.getPkCreator();
|
||||||
CuMember cuMember = cuMemberService.getMember(saOrder.getPkCreator());
|
CuMember cuMember = iCuMemberService.getMember(saOrder.getPkCreator());
|
||||||
if (cuMember != null) {
|
if (cuMember != null) {
|
||||||
pkCountry = cuMember.getPkSettleCountry();
|
pkCountry = cuMember.getPkSettleCountry();
|
||||||
pkMember = cuMember.getPkId();
|
pkMember = cuMember.getPkId();
|
||||||
|
@ -602,13 +599,13 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
|
|
||||||
if (EOrderType.RETAIL_REGISTER.getValue() == saOrder.getOrderType()) {
|
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.setCategory(ECategory.LOGGED_OUT.getValue());
|
||||||
member.setCustomerType(ECustomerType.DEAD_POINT.getValue());
|
member.setCustomerType(ECustomerType.DEAD_POINT.getValue());
|
||||||
member.setPkModified(saOrder.getPkModified());
|
member.setPkModified(saOrder.getPkModified());
|
||||||
member.setModifiedTime(DateUtils.currentDateTime());
|
member.setModifiedTime(DateUtils.currentDateTime());
|
||||||
cuMemberService.updateById(member);
|
iCuMemberService.updateById(member);
|
||||||
// 撤销正常订单,修改 cu_member_register 账户状态为死点
|
// 撤销正常订单,修改 cu_member_register 账户状态为死点
|
||||||
CuMemberRegister cuMemberRegister = new CuMemberRegister();
|
CuMemberRegister cuMemberRegister = new CuMemberRegister();
|
||||||
cuMemberRegister.setPkMember(member.getPkId());
|
cuMemberRegister.setPkMember(member.getPkId());
|
||||||
|
@ -629,7 +626,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
CuMemberAccount payMemberAccount = cuMemberAccountService.queryCuMemberAccountByPkMember(saOrder.getPkCreator());
|
CuMemberAccount payMemberAccount = cuMemberAccountService.queryCuMemberAccountByPkMember(saOrder.getPkCreator());
|
||||||
if (EOrderType.RETAIL_REGISTER.getValue() == saOrder.getOrderType()) {
|
if (EOrderType.RETAIL_REGISTER.getValue() == saOrder.getOrderType()) {
|
||||||
// 会员账号 验证会员账户是否存在金额
|
// 会员账号 验证会员账户是否存在金额
|
||||||
CuMember member = cuMemberService.getMember(saOrder.getPkMember());
|
CuMember member = iCuMemberService.getMember(saOrder.getPkMember());
|
||||||
|
|
||||||
//删除会员
|
//删除会员
|
||||||
LambdaUpdateWrapper<CuMember> updateWrapper = new LambdaUpdateWrapper<>();
|
LambdaUpdateWrapper<CuMember> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
|
@ -638,7 +635,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
updateWrapper.set(CuMember::getModifiedTime, DateUtils.currentDateTime());
|
updateWrapper.set(CuMember::getModifiedTime, DateUtils.currentDateTime());
|
||||||
updateWrapper.set(CuMember::getPkModified, saOrder.getPkModified());
|
updateWrapper.set(CuMember::getPkModified, saOrder.getPkModified());
|
||||||
updateWrapper.eq(CuMember::getPkId, member.getPkId());
|
updateWrapper.eq(CuMember::getPkId, member.getPkId());
|
||||||
cuMemberService.update(updateWrapper);
|
iCuMemberService.update(updateWrapper);
|
||||||
|
|
||||||
// 删除会员注册表
|
// 删除会员注册表
|
||||||
LambdaUpdateWrapper<CuMemberRegister> updateWrapperRegister = new LambdaUpdateWrapper<>();
|
LambdaUpdateWrapper<CuMemberRegister> updateWrapperRegister = new LambdaUpdateWrapper<>();
|
||||||
|
@ -870,7 +867,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
cuMemberLevelService.deleteCuMemberLevelRecord(saOrder.getPkId(), pkApprove, currentDateTime);
|
cuMemberLevelService.deleteCuMemberLevelRecord(saOrder.getPkId(), pkApprove, currentDateTime);
|
||||||
// 回退奖衔,根据订单从 cu_member_awards查询
|
// 回退奖衔,根据订单从 cu_member_awards查询
|
||||||
cuMemberAwardsService.deleteCuMemberAwards(saOrder.getPkId(), pkApprove, currentDateTime);
|
cuMemberAwardsService.deleteCuMemberAwards(saOrder.getPkId(), pkApprove, currentDateTime);
|
||||||
cuMemberService.deleteCuMemberByPkMember(pkMember, pkApprove, currentDateTime);
|
iCuMemberService.deleteCuMemberByPkMember(pkMember, pkApprove, currentDateTime);
|
||||||
cuMemberAccountService.deleteCuMemberAccountByPkMember(pkMember, pkApprove, currentDateTime);
|
cuMemberAccountService.deleteCuMemberAccountByPkMember(pkMember, pkApprove, currentDateTime);
|
||||||
// 撤销正常订单,修改 cu_member_register 账户状态为死点
|
// 撤销正常订单,修改 cu_member_register 账户状态为死点
|
||||||
CuMemberRegister cuMemberRegister = new CuMemberRegister();
|
CuMemberRegister cuMemberRegister = new CuMemberRegister();
|
||||||
|
@ -936,7 +933,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
if (saOrder.getUpdateFlag() != null && EYesNo.YES.getIntValue() == saOrder.getUpdateFlag()) {
|
if (saOrder.getUpdateFlag() != null && EYesNo.YES.getIntValue() == saOrder.getUpdateFlag()) {
|
||||||
if (null != cuMember) {
|
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::getPkModified, userId);
|
||||||
memberUpdateWrapper.set(CuMember::getModifiedTime, nowDate);
|
memberUpdateWrapper.set(CuMember::getModifiedTime, nowDate);
|
||||||
memberUpdateWrapper.set(CuMember::getCategory, ECategory.LOGGED_OUT.getValue());
|
memberUpdateWrapper.set(CuMember::getCategory, ECategory.LOGGED_OUT.getValue());
|
||||||
cuMemberService.update(memberUpdateWrapper);
|
iCuMemberService.update(memberUpdateWrapper);
|
||||||
// 添加会员信息修改记录
|
// 添加会员信息修改记录
|
||||||
CuMemberChangeLog cuMemberChangeLog = new CuMemberChangeLog();
|
CuMemberChangeLog cuMemberChangeLog = new CuMemberChangeLog();
|
||||||
cuMemberChangeLog.setPkMember(saOrder.getPkMember());
|
cuMemberChangeLog.setPkMember(saOrder.getPkMember());
|
||||||
|
@ -1260,7 +1257,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
memberUpdateWrapper.set(CuMember::getPkModified, userId);
|
memberUpdateWrapper.set(CuMember::getPkModified, userId);
|
||||||
memberUpdateWrapper.set(CuMember::getModifiedTime, new Date());
|
memberUpdateWrapper.set(CuMember::getModifiedTime, new Date());
|
||||||
memberUpdateWrapper.set(CuMember::getCategory, ECategory.LOGGED_OUT.getValue());
|
memberUpdateWrapper.set(CuMember::getCategory, ECategory.LOGGED_OUT.getValue());
|
||||||
cuMemberService.update(memberUpdateWrapper);
|
iCuMemberService.update(memberUpdateWrapper);
|
||||||
// 添加会员信息修改记录
|
// 添加会员信息修改记录
|
||||||
List<CuMemberChangeLog> cuMemberChangeLogList = new ArrayList<>();
|
List<CuMemberChangeLog> cuMemberChangeLogList = new ArrayList<>();
|
||||||
for (Long pkMember : pkMemberList) {
|
for (Long pkMember : pkMemberList) {
|
||||||
|
@ -1403,12 +1400,12 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
Long pkMember = cuMember.getPkParent();
|
Long pkMember = cuMember.getPkParent();
|
||||||
Integer pkCountry = cuMember.getPkSettleCountry();
|
Integer pkCountry = cuMember.getPkSettleCountry();
|
||||||
// 获取推荐人的左右区
|
// 获取推荐人的左右区
|
||||||
CuMember parentMember = cuMemberService.queryMember(pkMember);
|
CuMember parentMember = iCuMemberService.queryMember(pkMember);
|
||||||
int placeDept;
|
int placeDept;
|
||||||
// 查询当前的业绩
|
// 查询当前的业绩
|
||||||
CuMemberAchieve cuMemberAchieve = cuMemberAchieveService.queryCuMemberAchieveByPkMember(pkMember, pkCountry);
|
CuMemberAchieve cuMemberAchieve = iCuMemberAchieveService.queryCuMemberAchieveByPkMember(pkMember, pkCountry);
|
||||||
placeDept = getPlaceDept(isFirst, isFirstAchieve, cuMemberAchieve, parentMember.getPkId());
|
placeDept = getPlaceDept(isFirst, isFirstAchieve, cuMemberAchieve, parentMember.getPkId());
|
||||||
CuMemberExt cuMemberExt = cuMemberService.queryPlaceSponsorLastLeft(pkMember, placeDept);
|
CuMemberExt cuMemberExt = iCuMemberService.queryPlaceSponsorLastLeft(pkMember, placeDept);
|
||||||
CuMember placeCuMember = new CuMember();
|
CuMember placeCuMember = new CuMember();
|
||||||
if (cuMemberExt != null) {
|
if (cuMemberExt != null) {
|
||||||
placeCuMember.setPkPlaceParent(cuMemberExt.getPkId());
|
placeCuMember.setPkPlaceParent(cuMemberExt.getPkId());
|
||||||
|
@ -1460,7 +1457,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// 验证左右区人数,放入人数少的
|
// 验证左右区人数,放入人数少的
|
||||||
List<CuMember> personNumList = cuMemberService.queryMemberLeftRightCount(pkParent);
|
List<CuMember> personNumList = iCuMemberService.queryMemberLeftRightCount(pkParent);
|
||||||
if (personNumList != null && personNumList.size() > 1) {
|
if (personNumList != null && personNumList.size() > 1) {
|
||||||
long leftNum = 0;
|
long leftNum = 0;
|
||||||
long rigthNum = 0;
|
long rigthNum = 0;
|
||||||
|
@ -1486,7 +1483,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
@Override
|
@Override
|
||||||
public void saveRetailMember(CuMember cuMember, SaOrderExt saOrder, CuMemberAccountExt cuMemberAccountExt) {
|
public void saveRetailMember(CuMember cuMember, SaOrderExt saOrder, CuMemberAccountExt cuMemberAccountExt) {
|
||||||
// 保存会员信息
|
// 保存会员信息
|
||||||
cuMemberService.saveMember(cuMember);
|
iCuMemberService.saveMember(cuMember);
|
||||||
|
|
||||||
// 保存会员账户信息
|
// 保存会员账户信息
|
||||||
CuMemberAccount cuMemberAccount = CuMemberAccount.builder()
|
CuMemberAccount cuMemberAccount = CuMemberAccount.builder()
|
||||||
|
@ -1503,6 +1500,8 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
|
|
||||||
// 保存会员等级变动
|
// 保存会员等级变动
|
||||||
saveLevelUpgrade(cuMember, EUpgradeType.BUY_UPGRADE.getValue(), saOrder, 0);
|
saveLevelUpgrade(cuMember, EUpgradeType.BUY_UPGRADE.getValue(), saOrder, 0);
|
||||||
|
// 判断推送MQ处理推荐人等级
|
||||||
|
handleParentUpgrade(cuMember, saOrder);
|
||||||
|
|
||||||
this.handleRetailMemberAccount(saOrder, cuMemberAccountExt);
|
this.handleRetailMemberAccount(saOrder, cuMemberAccountExt);
|
||||||
}
|
}
|
||||||
|
@ -1517,6 +1516,8 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
// 保存会员等级变动(如果旧等级和新等级相同,则不记录)
|
// 保存会员等级变动(如果旧等级和新等级相同,则不记录)
|
||||||
saveLevelUpgrade(cuMember, EUpgradeType.BUY_UPGRADE.getValue(), saOrder, saOrder.getPkGradeOld());
|
saveLevelUpgrade(cuMember, EUpgradeType.BUY_UPGRADE.getValue(), saOrder, saOrder.getPkGradeOld());
|
||||||
}
|
}
|
||||||
|
// 判断推送MQ处理推荐人等级
|
||||||
|
handleParentUpgrade(cuMember, saOrder);
|
||||||
|
|
||||||
this.handleRetailMemberAccount(saOrder, cuMemberAccountExt);
|
this.handleRetailMemberAccount(saOrder, cuMemberAccountExt);
|
||||||
}
|
}
|
||||||
|
@ -1543,7 +1544,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
// 更新会员信息
|
// 更新会员信息
|
||||||
updateWrapper.eq(CuMember::getPkId, cuMember.getPkId());
|
updateWrapper.eq(CuMember::getPkId, cuMember.getPkId());
|
||||||
updateWrapper.set(CuMember::getModifiedTime, new Date());
|
updateWrapper.set(CuMember::getModifiedTime, new Date());
|
||||||
cuMemberService.update(updateWrapper);
|
iCuMemberService.update(updateWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
// if (!cuMember.getPkSettleGrade().equals(saOrder.getPkGradeOld())) {
|
// 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<CuMember> 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,7 +77,6 @@ import org.springframework.transaction.annotation.Transactional;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.text.NumberFormat;
|
import java.text.NumberFormat;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.TimeUnit;
|
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
@ -197,11 +196,6 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
return this.count(queryWrapper) > 0;
|
return this.count(queryWrapper) > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<CuMemberExt> queryPlaceSponsorOnUmbrella(Long memberId) {
|
|
||||||
return baseMapper.selectPlaceSponsorOnUmbrella(memberId, null, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<CuMemberExt> queryPlaceSponsorOnUmbrella(Long memberId, String memberCode, String phone) {
|
public List<CuMemberExt> queryPlaceSponsorOnUmbrella(Long memberId, String memberCode, String phone) {
|
||||||
return baseMapper.selectPlaceSponsorOnUmbrella(memberId, memberCode, phone);
|
return baseMapper.selectPlaceSponsorOnUmbrella(memberId, memberCode, phone);
|
||||||
|
@ -3159,4 +3153,9 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
return baseMapper.validateBranchOfficeCount(areaId, userId);
|
return baseMapper.validateBranchOfficeCount(areaId, userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CuMember getShopkeeperMember(Long pkMember) {
|
||||||
|
return baseMapper.getShopkeeperMember(pkMember);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,31 +26,18 @@
|
||||||
<result column="ISSUED_AMOUNT" property="issuedAmount"/>
|
<result column="ISSUED_AMOUNT" property="issuedAmount"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<!-- 通用查询结果列 -->
|
|
||||||
<sql id="Base_Column_List">
|
|
||||||
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
|
|
||||||
</sql>
|
|
||||||
|
|
||||||
|
|
||||||
<sql id="select_base">
|
<sql id="select_base">
|
||||||
select r.*,
|
select r.*,
|
||||||
m.member_code as memberCode,
|
m.member_code as memberCode,
|
||||||
m.member_name as memberName,
|
m.member_name as memberName,
|
||||||
t.member_code toMemberCode,
|
t.member_code toMemberCode,
|
||||||
t.member_name toMemberName
|
t.member_name toMemberName
|
||||||
from cu_member_transfer r
|
from cu_member_transfer r
|
||||||
left join cu_member m
|
left join cu_member m
|
||||||
on r.pk_member = m.pk_id
|
on r.pk_member = m.pk_id
|
||||||
left join cu_member t
|
left join cu_member t
|
||||||
on r.to_pk_member = t.pk_id
|
on r.to_pk_member = t.pk_id
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<sql id="ids_where">
|
<sql id="ids_where">
|
||||||
|
@ -116,12 +103,4 @@
|
||||||
order by r.creation_time Desc
|
order by r.creation_time Desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<select id="selectMemberTransferCount" resultType="com.hzs.common.domain.member.account.CuMemberTransferExt">
|
|
||||||
select NVL(sum(r.transfer_money), 0) as transferMoney
|
|
||||||
from cu_member_transfer r
|
|
||||||
left join cu_member m on r.pk_member = m.pk_id
|
|
||||||
<include refid="list_where"></include>
|
|
||||||
</select>
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -207,13 +207,16 @@
|
||||||
,IS_ACTIVATE
|
,IS_ACTIVATE
|
||||||
</if>
|
</if>
|
||||||
)
|
)
|
||||||
VALUES (#{pkId,jdbcType=INTEGER}, #{memberCode}, #{memberName}, #{category}, #{customerType}, #{phone}, #{email, jdbcType=VARCHAR}, #{idCard, jdbcType=VARCHAR}, #{pkSettleCountry},
|
VALUES (#{pkId,jdbcType=INTEGER}, #{memberCode}, #{memberName}, #{category}, #{customerType}, #{phone}, #{email, jdbcType=VARCHAR},
|
||||||
#{pkParent}, #{pkPlaceParent,jdbcType=NUMERIC}, #{placeDept,jdbcType=INTEGER}, #{pkTeamCode,jdbcType=INTEGER}, #{pkCenterCode,jdbcType=INTEGER}, #{source}, #{pkRegisterGrade},
|
#{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},
|
#{pkSettleGrade}, #{pkAwards}, #{consumeMoney,jdbcType=NUMERIC}, #{consumeAchieve,jdbcType=NUMERIC}, #{payStatus}, #{loginPwd}, #{payPwd},
|
||||||
#{loginPassword}, #{payPassword}, #{pkVertex,jdbcType=INTEGER}, #{accountStatus}, #{orderSource},
|
#{loginPassword}, #{payPassword}, #{pkVertex,jdbcType=INTEGER}, #{accountStatus}, #{orderSource},
|
||||||
#{pkCreator,jdbcType=INTEGER}, #{creationTime, jdbcType=TIMESTAMP}, #{pkCountry}, #{payTime, jdbcType=TIMESTAMP},
|
#{pkCreator,jdbcType=INTEGER}, #{creationTime, jdbcType=TIMESTAMP}, #{pkCountry}, #{payTime, jdbcType=TIMESTAMP},
|
||||||
#{globalCode, jdbcType=VARCHAR}, #{countryCode, jdbcType=VARCHAR}, #{registerAuthority,jdbcType=INTEGER},
|
#{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}
|
||||||
<if test="systemType != null">
|
<if test="systemType != null">
|
||||||
,#{systemType}
|
,#{systemType}
|
||||||
</if>
|
</if>
|
||||||
|
@ -1459,7 +1462,8 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="parentList" resultType="com.hzs.member.base.vo.ParentMemberVo">
|
<select id="parentList" resultType="com.hzs.member.base.vo.ParentMemberVo">
|
||||||
select a.* from ( select cm.CONSUME_MONEY consumeMoney,cm.CONSUME_ACHIEVE consumeAchieve,cm.member_code memberCode,cm.member_name memberName,cm.PK_REGISTER_GRADE pkRegisterGrade,
|
select a.* from ( select cm.CONSUME_MONEY consumeMoney,cm.CONSUME_ACHIEVE consumeAchieve,cm.member_code memberCode,cm.member_name
|
||||||
|
memberName,cm.PK_REGISTER_GRADE pkRegisterGrade,
|
||||||
cm.PK_SETTLE_GRADE pkSettleGrade,
|
cm.PK_SETTLE_GRADE pkSettleGrade,
|
||||||
cm.CREATION_TIME creationTime,
|
cm.CREATION_TIME creationTime,
|
||||||
cm.pk_vertex,
|
cm.pk_vertex,
|
||||||
|
@ -1488,7 +1492,8 @@
|
||||||
|
|
||||||
union all
|
union all
|
||||||
|
|
||||||
select cm.CONSUME_MONEY consumeMoney,cm.CONSUME_ACHIEVE consumeAchieve,cm.member_code memberCode,cm.member_name memberName,cm.PK_REGISTER_GRADE pkRegisterGrade,
|
select cm.CONSUME_MONEY consumeMoney,cm.CONSUME_ACHIEVE consumeAchieve,cm.member_code memberCode,cm.member_name
|
||||||
|
memberName,cm.PK_REGISTER_GRADE pkRegisterGrade,
|
||||||
cm.PK_SETTLE_GRADE pkSettleGrade,
|
cm.PK_SETTLE_GRADE pkSettleGrade,
|
||||||
cm.CREATION_TIME creationTime,
|
cm.CREATION_TIME creationTime,
|
||||||
cm.pk_vertex,
|
cm.pk_vertex,
|
||||||
|
@ -1895,25 +1900,25 @@
|
||||||
1
|
1
|
||||||
else
|
else
|
||||||
0
|
0
|
||||||
end experience_center_show,
|
end experience_center_show,
|
||||||
case
|
case
|
||||||
when tmp2.pk_member is null then
|
when tmp2.pk_member is null then
|
||||||
1
|
1
|
||||||
else
|
else
|
||||||
0
|
0
|
||||||
end special_registration,
|
end special_registration,
|
||||||
case
|
case
|
||||||
when tmp10.store_level = 2 then
|
when tmp10.store_level = 2 then
|
||||||
0
|
0
|
||||||
else
|
else
|
||||||
1
|
1
|
||||||
end wholesale_show,
|
end wholesale_show,
|
||||||
case
|
case
|
||||||
when tmp10.store_level = 1 or tmp10.store_level = 0 then
|
when tmp10.store_level = 1 or tmp10.store_level = 0 then
|
||||||
0
|
0
|
||||||
else
|
else
|
||||||
1
|
1
|
||||||
end maker_space_show
|
end maker_space_show
|
||||||
from cu_member cm
|
from cu_member cm
|
||||||
left join BD_AREA area on cm.PK_AREA_ID = area.PK_ID
|
left join BD_AREA area on cm.PK_AREA_ID = area.PK_ID
|
||||||
left join (select distinct cmsc.pk_member
|
left join (select distinct cmsc.pk_member
|
||||||
|
@ -2422,10 +2427,26 @@
|
||||||
where rownum = 1
|
where rownum = 1
|
||||||
</select>
|
</select>
|
||||||
<select id="validateCompanyCount" resultType="java.lang.Integer">
|
<select id="validateCompanyCount" resultType="java.lang.Integer">
|
||||||
select count(pk_id) from cu_member where PK_SETTLE_GRADE in (select pk_id from BD_GRADE where GRADE_VALUE = #{gradeValue})
|
select count(pk_id)
|
||||||
|
from cu_member
|
||||||
|
where PK_SETTLE_GRADE in (select pk_id from BD_GRADE where GRADE_VALUE = #{gradeValue})
|
||||||
</select>
|
</select>
|
||||||
<select id="validateBranchOfficeCount" resultType="java.lang.Integer">
|
<select id="validateBranchOfficeCount" resultType="java.lang.Integer">
|
||||||
select count(pk_id) from cu_member where PK_AREA_ID is not null and pk_area_id = #{areaId} and pk_id != #{userId}
|
select count(pk_id)
|
||||||
|
from cu_member
|
||||||
|
where PK_AREA_ID is not null
|
||||||
|
and pk_area_id = #{areaId}
|
||||||
|
and pk_id != #{userId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 查询博羚店主会员 -->
|
||||||
|
<select id="getShopkeeperMember" resultType="com.hzs.common.domain.member.base.CuMember">
|
||||||
|
select cm.*
|
||||||
|
from cu_member cm
|
||||||
|
left join bd_grade bg
|
||||||
|
on bg.pk_id = cm.pk_settle_grade
|
||||||
|
where cm.pk_id = #{pkMember}
|
||||||
|
and bg.grade_value = 60
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -226,7 +226,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
||||||
public List<SaOrderItems> createSaOrderItems(RetailOrderParam orderParam, List<BdGrade> gradeList,
|
public List<SaOrderItems> createSaOrderItems(RetailOrderParam orderParam, List<BdGrade> gradeList,
|
||||||
CuMember cuMember, SaOrderExt saOrderExt, CurrencyDTO currency) {
|
CuMember cuMember, SaOrderExt saOrderExt, CurrencyDTO currency) {
|
||||||
// 需要查询盒数商品
|
// 需要查询盒数商品
|
||||||
List<String> boxProductList = BoxProductUtil.getBoxProductListBySystemType(null);
|
List<String> boxWaresList = BoxProductUtil.getBoxProductListBySystemType(null);
|
||||||
|
|
||||||
// 订单明细信息
|
// 订单明细信息
|
||||||
List<SaOrderItems> orderItemsList = new ArrayList<>();
|
List<SaOrderItems> orderItemsList = new ArrayList<>();
|
||||||
|
@ -244,8 +244,8 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
||||||
// 当前盒数
|
// 当前盒数
|
||||||
int boxNum = 0;
|
int boxNum = 0;
|
||||||
|
|
||||||
// // 2025.03.11 添加需求,复购专区、重消专区,指定盒数商品每用户每月限购50件
|
// 2025.03.11 添加需求,复购专区、重消专区,指定盒数商品每用户每月限购50件
|
||||||
// this.checkWaresLimit(cuMember.getPkId(), orderParam.getSpecialArea(), waresDetailExtList, boxProductList);
|
this.checkWaresLimit(cuMember, orderParam.getSpecialArea(), waresDetailExtList, boxWaresList, gradeList);
|
||||||
|
|
||||||
// 遍历生成订单明细数据
|
// 遍历生成订单明细数据
|
||||||
for (BdWaresDetailExt waresDetailExt : waresDetailExtList) {
|
for (BdWaresDetailExt waresDetailExt : waresDetailExtList) {
|
||||||
|
@ -261,7 +261,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
||||||
saOrderHandle.setPostageTmpMap(orderParam.getTranType(), postageMap, waresDetailExt, orderItems);
|
saOrderHandle.setPostageTmpMap(orderParam.getTranType(), postageMap, waresDetailExt, orderItems);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (boxProductList.contains(waresDetailExt.getWaresCode())) {
|
if (boxWaresList.contains(waresDetailExt.getWaresCode())) {
|
||||||
// 商品是盒数商品,需要累计数量
|
// 商品是盒数商品,需要累计数量
|
||||||
boxNum += orderItems.getWaresQuantity();
|
boxNum += orderItems.getWaresQuantity();
|
||||||
}
|
}
|
||||||
|
@ -782,22 +782,25 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
||||||
/**
|
/**
|
||||||
* 2025.03.11 添加需求,复购专区、重消专区,指定盒数商品每用户每月限购50件
|
* 2025.03.11 添加需求,复购专区、重消专区,指定盒数商品每用户每月限购50件
|
||||||
*
|
*
|
||||||
* @param pkMember 会员ID
|
* @param cuMember 会员
|
||||||
* @param specialArea 所属专区
|
* @param specialArea 所属专区
|
||||||
* @param waresDetailExtList 购买商品列表
|
* @param waresDetailExtList 购买商品列表
|
||||||
* @param boxProductList 盒数商品列表
|
* @param boxWaresList 盒数商品列表
|
||||||
|
* @param gradeList 等级列表
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private void checkWaresLimit(Long pkMember, Integer specialArea, List<BdWaresDetailExt> waresDetailExtList, List<String> boxProductList) {
|
private void checkWaresLimit(CuMember cuMember, Integer specialArea, List<BdWaresDetailExt> waresDetailExtList, List<String> boxWaresList, List<BdGrade> gradeList) {
|
||||||
|
if (null == gradeList) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
String limitDate = DateUtils.parseDateToFormat(DateUtils.YYYYMM, new Date());
|
String limitDate = DateUtils.parseDateToFormat(DateUtils.YYYYMM, new Date());
|
||||||
// 商品数量map(key: 商品编号,value: 商品数量)
|
// 商品数量map(key: 商品编号,value: 商品数量)
|
||||||
Map<String, Integer> waresNumMap = new HashMap<>();
|
Map<String, Integer> waresNumMap = new HashMap<>();
|
||||||
// 商品信息map(key: 商品编号,value: 商品名称)
|
// 商品信息map(key: 商品编号,value: 商品名称)
|
||||||
Map<String, String> waresNameMap = new HashMap<>();
|
Map<String, String> waresNameMap = new HashMap<>();
|
||||||
for (BdWaresDetailExt waresDetailExt : waresDetailExtList) {
|
for (BdWaresDetailExt waresDetailExt : waresDetailExtList) {
|
||||||
if ((ESpecialArea.RETAIL_REPURCHASE.getValue() == specialArea
|
if ((ESpecialArea.RETAIL_REPURCHASE.getValue() == specialArea)
|
||||||
|| ESpecialArea.RETAIL_RESCISSION.getValue() == specialArea)
|
&& boxWaresList.contains(waresDetailExt.getWaresCode())
|
||||||
&& boxProductList.contains(waresDetailExt.getWaresCode())
|
|
||||||
&& EYesNo.NO.getIntValue() == waresDetailExt.getIsGift()
|
&& EYesNo.NO.getIntValue() == waresDetailExt.getIsGift()
|
||||||
) {
|
) {
|
||||||
// 2025.03.11 添加需求,复购专区、重消专区,指定盒数商品每月每人限购50件(赠品排除)
|
// 2025.03.11 添加需求,复购专区、重消专区,指定盒数商品每月每人限购50件(赠品排除)
|
||||||
|
@ -807,19 +810,37 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!waresNumMap.isEmpty()) {
|
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()) {
|
for (String key : waresNumMap.keySet()) {
|
||||||
if (waresNumMap.get(key) > 50) {
|
if (waresNumMap.get(key) > limitNum) {
|
||||||
throw new ServiceException("商品【" + waresNameMap.get(key) + "】每月限购50件");
|
throw new ServiceException("商品【" + waresNameMap.get(key) + "】每月限购 " + limitNum + " 件");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
List<SaOrderWaresLimitExt> limitList = iSaOrderWaresLimitService.listWaresList(pkMember, specialArea, limitDate, new ArrayList<>(waresNumMap.keySet()));
|
List<SaOrderWaresLimitExt> limitList = iSaOrderWaresLimitService.listWaresList(cuMember.getPkId(), specialArea, limitDate, new ArrayList<>(waresNumMap.keySet()));
|
||||||
if (CollectionUtil.isNotEmpty(limitList)) {
|
if (CollectionUtil.isNotEmpty(limitList)) {
|
||||||
for (SaOrderWaresLimitExt waresLimitExt : limitList) {
|
for (SaOrderWaresLimitExt waresLimitExt : limitList) {
|
||||||
Integer waresNum = waresNumMap.get(waresLimitExt.getWaresCode());
|
Integer waresNum = waresNumMap.get(waresLimitExt.getWaresCode());
|
||||||
if (null != waresNum
|
if (null != waresNum
|
||||||
&& waresNum + waresLimitExt.getWaresQuantity() > 50) {
|
&& waresNum + waresLimitExt.getWaresQuantity() > limitNum) {
|
||||||
throw new ServiceException("商品【" + waresLimitExt.getWaresName() + "】每月限购50件");
|
throw new ServiceException("商品【" + waresLimitExt.getWaresName() + "】每月限购 \" + limitNum + \" 件");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -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<CuMemberMyMarketDetailVO> myMarketDetailVOList;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -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.SaOrderExt;
|
||||||
import com.hzs.common.domain.sale.ext.SaOrderItemsExt;
|
import com.hzs.common.domain.sale.ext.SaOrderItemsExt;
|
||||||
import com.hzs.common.domain.sale.order.SaOrder;
|
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.param.*;
|
||||||
import com.hzs.sale.order.vo.*;
|
import com.hzs.sale.order.vo.*;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
@ -229,25 +227,6 @@ public interface SaOrderMapper extends BaseMapper<SaOrder> {
|
||||||
*/
|
*/
|
||||||
List<Integer> queryOrderType(@Param("memberId") Long memberId, @Param("pkCountry") Integer pkCountry);
|
List<Integer> 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<CuMemberMyMarketDetailVO> selectMyMarketDetail(@Param("pkMember") Long pkMember, @Param("pkCountry") Integer pkCountry);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询指定数量会员SEQ
|
* 查询指定数量会员SEQ
|
||||||
*
|
*
|
||||||
|
|
|
@ -10,9 +10,6 @@ import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员商品限购 Mapper 接口
|
* 会员商品限购 Mapper 接口
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2025-03-11
|
|
||||||
*/
|
*/
|
||||||
public interface SaOrderWaresLimitMapper extends BaseMapper<SaOrderWaresLimit> {
|
public interface SaOrderWaresLimitMapper extends BaseMapper<SaOrderWaresLimit> {
|
||||||
|
|
||||||
|
|
|
@ -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.SaOrder;
|
||||||
import com.hzs.common.domain.sale.order.SaOrderItems;
|
import com.hzs.common.domain.sale.order.SaOrderItems;
|
||||||
import com.hzs.common.domain.system.config.BdGrade;
|
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.param.*;
|
||||||
import com.hzs.sale.order.vo.*;
|
import com.hzs.sale.order.vo.*;
|
||||||
import com.hzs.system.config.dto.GradeDTO;
|
import com.hzs.system.config.dto.GradeDTO;
|
||||||
|
@ -536,16 +535,6 @@ public interface ISaOrderService extends IService<SaOrder> {
|
||||||
*/
|
*/
|
||||||
void waresSalesAccrual(List<WaresNumberParam> waresNumberParamList);
|
void waresSalesAccrual(List<WaresNumberParam> waresNumberParamList);
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 会员首页我的市场
|
|
||||||
*
|
|
||||||
* @param pkMember 用户ID
|
|
||||||
* @param pkCountry 国家ID
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
CuMemberMyMarketVO selectMyMarket(Long pkMember, Integer pkCountry);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询指定数量会员SEQ
|
* 查询指定数量会员SEQ
|
||||||
*
|
*
|
||||||
|
|
|
@ -47,8 +47,6 @@ import com.hzs.member.base.IMemberServiceApi;
|
||||||
import com.hzs.member.detail.ICuMemberDetailServiceApi;
|
import com.hzs.member.detail.ICuMemberDetailServiceApi;
|
||||||
import com.hzs.member.detail.ICuMemberServiceLogServiceApi;
|
import com.hzs.member.detail.ICuMemberServiceLogServiceApi;
|
||||||
import com.hzs.sale.deliver.service.ISaDeliverItemsService;
|
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.dto.OrderQueryChargeDTO;
|
||||||
import com.hzs.sale.order.mapper.SaOrderMapper;
|
import com.hzs.sale.order.mapper.SaOrderMapper;
|
||||||
import com.hzs.sale.order.param.*;
|
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.ICountryServiceApi;
|
||||||
import com.hzs.system.base.ICurrencyServiceApi;
|
import com.hzs.system.base.ICurrencyServiceApi;
|
||||||
import com.hzs.system.base.ISystemConfigServiceApi;
|
import com.hzs.system.base.ISystemConfigServiceApi;
|
||||||
import com.hzs.system.base.dto.CountryDTO;
|
|
||||||
import com.hzs.system.base.dto.CurrencyDTO;
|
import com.hzs.system.base.dto.CurrencyDTO;
|
||||||
import com.hzs.system.config.IAreaCurrencyServiceApi;
|
import com.hzs.system.config.IAreaCurrencyServiceApi;
|
||||||
import com.hzs.system.config.IAwardsServiceApi;
|
import com.hzs.system.config.IAwardsServiceApi;
|
||||||
|
@ -1752,30 +1749,6 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public CuMemberMyMarketVO selectMyMarket(Long pkMember, Integer pkCountry) {
|
|
||||||
//查询全国市场
|
|
||||||
CuMemberMyMarketVO cuMemberMyMarketVO = baseMapper.selectMyMarket(null, pkCountry);
|
|
||||||
CountryDTO country = countryServiceApi.getCountry(pkCountry).getData();
|
|
||||||
//查询市场分布
|
|
||||||
List<CuMemberMyMarketDetailVO> cuMemberMyMarketDetailVOList = baseMapper.selectMyMarketDetail(pkMember, pkCountry);
|
|
||||||
cuMemberMyMarketVO.setMyMarketDetailVOList(cuMemberMyMarketDetailVOList);
|
|
||||||
//查询我的市场
|
|
||||||
if (CollectionUtil.isNotEmpty(cuMemberMyMarketDetailVOList)) {
|
|
||||||
List<Integer> 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
|
@Override
|
||||||
public List<Long> querySeqList(Integer param) {
|
public List<Long> querySeqList(Integer param) {
|
||||||
return baseMapper.querySeqList(param);
|
return baseMapper.querySeqList(param);
|
||||||
|
@ -2208,8 +2181,8 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
|
|
||||||
// 当前会员等级
|
// 当前会员等级
|
||||||
BdGrade memberGrade = gradeList.stream().filter(tmpGrade -> tmpGrade.getPkId().equals(updateGradeMember.getPkSettleGrade())).findFirst().get();
|
BdGrade memberGrade = gradeList.stream().filter(tmpGrade -> tmpGrade.getPkId().equals(updateGradeMember.getPkSettleGrade())).findFirst().get();
|
||||||
if (memberGrade.getGradeValue().compareTo(EGrade.MAKER.getValue()) >= 0) {
|
if (memberGrade.getGradeValue().compareTo(EGrade.BRANCH_COMPANY.getValue()) >= 0) {
|
||||||
// 会员等级大于等于V3(卓越),不能通过升级进行购买了
|
// 会员等级大于等于分公司,不能通过升级进行购买了
|
||||||
throw new ServiceException("当前已经是可以购买的最高等级");
|
throw new ServiceException("当前已经是可以购买的最高等级");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2226,15 +2199,6 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
return bdGrade;
|
return bdGrade;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据盒数计算等级
|
|
||||||
*
|
|
||||||
* @param boxTotal 总盒数
|
|
||||||
* @param gradeList 等级列表(可为空)
|
|
||||||
* @param memberGrade 当前等级 -- 为空则为注册,不为空则为升级
|
|
||||||
* @param checkUpgrade 校验升级
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
public BdGrade getGradeByBox(final Integer boxTotal, List<BdGrade> gradeList, BdGrade memberGrade, boolean checkUpgrade) {
|
public BdGrade getGradeByBox(final Integer boxTotal, List<BdGrade> gradeList, BdGrade memberGrade, boolean checkUpgrade) {
|
||||||
if (CollectionUtil.isEmpty(gradeList)) {
|
if (CollectionUtil.isEmpty(gradeList)) {
|
||||||
|
@ -2243,9 +2207,11 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
|
|
||||||
if (null == memberGrade) {
|
if (null == memberGrade) {
|
||||||
// 注册处理
|
// 注册处理
|
||||||
// 小于V4等级 并且 升级盒数小于购买盒数的最大一个等级为注册等级
|
// 小于总公司等级 并且 排除高级店主 并且 升级盒数小于购买盒数的最大一个等级为注册等级
|
||||||
return gradeList.stream()
|
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();
|
.max(Comparator.comparingInt(BdGrade::getGradeValue)).get();
|
||||||
} else {
|
} else {
|
||||||
// 非注册处理
|
// 非注册处理
|
||||||
|
@ -2263,8 +2229,9 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// 查询等级比现在当前等级大的,然后倒序排序,再查询 购买盒数 <= 等级盒数 的第一个等级,就是当前升级的等级
|
// 查询等级比现在当前等级大的 并且 排除高级店主,然后倒序排序,再查询 购买盒数 <= 等级盒数 的第一个等级,就是当前升级的等级
|
||||||
Optional<BdGrade> gradeOptional = gradeList.stream().filter(tmpGrade -> tmpGrade.getGradeValue() > memberGrade.getGradeValue())
|
Optional<BdGrade> gradeOptional = gradeList.stream()
|
||||||
|
.filter(tmpGrade -> tmpGrade.getGradeValue() != EGrade.S_VIP.getValue() && tmpGrade.getGradeValue() > memberGrade.getGradeValue())
|
||||||
.sorted(Comparator.comparingInt(BdGrade::getGradeValue).reversed())
|
.sorted(Comparator.comparingInt(BdGrade::getGradeValue).reversed())
|
||||||
.filter(tmpGrade -> tmpGrade.getBoxNumber() != 0)
|
.filter(tmpGrade -> tmpGrade.getBoxNumber() != 0)
|
||||||
.filter(tmpGrade -> tmpGrade.getBoxNumber() <= boxTotal).findFirst();
|
.filter(tmpGrade -> tmpGrade.getBoxNumber() <= boxTotal).findFirst();
|
||||||
|
|
|
@ -12,9 +12,6 @@ import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员商品限购 服务实现类
|
* 会员商品限购 服务实现类
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2025-03-11
|
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class SaOrderWaresLimitServiceImpl extends ServiceImpl<SaOrderWaresLimitMapper, SaOrderWaresLimit> implements ISaOrderWaresLimitService {
|
public class SaOrderWaresLimitServiceImpl extends ServiceImpl<SaOrderWaresLimitMapper, SaOrderWaresLimit> implements ISaOrderWaresLimitService {
|
||||||
|
|
|
@ -1159,57 +1159,6 @@
|
||||||
order by order_type
|
order by order_type
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectMyMarket" resultType="com.hzs.sale.index.vo.CuMemberMyMarketVO">
|
|
||||||
select count(distinct o.pk_country) countryNum,
|
|
||||||
count(distinct o.rec_province) regionNum
|
|
||||||
from sa_order o
|
|
||||||
where o.del_flag = 0
|
|
||||||
and o.order_status = 1
|
|
||||||
<if test="pkMember != null">
|
|
||||||
and o.pk_member in
|
|
||||||
(select m.pk_id
|
|
||||||
from cu_member m
|
|
||||||
where m.del_flag = 0
|
|
||||||
and m.pay_status = 1
|
|
||||||
and m.category = 0
|
|
||||||
and m.pk_settle_country = #{pkCountry}
|
|
||||||
start with m.pk_id = #{pkMember}
|
|
||||||
connect by prior m.pk_id = m.pk_parent)
|
|
||||||
</if>
|
|
||||||
<if test="pkCountry != null">
|
|
||||||
and o.pk_country = #{pkCountry}
|
|
||||||
</if>
|
|
||||||
</select>
|
|
||||||
|
|
||||||
|
|
||||||
<select id="selectMyMarketDetail" resultType="com.hzs.sale.index.vo.CuMemberMyMarketDetailVO">
|
|
||||||
select distinct o.pk_country pkCountry,
|
|
||||||
o.rec_province province,
|
|
||||||
a.light_name lightName
|
|
||||||
from sa_order o
|
|
||||||
left join bd_area a
|
|
||||||
on o.rec_province = a.pk_id
|
|
||||||
and a.del_flag = 0
|
|
||||||
and a.enable_state = 0
|
|
||||||
where 1 = 1
|
|
||||||
<if test="pkMember != null">
|
|
||||||
and o.pk_member in
|
|
||||||
(select m.pk_id
|
|
||||||
from cu_member m
|
|
||||||
where m.del_flag = 0
|
|
||||||
and m.pay_status = 1
|
|
||||||
and m.category = 0
|
|
||||||
and m.pk_settle_country = #{pkCountry}
|
|
||||||
start with m.pk_id = #{pkMember}
|
|
||||||
connect by prior m.pk_id = m.pk_parent)
|
|
||||||
</if>
|
|
||||||
and o.del_flag = 0
|
|
||||||
and o.order_status = 1
|
|
||||||
and o.rec_province is not null
|
|
||||||
<if test="pkCountry != null">
|
|
||||||
and o.pk_country = #{pkCountry}
|
|
||||||
</if>
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<!-- 查询指定数量订单SEQ -->
|
<!-- 查询指定数量订单SEQ -->
|
||||||
<select id="querySeqList" resultType="long">
|
<select id="querySeqList" resultType="long">
|
||||||
|
|
|
@ -2,19 +2,4 @@
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.hzs.system.base.mapper.BdAreaMapper">
|
<mapper namespace="com.hzs.system.base.mapper.BdAreaMapper">
|
||||||
|
|
||||||
<!-- 通用查询映射结果 -->
|
|
||||||
<resultMap id="BaseResultMap" type="com.hzs.common.domain.system.base.BdArea">
|
|
||||||
<id column="PK_ID" property="pkId"/>
|
|
||||||
<result column="NAME" property="name"/>
|
|
||||||
<result column="CODE" property="code"/>
|
|
||||||
<result column="PARENT" property="parent"/>
|
|
||||||
<result column="ENABLE_STATE" property="enableState"/>
|
|
||||||
<result column="PK_CREATOR" property="pkCreator"/>
|
|
||||||
<result column="CREATION_TIME" property="creationTime"/>
|
|
||||||
<result column="PK_MODIFIED" property="pkModified"/>
|
|
||||||
<result column="MODIFIED_TIME" property="modifiedTime"/>
|
|
||||||
<result column="DEL_FLAG" property="delFlag"/>
|
|
||||||
<result column="PK_COUNTRY" property="pkCountry"/>
|
|
||||||
</resultMap>
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -10,9 +10,9 @@ import java.util.List;
|
||||||
public class RetailConstants {
|
public class RetailConstants {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 直推拿80
|
* 直推拿
|
||||||
*/
|
*/
|
||||||
public static final BigDecimal FIRST_DIRECT = new BigDecimal("80");
|
public static final BigDecimal FIRST_DIRECT = new BigDecimal("60");
|
||||||
/**
|
/**
|
||||||
* 间推拿20
|
* 间推拿20
|
||||||
*/
|
*/
|
||||||
|
@ -34,6 +34,22 @@ public class RetailConstants {
|
||||||
*/
|
*/
|
||||||
public static final BigDecimal FIRST_COMPANY = new BigDecimal("20");
|
public static final BigDecimal FIRST_COMPANY = new BigDecimal("20");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员、VIP、合伙人 每月可购买1套(4盒)
|
||||||
|
*/
|
||||||
|
public static final Integer V1_LIMIT = 1;
|
||||||
|
/**
|
||||||
|
* 博羚店主、高级店主 每月可购买10套(40盒)
|
||||||
|
*/
|
||||||
|
public static final Integer V4_LIMIT = 10;
|
||||||
|
/**
|
||||||
|
* 分公司 每月可购买25套(100盒)
|
||||||
|
*/
|
||||||
|
public static final Integer V6_LIMIT = 25;
|
||||||
|
/**
|
||||||
|
* 总公司 不限购给一个很大的值
|
||||||
|
*/
|
||||||
|
public static final Integer V7_LIMIT = 10000;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 盒数产品列表
|
* 盒数产品列表
|
||||||
|
|
|
@ -50,7 +50,7 @@ public enum EGrade {
|
||||||
*/
|
*/
|
||||||
VIP(5, 60, "V4", 0, EnumsPrefixConstants.GRADE + "60", MemberFrameworkConstants.VIP),
|
VIP(5, 60, "V4", 0, EnumsPrefixConstants.GRADE + "60", MemberFrameworkConstants.VIP),
|
||||||
/**
|
/**
|
||||||
* 高级店主
|
* 高级店主(博羚店主 + 推荐1个博羚店主)
|
||||||
*/
|
*/
|
||||||
S_VIP(6, 70, "V5", 0, EnumsPrefixConstants.GRADE + "70", MemberFrameworkConstants.S_VIP),
|
S_VIP(6, 70, "V5", 0, EnumsPrefixConstants.GRADE + "70", MemberFrameworkConstants.S_VIP),
|
||||||
|
|
||||||
|
|
|
@ -11,12 +11,7 @@ import lombok.*;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
|
||||||
* 会员转账表
|
* 会员转账表
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-09-06
|
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@Builder
|
||||||
|
|
|
@ -2,14 +2,9 @@ package com.hzs.common.domain.system.base;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import com.hzs.common.core.annotation.Excel;
|
import com.hzs.common.core.annotation.Excel;
|
||||||
import com.hzs.common.core.web.domain.BaseEntity;
|
import com.hzs.common.core.web.domain.BaseEntity;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
@ -61,15 +56,9 @@ public class BdArea extends BaseEntity {
|
||||||
private Integer enableState;
|
private Integer enableState;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否点亮 0 是 1 否
|
* 可绑定数量(区1,市1,省2,直辖3)
|
||||||
*/
|
*/
|
||||||
@TableField("IS_ILLUMINATE")
|
@TableField("BIND_NUM")
|
||||||
private Integer isIlluminate;
|
private Integer bindNum;
|
||||||
|
|
||||||
/**
|
|
||||||
* 点亮名称
|
|
||||||
*/
|
|
||||||
@TableField("LIGHT_NAME")
|
|
||||||
private String lightName;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue