Compare commits

...

6 Commits

Author SHA1 Message Date
sangelxiu1 b70912aebb ## Feat - 选择区域
首次选择区域(CU_MEMBER_RETAIL_REGION中没有memberid) 不验业绩 验盒数
                	雨汐 总2000 小400
                	其他 BD_GRADE -> BOX_TOTAL,BOX_SMALL_TOTAL
2025-08-01 16:09:42 +08:00
sangelxiu1 57eb8dfeea ## Feat - 雨汐团队选取区域特殊逻辑 2025-08-01 16:09:41 +08:00
sangelxiu1 54d3f48f70 ## Feat - 雨汐团队选取区域特殊逻辑 2025-08-01 16:09:41 +08:00
cabbage 50d91db43b ## 提取雨汐团队写死配置; 2025-08-01 16:09:41 +08:00
sangelxiu1 ccba36e01a ## Feat - 雨汐团队选取区域特殊逻辑 2025-08-01 16:09:40 +08:00
sangelxiu1 a7979f93ea ## Feat - 体系banner 2025-08-01 16:09:40 +08:00
11 changed files with 171 additions and 61 deletions

View File

@ -65,17 +65,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
@DubboReference @DubboReference
ICuMemberServiceLogServiceApi iCuMemberServiceLogServiceApi; ICuMemberServiceLogServiceApi iCuMemberServiceLogServiceApi;
/**
* 特殊体系PK_ID: 150
* V4 500 100
* V5 2000 400
*/
public static final Long VERTEX_PK_ID = 150L;
public static final BigDecimal VERTEX_V4_TOTAL_BOX = new BigDecimal("500");
public static final BigDecimal VERTEX_V4_SMALL_BOX = new BigDecimal("100");
public static final BigDecimal VERTEX_V5_TOTAL_BOX = new BigDecimal("2000");
public static final BigDecimal VERTEX_V5_SMALL_BOX = new BigDecimal("400");
/** /**
* 秒结 * 秒结
* 实时计算秒结数据业绩盒数等级奖衔日奖 * 实时计算秒结数据业绩盒数等级奖衔日奖
@ -739,16 +728,16 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 等级小市场盒数 // 等级小市场盒数
BigDecimal boxSmallTotal = bdGrade.getBoxSmallTotal(); BigDecimal boxSmallTotal = bdGrade.getBoxSmallTotal();
if (VERTEX_PK_ID.equals(targetMemberRangeExt.getPkVertex())) { if (RetailConstants.VERTEX_PK_ID.equals(targetMemberRangeExt.getPkVertex())) {
// TODO 需要根据配置写死的体系进行单独处理 // TODO 需要根据配置写死的体系进行单独处理
// V4 500 100 // V4 500 100
// V5 2000 400 // V5 2000 400
if (EGrade.VIP.getValue() == bdGrade.getGradeValue()) { if (EGrade.VIP.getValue() == bdGrade.getGradeValue()) {
boxTotal = VERTEX_V4_TOTAL_BOX; boxTotal = RetailConstants.VERTEX_V4_TOTAL_BOX;
boxSmallTotal = VERTEX_V4_SMALL_BOX; boxSmallTotal = RetailConstants.VERTEX_V4_SMALL_BOX;
} else if (EGrade.S_VIP.getValue() == bdGrade.getGradeValue()) { } else if (EGrade.S_VIP.getValue() == bdGrade.getGradeValue()) {
boxTotal = VERTEX_V5_TOTAL_BOX; boxTotal = RetailConstants.VERTEX_V5_TOTAL_BOX;
boxSmallTotal = VERTEX_V5_SMALL_BOX; boxSmallTotal = RetailConstants.VERTEX_V5_SMALL_BOX;
} }
} }
@ -988,16 +977,16 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 等级小市场盒数 // 等级小市场盒数
BigDecimal boxSmallTotal = bdGrade.getBoxSmallTotal(); BigDecimal boxSmallTotal = bdGrade.getBoxSmallTotal();
if (VERTEX_PK_ID.equals(targetMemberRangeExt.getPkVertex())) { if (RetailConstants.VERTEX_PK_ID.equals(targetMemberRangeExt.getPkVertex())) {
// TODO 需要根据配置写死的体系进行单独处理 // TODO 需要根据配置写死的体系进行单独处理
// V4 500 100 // V4 500 100
// V5 2000 400 // V5 2000 400
if (EGrade.VIP.getValue() == bdGrade.getGradeValue()) { if (EGrade.VIP.getValue() == bdGrade.getGradeValue()) {
boxTotal = VERTEX_V4_TOTAL_BOX; boxTotal = RetailConstants.VERTEX_V4_TOTAL_BOX;
boxSmallTotal = VERTEX_V4_SMALL_BOX; boxSmallTotal = RetailConstants.VERTEX_V4_SMALL_BOX;
} else if (EGrade.S_VIP.getValue() == bdGrade.getGradeValue()) { } else if (EGrade.S_VIP.getValue() == bdGrade.getGradeValue()) {
boxTotal = VERTEX_V5_TOTAL_BOX; boxTotal = RetailConstants.VERTEX_V5_TOTAL_BOX;
boxSmallTotal = VERTEX_V5_SMALL_BOX; boxSmallTotal = RetailConstants.VERTEX_V5_SMALL_BOX;
} }
} }

View File

@ -8,8 +8,10 @@ import cn.hutool.core.lang.tree.TreeUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONObject; import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.hzs.common.core.annotation.RepeatSubmitSimple; 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.SysConstants;
import com.hzs.common.core.constant.msg.AreaConstants; import com.hzs.common.core.constant.msg.AreaConstants;
import com.hzs.common.core.enums.EGrade; import com.hzs.common.core.enums.EGrade;
@ -24,23 +26,25 @@ import com.hzs.common.domain.member.ext.CuMemberExt;
import com.hzs.common.domain.retail.member.CuMemberRetailRegion; import com.hzs.common.domain.retail.member.CuMemberRetailRegion;
import com.hzs.common.domain.retail.member.ext.CuMemberRetailRegionExt; import com.hzs.common.domain.retail.member.ext.CuMemberRetailRegionExt;
import com.hzs.common.domain.system.base.BdArea; import com.hzs.common.domain.system.base.BdArea;
import com.hzs.common.domain.system.config.BdGrade;
import com.hzs.common.security.utils.SecurityUtils; import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.member.base.service.ICuMemberService; import com.hzs.member.base.service.ICuMemberService;
import com.hzs.retail.member.param.RetailMemberRegionParam; import com.hzs.retail.member.param.RetailMemberRegionParam;
import com.hzs.retail.member.service.ICuMemberRetailAchieveService; import com.hzs.retail.member.service.ICuMemberRetailAchieveService;
import com.hzs.retail.member.service.ICuMemberRetailRegionService; import com.hzs.retail.member.service.ICuMemberRetailRegionService;
import com.hzs.retail.member.service.IMemberRetailService; import com.hzs.retail.member.service.IMemberRetailService;
import com.hzs.retail.member.vo.CuMemberRetailAchieveVO; import com.hzs.retail.member.vo.*;
import com.hzs.retail.member.vo.RecommendListVO;
import com.hzs.retail.member.vo.RetailMemberInfoVO;
import com.hzs.retail.member.vo.RetailMemberRegionVO;
import com.hzs.system.base.IAreaServiceApi; import com.hzs.system.base.IAreaServiceApi;
import com.hzs.system.config.IGradeServiceApi;
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.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid; import javax.validation.Valid;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -60,9 +64,13 @@ public class RetailMemberController extends BaseController {
private ICuMemberRetailRegionService iCuMemberRetailRegionService; private ICuMemberRetailRegionService iCuMemberRetailRegionService;
@Autowired @Autowired
private ICuMemberRetailAchieveService iCuMemberRetailAchieveService; private ICuMemberRetailAchieveService iCuMemberRetailAchieveService;
@Autowired
private ICuMemberRetailAchieveService retailAchieveService;
@DubboReference @DubboReference
IAreaServiceApi iAreaServiceApi; IAreaServiceApi iAreaServiceApi;
@DubboReference
private IGradeServiceApi gradeServiceApi;
/** /**
* 获取登录会员信息 * 获取登录会员信息
@ -98,6 +106,11 @@ public class RetailMemberController extends BaseController {
Integer pkCountry = SecurityUtils.getPkCountry(); Integer pkCountry = SecurityUtils.getPkCountry();
CuMemberRetailRegionExt cuMemberRetailRegionExt = iCuMemberRetailRegionService.getRegionByMember(userId, EGrade.S_VIP.getValue(), systemType); CuMemberRetailRegionExt cuMemberRetailRegionExt = iCuMemberRetailRegionService.getRegionByMember(userId, EGrade.S_VIP.getValue(), systemType);
LambdaQueryWrapper<CuMemberRetailRegion> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(CuMemberRetailRegion::getPkMember, userId);
int countNum = iCuMemberRetailRegionService.count(queryWrapper);
boolean isFirst = countNum > 0;
log.info("cuMemberRetailRegionExt -> {}", JSONUtil.toJsonStr(cuMemberRetailRegionExt)); log.info("cuMemberRetailRegionExt -> {}", JSONUtil.toJsonStr(cuMemberRetailRegionExt));
if (null != cuMemberRetailRegionExt) { if (null != cuMemberRetailRegionExt) {
// 已自选区域或者已后台指定 // 已自选区域或者已后台指定
@ -122,17 +135,40 @@ public class RetailMemberController extends BaseController {
.build()); .build());
} }
if(EYesNo.YES.getIntValue() == cuMemberRetailRegionExt.getIsActivate()){ if(EYesNo.YES.getIntValue() == cuMemberRetailRegionExt.getIsActivate()){
CuMemberRetailAchieveVO retailAchieve = iCuMemberRetailAchieveService.selectMemberSumAchieve(userId, pkCountry, systemType); CuMemberRetailDataStatisticsResultVO result = retailAchieveService.getRetailDataStatisticsDetail(userId, pkCountry, systemType);
log.info("retailAchieve : {}", JSONUtil.toJsonStr(retailAchieve)); BigDecimal totalBoxNum = result.getTotalBoxNum();
if(ObjectUtil.isNotEmpty(retailAchieve.getArealPv()) BigDecimal smallBoxNum = result.getSmallRangeTotalBoxNum();
&& retailAchieve.getArealPv().compareTo(SysConstants.TOTAL_AREA_PV) >= 0 CuMemberExt memberExt = iCuMemberService.getMemberById(userId);
&& retailAchieve.getSmallAreaPv().compareTo(SysConstants.SMALL_AREA_PV) >=0 if(memberExt.getPkVertex().equals(RetailConstants.VERTEX_PK_ID)){
// 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() return AjaxResult.success(RetailMemberRegionVO.builder()
.regionStatus(EYesNo.YES.getIntValue()) .regionStatus(EYesNo.YES.getIntValue())
.build()); .build());
} }
}else{
GradeDTO grade = gradeServiceApi.getGradeByGradeValue(EGrade.S_VIP.getValue(), pkCountry).getData();
if(ObjectUtil.isNotEmpty(totalBoxNum)
&& totalBoxNum.compareTo(grade.getBoxTotal()) >= 0
&& smallBoxNum.compareTo(grade.getBoxSmallTotal()) >=0
){
return AjaxResult.success(RetailMemberRegionVO.builder()
.regionStatus(EYesNo.YES.getIntValue())
.build());
}
// if(ObjectUtil.isNotEmpty(retailAchieve.getArealPv())
// && result.getTotalPv().multiply(new BigDecimal("10000")).compareTo(SysConstants.TOTAL_AREA_PV) >= 0
// && result.getSmallRangeTotalPv().multiply(new BigDecimal("10000")).compareTo(SysConstants.SMALL_AREA_PV) >=0
// ){
//
// return AjaxResult.success(RetailMemberRegionVO.builder()
// .regionStatus(EYesNo.YES.getIntValue())
// .build());
// }
}
} }
// 达到条件但是没有选择区域需要弹窗选择区域 // 达到条件但是没有选择区域需要弹窗选择区域
// 验证伞下业绩+自己是否累计30W // 验证伞下业绩+自己是否累计30W
@ -185,12 +221,32 @@ public class RetailMemberController extends BaseController {
canSet = true; canSet = true;
} }
if(EYesNo.YES.getIntValue() == cuMemberRetailRegionExt.getIsActivate()){ if(EYesNo.YES.getIntValue() == cuMemberRetailRegionExt.getIsActivate()){
CuMemberRetailAchieveVO retailAchieve = iCuMemberRetailAchieveService.selectMemberSumAchieve(userId, pkCountry, systemType); CuMemberRetailDataStatisticsResultVO result = retailAchieveService.getRetailDataStatisticsDetail(userId, pkCountry, systemType);
if(retailAchieve.getArealPv().compareTo(SysConstants.TOTAL_AREA_PV) >= 0 BigDecimal totalBoxNum = result.getTotalBoxNum();
&& retailAchieve.getSmallAreaPv().compareTo(SysConstants.SMALL_AREA_PV) >=0 BigDecimal smallBoxNum = result.getSmallRangeTotalBoxNum();
CuMemberExt memberExt = iCuMemberService.getMemberById(userId);
if(memberExt.getPkVertex().equals(RetailConstants.VERTEX_PK_ID)){
// BigDecimal bigBoxNum = result.getBigRangeTotalBoxNum();
if(ObjectUtil.isNotEmpty(totalBoxNum)
&& totalBoxNum.compareTo(RetailConstants.VERTEX_V5_TOTAL_BOX) >= 0
&& smallBoxNum.compareTo(RetailConstants.VERTEX_V5_SMALL_BOX) >=0
){ ){
canSet = true; canSet = true;
} }
}else{
GradeDTO grade = gradeServiceApi.getGradeByGradeValue(EGrade.S_VIP.getValue(), pkCountry).getData();
if(ObjectUtil.isNotEmpty(totalBoxNum)
&& totalBoxNum.compareTo(grade.getBoxTotal()) >= 0
&& smallBoxNum.compareTo(grade.getBoxSmallTotal()) >=0
){
canSet = true;
}
// if(result.getTotalPv().multiply(new BigDecimal("10000")).compareTo(SysConstants.TOTAL_AREA_PV) >= 0
// && result.getSmallRangeTotalPv().multiply(new BigDecimal("10000")).compareTo(SysConstants.SMALL_AREA_PV) >=0
// ){
// canSet = true;
// }
}
} }
} }
if(!canSet){ if(!canSet){

View File

@ -6,6 +6,7 @@ import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.domain.AjaxResult; import com.hzs.common.core.web.domain.AjaxResult;
import com.hzs.common.core.web.page.TableDataInfo; import com.hzs.common.core.web.page.TableDataInfo;
import com.hzs.common.domain.system.config.BdAdvertBanner; import com.hzs.common.domain.system.config.BdAdvertBanner;
import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.system.config.service.IBdAdvertBannerService; import com.hzs.system.config.service.IBdAdvertBannerService;
import com.hzs.system.config.vo.ApiAdvertBannerVO; import com.hzs.system.config.vo.ApiAdvertBannerVO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -38,7 +39,7 @@ public class ApiBdAdvertBannerController extends BaseController {
**/ **/
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(BdAdvertBanner banner) { public TableDataInfo list(BdAdvertBanner banner) {
List<BdAdvertBanner> list = advertBannerService.listData(banner); List<BdAdvertBanner> list = advertBannerService.listData(banner, SecurityUtils.getUserId());
return getDataTable(list); return getDataTable(list);
} }
@ -52,7 +53,7 @@ public class ApiBdAdvertBannerController extends BaseController {
// 返回结果 // 返回结果
List<ApiAdvertBannerVO> resultList = new ArrayList<>(); List<ApiAdvertBannerVO> resultList = new ArrayList<>();
List<BdAdvertBanner> list = advertBannerService.listData(null); List<BdAdvertBanner> list = advertBannerService.listData(null, SecurityUtils.getUserId());
if (CollectionUtil.isNotEmpty(list)) { if (CollectionUtil.isNotEmpty(list)) {
resultList = BeanUtil.copyToList(list, ApiAdvertBannerVO.class); resultList = BeanUtil.copyToList(list, ApiAdvertBannerVO.class);
} }

View File

@ -44,20 +44,21 @@ public class BdAdvertBannerController extends BaseController {
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(BdAdvertBannerExt advertBannerExt) { public TableDataInfo list(BdAdvertBannerExt advertBannerExt) {
startPage(); startPage();
QueryWrapper<BdAdvertBanner> queryWrapper = new QueryWrapper<>(); // QueryWrapper<BdAdvertBanner> queryWrapper = new QueryWrapper<>();
if (StringUtils.isNotNull(advertBannerExt.getPosition())) { // if (StringUtils.isNotNull(advertBannerExt.getPosition())) {
queryWrapper.eq("POSITION", advertBannerExt.getPosition()); // queryWrapper.eq("POSITION", advertBannerExt.getPosition());
} // }
if (StringUtils.isNotNull(advertBannerExt.getStartDate()) // if (StringUtils.isNotNull(advertBannerExt.getStartDate())
&& StringUtils.isNotNull(advertBannerExt.getEndDate())) { // && StringUtils.isNotNull(advertBannerExt.getEndDate())) {
queryWrapper.between("CREATION_TIME", advertBannerExt.getStartDate(), advertBannerExt.getEndDate()); // queryWrapper.between("CREATION_TIME", advertBannerExt.getStartDate(), advertBannerExt.getEndDate());
} // }
if (StringUtils.isNotNull(advertBannerExt.getStartEffectiveDate()) // if (StringUtils.isNotNull(advertBannerExt.getStartEffectiveDate())
&& StringUtils.isNotNull(advertBannerExt.getEndEffectiveDate())) { // && StringUtils.isNotNull(advertBannerExt.getEndEffectiveDate())) {
queryWrapper.between("EFFECTIVE_DATE", advertBannerExt.getStartEffectiveDate(), advertBannerExt.getEndEffectiveDate()); // queryWrapper.between("EFFECTIVE_DATE", advertBannerExt.getStartEffectiveDate(), advertBannerExt.getEndEffectiveDate());
} // }
queryWrapper.orderByAsc("SORT"); // queryWrapper.orderByAsc("SORT");
List<BdAdvertBanner> list = advertBannerService.list(queryWrapper); // List<BdAdvertBanner> list = advertBannerService.list(queryWrapper);
List<BdAdvertBanner> list = advertBannerService.getList(advertBannerExt);
if (CollectionUtil.isNotEmpty(list)) { if (CollectionUtil.isNotEmpty(list)) {
for (BdAdvertBanner bdAdvertBanner : list) { for (BdAdvertBanner bdAdvertBanner : list) {
EPositionTwo ePositionTwo = EPositionTwo.getEnumByValue(bdAdvertBanner.getPosition()); EPositionTwo ePositionTwo = EPositionTwo.getEnumByValue(bdAdvertBanner.getPosition());

View File

@ -3,6 +3,10 @@ package com.hzs.system.config.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.system.config.BdAdvertBanner; import com.hzs.common.domain.system.config.BdAdvertBanner;
import com.hzs.common.domain.system.config.ext.BdAdvertBannerExt;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* <p> * <p>
@ -13,5 +17,5 @@ import com.hzs.common.domain.system.config.BdAdvertBanner;
* @since 2023-04-13 * @since 2023-04-13
*/ */
public interface BdAdvertBannerMapper extends BaseMapper<BdAdvertBanner> { public interface BdAdvertBannerMapper extends BaseMapper<BdAdvertBanner> {
List<BdAdvertBanner> getList(@Param("param") BdAdvertBannerExt param);
} }

View File

@ -2,6 +2,7 @@ package com.hzs.system.config.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.system.config.BdAdvertBanner; import com.hzs.common.domain.system.config.BdAdvertBanner;
import com.hzs.common.domain.system.config.ext.BdAdvertBannerExt;
import java.util.List; import java.util.List;
@ -19,6 +20,9 @@ public interface IBdAdvertBannerService extends IService<BdAdvertBanner> {
* @param banner 查询banner * @param banner 查询banner
* @return * @return
*/ */
List<BdAdvertBanner> listData(BdAdvertBanner banner); // List<BdAdvertBanner> listData(BdAdvertBanner banner);
List<BdAdvertBanner> listData(BdAdvertBanner banner, Long userId);
List<BdAdvertBanner> getList(BdAdvertBannerExt param);
} }

View File

@ -1,13 +1,18 @@
package com.hzs.system.config.service.impl; package com.hzs.system.config.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.common.core.constant.CountryConstants; import com.hzs.common.core.constant.CountryConstants;
import com.hzs.common.core.enums.EPositionTwo; import com.hzs.common.core.enums.EPositionTwo;
import com.hzs.common.core.utils.StringUtils; import com.hzs.common.core.utils.StringUtils;
import com.hzs.common.domain.member.base.CuMember;
import com.hzs.common.domain.system.config.BdAdvertBanner; import com.hzs.common.domain.system.config.BdAdvertBanner;
import com.hzs.common.domain.system.config.ext.BdAdvertBannerExt;
import com.hzs.member.base.IMemberServiceApi;
import com.hzs.system.config.mapper.BdAdvertBannerMapper; import com.hzs.system.config.mapper.BdAdvertBannerMapper;
import com.hzs.system.config.service.IBdAdvertBannerService; import com.hzs.system.config.service.IBdAdvertBannerService;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Date; import java.util.Date;
@ -22,12 +27,14 @@ import java.util.List;
@Service @Service
public class BdAdvertBannerServiceImpl extends ServiceImpl<BdAdvertBannerMapper, BdAdvertBanner> implements IBdAdvertBannerService { public class BdAdvertBannerServiceImpl extends ServiceImpl<BdAdvertBannerMapper, BdAdvertBanner> implements IBdAdvertBannerService {
@DubboReference
IMemberServiceApi iMemberServiceApi;
@Override @Override
public List<BdAdvertBanner> listData(BdAdvertBanner banner) { public List<BdAdvertBanner> listData(BdAdvertBanner banner, Long userId) {
if (null == banner) { if (null == banner) {
banner = new BdAdvertBanner(); banner = new BdAdvertBanner();
} }
CuMember cuMember = iMemberServiceApi.getMember(userId).getData();
LambdaQueryWrapper<BdAdvertBanner> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<BdAdvertBanner> queryWrapper = new LambdaQueryWrapper<>();
if (StringUtils.isNotNull(banner.getPosition())) { if (StringUtils.isNotNull(banner.getPosition())) {
queryWrapper.eq(BdAdvertBanner::getPosition, banner.getPosition()); queryWrapper.eq(BdAdvertBanner::getPosition, banner.getPosition());
@ -35,10 +42,20 @@ public class BdAdvertBannerServiceImpl extends ServiceImpl<BdAdvertBannerMapper,
// 默认首页的banner // 默认首页的banner
queryWrapper.eq(BdAdvertBanner::getPosition, EPositionTwo.POSITION_ONE.getValue()); queryWrapper.eq(BdAdvertBanner::getPosition, EPositionTwo.POSITION_ONE.getValue());
} }
if(ObjectUtil.isEmpty(cuMember)){
queryWrapper.isNull(BdAdvertBanner::getPkVertex);
}else{
queryWrapper.and(qw -> qw.isNull(BdAdvertBanner::getPkVertex).or().eq(BdAdvertBanner::getPkVertex, cuMember.getPkVertex()));
}
queryWrapper.eq(BdAdvertBanner::getPkCountry, CountryConstants.CHINA_COUNTRY); queryWrapper.eq(BdAdvertBanner::getPkCountry, CountryConstants.CHINA_COUNTRY);
queryWrapper.lt(BdAdvertBanner::getEffectiveDate, new Date()); queryWrapper.lt(BdAdvertBanner::getEffectiveDate, new Date());
queryWrapper.orderByAsc(BdAdvertBanner::getSort); queryWrapper.orderByAsc(BdAdvertBanner::getSort);
return this.list(); return this.list(queryWrapper);
}
@Override
public List<BdAdvertBanner> getList(BdAdvertBannerExt param) {
return baseMapper.getList(param);
} }
} }

View File

@ -28,5 +28,24 @@
PK_MODIFIED, PK_MODIFIED,
PK_ID, POSITION, EFFECTIVE_DATE, SORT, PICTURE, LINK PK_ID, POSITION, EFFECTIVE_DATE, SORT, PICTURE, LINK
</sql> </sql>
<select id="getList" resultType="com.hzs.common.domain.system.config.BdAdvertBanner">
select bab.*, bv.VERTEX_NAME as vertexName from BD_ADVERT_BANNER bab
left join BD_VERTEX bv on bv.pk_id = bab.PK_VERTEX
where 1=1
<if test="param.position != null">
and bab.position = #{position}
</if>
<if test="param.startDate != null and param.endDate != null">
and bab.CREATION_TIME between #{param.startDate} and #{param.endDate}
</if>
<if test="param.startEffectiveDate != null and param.endEffectiveDate != null">
and bab.effectiveDate between #{param.startEffectiveDate} and #{param.endEffectiveDate}
</if>
<if test="param.pkVertex != null">
and bab.PK_VERTEX = #{param.pkVertex}
</if>
and bab.del_flag = 0
order by bab.sort asc
</select>
</mapper> </mapper>

View File

@ -18,6 +18,17 @@ public class RetailConstants {
*/ */
public static final BigDecimal SAME_RATIO = new BigDecimal("0.005"); public static final BigDecimal SAME_RATIO = new BigDecimal("0.005");
/**
* 特殊体系PK_ID: 150
* V4 500 100
* V5 2000 400
*/
public static final Long VERTEX_PK_ID = 150L;
public static final BigDecimal VERTEX_V4_TOTAL_BOX = new BigDecimal("500");
public static final BigDecimal VERTEX_V4_SMALL_BOX = new BigDecimal("100");
public static final BigDecimal VERTEX_V5_TOTAL_BOX = new BigDecimal("2000");
public static final BigDecimal VERTEX_V5_SMALL_BOX = new BigDecimal("400");
/** /**
* 盒数产品列表 * 盒数产品列表
*/ */

View File

@ -72,5 +72,10 @@ public class BdAdvertBanner extends BaseEntity {
@TableField("LINK") @TableField("LINK")
private String link; private String link;
@TableField("PK_VERTEX")
private Integer pkVertex;
@TableField(exist = false)
private String vertexName;
} }

View File

@ -0,0 +1,3 @@
ALTER TABLE "BD_ADVERT_BANNER"
ADD ("PK_VERTEX" NUMBER(6,0));
COMMENT ON COLUMN "BD_ADVERT_BANNER"."PK_VERTEX" IS '体系ID';