## Opt - 选择收益区域
This commit is contained in:
parent
622a066e0f
commit
279a17cf1e
|
@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.lang.tree.Tree;
|
import cn.hutool.core.lang.tree.Tree;
|
||||||
import cn.hutool.core.lang.tree.TreeNodeConfig;
|
import cn.hutool.core.lang.tree.TreeNodeConfig;
|
||||||
import cn.hutool.core.lang.tree.TreeUtil;
|
import cn.hutool.core.lang.tree.TreeUtil;
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.hzs.bonus.settle.IMemberSettleBonusApi;
|
import com.hzs.bonus.settle.IMemberSettleBonusApi;
|
||||||
import com.hzs.common.core.annotation.RepeatSubmitSimple;
|
import com.hzs.common.core.annotation.RepeatSubmitSimple;
|
||||||
|
@ -33,6 +34,7 @@ import com.hzs.retail.member.vo.RecommendListVO;
|
||||||
import com.hzs.retail.member.vo.RetailMemberInfoVO;
|
import com.hzs.retail.member.vo.RetailMemberInfoVO;
|
||||||
import com.hzs.retail.member.vo.RetailMemberRegionVO;
|
import com.hzs.retail.member.vo.RetailMemberRegionVO;
|
||||||
import com.hzs.system.base.IAreaServiceApi;
|
import com.hzs.system.base.IAreaServiceApi;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.dubbo.config.annotation.DubboReference;
|
import org.apache.dubbo.config.annotation.DubboReference;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
@ -47,6 +49,7 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/api/retail-member")
|
@RequestMapping("/api/retail-member")
|
||||||
|
@Slf4j
|
||||||
public class RetailMemberController extends BaseController {
|
public class RetailMemberController extends BaseController {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
@ -63,6 +66,8 @@ public class RetailMemberController extends BaseController {
|
||||||
@DubboReference
|
@DubboReference
|
||||||
IMemberSettleBonusApi iMemberSettleBonusApi;
|
IMemberSettleBonusApi iMemberSettleBonusApi;
|
||||||
|
|
||||||
|
// 2025年6月11日 判断可选择收益区域的伞下+自身业绩阈值 (30万)
|
||||||
|
private static final BigDecimal REGIONAL_PERFORMANCE_THRESHOLD = new BigDecimal("300000");
|
||||||
/**
|
/**
|
||||||
* 获取登录会员信息
|
* 获取登录会员信息
|
||||||
*
|
*
|
||||||
|
@ -86,9 +91,12 @@ public class RetailMemberController extends BaseController {
|
||||||
public AjaxResult getRegion() {
|
public AjaxResult getRegion() {
|
||||||
Long userId = SecurityUtils.getUserId();
|
Long userId = SecurityUtils.getUserId();
|
||||||
Integer systemType = SecurityUtils.getSystemType();
|
Integer systemType = SecurityUtils.getSystemType();
|
||||||
|
Integer pkCountry = SecurityUtils.getPkCountry();
|
||||||
|
|
||||||
CuMemberRetailRegionExt cuMemberRetailRegionExt = iCuMemberRetailRegionService.getRegionByMember(userId, EGrade.S_VIP.getValue(), systemType);
|
CuMemberRetailRegionExt cuMemberRetailRegionExt = iCuMemberRetailRegionService.getRegionByMember(userId, EGrade.S_VIP.getValue(), systemType);
|
||||||
|
log.info("cuMemberRetailRegionExt -> {}", JSONUtil.toJsonStr(cuMemberRetailRegionExt));
|
||||||
if (null != cuMemberRetailRegionExt) {
|
if (null != cuMemberRetailRegionExt) {
|
||||||
|
// 已自选区域或者已后台指定
|
||||||
if (null != cuMemberRetailRegionExt.getPkId()) {
|
if (null != cuMemberRetailRegionExt.getPkId()) {
|
||||||
// 达到条件,也选择区域,需要进行显示
|
// 达到条件,也选择区域,需要进行显示
|
||||||
return AjaxResult.success(RetailMemberRegionVO.builder()
|
return AjaxResult.success(RetailMemberRegionVO.builder()
|
||||||
|
@ -101,14 +109,28 @@ public class RetailMemberController extends BaseController {
|
||||||
.countyVal(cuMemberRetailRegionExt.getCountyVal())
|
.countyVal(cuMemberRetailRegionExt.getCountyVal())
|
||||||
.build());
|
.build());
|
||||||
}
|
}
|
||||||
|
// 未自选或未后台指定 验证是否激活 未激活不允许选
|
||||||
|
// getIsRegion - 后台业务特殊标记,非后台办理过的为1, 后台办理过的为0,当为0时, 不设定任何条件,直接可选收益区域
|
||||||
if (EYesNo.YES.getIntValue() == cuMemberRetailRegionExt.getIsRegion()) {
|
if (EYesNo.YES.getIntValue() == cuMemberRetailRegionExt.getIsRegion()) {
|
||||||
// 2024.12.30 添加需求,指定会员可以进行区域选择
|
// 2024.12.30 添加需求,指定会员可以进行区域选择
|
||||||
return AjaxResult.success(RetailMemberRegionVO.builder()
|
return AjaxResult.success(RetailMemberRegionVO.builder()
|
||||||
.regionStatus(EYesNo.YES.getIntValue())
|
.regionStatus(EYesNo.YES.getIntValue())
|
||||||
.build());
|
.build());
|
||||||
}
|
}
|
||||||
if (null == cuMemberRetailRegionExt.getPkId()) {
|
if(EYesNo.YES.getIntValue() == cuMemberRetailRegionExt.getIsActivate()){
|
||||||
// 达到条件,但是没有选择区域,需要弹窗选择区域
|
CuMemberRetailAchieveVO retailAchieve = iCuMemberRetailAchieveService.selectMemberSumAchieve(userId, pkCountry, systemType);
|
||||||
|
log.info("retailAchieve : {}", JSONUtil.toJsonStr(retailAchieve));
|
||||||
|
if(retailAchieve.getArealPv().compareTo(REGIONAL_PERFORMANCE_THRESHOLD) >= 0){
|
||||||
|
return AjaxResult.success(RetailMemberRegionVO.builder()
|
||||||
|
.regionStatus(EYesNo.YES.getIntValue())
|
||||||
|
.build());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 达到条件,但是没有选择区域,需要弹窗选择区域
|
||||||
|
// 验证伞下业绩+自己是否累计30W
|
||||||
|
|
||||||
|
/*
|
||||||
|
2025年6月11日 取消其他验证
|
||||||
// 2025.01.11 调整需求,当前会员必须有效(至少下过一单)
|
// 2025.01.11 调整需求,当前会员必须有效(至少下过一单)
|
||||||
if (iCuMemberRetailRegionService.getOrderCount(userId, systemType, BoxProductUtil.getBoxProductListBySystemType(systemType)) == 0) {
|
if (iCuMemberRetailRegionService.getOrderCount(userId, systemType, BoxProductUtil.getBoxProductListBySystemType(systemType)) == 0) {
|
||||||
return AjaxResult.success(RetailMemberRegionVO.builder()
|
return AjaxResult.success(RetailMemberRegionVO.builder()
|
||||||
|
@ -125,18 +147,7 @@ public class RetailMemberController extends BaseController {
|
||||||
.build());
|
.build());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
*/
|
||||||
// 达到条件,也选择区域,需要进行显示并且可以修改
|
|
||||||
return AjaxResult.success(RetailMemberRegionVO.builder()
|
|
||||||
.regionStatus(EYesNo.YES.getIntValue())
|
|
||||||
.province(cuMemberRetailRegionExt.getProvince())
|
|
||||||
.provinceVal(cuMemberRetailRegionExt.getProvinceVal())
|
|
||||||
.city(cuMemberRetailRegionExt.getCity())
|
|
||||||
.cityVal(cuMemberRetailRegionExt.getCityVal())
|
|
||||||
.county(cuMemberRetailRegionExt.getCounty())
|
|
||||||
.countyVal(cuMemberRetailRegionExt.getCountyVal())
|
|
||||||
.build());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// 没达到条件,不需要显示区域
|
// 没达到条件,不需要显示区域
|
||||||
return AjaxResult.success(RetailMemberRegionVO.builder()
|
return AjaxResult.success(RetailMemberRegionVO.builder()
|
||||||
|
@ -157,21 +168,24 @@ public class RetailMemberController extends BaseController {
|
||||||
Integer systemType = SecurityUtils.getSystemType();
|
Integer systemType = SecurityUtils.getSystemType();
|
||||||
Integer pkCountry = SecurityUtils.getPkCountry();
|
Integer pkCountry = SecurityUtils.getPkCountry();
|
||||||
|
|
||||||
CuMemberRetailRegionExt cuMemberRetailRegionExt = iCuMemberRetailRegionService.getRegionByMember(userId, EGrade.S_VIP.getValue(), systemType);
|
boolean canSet = false;
|
||||||
if (null == cuMemberRetailRegionExt) {
|
|
||||||
return AjaxResult.error("还未达到选择收益区域条件");
|
|
||||||
} else {
|
|
||||||
if (EYesNo.NO.getIntValue() == cuMemberRetailRegionExt.getIsRegion()) {
|
|
||||||
// 2024.12.30 添加需求,会员可以指定可以进行区域选择,未指定权限才需要进行判断
|
|
||||||
|
|
||||||
// 达到条件,但是没有选择区域,需要弹窗选择区域
|
CuMemberRetailRegionExt cuMemberRetailRegionExt = iCuMemberRetailRegionService.getRegionByMember(userId, EGrade.S_VIP.getValue(), systemType);
|
||||||
|
log.info("cuMemberRetailRegionExt -> {}", JSONUtil.toJsonStr(cuMemberRetailRegionExt));
|
||||||
|
if (null != cuMemberRetailRegionExt) {
|
||||||
|
if (EYesNo.YES.getIntValue() == cuMemberRetailRegionExt.getIsRegion()) {
|
||||||
|
canSet = true;
|
||||||
|
}
|
||||||
|
if(EYesNo.YES.getIntValue() == cuMemberRetailRegionExt.getIsActivate()){
|
||||||
CuMemberRetailAchieveVO retailAchieve = iCuMemberRetailAchieveService.selectMemberSumAchieve(userId, pkCountry, systemType);
|
CuMemberRetailAchieveVO retailAchieve = iCuMemberRetailAchieveService.selectMemberSumAchieve(userId, pkCountry, systemType);
|
||||||
// TODO 2025.06.09 新需求,选择区域判断等级达到合伙人,血缘累计业绩达到30万,可以选择
|
if(retailAchieve.getArealPv().compareTo(REGIONAL_PERFORMANCE_THRESHOLD) >= 0){
|
||||||
if (retailAchieve.getSmallAreaPv().add(retailAchieve.getBigArealPv()).compareTo(SysConstants.TOTAL_AREA_PV) < 0) {
|
canSet = true;
|
||||||
return AjaxResult.error("还未达到选择收益区域条件");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(!canSet){
|
||||||
|
return AjaxResult.error("还未达到选择收益区域条件");
|
||||||
|
}
|
||||||
|
|
||||||
if (param.getCounty().equals(0) || param.getCity().equals(0)) {
|
if (param.getCounty().equals(0) || param.getCity().equals(0)) {
|
||||||
// 区为0 或 市为0,没有选择区或者没有选择市
|
// 区为0 或 市为0,没有选择区或者没有选择市
|
||||||
|
|
|
@ -159,8 +159,8 @@ public interface CuMemberRetailRangeMapper extends BaseMapper<CuMemberRetailRang
|
||||||
CuMemberRetailAchieveVO selectMemberOrderSumAchieveByPkMember(CuMemberRetailAchieveVO cuMemberAchieveVO);
|
CuMemberRetailAchieveVO selectMemberOrderSumAchieveByPkMember(CuMemberRetailAchieveVO cuMemberAchieveVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询会员直推业绩(累计)
|
* 查询会员直推业绩(日结+秒结)
|
||||||
*
|
* orderType in (41,42,43,44)
|
||||||
* @param cuMemberAchieveVO 入参
|
* @param cuMemberAchieveVO 入参
|
||||||
* @return List<CuMemberRetailAchieveVO>
|
* @return List<CuMemberRetailAchieveVO>
|
||||||
*/
|
*/
|
||||||
|
@ -199,4 +199,5 @@ public interface CuMemberRetailRangeMapper extends BaseMapper<CuMemberRetailRang
|
||||||
*/
|
*/
|
||||||
List<CuMemberRetailAchieveVO> selectMemberSmallBoxList(CuMemberRetailAchieveVO param);
|
List<CuMemberRetailAchieveVO> selectMemberSmallBoxList(CuMemberRetailAchieveVO param);
|
||||||
|
|
||||||
|
List<Long> selectSubMemberIdByRootMember(@Param("pkMember") Long pkMember, @Param("systemType") Integer systemType);
|
||||||
}
|
}
|
||||||
|
|
|
@ -258,7 +258,13 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
|
||||||
CuMemberRetailAchieveVO maxAchieveVO = memberAchieveList.stream().max(Comparator.comparing(CuMemberRetailAchieveVO::getArealPv)).get();
|
CuMemberRetailAchieveVO maxAchieveVO = memberAchieveList.stream().max(Comparator.comparing(CuMemberRetailAchieveVO::getArealPv)).get();
|
||||||
//查询小区业绩
|
//查询小区业绩
|
||||||
BigDecimal smallAreaPv = memberAchieveList.stream().filter(achieveVO -> !achieveVO.getPkMember().equals(maxAchieveVO.getPkMember())).map(vo -> null == vo.getArealPv() ? BigDecimal.ZERO : vo.getArealPv()).reduce(BigDecimal.ZERO, BigDecimal::add);
|
BigDecimal smallAreaPv = memberAchieveList.stream().filter(achieveVO -> !achieveVO.getPkMember().equals(maxAchieveVO.getPkMember())).map(vo -> null == vo.getArealPv() ? BigDecimal.ZERO : vo.getArealPv()).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
return CuMemberRetailAchieveVO.builder().smallAreaPv(getBigDecimal(smallAreaPv, rate)).pkBigMember(maxAchieveVO.getPkMember()).bigArealPv(getBigDecimal(maxAchieveVO.getArealPv(), rate)).build();
|
// return CuMemberRetailAchieveVO.builder().smallAreaPv(getBigDecimal(smallAreaPv, rate)).pkBigMember(maxAchieveVO.getPkMember()).bigArealPv(getBigDecimal(maxAchieveVO.getArealPv(), rate)).build();
|
||||||
|
return CuMemberRetailAchieveVO.builder()
|
||||||
|
.smallAreaPv(smallAreaPv)
|
||||||
|
.pkBigMember(maxAchieveVO.getPkMember())
|
||||||
|
.bigArealPv(maxAchieveVO.getArealPv())
|
||||||
|
.arealPv(maxAchieveVO.getArealPv())
|
||||||
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -295,6 +301,11 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
|
||||||
int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate).getPkId();
|
int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate).getPkId();
|
||||||
return TableNameConstants.CU_MEMBER_RETAIL_RANGE + period;
|
return TableNameConstants.CU_MEMBER_RETAIL_RANGE + period;
|
||||||
}
|
}
|
||||||
|
private String getDayTableName() {
|
||||||
|
String localDate = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||||
|
int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate).getPkId();
|
||||||
|
return TableNameConstants.CU_MEMBER_RETAIL_S + period;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -375,23 +386,26 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
|
||||||
public CuMemberRetailAchieveVO selectMemberSumAchieve(Long pkMember, Integer pkCountry, Integer systemType) {
|
public CuMemberRetailAchieveVO selectMemberSumAchieve(Long pkMember, Integer pkCountry, Integer systemType) {
|
||||||
//查询会员昨日业绩
|
//查询会员昨日业绩
|
||||||
String memberRetailTable = getTableName();
|
String memberRetailTable = getTableName();
|
||||||
|
String memberSecondTable = getDayTableName();
|
||||||
//查询直推会员
|
//查询直推会员
|
||||||
List<Long> pkMemberList = baseMapper.selectDirectPushByPkMember(pkMember, systemType);
|
// List<Long> pkMemberList = baseMapper.selectDirectPushByPkMember(pkMember, systemType);
|
||||||
|
// 2025年6月11日 取伞下 + 自己的ID
|
||||||
|
List<Long> pkMemberList = baseMapper.selectSubMemberIdByRootMember(pkMember, systemType);
|
||||||
//根据国家查汇率
|
//根据国家查汇率
|
||||||
BigDecimal rate = iCuMemberBaseService.getCurrency(pkCountry).getInExchangeRate();
|
BigDecimal rate = iCuMemberBaseService.getCurrency(pkCountry).getInExchangeRate();
|
||||||
//查询自己业绩
|
//查询自己业绩
|
||||||
List<CuMemberRetailAchieveVO> memberSelfAchieveList = new ArrayList<>();
|
List<CuMemberRetailAchieveVO> memberSelfAchieveList = new ArrayList<>();
|
||||||
|
|
||||||
//会员业绩
|
//会员业绩
|
||||||
CuMemberRetailAchieveVO memberAchieveVO = CuMemberRetailAchieveVO.builder().memberRetailTable(memberRetailTable).pkMember(pkMember).systemType(systemType).build();
|
// CuMemberRetailAchieveVO memberAchieveVO = CuMemberRetailAchieveVO.builder().memberRetailTable(memberRetailTable).pkMember(pkMember).systemType(systemType).build();
|
||||||
CuMemberRetailAchieveVO orderAchieveVO = baseMapper.selectMemberOrderSumAchieveByPkMember(memberAchieveVO);
|
// CuMemberRetailAchieveVO orderAchieveVO = baseMapper.selectMemberOrderSumAchieveByPkMember(memberAchieveVO);
|
||||||
if (null != orderAchieveVO && orderAchieveVO.getArealPv().compareTo(BigDecimal.ZERO) > 0) {
|
// if (null != orderAchieveVO && orderAchieveVO.getArealPv().compareTo(BigDecimal.ZERO) > 0) {
|
||||||
orderAchieveVO.setPkMember(pkMember);
|
// orderAchieveVO.setPkMember(pkMember);
|
||||||
memberSelfAchieveList.add(orderAchieveVO);
|
// memberSelfAchieveList.add(orderAchieveVO);
|
||||||
}
|
// }
|
||||||
//查询伞下业绩
|
//查询伞下业绩
|
||||||
if (CollUtil.isNotEmpty(pkMemberList)) {
|
if (CollUtil.isNotEmpty(pkMemberList)) {
|
||||||
List<CuMemberRetailAchieveVO> memberPushAchieveList = getMemberPushSumAchieve(pkMemberList, memberRetailTable, systemType);
|
List<CuMemberRetailAchieveVO> memberPushAchieveList = getMemberPushSumAchieve(pkMemberList, memberRetailTable, memberSecondTable, systemType);
|
||||||
if (CollUtil.isNotEmpty(memberPushAchieveList)) {
|
if (CollUtil.isNotEmpty(memberPushAchieveList)) {
|
||||||
memberSelfAchieveList.addAll(memberPushAchieveList);
|
memberSelfAchieveList.addAll(memberPushAchieveList);
|
||||||
}
|
}
|
||||||
|
@ -399,7 +413,7 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
|
||||||
if (CollUtil.isEmpty(memberSelfAchieveList)) {
|
if (CollUtil.isEmpty(memberSelfAchieveList)) {
|
||||||
return CuMemberRetailAchieveVO.builder().smallAreaPv(BigDecimal.ZERO).bigArealPv(BigDecimal.ZERO).build();
|
return CuMemberRetailAchieveVO.builder().smallAreaPv(BigDecimal.ZERO).bigArealPv(BigDecimal.ZERO).build();
|
||||||
}
|
}
|
||||||
return getMemberBigAndSmallAchieve(memberSelfAchieveList, rate);
|
return getMemberBigAndSmallAchieve(memberSelfAchieveList, rate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -409,8 +423,11 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
|
||||||
* @param pkMemberList 直推会员ID
|
* @param pkMemberList 直推会员ID
|
||||||
* @return CuMemberAchieveVO
|
* @return CuMemberAchieveVO
|
||||||
*/
|
*/
|
||||||
private List<CuMemberRetailAchieveVO> getMemberPushSumAchieve(List<Long> pkMemberList, String memberRangeTable, Integer systemType) {
|
private List<CuMemberRetailAchieveVO> getMemberPushSumAchieve(List<Long> pkMemberList, String memberRangeTable,String memberSecondTable, Integer systemType) {
|
||||||
CuMemberRetailAchieveVO memberAchieveVO = CuMemberRetailAchieveVO.builder().memberRetailTable(memberRangeTable).pkMemberList(pkMemberList).systemType(systemType).build();
|
CuMemberRetailAchieveVO memberAchieveVO = CuMemberRetailAchieveVO.builder()
|
||||||
|
.memberRetailTable(memberRangeTable)
|
||||||
|
.memberRetailSTable(memberSecondTable)
|
||||||
|
.pkMemberList(pkMemberList).systemType(systemType).build();
|
||||||
return baseMapper.selectMemberSumAchieve(memberAchieveVO);
|
return baseMapper.selectMemberSumAchieve(memberAchieveVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -461,7 +461,7 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<sql id="selectSmallAreaSumAchieve">
|
<sql id="selectSmallAreaSumAchieveBak">
|
||||||
<foreach collection="pkMemberList" item="pkMember" separator="union all">
|
<foreach collection="pkMemberList" item="pkMember" separator="union all">
|
||||||
SELECT SUM(t1.arealPv) arealPv ,#{pkMember} pkMember
|
SELECT SUM(t1.arealPv) arealPv ,#{pkMember} pkMember
|
||||||
FROM (
|
FROM (
|
||||||
|
@ -492,6 +492,23 @@
|
||||||
AND t0.category = 0)) t1
|
AND t0.category = 0)) t1
|
||||||
</foreach>
|
</foreach>
|
||||||
</sql>
|
</sql>
|
||||||
|
<sql id="selectSmallAreaSumAchieve">
|
||||||
|
<foreach collection="pkMemberList" item="pkMember" separator="union all">
|
||||||
|
SELECT SUM(t1.arealPv) arealPv ,#{pkMember} pkMember
|
||||||
|
FROM (
|
||||||
|
SELECT NVL(mr.CONSUME_PV + mr.TEAM_CONSUME_PV,0) arealPv
|
||||||
|
FROM ${memberRetailTable} mr
|
||||||
|
WHERE mr.category = 0
|
||||||
|
AND mr.pk_member = #{pkMember}
|
||||||
|
UNION ALL
|
||||||
|
SELECT
|
||||||
|
NVL( mrs.NEW_CONSUME_PV + mrs.TEAM_NEW_PV, 0 ) arealPv
|
||||||
|
FROM
|
||||||
|
${memberRetailSTable} mrs
|
||||||
|
WHERE mrs.pk_member = #{pkMember}
|
||||||
|
) t1
|
||||||
|
</foreach>
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
|
||||||
<select id="selectMemberSumAchieve" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
<select id="selectMemberSumAchieve" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
||||||
|
@ -809,4 +826,14 @@
|
||||||
ORDER BY t3.monthBox desc
|
ORDER BY t3.monthBox desc
|
||||||
</select>
|
</select>
|
||||||
<!--市场动态盒数 结束-->
|
<!--市场动态盒数 结束-->
|
||||||
|
|
||||||
|
|
||||||
|
<select id="selectSubMemberIdByRootMember" resultType="java.lang.Long">
|
||||||
|
select cm.pk_id, cm.MEMBER_NAME
|
||||||
|
from cu_member cm
|
||||||
|
where cm.SYSTEM_TYPE = #{systemType}
|
||||||
|
start with cm.pk_id = #{pkMember}
|
||||||
|
connect by prior cm.pk_id = cm.pk_parent
|
||||||
|
order by level
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -9,7 +9,8 @@
|
||||||
cmrr.*,
|
cmrr.*,
|
||||||
bap.name province_val,
|
bap.name province_val,
|
||||||
bac.name city_val,
|
bac.name city_val,
|
||||||
bax.name county_val
|
bax.name county_val,
|
||||||
|
cm.IS_ACTIVATE
|
||||||
from cu_member cm
|
from cu_member cm
|
||||||
left join cu_member_retail_region cmrr
|
left join cu_member_retail_region cmrr
|
||||||
on cmrr.pk_member = cm.pk_id
|
on cmrr.pk_member = cm.pk_id
|
||||||
|
@ -30,7 +31,7 @@
|
||||||
and bax.del_flag = 0
|
and bax.del_flag = 0
|
||||||
where cm.del_flag = 0
|
where cm.del_flag = 0
|
||||||
and cm.pk_id = #{pkMember}
|
and cm.pk_id = #{pkMember}
|
||||||
and cm.IS_ACTIVATE=0
|
-- and cm.IS_ACTIVATE=0
|
||||||
and bg.grade_value >= #{gradeValue}
|
and bg.grade_value >= #{gradeValue}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
|
@ -98,4 +98,8 @@ public class CuMemberRetailRegionExt extends CuMemberRetailRegion {
|
||||||
*/
|
*/
|
||||||
private Integer pkCountry;
|
private Integer pkCountry;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 2025年6月11日 是否激活 (0-是, 1-否)
|
||||||
|
*/
|
||||||
|
private Integer isActivate;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue