## Feat - 雨汐团队选取区域特殊逻辑

This commit is contained in:
sangelxiu1 2025-08-01 13:47:15 +08:00
parent f879199b25
commit e50ec05cfd
1 changed files with 50 additions and 17 deletions

View File

@ -10,6 +10,7 @@ import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.hzs.common.core.annotation.RepeatSubmitSimple;
import com.hzs.common.core.constant.RetailConstants;
import com.hzs.common.core.constant.SysConstants;
import com.hzs.common.core.constant.msg.AreaConstants;
import com.hzs.common.core.enums.EGrade;
@ -30,10 +31,7 @@ import com.hzs.retail.member.param.RetailMemberRegionParam;
import com.hzs.retail.member.service.ICuMemberRetailAchieveService;
import com.hzs.retail.member.service.ICuMemberRetailRegionService;
import com.hzs.retail.member.service.IMemberRetailService;
import com.hzs.retail.member.vo.CuMemberRetailAchieveVO;
import com.hzs.retail.member.vo.RecommendListVO;
import com.hzs.retail.member.vo.RetailMemberInfoVO;
import com.hzs.retail.member.vo.RetailMemberRegionVO;
import com.hzs.retail.member.vo.*;
import com.hzs.system.base.IAreaServiceApi;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference;
@ -41,6 +39,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@ -60,6 +59,8 @@ public class RetailMemberController extends BaseController {
private ICuMemberRetailRegionService iCuMemberRetailRegionService;
@Autowired
private ICuMemberRetailAchieveService iCuMemberRetailAchieveService;
@Autowired
private ICuMemberRetailAchieveService retailAchieveService;
@DubboReference
IAreaServiceApi iAreaServiceApi;
@ -122,6 +123,21 @@ public class RetailMemberController extends BaseController {
.build());
}
if(EYesNo.YES.getIntValue() == cuMemberRetailRegionExt.getIsActivate()){
CuMemberExt memberExt = iCuMemberService.getMemberById(userId);
if(memberExt.getPkVertex().equals(RetailConstants.VERTEX_PK_ID)){
CuMemberRetailDataStatisticsResultVO result = retailAchieveService.getRetailDataStatisticsDetail(userId, pkCountry, systemType);
BigDecimal totalBoxNum = result.getTotalBoxNum();
BigDecimal smallBoxNum = result.getSmallRangeTotalBoxNum();
// BigDecimal bigBoxNum = result.getBigRangeTotalBoxNum();
if(ObjectUtil.isNotEmpty(totalBoxNum)
&& totalBoxNum.compareTo(RetailConstants.VERTEX_V5_TOTAL_BOX) >= 0
&& smallBoxNum.compareTo(RetailConstants.VERTEX_V5_SMALL_BOX) >=0
){
return AjaxResult.success(RetailMemberRegionVO.builder()
.regionStatus(EYesNo.YES.getIntValue())
.build());
}
}else{
CuMemberRetailAchieveVO retailAchieve = iCuMemberRetailAchieveService.selectMemberSumAchieve(userId, pkCountry, systemType);
log.info("retailAchieve : {}", JSONUtil.toJsonStr(retailAchieve));
if(ObjectUtil.isNotEmpty(retailAchieve.getArealPv())
@ -134,6 +150,7 @@ public class RetailMemberController extends BaseController {
.build());
}
}
}
// 达到条件但是没有选择区域需要弹窗选择区域
// 验证伞下业绩+自己是否累计30W
@ -186,6 +203,21 @@ public class RetailMemberController extends BaseController {
}
if(EYesNo.YES.getIntValue() == cuMemberRetailRegionExt.getIsActivate()){
CuMemberRetailAchieveVO retailAchieve = iCuMemberRetailAchieveService.selectMemberSumAchieve(userId, pkCountry, systemType);
CuMemberExt memberExt = iCuMemberService.getMemberById(userId);
if(memberExt.getPkVertex().equals(RetailConstants.VERTEX_PK_ID)){
CuMemberRetailDataStatisticsResultVO result = retailAchieveService.getRetailDataStatisticsDetail(userId, pkCountry, systemType);
BigDecimal totalBoxNum = result.getTotalBoxNum();
BigDecimal smallBoxNum = result.getSmallRangeTotalBoxNum();
// BigDecimal bigBoxNum = result.getBigRangeTotalBoxNum();
if(ObjectUtil.isNotEmpty(totalBoxNum)
&& totalBoxNum.compareTo(RetailConstants.VERTEX_V5_TOTAL_BOX) >= 0
&& smallBoxNum.compareTo(RetailConstants.VERTEX_V5_SMALL_BOX) >=0
){
return AjaxResult.success(RetailMemberRegionVO.builder()
.regionStatus(EYesNo.YES.getIntValue())
.build());
}
}else{
if(retailAchieve.getArealPv().compareTo(SysConstants.TOTAL_AREA_PV) >= 0
&& retailAchieve.getSmallAreaPv().compareTo(SysConstants.SMALL_AREA_PV) >=0
){
@ -193,6 +225,7 @@ public class RetailMemberController extends BaseController {
}
}
}
}
if(!canSet){
return AjaxResult.error("还未达到选择收益区域条件");
}