Compare commits
	
		
			No commits in common. "9d6fd9b7a886b4e92e3d6f762fefff80053ad152" and "503d993540adfcc1a3785d984fa291f5070acde9" have entirely different histories.
		
	
	
		
			9d6fd9b7a8
			...
			503d993540
		
	
		| 
						 | 
				
			
			@ -181,6 +181,7 @@ public class ApiRetailHomePageController extends BaseController {
 | 
			
		|||
     */
 | 
			
		||||
    @PostMapping("/market-dynamics")
 | 
			
		||||
    public AjaxResult getMarketDynamics(@RequestBody MarketDynamicsQueryDateParam param) {
 | 
			
		||||
        return AjaxResult.success(retailAchieveService.getMarketDynamics(param));
 | 
			
		||||
        retailAchieveService.getMarketDynamics(param);
 | 
			
		||||
        return AjaxResult.success();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,10 +2,8 @@ package com.hzs.retail.member.mapper;
 | 
			
		|||
 | 
			
		||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 | 
			
		||||
import com.hzs.common.domain.member.achieve.CuMemberRetailRange;
 | 
			
		||||
import com.hzs.retail.member.param.MarketDynamicsQueryDateParam;
 | 
			
		||||
import com.hzs.retail.member.vo.CuMemberRetailAchieveVO;
 | 
			
		||||
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO;
 | 
			
		||||
import com.hzs.retail.member.vo.MarketDynamicsDetailVO;
 | 
			
		||||
import org.apache.ibatis.annotations.Param;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
| 
						 | 
				
			
			@ -176,8 +174,6 @@ public interface CuMemberRetailRangeMapper extends BaseMapper<CuMemberRetailRang
 | 
			
		|||
     */
 | 
			
		||||
    List<CuMemberRetailDataStatisticsDetailVO> getRetailDataStatisticsDetail(CuMemberRetailAchieveVO cuMemberAchieveVO);
 | 
			
		||||
 | 
			
		||||
    List<MarketDynamicsDetailVO> getMarketDynamicsDetail(@Param("param") MarketDynamicsQueryDateParam param);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询当天自己新增盒数
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,7 +6,6 @@ import lombok.Data;
 | 
			
		|||
import lombok.NoArgsConstructor;
 | 
			
		||||
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
@Data
 | 
			
		||||
@AllArgsConstructor
 | 
			
		||||
| 
						 | 
				
			
			@ -18,7 +17,6 @@ import java.util.List;
 | 
			
		|||
public class MarketDynamicsQueryDateParam implements Serializable {
 | 
			
		||||
    private Long pkId;
 | 
			
		||||
    private String nowDate;
 | 
			
		||||
    private String yesterdayDate;
 | 
			
		||||
    private String lastMonthDate;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
| 
						 | 
				
			
			@ -30,8 +28,6 @@ public class MarketDynamicsQueryDateParam implements Serializable {
 | 
			
		|||
     */
 | 
			
		||||
    private String lastMonthTableName;
 | 
			
		||||
    private String currentDayTableName;
 | 
			
		||||
 | 
			
		||||
    private List<Long> pkIdList;
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询条件 (会员编号/会员姓名)
 | 
			
		||||
     */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,7 +3,6 @@ package com.hzs.retail.member.service;
 | 
			
		|||
import com.baomidou.mybatisplus.extension.service.IService;
 | 
			
		||||
import com.hzs.common.domain.member.achieve.CuMemberRetailRange;
 | 
			
		||||
import com.hzs.retail.member.param.MarketDynamicsQueryDateParam;
 | 
			
		||||
import com.hzs.retail.member.utils.PageResult;
 | 
			
		||||
import com.hzs.retail.member.vo.CuMemberRetailAchieveVO;
 | 
			
		||||
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO;
 | 
			
		||||
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO;
 | 
			
		||||
| 
						 | 
				
			
			@ -115,5 +114,5 @@ public interface ICuMemberRetailAchieveService extends IService<CuMemberRetailRa
 | 
			
		|||
     */
 | 
			
		||||
    CuMemberRetailDataStatisticsResultVO getRetailDataStatisticsDetail(Long pkMember, Integer pkCountry, Integer systemType);
 | 
			
		||||
 | 
			
		||||
    PageResult<MarketDynamicsDetailVO> getMarketDynamics(MarketDynamicsQueryDateParam param);
 | 
			
		||||
    List<MarketDynamicsDetailVO> getMarketDynamics(MarketDynamicsQueryDateParam param);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,7 +19,6 @@ import com.hzs.retail.member.mapper.CuMemberRetailRangeMapper;
 | 
			
		|||
import com.hzs.retail.member.param.MarketDynamicsQueryDateParam;
 | 
			
		||||
import com.hzs.retail.member.service.ICuMemberRetailAchieveService;
 | 
			
		||||
import com.hzs.retail.member.utils.DataStatisticsUtil;
 | 
			
		||||
import com.hzs.retail.member.utils.PageResult;
 | 
			
		||||
import com.hzs.retail.member.vo.CuMemberRetailAchieveVO;
 | 
			
		||||
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO;
 | 
			
		||||
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO;
 | 
			
		||||
| 
						 | 
				
			
			@ -308,20 +307,18 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
 | 
			
		|||
     */
 | 
			
		||||
    private String getTableName() {
 | 
			
		||||
        String localDate = LocalDate.now().minus(1, ChronoUnit.DAYS).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
 | 
			
		||||
        CuMemberSettlePeriod cuMemberSettlePeriod =iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate);
 | 
			
		||||
        if(ObjectUtil.isEmpty(cuMemberSettlePeriod)){
 | 
			
		||||
        int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate).getPkId();
 | 
			
		||||
        if(ObjectUtil.isEmpty(period)){
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
        int period = cuMemberSettlePeriod.getPkId();
 | 
			
		||||
        return TableNameConstants.CU_MEMBER_RETAIL_RANGE + period;
 | 
			
		||||
    }
 | 
			
		||||
    private String getDayTableName() {
 | 
			
		||||
        String localDate = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
 | 
			
		||||
        CuMemberSettlePeriod cuMemberSettlePeriod =iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate);
 | 
			
		||||
        if(ObjectUtil.isEmpty(cuMemberSettlePeriod)){
 | 
			
		||||
        int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate).getPkId();
 | 
			
		||||
        if(ObjectUtil.isEmpty(period)){
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
        int period = cuMemberSettlePeriod.getPkId();
 | 
			
		||||
        return TableNameConstants.CU_MEMBER_RETAIL_S + period;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -589,26 +586,19 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public PageResult<MarketDynamicsDetailVO> getMarketDynamics(MarketDynamicsQueryDateParam param) {
 | 
			
		||||
        Long pkMember = SecurityUtils.getUserId();
 | 
			
		||||
        Integer systemType = SecurityUtils.getSystemType();
 | 
			
		||||
 | 
			
		||||
    public List<MarketDynamicsDetailVO> getMarketDynamics(MarketDynamicsQueryDateParam param) {
 | 
			
		||||
        DataStatisticsUtil.setQueryDateParam(param);
 | 
			
		||||
        param.setCurrentDayTableName(getDayTableName());
 | 
			
		||||
        param.setCurrentMonthTableName(getDayTableName(param.getYesterdayDate()));
 | 
			
		||||
        param.setLastMonthTableName(getDayTableName(param.getLastMonthDate()));
 | 
			
		||||
        param.setCurrentMonthTableName(getDayTableName(param.getNowDate()));
 | 
			
		||||
        param.setCurrentDayTableName(getDayTableName(param.getLastMonthDate()));
 | 
			
		||||
        log.info("MarketDynamicsQueryDateParam : {}", JSONUtil.toJsonStr(param));
 | 
			
		||||
        List<Long> pkMemberList = baseMapper.selectDirectPushByPkMember(pkMember, systemType);
 | 
			
		||||
        param.setPkIdList(pkMemberList);
 | 
			
		||||
        List<MarketDynamicsDetailVO> detailVOList = baseMapper.getMarketDynamicsDetail(param);
 | 
			
		||||
        log.info("detailVOList : {}", JSONUtil.toJsonStr(detailVOList));
 | 
			
		||||
        return DataStatisticsUtil.getMarketDynamicsAssemblyData(detailVOList, param);
 | 
			
		||||
        return Collections.emptyList();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private String getDayTableName(String localDate) {
 | 
			
		||||
        CuMemberSettlePeriod cuMemberSettlePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate);
 | 
			
		||||
        if(ObjectUtil.isEmpty(cuMemberSettlePeriod)){
 | 
			
		||||
            return TableNameConstants.CU_MEMBER_RETAIL_RANGE;
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
        int period = cuMemberSettlePeriod.getPkId();
 | 
			
		||||
        return TableNameConstants.CU_MEMBER_RETAIL_RANGE + period;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,13 +1,11 @@
 | 
			
		|||
package com.hzs.retail.member.utils;
 | 
			
		||||
 | 
			
		||||
import cn.hutool.core.util.ObjectUtil;
 | 
			
		||||
import cn.hutool.core.util.StrUtil;
 | 
			
		||||
import com.hzs.common.core.enums.EYesNo;
 | 
			
		||||
import com.hzs.common.domain.member.base.CuMember;
 | 
			
		||||
import com.hzs.retail.member.param.MarketDynamicsQueryDateParam;
 | 
			
		||||
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO;
 | 
			
		||||
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO;
 | 
			
		||||
import com.hzs.retail.member.vo.MarketDynamicsDetailVO;
 | 
			
		||||
 | 
			
		||||
import java.math.BigDecimal;
 | 
			
		||||
import java.math.RoundingMode;
 | 
			
		||||
| 
						 | 
				
			
			@ -19,7 +17,6 @@ import java.util.ArrayList;
 | 
			
		|||
import java.util.Comparator;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Objects;
 | 
			
		||||
import java.util.stream.Collectors;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 用户统计数据工具
 | 
			
		||||
| 
						 | 
				
			
			@ -52,8 +49,7 @@ public class DataStatisticsUtil {
 | 
			
		|||
        calcDetailVOTotalField(detailVOList, pkId);
 | 
			
		||||
        addVirtualBranch(detailVOList, pkId);
 | 
			
		||||
        CuMemberRetailDataStatisticsDetailVO total = getDetailVOByPKID(detailVOList, pkId);
 | 
			
		||||
        CuMemberRetailDataStatisticsDetailVO bigRangeBox = getBigRangeBoxDetailVO(detailVOList, pkId);
 | 
			
		||||
        CuMemberRetailDataStatisticsDetailVO bigRangePv = getBigRangePVDetailVO(detailVOList, pkId);
 | 
			
		||||
        CuMemberRetailDataStatisticsDetailVO bigRange = getBigRangeDetailVO(detailVOList, pkId);
 | 
			
		||||
        if(EYesNo.NO.getIntValue() == cuMember.getIsActivate()){
 | 
			
		||||
            // 昨日非激活 排除昨日日结表数据
 | 
			
		||||
            excludeDailySettlementData(detailVOList);
 | 
			
		||||
| 
						 | 
				
			
			@ -61,19 +57,19 @@ public class DataStatisticsUtil {
 | 
			
		|||
            // 排除注水数据
 | 
			
		||||
            excludeWaterInjectionData(detailVOList, pkId);
 | 
			
		||||
        }
 | 
			
		||||
        Integer smallRangeTotalBoxNum = total.getTotalBoxNum() - bigRangeBox.getTotalBoxNum();
 | 
			
		||||
        Integer smallRangeTotalBoxNum = total.getTotalBoxNum() - bigRange.getTotalBoxNum();
 | 
			
		||||
        if(smallRangeTotalBoxNum < 0){
 | 
			
		||||
            smallRangeTotalBoxNum = 0;
 | 
			
		||||
        }
 | 
			
		||||
        BigDecimal smallRangeTotalPv = total.getTotalPv().subtract(bigRangePv.getTotalPv());
 | 
			
		||||
        BigDecimal smallRangeTotalPv = total.getTotalPv().subtract(bigRange.getTotalPv());
 | 
			
		||||
        if(smallRangeTotalPv.compareTo(BigDecimal.ZERO) < 0){
 | 
			
		||||
            smallRangeTotalPv = BigDecimal.ZERO;
 | 
			
		||||
        }
 | 
			
		||||
        return CuMemberRetailDataStatisticsResultVO.builder()
 | 
			
		||||
                .totalBoxNum(total.getTotalBoxNum())
 | 
			
		||||
                .totalPv(formatPV(total.getTotalPv()))
 | 
			
		||||
                .bigRangeTotalBoxNum(bigRangeBox.getTotalBoxNum())
 | 
			
		||||
                .bigRangeTotalPv(formatPV(bigRangePv.getTotalPv()))
 | 
			
		||||
                .bigRangeTotalBoxNum(bigRange.getTotalBoxNum())
 | 
			
		||||
                .bigRangeTotalPv(formatPV(bigRange.getTotalPv()))
 | 
			
		||||
                .smallRangeTotalBoxNum(smallRangeTotalBoxNum)
 | 
			
		||||
                .smallRangeTotalPv(formatPV(smallRangeTotalPv))
 | 
			
		||||
                .build();
 | 
			
		||||
| 
						 | 
				
			
			@ -223,23 +219,6 @@ public class DataStatisticsUtil {
 | 
			
		|||
        return detailVOList.parallelStream().filter(o -> o.getPkId().equals(pkId)).findFirst().orElse(null);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 组装市场动态列表数据
 | 
			
		||||
     * @param detailVOList
 | 
			
		||||
     */
 | 
			
		||||
    public static PageResult<MarketDynamicsDetailVO> getMarketDynamicsAssemblyData(List<MarketDynamicsDetailVO> detailVOList, MarketDynamicsQueryDateParam param){
 | 
			
		||||
        if(StrUtil.isNotEmpty(param.getKeyWords())){
 | 
			
		||||
            detailVOList = detailVOList.parallelStream().filter(o -> param.getKeyWords().contains(o.getMemberCode()) || param.getKeyWords().contains(o.getMemberName())).collect(Collectors.toList());
 | 
			
		||||
        }
 | 
			
		||||
        MarketDynamicsDetailVO bigRange = detailVOList.parallelStream()
 | 
			
		||||
                .max(Comparator.comparingInt(MarketDynamicsDetailVO::getTotalBoxNum))
 | 
			
		||||
                .orElse(null);
 | 
			
		||||
        detailVOList = detailVOList.parallelStream().filter(o -> !o.getPkId().equals(bigRange.getPkId())).collect(Collectors.toList());
 | 
			
		||||
        PageResult<MarketDynamicsDetailVO> result = MemoryPageUtils.paginate(detailVOList, param.getPageNum(), param.getPageSize());
 | 
			
		||||
        result.setBigRange(bigRange);
 | 
			
		||||
        return result;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private static Integer getMaxTotalBoxNum(List<CuMemberRetailDataStatisticsDetailVO> detailVOList) {
 | 
			
		||||
        return detailVOList.parallelStream()
 | 
			
		||||
                .map(CuMemberRetailDataStatisticsDetailVO::getTotalBoxNum)
 | 
			
		||||
| 
						 | 
				
			
			@ -247,18 +226,12 @@ public class DataStatisticsUtil {
 | 
			
		|||
                .max(Integer::compare)
 | 
			
		||||
                .orElse(null);
 | 
			
		||||
    }
 | 
			
		||||
    private static CuMemberRetailDataStatisticsDetailVO getBigRangeBoxDetailVO(List<CuMemberRetailDataStatisticsDetailVO> detailVOList, Long pkId){
 | 
			
		||||
        return detailVOList.stream()
 | 
			
		||||
    private static CuMemberRetailDataStatisticsDetailVO getBigRangeDetailVO(List<CuMemberRetailDataStatisticsDetailVO> detailVOList, Long pkId){
 | 
			
		||||
        return detailVOList.parallelStream()
 | 
			
		||||
                .filter(vo -> vo.getTotalBoxNum() != null && !vo.getPkId().equals(pkId))
 | 
			
		||||
                .max(Comparator.comparingInt(CuMemberRetailDataStatisticsDetailVO::getTotalBoxNum))
 | 
			
		||||
                .orElse(null);
 | 
			
		||||
    }
 | 
			
		||||
    private static CuMemberRetailDataStatisticsDetailVO getBigRangePVDetailVO(List<CuMemberRetailDataStatisticsDetailVO> detailVOList, Long pkId){
 | 
			
		||||
        return detailVOList.stream()
 | 
			
		||||
                .filter(vo -> vo.getTotalBoxNum() != null && !vo.getPkId().equals(pkId))
 | 
			
		||||
                .max(Comparator.comparing(CuMemberRetailDataStatisticsDetailVO::getTotalPv))
 | 
			
		||||
                .orElse(null);
 | 
			
		||||
    }
 | 
			
		||||
    public static BigDecimal formatPV(BigDecimal pv){
 | 
			
		||||
        return pv.divide(
 | 
			
		||||
                new BigDecimal("10000"),
 | 
			
		||||
| 
						 | 
				
			
			@ -269,11 +242,9 @@ public class DataStatisticsUtil {
 | 
			
		|||
    public static void setQueryDateParam(MarketDynamicsQueryDateParam param){
 | 
			
		||||
        LocalDate.now(ZoneId.of("Asia/Shanghai"));
 | 
			
		||||
        LocalDate currentDate = LocalDate.now();
 | 
			
		||||
        LocalDate yesterdayDate = currentDate.minusDays(1);
 | 
			
		||||
        LocalDate previousMonthDate = currentDate.minusMonths(1);
 | 
			
		||||
        LocalDate lastDayOfPreviousMonth = previousMonthDate.with(TemporalAdjusters.lastDayOfMonth());
 | 
			
		||||
        param.setNowDate(currentDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
 | 
			
		||||
        param.setYesterdayDate(yesterdayDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
 | 
			
		||||
        param.setLastMonthDate(lastDayOfPreviousMonth.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
 | 
			
		||||
//        System.out.println("当前日期: " + currentDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
 | 
			
		||||
//        System.out.println("上一个月最后一天: " + lastDayOfPreviousMonth.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,24 +0,0 @@
 | 
			
		|||
package com.hzs.retail.member.utils;
 | 
			
		||||
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
public class MemoryPageUtils {
 | 
			
		||||
    public static <T> PageResult<T> paginate(List<T> dataList, int pageNum, int pageSize) {
 | 
			
		||||
        // 校验参数有效性
 | 
			
		||||
        if (pageNum <= 0) pageNum = 1;
 | 
			
		||||
        if (pageSize <= 0) pageSize = 10; // 默认每页10条
 | 
			
		||||
 | 
			
		||||
        int total = dataList.size();
 | 
			
		||||
        int start = (pageNum - 1) * pageSize;
 | 
			
		||||
        if (start >= total) {
 | 
			
		||||
            return new PageResult<>(total, new ArrayList<>());
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // 计算结束索引(避免超出列表长度)
 | 
			
		||||
        int end = Math.min(start + pageSize, total);
 | 
			
		||||
        List<T> pageData = dataList.subList(start, end);
 | 
			
		||||
 | 
			
		||||
        return new PageResult<>(total, pageData);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,20 +0,0 @@
 | 
			
		|||
package com.hzs.retail.member.utils;
 | 
			
		||||
 | 
			
		||||
import com.hzs.retail.member.vo.MarketDynamicsDetailVO;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
@Data
 | 
			
		||||
public class PageResult<T> {
 | 
			
		||||
    private long total;
 | 
			
		||||
    private List<T> rows;
 | 
			
		||||
    private MarketDynamicsDetailVO bigRange;
 | 
			
		||||
 | 
			
		||||
    public PageResult(long total, List<T> rows) {
 | 
			
		||||
        this.total = total;
 | 
			
		||||
        this.rows = rows;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // getter/setter 省略
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -105,13 +105,5 @@ public class CuMemberRetailDataStatisticsDetailVO implements Serializable {
 | 
			
		|||
     */
 | 
			
		||||
    private Integer smallBoxNum;
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public CuMemberRetailDataStatisticsDetailVO clone() {
 | 
			
		||||
        try {
 | 
			
		||||
            return (CuMemberRetailDataStatisticsDetailVO) super.clone();
 | 
			
		||||
        } catch (CloneNotSupportedException e) {
 | 
			
		||||
            throw new AssertionError();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,10 +17,6 @@ import java.math.BigDecimal;
 | 
			
		|||
 * 市场动态列表对象
 | 
			
		||||
 */
 | 
			
		||||
public class MarketDynamicsDetailVO implements Serializable {
 | 
			
		||||
    /**
 | 
			
		||||
     * 用户ID
 | 
			
		||||
     */
 | 
			
		||||
    private Long pkId;
 | 
			
		||||
    /**
 | 
			
		||||
     * 用户编号
 | 
			
		||||
     */
 | 
			
		||||
| 
						 | 
				
			
			@ -32,13 +28,11 @@ public class MarketDynamicsDetailVO implements Serializable {
 | 
			
		|||
    /**
 | 
			
		||||
     * 结算等级
 | 
			
		||||
     */
 | 
			
		||||
    private Integer pkSettleGrade;
 | 
			
		||||
    private String gradeName;
 | 
			
		||||
    private String pkSettleGrade;
 | 
			
		||||
    /**
 | 
			
		||||
     * 真实奖衔
 | 
			
		||||
     */
 | 
			
		||||
    private Integer pkAwards;
 | 
			
		||||
    private String awardsName;
 | 
			
		||||
    private String pkAwards;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 今日业绩
 | 
			
		||||
| 
						 | 
				
			
			@ -77,9 +71,4 @@ public class MarketDynamicsDetailVO implements Serializable {
 | 
			
		|||
     * 上月盒数
 | 
			
		||||
     */
 | 
			
		||||
    private Integer lastMonthBoxNum;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 累计消费盒数
 | 
			
		||||
     */
 | 
			
		||||
    private Integer totalBoxNum;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -872,40 +872,4 @@
 | 
			
		|||
            </if>
 | 
			
		||||
        </where>
 | 
			
		||||
    </select>
 | 
			
		||||
    <select id="getMarketDynamicsDetail" resultType="com.hzs.retail.member.vo.MarketDynamicsDetailVO">
 | 
			
		||||
        SELECT
 | 
			
		||||
            cu.pk_id,
 | 
			
		||||
            cu.MEMBER_CODE,
 | 
			
		||||
            cu.MEMBER_NAME,
 | 
			
		||||
            cu.PK_SETTLE_GRADE,
 | 
			
		||||
            grade.GRADE_NAME,
 | 
			
		||||
            cu.PK_AWARDS,
 | 
			
		||||
            awards.AWARDS_NAME,
 | 
			
		||||
            currentMonth.ENABLE_STATUS,
 | 
			
		||||
            NVL( currentDay.NEW_CONSUME_PV + currentDay.TEAM_NEW_PV, 0 ) todayPv,
 | 
			
		||||
            NVL( currentDay.NEW_BOX_NUM + currentDay.TEAM_NEW_BOX_NUM, 0 ) todayBoxNum,
 | 
			
		||||
            NVL( currentMonth.NEW_CONSUME_PV + currentMonth.TEAM_NEW_PV, 0 ) yesterdayPv,
 | 
			
		||||
            NVL( currentMonth.NEW_BOX_NUM + currentMonth.TEAM_NEW_BOX_NUM, 0 ) yesterdayBoxNum,
 | 
			
		||||
            NVL( currentMonth.MONTH_CONSUME_PV, 0 ) currentMonthPv,
 | 
			
		||||
            NVL( currentMonth.MONTH_BOX_NUM , 0 ) currentMonthBoxNum,
 | 
			
		||||
            NVL( lastMonth.MONTH_CONSUME_PV, 0 ) lastMonthPv,
 | 
			
		||||
            NVL( lastMonth.MONTH_BOX_NUM, 0 ) lastMonthBoxNum,
 | 
			
		||||
            NVL( currentMonth.CONSUME_BOX_NUM + currentDay.NEW_BOX_NUM + currentDay.TEAM_NEW_BOX_NUM, 0 ) totalBoxNum
 | 
			
		||||
        FROM
 | 
			
		||||
            cu_member cu
 | 
			
		||||
                LEFT JOIN ${param.currentDayTableName} currentDay ON cu.PK_ID = currentDay.PK_MEMBER
 | 
			
		||||
                LEFT JOIN ${param.currentMonthTableName} currentMonth ON cu.PK_ID = currentMonth.PK_MEMBER AND cu.CATEGORY = 0
 | 
			
		||||
                LEFT JOIN ${param.lastMonthTableName} lastMonth ON cu.PK_ID = lastMonth.PK_MEMBER AND cu.CATEGORY = 0
 | 
			
		||||
                LEFT JOIN BD_GRADE grade on grade.PK_ID = cu.PK_SETTLE_GRADE
 | 
			
		||||
                LEFT JOIN BD_AWARDS awards on awards.PK_ID = cu.PK_AWARDS
 | 
			
		||||
        <where>
 | 
			
		||||
            <if test="param.pkIdList != null and param.pkIdList.size > 0">
 | 
			
		||||
                cu.pk_id in
 | 
			
		||||
                <foreach collection="param.pkIdList" item="pkMember" separator="," open="(" close=")">
 | 
			
		||||
                    #{pkMember}
 | 
			
		||||
                </foreach>
 | 
			
		||||
            </if>
 | 
			
		||||
        </where>
 | 
			
		||||
        order by totalBoxNum desc, todayPv desc, cu.CREATION_TIME desc, cu.pk_id asc
 | 
			
		||||
    </select>
 | 
			
		||||
</mapper>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue