Compare commits
	
		
			5 Commits
		
	
	
		
			ca6017cc4c
			...
			0fa7c1901e
		
	
	| Author | SHA1 | Date | 
|---|---|---|
|  | 0fa7c1901e | |
|  | c1c90edab8 | |
|  | 0dccb9792f | |
|  | ca0321a43a | |
|  | 9a00a7dc5e | 
|  | @ -121,7 +121,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|         for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { |         for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { | ||||||
|             if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) { |             if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) { | ||||||
|                 boxNum += saOrderItems.getWaresQuantity(); |                 boxNum += saOrderItems.getWaresQuantity(); | ||||||
|                 break; |  | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         saOrderExt.setBoxNum(boxNum); |         saOrderExt.setBoxNum(boxNum); | ||||||
|  | @ -259,7 +258,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|         for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { |         for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { | ||||||
|             if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) { |             if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) { | ||||||
|                 boxNum += saOrderItems.getWaresQuantity(); |                 boxNum += saOrderItems.getWaresQuantity(); | ||||||
|                 break; |  | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         saOrderExt.setBoxNum(boxNum); |         saOrderExt.setBoxNum(boxNum); | ||||||
|  | @ -486,7 +484,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|                 for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { |                 for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { | ||||||
|                     if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) { |                     if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) { | ||||||
|                         boxNum += saOrderItems.getWaresQuantity(); |                         boxNum += saOrderItems.getWaresQuantity(); | ||||||
|                         break; |  | ||||||
|                     } |                     } | ||||||
|                 } |                 } | ||||||
|                 // 个人累计消费pv |                 // 个人累计消费pv | ||||||
|  | @ -1599,14 +1596,26 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|             return null; |             return null; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         // 区域收益,商品价格 * 0.5% * 商品数量 |  | ||||||
|         // 处理区域收益 -- 计算比例为 0.5% |         // 处理区域收益 -- 计算比例为 0.5% | ||||||
|         BigDecimal benefitIncome = BigDecimal.ZERO; |         BigDecimal benefitIncome = BigDecimal.ZERO; | ||||||
|         // 计算业绩(此处作为比例) |         if (EOrderType.RETAIL_REGISTER.getValue() == saOrder.getOrderType() | ||||||
|         BigDecimal calAchieve = BigDecimal.ZERO; |                 || EOrderType.RETAIL_UPGRADE.getValue() == saOrder.getOrderType()) { | ||||||
|         for (SaOrderWaresExt saOrderWaresExt : saOrder.getOrderWaresExtList()) { |             // 注册、升级订单, 区域收益 = 商品价格 * 0.5% * 商品数量 | ||||||
|             benefitIncome = benefitIncome.add(saOrderWaresExt.getWaresPrice().multiply(RetailConstants.SAME_RATIO)).setScale(6, BigDecimal.ROUND_HALF_UP); |             for (SaOrderWaresExt saOrderWaresExt : saOrder.getOrderWaresExtList()) { | ||||||
|             calAchieve = calAchieve.add(saOrderWaresExt.getWaresPrice()); |                 // 商品最终价格 | ||||||
|  |                 BigDecimal waresPrice = saOrderWaresExt.getWaresPrice(); | ||||||
|  |                 // 商品数量 | ||||||
|  |                 BigDecimal waresQuantityBig = new BigDecimal(saOrderWaresExt.getWaresQuantity()); | ||||||
|  |                 // 单个商品价格 | ||||||
|  |                 BigDecimal waresOnePrice = waresPrice.divide(waresQuantityBig, 6, RoundingMode.FLOOR); | ||||||
|  | 
 | ||||||
|  |                 benefitIncome = benefitIncome.add(waresOnePrice.multiply(RetailConstants.SAME_RATIO).setScale(6, BigDecimal.ROUND_HALF_UP).multiply(waresQuantityBig)); | ||||||
|  |             } | ||||||
|  |         } else if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrder.getOrderType()) { | ||||||
|  |             // 复购订单, 区域收益 = 复购区域分红 * 商品数量 | ||||||
|  |             for (SaOrderWaresExt saOrderWaresExt : saOrder.getOrderWaresExtList()) { | ||||||
|  |                 benefitIncome = benefitIncome.add(saOrderWaresExt.getAreaIncome().multiply(new BigDecimal(saOrderWaresExt.getWaresQuantity()))); | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|         CuMemberBonusDetail cuMemberBonusDetail = packageBenefitIncome(bonusConfigDTO, period, cuMemberBonusMap, null, RetailConstants.SAME_RATIO, benefitIncome, |         CuMemberBonusDetail cuMemberBonusDetail = packageBenefitIncome(bonusConfigDTO, period, cuMemberBonusMap, null, RetailConstants.SAME_RATIO, benefitIncome, | ||||||
|                 cuMemberRetailRangeExt, EBonusItems.RETAIL_AREA_INCOME.getValue(), BonusMsgConstants.RETAIL_AREA_INCOME); |                 cuMemberRetailRangeExt, EBonusItems.RETAIL_AREA_INCOME.getValue(), BonusMsgConstants.RETAIL_AREA_INCOME); | ||||||
|  |  | ||||||
|  | @ -60,6 +60,7 @@ | ||||||
|             <result column="PK_WARES" property="pkWares"/> |             <result column="PK_WARES" property="pkWares"/> | ||||||
|             <result column="WARES_PRICE" property="waresPrice"/> |             <result column="WARES_PRICE" property="waresPrice"/> | ||||||
|             <result column="WARES_CODE" property="waresCode"/> |             <result column="WARES_CODE" property="waresCode"/> | ||||||
|  |             <result column="AREA_INCOME" property="areaIncome"/> | ||||||
|         </collection> |         </collection> | ||||||
|         <collection property="orderItemsExtList" ofType="com.hzs.common.domain.sale.ext.SaOrderItemsExt"> |         <collection property="orderItemsExtList" ofType="com.hzs.common.domain.sale.ext.SaOrderItemsExt"> | ||||||
|             <result column="SI_ITEMS_ID" property="pkId"/> |             <result column="SI_ITEMS_ID" property="pkId"/> | ||||||
|  | @ -153,7 +154,8 @@ | ||||||
|         nvl(st.pk_wares,0) pk_wares, |         nvl(st.pk_wares,0) pk_wares, | ||||||
|         nvl(st.wares_price,0) wares_price, |         nvl(st.wares_price,0) wares_price, | ||||||
|         nvl(bw.wares_code,'~') wares_code, |         nvl(bw.wares_code,'~') wares_code, | ||||||
|         nvl(st.wares_quantity,0) wares_quantity |         nvl(st.wares_quantity,0) wares_quantity, | ||||||
|  |         nvl(bw.area_income, 0) area_income | ||||||
|         from sa_order so |         from sa_order so | ||||||
|         left join sa_order_wares st |         left join sa_order_wares st | ||||||
|         on so.pk_id = st.pk_order and st.wares_price > 0 |         on so.pk_id = st.pk_order and st.wares_price > 0 | ||||||
|  |  | ||||||
|  | @ -181,7 +181,6 @@ public class ApiRetailHomePageController extends BaseController { | ||||||
|      */ |      */ | ||||||
|     @PostMapping("/market-dynamics") |     @PostMapping("/market-dynamics") | ||||||
|     public AjaxResult getMarketDynamics(@RequestBody MarketDynamicsQueryDateParam param) { |     public AjaxResult getMarketDynamics(@RequestBody MarketDynamicsQueryDateParam param) { | ||||||
|         retailAchieveService.getMarketDynamics(param); |         return AjaxResult.success(retailAchieveService.getMarketDynamics(param)); | ||||||
|         return AjaxResult.success(); |  | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -2,8 +2,10 @@ package com.hzs.retail.member.mapper; | ||||||
| 
 | 
 | ||||||
| import com.baomidou.mybatisplus.core.mapper.BaseMapper; | import com.baomidou.mybatisplus.core.mapper.BaseMapper; | ||||||
| import com.hzs.common.domain.member.achieve.CuMemberRetailRange; | 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.CuMemberRetailAchieveVO; | ||||||
| import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO; | import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO; | ||||||
|  | import com.hzs.retail.member.vo.MarketDynamicsDetailVO; | ||||||
| import org.apache.ibatis.annotations.Param; | import org.apache.ibatis.annotations.Param; | ||||||
| 
 | 
 | ||||||
| import java.util.List; | import java.util.List; | ||||||
|  | @ -174,6 +176,8 @@ public interface CuMemberRetailRangeMapper extends BaseMapper<CuMemberRetailRang | ||||||
|      */ |      */ | ||||||
|     List<CuMemberRetailDataStatisticsDetailVO> getRetailDataStatisticsDetail(CuMemberRetailAchieveVO cuMemberAchieveVO); |     List<CuMemberRetailDataStatisticsDetailVO> getRetailDataStatisticsDetail(CuMemberRetailAchieveVO cuMemberAchieveVO); | ||||||
| 
 | 
 | ||||||
|  |     List<MarketDynamicsDetailVO> getMarketDynamicsDetail(@Param("param") MarketDynamicsQueryDateParam param); | ||||||
|  | 
 | ||||||
|     /** |     /** | ||||||
|      * 查询当天自己新增盒数 |      * 查询当天自己新增盒数 | ||||||
|      * |      * | ||||||
|  |  | ||||||
|  | @ -6,6 +6,7 @@ import lombok.Data; | ||||||
| import lombok.NoArgsConstructor; | import lombok.NoArgsConstructor; | ||||||
| 
 | 
 | ||||||
| import java.io.Serializable; | import java.io.Serializable; | ||||||
|  | import java.util.List; | ||||||
| 
 | 
 | ||||||
| @Data | @Data | ||||||
| @AllArgsConstructor | @AllArgsConstructor | ||||||
|  | @ -17,6 +18,7 @@ import java.io.Serializable; | ||||||
| public class MarketDynamicsQueryDateParam implements Serializable { | public class MarketDynamicsQueryDateParam implements Serializable { | ||||||
|     private Long pkId; |     private Long pkId; | ||||||
|     private String nowDate; |     private String nowDate; | ||||||
|  |     private String yesterdayDate; | ||||||
|     private String lastMonthDate; |     private String lastMonthDate; | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|  | @ -24,10 +26,12 @@ public class MarketDynamicsQueryDateParam implements Serializable { | ||||||
|      */ |      */ | ||||||
|     private String currentMonthTableName; |     private String currentMonthTableName; | ||||||
|     /** |     /** | ||||||
|      *  |      * | ||||||
|      */ |      */ | ||||||
|     private String lastMonthTableName; |     private String lastMonthTableName; | ||||||
|     private String currentDayTableName; |     private String currentDayTableName; | ||||||
|  | 
 | ||||||
|  |     private List<Long> pkIdList; | ||||||
|     /** |     /** | ||||||
|      * 查询条件 (会员编号/会员姓名) |      * 查询条件 (会员编号/会员姓名) | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|  | @ -3,6 +3,7 @@ package com.hzs.retail.member.service; | ||||||
| import com.baomidou.mybatisplus.extension.service.IService; | import com.baomidou.mybatisplus.extension.service.IService; | ||||||
| import com.hzs.common.domain.member.achieve.CuMemberRetailRange; | import com.hzs.common.domain.member.achieve.CuMemberRetailRange; | ||||||
| import com.hzs.retail.member.param.MarketDynamicsQueryDateParam; | 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.CuMemberRetailAchieveVO; | ||||||
| import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO; | import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO; | ||||||
| import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO; | import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO; | ||||||
|  | @ -114,5 +115,5 @@ public interface ICuMemberRetailAchieveService extends IService<CuMemberRetailRa | ||||||
|      */ |      */ | ||||||
|     CuMemberRetailDataStatisticsResultVO getRetailDataStatisticsDetail(Long pkMember, Integer pkCountry, Integer systemType); |     CuMemberRetailDataStatisticsResultVO getRetailDataStatisticsDetail(Long pkMember, Integer pkCountry, Integer systemType); | ||||||
| 
 | 
 | ||||||
|     List<MarketDynamicsDetailVO> getMarketDynamics(MarketDynamicsQueryDateParam param); |     PageResult<MarketDynamicsDetailVO> getMarketDynamics(MarketDynamicsQueryDateParam param); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -19,6 +19,7 @@ import com.hzs.retail.member.mapper.CuMemberRetailRangeMapper; | ||||||
| import com.hzs.retail.member.param.MarketDynamicsQueryDateParam; | import com.hzs.retail.member.param.MarketDynamicsQueryDateParam; | ||||||
| import com.hzs.retail.member.service.ICuMemberRetailAchieveService; | import com.hzs.retail.member.service.ICuMemberRetailAchieveService; | ||||||
| import com.hzs.retail.member.utils.DataStatisticsUtil; | 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.CuMemberRetailAchieveVO; | ||||||
| import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO; | import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO; | ||||||
| import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO; | import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO; | ||||||
|  | @ -307,18 +308,20 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail | ||||||
|      */ |      */ | ||||||
|     private String getTableName() { |     private String getTableName() { | ||||||
|         String localDate = LocalDate.now().minus(1, ChronoUnit.DAYS).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); |         String localDate = LocalDate.now().minus(1, ChronoUnit.DAYS).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); | ||||||
|         int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate).getPkId(); |         CuMemberSettlePeriod cuMemberSettlePeriod =iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate); | ||||||
|         if(ObjectUtil.isEmpty(period)){ |         if(ObjectUtil.isEmpty(cuMemberSettlePeriod)){ | ||||||
|             return null; |             return null; | ||||||
|         } |         } | ||||||
|  |         int period = cuMemberSettlePeriod.getPkId(); | ||||||
|         return TableNameConstants.CU_MEMBER_RETAIL_RANGE + period; |         return TableNameConstants.CU_MEMBER_RETAIL_RANGE + period; | ||||||
|     } |     } | ||||||
|     private String getDayTableName() { |     private String getDayTableName() { | ||||||
|         String localDate = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); |         String localDate = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); | ||||||
|         int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate).getPkId(); |         CuMemberSettlePeriod cuMemberSettlePeriod =iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate); | ||||||
|         if(ObjectUtil.isEmpty(period)){ |         if(ObjectUtil.isEmpty(cuMemberSettlePeriod)){ | ||||||
|             return null; |             return null; | ||||||
|         } |         } | ||||||
|  |         int period = cuMemberSettlePeriod.getPkId(); | ||||||
|         return TableNameConstants.CU_MEMBER_RETAIL_S + period; |         return TableNameConstants.CU_MEMBER_RETAIL_S + period; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | @ -586,19 +589,26 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     @Override |     @Override | ||||||
|     public List<MarketDynamicsDetailVO> getMarketDynamics(MarketDynamicsQueryDateParam param) { |     public PageResult<MarketDynamicsDetailVO> getMarketDynamics(MarketDynamicsQueryDateParam param) { | ||||||
|  |         Long pkMember = SecurityUtils.getUserId(); | ||||||
|  |         Integer systemType = SecurityUtils.getSystemType(); | ||||||
|  | 
 | ||||||
|         DataStatisticsUtil.setQueryDateParam(param); |         DataStatisticsUtil.setQueryDateParam(param); | ||||||
|         param.setCurrentDayTableName(getDayTableName()); |         param.setCurrentDayTableName(getDayTableName()); | ||||||
|         param.setCurrentMonthTableName(getDayTableName(param.getNowDate())); |         param.setCurrentMonthTableName(getDayTableName(param.getYesterdayDate())); | ||||||
|         param.setCurrentDayTableName(getDayTableName(param.getLastMonthDate())); |         param.setLastMonthTableName(getDayTableName(param.getLastMonthDate())); | ||||||
|         log.info("MarketDynamicsQueryDateParam : {}", JSONUtil.toJsonStr(param)); |         log.info("MarketDynamicsQueryDateParam : {}", JSONUtil.toJsonStr(param)); | ||||||
|         return Collections.emptyList(); |         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); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     private String getDayTableName(String localDate) { |     private String getDayTableName(String localDate) { | ||||||
|         CuMemberSettlePeriod cuMemberSettlePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate); |         CuMemberSettlePeriod cuMemberSettlePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate); | ||||||
|         if(ObjectUtil.isEmpty(cuMemberSettlePeriod)){ |         if(ObjectUtil.isEmpty(cuMemberSettlePeriod)){ | ||||||
|             return null; |             return TableNameConstants.CU_MEMBER_RETAIL_RANGE; | ||||||
|         } |         } | ||||||
|         int period = cuMemberSettlePeriod.getPkId(); |         int period = cuMemberSettlePeriod.getPkId(); | ||||||
|         return TableNameConstants.CU_MEMBER_RETAIL_RANGE + period; |         return TableNameConstants.CU_MEMBER_RETAIL_RANGE + period; | ||||||
|  |  | ||||||
|  | @ -1,11 +1,13 @@ | ||||||
| package com.hzs.retail.member.utils; | package com.hzs.retail.member.utils; | ||||||
| 
 | 
 | ||||||
| import cn.hutool.core.util.ObjectUtil; | import cn.hutool.core.util.ObjectUtil; | ||||||
|  | import cn.hutool.core.util.StrUtil; | ||||||
| import com.hzs.common.core.enums.EYesNo; | import com.hzs.common.core.enums.EYesNo; | ||||||
| import com.hzs.common.domain.member.base.CuMember; | import com.hzs.common.domain.member.base.CuMember; | ||||||
| import com.hzs.retail.member.param.MarketDynamicsQueryDateParam; | import com.hzs.retail.member.param.MarketDynamicsQueryDateParam; | ||||||
| import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO; | import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO; | ||||||
| import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO; | import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO; | ||||||
|  | import com.hzs.retail.member.vo.MarketDynamicsDetailVO; | ||||||
| 
 | 
 | ||||||
| import java.math.BigDecimal; | import java.math.BigDecimal; | ||||||
| import java.math.RoundingMode; | import java.math.RoundingMode; | ||||||
|  | @ -17,6 +19,7 @@ import java.util.ArrayList; | ||||||
| import java.util.Comparator; | import java.util.Comparator; | ||||||
| import java.util.List; | import java.util.List; | ||||||
| import java.util.Objects; | import java.util.Objects; | ||||||
|  | import java.util.stream.Collectors; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * 用户统计数据工具 |  * 用户统计数据工具 | ||||||
|  | @ -49,7 +52,8 @@ public class DataStatisticsUtil { | ||||||
|         calcDetailVOTotalField(detailVOList, pkId); |         calcDetailVOTotalField(detailVOList, pkId); | ||||||
|         addVirtualBranch(detailVOList, pkId); |         addVirtualBranch(detailVOList, pkId); | ||||||
|         CuMemberRetailDataStatisticsDetailVO total = getDetailVOByPKID(detailVOList, pkId); |         CuMemberRetailDataStatisticsDetailVO total = getDetailVOByPKID(detailVOList, pkId); | ||||||
|         CuMemberRetailDataStatisticsDetailVO bigRange = getBigRangeDetailVO(detailVOList, pkId); |         CuMemberRetailDataStatisticsDetailVO bigRangeBox = getBigRangeBoxDetailVO(detailVOList, pkId); | ||||||
|  |         CuMemberRetailDataStatisticsDetailVO bigRangePv = getBigRangePVDetailVO(detailVOList, pkId); | ||||||
|         if(EYesNo.NO.getIntValue() == cuMember.getIsActivate()){ |         if(EYesNo.NO.getIntValue() == cuMember.getIsActivate()){ | ||||||
|             // 昨日非激活 排除昨日日结表数据 |             // 昨日非激活 排除昨日日结表数据 | ||||||
|             excludeDailySettlementData(detailVOList); |             excludeDailySettlementData(detailVOList); | ||||||
|  | @ -57,19 +61,19 @@ public class DataStatisticsUtil { | ||||||
|             // 排除注水数据 |             // 排除注水数据 | ||||||
|             excludeWaterInjectionData(detailVOList, pkId); |             excludeWaterInjectionData(detailVOList, pkId); | ||||||
|         } |         } | ||||||
|         Integer smallRangeTotalBoxNum = total.getTotalBoxNum() - bigRange.getTotalBoxNum(); |         Integer smallRangeTotalBoxNum = total.getTotalBoxNum() - bigRangeBox.getTotalBoxNum(); | ||||||
|         if(smallRangeTotalBoxNum < 0){ |         if(smallRangeTotalBoxNum < 0){ | ||||||
|             smallRangeTotalBoxNum = 0; |             smallRangeTotalBoxNum = 0; | ||||||
|         } |         } | ||||||
|         BigDecimal smallRangeTotalPv = total.getTotalPv().subtract(bigRange.getTotalPv()); |         BigDecimal smallRangeTotalPv = total.getTotalPv().subtract(bigRangePv.getTotalPv()); | ||||||
|         if(smallRangeTotalPv.compareTo(BigDecimal.ZERO) < 0){ |         if(smallRangeTotalPv.compareTo(BigDecimal.ZERO) < 0){ | ||||||
|             smallRangeTotalPv = BigDecimal.ZERO; |             smallRangeTotalPv = BigDecimal.ZERO; | ||||||
|         } |         } | ||||||
|         return CuMemberRetailDataStatisticsResultVO.builder() |         return CuMemberRetailDataStatisticsResultVO.builder() | ||||||
|                 .totalBoxNum(total.getTotalBoxNum()) |                 .totalBoxNum(total.getTotalBoxNum()) | ||||||
|                 .totalPv(formatPV(total.getTotalPv())) |                 .totalPv(formatPV(total.getTotalPv())) | ||||||
|                 .bigRangeTotalBoxNum(bigRange.getTotalBoxNum()) |                 .bigRangeTotalBoxNum(bigRangeBox.getTotalBoxNum()) | ||||||
|                 .bigRangeTotalPv(formatPV(bigRange.getTotalPv())) |                 .bigRangeTotalPv(formatPV(bigRangePv.getTotalPv())) | ||||||
|                 .smallRangeTotalBoxNum(smallRangeTotalBoxNum) |                 .smallRangeTotalBoxNum(smallRangeTotalBoxNum) | ||||||
|                 .smallRangeTotalPv(formatPV(smallRangeTotalPv)) |                 .smallRangeTotalPv(formatPV(smallRangeTotalPv)) | ||||||
|                 .build(); |                 .build(); | ||||||
|  | @ -79,7 +83,7 @@ public class DataStatisticsUtil { | ||||||
|      * @param detailVOList |      * @param detailVOList | ||||||
|      */ |      */ | ||||||
|     public static void calcDetailVOTotalField(List<CuMemberRetailDataStatisticsDetailVO> detailVOList, Long pkId){ |     public static void calcDetailVOTotalField(List<CuMemberRetailDataStatisticsDetailVO> detailVOList, Long pkId){ | ||||||
|         detailVOList.parallelStream().forEach(detailVO -> { |         detailVOList.stream().forEach(detailVO -> { | ||||||
|             detailVO.setTotalBoxNum( |             detailVO.setTotalBoxNum( | ||||||
|                     detailVO.getConsumeBoxNum()         // 个人累计消费盒数(日结) |                     detailVO.getConsumeBoxNum()         // 个人累计消费盒数(日结) | ||||||
| //                     + detailVO.getNewBoxNum()          // 个人新增盒数(日结) | //                     + detailVO.getNewBoxNum()          // 个人新增盒数(日结) | ||||||
|  | @ -106,7 +110,7 @@ public class DataStatisticsUtil { | ||||||
|      * @param detailVOList |      * @param detailVOList | ||||||
|      */ |      */ | ||||||
|     public static void excludeDailySettlementData(List<CuMemberRetailDataStatisticsDetailVO> detailVOList){ |     public static void excludeDailySettlementData(List<CuMemberRetailDataStatisticsDetailVO> detailVOList){ | ||||||
|         detailVOList.parallelStream().forEach(detailVO -> { |         detailVOList.stream().forEach(detailVO -> { | ||||||
|             detailVO.setTotalBoxNum( |             detailVO.setTotalBoxNum( | ||||||
|                     detailVO.getTotalBoxNum() |                     detailVO.getTotalBoxNum() | ||||||
|                     - detailVO.getTeamBoxNum()          // 团队累计消费盒数(日结) |                     - detailVO.getTeamBoxNum()          // 团队累计消费盒数(日结) | ||||||
|  | @ -123,7 +127,7 @@ public class DataStatisticsUtil { | ||||||
|      * @param detailVOList |      * @param detailVOList | ||||||
|      */ |      */ | ||||||
|     public static void excludeWaterInjectionData(List<CuMemberRetailDataStatisticsDetailVO> detailVOList, Long pkId){ |     public static void excludeWaterInjectionData(List<CuMemberRetailDataStatisticsDetailVO> detailVOList, Long pkId){ | ||||||
|         detailVOList.parallelStream().forEach(detailVO -> { |         detailVOList.stream().forEach(detailVO -> { | ||||||
|             if(!detailVO.getPkId().equals(pkId)){ |             if(!detailVO.getPkId().equals(pkId)){ | ||||||
|                 detailVO.setTotalBoxNum( |                 detailVO.setTotalBoxNum( | ||||||
|                         detailVO.getTotalBoxNum() |                         detailVO.getTotalBoxNum() | ||||||
|  | @ -216,22 +220,45 @@ public class DataStatisticsUtil { | ||||||
|      * @return |      * @return | ||||||
|      */ |      */ | ||||||
|     public static CuMemberRetailDataStatisticsDetailVO getDetailVOByPKID(List<CuMemberRetailDataStatisticsDetailVO> detailVOList, Long pkId){ |     public static CuMemberRetailDataStatisticsDetailVO getDetailVOByPKID(List<CuMemberRetailDataStatisticsDetailVO> detailVOList, Long pkId){ | ||||||
|         return detailVOList.parallelStream().filter(o -> o.getPkId().equals(pkId)).findFirst().orElse(null); |         return detailVOList.stream().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.stream().filter(o -> o.getMemberCode().contains(param.getKeyWords()) || o.getMemberName().contains(param.getKeyWords())).collect(Collectors.toList()); | ||||||
|  |         } | ||||||
|  |         MarketDynamicsDetailVO bigRange = detailVOList.stream() | ||||||
|  |                 .max(Comparator.comparingInt(MarketDynamicsDetailVO::getTotalBoxNum)) | ||||||
|  |                 .orElse(null); | ||||||
|  |         detailVOList = detailVOList.stream().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) { |     private static Integer getMaxTotalBoxNum(List<CuMemberRetailDataStatisticsDetailVO> detailVOList) { | ||||||
|         return detailVOList.parallelStream() |         return detailVOList.stream() | ||||||
|                 .map(CuMemberRetailDataStatisticsDetailVO::getTotalBoxNum) |                 .map(CuMemberRetailDataStatisticsDetailVO::getTotalBoxNum) | ||||||
|                 .filter(Objects::nonNull) |                 .filter(Objects::nonNull) | ||||||
|                 .max(Integer::compare) |                 .max(Integer::compare) | ||||||
|                 .orElse(null); |                 .orElse(null); | ||||||
|     } |     } | ||||||
|     private static CuMemberRetailDataStatisticsDetailVO getBigRangeDetailVO(List<CuMemberRetailDataStatisticsDetailVO> detailVOList, Long pkId){ |     private static CuMemberRetailDataStatisticsDetailVO getBigRangeBoxDetailVO(List<CuMemberRetailDataStatisticsDetailVO> detailVOList, Long pkId){ | ||||||
|         return detailVOList.parallelStream() |         return detailVOList.stream() | ||||||
|                 .filter(vo -> vo.getTotalBoxNum() != null && !vo.getPkId().equals(pkId)) |                 .filter(vo -> vo.getTotalBoxNum() != null && !vo.getPkId().equals(pkId)) | ||||||
|                 .max(Comparator.comparingInt(CuMemberRetailDataStatisticsDetailVO::getTotalBoxNum)) |                 .max(Comparator.comparingInt(CuMemberRetailDataStatisticsDetailVO::getTotalBoxNum)) | ||||||
|                 .orElse(null); |                 .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){ |     public static BigDecimal formatPV(BigDecimal pv){ | ||||||
|         return pv.divide( |         return pv.divide( | ||||||
|                 new BigDecimal("10000"), |                 new BigDecimal("10000"), | ||||||
|  | @ -242,9 +269,11 @@ public class DataStatisticsUtil { | ||||||
|     public static void setQueryDateParam(MarketDynamicsQueryDateParam param){ |     public static void setQueryDateParam(MarketDynamicsQueryDateParam param){ | ||||||
|         LocalDate.now(ZoneId.of("Asia/Shanghai")); |         LocalDate.now(ZoneId.of("Asia/Shanghai")); | ||||||
|         LocalDate currentDate = LocalDate.now(); |         LocalDate currentDate = LocalDate.now(); | ||||||
|  |         LocalDate yesterdayDate = currentDate.minusDays(1); | ||||||
|         LocalDate previousMonthDate = currentDate.minusMonths(1); |         LocalDate previousMonthDate = currentDate.minusMonths(1); | ||||||
|         LocalDate lastDayOfPreviousMonth = previousMonthDate.with(TemporalAdjusters.lastDayOfMonth()); |         LocalDate lastDayOfPreviousMonth = previousMonthDate.with(TemporalAdjusters.lastDayOfMonth()); | ||||||
|         param.setNowDate(currentDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); |         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"))); |         param.setLastMonthDate(lastDayOfPreviousMonth.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); | ||||||
| //        System.out.println("当前日期: " + currentDate.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"))); | //        System.out.println("上一个月最后一天: " + lastDayOfPreviousMonth.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); | ||||||
|  |  | ||||||
|  | @ -0,0 +1,24 @@ | ||||||
|  | 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); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | @ -0,0 +1,20 @@ | ||||||
|  | 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,5 +105,13 @@ public class CuMemberRetailDataStatisticsDetailVO implements Serializable { | ||||||
|      */ |      */ | ||||||
|     private Integer smallBoxNum; |     private Integer smallBoxNum; | ||||||
| 
 | 
 | ||||||
|  |     @Override | ||||||
|  |     public CuMemberRetailDataStatisticsDetailVO clone() { | ||||||
|  |         try { | ||||||
|  |             return (CuMemberRetailDataStatisticsDetailVO) super.clone(); | ||||||
|  |         } catch (CloneNotSupportedException e) { | ||||||
|  |             throw new AssertionError(); | ||||||
|  |         } | ||||||
|  |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -17,6 +17,10 @@ import java.math.BigDecimal; | ||||||
|  * 市场动态列表对象 |  * 市场动态列表对象 | ||||||
|  */ |  */ | ||||||
| public class MarketDynamicsDetailVO implements Serializable { | public class MarketDynamicsDetailVO implements Serializable { | ||||||
|  |     /** | ||||||
|  |      * 用户ID | ||||||
|  |      */ | ||||||
|  |     private Long pkId; | ||||||
|     /** |     /** | ||||||
|      * 用户编号 |      * 用户编号 | ||||||
|      */ |      */ | ||||||
|  | @ -28,11 +32,13 @@ public class MarketDynamicsDetailVO implements Serializable { | ||||||
|     /** |     /** | ||||||
|      * 结算等级 |      * 结算等级 | ||||||
|      */ |      */ | ||||||
|     private String pkSettleGrade; |     private Integer pkSettleGrade; | ||||||
|  |     private String gradeName; | ||||||
|     /** |     /** | ||||||
|      * 真实奖衔 |      * 真实奖衔 | ||||||
|      */ |      */ | ||||||
|     private String pkAwards; |     private Integer pkAwards; | ||||||
|  |     private String awardsName; | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * 今日业绩 |      * 今日业绩 | ||||||
|  | @ -71,4 +77,9 @@ public class MarketDynamicsDetailVO implements Serializable { | ||||||
|      * 上月盒数 |      * 上月盒数 | ||||||
|      */ |      */ | ||||||
|     private Integer lastMonthBoxNum; |     private Integer lastMonthBoxNum; | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * 累计消费盒数 | ||||||
|  |      */ | ||||||
|  |     private Integer totalBoxNum; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -872,4 +872,40 @@ | ||||||
|             </if> |             </if> | ||||||
|         </where> |         </where> | ||||||
|     </select> |     </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> | </mapper> | ||||||
|  |  | ||||||
|  | @ -541,6 +541,7 @@ public class BdWaresController extends BaseController { | ||||||
|         waresParams.setPkSpecialCurrency(waresExtend.getPkSpecialCurrency()); |         waresParams.setPkSpecialCurrency(waresExtend.getPkSpecialCurrency()); | ||||||
|         waresParams.setSortStatus(wares.getSortStatus()); |         waresParams.setSortStatus(wares.getSortStatus()); | ||||||
|         waresParams.setSystemType(waresExtend.getSystemType()); |         waresParams.setSystemType(waresExtend.getSystemType()); | ||||||
|  |         waresParams.setAreaIncome(wares.getAreaIncome()); | ||||||
|         if (waresExtend.getMakerIncome() != null) { |         if (waresExtend.getMakerIncome() != null) { | ||||||
|             R<CurrencyDTO> currencyDto = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry()); |             R<CurrencyDTO> currencyDto = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry()); | ||||||
|             waresParams.setMakerIncome(waresExtend.getMakerIncome().multiply(currencyDto.getData().getInExchangeRate())); |             waresParams.setMakerIncome(waresExtend.getMakerIncome().multiply(currencyDto.getData().getInExchangeRate())); | ||||||
|  |  | ||||||
|  | @ -9,13 +9,6 @@ import java.util.Date; | ||||||
| import java.util.List; | import java.util.List; | ||||||
| import java.util.Map; | import java.util.Map; | ||||||
| 
 | 
 | ||||||
| /** |  | ||||||
|  * @Description: |  | ||||||
|  * @Author: yuhui |  | ||||||
|  * @Time: 2022/9/9 14:14 |  | ||||||
|  * @Classname: WaresParams |  | ||||||
|  * @PackageName: com.hzs.sale.wares.controller.manage.params |  | ||||||
|  */ |  | ||||||
| @Data | @Data | ||||||
| public class WaresParams implements Serializable { | public class WaresParams implements Serializable { | ||||||
|     /** |     /** | ||||||
|  | @ -416,4 +409,9 @@ public class WaresParams implements Serializable { | ||||||
|      */ |      */ | ||||||
|     private Integer waresStatus; |     private Integer waresStatus; | ||||||
| 
 | 
 | ||||||
|  |     /** | ||||||
|  |      * 复购区域分红 | ||||||
|  |      */ | ||||||
|  |     private BigDecimal areaIncome; | ||||||
|  | 
 | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -46,9 +46,9 @@ | ||||||
|         <result column="DETAILS_TYPE" property="detailsType"/> |         <result column="DETAILS_TYPE" property="detailsType"/> | ||||||
|         <result column="AFTER_GUARANTEE" property="afterGuarantee"/> |         <result column="AFTER_GUARANTEE" property="afterGuarantee"/> | ||||||
|         <result column="giftNames" property="giftNames"/> |         <result column="giftNames" property="giftNames"/> | ||||||
|         <result column="maker_income" property="makerIncome"/> |  | ||||||
|         <result column="PK_SPECIAL_CURRENCY" property="pkSpecialCurrency"/> |         <result column="PK_SPECIAL_CURRENCY" property="pkSpecialCurrency"/> | ||||||
|         <result column="SYSTEM_TYPE" property="systemType"/> |         <result column="SYSTEM_TYPE" property="systemType"/> | ||||||
|  |         <result column="AREA_INCOME" property="areaIncome"/> | ||||||
|     </resultMap> |     </resultMap> | ||||||
| 
 | 
 | ||||||
|     <resultMap id="resultMap" type="com.hzs.sale.wares.vo.WaresVo"> |     <resultMap id="resultMap" type="com.hzs.sale.wares.vo.WaresVo"> | ||||||
|  |  | ||||||
|  | @ -4,6 +4,8 @@ import com.hzs.common.domain.sale.order.SaOrderWares; | ||||||
| import lombok.Data; | import lombok.Data; | ||||||
| import lombok.EqualsAndHashCode; | import lombok.EqualsAndHashCode; | ||||||
| 
 | 
 | ||||||
|  | import java.math.BigDecimal; | ||||||
|  | 
 | ||||||
| @EqualsAndHashCode(callSuper = true) | @EqualsAndHashCode(callSuper = true) | ||||||
| @Data | @Data | ||||||
| public class SaOrderWaresExt extends SaOrderWares { | public class SaOrderWaresExt extends SaOrderWares { | ||||||
|  | @ -13,4 +15,9 @@ public class SaOrderWaresExt extends SaOrderWares { | ||||||
|      */ |      */ | ||||||
|     private String waresCode; |     private String waresCode; | ||||||
| 
 | 
 | ||||||
|  |     /** | ||||||
|  |      * 复购区域分红 | ||||||
|  |      */ | ||||||
|  |     private BigDecimal areaIncome; | ||||||
|  | 
 | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -216,4 +216,10 @@ public class BdWares extends BaseEntity { | ||||||
|     @TableField("SYSTEM_TYPE") |     @TableField("SYSTEM_TYPE") | ||||||
|     private Integer systemType; |     private Integer systemType; | ||||||
| 
 | 
 | ||||||
|  |     /** | ||||||
|  |      * 复购区域分红 | ||||||
|  |      */ | ||||||
|  |     @TableField("AREA_INCOME") | ||||||
|  |     private BigDecimal areaIncome; | ||||||
|  | 
 | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue