diff --git a/bd-api/bd-api-member/src/main/java/com/hzs/retail/member/IMemberRetailApi.java b/bd-api/bd-api-member/src/main/java/com/hzs/retail/member/IMemberRetailApi.java index cf060659..e994f225 100644 --- a/bd-api/bd-api-member/src/main/java/com/hzs/retail/member/IMemberRetailApi.java +++ b/bd-api/bd-api-member/src/main/java/com/hzs/retail/member/IMemberRetailApi.java @@ -5,11 +5,7 @@ import com.hzs.common.core.domain.R; import java.util.List; /** - * @Description: 新零售会员dubbo服务 - * @Author: jiang chao - * @Time: 2024/12/31 13:40 - * @Classname: IMemberRetailApi - * @PackageName: com.hzs.retail.member + * 新零售会员dubbo服务 */ public interface IMemberRetailApi { @@ -20,7 +16,6 @@ public interface IMemberRetailApi { */ R checkRegion(); - /** * 取消收益区域 * diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java index 3eb97515..0c2ef6e4 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java @@ -42,7 +42,7 @@ public class CuMemberTreeServiceImpl extends ServiceImpl { /** * 根据等级更新会员等级 */ - void updateCuMemberGradeByPeriod(List cuMemberGradeList, Integer period); + void updateCuMemberGradeByPeriod(Integer period); /** * 查询会员等级 diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/impl/CuMemberServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/impl/CuMemberServiceImpl.java index 28c23a76..877d608e 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/impl/CuMemberServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/impl/CuMemberServiceImpl.java @@ -50,7 +50,7 @@ public class CuMemberServiceImpl extends ServiceImpl i } @Override - public void updateCuMemberGradeByPeriod(List cuMemberGradeList, Integer period) { + public void updateCuMemberGradeByPeriod(Integer period) { baseMapper.updateCuMemberGrade(period); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/controller/manage/CuMemberSpeRetailController.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/controller/manage/CuMemberSpeRetailController.java index 28b1f008..c2335b02 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/controller/manage/CuMemberSpeRetailController.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/controller/manage/CuMemberSpeRetailController.java @@ -68,7 +68,8 @@ public class CuMemberSpeRetailController extends BaseController { return AjaxResult.error("会员信息不存在"); } //校验团队总盒数大于小区盒数 - if (retailAreaParam.getTeamBoxNum() < retailAreaParam.getSmallBoxNum()) { +// if (retailAreaParam.getTeamBoxNum() < retailAreaParam.getSmallBoxNum()) { + if (retailAreaParam.getTeamBoxNum().compareTo(retailAreaParam.getSmallBoxNum()) < 0) { return AjaxResult.error("团队盒数需大于小区盒数"); } //校验结算日期是否为空 @@ -146,7 +147,8 @@ public class CuMemberSpeRetailController extends BaseController { continue; } //校验团队总盒数大于小区盒数 - if (cma.getTeamBoxNum() < cma.getSmallBoxNum()) { +// if (cma.getTeamBoxNum() < cma.getSmallBoxNum()) { + if (cma.getTeamBoxNum().compareTo(cma.getSmallBoxNum()) < 0) { cma.setMsg("团队盒数需大于小区盒数"); errorlist.add(cma); continue; @@ -248,7 +250,8 @@ public class CuMemberSpeRetailController extends BaseController { return AjaxResult.error("会员信息不存在"); } //校验团队总盒数大于小区盒数 - if (retailAreaParam.getTeamBoxNum() < retailAreaParam.getSmallBoxNum()) { +// if (retailAreaParam.getTeamBoxNum() < retailAreaParam.getSmallBoxNum()) { + if (retailAreaParam.getTeamBoxNum().compareTo(retailAreaParam.getSmallBoxNum()) < 0) { return AjaxResult.error("团队盒数需大于小区盒数"); } //校验结算日期是否为空 diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/BdWaresBonusItemsMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/BdWaresBonusItemsMapper.java index 21327fe0..ab2c8434 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/BdWaresBonusItemsMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/BdWaresBonusItemsMapper.java @@ -4,12 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.hzs.common.domain.member.bonus.BdWaresBonusItems; /** - *

* 特殊商品分配ev奖金明细 Mapper 接口 - *

- * - * @author hzs - * @since 2024-10-30 */ public interface BdWaresBonusItemsMapper extends BaseMapper { diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusCoachMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusCoachMapper.java index cf604fad..3ce3c4d4 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusCoachMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusCoachMapper.java @@ -9,48 +9,35 @@ import org.apache.ibatis.annotations.Param; import java.util.List; /** - *

* 会员奖金-辅导收益明细表 Mapper 接口 - *

- * - * @author hzs - * @since 2022-11-15 */ public interface CuMemberBonusCoachMapper extends BaseMapper { /** * 删除会员奖金汇总表 + * * @param period 结算期间 - * @return: void - * @Author: sui q - * @Date: 2022/12/13 11:54 */ void deleteCuMemberBonusCoach(Integer period); /** * 批量插入会员奖金主表 + * * @param cuMemberBonusCoachList 会员奖金 - * @return: void - * @Author: sui q - * @Date: 2022/12/13 13:56 */ void batchInsertCuMemberBonusCoach(@Param("cuMemberBonusCoachList") List cuMemberBonusCoachList); /** * 根据查询条件查询固定的奖金明细 + * * @param bonusParam 查询条件 - * @return: List - * @Author: sui q - * @Date: 2023/1/14 11:18 */ List queryMemberBonusCoachByBonusItems(BonusParam bonusParam); /** * 根据查询条件查询固定的奖金明细 + * * @param bonusParam 查询条件 - * @return: List - * @Author: sui q - * @Date: 2023/1/14 11:18 */ List queryMemberBonusCoachByBonusItemsForServer(@Param("bonusParam") BonusParam bonusParam); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusDetailMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusDetailMapper.java index e447c118..04dc1814 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusDetailMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusDetailMapper.java @@ -9,76 +9,49 @@ import org.apache.ibatis.annotations.Param; import java.util.List; /** - *

* 会员奖金-奖金收益明细表(报单费) Mapper 接口 - *

- * - * @author hzs - * @since 2022-11-17 */ public interface CuMemberBonusDetailMapper extends BaseMapper { /** * 删除会员奖金汇总表 + * * @param period 结算期间 - * @return: void - * @Author: sui q - * @Date: 2022/12/13 11:54 */ void deleteCuMemberBonusDetail(Integer period); /** * 批量插入会员奖金主表 + * * @param cuMemberBonusDetailList 会员奖金 - * @return: void - * @Author: sui q - * @Date: 2022/12/13 13:56 */ void batchInsertCuMemberBonusDetail(@Param("cuMemberBonusDetailList") List cuMemberBonusDetailList); - /** - * 批量插入会员奖金主表 - * - * @param cuMemberBonusDetail 会员奖金 - * @return: void - * @Author: sui q - * @Date: 2022/12/13 13:56 - */ - void insertCuMemberBonusDetail(@Param("item") CuMemberBonusDetail cuMemberBonusDetail); - /** * 根据查询条件查询会员奖金明细 + * * @param bonusParam 查询条件 - * @return: List - * @Author: sui q - * @Date: 2023/1/14 9:18 */ List queryMemberBonusDetailByCondition(BonusParam bonusParam); /** * 会员端根据查询条件查询会员奖金明细 + * * @param bonusParam 查询条件 - * @return: List - * @Author: sui q - * @Date: 2023/1/14 9:18 */ List queryMemberBonusDetailByConditionForServer(@Param("bonusParam") BonusParam bonusParam); /** * 根据查询条件查询固定的奖金明细 + * * @param bonusParam 查询条件 - * @return: List - * @Author: sui q - * @Date: 2023/1/14 11:18 - */ + */ List queryMemberBonusDetailByBonusItems(BonusParam bonusParam); /** * 根据查询条件查询固定的奖金明细 + * * @param bonusParam 查询条件 - * @return: List - * @Author: sui q - * @Date: 2023/1/14 11:18 */ List queryMemberBonusDetailByBonusItemsForServer(@Param("bonusParam") BonusParam bonusParam); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusExpandMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusExpandMapper.java index bbeec528..eff30d4b 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusExpandMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusExpandMapper.java @@ -9,12 +9,7 @@ import org.apache.ibatis.annotations.Param; import java.util.List; /** - *

* 会员奖金-拓展收益明细表 Mapper 接口 - *

- * - * @author hzs - * @since 2022-11-15 */ public interface CuMemberBonusExpandMapper extends BaseMapper { @@ -22,9 +17,6 @@ public interface CuMemberBonusExpandMapper extends BaseMapper cuMemberBonusExpandList); - /** - * 批量插入会员奖金,拓展 - * - * @param cuMemberBonusExpandList 会员奖金 - * @return: void - * @Author: sui q - * @Date: 2022/12/13 13:56 - */ - void insertCuMemberBonusExpand(List cuMemberBonusExpandList); - - /** * 根据查询条件查询固定的奖金明细 * * @param bonusParam 查询条件 - * @return: List - * @Author: sui q - * @Date: 2023/1/14 11:18 */ List queryMemberBonusExpandByBonusItems(BonusParam bonusParam); @@ -63,9 +38,6 @@ public interface CuMemberBonusExpandMapper extends BaseMapper - * @Author: sui q - * @Date: 2023/1/14 11:18 */ List queryMemberBonusExpandByBonusItemsForServer(@Param("bonusParam") BonusParam bonusParam); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusMapper.java index 4b9fa3e5..6b9d96aa 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusMapper.java @@ -20,13 +20,6 @@ public interface CuMemberBonusMapper extends BaseMapper { */ List batchQueryCuMemberBonusSeq(Integer rowNum); - /** - * 根据查询条件查询会员奖金 - * - * @param bonusParam 查询条件 - */ - List queryMemberBonusTotalByCondition(BonusParam bonusParam); - /** * 根据查询条件查询会员奖金 * @@ -46,7 +39,6 @@ public interface CuMemberBonusMapper extends BaseMapper { **/ CuMemberBonusExt queryMemberBonusByConditionForServerSum(@Param("bonusParam") BonusParam bonusParam); - /** * 根据查询条件查询会员奖金 * @@ -90,10 +82,5 @@ public interface CuMemberBonusMapper extends BaseMapper { */ void mergeBackRangeBonusIncome(@Param("pkOrder") Long pkOrder, @Param("bonusValue") Integer bonusValue); - /** - * 查询会员一周周期的拓展累计,复购拓展累计 - */ - List queryWeekMemberBonus(@Param("startPeriod") int startPeriod, @Param("endPeriod") int endPeriod); - void recalculateTeamNewBoxNum(@Param("pkId") Long pkId, @Param("retailsTableName") String retailsTableName); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusPushHisMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusPushHisMapper.java deleted file mode 100644 index 8c5524c9..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusPushHisMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hzs.bonus.bonus.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hzs.common.domain.member.bonus.CuMemberBonusPushHis; - -/** - *

- * 会员奖金-直推历史轮次记录 Mapper 接口 - *

- * - * @author hzs - * @since 2023-09-10 - */ -public interface CuMemberBonusPushHisMapper extends BaseMapper { - -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberShareBonusMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberShareBonusMapper.java index 83e18f22..3e559148 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberShareBonusMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberShareBonusMapper.java @@ -6,20 +6,12 @@ import com.hzs.common.domain.member.ext.CuMemberShareBonusExt; import org.apache.ibatis.annotations.Param; /** - *

* 会员奖金-分红奖金配置 Mapper 接口 - *

- * - * @author hzs - * @since 2023-07-03 */ public interface CuMemberShareBonusMapper extends BaseMapper { /* - * @description: 查询会员分享奖金 - * @author: sui q - * @date: 2023/7/3 15:28 - * @param: null null + * 查询会员分享奖金 **/ CuMemberShareBonusExt queryCuMemberShareBonus(@Param("pkCountry") Integer pkCountry, @Param("settleMonth") String settleMonth); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberShareDetailMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberShareDetailMapper.java index 3793719b..3df67329 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberShareDetailMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberShareDetailMapper.java @@ -8,28 +8,13 @@ import org.apache.ibatis.annotations.Param; import java.util.List; /** - *

* 会员奖金-分红奖金配置明细 Mapper 接口 - *

- * - * @author hzs - * @since 2023-07-03 */ public interface CuMemberShareDetailMapper extends BaseMapper { /* - * @description: 更新分享明细 - * @author: sui q - * @date: 2023/7/3 14:11 - * @param: null null + * 更新分享明细 **/ void saveMemberShareBonus(@Param("cuMemberShareDetailList") List cuMemberShareDetailList); - /* - * @description: 根据期间查询对应的奖衔 period当前月第一天 - * @author: sui q - * @date: 2023/8/11 15:42 - * @param: null null - **/ - List queryCuMemberShareBonusByPeriod(Integer period); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberShareMaxMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberShareMaxMapper.java deleted file mode 100644 index ebc7abd0..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberShareMaxMapper.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.hzs.bonus.bonus.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hzs.common.domain.member.bonus.CuMemberShareMax; - -/** - *

- * 会员奖金-最大分红奖金 Mapper 接口 - *

- * - * @author hzs - * @since 2023-01-06 - */ -public interface CuMemberShareMaxMapper extends BaseMapper { - - /** - * 物理删除理论最大分红金额 - * @param period 期间 - * @return: void - * @Author: sui q - * @Date: 2023/1/7 10:31 - */ - void deleteCuMemberShareMax(Integer period); -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/RetailAreaParam.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/RetailAreaParam.java index b727007b..5ba6f194 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/RetailAreaParam.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/RetailAreaParam.java @@ -22,12 +22,12 @@ public class RetailAreaParam implements Serializable { * 团队总盒数 */ @Excel(name = "团队总盒数") - private Integer teamBoxNum = 0; + private BigDecimal teamBoxNum = BigDecimal.ZERO; /** * 小区盒数 */ @Excel(name = "小区盒数") - private Integer smallBoxNum = 0; + private BigDecimal smallBoxNum = BigDecimal.ZERO; /** * 结算日期 @@ -56,7 +56,7 @@ public class RetailAreaParam implements Serializable { /** * 个人消费盒数 */ - private Integer consumeBoxNum; + private BigDecimal consumeBoxNum; /** * 结算开始日期 diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/IBdWaresBonusItemsService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/IBdWaresBonusItemsService.java index ec7c8444..b4b9cb29 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/IBdWaresBonusItemsService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/IBdWaresBonusItemsService.java @@ -6,36 +6,22 @@ import com.hzs.common.domain.member.bonus.BdWaresBonusItems; import java.util.List; /** - *

* 特殊商品分配ev奖金明细 服务类 - *

- * - * @author hzs - * @since 2024-10-30 */ public interface IBdWaresBonusItemsService extends IService { /* - * @description: 插入奖金特殊项奖金 - * @author: sui q - * @date: 2024/11/7 15:04 - * @param: null null + * 插入奖金特殊项奖金 **/ void insetWaresBonusItems(List waresBonusItemsList); /* - * @description: 插入奖金特殊项奖金 - * @author: sui q - * @date: 2024/11/7 15:04 - * @param: null null + * 插入奖金特殊项奖金 **/ void updateWaresBonusItems(List waresBonusItemsList); /* - * @description: 插入奖金特殊项奖金 - * @author: sui q - * @date: 2024/11/7 15:04 - * @param: null null + * 插入奖金特殊项奖金 **/ void deleteWaresBonusItems(List waresBonusItemsList, Long pkWaresBonus, Long userId); diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusCoachService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusCoachService.java index 241fcf7c..876debdf 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusCoachService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusCoachService.java @@ -7,30 +7,21 @@ import java.util.List; import java.util.Set; /** - *

* 会员奖金-辅导收益明细表 服务类 - *

- * - * @author hzs - * @since 2022-11-15 */ public interface ICuMemberBonusCoachService extends IService { /** * 删除会员奖金汇总表 + * * @param period 结算期间 - * @return: void - * @Author: sui q - * @Date: 2022/12/13 11:54 */ void deleteCuMemberBonusCoach(Integer period); /** * 批量插入会员奖金主表 + * * @param cuMemberBonusCoachList 会员奖金 - * @return: void - * @Author: sui q - * @Date: 2022/12/13 13:56 */ void batchInsertCuMemberBonusCoach(List cuMemberBonusCoachList, Set memberIdSet); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusDetailService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusDetailService.java index 522bddd7..677069ac 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusDetailService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusDetailService.java @@ -7,12 +7,7 @@ import java.util.List; import java.util.Set; /** - *

* 会员奖金-奖金收益明细表(报单费) 服务类 - *

- * - * @author hzs - * @since 2022-11-17 */ public interface ICuMemberBonusDetailService extends IService { @@ -20,9 +15,6 @@ public interface ICuMemberBonusDetailService extends IService cuMemberBonusDetailList, Set memberIdSet); - /** - * 批量插入会员奖金主表 - * - * @param cuMemberBonusDetail 会员奖金 - * @return: void - * @Author: sui q - * @Date: 2022/12/13 13:56 - */ - void insertCuMemberBonusDetail(CuMemberBonusDetail cuMemberBonusDetail); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusExpandService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusExpandService.java index ee0a56b0..9143331f 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusExpandService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusExpandService.java @@ -7,12 +7,7 @@ import java.util.List; import java.util.Set; /** - *

* 会员奖金-拓展收益明细表 服务类 - *

- * - * @author hzs - * @since 2022-11-15 */ public interface ICuMemberBonusExpandService extends IService { @@ -20,9 +15,6 @@ public interface ICuMemberBonusExpandService extends IService cuMemberBonusExpandList, Set memberIdSet); - /** - * 批量插入会员奖金主表 - * - * @param cuMemberBonusExpandList 会员奖金 - * @return: void - * @Author: sui q - * @Date: 2022/12/13 13:56 - */ - void insertCuMemberBonusExpand(List cuMemberBonusExpandList); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusPushHisService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusPushHisService.java deleted file mode 100644 index a2cf7cce..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusPushHisService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.hzs.bonus.bonus.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.hzs.common.domain.member.bonus.CuMemberBonusPushHis; - -import java.util.List; - -/** - *

- * 会员奖金-直推历史轮次记录 服务类 - *

- * - * @author hzs - * @since 2023-09-10 - */ -public interface ICuMemberBonusPushHisService extends IService { - - /* - * @description: 查询会员历史推荐 - * @author: sui q - * @date: 2023/9/10 14:23 - * @param: null null - **/ - List queryCuMemberBonusPushHis(Long pkMember); -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusService.java index 412b9329..4eb22b9a 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusService.java @@ -8,7 +8,6 @@ import com.hzs.common.domain.member.ext.CuMemberBonusExt; import java.util.Date; import java.util.List; -import java.util.Map; import java.util.Set; /** @@ -141,11 +140,6 @@ public interface ICuMemberBonusService extends IService { */ void mergeBackMemberBonusIncome(Long pkOrder); - /** - * 查询会员一周周期的拓展累计,复购拓展累计 - */ - Map queryWeekMemberBonus(int startPeriod, int endPeriod); - void calculateBonusTotal(CuMemberBonusExt cuMemberBonusExt, CuMemberBonusExt memberBonusExt); CuMemberBonusExt initCuMemberBonus(); diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberShareBonusService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberShareBonusService.java index ec2be654..3998d935 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberShareBonusService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberShareBonusService.java @@ -6,28 +6,17 @@ import com.hzs.common.domain.member.ext.CuMemberShareBonusExt; import com.hzs.bonus.bonus.param.CuMemberShareBonusParam; /** - *

* 会员奖金-分红奖金配置 服务类 - *

- * - * @author hzs - * @since 2023-07-03 */ public interface ICuMemberShareBonusService extends IService { /* - * @description: 保存会员分红奖金及明细 - * @author: sui q - * @date: 2023/7/3 14:04 - * @param: null null + * 保存会员分红奖金及明细 **/ void saveMemberShareBonus(CuMemberShareBonusParam cuMemberShareBonusParam); /* - * @description: 查询分红配置的参数 - * @author: sui q - * @date: 2023/7/3 15:24 - * @param: null null + * 查询分红配置的参数 **/ CuMemberShareBonusExt queryCuMemberShareBonus(Integer pkCountry, String settleMonth); diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberShareDetailService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberShareDetailService.java index cd39d1e3..c29b99a1 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberShareDetailService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberShareDetailService.java @@ -8,29 +8,13 @@ import java.util.List; import java.util.Map; /** - *

* 会员奖金-分红奖金配置明细 服务类 - *

- * - * @author hzs - * @since 2023-07-03 */ public interface ICuMemberShareDetailService extends IService { /* - * @description: 更新分享明细 - * @author: sui q - * @date: 2023/7/3 14:11 - * @param: null null + * 更新分享明细 **/ void saveMemberShareBonus(List cuMemberShareDetailList); - /* - * @description: 根据期间查询奖衔设置的分红配置 - * key 国家+奖衔 明细 - * @author: sui q - * @date: 2023/8/11 15:35 - * @param: null null - **/ - Map queryCuMemberShareBonusByPeriod(Integer period); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberShareMaxService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberShareMaxService.java deleted file mode 100644 index 8e4f0024..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberShareMaxService.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.hzs.bonus.bonus.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.hzs.common.domain.member.bonus.CuMemberShareMax; - -/** - *

- * 会员奖金-最大分红奖金 服务类 - *

- * - * @author hzs - * @since 2023-01-06 - */ -public interface ICuMemberShareMaxService extends IService { - - /** - * 插入理论最大的可以进行分红的奖金 - * @param cuMemberShareMax 最大分红的奖金 - * @return: void - * @Author: sui q - * @Date: 2023/1/6 17:23 - */ - void insertMaxShareBonus(CuMemberShareMax cuMemberShareMax); -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BdWaresBonusItemsServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BdWaresBonusItemsServiceImpl.java index 8cb99f7a..c73d56db 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BdWaresBonusItemsServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BdWaresBonusItemsServiceImpl.java @@ -11,18 +11,13 @@ import com.hzs.common.domain.member.bonus.BdWaresBonusItems; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Date; import java.util.List; import java.util.Set; import java.util.stream.Collectors; /** - *

* 特殊商品分配ev奖金明细 服务实现类 - *

* - * @author hzs - * @since 2024-10-30 */ @Service public class BdWaresBonusItemsServiceImpl extends ServiceImpl implements IBdWaresBonusItemsService { diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java index f06c436f..e0bcb830 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java @@ -91,7 +91,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 等级列表 List retaiGradeList = bonusConfigDTO.getRetaiGradeList(); for (BdGrade bdGrade : retaiGradeList) { - if (bdGrade.getBoxTotal() > 0) { + if (bdGrade.getBoxTotal().compareTo(BigDecimal.ZERO) > 0) { retailTeamGradeMap.put(bdGrade.getGradeValue(), bdGrade); } gradeMap.put(bdGrade.getGradeValue(), bdGrade); @@ -115,23 +115,27 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember()); // 先算等级 注册、升级计算等级 // 订单指定产品盒数 - int boxNum = 0; - for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { - if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) { - boxNum += saOrderItems.getWaresQuantity(); - } - } - saOrderExt.setBoxNum(boxNum); + BigDecimal boxNum = saOrderExt.getBoxNum(); +// BigDecimal boxNum = BigDecimal.ZERO; +// for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { +// if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) { +// boxNum = boxNum.add(saOrderItems.getWaresBoxNum().multiply(new BigDecimal(saOrderItems.getWaresQuantity()))); +// } +// } +// saOrderExt.setBoxNum(boxNum); // 订单业绩 BigDecimal orderAchieve = saOrderExt.getOrderAchieve(); // 注册、升级、复购、重消,盒数、业绩算个人累计数据(盒数、业绩) - sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum() + boxNum); - sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() + boxNum); - sourceMemberRangeExt.setMonthBoxNum(sourceMemberRangeExt.getMonthBoxNum() + boxNum); + sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum().add(boxNum)); + sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum().add(boxNum)); + sourceMemberRangeExt.setMonthBoxNum(sourceMemberRangeExt.getMonthBoxNum().add(boxNum)); sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getNewConsumePv(), orderAchieve)); sourceMemberRangeExt.setConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getConsumePv(), orderAchieve)); sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve)); + // 累计盒数、业绩,不管激活不激活都处理,兼容不激活判断显示有问题 + sourceMemberRangeExt.setAllNewBoxNum(sourceMemberRangeExt.getAllNewBoxNum().add(boxNum)); + sourceMemberRangeExt.setAllNewConsumePv(sourceMemberRangeExt.getAllNewConsumePv().add(orderAchieve)); // 会员等级升级记录 List cuMemberGradeList = new ArrayList<>(); @@ -151,7 +155,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { ) { // 注册、升级订单,计算奖金: 直推级差收益 + 平级收益 for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { - if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) { + if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode()) + && EDelFlag.UN_DELETE.getValue() == saOrderItems.getDelFlag()) { // 指定盒数商品 // 计算直推级差收益 + 平级收益 cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, currentPeriod, saOrderItems, saOrderExt)); @@ -159,11 +164,12 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } } - // 查询区域配置 - Map countyRangeExtMap = new HashMap<>(); + // 区域处理 List countyRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailSecondRangeByCounty(rangeTableName, secondRangeTableName, saOrderExt.getRecCounty()); + // 区域会员map(key:区域分组ID + 区ID ,value: 区域会员结算数据) + Map countyRangeExtMap = new HashMap<>(); countyRangeExtList.forEach(cuMemberRetailRangeExt -> - countyRangeExtMap.put(cuMemberRetailRangeExt.getSystemType() + "_" + cuMemberRetailRangeExt.getRegionAddress(), cuMemberRetailRangeExt)); + countyRangeExtMap.put(cuMemberRetailRangeExt.getRegionVertexPkId() + "_" + cuMemberRetailRangeExt.getRegionAddress(), cuMemberRetailRangeExt)); // 计算区域奖 CuMemberBonusDetail cuMemberBonusDetail = calculateRetailAreaBonus(countyRangeExtMap, bonusConfigDTO, currentPeriod, memberRangeExtMap, cuMemberBonusMap, saOrderExt); if (cuMemberBonusDetail != null) { @@ -200,8 +206,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 当天的撤单 List memberRetailRangeExtList; String rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + beforePeriod; + // 是否当天 + boolean isSecond = DateUtils.isSameDay(saOrderExt.getPayTime(), DateUtils.currentDate()); - if (DateUtils.isSameDay(saOrderExt.getPayTime(), DateUtils.currentDate())) { + if (isSecond) { // 当天撤单 // 实时网体查询血缘伞上会员,更新秒结表等级、奖衔 iCuMemberRetailRangeService.mergeMemberRetailGradeByMember(secondRangeTableName, saOrderExt.getPkMember(), EYesNo.YES.getIntValue()); @@ -233,7 +241,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { List retailGradeList = bonusConfigDTO.getRetaiGradeList(); // 等级 for (BdGrade bdGrade : retailGradeList) { - if (bdGrade.getBoxTotal() > 0) { + if (bdGrade.getBoxTotal().compareTo(BigDecimal.ZERO) > 0) { retailTeamGradeMap.put(bdGrade.getGradeValue(), bdGrade); } gradeIdMap.put(bdGrade.getPkId(), bdGrade); @@ -253,23 +261,30 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 计算自消费奖衔 CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember()); // 先算等级 注册、升级计算等级 - int boxNum = 0; - for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { - if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) { - boxNum += saOrderItems.getWaresQuantity(); - } - } - saOrderExt.setBoxNum(boxNum); + BigDecimal boxNum = saOrderExt.getBoxNum(); +// BigDecimal boxNum = BigDecimal.ZERO; +// for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { +// if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) { +// boxNum = boxNum.add(saOrderItems.getWaresBoxNum().multiply(new BigDecimal(saOrderItems.getWaresQuantity()))); +// } +// } +// saOrderExt.setBoxNum(boxNum); // 订单业绩 BigDecimal orderAchieve = saOrderExt.getOrderAchieve(); // 复购、重消,盒数、业绩算个人累计数据(盒数、业绩) - sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum() - boxNum); - sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() - boxNum); - sourceMemberRangeExt.setMonthBoxNum(sourceMemberRangeExt.getMonthBoxNum() - boxNum); + sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum().subtract(boxNum)); + sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum().subtract(boxNum)); + sourceMemberRangeExt.setMonthBoxNum(sourceMemberRangeExt.getMonthBoxNum().subtract(boxNum)); sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getNewConsumePv(), orderAchieve)); sourceMemberRangeExt.setConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getConsumePv(), orderAchieve)); sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve)); + if (isSecond) { + // 当天 + // 累计盒数、业绩,不管激活不激活都处理,兼容不激活判断显示有问题 + sourceMemberRangeExt.setAllNewBoxNum(sourceMemberRangeExt.getAllNewBoxNum().subtract(boxNum)); + sourceMemberRangeExt.setAllNewConsumePv(sourceMemberRangeExt.getAllNewConsumePv().subtract(orderAchieve)); + } // 会员等级map Map cuMemberGradeMap = new HashMap<>(); @@ -282,12 +297,12 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { cuMemberGradeMap, cuMemberAwardsMap, cuMemberShareAwardsMap, sourceMemberRangeExt); // 计算团队业绩、盒数,计算等级、奖衔 List cuMemberRetailRangeExtList = calculateRetailBackRangeGradeAwards(currentPeriod, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, - secondRangeTableName, boxNum, cuMemberGradeMap, cuMemberAwardsMap, cuMemberShareAwardsMap); + secondRangeTableName, boxNum, cuMemberGradeMap, cuMemberAwardsMap, cuMemberShareAwardsMap, isSecond); cuMemberRetailRangeExtList.add(sourceMemberRangeExt); - // 查询期间的等级 + // 查询期间的等级(来源 cu_member_grade) List memberGradeList = iCuMemberGradeService.queryCuMemberGrade(cuMemberRetailRangeExtList, currentPeriod); - // 查询最大的手动奖衔 + // 查询最大的手动等级(来源 cu_member_grade) List cuMemberGradeList1 = iCuMemberGradeService.queryCuMemberGradeByList(currentPeriod, memberRetailRangeExtList); if (cuMemberGradeList1.size() > 0) { Map memberGradeMap = new HashMap<>(); @@ -325,9 +340,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } } if (cuMemberGradeList.size() > 0) { - // 删除等级 + // 删除等级(cu_member_grade) iCuMemberGradeService.deleteCuMemberGrade(cuMemberGradeList, currentPeriod); - // 批量更新会员等级 + // 批量更新会员等级(更新 cu_member) iCuMemberService.updateCuMemberMinGradeByList(cuMemberGradeList, currentPeriod); } } @@ -461,7 +476,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 等级列表 List retaiGradeList = bonusConfigDTO.getRetaiGradeList(); for (BdGrade bdGrade : retaiGradeList) { - if (bdGrade.getBoxTotal() > 0) { + if (bdGrade.getBoxTotal().compareTo(BigDecimal.ZERO) > 0) { retailTeamGradeMap.put(bdGrade.getGradeValue(), bdGrade); } gradeMap.put(bdGrade.getGradeValue(), bdGrade); @@ -481,10 +496,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 区域处理 List countyRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailRangeByCounty(rangeTableName); - // 区域会员map(key:系统+区ID ,value: 区域会员结算数据) + // 区域会员map(key:区域分组ID + 区ID ,value: 区域会员结算数据) Map countyRangeExtMap = new HashMap<>(); countyRangeExtList.forEach(cuMemberRetailRangeExt -> - countyRangeExtMap.put(cuMemberRetailRangeExt.getSystemType() + "_" + cuMemberRetailRangeExt.getRegionAddress(), cuMemberRetailRangeExt)); + countyRangeExtMap.put(cuMemberRetailRangeExt.getRegionVertexPkId() + "_" + cuMemberRetailRangeExt.getRegionAddress(), cuMemberRetailRangeExt)); // 会员等级升级记录 List cuMemberGradeList = new ArrayList<>(); @@ -510,21 +525,24 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember()); // 订单指定产品盒数(计算等级使用) - int boxNum = 0; - for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { - if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) { - boxNum += saOrderItems.getWaresQuantity(); - } - } + BigDecimal boxNum = saOrderExt.getBoxNum(); +// BigDecimal boxNum = BigDecimal.ZERO; +// for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { +// if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) { +// boxNum = boxNum.add(saOrderItems.getWaresBoxNum().multiply(new BigDecimal(saOrderItems.getWaresQuantity()))); +// } +// } + // 个人累计消费pv BigDecimal orderAchieve = saOrderExt.getOrderAchieve(); // 复购、重消,盒数、业绩算个人累计数据(盒数、业绩) - sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum() + boxNum); - sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() + boxNum); - sourceMemberRangeExt.setMonthBoxNum(sourceMemberRangeExt.getMonthBoxNum() + boxNum); + sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum().add(boxNum)); + sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum().add(boxNum)); + sourceMemberRangeExt.setMonthBoxNum(sourceMemberRangeExt.getMonthBoxNum().add(boxNum)); sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getNewConsumePv(), orderAchieve)); sourceMemberRangeExt.setConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getConsumePv(), orderAchieve)); sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve)); + // 计算自己等级、奖衔等 calculateGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, null, cuMemberGradeList, cuMemberAwardsList, sourceMemberRangeExt, activateMap); @@ -535,27 +553,26 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 计算奖金 直推级差 + 平级收益 if ((EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() || EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) - && boxNum > 0 + && boxNum.compareTo(BigDecimal.ZERO) > 0 ) { // 注册或升级订单并且存在盒数产品,才有 直推级差收益 和 平级收益 for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { - // 直推级差 + 平级收益 - cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, period, saOrderItems, saOrderExt)); + if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode()) + && EDelFlag.UN_DELETE.getValue() == saOrderItems.getDelFlag()) { + // 盒数商品 计算 直推级差 + 平级收益 + cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, period, saOrderItems, saOrderExt)); + } + } - // 计算完奖金算等级 - if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() - || EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) { - // 订单存在升级记录 - if (memberLevelMap.containsKey(saOrderExt.getPkId())) { - CuMemberLevel cuMemberLevel = memberLevelMap.get(saOrderExt.getPkId()); - if (gradeIdMap.containsKey(cuMemberLevel.getNewLevel())) { - BdGrade bdGrade = gradeIdMap.get(cuMemberLevel.getNewLevel()); - if (bdGrade.getGradeValue() > sourceMemberRangeExt.getGradeValue()) { - sourceMemberRangeExt.setPkGrade(bdGrade.getPkId()); - sourceMemberRangeExt.setGradeValue(bdGrade.getGradeValue()); - sourceMemberRangeExt.setGradeName(bdGrade.getGradeName()); - } - } + // 订单存在升级记录 + if (memberLevelMap.containsKey(saOrderExt.getPkId())) { + CuMemberLevel cuMemberLevel = memberLevelMap.get(saOrderExt.getPkId()); + if (gradeIdMap.containsKey(cuMemberLevel.getNewLevel())) { + BdGrade bdGrade = gradeIdMap.get(cuMemberLevel.getNewLevel()); + if (bdGrade.getGradeValue() > sourceMemberRangeExt.getGradeValue()) { + sourceMemberRangeExt.setPkGrade(bdGrade.getPkId()); + sourceMemberRangeExt.setGradeValue(bdGrade.getGradeValue()); + sourceMemberRangeExt.setGradeName(bdGrade.getGradeName()); } } } @@ -590,9 +607,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { if (cuMemberGradeList.size() > 0) { // 批量插入会员等级记录 iCuMemberGradeService.insertCuMemberGrade(cuMemberGradeList); - // 更新会员表等级数据(来源 cu_member_grade) - iCuMemberService.updateCuMemberGradeByPeriod(cuMemberGradeList, period); - // 更新会员表等级数据(来源 cu_member_level) + // 更新会员表(cu_member)等级数据(来源 cu_member_grade) + iCuMemberService.updateCuMemberGradeByPeriod(period); + // 更新会员表(cu_member)等级数据(来源 cu_member_level) iCuMemberService.updateCuMemberLevel(settleStartDate, settleEndDate); } // 更新网体 @@ -601,11 +618,11 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } /** - * 计算团队极差奖衔 + * 计算团队等级、奖衔 -- 秒结、日结 */ public List calculateRetailRangeGradeAwards(Integer period, Map memberRangeExtMap, String rangeTableName, SaOrderExt saOrderExt, Map retailTeamGradeMap, Map retailAwardsMap, String secondRangeTableName, - Integer boxNum, List cuMemberGradeList, Map activateMap) { + BigDecimal boxNum, List cuMemberGradeList, Map activateMap) { // 会员奖衔升级列表 List cuMemberAwardsList = new ArrayList<>(); // 订单会员 @@ -623,20 +640,28 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { targetMemberRangeExt.setEnableStatus(EYesNo.YES.getIntValue()); } + // 累计盒数、业绩,不管激活不激活都处理,兼容不激活判断显示有问题 + targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().add(boxNum)); + targetMemberRangeExt.setAllTeamBoxNum(targetMemberRangeExt.getAllTeamBoxNum().add(boxNum)); + targetMemberRangeExt.setAllTeamMonthBoxNum(targetMemberRangeExt.getAllTeamMonthBoxNum().add(boxNum)); + targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().add(orderAchieve)); + targetMemberRangeExt.setAllTeamConsumePv(targetMemberRangeExt.getAllTeamConsumePv().add(orderAchieve)); + targetMemberRangeExt.setAllTeamMonthPv(targetMemberRangeExt.getAllTeamMonthPv().add(orderAchieve)); + // 激活的账号才能累计业绩和盒数(有注册、升级订单) if (targetMemberRangeExt.getEnableStatus() == EYesNo.YES.getIntValue()) { - // 累计金额 - targetMemberRangeExt.setTeamNewAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamNewAmount(), orderAmount)); - targetMemberRangeExt.setTeamConsumeAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamConsumeAmount(), orderAmount)); - targetMemberRangeExt.setTeamMonthAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthAmount(), orderAmount)); + // 累计盒数 + targetMemberRangeExt.setTeamNewBoxNum(targetMemberRangeExt.getTeamNewBoxNum().add(boxNum)); + targetMemberRangeExt.setTeamBoxNum(targetMemberRangeExt.getTeamBoxNum().add(boxNum)); + targetMemberRangeExt.setTeamMonthBoxNum(targetMemberRangeExt.getTeamMonthBoxNum().add(boxNum)); // 累计业绩 targetMemberRangeExt.setTeamNewPv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamNewPv(), orderAchieve)); targetMemberRangeExt.setTeamConsumePv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamConsumePv(), orderAchieve)); targetMemberRangeExt.setTeamMonthPv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), orderAchieve)); - // 累计盒数 - targetMemberRangeExt.setTeamNewBoxNum(targetMemberRangeExt.getTeamNewBoxNum() + boxNum); - targetMemberRangeExt.setTeamBoxNum(targetMemberRangeExt.getTeamBoxNum() + boxNum); - targetMemberRangeExt.setTeamMonthBoxNum(targetMemberRangeExt.getTeamMonthBoxNum() + boxNum); + // 累计金额 + targetMemberRangeExt.setTeamNewAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamNewAmount(), orderAmount)); + targetMemberRangeExt.setTeamConsumeAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamConsumeAmount(), orderAmount)); + targetMemberRangeExt.setTeamMonthAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthAmount(), orderAmount)); // 计算等级 calculateGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, secondRangeTableName, cuMemberGradeList, cuMemberAwardsList, targetMemberRangeExt, activateMap); @@ -647,7 +672,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } /** - * 计算等级、奖衔 + * 计算等级、奖衔 -- 日结、秒结 */ private void calculateGradeAwards(Integer period, Map memberRangeExtMap, String rangeTableName, SaOrderExt saOrderExt, Map retailTeamGradeMap, Map retailAwardsMap, @@ -663,15 +688,15 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { for (Integer gradeValue : retailTeamGradeMap.keySet()) { BdGrade bdGrade = retailTeamGradeMap.get(gradeValue); - // 如果等级值 大于 当前会员等级值 并且 等级要求累计盒数 小于等于 团队累计盒数 + 累计消费盒数,则可以进行升级 + // 如果等级值 大于 当前会员等级值 并且 等级要求累计盒数 小于等于 团队累计盒数 + 累计消费盒数 + 大区注水 + 小区注水,则可以进行升级 if (bdGrade.getGradeValue() > targetMemberRangeExt.getGradeValue() - && bdGrade.getBoxTotal() <= ( - targetMemberRangeExt.getTeamBoxNum() + targetMemberRangeExt.getConsumeBoxNum() - + targetMemberRangeExt.getBigBoxNum() + targetMemberRangeExt.getSmallBoxNum() - )) { + && bdGrade.getBoxTotal().compareTo( + targetMemberRangeExt.getTeamBoxNum().add(targetMemberRangeExt.getConsumeBoxNum()).add(targetMemberRangeExt.getBigBoxNum()).add(targetMemberRangeExt.getSmallBoxNum()) + ) <= 0 + ) { // 验证小区,计算小区累计盒数 查询伞下会员 List cuMemberRangeExtList; - if (secondRangeTableName != null) { + if (null != secondRangeTableName) { // 会员表 关联 秒结表 和 昨日结算表,查询订单会员直推数据 cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember()); } else { @@ -681,12 +706,12 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // new 新逻辑确认:注水 2 个虚拟区,自己消费 1 个虚拟区,伞下直推,所有的最大 // 大区盒数(默认为自己累计消费盒数) - int bigBoxNum = targetMemberRangeExt.getConsumeBoxNum(); - if (targetMemberRangeExt.getBigBoxNum() > bigBoxNum) { + BigDecimal bigBoxNum = targetMemberRangeExt.getConsumeBoxNum(); + if (targetMemberRangeExt.getBigBoxNum().compareTo(bigBoxNum) > 0) { // 注水大区如果大则使用注水盒数为大区 bigBoxNum = targetMemberRangeExt.getBigBoxNum(); } - if (targetMemberRangeExt.getSmallBoxNum() > bigBoxNum) { + if (targetMemberRangeExt.getSmallBoxNum().compareTo(bigBoxNum) > 0) { // 注水小区如果大则使用注水盒数为大区 bigBoxNum = targetMemberRangeExt.getSmallBoxNum(); } @@ -696,17 +721,16 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); } // 伞下团队累计盒数 + 自己消费盒数 - int areaBoxNum = cuMemberRetailRangeExt.getTeamBoxNum() + cuMemberRetailRangeExt.getConsumeBoxNum(); - if (areaBoxNum > bigBoxNum) { + BigDecimal areaBoxNum = cuMemberRetailRangeExt.getAllTeamBoxNum().add(cuMemberRetailRangeExt.getConsumeBoxNum()); + if (areaBoxNum.compareTo(bigBoxNum) > 0) { // 实际订单累计盒数 大于 累计消费盒数,实际订单累计盒数为大区 bigBoxNum = areaBoxNum; } } // 小区盒数(团队累计盒数 + 自消费累计盒数 + 两个注水虚拟盒数 - 大市场盒数) - int smallBoxNum = targetMemberRangeExt.getTeamBoxNum() + targetMemberRangeExt.getConsumeBoxNum() - + targetMemberRangeExt.getBigBoxNum() + targetMemberRangeExt.getSmallBoxNum() - bigBoxNum; - if (smallBoxNum >= bdGrade.getBoxSmallTotal()) { + BigDecimal smallBoxNum = targetMemberRangeExt.getAllTeamBoxNum().add(targetMemberRangeExt.getConsumeBoxNum()).add(targetMemberRangeExt.getBigBoxNum()).add(targetMemberRangeExt.getSmallBoxNum()).subtract(bigBoxNum); + if (smallBoxNum.compareTo(bdGrade.getBoxSmallTotal()) >= 0) { // 小区盒数 大于等于 升级小区盒数 CuMemberGrade cuMemberGrade = getCuMemberGrade(period, targetMemberRangeExt, bdGrade); cuMemberGradeList.add(cuMemberGrade); @@ -716,6 +740,20 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } } } + + if (null != secondRangeTableName) { + if (targetMemberRangeExt.getPkMember().equals(saOrderExt.getPkMember())) { + // new 兼容购买等级多送2级的问题,秒结处理V4 V5方式不一样,会出现秒结等级和实际等级不匹配 + CuMemberRetailRangeExt memberRetailLevel = iCuMemberGradeService.getMemberLevel(saOrderExt.getPkMember(), saOrderExt.getPkId()); + if (null != memberRetailLevel) { + if (memberRetailLevel.getGradeValue() > targetMemberRangeExt.getGradeValue()) { + targetMemberRangeExt.setPkGrade(memberRetailLevel.getPkGrade()); + targetMemberRangeExt.setGradeValue(memberRetailLevel.getGradeValue()); + } + } + } + } + // 计算当月奖衔 while (true) { // 当月奖衔值 + 5,获取下一个奖衔值 @@ -736,6 +774,11 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } break; } + + // 校验大小区会员数据 + List cuMemberRangeExtList = null; + // 校验累计小部门会员数据 + List cuMemberRetailRangeExtList = null; // 计算分红奖衔 while (true) { // 当月奖衔值 + 5,获取下一个奖衔值 @@ -745,13 +788,14 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 先验证累计业绩 if (ComputeUtil.compareValue(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), targetMemberRangeExt.getMonthConsumePv()), bdAwards.getShareTotalCheck())) { // 再验证小区,计算小区业绩(拉取直推会员数据) - List cuMemberRangeExtList; - if (secondRangeTableName != null) { - // 会员表 关联 秒结表 和 昨日结算表,查询订单会员直推数据 - cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember()); - } else { - // 昨日结算表,查询订单会员直推数据 - cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember()); + if (null == cuMemberRangeExtList) { + if (null != secondRangeTableName) { + // 会员表 关联 秒结表 和 昨日结算表,查询订单会员直推数据 + cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember()); + } else { + // 昨日结算表,查询订单会员直推数据 + cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember()); + } } // 本人月消费业绩(默认为大区) BigDecimal consumeBigPv = targetMemberRangeExt.getMonthConsumePv(); @@ -760,7 +804,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); } // 月累计业绩 = 本人月消费业绩 + 团队月消费业绩 - BigDecimal consumePv = ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getTeamMonthPv()); + BigDecimal consumePv = ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getAllTeamMonthPv()); if (ComputeUtil.compareGreaterThan(consumePv, consumeBigPv)) { // 月累计业绩 > 大区业绩,则月累计就成为大区了 consumeBigPv = consumePv; @@ -773,14 +817,15 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 小区业绩 >= 小区考核业绩 if (bdAwards.getPlaceDeptNum() > 0) { // 验证是否有多个区满足业绩 - List cuMemberRetailRangeExtList; - // 非秒结需要查询日结相关数据,秒结表使用上面查出的数据就可以 - if (secondRangeTableName != null) { - // 会员表 关联 秒结表 和 昨日结算表,查询订单会员直推数据 - cuMemberRetailRangeExtList = cuMemberRangeExtList; - } else { - // 昨日结算表,查询订单会员直推数据 - cuMemberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeEnoughAchieve(rangeTableName, targetMemberRangeExt.getPkMember(), bdAwards.getShareCommunityCheck()); + if (null == cuMemberRetailRangeExtList) { + // 非秒结需要查询日结相关数据,秒结表使用上面查出的数据就可以 + if (null != secondRangeTableName) { + // 会员表 关联 秒结表 和 昨日结算表,查询订单会员直推数据 + cuMemberRetailRangeExtList = cuMemberRangeExtList; + } else { + // 昨日结算表,查询订单会员直推数据 + cuMemberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeEnoughAchieve(rangeTableName, targetMemberRangeExt.getPkMember(), bdAwards.getShareCommunityCheck()); + } } int enoughNum = 0; @@ -791,7 +836,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); } - if (ComputeUtil.compareValue(ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getTeamMonthPv()), bdAwards.getShareCommunityCheck())) { + if (ComputeUtil.compareValue(ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getAllTeamMonthPv()), bdAwards.getShareCommunityCheck())) { // 本人月消费业绩 + 团队月消费业绩 >= 小区考核业绩,则满足条件小部门 +1 enoughNum += 1; } @@ -812,11 +857,12 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } /** - * 计算团队极差奖衔 + * 计算团队极差奖衔 -- 退单秒结 */ public List calculateRetailBackRangeGradeAwards(Integer period, Map memberRangeExtMap, String rangeTableName, SaOrderExt saOrderExt, - Map retailTeamGradeMap, Map retailAwardsMap, String secondRangeTableName, Integer boxNum, - Map cuMemberGradeMap, Map cuMemberAwardsMap, Map cuMemberShareAwardsMap) { + Map retailTeamGradeMap, Map retailAwardsMap, String secondRangeTableName, BigDecimal boxNum, + Map cuMemberGradeMap, Map cuMemberAwardsMap, Map cuMemberShareAwardsMap, + boolean isSecond) { List cuMemberRetailRangeExtList = new ArrayList<>(); // 订单会员 CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember()); @@ -826,20 +872,35 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { BigDecimal orderAchieve = saOrderExt.getOrderAchieve(); BigDecimal orderAmount = saOrderExt.getOrderAmount(); while (targetMemberRangeExt != null) { + // 累计盒数、业绩,不管激活不激活都处理,兼容不激活判断显示有问题 + if (isSecond) { + // 当天,秒结处理 + targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().subtract(boxNum)); + targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().subtract(orderAchieve)); + } else { + // 非当天,日结处理 + targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().subtract(boxNum)); + targetMemberRangeExt.setAllTeamBoxNum(targetMemberRangeExt.getAllTeamBoxNum().subtract(boxNum)); + targetMemberRangeExt.setAllTeamMonthBoxNum(targetMemberRangeExt.getAllTeamMonthBoxNum().subtract(boxNum)); + targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().subtract(orderAchieve)); + targetMemberRangeExt.setAllTeamConsumePv(targetMemberRangeExt.getAllTeamConsumePv().subtract(orderAchieve)); + targetMemberRangeExt.setAllTeamMonthPv(targetMemberRangeExt.getAllTeamMonthPv().subtract(orderAchieve)); + } + // 激活的账号才能累计业绩和盒数(有注册、升级订单) if (targetMemberRangeExt.getEnableStatus() == EYesNo.YES.getIntValue()) { - // 累计业绩 - targetMemberRangeExt.setTeamNewPv(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamNewPv(), orderAchieve)); - targetMemberRangeExt.setTeamConsumePv(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamConsumePv(), orderAchieve)); - targetMemberRangeExt.setTeamMonthPv(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamMonthPv(), orderAchieve)); + // 累计盒数 + targetMemberRangeExt.setTeamNewBoxNum(targetMemberRangeExt.getTeamNewBoxNum().subtract(boxNum)); + targetMemberRangeExt.setTeamBoxNum(targetMemberRangeExt.getTeamBoxNum().subtract(boxNum)); + targetMemberRangeExt.setTeamMonthBoxNum(targetMemberRangeExt.getTeamMonthBoxNum().subtract(boxNum)); // 累计金额 targetMemberRangeExt.setTeamNewAmount(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamNewAmount(), orderAmount)); targetMemberRangeExt.setTeamConsumeAmount(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamConsumeAmount(), orderAmount)); targetMemberRangeExt.setTeamMonthAmount(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamMonthAmount(), orderAmount)); - // 累计盒数 - targetMemberRangeExt.setTeamNewBoxNum(targetMemberRangeExt.getTeamNewBoxNum() - boxNum); - targetMemberRangeExt.setTeamBoxNum(targetMemberRangeExt.getTeamBoxNum() - boxNum); - targetMemberRangeExt.setTeamMonthBoxNum(targetMemberRangeExt.getTeamMonthBoxNum() - boxNum); + // 累计业绩 + targetMemberRangeExt.setTeamNewPv(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamNewPv(), orderAchieve)); + targetMemberRangeExt.setTeamConsumePv(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamConsumePv(), orderAchieve)); + targetMemberRangeExt.setTeamMonthPv(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamMonthPv(), orderAchieve)); // 计算等级 calculateBackGrade(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, secondRangeTableName, cuMemberGradeMap, cuMemberAwardsMap, cuMemberShareAwardsMap, targetMemberRangeExt); @@ -859,10 +920,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { for (Integer gradeValue : retailTeamGradeMap.keySet()) { BdGrade bdGrade = retailTeamGradeMap.get(gradeValue); - if (bdGrade.getBoxTotal() <= ( - targetMemberRangeExt.getTeamBoxNum() + targetMemberRangeExt.getConsumeBoxNum() - + targetMemberRangeExt.getBigBoxNum() + targetMemberRangeExt.getSmallBoxNum() - )) { + if (bdGrade.getBoxTotal().compareTo(targetMemberRangeExt.getTeamBoxNum().add(targetMemberRangeExt.getConsumeBoxNum()).add(targetMemberRangeExt.getBigBoxNum()).add(targetMemberRangeExt.getSmallBoxNum())) <= 0) { // 验证小区,计算小区累计盒数 查询伞下会员 List cuMemberRangeExtList; if (secondRangeTableName != null) { @@ -875,12 +933,12 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // new 新逻辑确认:注水 2 个虚拟区,自己消费 1 个虚拟区,伞下直推,所有的最大 // 大区盒数(默认为自己累计消费盒数) - int bigBoxNum = targetMemberRangeExt.getConsumeBoxNum(); - if (targetMemberRangeExt.getBigBoxNum() > bigBoxNum) { + BigDecimal bigBoxNum = targetMemberRangeExt.getConsumeBoxNum(); + if (targetMemberRangeExt.getBigBoxNum().compareTo(bigBoxNum) > 0) { // 注水大区如果大则使用注水盒数为大区 bigBoxNum = targetMemberRangeExt.getBigBoxNum(); } - if (targetMemberRangeExt.getSmallBoxNum() > bigBoxNum) { + if (targetMemberRangeExt.getSmallBoxNum().compareTo(bigBoxNum) > 0) { // 注水小区如果大则使用注水盒数为大区 bigBoxNum = targetMemberRangeExt.getSmallBoxNum(); } @@ -890,17 +948,16 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); } // 伞下团队累计盒数 + 自己消费盒数 - int areaBoxNum = cuMemberRetailRangeExt.getTeamBoxNum() + cuMemberRetailRangeExt.getConsumeBoxNum(); - if (areaBoxNum > bigBoxNum) { + BigDecimal areaBoxNum = cuMemberRetailRangeExt.getAllTeamBoxNum().add(cuMemberRetailRangeExt.getConsumeBoxNum()); + if (areaBoxNum.compareTo(bigBoxNum) > 0) { // 实际订单累计盒数 大于 累计消费盒数,实际订单累计盒数为大区 bigBoxNum = areaBoxNum; } } // 小区盒数(团队累计盒数 + 自消费累计盒数 + 两个注水虚拟盒数 - 大市场盒数) - int smallBoxNum = targetMemberRangeExt.getTeamBoxNum() + targetMemberRangeExt.getConsumeBoxNum() - + targetMemberRangeExt.getBigBoxNum() + targetMemberRangeExt.getSmallBoxNum() - bigBoxNum; - if (smallBoxNum >= bdGrade.getBoxSmallTotal()) { + BigDecimal smallBoxNum = targetMemberRangeExt.getAllTeamBoxNum().add(targetMemberRangeExt.getConsumeBoxNum()).add(targetMemberRangeExt.getBigBoxNum()).add(targetMemberRangeExt.getSmallBoxNum()).subtract(bigBoxNum); + if (smallBoxNum.compareTo(bdGrade.getBoxSmallTotal()) >= 0) { // 小区盒数 大于等于 升级小区盒数 CuMemberGrade cuMemberGrade = getCuMemberGrade(period, targetMemberRangeExt, bdGrade); cuMemberGradeMap.put(cuMemberGrade.getPkMember() + "_" + cuMemberGrade.getNewLevel(), cuMemberGrade); @@ -955,7 +1012,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); } // 月累计业绩 = 本人月消费业绩 + 团队月消费业绩 - BigDecimal consumePv = ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getTeamMonthPv()); + BigDecimal consumePv = ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getAllTeamMonthPv()); if (ComputeUtil.compareGreaterThan(consumePv, consumeBigPv)) { // 月累计业绩 > 大区业绩,则月累计就成为大区了 consumeBigPv = consumePv; @@ -985,7 +1042,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); } - if (ComputeUtil.compareValue(ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getTeamMonthPv()), bdAwards.getShareCommunityCheck())) { + if (ComputeUtil.compareValue(ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getAllTeamMonthPv()), bdAwards.getShareCommunityCheck())) { // 本人月消费业绩 + 团队月消费业绩 >= 小区考核业绩,则满足条件小部门 +1 enoughNum += 1; } @@ -1315,14 +1372,14 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { if (saOrder.getOrderType().equals(EOrderType.RETAIL_CONSUME.getValue())) { return null; } - // 区域分红根据商品盒数来,如果没有盒数,直接返回为空 - if (saOrder.getBoxNum() == 0) { - return null; - } +// // 区域分红根据商品盒数来,如果没有盒数,直接返回为空 +// if (saOrder.getBoxNum().compareTo(BigDecimal.ZERO) == 0) { +// return null; +// } CuMemberRetailRangeExt sourceRetailRangeExt = memberRangeExtMap.get(saOrder.getPkMember()); // 获取对应区域会员 - CuMemberRetailRangeExt cuMemberRetailRangeExt = countyRangeExtMap.get(sourceRetailRangeExt.getSystemType() + "_" + saOrder.getRecCounty()); + CuMemberRetailRangeExt cuMemberRetailRangeExt = countyRangeExtMap.get(sourceRetailRangeExt.getRegionVertexPkId() + "_" + saOrder.getRecCounty()); if (null == cuMemberRetailRangeExt) { return null; } @@ -1364,13 +1421,22 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } else if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrder.getOrderType()) { // 复购订单, 区域收益 = 复购区域分红 * 商品数量 for (SaOrderWaresExt saOrderWaresExt : saOrder.getOrderWaresExtList()) { - benefitIncome = benefitIncome.add(saOrderWaresExt.getAreaIncome().multiply(new BigDecimal(saOrderWaresExt.getWaresQuantity()))); + if (EDelFlag.UN_DELETE.getValue() == saOrderWaresExt.getDelFlag()) { + if (ERatioType.VALUE.getValue() == saOrderWaresExt.getAreaIncomeType()) { + // 按比值处理 + benefitIncome = benefitIncome.add(saOrderWaresExt.getAreaIncome().multiply(new BigDecimal(saOrderWaresExt.getWaresQuantity()))); + } else { + // 按比率处理 + benefitIncome = benefitIncome.add(saOrderWaresExt.getWaresPrice().multiply(saOrderWaresExt.getAreaIncome()).divide(new BigDecimal("100"), 6, BigDecimal.ROUND_HALF_UP)); + } + } } } + CuMemberBonusDetail cuMemberBonusDetail = packageBenefitIncome(bonusConfigDTO, period, cuMemberBonusMap, null, RetailConstants.SAME_RATIO, benefitIncome, cuMemberRetailRangeExt, EBonusItems.RETAIL_AREA_INCOME.getValue(), BonusMsgConstants.RETAIL_AREA_INCOME); // 计算业绩以盒数做为基础 - cuMemberBonusDetail.setCalAchieve(new BigDecimal(saOrder.getBoxNum())); + cuMemberBonusDetail.setCalAchieve(saOrder.getBoxNum()); cuMemberBonusDetail.setPkOrder(saOrder.getPkId()); String remark = String.format(BonusMsgConstants.RETAIL_AREA_INCOME, saOrder.getOrderCode(), memberRangeExtMap.get(saOrder.getPkMember()).getMemberCode() + memberRangeExtMap.get(saOrder.getPkMember()).getMemberName(), diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java index 650747c8..a2aeb266 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java @@ -126,7 +126,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { bonusSettleRangeHandle.calculateRetailBonusByDay(settleDate, cuMemberBonusMap, bonusConfigDTO, recordDetailVO, period, yesterdayPeriod, isSameMonth); - // TODO new 每月1号,需要计算4个月奖 + // new 每月1号,需要计算4个月奖 if (EEnv.TEST.getValue().equals(BdConfig.getEnv())) { // 测试环境,每天都执行 // 计算新零售团队福利、福利分红等奖金 @@ -135,6 +135,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // 非测试环境 if (settleDate.endsWith("01")) { // 计算新零售团队福利、福利分红等奖金 + log.info("正式处理:{}", settleDate); bonusSettleRangeHandle.calculateRetailShareBonus(settleDate, bonusConfigDTO, period, recordDetailVO, cuMemberBonusMap); } } @@ -142,7 +143,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService { Date currentDate = DateUtils.afterDate(1, ChronoUnit.DAYS, DateUtils.parseStringToDate(settleDate)); String afterDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, currentDate); if (afterDate.endsWith("01")) { - // TODO new 区域考核处理 // 计算完月奖,计算考核(区域6个月要达到蓝宝以上) String rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + period; cuRegionAssessService.assessRegionByEveryMonth(settleDate, rangeTableName); diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusCoachServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusCoachServiceImpl.java index fbfcc117..6d8fc67c 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusCoachServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusCoachServiceImpl.java @@ -13,22 +13,13 @@ import java.util.List; import java.util.Set; /** - *

* 会员奖金-辅导收益明细表 服务实现类 - *

- * - * @author hzs - * @since 2022-11-15 */ @Service public class CuMemberBonusCoachServiceImpl extends ServiceImpl implements ICuMemberBonusCoachService { - private CuMemberBonusSettle cuMemberBonusSettle; - @Autowired - public void setCuMemberBonusSettle(CuMemberBonusSettle cuMemberBonusSettle) { - this.cuMemberBonusSettle = cuMemberBonusSettle; - } + private CuMemberBonusSettle cuMemberBonusSettle; @Override public void deleteCuMemberBonusCoach(Integer period) { @@ -37,16 +28,16 @@ public class CuMemberBonusCoachServiceImpl extends ServiceImpl cuMemberBonusCoachList, Set memberIdSet) { - if(cuMemberBonusCoachList.size() == 0){ + if (cuMemberBonusCoachList.size() == 0) { return; } List cuMemberBonusCoaches = new ArrayList<>(); for (CuMemberBonusCoach cuMemberBonusCoach : cuMemberBonusCoachList) { - if(memberIdSet.contains(cuMemberBonusCoach.getPkBonus())){ + if (memberIdSet.contains(cuMemberBonusCoach.getPkBonus())) { cuMemberBonusCoaches.add(cuMemberBonusCoach); } } - if(cuMemberBonusCoaches.size()==0){ + if (cuMemberBonusCoaches.size() == 0) { return; } List> lists = cuMemberBonusSettle.handleCutList(cuMemberBonusCoaches); diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusDetailServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusDetailServiceImpl.java index b64edc9d..31393c29 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusDetailServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusDetailServiceImpl.java @@ -13,22 +13,13 @@ import java.util.List; import java.util.Set; /** - *

* 会员奖金-奖金收益明细表(报单费) 服务实现类 - *

- * - * @author hzs - * @since 2022-11-17 */ @Service public class CuMemberBonusDetailServiceImpl extends ServiceImpl implements ICuMemberBonusDetailService { - private CuMemberBonusSettle cuMemberBonusSettle; - @Autowired - public void setCuMemberBonusSettle(CuMemberBonusSettle cuMemberBonusSettle) { - this.cuMemberBonusSettle = cuMemberBonusSettle; - } + private CuMemberBonusSettle cuMemberBonusSettle; @Override public void deleteCuMemberBonusDetail(Integer period) { @@ -37,16 +28,16 @@ public class CuMemberBonusDetailServiceImpl extends ServiceImpl cuMemberBonusDetailList, Set memberIdSet) { - if(cuMemberBonusDetailList.size() == 0){ + if (cuMemberBonusDetailList.size() == 0) { return; } List cuMemberBonusDetails = new ArrayList<>(); for (CuMemberBonusDetail cuMemberBonusDetail : cuMemberBonusDetailList) { - if(memberIdSet.contains(cuMemberBonusDetail.getPkBonus())){ + if (memberIdSet.contains(cuMemberBonusDetail.getPkBonus())) { cuMemberBonusDetails.add(cuMemberBonusDetail); } } - if(cuMemberBonusDetails.size()==0){ + if (cuMemberBonusDetails.size() == 0) { return; } List> lists = cuMemberBonusSettle.handleCutList(cuMemberBonusDetails); @@ -54,8 +45,4 @@ public class CuMemberBonusDetailServiceImpl extends ServiceImpl * 会员奖金-拓展收益明细表 服务实现类 - *

- * - * @author hzs - * @since 2022-11-15 */ @Service public class CuMemberBonusExpandServiceImpl extends ServiceImpl implements ICuMemberBonusExpandService { @@ -37,16 +32,16 @@ public class CuMemberBonusExpandServiceImpl extends ServiceImpl cuMemberBonusExpandList, Set memberIdSet) { - if(cuMemberBonusExpandList.size() == 0){ + if (cuMemberBonusExpandList.size() == 0) { return; } List memberBonusExpands = new ArrayList<>(); for (CuMemberBonusExpand cuMemberBonusExpand : cuMemberBonusExpandList) { - if(memberIdSet.contains(cuMemberBonusExpand.getPkBonus())){ + if (memberIdSet.contains(cuMemberBonusExpand.getPkBonus())) { memberBonusExpands.add(cuMemberBonusExpand); } } - if(memberBonusExpands.size()==0){ + if (memberBonusExpands.size() == 0) { return; } List> lists = cuMemberBonusSettle.handleCutList(memberBonusExpands); @@ -54,9 +49,5 @@ public class CuMemberBonusExpandServiceImpl extends ServiceImpl cuMemberBonusExpandList) { - baseMapper.insertCuMemberBonusExpand(cuMemberBonusExpandList); - } } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusPushHisServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusPushHisServiceImpl.java deleted file mode 100644 index f160257b..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusPushHisServiceImpl.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.hzs.bonus.bonus.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.hzs.bonus.bonus.service.ICuMemberBonusPushHisService; -import com.hzs.common.core.constant.MemberFieldConstants; -import com.hzs.common.domain.member.bonus.CuMemberBonusPushHis; -import com.hzs.bonus.bonus.mapper.CuMemberBonusPushHisMapper; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - *

- * 会员奖金-直推历史轮次记录 服务实现类 - *

- * - * @author hzs - * @since 2023-09-10 - */ -@Service -public class CuMemberBonusPushHisServiceImpl extends ServiceImpl implements ICuMemberBonusPushHisService { - - @Override - public List queryCuMemberBonusPushHis(Long pkMember) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("(round+1) round,second,cal_achieve"); - queryWrapper.eq(MemberFieldConstants.PK_MEMBER, pkMember); - queryWrapper.orderByDesc("round,second"); - return baseMapper.selectList(queryWrapper); - } -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusServiceImpl.java index c1d89216..635df5f3 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusServiceImpl.java @@ -621,14 +621,6 @@ public class CuMemberBonusServiceImpl extends ServiceImpl queryWeekMemberBonus(int startPeriod, int endPeriod) { - List cuMemberBonusList = baseMapper.queryWeekMemberBonus(startPeriod, endPeriod); - Map cuMemberBonusMap = new HashMap<>(ComputeUtil.mapInitCapacity(cuMemberBonusList.size())); - cuMemberBonusList.forEach(cuMemberBonus -> cuMemberBonusMap.put(cuMemberBonus.getPkMember(), cuMemberBonus)); - return cuMemberBonusMap; - } - @Override public void recalculateTeamNewBoxNum(List pkIdList) { String retailsTableName = getDayTableName(); diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberShareBonusServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberShareBonusServiceImpl.java index c4ac873f..23e727c5 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberShareBonusServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberShareBonusServiceImpl.java @@ -36,21 +36,17 @@ import java.math.BigDecimal; import java.util.*; /** - *

* 会员奖金-分红奖金配置 服务实现类 - *

- * - * @author hzs - * @since 2023-07-03 */ @Service public class CuMemberShareBonusServiceImpl extends ServiceImpl implements ICuMemberShareBonusService { @DubboReference - private ISaOrderServiceApi saOrderServiceApi; - + ISaOrderServiceApi saOrderServiceApi; @DubboReference - private IAwardsServiceApi awardsServiceApi; + IAwardsServiceApi awardsServiceApi; + @DubboReference + ICurrencyServiceApi currencyServiceApi; private ICuMemberShareDetailService cuMemberShareDetailService; @@ -60,9 +56,6 @@ public class CuMemberShareBonusServiceImpl extends ServiceImpl cuMemberShareDetailParamMap = new HashMap<>(); cuMemberShareBonusParam.getCuMemberShareDetailList().forEach(cuMemberShareDetailParam -> cuMemberShareDetailParamMap.put(cuMemberShareDetailParam.getPkAwards(), cuMemberShareDetailParam)); Date currentDateTime = DateUtils.currentDateTime(); - for(CuMemberShareDetailExt cuMemberShareDetail : cuMemberShareBonusExt.getCuMemberShareDetailList()){ - if(cuMemberShareDetailParamMap.containsKey(cuMemberShareDetail.getPkAwards())){ + for (CuMemberShareDetailExt cuMemberShareDetail : cuMemberShareBonusExt.getCuMemberShareDetailList()) { + if (cuMemberShareDetailParamMap.containsKey(cuMemberShareDetail.getPkAwards())) { CuMemberShareDetailParam cuMemberShareDetailParam = cuMemberShareDetailParamMap.get(cuMemberShareDetail.getPkAwards()); cuMemberShareDetail.setRealShareIncome(cuMemberShareDetailParam.getRealShareIncome()); cuMemberShareDetail.setRealShareSubtotal(ComputeUtil.computeMultiply(cuMemberShareDetailParam.getRealShareIncome(), cuMemberShareDetail.getReachTotal())); } - if(cuMemberShareDetail.getPkId() == null){ + if (cuMemberShareDetail.getPkId() == null) { cuMemberShareDetail.setPkCountry(cuMemberShareBonusParam.getPkCountry()); cuMemberShareDetail.setPkShareBonus(cuMemberShareBonus.getPkId()); cuMemberShareDetail.setCreationTime(currentDateTime); cuMemberShareDetail.setPkCreator(cuMemberShareBonusParam.getPkCreator()); - }else{ + } else { cuMemberShareDetail.setPkModified(cuMemberShareBonusParam.getPkCreator()); cuMemberShareDetail.setModifiedTime(DateUtils.currentDateTime()); } @@ -129,7 +122,7 @@ public class CuMemberShareBonusServiceImpl extends ServiceImpl 0) { + if (count > 0) { cuMemberShareDetail.setExpectShareSubtotal(ComputeUtil.computeDivide(cuMemberShareBonusExt.getExpectShareTotal(), BigDecimal.valueOf(count))); cuMemberShareDetail.setExpectShareIncome(ComputeUtil.computeDivide(cuMemberShareDetail.getExpectShareSubtotal(), BigDecimal.valueOf(cuMemberShareDetail.getPromoteTotal()))); - }else{ + } else { cuMemberShareDetail.setExpectShareSubtotal(BigDecimal.ZERO); cuMemberShareDetail.setExpectShareIncome(BigDecimal.ZERO); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberShareDetailServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberShareDetailServiceImpl.java index bba51a65..11371e81 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberShareDetailServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberShareDetailServiceImpl.java @@ -1,25 +1,16 @@ package com.hzs.bonus.bonus.service.impl; -import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.bonus.bonus.service.ICuMemberShareDetailService; -import com.hzs.common.core.utils.ComputeUtil; import com.hzs.common.domain.member.bonus.CuMemberShareDetail; import com.hzs.common.domain.member.ext.CuMemberShareDetailExt; import com.hzs.bonus.bonus.mapper.CuMemberShareDetailMapper; import org.springframework.stereotype.Service; -import java.util.HashMap; import java.util.List; -import java.util.Map; /** - *

* 会员奖金-分红奖金配置明细 服务实现类 - *

- * - * @author hzs - * @since 2023-07-03 */ @Service public class CuMemberShareDetailServiceImpl extends ServiceImpl implements ICuMemberShareDetailService { @@ -29,23 +20,4 @@ public class CuMemberShareDetailServiceImpl extends ServiceImpl queryCuMemberShareBonusByPeriod(Integer period){ - List cuMemberShareDetailList = baseMapper.queryCuMemberShareBonusByPeriod(period); - Map cuMemberShareDetailMap = new HashMap<>(ComputeUtil.mapInitCapacity(cuMemberShareDetailList.size())); - if(CollectionUtil.isNotEmpty(cuMemberShareDetailList)){ - for (CuMemberShareDetail cuMemberShareDetail : cuMemberShareDetailList) { - String key =cuMemberShareDetail.getPkCountry().toString() + cuMemberShareDetail.getPkAwards(); - cuMemberShareDetailMap.put(key, cuMemberShareDetail); - } - } - return cuMemberShareDetailMap; - } - } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberShareMaxServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberShareMaxServiceImpl.java deleted file mode 100644 index a55ed63e..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberShareMaxServiceImpl.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.hzs.bonus.bonus.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.hzs.bonus.bonus.service.ICuMemberShareMaxService; -import com.hzs.common.domain.member.bonus.CuMemberShareMax; -import com.hzs.bonus.bonus.mapper.CuMemberShareMaxMapper; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - *

- * 会员奖金-最大分红奖金 服务实现类 - *

- * - * @author hzs - * @since 2023-01-06 - */ -@Service -public class CuMemberShareMaxServiceImpl extends ServiceImpl implements ICuMemberShareMaxService { - - - @Override - @Transactional(rollbackFor = Exception.class) - public void insertMaxShareBonus(CuMemberShareMax cuMemberShareMax) { - // 删除 - baseMapper.deleteCuMemberShareMax(cuMemberShareMax.getPeriod()); - baseMapper.insert(cuMemberShareMax); - } -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/MemberBonusFirstPurchaseVO.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/MemberBonusFirstPurchaseVO.java index a9aec85e..65f51744 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/MemberBonusFirstPurchaseVO.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/MemberBonusFirstPurchaseVO.java @@ -38,7 +38,7 @@ public class MemberBonusFirstPurchaseVO extends PubMemberBonusVO { /** * 商城重消 */ - @BigDecimalFormat + @BigDecimalFormat("#0.0000") private BigDecimal backPoints; // // /** @@ -75,55 +75,55 @@ public class MemberBonusFirstPurchaseVO extends PubMemberBonusVO { /** * 新零售直推收益 */ - @BigDecimalFormat + @BigDecimalFormat("#0.0000") private BigDecimal retailRangeIncome; /** * 新零售平级收益 */ - @BigDecimalFormat + @BigDecimalFormat("#0.0000") private BigDecimal retailSameLevelIncome; /** * 新零售区域分红 */ - @BigDecimalFormat + @BigDecimalFormat("#0.0000") private BigDecimal retailAreaIncome; /** * 福利级差收益 */ - @BigDecimalFormat + @BigDecimalFormat("#0.0000") private BigDecimal retailBenefitRangeIncome; /** * 复购级差收益 */ - @BigDecimalFormat + @BigDecimalFormat("#0.0000") private BigDecimal retailMonthRepurchaseIncome; /** * 培育津贴 */ - @BigDecimalFormat + @BigDecimalFormat("#0.0000") private BigDecimal coachIncome; /** * 福利分红收益总计 */ - @BigDecimalFormat + @BigDecimalFormat("#0.0000") private BigDecimal retailBenefitIncomeTotal; /** * 新零售收益小计 */ - @BigDecimalFormat + @BigDecimalFormat("#0.0000") private BigDecimal retailRealSubtotal; /** * 实发收益总计 */ - @BigDecimalFormat + @BigDecimalFormat("#0.0000") private BigDecimal realIncomeTotal; } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/MemberBonusVO.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/MemberBonusVO.java index a58a007e..0d0e6fd3 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/MemberBonusVO.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/MemberBonusVO.java @@ -93,7 +93,7 @@ public class MemberBonusVO implements Serializable { /** * 商城重消 */ - @BigDecimalFormat + @BigDecimalFormat("#0.0000") private BigDecimal backPoints; /** @@ -114,7 +114,7 @@ public class MemberBonusVO implements Serializable { /** * 实发收益总计 */ - @BigDecimalFormat + @BigDecimalFormat("#0.0000") private BigDecimal realIncomeTotal; /** @@ -130,19 +130,19 @@ public class MemberBonusVO implements Serializable { /** * 新零售直推级差收益 */ - @BigDecimalFormat + @BigDecimalFormat("#0.0000") private BigDecimal retailRangeIncome; /** * 新零售平级收益 */ - @BigDecimalFormat + @BigDecimalFormat("#0.0000") private BigDecimal retailSameLevelIncome; /** * 新零售区域收益 */ - @BigDecimalFormat + @BigDecimalFormat("#0.0000") private BigDecimal retailAreaIncome; /** @@ -163,7 +163,7 @@ public class MemberBonusVO implements Serializable { /** * 新零售收益小计 */ - @BigDecimalFormat + @BigDecimalFormat("#0.0000") private BigDecimal retailRealSubtotal; /** diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberGradeMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberGradeMapper.java index ca523fdb..dcf20b69 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberGradeMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberGradeMapper.java @@ -39,6 +39,15 @@ public interface CuMemberGradeMapper extends BaseMapper { */ void updateCuMemberGradeLevel(@Param("rangeTableName") String rangeTableName, @Param("pkOrder") Long pkOrder); + /** + * 查询订单升级记录 + * + * @param pkMember + * @param pkOrder + * @return + */ + CuMemberRetailRangeExt getMemberLevel(@Param("pkMember") Long pkMember, @Param("pkOrder") Long pkOrder); + /** * 删除等级 */ diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuRegionAssessDetailMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuRegionAssessDetailMapper.java index c64e2b86..25efdea9 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuRegionAssessDetailMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuRegionAssessDetailMapper.java @@ -8,78 +8,51 @@ import java.util.Date; import java.util.List; /** - *

* 新零售会员区域考核明细表 Mapper 接口 - *

- * - * @author hzs - * @since 2025-01-13 */ public interface CuRegionAssessDetailMapper extends BaseMapper { /* - * @description: 考核开始日期 - * @author: sui q - * @date: 2025/1/13 17:13 - * @param: null null + * 考核开始日期 **/ void deleteAssessRegionDetailByDate(@Param("assessStartDate") Date assessStartDate, @Param("assessPeriod") Integer assessPeriod); /* - * @description: 删除重复的数据 - * @author: sui q - * @date: 2025/1/15 16:11 - * @param: null null + * 删除重复的数据 **/ void updateAssessRegionDetailByDate(@Param("assessStartDate") Date assessStartDate, @Param("assessEndDate") Date assessEndDate); + /** + * 批量生成考核明细seq + * + * @param rowNum + * @return + */ List batchQueryCuRegionAssessDetailSeq(Integer rowNum); /* - * @description: 批量插入区域考核数据 - * @author: sui q - * @date: 2025/1/14 14:31 - * @param: null null + * 批量插入区域考核数据 **/ void batchInsertCuRegionAssessDetail(@Param("cuRegionAssessDetailList") List cuRegionAssessDetailList); /* - * @description: 根据上月数据更新考核明细数据 - * @author: sui q - * @date: 2025/1/14 16:44 - * @param: null null + * 根据上月数据更新考核明细数据 **/ void mergeCuRegionAssessDetailTeamPv(@Param("rangeTableName") String rangeTableName, @Param("assessDate") Date assessDate); /* - * @description: 根据上月数据更新考核明细数据 - * @author: sui q - * @date: 2025/1/14 16:44 - * @param: null null + * 根据上月数据更新考核明细数据 **/ void mergeCuRegionAssessDetailSmallAreaPv(@Param("rangeTableName") String rangeTableName, @Param("assessDate") Date assessDate); /* - * @description: 初始化考核,先置为考核失败 - * @author: sui q - * @date: 2025/1/14 17:30 - * @param: null null + * 初始化考核,先置为考核失败 **/ void updateCuRegionAssessDetailInit(@Param("assessDate") Date assessDate); /* - * @description: 根据月后业绩考核,汇总满足30w,小区10w - * @author: sui q - * @date: 2025/1/14 17:36 - * @param: null null + * 根据月后业绩考核,汇总满足30w,小区10w **/ void updateCuRegionAssessDetailByPv(@Param("assessDate") Date assessDate); - /* - * @description: 根据月后业绩考核,汇总满足30w,小区10w - * @author: sui q - * @date: 2025/1/14 17:36 - * @param: null null - **/ - void updateCuRegionAssessDetailByHand(@Param("assessDate") Date assessDate); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuRegionAssessMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuRegionAssessMapper.java index 63b8f9ae..005d38f5 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuRegionAssessMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuRegionAssessMapper.java @@ -11,36 +11,22 @@ import java.util.Date; import java.util.List; /** - *

* 新零售会员区域考核 Mapper 接口 - *

- * - * @author hzs - * @since 2025-01-13 */ public interface CuRegionAssessMapper extends BaseMapper { /* - * @description: 查询考核结果 - * @author: sui q - * @date: 2025/1/15 17:22 - * @param: null null + * 查询考核结果 **/ List queryRegionAssessByCondition(@Param("regionAssessParam") CuRegionAssessParam regionAssessParam); /* - * @description: 考核开始日期 - * @author: sui q - * @date: 2025/1/13 17:13 - * @param: null null + * 考核开始日期 **/ void deleteAssessRegionByDate(@Param("assessStartDate") Date assessStartDate, @Param("assessPeriod") Integer assessPeriod); /* - * @description: 考核开始日期 - * @author: sui q - * @date: 2025/1/13 17:13 - * @param: null null + * 考核开始日期 **/ void updateAssessRegionByDate(@Param("assessStartDate") Date assessStartDate, @Param("assessEndDate") Date assessEndDate); @@ -48,49 +34,31 @@ public interface CuRegionAssessMapper extends BaseMapper { * 批量获取cuMemberBonus主键 * * @param rowNum 数量 - * @return: List - * @Author: sui q - * @Date: 2022/12/13 13:47 */ List batchQueryCuRegionAssessSeq(Integer rowNum); /* - * @description: 批量插入区域考核数据 - * @author: sui q - * @date: 2025/1/14 14:31 - * @param: null null + * 批量插入区域考核数据 **/ void batchInsertCuRegionAssess(@Param("cuRegionAssessList") List cuRegionAssessList); /* - * @description: 更新达标次数 - * @author: sui q - * @date: 2025/1/15 10:44 - * @param: null null + * 更新达标次数 **/ void mergeCuRegionAssess(@Param("assessDate") Date assessDate); /* - * @description: 查询待考核的区域 - * @author: sui q - * @date: 2025/1/13 17:31 - * @param: null null + * 查询待考核的区域 **/ List queryCuMemberRetailRegion(@Param("startDate") Date startDate, @Param("endDate") Date endDate); /* - * @description: 查询到期日期是上个月的区域 - * @author: sui q - * @date: 2025/2/25 15:45 - * @param: null null + * 查询到期日期是上个月的区域 **/ List queryDueCuMemberRetailRegion(@Param("startDate") Date startDate, @Param("endDate") Date endDate); /* - * @description: 查询手动设置考核的近6个月考核记录 - * @author: sui q - * @date: 2025/2/26 9:21 - * @param: null null + * 查询手动设置考核的近6个月考核记录 **/ List queryRegionAssessByDate(@Param("memberRetailRegionList") List memberRetailRegionList, @Param("startDate") Date startDate, @Param("endDate") Date endDate); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberGradeService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberGradeService.java index 79968315..42165197 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberGradeService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberGradeService.java @@ -36,6 +36,15 @@ public interface ICuMemberGradeService extends IService { */ void updateCuMemberGrade(String rangeTableName, Long pkOrder); + /** + * 查询订单升级记录 + * + * @param pkMember + * @param pkOrder + * @return + */ + CuMemberRetailRangeExt getMemberLevel(Long pkMember, Long pkOrder); + /** * 插入会员等级升级记录 */ diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuRegionAssessDetailService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuRegionAssessDetailService.java index 168dbe0c..f0e47195 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuRegionAssessDetailService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuRegionAssessDetailService.java @@ -7,46 +7,29 @@ import java.util.Date; import java.util.List; /** - *

* 新零售会员区域考核明细表 服务类 - *

- * - * @author hzs - * @since 2025-01-13 */ public interface ICuRegionAssessDetailService extends IService { /* - * @description: 考核开始日期 - * @author: sui q - * @date: 2025/1/13 17:13 - * @param: null null + * 考核开始日期 **/ void deleteAssessRegionDetailByDate(Date assessStartDate, Integer assessPeriod); /* - * @description: 删除重复的数据 - * @author: sui q - * @date: 2025/1/15 16:11 - * @param: null null + * 删除重复的数据 **/ void updateAssessRegionDetailByDate(Date assessStartDate, Date assessEndDate); List batchQueryCuRegionAssessDetailSeq(Integer rowNum); /* - * @description: 批量插入区域考核数据 - * @author: sui q - * @date: 2025/1/14 14:31 - * @param: null null + * 批量插入区域考核数据 **/ void batchInsertCuRegionAssessDetail(List cuRegionAssessDetailList); /* - * @description: 根据上月数据考核区域 - * @author: sui q - * @date: 2025/1/14 16:44 - * @param: null null + * 根据上月数据考核区域 **/ void assessCuRegionAssessDetail(String rangeTableName, Date assessDate); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuRegionAssessService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuRegionAssessService.java index 0f5fe7c0..29a77c3d 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuRegionAssessService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuRegionAssessService.java @@ -5,51 +5,34 @@ import com.hzs.bonus.detail.vo.CuRegionAssessVO; import com.hzs.bonus.param.CuRegionAssessParam; import com.hzs.common.domain.member.detail.CuRegionAssess; import com.hzs.common.domain.member.detail.ext.CuRegionAssessExt; -import org.apache.ibatis.annotations.Param; import java.util.Date; import java.util.List; /** - *

* 新零售会员区域考核 服务类 - *

- * - * @author hzs - * @since 2025-01-13 */ public interface ICuRegionAssessService extends IService { /* - * @description: 每月考核区域是否达标 - * @author: sui q - * @date: 2025/1/13 16:46 - * @param: null null + * 每月考核区域是否达标 **/ void assessRegionByEveryMonth(String settleDate, String rangeTableName); /** - * @description: 定时处理会员收益区域(处理前三天) - * @author: zhang jing - * @date: 2025/3/7 10:08 - * @param: [startDate] + * 定时处理会员收益区域(处理前三天) + * * @return: void **/ - void validateHandAreaAssess(Date startDate,Date endDate); + void validateHandAreaAssess(Date startDate, Date endDate); /* - * @description: 考核开始日期 - * @author: sui q - * @date: 2025/1/13 17:13 - * @param: null null + * 考核开始日期 **/ void deleteAssessRegionByDate(Date assessStartDate, Integer assessPeriod); /* - * @description: 查询考核结果 - * @author: sui q - * @date: 2025/1/15 17:22 - * @param: null null + * 查询考核结果 **/ List queryRegionAssessByCondition(CuRegionAssessParam regionAssessParam); diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberGradeServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberGradeServiceImpl.java index e1370a2c..34cfd152 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberGradeServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberGradeServiceImpl.java @@ -7,7 +7,6 @@ import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt; import com.hzs.common.domain.member.detail.CuMemberGrade; import com.hzs.common.domain.member.detail.CuMemberLevel; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; @@ -42,7 +41,11 @@ public class CuMemberGradeServiceImpl extends ServiceImpl cuMemberGradeList) { saveBatch(cuMemberGradeList); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuRegionAssessDetailServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuRegionAssessDetailServiceImpl.java index 2897177b..89306255 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuRegionAssessDetailServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuRegionAssessDetailServiceImpl.java @@ -10,12 +10,7 @@ import java.util.Date; import java.util.List; /** - *

* 新零售会员区域考核明细表 服务实现类 - *

- * - * @author hzs - * @since 2025-01-13 */ @Service public class CuRegionAssessDetailServiceImpl extends ServiceImpl implements ICuRegionAssessDetailService { @@ -50,8 +45,5 @@ public class CuRegionAssessDetailServiceImpl extends ServiceImpl * 新零售会员区域考核 服务实现类 - *

- * - * @author hzs - * @since 2025-01-13 */ +@Slf4j @Service public class CuRegionAssessServiceImpl extends ServiceImpl implements ICuRegionAssessService { @DubboReference - private IMemberRetailApi memberRetailApi; + IMemberRetailApi iMemberRetailApi; @Autowired - private ICuRegionAssessDetailService cuRegionAssessDetailService; + private ICuRegionAssessDetailService iCuRegionAssessDetailService; @Autowired private CuMemberBonusSettle cuMemberBonusSettle; @@ -54,56 +48,97 @@ public class CuRegionAssessServiceImpl extends ServiceImpl memberRetailRegionList = baseMapper.queryCuMemberRetailRegion(startDate, assessDate); if (memberRetailRegionList.size() > 0) { Map regionAssessMap = new HashMap<>(); List regionAssessDetailList = new ArrayList<>(); for (CuMemberRetailRegion cuMemberRetailRegion : memberRetailRegionList) { - CuRegionAssess cuRegionAssess = CuRegionAssess.builder() - .pkMember(cuMemberRetailRegion.getPkMember()) - .pkRegion(cuMemberRetailRegion.getPkId()) - .assessPeriod(1) - .assessStartDate(assessDate) - .assessEndDate(DateUtils.currentMonthFirstDate(DateUtils.afterMonthDate(5, assessDate))) - .source(cuMemberRetailRegion.getSource()) - .build(); - cuRegionAssess.setPkCreator(MagicNumberConstants.PK_ADMIN); - cuRegionAssess.setPkCountry(cuMemberRetailRegion.getPkCountry()); - regionAssessMap.put(cuRegionAssess.getPkMember(), cuRegionAssess); - // 保存明细 - for (int i = 0; i < 6; i++) { - CuRegionAssessDetail cuRegionAssessDetail = CuRegionAssessDetail.builder() - .pkRegionAssess(cuRegionAssess.getPkMember()) - .assessDate(DateUtils.afterMonthDate(i, assessDate)) - .pkMember(cuRegionAssess.getPkMember()) + + if (null != cuMemberRetailRegion.getEffectiveEndDate()) { + // 设置过生效结束时间 + CuRegionAssess cuRegionAssess = CuRegionAssess.builder() + .pkMember(cuMemberRetailRegion.getPkMember()) + .pkRegion(cuMemberRetailRegion.getPkId()) + .assessPeriod(1) + .assessStartDate(assessDate) + // 考核结束期 + .assessEndDate(DateUtils.currentMonthFirstDate(DateUtils.afterMonthDate(1, cuMemberRetailRegion.getEffectiveEndDate()))) + .source(cuMemberRetailRegion.getSource()) .build(); - cuRegionAssessDetail.setPkCreator(MagicNumberConstants.PK_ADMIN); - cuRegionAssessDetail.setPkCountry(cuMemberRetailRegion.getPkCountry()); - regionAssessDetailList.add(cuRegionAssessDetail); + cuRegionAssess.setPkCreator(MagicNumberConstants.PK_ADMIN); + cuRegionAssess.setPkCountry(cuMemberRetailRegion.getPkCountry()); + regionAssessMap.put(cuRegionAssess.getPkMember(), cuRegionAssess); + while (assessDate.compareTo(cuRegionAssess.getAssessEndDate()) <= 0) { + CuRegionAssessDetail cuRegionAssessDetail = CuRegionAssessDetail.builder() + .pkRegionAssess(cuRegionAssess.getPkMember()) + .assessDate(assessDate) + .pkMember(cuRegionAssess.getPkMember()) + .build(); + cuRegionAssessDetail.setPkCreator(MagicNumberConstants.PK_ADMIN); + cuRegionAssessDetail.setPkCountry(cuMemberRetailRegion.getPkCountry()); + regionAssessDetailList.add(cuRegionAssessDetail); + + assessDate = DateUtils.afterMonthDate(1, assessDate); + } + } else { + CuRegionAssess cuRegionAssess = CuRegionAssess.builder() + .pkMember(cuMemberRetailRegion.getPkMember()) + .pkRegion(cuMemberRetailRegion.getPkId()) + .assessPeriod(1) + .assessStartDate(assessDate) + // 考核结束期 + .assessEndDate(DateUtils.currentMonthFirstDate(DateUtils.afterMonthDate(5, assessDate))) + .source(cuMemberRetailRegion.getSource()) + .build(); + cuRegionAssess.setPkCreator(MagicNumberConstants.PK_ADMIN); + cuRegionAssess.setPkCountry(cuMemberRetailRegion.getPkCountry()); + regionAssessMap.put(cuRegionAssess.getPkMember(), cuRegionAssess); + // 保存明细 + for (int i = 0; i < 6; i++) { + CuRegionAssessDetail cuRegionAssessDetail = CuRegionAssessDetail.builder() + .pkRegionAssess(cuRegionAssess.getPkMember()) + .assessDate(DateUtils.afterMonthDate(i, assessDate)) + .pkMember(cuRegionAssess.getPkMember()) + .build(); + cuRegionAssessDetail.setPkCreator(MagicNumberConstants.PK_ADMIN); + cuRegionAssessDetail.setPkCountry(cuMemberRetailRegion.getPkCountry()); + regionAssessDetailList.add(cuRegionAssessDetail); + } } + } saveCuRegionAssess(regionAssessMap, regionAssessDetailList); } - cuRegionAssessDetailService.assessCuRegionAssessDetail(rangeTableName, assessDate); + iCuRegionAssessDetailService.assessCuRegionAssessDetail(rangeTableName, assessDate); baseMapper.mergeCuRegionAssess(assessDate); + + // 取消区域列表 + List cancelRegionList = new ArrayList<>(); // 开始考核,将 上月最后一天,奖衔、业绩同步到考核表中 // 查询主表考核结束日期=考核日期的,这部分需要生成下6期,最后一期结算完,验证是否达标,达标后继续生成下一期,不达标取消区域 // 查询考核结束日期次数不达标的区域,进行区域取消处理 List cuRegionAssessList = queryCuRegionAssessByEndDate(assessDate); - List cancelRegionList = new ArrayList<>(); Map regionAssessMap = new HashMap<>(); List regionAssessDetailList = new ArrayList<>(); for (CuRegionAssess cuRegionAssess : cuRegionAssessList) { - // 手动开区域的不参与考核,只有会员端选区域的参与考核 - if (cuRegionAssess.getReachNum() < 3 && cuRegionAssess.getSource() == 1) { + if (cuRegionAssess.getReachNum() < 3) { cancelRegionList.add(cuRegionAssess.getPkRegion()); continue; } @@ -136,16 +171,13 @@ public class CuRegionAssessServiceImpl extends ServiceImpl 0) { - if (!memberRetailApi.cancelRegion(cancelRegionList).isSuccess()) { + if (!iMemberRetailApi.cancelRegion(cancelRegionList).isSuccess()) { throw new RuntimeException("区域更新失败"); } } } } - /** - * 定时处理会员收益区域(处理前三天) - **/ @Override public void validateHandAreaAssess(Date startDate, Date endDate) { List cancelRegionList = new ArrayList<>(); @@ -169,7 +201,7 @@ public class CuRegionAssessServiceImpl extends ServiceImpl 0) { - if (!memberRetailApi.cancelRegion(cancelRegionList).isSuccess()) { + if (!iMemberRetailApi.cancelRegion(cancelRegionList).isSuccess()) { throw new RuntimeException("区域更新失败"); } } @@ -193,21 +225,20 @@ public class CuRegionAssessServiceImpl extends ServiceImpl> lists = cuMemberBonusSettle.handleCutList(cuRegionAssessList); - lists.forEach(list -> - baseMapper.batchInsertCuRegionAssess(list)); - List idList = cuRegionAssessDetailService.batchQueryCuRegionAssessDetailSeq(regionAssessDetailList.size()); + lists.forEach(list -> baseMapper.batchInsertCuRegionAssess(list)); + + List idList = iCuRegionAssessDetailService.batchQueryCuRegionAssessDetailSeq(regionAssessDetailList.size()); for (int j = 0; j < regionAssessDetailList.size(); j++) { regionAssessDetailList.get(j).setPkId(idList.get(j)); } // 明细表 List> detailList = cuMemberBonusSettle.handleCutList(regionAssessDetailList); - detailList.forEach(detail -> - cuRegionAssessDetailService.batchInsertCuRegionAssessDetail(detail)); + detailList.forEach(detail -> iCuRegionAssessDetailService.batchInsertCuRegionAssessDetail(detail)); } List queryCuRegionAssessByEndDate(Date settleDate) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ASSESS_END_DATE", settleDate); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(CuRegionAssess::getAssessEndDate, settleDate); return baseMapper.selectList(queryWrapper); } @@ -215,7 +246,7 @@ public class CuRegionAssessServiceImpl extends ServiceImpl - - + + + + + + + + + + + @@ -90,7 +99,13 @@ big_box_num = 0, small_box_num = 0, big_team_pv = 0, - small_team_pv = 0 + small_team_pv = 0, + all_team_new_box_num = 0, + all_team_box_num = 0, + all_team_month_box_num = 0, + all_team_new_pv = 0, + all_team_consume_pv = 0, + all_team_month_pv = 0 @@ -103,7 +118,9 @@ team_new_pv, team_consume_pv, team_month_pv, team_new_amount, team_consume_amount, team_month_amount, recommend_num, team_num, - big_box_num, small_box_num, big_team_pv, small_team_pv + big_box_num, small_box_num, big_team_pv, small_team_pv, + all_team_new_box_num, all_team_box_num, all_team_month_box_num, + all_team_new_pv, all_team_consume_pv, all_team_month_pv from ${yesterdayRangeTableName} ) b on (a.pk_member = b.pk_member) @@ -118,13 +135,19 @@ a.pk_grade = b.pk_grade, a.enable_status = b.enable_status, a.big_box_num = b.big_box_num, a.small_box_num = b.small_box_num, - a.big_team_pv = b.big_team_pv, a.small_team_pv = b.small_team_pv + a.big_team_pv = b.big_team_pv, a.small_team_pv = b.small_team_pv, + a.all_team_new_box_num = b.all_team_new_box_num, + a.all_team_box_num = b.all_team_box_num, + a.all_team_new_pv = b.all_team_new_pv, + a.all_team_consume_pv = b.all_team_consume_pv ,a.month_box_num = b.month_box_num ,a.month_consume_pv = b.month_consume_pv ,a.team_month_box_num = b.team_month_box_num ,a.team_month_pv = b.team_month_pv ,a.team_month_amount = b.team_month_amount + ,a.all_team_month_box_num = b.all_team_month_box_num + ,a.all_team_month_pv = b.all_team_month_pv @@ -138,7 +161,10 @@ #{item.teamNewBoxNum} team_new_box_num, #{item.teamBoxNum} team_box_num, #{item.teamMonthBoxNum} team_month_box_num, #{item.teamNewPv} team_new_pv, #{item.teamConsumePv} team_consume_pv, #{item.teamMonthPv} team_month_pv, #{item.teamNewAmount} team_new_amount, #{item.teamConsumeAmount} team_consume_amount, #{item.teamMonthAmount} team_month_amount, - #{item.recommendNum} recommend_num, #{item.teamNum} team_num, #{item.enableStatus} enable_status + #{item.recommendNum} recommend_num, #{item.teamNum} team_num, #{item.enableStatus} enable_status, + #{item.allTeamNewBoxNum} all_team_new_box_num, #{item.allTeamNewPv} all_team_new_pv, + #{item.allTeamBoxNum} all_team_box_num, #{item.allTeamConsumePv} all_team_consume_pv, + #{item.allTeamMonthBoxNum} all_team_month_box_num, #{item.allTeamMonthPv} all_team_month_pv from dual ) b @@ -150,7 +176,10 @@ a.team_new_box_num = b.team_new_box_num, a.team_box_num = b.team_box_num, a.team_month_box_num = b.team_month_box_num, a.team_new_pv = b.team_new_pv, a.team_consume_pv = b.team_consume_pv, a.team_month_pv = b.team_month_pv, a.team_new_amount = b.team_new_amount, a.team_consume_amount = b.team_consume_amount, a.team_month_amount = b.team_month_amount, - a.recommend_num = b.recommend_num, a.team_num = b.team_num, a.enable_status = b.enable_status + a.recommend_num = b.recommend_num, a.team_num = b.team_num, a.enable_status = b.enable_status, + a.all_team_new_box_num = b.all_team_new_box_num, a.all_team_new_pv = b.all_team_new_pv, + a.all_team_box_num = b.all_team_box_num, a.all_team_consume_pv = b.all_team_consume_pv, + a.all_team_month_box_num = b.all_team_month_box_num, a.all_team_month_pv = b.all_team_month_pv @@ -214,16 +243,21 @@ #{item.pkAwards} pk_awards, #{item.pkShareAwards} pk_share_awards, #{item.newBoxNum} new_box_num, #{item.newConsumePv} new_consume_pv, #{item.teamNewBoxNum} team_new_box_num, #{item.teamNewPv} team_new_pv, - #{item.teamNewAmount} team_new_amount, #{item.enableStatus} enable_status + #{item.teamNewAmount} team_new_amount, #{item.enableStatus} enable_status, + #{item.allNewBoxNum} all_new_box_num, #{item.allNewConsumePv} all_new_consume_pv, + #{item.allTeamNewBoxNum} all_team_new_box_num, #{item.allTeamNewPv} all_team_new_pv from dual ) b on (a.pk_member = b.pk_member) when matched then - update set a.pk_grade = b.pk_grade, a.pk_awards = b.pk_awards, a.pk_share_awards = b.pk_share_awards, + update set + a.pk_grade = b.pk_grade, a.pk_awards = b.pk_awards, a.pk_share_awards = b.pk_share_awards, a.new_box_num = b.new_box_num, a.new_consume_pv = b.new_consume_pv, a.team_new_box_num = b.team_new_box_num, a.team_new_pv = b.team_new_pv, - a.team_new_amount = b.team_new_amount, a.enable_status = b.enable_status + a.team_new_amount = b.team_new_amount, a.enable_status = b.enable_status, + a.all_new_box_num = b.all_new_box_num, a.all_new_consume_pv = b.all_new_consume_pv, + a.all_team_new_box_num = b.all_team_new_box_num, a.all_team_new_pv = b.all_team_new_pv @@ -353,11 +387,18 @@ a.small_box_num, a.big_team_pv, a.small_team_pv, + a.all_team_new_box_num, + a.all_team_box_num, + a.all_team_month_box_num, + a.all_team_new_pv, + a.all_team_consume_pv, + a.all_team_month_pv, bw.range_ratio, bw.month_repurchase_ratio, bw.benefit_avg_ratio, bw.benefit_share_ratio, - br.name country_name + br.name country_name, + bv.region_vertex_pk_id from ( select * from ${tableName} start with pk_member = #{item} @@ -371,6 +412,8 @@ on bwa.pk_id = a.pk_share_awards and bwa.del_flag = 0 left join bd_area br on br.pk_id = a.region_address and br.del_flag = 0 + left join bd_vertex bv + on bv.pk_id = a.pk_vertex where ba.del_flag = 0 and bw.del_flag = 0 @@ -398,6 +441,10 @@ a.big_team_pv, a.small_team_pv, a.system_type, + a.all_team_box_num, + a.all_team_month_box_num, + a.all_team_consume_pv, + a.all_team_month_pv, new_box_num, consume_box_num, month_box_num, @@ -526,10 +573,11 @@ diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml index 24a237c2..1e31483c 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml @@ -463,70 +463,80 @@ create table ${tableName} ( - pk_member NUMBER(20) not null, - pk_parent NUMBER(20) not null, - pk_grade NUMBER(4) not null, - pk_awards number(4) default 10 not null, - pk_share_awards number(4) default 10 not null, - enable_status number(2) default 1 not null, - system_type NUMBER(2) default 2 not null, - new_box_num number(8) default 0 not null, - new_consume_pv number(17,6) default 0 not null, - team_new_box_num number(8) default 0 not null, - team_new_pv number(17,6) default 0 not null, - team_new_amount number(17,6) default 0 not null + pk_member NUMBER(20) not null, + pk_parent NUMBER(20) not null, + pk_grade NUMBER(4) not null, + pk_awards number(4) default 10 not null, + pk_share_awards number(4) default 10 not null, + enable_status number(2) default 1 not null, + system_type NUMBER(2) default 2 not null, + new_box_num number(10,2) default 0 not null, + new_consume_pv number(17,6) default 0 not null, + team_new_box_num number(10,2) default 0 not null, + team_new_pv number(17,6) default 0 not null, + team_new_amount number(17,6) default 0 not null, + all_new_box_num number(10,2) default 0 not null, + all_new_consume_pv number(17,6) default 0 not null, + all_team_new_box_num number(10,2) default 0 not null, + all_team_new_pv number(17,6) default 0 not null ) create table ${tableName} ( - pk_member NUMBER(20) not null, - pk_parent NUMBER(20) not null, - member_code VARCHAR2(30) not null, - member_name VARCHAR2(100) not null, - customer_type NUMBER(2) not null, - phone VARCHAR2(40) not null, - pk_grade NUMBER(4) not null, - pk_awards number(4) default 10 not null, - pk_share_awards number(4) default 10 not null, - enable_status number(2) default 1 not null, - account_status number(1) default 0 not null, - pay_status NUMBER(2) default 0 not null, - pay_time DATE, - category number(2) default 0 not null, - purchase_status number(2) default 0 not null, - income_status number(2) default 0 not null, - pk_team_code number(20), - pk_center_code number(20), - pk_vertex number(20), - pk_settle_country number(4) not null, - is_real_name NUMBER(1) default 1 not null, - pk_country number(4) default 1 not null, - system_type NUMBER(2) default 2 not null, - pk_rate NUMBER(6), - new_box_num number(8) default 0 not null, - consume_box_num number(8) default 0 not null, - month_box_num number(8) default 0 not null, - new_consume_pv number(17,6) default 0 not null, - consume_pv number(17,6) default 0 not null, - month_consume_pv number(17,6) default 0 not null, - team_new_box_num number(8) default 0 not null, - team_box_num number(8) default 0 not null, - team_month_box_num number(8) default 0 not null, - team_new_pv number(17,6) default 0 not null, - team_consume_pv number(17,6) default 0 not null, - team_month_pv number(17,6) default 0 not null, - team_new_amount number(17,6) default 0 not null, - team_consume_amount number(17,6) default 0 not null, - team_month_amount number(17,6) default 0 not null, - recommend_num number(8) default 0 not null, - team_num number(8) default 0 not null, - region_address number(8) default 0 not null, - big_box_num number(8) default 0 not null, - small_box_num number(8) default 0 not null, - big_team_pv number(17,6) default 0 not null, - small_team_pv number(17,6) default 0 not null + pk_member NUMBER(20) not null, + pk_parent NUMBER(20) not null, + member_code VARCHAR2(30) not null, + member_name VARCHAR2(100) not null, + customer_type NUMBER(2) not null, + phone VARCHAR2(40) not null, + pk_grade NUMBER(4) not null, + pk_awards number(4) default 10 not null, + pk_share_awards number(4) default 10 not null, + enable_status number(2) default 1 not null, + account_status number(1) default 0 not null, + pay_status NUMBER(2) default 0 not null, + pay_time DATE, + category number(2) default 0 not null, + purchase_status number(2) default 0 not null, + income_status number(2) default 0 not null, + pk_team_code number(20), + pk_center_code number(20), + pk_vertex number(20), + pk_settle_country number(4) not null, + is_real_name NUMBER(1) default 1 not null, + pk_country number(4) default 1 not null, + system_type NUMBER(2) default 2 not null, + pk_rate NUMBER(6), + new_box_num number(10,2) default 0 not null, + consume_box_num number(10,2) default 0 not null, + month_box_num number(10,2) default 0 not null, + new_consume_pv number(17,6) default 0 not null, + consume_pv number(17,6) default 0 not null, + month_consume_pv number(17,6) default 0 not null, + team_new_box_num number(10,2) default 0 not null, + team_box_num number(10,2) default 0 not null, + team_month_box_num number(10,2) default 0 not null, + team_new_pv number(17,6) default 0 not null, + team_consume_pv number(17,6) default 0 not null, + team_month_pv number(17,6) default 0 not null, + team_new_amount number(17,6) default 0 not null, + team_consume_amount number(17,6) default 0 not null, + team_month_amount number(17,6) default 0 not null, + recommend_num number(8) default 0 not null, + team_num number(8) default 0 not null, + region_address number(8) default 0 not null, + big_box_num number(10,2) default 0 not null, + small_box_num number(10,2) default 0 not null, + big_team_pv number(17,6) default 0 not null, + small_team_pv number(17,6) default 0 not null, + all_team_new_box_num number(12,2) default 0 not null, + all_team_box_num number(12,2) default 0 not null, + all_team_month_box_num number(12,2) default 0 not null, + all_team_new_pv number(17,6) default 0 not null, + all_team_consume_pv number(17,6) default 0 not null, + all_team_month_pv number(17,6) default 0 not null ) diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuMemberMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuMemberMapper.xml index c297f892..9cd6958b 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuMemberMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuMemberMapper.xml @@ -307,15 +307,16 @@ merge into cu_member a using ( - select pk_member, min(pk_grade) pk_grade from( + select pk_member, min(pk_grade) pk_grade from ( - select #{item.pkMember} pk_member,#{item.newLevel} pk_grade from dual - ) + select #{item.pkMember} pk_member, #{item.newLevel} pk_grade from dual + + ) group by pk_member ) b on (a.pk_id = b.pk_member) when matched then - update set a.pk_settle_grade = b.pk_grade,a.modified_time = sysdate + update set a.pk_settle_grade = b.pk_grade, a.modified_time = sysdate diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/BdWaresBonusItemsMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/BdWaresBonusItemsMapper.xml index d5c6eb60..6bfc1ee1 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/BdWaresBonusItemsMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/BdWaresBonusItemsMapper.xml @@ -4,16 +4,16 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusDetailMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusDetailMapper.xml index cda1b68d..c4ace8f4 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusDetailMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusDetailMapper.xml @@ -72,17 +72,6 @@ SELECT 1 FROM dual - - insert into cu_member_bonus_detail(pk_bonus, pk_order, pk_bonus_items, income_status, - cal_type, cal_achieve, cal_value, pretax_income, - income_tax, real_income, remark, - income_ratio, income_dial_ratio, order_dial_ratio, pk_country, pk_creator) - values (#{item.pkBonus}, #{item.pkOrder}, #{item.pkBonusItems}, #{item.incomeStatus}, - #{item.calType}, #{item.calAchieve,jdbcType=NUMERIC}, #{item.calValue,jdbcType=NUMERIC}, #{item.pretaxIncome,jdbcType=NUMERIC}, - #{item.incomeTax,jdbcType=NUMERIC}, #{item.realIncome,jdbcType=NUMERIC}, - #{item.remark}, #{item.incomeRatio,jdbcType=NUMERIC}, #{item.incomeDialRatio,jdbcType=NUMERIC}, #{item.orderDialRatio,jdbcType=NUMERIC}, - #{item.pkCountry}, #{item.pkCreator}) - delete from CU_MEMBER_BONUS_DETAIL diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusExpandMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusExpandMapper.xml index 2279de06..db88bc0e 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusExpandMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusExpandMapper.xml @@ -77,19 +77,7 @@ SELECT 1 FROM dual - - insert into cu_member_bonus_expand(pk_bonus, pk_order, pk_bonus_items, income_status, - cal_type, cal_achieve, cal_value, pretax_income, - income_tax, real_income, current_touch, expand_touch, expand_no_capping, - expand_capping, expand_normal_half, expand_normal_real, remark, - income_ratio, income_dial_ratio, order_dial_ratio, pk_country, pk_creator) - values (#{item.pkBonus}, #{item.pkOrder}, #{item.pkBonusItems}, #{item.incomeStatus}, - #{item.calType}, #{item.calAchieve}, #{item.calValue}, #{item.pretaxIncome}, - #{item.incomeTax}, #{item.realIncome}, #{item.currentTouch}, #{item.expandTouch}, - #{item.expandNoCapping}, #{item.expandCapping}, #{item.expandNormalHalf}, #{item.expandNormalReal}, - #{item.remark}, #{item.incomeRatio}, #{item.incomeDialRatio}, #{item.orderDialRatio}, - #{item.pkCountry}, #{item.pkCreator}) - + delete from CU_MEMBER_BONUS_EXPAND diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml index a5abeba2..7291d327 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml @@ -244,37 +244,6 @@ b.retail_real_subtotal) - - - - MERGE INTO ${retailsTableName} s USING ( diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusPushHisMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusPushHisMapper.xml deleted file mode 100644 index 842c7eaf..00000000 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusPushHisMapper.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberShareBonusMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberShareBonusMapper.xml index 5d21bf66..a261fa85 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberShareBonusMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberShareBonusMapper.xml @@ -4,51 +4,53 @@ - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - + - - - DEL_FLAG, - CREATION_TIME, - MODIFIED_TIME, - PK_COUNTRY, - PK_CREATOR, - PK_MODIFIED, - PK_ID, PERIOD, PK_RATE, SETTLE_MONTH, EXPECT_SHARE_TOTAL, REAL_SHARE_TOTAL - diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberShareDetailMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberShareDetailMapper.xml index 638b8e49..690f8b9d 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberShareDetailMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberShareDetailMapper.xml @@ -4,62 +4,45 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - DEL_FLAG, - CREATION_TIME, - MODIFIED_TIME, - PK_COUNTRY, - PK_CREATOR, - PK_MODIFIED, - PK_ID, PK_AWARDS,PK_SHARE_BONUS, PROMOTE_TOTAL, REACH_TOTAL, EXPECT_SHARE_INCOME, EXPECT_SHARE_SUBTOTAL, REAL_SHARE_INCOME, REAL_SHARE_SUBTOTAL - merge into cu_member_share_detail a using( - - select #{item.pkAwards} pk_awards,#{item.pkShareBonus} pk_share_bonus,#{item.promoteTotal} promote_total,#{item.reachTotal} reach_total, - #{item.expectShareIncome} expect_share_income,#{item.expectShareSubtotal} expect_share_subtotal, - #{item.realShareIncome} real_share_income,#{item.realShareSubtotal} real_share_subtotal, - #{item.creationTime, jdbcType=TIMESTAMP} creation_time,#{item.pkCountry} pk_country,#{item.pkCreator,jdbcType=BIGINT} pk_creator, - #{item.modifiedTime, jdbcType=TIMESTAMP} modified_time,#{item.pkModified,jdbcType=BIGINT} pk_modified from dual - - ) b + + select #{item.pkAwards} pk_awards,#{item.pkShareBonus} pk_share_bonus,#{item.promoteTotal} promote_total,#{item.reachTotal} reach_total, + #{item.expectShareIncome} expect_share_income,#{item.expectShareSubtotal} expect_share_subtotal, + #{item.realShareIncome} real_share_income,#{item.realShareSubtotal} real_share_subtotal, + #{item.creationTime, jdbcType=TIMESTAMP} creation_time,#{item.pkCountry} pk_country,#{item.pkCreator,jdbcType=BIGINT} pk_creator, + #{item.modifiedTime, jdbcType=TIMESTAMP} modified_time,#{item.pkModified,jdbcType=BIGINT} pk_modified from dual + + ) b on (a.pk_share_bonus=b.pk_share_bonus and a.pk_awards=b.pk_awards) WHEN NOT MATCHED THEN insert(pk_awards,pk_share_bonus, promote_total, reach_total, expect_share_income, expect_share_subtotal, real_share_income, - real_share_subtotal,creation_time,pk_country,pk_creator) + real_share_subtotal,creation_time,pk_country,pk_creator) values (b.pk_awards,b.pk_share_bonus,b.promote_total,b.reach_total, b.expect_share_income, b.expect_share_subtotal, b.real_share_income, b.real_share_subtotal,b.creation_time,b.pk_country,b.pk_creator) when matched then update set a.promote_total=b.promote_total,a.reach_total=b.reach_total,a.expect_share_income=b.expect_share_income, - a.expect_share_subtotal=b.expect_share_subtotal,a.real_share_income=b.real_share_income, - a.real_share_subtotal=b.real_share_subtotal,a.modified_time=b.modified_time,a.pk_modified=b.pk_modified + a.expect_share_subtotal=b.expect_share_subtotal,a.real_share_income=b.real_share_income, + a.real_share_subtotal=b.real_share_subtotal,a.modified_time=b.modified_time,a.pk_modified=b.pk_modified - diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberShareMaxMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberShareMaxMapper.xml deleted file mode 100644 index 97bbbc0a..00000000 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberShareMaxMapper.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - delete from CU_MEMBER_SHARE_MAX where period = #{period} and del_flag=0 - - - diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberGradeMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberGradeMapper.xml index a10f74e5..5fce0844 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberGradeMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberGradeMapper.xml @@ -85,6 +85,18 @@ a.pk_grade = b.pk_grade + + + update cu_member_grade diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuRegionAssessDetailMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuRegionAssessDetailMapper.xml index e736e20b..bfebe81c 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuRegionAssessDetailMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuRegionAssessDetailMapper.xml @@ -4,101 +4,133 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + + insert ALL - - into cu_region_assess_detail(pk_id,pk_member,pk_region_assess,assess_date,pk_creator,pk_country) values - ( - #{item.pkId},#{item.pkMember},#{item.pkRegionAssess},#{item.assessDate},#{item.pkCreator},#{item.pkCountry} - ) + + into cu_region_assess_detail ( + pk_id, pk_member, pk_region_assess, assess_date, + pk_creator, pk_country) + values ( + #{item.pkId}, #{item.pkMember}, #{item.pkRegionAssess}, #{item.assessDate}, + #{item.pkCreator}, #{item.pkCountry}) SELECT 1 FROM dual + merge into cu_region_assess_detail a - using( - select cd.pk_id,cr.pk_member,cr.pk_awards, - (cr.month_consume_pv+cr.team_month_pv) team_month_pv from cu_region_assess_detail cd - inner join ${rangeTableName} cr - on cd.pk_member=cr.pk_member - where cd.del_flag=0 and cd.assess_date = #{assessDate, jdbcType=DATE} + using ( + select cd.pk_id, + cr.pk_member, + cr.pk_awards, + (cr.month_consume_pv + cr.team_month_pv) team_month_pv + from cu_region_assess_detail cd + inner join ${rangeTableName} cr + on cd.pk_member = cr.pk_member + where cd.del_flag = 0 + and cd.assess_date = #{assessDate, jdbcType=DATE} ) b - on(a.pk_id=b.pk_id) + on (a.pk_id = b.pk_id) when matched then - update set a.pk_awards=b.pk_awards,a.team_month_pv=b.team_month_pv - WHERE a.pk_awards != b.pk_awards OR a.team_month_pv != b.team_month_pv + update set a.pk_awards = b.pk_awards, a.team_month_pv = b.team_month_pv + WHERE a.pk_awards != b.pk_awards + OR a.team_month_pv != b.team_month_pv + merge into cu_region_assess_detail a - using( - select pk_id,max(big_area_pv) big_area_pv from( - select cd.pk_id,b.* from cu_region_assess_detail cd - inner join( - select pk_parent pk_member,(month_consume_pv+team_month_pv) big_area_pv from ${rangeTableName} - union - select pk_member,month_consume_pv big_area_pv from ${rangeTableName}) b - on cd.pk_member=b.pk_member - where cd.del_flag=0 and cd.assess_date = #{assessDate, jdbcType=DATE} - ) + using ( + select pk_id, max(big_area_pv) big_area_pv + from ( + select cd.pk_id, b.* + from cu_region_assess_detail cd + inner join ( + select pk_parent pk_member, (month_consume_pv + team_month_pv) big_area_pv + from ${rangeTableName} + union + select pk_member, month_consume_pv big_area_pv + from ${rangeTableName} + ) b + on cd.pk_member = b.pk_member + where cd.del_flag = 0 + and cd.assess_date = #{assessDate, jdbcType=DATE} + ) group by pk_id ) b - on(a.pk_id=b.pk_id) + on (a.pk_id = b.pk_id) when matched then - update set a.small_area_pv=a.team_month_pv-b.big_area_pv + update set a.small_area_pv = a.team_month_pv - b.big_area_pv + - update cu_region_assess_detail set assess_status=2 where del_flag=0 and assess_date=#{assessDate, jdbcType=DATE} - - - update cu_region_assess_detail set assess_status=0 - where del_flag=0 and team_month_pv>=46875 and small_area_pv>=15625 + update cu_region_assess_detail + set assess_status = 2 + where del_flag = 0 and assess_date = #{assessDate, jdbcType=DATE} - - update cu_region_assess_detail set assess_status=0 - where del_flag=0 and assess_date = #{assessDate, jdbcType=DATE} - and pk_region_assess in(select pk_id from cu_region_assess where del_flag=0 and source=2) + + + update cu_region_assess_detail + set assess_status = 0 + where del_flag = 0 + and team_month_pv >= 300000 + and small_area_pv >= 100000 + and assess_date = #{assessDate, jdbcType=DATE} + - update cu_region_assess_detail set del_flag=1,modified_time=sysdate where pk_region_assess in( - select ca.pk_id from cu_region_assess ca - inner join ( - select pk_id from cu_member_retail_region - where effective=0 and del_flag=0 - and nvl(modified_time,creation_time)>= #{assessStartDate,jdbcType=DATE} - and nvl(modified_time,creation_time) < #{assessEndDate,jdbcType=DATE} - ) b - on ca.pk_region =b.pk_id - where ca.del_flag=0 and ca.assess_start_date !=#{assessEndDate,jdbcType=DATE}) + update cu_region_assess_detail + set del_flag = 1, + modified_time = sysdate + where pk_region_assess in ( + select ca.pk_id + from cu_region_assess ca + inner join ( + select pk_id + from cu_member_retail_region + where effective = 0 + and del_flag = 0 + and nvl(modified_time, creation_time) >= #{assessStartDate, jdbcType=DATE} + and nvl(modified_time, creation_time) < #{assessEndDate, jdbcType=DATE} + ) b + on ca.pk_region = b.pk_id + where ca.del_flag = 0 + and ca.assess_start_date != #{assessEndDate,jdbcType=DATE}) + - delete from cu_region_assess_detail where del_flag=0 and - pk_region_assess in( - select pk_id from cu_region_assess where del_flag=0 and - assess_start_date=#{assessStartDate, jdbcType=DATE} - - and assess_period=#{assessPeriod} - and assess_period >= #{assessPeriod} - + delete from cu_region_assess_detail + where del_flag = 0 and + pk_region_assess in ( + select pk_id from cu_region_assess + where del_flag = 0 + and assess_start_date = #{assessStartDate, jdbcType=DATE} + + and assess_period = #{assessPeriod} + and assess_period >= #{assessPeriod} + ) + diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuRegionAssessMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuRegionAssessMapper.xml index c80c17d6..94f79635 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuRegionAssessMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuRegionAssessMapper.xml @@ -4,96 +4,137 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + insert ALL - - into cu_region_assess(pk_id,pk_member,assess_period,pk_region,assess_start_date,assess_end_date, - source,pk_creator,pk_country) values - ( - #{item.pkId},#{item.pkMember},#{item.assessPeriod},#{item.pkRegion},#{item.assessStartDate},#{item.assessEndDate}, - #{item.source},#{item.pkCreator},#{item.pkCountry} - ) + + into cu_region_assess ( + pk_id, pk_member, assess_period, pk_region, + assess_start_date, assess_end_date, + source, pk_creator, pk_country) + values ( + #{item.pkId}, #{item.pkMember}, #{item.assessPeriod}, #{item.pkRegion}, + #{item.assessStartDate}, #{item.assessEndDate}, + #{item.source}, #{item.pkCreator}, #{item.pkCountry}) SELECT 1 FROM dual + merge into CU_REGION_ASSESS a - using( - select cd.pk_region_assess,sum(1) REACH_NUM from cu_region_assess_detail cd - inner join cu_region_assess ca - on cd.pk_region_assess=ca.pk_id - where cd.ASSESS_STATUS=0 and cd.del_flag=0 and ca.del_flag=0 - and ca.assess_start_date <= #{assessDate,jdbcType=DATE} - and ca.assess_end_date >= #{assessDate,jdbcType=DATE} + using ( + select cd.pk_region_assess, sum(1) REACH_NUM + from cu_region_assess_detail cd + inner join cu_region_assess ca + on cd.pk_region_assess = ca.pk_id + inner join cu_member_retail_region cmrr + on cmrr.pk_id = ca.pk_region + where cd.ASSESS_STATUS = 0 + and cd.del_flag = 0 + and ca.del_flag = 0 + and ca.assess_start_date <= #{assessDate,jdbcType=DATE} + and ca.assess_end_date >= #{assessDate,jdbcType=DATE} + and cmrr.del_flag = 0 + and cmrr.effective_end_date is null + group by cd.pk_region_assess + union + + select cd.pk_region_assess, sum(1) REACH_NUM + from cu_region_assess_detail cd + inner join cu_region_assess ca + on cd.pk_region_assess = ca.pk_id + inner join CU_MEMBER_RETAIL_REGION cmrr + on cmrr.pk_id = ca.pk_region + where cd.del_flag = 0 + and ca.del_flag = 0 + and cmrr.del_flag = 0 + and cmrr.effective_end_date is not null + and cd.assess_date > ADD_MONTHS(cmrr.effective_end_date, -6) group by cd.pk_region_assess ) b - on (a.pk_id=b.pk_region_assess) + on (a.pk_id = b.pk_region_assess) when matched then - update set a.REACH_NUM=b.REACH_NUM + update set a.REACH_NUM = b.REACH_NUM + - update cu_region_assess set del_flag=1,modified_time=sysdate where pk_id in( - select ca.pk_id from cu_region_assess ca - inner join ( - select pk_id from cu_member_retail_region - where effective=0 and del_flag=0 - and nvl(modified_time,creation_time)>= #{assessStartDate,jdbcType=DATE} - and nvl(modified_time,creation_time) < #{assessEndDate,jdbcType=DATE} - ) b - on ca.pk_region =b.pk_id - where ca.del_flag=0 and ca.assess_start_date !=#{assessEndDate,jdbcType=DATE}) + update cu_region_assess + set del_flag = 1, + modified_time = sysdate + where pk_id in ( + select ca.pk_id + from cu_region_assess ca + inner join ( + select pk_id + from cu_member_retail_region + where effective = 0 + and del_flag = 0 + and nvl(modified_time, creation_time) >= #{assessStartDate,jdbcType=DATE} + and nvl(modified_time, creation_time) < #{assessEndDate,jdbcType=DATE} + ) b + on ca.pk_region = b.pk_id + where ca.del_flag = 0 + and ca.assess_start_date !=#{assessEndDate,jdbcType=DATE}) + delete from cu_region_assess where del_flag=0 and - assess_start_date=#{assessStartDate, jdbcType=DATE} + assess_start_date=#{assessStartDate, jdbcType=DATE} and assess_period=#{assessPeriod} and assess_period >= #{assessPeriod} + + + diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/order/BonusOrderMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/order/BonusOrderMapper.xml index 7a6db564..b9e09a19 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/order/BonusOrderMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/order/BonusOrderMapper.xml @@ -61,6 +61,8 @@ + + @@ -153,15 +155,79 @@ nvl(st.pk_order,0) pk_order, nvl(st.pk_wares,0) pk_wares, nvl(st.wares_price,0) wares_price, - nvl(bw.wares_code,'~') wares_code, nvl(st.wares_quantity,0) wares_quantity, - nvl(bw.area_income, 0) area_income + nvl(bw.wares_code,'~') wares_code, + nvl(bw.area_income, 0) area_income, + nvl(bw.area_income_type, 0) area_income_type, + nvl(bw.box_num, 0) wares_box_num from sa_order so left join sa_order_wares st on so.pk_id = st.pk_order and st.wares_price > 0 left join bd_wares bw on bw.pk_id = st.pk_wares and bw.del_flag = 0 where so.order_status = 1 + and so.order_type in (41, 42) + + and so.order_code=#{orderCode} + + and so.pay_time >= #{startDate} + and so.pay_time < #{endDate} + union + select so.pk_id, + so.pk_member, + so.order_code, + so.order_type, + so.pk_rate, + so.rec_province, + so.rec_city, + so.rec_county, + so.order_amount, + so.order_achieve, + so.order_ass_achieve, + so.upload_achieve, + so.pk_reference, + so.pk_vertex, + so.pk_country, + so.del_flag, + so.pay_time, + so.pk_creator, + so.consume_amount, + so.box_num, + soi.items_id, + soi.pk_order, + soi.pk_wares, + soi.wares_price, + soi.wares_quantity, + nvl(bw.wares_code, '~') wares_code, + nvl(bw.area_income, 0) area_income, + nvl(bw.area_income_type, 0) area_income_type, + nvl(bw.box_num, 0) wares_box_num + from sa_order so + left join ( + select max(soi.pk_id) items_id, + nvl(soi.pk_order, 0) pk_order, + nvl(soi.pk_wares, 0) pk_wares, + sum(soi.achievement * soi.quantity) wares_price, + max(soi.wares_quantity) wares_quantity + from sa_order so + left join sa_order_items soi + on soi.pk_order = so.pk_id + and soi.is_gift = 1 + where so.order_status = 1 + and so.order_type in (43, 44) + + and so.order_code=#{orderCode} + + and so.pay_time >= #{startDate} + and so.pay_time < #{endDate} + group by soi.pk_order, soi.pk_wares + ) soi + on soi.pk_order = so.pk_id + left join bd_wares bw + on bw.pk_id = soi.pk_wares + and bw.del_flag = 0 + where so.order_status = 1 + and so.order_type in (43, 44) and so.order_code=#{orderCode} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java index 34435c2f..7ba33038 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java @@ -2521,10 +2521,13 @@ public class CuMemberServiceImpl extends ServiceImpl i Set waresAuthorityParentParamList = new HashSet<>(); // 安置查询 Set waresAuthorityPlaceParamList = new HashSet<>(); + // 指定会员 + Set pkMemberList = new HashSet<>(); for (ShowWaresDTO showWaresDTO : showWaresDTOS) { for (BdWaresAuthority bw : showWaresDTO.getWaresAuthorityList()) { if (bw.getAuthorityType() == EWaresPermissionType.BLOOD_ALLOW.getValue() || bw.getAuthorityType() == EWaresPermissionType.BLOOD_STOP.getValue()) { + // 血缘关系 WaresAuthorityParentParam waresAuthorityParentParam = WaresAuthorityParentParam.builder() .pkMember(bw.getPkMember()) .loginMember(showWaresDTO.getLoginMember()) @@ -2532,12 +2535,17 @@ public class CuMemberServiceImpl extends ServiceImpl i waresAuthorityParentParamList.add(waresAuthorityParentParam); } if (bw.getAuthorityType() == EWaresPermissionType.PLACE_ALLWO.getValue() || bw.getAuthorityType() == EWaresPermissionType.PLACE_STOP.getValue()) { + // 安置关系 WaresAuthorityParentParam waresAuthorityParentParam = WaresAuthorityParentParam.builder() .pkMember(bw.getPkMember()) .loginMember(showWaresDTO.getLoginMember()) .build(); waresAuthorityPlaceParamList.add(waresAuthorityParentParam); } + if (bw.getAuthorityType() == EWaresPermissionType.MEMBER.getValue()) { + // 指定会员可见 + pkMemberList.add(bw.getPkMember()); + } } } @@ -2568,6 +2576,9 @@ public class CuMemberServiceImpl extends ServiceImpl i } else if (bdWaresAuthority.getAuthorityType() == EWaresPermissionType.PLACE_STOP.getValue()) { // 安置禁止 isShowWares = !waresAuthorityPlaceList.contains(bdWaresAuthority.getPkMember()); + } else if (bdWaresAuthority.getAuthorityType() == EWaresPermissionType.MEMBER.getValue()) { + // 指定会员可见 + isShowWares = pkMemberList.contains(showWaresDTO.getLoginMember()); } } resultMap.put(showWaresDTO.getPkWares(), isShowWares); diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/ApiRetailHomePageController.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/ApiRetailHomePageController.java index e0812932..f5bcd896 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/ApiRetailHomePageController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/ApiRetailHomePageController.java @@ -1,6 +1,7 @@ package com.hzs.retail.member.controller.api; +import cn.hutool.core.util.ObjectUtil; import com.hzs.common.core.web.controller.BaseController; import com.hzs.common.core.web.domain.AjaxResult; import com.hzs.common.core.web.page.TableDataInfo; @@ -44,6 +45,9 @@ public class ApiRetailHomePageController extends BaseController { Long pkMember = SecurityUtils.getUserId(); Integer pkCountry = SecurityUtils.getPkCountry(); Integer systemType = SecurityUtils.getSystemType(); + if(ObjectUtil.isEmpty(systemType)){ + systemType = 2; + } CuMemberRetailDataStatisticsResultVO result = retailAchieveService.getRetailDataStatisticsDetail(pkMember, pkCountry, systemType); CuMemberRetailAchieveVO vo = CuMemberRetailAchieveVO.builder() .totalBox(result.getTotalBoxNum()) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java index aad87a29..c44dda3c 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java @@ -240,7 +240,7 @@ public class RetailMemberController extends BaseController { // return AjaxResult.error("当前区域已经被占用"); // } // } - int cuMemberRetailRegion = iCuMemberRetailRegionService.validateBindCount(param, EYesNo.YES.getIntValue(), SecurityUtils.getSystemType(), param.getPkMember()); + int cuMemberRetailRegion = iCuMemberRetailRegionService.validateBindCount(param, EYesNo.YES.getIntValue(), SecurityUtils.getSystemType(), userId); if (cuMemberRetailRegion > 0) { return AjaxResult.error("当前区域已经被占用"); } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/provider/MemberRetailProvider.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/provider/MemberRetailProvider.java index dddd4b2e..8e78ffa0 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/provider/MemberRetailProvider.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/provider/MemberRetailProvider.java @@ -10,11 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired; import java.util.List; /** - * @Description: 新零售会员dubbo服务 - * @Author: jiang chao - * @Time: 2024/12/31 13:40 - * @Classname: MemberRetailProvider - * @PackageName: com.hzs.retail.member.provider + * 新零售会员dubbo服务 */ @Slf4j @DubboService diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/CuMemberRetailAchieveServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/CuMemberRetailAchieveServiceImpl.java index d5d90390..8b707c7c 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/CuMemberRetailAchieveServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/CuMemberRetailAchieveServiceImpl.java @@ -267,6 +267,14 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl memberAchieveList, BigDecimal rate) { //查询最大业绩 + if(ObjectUtil.isEmpty(memberAchieveList)){ + return null; + } + for (CuMemberRetailAchieveVO cuMemberRetailAchieveVO : memberAchieveList) { + if(ObjectUtil.isEmpty(cuMemberRetailAchieveVO.getArealPv())){ + cuMemberRetailAchieveVO.setArealPv(BigDecimal.ZERO); + } + } CuMemberRetailAchieveVO maxAchieveVO = memberAchieveList.stream().max(Comparator.comparing(CuMemberRetailAchieveVO::getArealPv)).get(); //查询小区业绩 BigDecimal smallAreaPv = memberAchieveList.stream().filter(achieveVO -> !achieveVO.getPkMember().equals(maxAchieveVO.getPkMember())).map(vo -> null == vo.getArealPv() ? BigDecimal.ZERO : vo.getArealPv()).reduce(BigDecimal.ZERO, BigDecimal::add); @@ -607,6 +615,9 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl pkMemberList = baseMapper.selectDirectPushByPkMember(pkMember, systemType); + if(CollUtil.isEmpty(pkMemberList)){ + return new PageResult(0, new ArrayList<>()); + } param.setPkIdList(pkMemberList); List detailVOList = baseMapper.getMarketDynamicsDetail(param); log.info("detailVOList : {}", JSONUtil.toJsonStr(detailVOList)); diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/DataStatisticsUtil.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/DataStatisticsUtil.java index ca99cc39..e78da820 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/DataStatisticsUtil.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/DataStatisticsUtil.java @@ -250,7 +250,8 @@ public class DataStatisticsUtil { MarketDynamicsDetailVO bigRange = null; if(param.getQueryType().equals(1)){ bigRange = detailVOList.stream() - .max(Comparator.comparingInt(MarketDynamicsDetailVO::getTotalBoxNum)) +// .max(Comparator.comparingInt(MarketDynamicsDetailVO::getTotalBoxNum)) + .max(Comparator.comparing(MarketDynamicsDetailVO::getTotalBoxNum, BigDecimal::compareTo)) .orElse(null); }else{ bigRange = detailVOList.stream() diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/CuMemberRetailAchieveVO.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/CuMemberRetailAchieveVO.java index de2229d0..593613bd 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/CuMemberRetailAchieveVO.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/CuMemberRetailAchieveVO.java @@ -62,17 +62,20 @@ public class CuMemberRetailAchieveVO implements Serializable { /** * 总盒数 */ + @BigDecimalFormat private BigDecimal totalBox; /** * 小市场盒数 */ + @BigDecimalFormat private BigDecimal smallAreaBox; /** * 大市场盒数 */ + @BigDecimalFormat private BigDecimal bigAreaBox; /** diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/MarketDynamicsDetailVO.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/MarketDynamicsDetailVO.java index fc0ac86b..c7624c93 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/MarketDynamicsDetailVO.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/MarketDynamicsDetailVO.java @@ -64,22 +64,27 @@ public class MarketDynamicsDetailVO implements Serializable { /** * 今日盒数 */ - private Integer todayBoxNum; + @BigDecimalFormat + private BigDecimal todayBoxNum; /** * 昨日盒数 */ - private Integer yesterdayBoxNum; + @BigDecimalFormat + private BigDecimal yesterdayBoxNum; /** * 本月盒数 */ - private Integer currentMonthBoxNum; + @BigDecimalFormat + private BigDecimal currentMonthBoxNum; /** * 上月盒数 */ - private Integer lastMonthBoxNum; + @BigDecimalFormat + private BigDecimal lastMonthBoxNum; /** * 累计消费盒数 */ - private Integer totalBoxNum; + @BigDecimalFormat + private BigDecimal totalBoxNum; } diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberRetailRangeMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberRetailRangeMapper.xml index 51a94956..e1e94369 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberRetailRangeMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberRetailRangeMapper.xml @@ -445,7 +445,7 @@ @@ -289,6 +281,7 @@ and cmrr.del_flag = 0 AND cmrr.PK_MEMBER IN (select pk_id from CU_MEMBER where PK_VERTEX in (select pk_id from BD_VERTEX where REGION_VERTEX_PK_ID in (select REGION_VERTEX_PK_ID from BD_VERTEX where pk_id in (select PK_VERTEX FROM cu_member WHERE PK_ID = #{pkId} )) and DEL_FLAG = 0)) + AND cmrr.PK_MEMBER != #{pkId} select @@ -704,45 +705,6 @@ - - - - - - - - @@ -1566,100 +1450,98 @@ ) + CREATE INDEX ${indexName} ON ${tableName} (pk_member) - - merge into ${tableName} cmab using ( - SELECT - nvl(t.SUM_AMOUNT+ nvl(cmr.SUM_AMOUNT,0),0) SUM_AMOUNT, - nvl(t.REG_AMOUNT+ nvl(cmr.REG_AMOUNT,0),0) REG_AMOUNT, - nvl(t.UPG_AMOUNT+ nvl(cmr.UPG_AMOUNT,0),0) UPG_AMOUNT, - nvl(t.REP_AMOUNT+ nvl(cmr.REP_AMOUNT,0),0) REP_AMOUNT, - nvl(t.CON_AMOUNT+ nvl(cmr.CON_AMOUNT,0),0) CON_AMOUNT, + SELECT nvl(t.SUM_AMOUNT + nvl(cmr.SUM_AMOUNT, 0), 0) SUM_AMOUNT, + nvl(t.REG_AMOUNT + nvl(cmr.REG_AMOUNT, 0), 0) REG_AMOUNT, + nvl(t.UPG_AMOUNT + nvl(cmr.UPG_AMOUNT, 0), 0) UPG_AMOUNT, + nvl(t.REP_AMOUNT + nvl(cmr.REP_AMOUNT, 0), 0) REP_AMOUNT, + nvl(t.CON_AMOUNT + nvl(cmr.CON_AMOUNT, 0), 0) CON_AMOUNT, - nvl(t.SUM_PV+ nvl(cmr.SUM_PV,0),0)SUM_PV, - nvl(t.REG_PV+ nvl(cmr.REG_PV,0),0)REG_PV, - nvl(t.UPG_PV+ nvl(cmr.UPG_PV,0),0)UPG_PV, - nvl(t.REP_PV+ nvl(cmr.REP_PV,0),0)REP_PV, - nvl(t.CON_PV+ nvl(cmr.CON_PV,0),0)CON_PV, + nvl(t.SUM_PV + nvl(cmr.SUM_PV, 0), 0) SUM_PV, + nvl(t.REG_PV + nvl(cmr.REG_PV, 0), 0) REG_PV, + nvl(t.UPG_PV + nvl(cmr.UPG_PV, 0), 0) UPG_PV, + nvl(t.REP_PV + nvl(cmr.REP_PV, 0), 0) REP_PV, + nvl(t.CON_PV + nvl(cmr.CON_PV, 0), 0) CON_PV, - nvl(t.SUM_BOX+ nvl(cmr.SUM_BOX,0),0) SUM_BOX, - nvl(t.REG_BOX+ nvl(cmr.REG_BOX,0),0) REG_BOX, - nvl(t.UPG_BOX+ nvl(cmr.UPG_BOX,0),0) UPG_BOX, - nvl(t.REP_BOX+ nvl(cmr.REP_BOX,0),0) REP_BOX, - nvl(t.CON_BOX+ nvl(cmr.CON_BOX,0),0) CON_BOX, + nvl(t.SUM_BOX + nvl(cmr.SUM_BOX, 0), 0) SUM_BOX, + nvl(t.REG_BOX + nvl(cmr.REG_BOX, 0), 0) REG_BOX, + nvl(t.UPG_BOX + nvl(cmr.UPG_BOX, 0), 0) UPG_BOX, + nvl(t.REP_BOX + nvl(cmr.REP_BOX, 0), 0) REP_BOX, + nvl(t.CON_BOX + nvl(cmr.CON_BOX, 0), 0) CON_BOX, - t.pk_member, - t.pk_parent, - t.BIG_BOX_NUM, - t.SMALL_BOX_NUM, - t.PK_COUNTRY, - nvl(cmr.team_sum_amount,0) team_sum_amount, - nvl(cmr.team_REG_amount,0) team_REG_amount, - nvl(cmr.team_UPG_amount,0) team_UPG_amount, - nvl(cmr.team_REP_amount,0) team_REP_amount, - nvl(cmr.team_CON_amount,0) team_CON_amount, + t.pk_member, + t.pk_parent, + t.BIG_BOX_NUM, + t.SMALL_BOX_NUM, + t.PK_COUNTRY, + nvl(cmr.team_sum_amount, 0) team_sum_amount, + nvl(cmr.team_REG_amount, 0) team_REG_amount, + nvl(cmr.team_UPG_amount, 0) team_UPG_amount, + nvl(cmr.team_REP_amount, 0) team_REP_amount, + nvl(cmr.team_CON_amount, 0) team_CON_amount, - nvl(cmr.team_sum_pv,0) team_sum_pv, - nvl(cmr.team_REG_pv,0) team_REG_pv, - nvl(cmr.team_UPG_pv,0) team_UPG_pv, - nvl(cmr.team_REP_pv,0) team_REP_pv, - nvl(cmr.team_CON_pv,0) team_CON_pv, + nvl(cmr.team_sum_pv, 0) team_sum_pv, + nvl(cmr.team_REG_pv, 0) team_REG_pv, + nvl(cmr.team_UPG_pv, 0) team_UPG_pv, + nvl(cmr.team_REP_pv, 0) team_REP_pv, + nvl(cmr.team_CON_pv, 0) team_CON_pv, - nvl(cmr.team_sum_box,0) team_sum_box, - nvl(cmr.team_REG_box,0) team_REG_box, - nvl(cmr.team_UPG_box,0) team_UPG_box, - nvl(cmr.team_REP_box,0) team_REP_box, - nvl(cmr.team_CON_box,0) team_CON_box - FROM ( - SELECT SUM(nvl(so.ORDER_AMOUNT,0)) SUM_AMOUNT, - SUM(CASE WHEN so.order_type = 41 THEN nvl(so.ORDER_AMOUNT, 0) ELSE 0 END) AS REG_AMOUNT, - SUM(CASE WHEN so.order_type = 42 THEN nvl(so.ORDER_AMOUNT, 0) ELSE 0 END) AS UPG_AMOUNT, - SUM(CASE WHEN so.order_type = 43 THEN nvl(so.ORDER_AMOUNT, 0) ELSE 0 END) AS REP_AMOUNT, - SUM(CASE WHEN so.order_type = 44 THEN nvl(so.ORDER_AMOUNT, 0) ELSE 0 END) AS CON_AMOUNT, + nvl(cmr.team_sum_box, 0) team_sum_box, + nvl(cmr.team_REG_box, 0) team_REG_box, + nvl(cmr.team_UPG_box, 0) team_UPG_box, + nvl(cmr.team_REP_box, 0) team_REP_box, + nvl(cmr.team_CON_box, 0) team_CON_box + FROM ( + SELECT SUM(nvl(so.ORDER_AMOUNT, 0)) SUM_AMOUNT, + SUM(CASE WHEN so.order_type = 41 THEN nvl(so.ORDER_AMOUNT, 0) ELSE 0 END) AS REG_AMOUNT, + SUM(CASE WHEN so.order_type = 42 THEN nvl(so.ORDER_AMOUNT, 0) ELSE 0 END) AS UPG_AMOUNT, + SUM(CASE WHEN so.order_type = 43 THEN nvl(so.ORDER_AMOUNT, 0) ELSE 0 END) AS REP_AMOUNT, + SUM(CASE WHEN so.order_type = 44 THEN nvl(so.ORDER_AMOUNT, 0) ELSE 0 END) AS CON_AMOUNT, - SUM(nvl(so.ORDER_ACHIEVE,0)) SUM_PV, - SUM(CASE WHEN so.order_type = 41 THEN nvl(so.ORDER_ACHIEVE, 0) ELSE 0 END) AS REG_PV, - SUM(CASE WHEN so.order_type = 42 THEN nvl(so.ORDER_ACHIEVE, 0) ELSE 0 END) AS UPG_PV, - SUM(CASE WHEN so.order_type = 43 THEN nvl(so.ORDER_ACHIEVE, 0) ELSE 0 END) AS REP_PV, - SUM(CASE WHEN so.order_type = 44 THEN nvl(so.ORDER_ACHIEVE, 0) ELSE 0 END) AS CON_PV, + SUM(nvl(so.ORDER_ACHIEVE, 0)) SUM_PV, + SUM(CASE WHEN so.order_type = 41 THEN nvl(so.ORDER_ACHIEVE, 0) ELSE 0 END) AS REG_PV, + SUM(CASE WHEN so.order_type = 42 THEN nvl(so.ORDER_ACHIEVE, 0) ELSE 0 END) AS UPG_PV, + SUM(CASE WHEN so.order_type = 43 THEN nvl(so.ORDER_ACHIEVE, 0) ELSE 0 END) AS REP_PV, + SUM(CASE WHEN so.order_type = 44 THEN nvl(so.ORDER_ACHIEVE, 0) ELSE 0 END) AS CON_PV, - SUM(nvl(so.BOX_NUM,0)) SUM_BOX, - SUM(CASE WHEN so.order_type = 41 THEN nvl(so.BOX_NUM, 0) ELSE 0 END) AS REG_BOX, - SUM(CASE WHEN so.order_type = 42 THEN nvl(so.BOX_NUM, 0) ELSE 0 END) AS UPG_BOX, - SUM(CASE WHEN so.order_type = 43 THEN nvl(so.BOX_NUM, 0) ELSE 0 END) AS REP_BOX, - SUM(CASE WHEN so.order_type = 44 THEN nvl(so.BOX_NUM, 0) ELSE 0 END) AS CON_BOX, - rag.pk_member, - rag.pk_parent, - SUM(nvl(rag.BIG_BOX_NUM,0)) BIG_BOX_NUM, - SUM(nvl(rag.SMALL_BOX_NUM,0)) SMALL_BOX_NUM, - rag.PK_COUNTRY - FROM ${rangeTabeName} rag - left join sa_order so on rag.pk_member=so.pk_member and so.del_flag=0 AND so.ORDER_STATUS=1 - AND so.PAY_TIME >= to_date(#{staDate}, 'yyyy-mm-dd') - AND so.PAY_TIME <= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss') - GROUP BY rag.pk_member, rag.pk_parent,rag.PK_COUNTRY - ) t - left JOIN ${beforeTabeName} cmr ON cmr.pk_member=t.pk_member - ) tmp + SUM(nvl(so.BOX_NUM, 0)) SUM_BOX, + SUM(CASE WHEN so.order_type = 41 THEN nvl(so.BOX_NUM, 0) ELSE 0 END) AS REG_BOX, + SUM(CASE WHEN so.order_type = 42 THEN nvl(so.BOX_NUM, 0) ELSE 0 END) AS UPG_BOX, + SUM(CASE WHEN so.order_type = 43 THEN nvl(so.BOX_NUM, 0) ELSE 0 END) AS REP_BOX, + SUM(CASE WHEN so.order_type = 44 THEN nvl(so.BOX_NUM, 0) ELSE 0 END) AS CON_BOX, + rag.pk_member, + rag.pk_parent, + SUM(nvl(rag.BIG_BOX_NUM, 0)) BIG_BOX_NUM, + SUM(nvl(rag.SMALL_BOX_NUM, 0)) SMALL_BOX_NUM, + rag.PK_COUNTRY + FROM ${rangeTabeName} rag + left join sa_order so on rag.pk_member = so.pk_member and so.del_flag = 0 AND so.ORDER_STATUS = 1 + AND so.PAY_TIME >= to_date(#{staDate}, 'yyyy-mm-dd') + AND so.PAY_TIME <= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss') + GROUP BY rag.pk_member, rag.pk_parent, rag.PK_COUNTRY + ) t + left JOIN ${beforeTabeName} cmr ON cmr.pk_member = t.pk_member + ) tmp on (cmab.pk_member = tmp.pk_member) when not matched then insert - (PK_MEMBER,PK_PARENT,SUM_AMOUNT,REG_AMOUNT,UPG_AMOUNT,REP_AMOUNT,CON_AMOUNT, - SUM_BOX,REG_BOX,UPG_BOX,REP_BOX,CON_BOX, - SUM_PV,REG_PV,UPG_PV,REP_PV,CON_PV, - PK_COUNTRY, - TEAM_SUM_AMOUNT,TEAM_REG_AMOUNT,TEAM_UPG_AMOUNT,TEAM_REP_AMOUNT,TEAM_CON_AMOUNT, - TEAM_SUM_BOX,TEAM_REG_BOX,TEAM_UPG_BOX,TEAM_REP_BOX,TEAM_CON_BOX, - TEAM_SUM_PV,TEAM_REG_PV,TEAM_UPG_PV,TEAM_REP_PV,TEAM_CON_PV,BIG_BOX,SMALL_BOX - ) + (PK_MEMBER, PK_PARENT, SUM_AMOUNT, REG_AMOUNT, UPG_AMOUNT, REP_AMOUNT, CON_AMOUNT, + SUM_BOX, REG_BOX, UPG_BOX, REP_BOX, CON_BOX, + SUM_PV, REG_PV, UPG_PV, REP_PV, CON_PV, + PK_COUNTRY, + TEAM_SUM_AMOUNT, TEAM_REG_AMOUNT, TEAM_UPG_AMOUNT, TEAM_REP_AMOUNT, TEAM_CON_AMOUNT, + TEAM_SUM_BOX, TEAM_REG_BOX, TEAM_UPG_BOX, TEAM_REP_BOX, TEAM_CON_BOX, + TEAM_SUM_PV, TEAM_REG_PV, TEAM_UPG_PV, TEAM_REP_PV, TEAM_CON_PV, BIG_BOX, SMALL_BOX + ) values (tmp.pk_member, tmp.PK_PARENT, tmp.SUM_AMOUNT, @@ -1667,13 +1549,11 @@ tmp.UPG_AMOUNT, tmp.REP_AMOUNT, tmp.CON_AMOUNT, - tmp.SUM_BOX, tmp.REG_BOX, tmp.UPG_BOX, tmp.REP_BOX, tmp.CON_BOX, - tmp.SUM_PV, tmp.REG_PV, tmp.UPG_PV, @@ -1685,64 +1565,59 @@ tmp.TEAM_UPG_AMOUNT, tmp.TEAM_REP_AMOUNT, tmp.TEAM_CON_AMOUNT, - tmp.TEAM_SUM_BOX, tmp.TEAM_REG_BOX, tmp.TEAM_UPG_BOX, tmp.TEAM_REP_BOX, tmp.TEAM_CON_BOX, - tmp.TEAM_SUM_PV, tmp.TEAM_REG_PV, tmp.TEAM_UPG_PV, tmp.TEAM_REP_PV, tmp.TEAM_CON_PV, tmp.BIG_BOX_NUM, - tmp.SMALL_BOX_NUM - ) + tmp.SMALL_BOX_NUM) when matched then update set - cmab.SUM_AMOUNT = tmp.SUM_AMOUNT, - cmab.REG_AMOUNT = tmp.REG_AMOUNT, - cmab.UPG_AMOUNT = tmp.UPG_AMOUNT, - cmab.REP_AMOUNT = tmp.REP_AMOUNT, - cmab.CON_AMOUNT = tmp.CON_AMOUNT, + cmab.SUM_AMOUNT = tmp.SUM_AMOUNT, + cmab.REG_AMOUNT = tmp.REG_AMOUNT, + cmab.UPG_AMOUNT = tmp.UPG_AMOUNT, + cmab.REP_AMOUNT = tmp.REP_AMOUNT, + cmab.CON_AMOUNT = tmp.CON_AMOUNT, - cmab.SUM_BOX = tmp.SUM_BOX, - cmab.REG_BOX = tmp.REG_BOX, - cmab.UPG_BOX = tmp.UPG_BOX, - cmab.REP_BOX = tmp.REP_BOX, - cmab.CON_BOX = tmp.CON_BOX, + cmab.SUM_BOX = tmp.SUM_BOX, + cmab.REG_BOX = tmp.REG_BOX, + cmab.UPG_BOX = tmp.UPG_BOX, + cmab.REP_BOX = tmp.REP_BOX, + cmab.CON_BOX = tmp.CON_BOX, - cmab.SUM_PV = tmp.SUM_PV, - cmab.REG_PV = tmp.REG_PV, - cmab.UPG_PV = tmp.UPG_PV, - cmab.REP_PV = tmp.REP_PV, - cmab.CON_PV = tmp.CON_PV, + cmab.SUM_PV = tmp.SUM_PV, + cmab.REG_PV = tmp.REG_PV, + cmab.UPG_PV = tmp.UPG_PV, + cmab.REP_PV = tmp.REP_PV, + cmab.CON_PV = tmp.CON_PV, - cmab.TEAM_SUM_AMOUNT = tmp.TEAM_SUM_AMOUNT, - cmab.TEAM_REG_AMOUNT = tmp.TEAM_REG_AMOUNT, - cmab.TEAM_UPG_AMOUNT = tmp.TEAM_UPG_AMOUNT, - cmab.TEAM_REP_AMOUNT = tmp.TEAM_REP_AMOUNT, - cmab.TEAM_CON_AMOUNT = tmp.TEAM_CON_AMOUNT, + cmab.TEAM_SUM_AMOUNT = tmp.TEAM_SUM_AMOUNT, + cmab.TEAM_REG_AMOUNT = tmp.TEAM_REG_AMOUNT, + cmab.TEAM_UPG_AMOUNT = tmp.TEAM_UPG_AMOUNT, + cmab.TEAM_REP_AMOUNT = tmp.TEAM_REP_AMOUNT, + cmab.TEAM_CON_AMOUNT = tmp.TEAM_CON_AMOUNT, - cmab.TEAM_SUM_BOX = tmp.TEAM_SUM_BOX, - cmab.TEAM_REG_BOX = tmp.TEAM_REG_BOX, - cmab.TEAM_UPG_BOX = tmp.TEAM_UPG_BOX, - cmab.TEAM_REP_BOX = tmp.TEAM_REP_BOX, - cmab.TEAM_CON_BOX = tmp.TEAM_CON_BOX, - - cmab.TEAM_SUM_PV = tmp.TEAM_SUM_PV, - cmab.TEAM_REG_PV = tmp.TEAM_REG_PV, - cmab.TEAM_UPG_PV = tmp.TEAM_UPG_PV, - cmab.TEAM_REP_PV = tmp.TEAM_REP_PV, - cmab.TEAM_CON_PV = tmp.TEAM_CON_PV, - cmab.BIG_BOX = tmp.BIG_BOX_NUM, - cmab.SMALL_BOX = tmp.SMALL_BOX_NUM + cmab.TEAM_SUM_BOX = tmp.TEAM_SUM_BOX, + cmab.TEAM_REG_BOX = tmp.TEAM_REG_BOX, + cmab.TEAM_UPG_BOX = tmp.TEAM_UPG_BOX, + cmab.TEAM_REP_BOX = tmp.TEAM_REP_BOX, + cmab.TEAM_CON_BOX = tmp.TEAM_CON_BOX, + cmab.TEAM_SUM_PV = tmp.TEAM_SUM_PV, + cmab.TEAM_REG_PV = tmp.TEAM_REG_PV, + cmab.TEAM_UPG_PV = tmp.TEAM_UPG_PV, + cmab.TEAM_REP_PV = tmp.TEAM_REP_PV, + cmab.TEAM_CON_PV = tmp.TEAM_CON_PV, + cmab.BIG_BOX = tmp.BIG_BOX_NUM, + cmab.SMALL_BOX = tmp.SMALL_BOX_NUM - merge into ${tableName} cmab @@ -1798,66 +1673,73 @@ cmab.TEAM_REP_PV = tmp.TEAM_REP_PV, cmab.TEAM_CON_PV = tmp.TEAM_CON_PV - - - + + + + + - delete from ${tableName} + delete + from ${tableName} - update ${tableName} set SUM_BOX=0,TEAM_SUM_BOX=0 where PK_MEMBER in( - select PK_MEMBER from ${rangeTabeName} rag where enable_status=1 + update ${tableName} + set SUM_BOX = 0, + TEAM_SUM_BOX = 0 + where PK_MEMBER in ( + select PK_MEMBER + from ${rangeTabeName} rag + where enable_status = 1 ) - + merge into ${tableName} cmab - using ( SELECT rag.pk_member, - rag.pk_parent, - rag.CONSUME_PV SUM_PV, - rag.CONSUME_BOX_NUM SUM_BOX, - rag.TEAM_CONSUME_PV TEAM_SUM_PV, - rag.TEAM_BOX_NUM TEAM_SUM_BOX, - rag.TEAM_CONSUME_AMOUNT TEAM_SUM_AMOUNT, - rag.BIG_BOX_NUM AS INFLATE_BIG_BOX, - rag.SMALL_BOX_NUM AS INFLATE_SMALL_BOX, - rag.PK_COUNTRY - FROM ${rangeTabeName} rag - ) tmp + using (SELECT rag.pk_member, + rag.pk_parent, + rag.CONSUME_PV SUM_PV, + rag.CONSUME_BOX_NUM SUM_BOX, + rag.TEAM_CONSUME_PV TEAM_SUM_PV, + rag.TEAM_BOX_NUM TEAM_SUM_BOX, + rag.TEAM_CONSUME_AMOUNT TEAM_SUM_AMOUNT, + rag.BIG_BOX_NUM AS INFLATE_BIG_BOX, + rag.SMALL_BOX_NUM AS INFLATE_SMALL_BOX, + rag.PK_COUNTRY + FROM ${rangeTabeName} rag + ) tmp on (cmab.pk_member = tmp.pk_member) when not matched then insert - (PK_MEMBER,PK_PARENT,SUM_PV,SUM_BOX,TEAM_SUM_PV,TEAM_SUM_BOX,TEAM_SUM_AMOUNT, - INFLATE_BIG_BOX, - INFLATE_SMALL_BOX, - PK_COUNTRY) + (PK_MEMBER, PK_PARENT, SUM_PV, SUM_BOX, TEAM_SUM_PV, TEAM_SUM_BOX, TEAM_SUM_AMOUNT, + INFLATE_BIG_BOX, + INFLATE_SMALL_BOX, + PK_COUNTRY) values (tmp.pk_member, tmp.PK_PARENT, tmp.SUM_PV, @@ -1867,92 +1749,34 @@ tmp.TEAM_SUM_AMOUNT, tmp.INFLATE_BIG_BOX, tmp.INFLATE_SMALL_BOX, - tmp.PK_COUNTRY - ) + tmp.PK_COUNTRY) when matched then update set cmab.SUM_BOX = tmp.SUM_BOX, - cmab.SUM_PV = tmp.SUM_PV, - cmab.TEAM_SUM_PV=tmp.TEAM_SUM_PV, - cmab.TEAM_SUM_BOX=tmp.TEAM_SUM_BOX, - cmab.TEAM_SUM_AMOUNT=tmp.TEAM_SUM_AMOUNT, - cmab.INFLATE_BIG_BOX=tmp.INFLATE_BIG_BOX, - cmab.INFLATE_SMALL_BOX=tmp.INFLATE_SMALL_BOX + cmab.SUM_PV = tmp.SUM_PV, + cmab.TEAM_SUM_PV = tmp.TEAM_SUM_PV, + cmab.TEAM_SUM_BOX = tmp.TEAM_SUM_BOX, + cmab.TEAM_SUM_AMOUNT = tmp.TEAM_SUM_AMOUNT, + cmab.INFLATE_BIG_BOX = tmp.INFLATE_BIG_BOX, + cmab.INFLATE_SMALL_BOX = tmp.INFLATE_SMALL_BOX - - - - + + SELECT min(t0.enable_status) enableStatus, + #{pkMember} pkMember + FROM (SELECT mr.enable_status + FROM ${dpb.memberRetailTable} mr + where mr.pk_member = #{pkMember} + union all - select NVL(rs.new_box_num + rs.team_new_box_num, 0) totalAreaBox - from ${memberRetailSTable} rs - where rs.pk_member = #{pkMember} + SELECT mrs.enable_status + FROM ${dpb.memberRetailSTable} mrs + where mrs.pk_member = #{pkMember} - ) - + ) t0 + - - - - - @@ -2003,6 +1827,4 @@ - - diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java index cc89b47f..c4b592b2 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java @@ -599,7 +599,6 @@ public class ApiRetailOrderController { .channel(shoppingCartRedis.getSource()) .waresCode(shoppingCartRedis.getWaresCode()) .quantity(shoppingCartRedis.getNumber()) - .pkMakerSpace(shoppingCartRedis.getPkMakerSpace()) .build(); List waresItemsParamList = new ArrayList<>(shoppingCartRedis.getProductGroup().size()); for (ProductGroup productGroup : shoppingCartRedis.getProductGroup()) { diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java index a1e5bfa2..d6a50ced 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java @@ -20,6 +20,7 @@ import com.hzs.common.domain.sale.ext.SaOrderWaresLimitExt; import com.hzs.common.domain.sale.order.*; import com.hzs.common.domain.sale.wares.BdWaresRange; import com.hzs.common.domain.system.base.BdStorehouse; +import com.hzs.common.domain.system.config.BdAwards; import com.hzs.common.domain.system.config.BdGrade; import com.hzs.common.security.utils.SecurityUtils; import com.hzs.member.account.IMemberAccountServiceApi; @@ -40,6 +41,7 @@ import com.hzs.sale.wares.service.IBdWaresExtendService; import com.hzs.sale.wares.service.IBdWaresRangeService; import com.hzs.system.base.ICurrencyServiceApi; import com.hzs.system.base.dto.CurrencyDTO; +import com.hzs.system.config.IAwardsServiceApi; import com.hzs.system.config.IGradeServiceApi; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; @@ -90,6 +92,8 @@ public class RetailOrderServiceImpl implements IRetailOrderService { @DubboReference IGradeServiceApi iGradeServiceApi; @DubboReference + IAwardsServiceApi iAwardsServiceApi; + @DubboReference ICurrencyServiceApi iCurrencyServiceApi; @DubboReference IMemberServiceApi iMemberServiceApi; @@ -217,8 +221,16 @@ public class RetailOrderServiceImpl implements IRetailOrderService { // 会员信息 if (null != cuMember) { cuMember.setPkSettleGrade(newGrade.getPkId()); - if (cuMember.getPkAwards() == null) { + if (null == cuMember.getPkAwards()) { + // 新会员没有奖衔,则进行赋值 cuMember.setPkAwards(newGrade.getPkAwards()); + } else { + // 老会员奖衔如果为无,也进行赋值 + BdAwards bdAwards = iAwardsServiceApi.getAwardsOne(cuMember.getPkAwards()).getData(); + if (EAwards.MEMBER.getValue() == bdAwards.getAwardsValue() + && EAwards.MEMBER.getValue() != newGrade.getPkAwards()) { + cuMember.setPkAwards(newGrade.getPkAwards()); + } } } } @@ -226,37 +238,11 @@ public class RetailOrderServiceImpl implements IRetailOrderService { return saOrderExt; } - /** - * 获取升级价格 - * - * @param gradeList 等级列表 - * @param boxNum 购买盒数 - * @param baseBoxNum 基础盒数 - * @param updateGrade 升级等级 - * @return - */ - private BigDecimal getUpGradePrice(List gradeList, int boxNum, int baseBoxNum, BdGrade updateGrade) { - BigDecimal price; - if (null != updateGrade) { - // V4、V5直接给固定价格,不会因升级变动 - if (updateGrade.getGradeValue() == EGrade.S_VIP.getValue()) { - price = ERetailWaresPrice.V5.getPrice(); - } else if (updateGrade.getGradeValue() == EGrade.VIP.getValue()) { - price = ERetailWaresPrice.V4.getPrice(); - } else { - price = this.getWaresPrice(baseBoxNum + boxNum, gradeList); - } - } else { - price = this.getWaresPrice(baseBoxNum + boxNum, gradeList); - } - return price; - } - @Override public List createSaOrderItems(RetailOrderParam orderParam, List gradeList, CuMember cuMember, SaOrderExt saOrderExt, CurrencyDTO currency) { // 需要查询盒数商品 - List boxProductList = BoxProductUtil.getBoxProductListBySystemType(null); + List boxWaresList = BoxProductUtil.getBoxWaresListBySystemType(null); // 订单明细信息 List orderItemsList = new ArrayList<>(); @@ -291,7 +277,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService { // } // 当前盒数 - int boxNum = 0; + BigDecimal boxNum = BigDecimal.ZERO; // // 2025.03.11 添加需求,复购专区、重消专区,指定盒数商品每用户每月限购50件 // this.checkWaresLimit(cuMember.getPkId(), orderParam.getSpecialArea(), waresDetailExtList, boxProductList); @@ -315,9 +301,9 @@ public class RetailOrderServiceImpl implements IRetailOrderService { saOrderHandle.setPostageTmpMap(orderParam.getTranType(), postageMap, waresDetailExt, orderItems); } - if (boxProductList.contains(waresDetailExt.getWaresCode())) { + if (boxWaresList.contains(waresDetailExt.getWaresCode())) { // 商品是盒数商品,需要累计数量 - boxNum += orderItems.getWaresQuantity(); + boxNum = boxNum.add(waresDetailExt.getBoxNum().multiply(new BigDecimal(orderItems.getWaresQuantity()))); } } @@ -478,26 +464,6 @@ public class RetailOrderServiceImpl implements IRetailOrderService { } } - /** - * 根据购买盒数,返回商品价格 - * - * @param boxNum 盒数 - * @param gradeList 等级列表(倒序排序) - * @return - */ - private BigDecimal getWaresPrice(int boxNum, List gradeList) { - // 去掉升级条件带有累计盒数的(V4,V5)并且升级购买合数小于等于订单商品盒数的,再进行等级值倒序排序 - gradeList = gradeList.stream().filter(tmpGrade -> tmpGrade.getBoxTotal() == 0 && tmpGrade.getBoxNumber() <= boxNum).sorted(Comparator.comparingInt(BdGrade::getGradeValue).reversed()).collect(Collectors.toList()); - - for (BdGrade bdGrade : gradeList) { - if (boxNum > bdGrade.getBoxNumber()) { - // 盒数大于等于购买盒数 - return ERetailWaresPrice.getEnumByValue(bdGrade.getGradeValue()).getPrice(); - } - } - return ERetailWaresPrice.V0.getPrice(); - } - /** * 封装订单信息 * @@ -807,7 +773,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService { Map waresLimitMap = new HashMap<>(); // 盒数商品 - List boxProductList = BoxProductUtil.getBoxProductListBySystemType(saOrderExt.getSystemType()); + List boxProductList = BoxProductUtil.getBoxWaresListBySystemType(saOrderExt.getSystemType()); for (SaOrderItems saOrderItems : saOrderExt.getOrderItemsList()) { saOrderItems.setPkOrder(saOrderExt.getPkId()); @@ -933,7 +899,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService { && (EOrderType.RETAIL_REGISTER.getValue() == saOrder.getOrderType() || EOrderType.RETAIL_UPGRADE.getValue() == saOrder.getOrderType()) ) { // 会员激活状态为空 或 未激活,并且是 注册、升级 订单,判断会员是否激活 - if (saOrder.getBoxNum() > 0) { + if (saOrder.getBoxNum().compareTo(BigDecimal.ZERO) > 0) { // 存在指定盒数商品 cuMember.setIsActivate(EYesNo.YES.getIntValue()); if (EPayStatus.UNPAID.getValue() == cuMember.getPayStatus()) { diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/ParentOrderController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/ParentOrderController.java index 18753424..5820e39d 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/ParentOrderController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/ParentOrderController.java @@ -40,7 +40,6 @@ import com.hzs.sale.wares.service.IBdWaresDetailService; import com.hzs.scm.pub.IScmBillServiceApi; import com.hzs.system.base.IAreaServiceApi; import com.hzs.system.base.ICurrencyServiceApi; -import com.hzs.system.base.dto.CurrencyDTO; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.beans.factory.annotation.Autowired; @@ -98,24 +97,19 @@ public abstract class ParentOrderController extends BaseController { return orderItemsService; } - /** + * 根据code、编码获取值 + * * @param code 查询的code - * @Description: 根据code、编码获取值 - * @return: CuMember - * @Author: sui q - * @Date: 2022/8/30 8:48 */ protected CuMember getCuMemberByCode(String code) { return orderService.getCuMemberByCode(code); } /** + * 验证字段是否必输 + * * @param fieldList 需要验证的字段 - * @Description: 验证字段是否必输 - * @return: boolean - * @Author: sui q - * @Date: 2022/8/29 11:13 */ protected boolean validateFieldNotNull(OrderParam orderParam, List fieldList) { return fieldList.stream().anyMatch(field -> { @@ -125,11 +119,9 @@ public abstract class ParentOrderController extends BaseController { } /** + * 验证手机号+姓名 + * * @param orderParam 手机号、姓名、安置人必输 - * @Description: 验证手机号+姓名 - * @return: AjaxResult - * @Author: sui q - * @Date: 2022/8/27 16:51 */ protected AjaxResult validatePhone(OrderParam orderParam) { if (StringUtils.isEmpty(orderParam.getPhone()) || StringUtils.isEmpty(orderParam.getMemberName())) { @@ -190,11 +182,9 @@ public abstract class ParentOrderController extends BaseController { } /** + * 验证推荐编号,成功后返回姓名,如果首单返回安置人、安置部门 + * * @param orderParam 必须推荐人 - * @Description: 验证推荐编号,成功后返回姓名,如果首单返回安置人、安置部门 - * @return: AjaxResult - * @Author: sui q - * @Date: 2022/8/27 16:53 */ protected AjaxResult validateReferenceRelation(OrderParam orderParam) { if (StringUtils.isEmpty(orderParam.getParent())) { @@ -264,11 +254,9 @@ public abstract class ParentOrderController extends BaseController { } /** + * 验证安置编号、安置部门,成功后返回姓名 + * * @param orderParam 必须安置人 - * @Description: 验证安置编号、安置部门,成功后返回姓名 - * @return: AjaxResult - * @Author: sui q - * @Date: 2022/8/27 16:53 */ protected AjaxResult validatePlaceParentMemberCode(OrderParam orderParam) { if (StringUtils.isEmpty(orderParam.getParent())) { @@ -341,11 +329,9 @@ public abstract class ParentOrderController extends BaseController { } /** + * 验证需要注册的信息, 订单保存时需要调用的验证 + * * @param orderParam 所有信息 - * @Description: 验证需要注册的信息, 订单保存时需要调用的验证 - * @return: AjaxResult - * @Author: sui q - * @Date: 2022/9/2 16:15 */ protected AjaxResult validateSaveMember(OrderParam orderParam) { // 安置编号 @@ -375,9 +361,6 @@ public abstract class ParentOrderController extends BaseController { /* * 验证可用量,可用量不足,不能下单 - * @author: sui q - * @date: 2023/12/14 17:49 - * @param: null null **/ protected String validateAvailableNum(OrderParam orderParam, String orderCode) { // 验证是否控制进销存 @@ -468,12 +451,10 @@ public abstract class ParentOrderController extends BaseController { } /** + * 对安置位置进行加锁预防位置重复 + * * @param placeParentId 安置人 * @param placeDept 安置位置 - * @Description: 对安置位置进行加锁预防位置重复 - * @return: void - * @Author: sui q - * @Date: 2022/9/5 9:20 */ protected boolean validatePlacePosition(Long placeParentId, Integer placeDept) { // 验证通过对安置人,安置部门加锁,防止同时安置引起错误,最后解锁 @@ -483,10 +464,6 @@ public abstract class ParentOrderController extends BaseController { /** * @param placeParentId 安置位置 * @param placeDept 安置部门 - * @Description: - * @return: String - * @Author: sui q - * @Date: 2022/9/5 10:35 */ private String getLockKey(Long placeParentId, Integer placeDept) { return CacheConstants.POSITION + @@ -495,11 +472,9 @@ public abstract class ParentOrderController extends BaseController { } /** + * 空单注册 验证权限,验证编号是否有报单权限 + * * @param centerCodeId 验证的权限 - * @Description: 空单注册 验证权限,验证编号是否有报单权限 - * @return: AjaxResult - * @Author: sui q - * @Date: 2022/8/27 16:53 */ protected AjaxResult validateRegisterAuthority(Long centerCodeId, Integer specialArea) { // 前台登录验证登录会员,后台空点验证输入的报单人 @@ -580,10 +555,6 @@ public abstract class ParentOrderController extends BaseController { * 验证手机号注册次数 * * @param cuMemberExtList 会员数量 - * @Description: - * @return: Boolean - * @Author: sui q - * @Date: 2022/8/29 11:38 */ private Boolean validatePhoneCount(List cuMemberExtList) { // 判断次数,获取系统参数,从redis中获取系统参数 @@ -621,11 +592,9 @@ public abstract class ParentOrderController extends BaseController { } /** + * 验证升级关系,只能给自己或者自己安置伞下升级 + * * @param orderParam 前台传递的参数 - * @Description: 验证升级关系,只能给自己或者自己安置伞下升级 - * @return: boolean - * @Author: sui q - * @Date: 2023/1/10 14:05 */ protected AjaxResult validateUpgradeRelation(OrderParam orderParam) { CuMember upgradeMember = orderService.getCuMemberByCode(orderParam.getUpgradeMemberCode()); @@ -659,27 +628,16 @@ public abstract class ParentOrderController extends BaseController { } /** + * 查询订单返回值,用于支付 + * * @param saOrder 订单 * @param orderParam 参数 - * @Description: 查询订单返回值,用于支付 - * @return: OrderReturn - * @Author: sui q - * @Date: 2023/2/2 11:11 */ protected OrderReturn getOrderReturn(SaOrder saOrder, OrderParam orderParam) { // 封装订单信息 long maxPayTime = getOrderService().getIsToBePayTime(orderParam.getPkSettleCountry(), saOrder.getOrderType()); - // 剩余支付秒数 //查询带关闭参数 - // 获取行政区划map - Integer pkLoginCountry = orderParam.getPkLoginSettleCountry(); BigDecimal orderAmount = saOrder.getOrderAmount(); - if (!Objects.equals(pkLoginCountry, saOrder.getPkCountry())) { - // 结算国当地币 转美金 美金登录当地币 - CurrencyDTO loginCountryCurrency = currencyServiceApi.getCurrency(pkLoginCountry).getData(); - CurrencyDTO settleCountryCurrency = currencyServiceApi.getCurrency(saOrder.getPkCountry()).getData(); - orderAmount = ComputeUtil.computeMultiply(ComputeUtil.computeDivide(orderAmount, settleCountryCurrency.getInExchangeRate()), loginCountryCurrency.getInExchangeRate()); - } Map areaMap = iAreaServiceApi.getAreaMap(orderParam.getPkSettleCountry()).getData(); OrderReturn orderReturn = OrderReturn.builder() .orderCode(saOrder.getOrderCode()) @@ -724,7 +682,6 @@ public abstract class ParentOrderController extends BaseController { .channel(shoppingCartRedis.getSource()) .waresCode(shoppingCartRedis.getWaresCode()) .quantity(shoppingCartRedis.getNumber()) - .pkMakerSpace(shoppingCartRedis.getPkMakerSpace()) .build(); List waresItemsParamList = new ArrayList<>(shoppingCartRedis.getProductGroup().size()); for (ProductGroup productGroup : shoppingCartRedis.getProductGroup()) { diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/manager/SaOrderBusinessController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/manager/SaOrderBusinessController.java index 401f32db..7f33d91f 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/manager/SaOrderBusinessController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/manager/SaOrderBusinessController.java @@ -671,11 +671,11 @@ public class SaOrderBusinessController extends BaseController { return AjaxResult.error(checkStr); } - // 校验盒数商品与非盒数商品不能互换 - checkStr = iOrderBusinessService.checkOrderRetailProduct(param); - if (null != checkStr) { - return AjaxResult.error(checkStr); - } +// // 校验盒数商品与非盒数商品不能互换 +// checkStr = iOrderBusinessService.checkOrderRetailProduct(param); +// if (null != checkStr) { +// return AjaxResult.error(checkStr); +// } // 确认调换货物并发起审批 String str = iOrderBusinessService.changeProductApprovalSubmit(param, userTokenService.getLoginUser()); @@ -722,11 +722,11 @@ public class SaOrderBusinessController extends BaseController { return AjaxResult.error(checkStr); } - // 校验盒数商品与非盒数商品不能互换 - checkStr = iOrderBusinessService.checkOrderRetailProduct(param); - if (null != checkStr) { - return AjaxResult.error(checkStr); - } +// // 校验盒数商品与非盒数商品不能互换 +// checkStr = iOrderBusinessService.checkOrderRetailProduct(param); +// if (null != checkStr) { +// return AjaxResult.error(checkStr); +// } // 调换货物不走签呈 String str = iOrderBusinessService.changeProductApprovalFreeSign(param, userTokenService.getLoginUser()); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/mapper/SaOrderItemsMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/mapper/SaOrderItemsMapper.java index caa08a22..f47c79d2 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/mapper/SaOrderItemsMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/mapper/SaOrderItemsMapper.java @@ -14,6 +14,7 @@ import com.hzs.sale.order.param.WaresOrderParam; import com.hzs.sale.order.vo.WaresOrderVo; import org.apache.ibatis.annotations.Param; +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -259,22 +260,6 @@ public interface SaOrderItemsMapper extends BaseMapper { */ List selectByWaresCodeList(@Param("orderCode") String orderCode); - /** - * 查询新零售购买指定商品数量 - * - * @param pkMember 会员ID - * @param waresCodeList 商品编号列表 - * @param payTime 支付时间(可为null) - * @param orderTypeList 订单类型列表 - * @param systemType 系统类型(可为null) - * @return - */ - int getRetailWaresQuantity(@Param("pkMember") Long pkMember, - @Param("waresCodeList") List waresCodeList, - @Param("payTime") Date payTime, - @Param("orderTypeList") List orderTypeList, - @Param("systemType") Integer systemType); - /** * 查询新零售购买指定商品数量(新) * @@ -285,11 +270,11 @@ public interface SaOrderItemsMapper extends BaseMapper { * @param systemType 系统类型(可为null) * @return */ - int getRetailWaresQuantityNew(@Param("pkMember") Long pkMember, - @Param("waresCodeList") List waresCodeList, - @Param("payTime") Date payTime, - @Param("orderTypeList") List orderTypeList, - @Param("systemType") Integer systemType); + BigDecimal getRetailWaresQuantityNew(@Param("pkMember") Long pkMember, + @Param("waresCodeList") List waresCodeList, + @Param("payTime") Date payTime, + @Param("orderTypeList") List orderTypeList, + @Param("systemType") Integer systemType); /** * 订单发货数量 diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/param/OrderItemsParam.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/param/OrderItemsParam.java index 1440a51a..9d0a68eb 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/param/OrderItemsParam.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/param/OrderItemsParam.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; +import java.math.BigDecimal; import java.util.List; /** @@ -40,9 +41,9 @@ public class OrderItemsParam implements Serializable { private Integer quantity; /** - * 创客空间id + * 商品盒数 */ - private Long pkMakerSpace; + private BigDecimal boxNum; /** * 商品明细 diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderItemsService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderItemsService.java index 63d71342..ff3d19e8 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderItemsService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderItemsService.java @@ -14,6 +14,7 @@ import com.hzs.sale.order.param.WaresOrderParam; import com.hzs.sale.order.vo.WaresOrderVo; import org.apache.ibatis.annotations.Param; +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -227,18 +228,6 @@ public interface ISaOrderItemsService extends IService { */ List selectByWaresCodeList(String orderCode); - /** - * 查询新零售购买指定商品数量 - * - * @param pkMember 会员ID - * @param waresCodeList 商品编号列表 - * @param payTime 支付时间(可为null) - * @param orderTypeList 订单类型列表 - * @param systemType 系统类型(可为null) - * @return - */ - int getRetailWaresQuantity(Long pkMember, List waresCodeList, Date payTime, List orderTypeList, Integer systemType); - /** * 查询新零售购买指定商品数量(新) * @@ -249,7 +238,7 @@ public interface ISaOrderItemsService extends IService { * @param systemType 系统类型(可为null) * @return */ - int getRetailWaresQuantityNew(Long pkMember, List waresCodeList, Date payTime, List orderTypeList, Integer systemType); + BigDecimal getRetailWaresQuantityNew(Long pkMember, List waresCodeList, Date payTime, List orderTypeList, Integer systemType); /** * 订单发货数量 diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/OrderBusinessServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/OrderBusinessServiceImpl.java index f1af7b88..3ad20739 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/OrderBusinessServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/OrderBusinessServiceImpl.java @@ -154,14 +154,14 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { @Override public String checkOrderRetailProduct(OrderProductParam param) { // 盒数商品对应的产品列表 - List pkProductList = iBdWaresService.listBoxProduct(BoxProductUtil.getBoxProductListBySystemType(null)); + List pkProductList = iBdWaresService.listBoxProduct(BoxProductUtil.getBoxWaresListBySystemType(null)); // 换货产品列表 List paramProductList = param.getItemList().stream().map(OrderProductDetailParam::getPkProduct).collect(Collectors.toList()); SaOrder saOrder = iSaOrderService.getOne(Wrappers.lambdaQuery() .eq(SaOrder::getOrderCode, param.getOrderCode()) ); - if (saOrder.getBoxNum() > 0) { + if (saOrder.getBoxNum().compareTo(BigDecimal.ZERO) > 0) { // 盒数商品订单,换货的产品是否都是盒数商品下的,如果是则可以进行更换,如果不是则不能更换 for (Integer pkProduct : paramProductList) { if (!pkProductList.contains(pkProduct)) { @@ -2288,7 +2288,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { saOrderItems.setPkWaresSpecsSku(0); // 2025.02.11 如果是盒数商品换货,需要更新成最新的盒数商品ID - List tmpList = iBdWaresService.listBoxProductAndWares(BoxProductUtil.getBoxProductListBySystemType(null), saOrderItems.getPkProduct(), ESpecialArea.getRetailSpecialAreaValue(saOrder.getOrderType())); + List tmpList = iBdWaresService.listBoxProductAndWares(BoxProductUtil.getBoxWaresListBySystemType(null), saOrderItems.getPkProduct(), ESpecialArea.getRetailSpecialAreaValue(saOrder.getOrderType())); if (CollectionUtil.isNotEmpty(tmpList)) { saOrderItems.setPkWares(tmpList.get(0).getPkWares()); } @@ -2313,9 +2313,10 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { // 调换货物选择不同产品,没有商品信息,此处先全部按默认值来处理 // 2025.02.11 如果盒数商品,历史商品ID不变,非盒数商品进行处理 - if (saOrder.getBoxNum() == 0) { + if (saOrder.getBoxNum().compareTo(BigDecimal.ZERO) == 0) { saOrderItems.setPkWares(0); } + saOrderItems.setPkWares(0); saOrderItems.setPkWaresDetail(0); saOrderItems.setPkWaresSpecsSku(0); updateOrderItemsList.add(saOrderItems); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderItemsServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderItemsServiceImpl.java index ce3f48ec..5b95d922 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderItemsServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderItemsServiceImpl.java @@ -20,6 +20,7 @@ import com.hzs.sale.order.vo.WaresOrderVo; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.util.*; /** @@ -189,12 +190,7 @@ public class SaOrderItemsServiceImpl extends ServiceImpl waresCodeList, Date payTime, List orderTypeList, Integer systemType) { - return baseMapper.getRetailWaresQuantity(pkMember, waresCodeList, payTime, orderTypeList, systemType); - } - - @Override - public int getRetailWaresQuantityNew(Long pkMember, List waresCodeList, Date payTime, List orderTypeList, Integer systemType) { + public BigDecimal getRetailWaresQuantityNew(Long pkMember, List waresCodeList, Date payTime, List orderTypeList, Integer systemType) { return baseMapper.getRetailWaresQuantityNew(pkMember, waresCodeList, payTime, orderTypeList, systemType); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java index 12a8c761..7cad8626 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java @@ -132,9 +132,9 @@ public class SaOrderServiceImpl extends ServiceImpl impl IGradeServiceApi iGradeServiceApi; @Autowired - private IBdWaresService waresService; + private IBdWaresService iBdWaresService; @Autowired - private IBdWaresExtendService waresExtendService; + private IBdWaresExtendService iBdWaresExtendService; @Autowired private SaOrderHandle saOrderHandle; @Autowired @@ -1284,7 +1284,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl List orderItems = orderBlankRegParams.getOrderItems(); for (SaOrderItems orderItem : orderItems) { orderItem.setPkOrder(saOrder.getPkId()); - BdWares wares = waresService.getWares(orderItem.getPkWares()); + BdWares wares = iBdWaresService.getWares(orderItem.getPkWares()); BdProductExtendExt productExtend = iBdProductExtendService.queryExtendAndProduct(orderItem.getPkProduct()); orderItem.setPkWares(wares.getPkId()); orderItem.setPrice(wares.getWaresPrice().multiply(new BigDecimal(orderItem.getQuantity()))); @@ -1922,7 +1922,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl @Override public void waresSalesAccrual(List waresNumberParamList) { try { - waresExtendService.updateWaresSalesAccrual(waresNumberParamList); + iBdWaresExtendService.updateWaresSalesAccrual(waresNumberParamList); } catch (Exception e) { e.printStackTrace(); } @@ -2011,7 +2011,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl } } if (waresCodeList.size() > 0) { - List waresPreSaleVoList = waresExtendService.selectByWaresCodeList(waresCodeList, orderParam.getSpecialArea()); + List waresPreSaleVoList = iBdWaresExtendService.selectByWaresCodeList(waresCodeList, orderParam.getSpecialArea()); if (CollectionUtil.isNotEmpty(waresPreSaleVoList)) { Map waresPreSaleMap = waresPreSaleVoList.stream().collect(Collectors.toMap(WaresPreSaleVo::getWaresCode, Function.identity())); for (OrderItemsParam orderItemsParam : orderParam.getOrderItemsParams()) { @@ -2052,7 +2052,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl } } if (waresCodeList.size() > 0) { - List waresPreSaleVoList = waresExtendService.selectByWaresCodeList(waresCodeList, specialArea); + List waresPreSaleVoList = iBdWaresExtendService.selectByWaresCodeList(waresCodeList, specialArea); if (CollectionUtil.isNotEmpty(waresPreSaleVoList)) { Map waresPreSaleMap = waresPreSaleVoList.stream().collect(Collectors.toMap(WaresPreSaleVo::getWaresCode, Function.identity())); for (OrderItemsParam orderItemsParam : orderItemsList) { @@ -2066,7 +2066,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl // 预售数量不足 return false; } else { - waresService.updatePreSaleQuantityByWaresCode(waresCode, orderItemsParam.getQuantity()); + iBdWaresService.updatePreSaleQuantityByWaresCode(waresCode, orderItemsParam.getQuantity()); return true; } } @@ -2412,7 +2412,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl saOrderExt.setUpdateFlag(EYesNo.YES.getIntValue()); } else if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType()) { // 复购订单存在盒数商品撤单,需要处理降级操作 - if (saOrderExt.getBoxNum() > 0) { + if (saOrderExt.getBoxNum().compareTo(BigDecimal.ZERO) > 0) { // TODO 目前只有注册、升级才能激活,复购不进行处理 // Date firstDate = baseMapper.getFirstPayTime(cuMember.getPkId()); // if (null == firstDate) { @@ -2462,7 +2462,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType() || EOrderType.RETAIL_CONSUME.getValue() == saOrderExt.getOrderType()) { // 需要查询盒数商品 - List boxProductList = BoxProductUtil.getBoxProductListBySystemType(saOrderExt.getSystemType()); + List boxProductList = BoxProductUtil.getBoxWaresListBySystemType(saOrderExt.getSystemType()); // 复购、重消订单处理限购 iSaOrderWaresLimitService.updateCancelOrder(saOrderExt.getPkId(), saOrderExt.getPkMember(), saOrderExt.getModifiedTime(), boxProductList); } @@ -2502,16 +2502,18 @@ public class SaOrderServiceImpl extends ServiceImpl impl gradeList = iGradeServiceApi.getRetailGradeList().getData(); } - // 盒数产品 - List boxProductList = BoxProductUtil.getBoxProductListBySystemType(systemType); + // 盒数商品 + List boxWaresList = BoxProductUtil.getBoxWaresListBySystemType(systemType); // 当前产品盒数 - int boxNum = 0; + BigDecimal boxNum = BigDecimal.ZERO; + // 处理商品盒数 + this.handleWaresBoxNum(specialArea, orderItemsParams); // 判断订单明细中指定产品数量,校验等级 for (OrderItemsParam orderItemsParam : orderItemsParams) { - if (boxProductList.contains(orderItemsParam.getWaresCode())) { + if (boxWaresList.contains(orderItemsParam.getWaresCode())) { // 存在指定商品,需要累计盒数 - boxNum += orderItemsParam.getQuantity(); + boxNum = boxNum.add(orderItemsParam.getBoxNum().multiply(new BigDecimal(orderItemsParam.getQuantity()))); } } @@ -2528,7 +2530,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl } } else if (ESpecialArea.RETAIL_UPGRADE.getValue() == specialArea) { // 升级专区,一次性补差升级 - if (boxNum == 0) { + if (boxNum.compareTo(BigDecimal.ZERO) == 0) { // 不满足升级条件 throw new ServiceException("不满足升级条件"); } @@ -2545,9 +2547,9 @@ public class SaOrderServiceImpl extends ServiceImpl impl } // 获取升级盒数基数 - int baseBoxNum = this.handleBaseBoxNum(updateGradeMember, memberGrade, gradeList, boxProductList, systemType); + BigDecimal baseBoxNum = this.handleBaseBoxNum(updateGradeMember, memberGrade, gradeList, boxWaresList, systemType); // 计算等级 - bdGrade = this.getGradeByBox(boxNum + baseBoxNum, gradeList, memberGrade, true); + bdGrade = this.getGradeByBox(boxNum.add(baseBoxNum), gradeList, memberGrade, true); if (bdGrade.getGradeValue().equals(memberGrade.getGradeValue()) && (EGrade.HAI_FAN.getValue() == bdGrade.getGradeValue() || EGrade.YOU_KE.getValue() == bdGrade.getGradeValue()) @@ -2580,7 +2582,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl * @param checkUpgrade 校验升级 * @return */ - private BdGrade getGradeByBox(final Integer boxTotal, List gradeList, BdGrade memberGrade, boolean checkUpgrade) { + private BdGrade getGradeByBox(final BigDecimal boxTotal, List gradeList, BdGrade memberGrade, boolean checkUpgrade) { if (CollectionUtil.isEmpty(gradeList)) { gradeList = iGradeServiceApi.getRetailGradeList().getData(); } @@ -2589,7 +2591,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl // 注册处理 // 去掉 V4,V5 升级盒数小于购买盒数的最大一个等级为注册等级 return gradeList.stream() - .filter(tmpGrade -> tmpGrade.getGradeValue() != EGrade.VIP.getValue() && tmpGrade.getGradeValue() != EGrade.S_VIP.getValue() && tmpGrade.getBoxNumber() <= boxTotal) + .filter(tmpGrade -> tmpGrade.getGradeValue() != EGrade.VIP.getValue() && tmpGrade.getGradeValue() != EGrade.S_VIP.getValue() && tmpGrade.getBoxNumber().compareTo(boxTotal) <= 0) .max(Comparator.comparingInt(BdGrade::getGradeValue)).get(); } else { // 非注册处理 @@ -2612,8 +2614,8 @@ public class SaOrderServiceImpl extends ServiceImpl impl // new 2025.06.25 V1-V3升级多送两级,需要支持送完还能买,此处暂时注释掉 // .filter(tmpGrade -> tmpGrade.getGradeValue() > memberGrade.getGradeValue()) .sorted(Comparator.comparingInt(BdGrade::getGradeValue).reversed()) - .filter(tmpGrade -> tmpGrade.getBoxNumber() != 0) - .filter(tmpGrade -> tmpGrade.getBoxNumber() <= boxTotal).findFirst(); + .filter(tmpGrade -> tmpGrade.getBoxNumber().compareTo(BigDecimal.ZERO) > 0) + .filter(tmpGrade -> tmpGrade.getBoxNumber().compareTo(boxTotal) <= 0).findFirst(); return gradeOptional.orElse(memberGrade); } } @@ -2622,17 +2624,17 @@ public class SaOrderServiceImpl extends ServiceImpl impl /** * 处理升级盒数基数 * - * @param cuMember 会员信息 - * @param memberGrade 会员等级信息 - * @param gradeList 等级列表 - * @param boxProductList 盒数商品列表 - * @param systemType 所属系统 + * @param cuMember 会员信息 + * @param memberGrade 会员等级信息 + * @param gradeList 等级列表 + * @param boxWaresList 盒数商品列表 + * @param systemType 所属系统 * @return */ - private int handleBaseBoxNum(CuMember cuMember, BdGrade memberGrade, List gradeList, List boxProductList, + private BigDecimal handleBaseBoxNum(CuMember cuMember, BdGrade memberGrade, List gradeList, List boxWaresList, Integer systemType) { // 升级盒数基数 - int baseBoxNum = 0; + BigDecimal baseBoxNum = BigDecimal.ZERO; // 会员所有升级记录 List memberLevelList = iCuMemberDetailServiceApi.getUpgradeList(cuMember.getPkId()).getData(); if (CollectionUtil.isNotEmpty(memberLevelList)) { @@ -2646,11 +2648,18 @@ public class SaOrderServiceImpl extends ServiceImpl impl throw new ServiceException("当前已经是可以购买的最高等级"); } // 盒数基数 = 手动升级盒数 + 手动升级之后的升级订单盒数 - baseBoxNum = lastUpdateGrade.getBoxNumber() - + saOrderItemsService.getRetailWaresQuantityNew(cuMember.getPkId(), boxProductList, lastMemberLevel.getUpgradeTime(), Collections.singletonList(EOrderType.RETAIL_UPGRADE.getValue()), systemType); + BigDecimal oldBoxNum = saOrderItemsService.getRetailWaresQuantityNew(cuMember.getPkId(), boxWaresList, lastMemberLevel.getUpgradeTime(), Collections.singletonList(EOrderType.RETAIL_UPGRADE.getValue()), systemType); + if (null != oldBoxNum) { + baseBoxNum = lastUpdateGrade.getBoxNumber().add(oldBoxNum); + } else { + baseBoxNum = lastUpdateGrade.getBoxNumber(); + } } else { // 没有手动升级记录 - baseBoxNum = saOrderItemsService.getRetailWaresQuantityNew(cuMember.getPkId(), boxProductList, null, Arrays.asList(EOrderType.RETAIL_REGISTER.getValue(), EOrderType.RETAIL_UPGRADE.getValue()), systemType); + BigDecimal oldBoxNum = saOrderItemsService.getRetailWaresQuantityNew(cuMember.getPkId(), boxWaresList, null, Arrays.asList(EOrderType.RETAIL_REGISTER.getValue(), EOrderType.RETAIL_UPGRADE.getValue()), systemType); + if (null != oldBoxNum) { + baseBoxNum = oldBoxNum; + } } } return baseBoxNum; @@ -2722,626 +2731,626 @@ public class SaOrderServiceImpl extends ServiceImpl impl // return 0; } - /** - * 处理日升级新 - * - * @param cuMember 会员信息 - * @param oldLevel 旧等级 - * @param lastLevel 新等级(可为null) - * @param manualUpgradeLevel 手动升级等级(可为null) - * @param queryStartTime 查询开始时间 - * @param queryEndTime 查询结束时间 - * @param gradeList 等级列表 - * @param createLevelList 创建升级记录列表 - * @return - */ - private BdGrade handleTodayGrade(CuMember cuMember, Integer oldLevel, Integer lastLevel, Integer manualUpgradeLevel, Date queryStartTime, Date queryEndTime, - List gradeList, List createLevelList) { - // 升级之前对应的等级(如果有值则是等级值,如果没有默认V0) - Optional tmpGradeOptional = gradeList.stream().filter(tmp -> tmp.getPkId().equals(oldLevel)).findFirst(); - BdGrade oldGrade = tmpGradeOptional.orElseGet(() -> this.getGrade(EGrade.START_UP, gradeList)); - // 最终计算等级(如果没有默认为V3) - BdGrade endGrade = null != lastLevel ? this.getGrade(lastLevel, gradeList) : this.getGrade(EGrade.MAKER, gradeList); - // 获取需要处理的等级(大于升级记录的旧等级,小于等于升级记录的新等级) - List lowGradeList = gradeList.stream() - .filter(tmp -> (tmp.getGradeValue() > oldGrade.getGradeValue() && tmp.getGradeValue() <= endGrade.getGradeValue())) - .collect(Collectors.toList()); +// /** +// * 处理日升级新 +// * +// * @param cuMember 会员信息 +// * @param oldLevel 旧等级 +// * @param lastLevel 新等级(可为null) +// * @param manualUpgradeLevel 手动升级等级(可为null) +// * @param queryStartTime 查询开始时间 +// * @param queryEndTime 查询结束时间 +// * @param gradeList 等级列表 +// * @param createLevelList 创建升级记录列表 +// * @return +// */ +// private BdGrade handleTodayGrade(CuMember cuMember, Integer oldLevel, Integer lastLevel, Integer manualUpgradeLevel, Date queryStartTime, Date queryEndTime, +// List gradeList, List createLevelList) { +// // 升级之前对应的等级(如果有值则是等级值,如果没有默认V0) +// Optional tmpGradeOptional = gradeList.stream().filter(tmp -> tmp.getPkId().equals(oldLevel)).findFirst(); +// BdGrade oldGrade = tmpGradeOptional.orElseGet(() -> this.getGrade(EGrade.START_UP, gradeList)); +// // 最终计算等级(如果没有默认为V3) +// BdGrade endGrade = null != lastLevel ? this.getGrade(lastLevel, gradeList) : this.getGrade(EGrade.MAKER, gradeList); +// // 获取需要处理的等级(大于升级记录的旧等级,小于等于升级记录的新等级) +// List lowGradeList = gradeList.stream() +// .filter(tmp -> (tmp.getGradeValue() > oldGrade.getGradeValue() && tmp.getGradeValue() <= endGrade.getGradeValue())) +// .collect(Collectors.toList()); +// +// BdGrade newGrade = oldGrade; +// +// if (CollectionUtil.isNotEmpty(lowGradeList)) { +// // 查询撤单当天的注册、复购订单 +// List orderList = this.list(Wrappers.lambdaQuery() +// .eq(SaOrder::getPkMember, cuMember.getPkId()) +// .eq(SaOrder::getOrderStatus, EPayStatus.PAID.getValue()) +// .in(SaOrder::getOrderType, EOrderType.RETAIL_REGISTER.getValue(), EOrderType.RETAIL_REPURCHASE.getValue()) +// .ge(SaOrder::getPayTime, queryStartTime) +// .le(SaOrder::getPayTime, queryEndTime) +// .orderByAsc(SaOrder::getPayTime) +// ); +// +// if (CollectionUtil.isNotEmpty(orderList)) { +// // 订单购买时间和手动升级记录之间有订单,需要重算中间的等级 +// // 取倒序(V3,V2,V1) +// lowGradeList.sort(Comparator.comparing(BdGrade::getGradeValue).reversed()); +// +// SaOrder orderV1 = null; +// SaOrder orderV2 = null; +// SaOrder orderV3 = null; +// // 旧等级盒数 +// int oldGradeBox = oldGrade.getBoxNumber(); +// // 如果存在手动升级,则以手动升级为基数 +// if (null != manualUpgradeLevel) { +// int tmpBox = this.getGrade(manualUpgradeLevel, gradeList).getBoxNumber(); +// if (tmpBox != 0) { +// oldGradeBox = tmpBox; +// } +// } +// +// orderFor: +// for (SaOrder saOrder : orderList) { +// // 累积盒数,校验等级 +// oldGradeBox += saOrder.getBoxNum(); +// +// for (BdGrade tmpGrade : lowGradeList) { +// if (oldGradeBox >= tmpGrade.getBoxNumber()) { +// if (EGrade.MAKER.getValue() == tmpGrade.getGradeValue()) { +// // V3订单 +// orderV3 = saOrder; +// // 达到V3等级,直接结束 +// break orderFor; +// } else if (null == orderV2 && EGrade.YOU_KE.getValue() == tmpGrade.getGradeValue()) { +// // V2订单 +// orderV2 = saOrder; +// // 达到V2等级,V1就不需要处理了,直接处理下次订单 +// break; +// } else if (null == orderV1 && EGrade.HAI_FAN.getValue() == tmpGrade.getGradeValue()) { +// // V1订单 +// orderV1 = saOrder; +// } +// } +// } +// } +// +// BdGrade gradeV1 = this.getGrade(EGrade.HAI_FAN, gradeList); +// BdGrade gradeV2 = this.getGrade(EGrade.YOU_KE, gradeList); +// BdGrade gradeV3 = this.getGrade(EGrade.MAKER, gradeList); +// if (null != orderV1) { +// // V1等级订单 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV1, oldGrade.getPkId(), gradeV1.getPkId())); +// newGrade = gradeV1; +// if (null != orderV2) { +// // V2等级订单 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV2, gradeV1.getPkId(), gradeV2.getPkId())); +// newGrade = gradeV2; +// if (null != orderV3) { +// // V3等级订单 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV2.getPkId(), gradeV3.getPkId())); +// newGrade = gradeV3; +// } +// } else { +// // 没有V2等级订单 +// if (null != orderV3) { +// // V3等级订单 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV1.getPkId(), gradeV3.getPkId())); +// newGrade = gradeV3; +// } +// } +// } else if (null != orderV2) { +// // V2等级订单 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV2, oldGrade.getPkId(), gradeV2.getPkId())); +// newGrade = gradeV2; +// if (null != orderV3) { +// // V3等级订单 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV2.getPkId(), gradeV3.getPkId())); +// newGrade = gradeV3; +// } +// } else if (null != orderV3) { +// // V3等级订单 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV3, oldGrade.getPkId(), gradeV3.getPkId())); +// newGrade = gradeV3; +// } +// } +// } +// +// return newGrade; +// } - BdGrade newGrade = oldGrade; +// /** +// * 处理日升级后每天升级 +// * +// * @param cuMember +// * @param oldGrade +// * @param queryStartTime +// * @param queryEndTime +// * @param memberLevelList +// * @param gradeList +// * @param createLevelList +// * @param deleteLevelList +// * @return +// */ +// private BdGrade handleTodayNextNew(CuMember cuMember, BdGrade oldGrade, Date queryStartTime, Date queryEndTime, +// List memberLevelList, List gradeList, +// List createLevelList, List deleteLevelList) { +// if (queryStartTime.compareTo(new Date()) >= 0) { +// // 查询时间大于等于当前时间了,则结束处理 +// return oldGrade; +// } +// +// // 订单购买当天所有升级记录 +// List todayLevelList = memberLevelList.stream() +// .filter(tmp -> (tmp.getUpgradeTime().compareTo(queryStartTime) >= 0 && tmp.getUpgradeTime().compareTo(queryEndTime) <= 0)) +// .collect(Collectors.toList()); +// if (CollectionUtil.isNotEmpty(todayLevelList)) { +// // 处理当日等级 +// Integer oldLevel = oldGrade.getPkId(); +// Integer lastLevel = todayLevelList.get(todayLevelList.size() - 1).getNewLevel(); +// // 手动升级记录 +// Integer manualUpgradeLevel = null; +// +// // 当天最后一条手动升级记录 +// Optional manualUpgradeOptional = todayLevelList.stream() +// .filter(tmp -> EUpgradeType.MANUAL_UPGRADE.getValue() == tmp.getUpType()) +// .max(Comparator.comparing(CuMemberLevel::getUpgradeTime)); +// if (manualUpgradeOptional.isPresent()) { +// // 存在手动升级记录(计算等级为手动升级盒数为基数 + 当天购买的订单盒数) +// // 删除升级记录时,只删除非手动升级的 +// deleteLevelList.addAll(todayLevelList.stream() +// .filter(tmp -> EUpgradeType.MANUAL_UPGRADE.getValue() != tmp.getUpType()) +// .collect(Collectors.toList())); +// // 重算订单当天升级记录(存在手动升级) +// manualUpgradeLevel = manualUpgradeOptional.get().getNewLevel(); +// } else { +// // 不存在手动升级记录(当天购买的订单盒数) +// deleteLevelList.addAll(todayLevelList); +// } +// +// // 今天重算等级 +// oldGrade = this.handleTodayGrade(cuMember, oldLevel, lastLevel, manualUpgradeLevel, +// queryStartTime, queryEndTime, gradeList, createLevelList); +// if (lastLevel.equals(oldGrade.getPkId())) { +// // 重算之后和重算之前等级一致,直接返回当前会员等级 +// return oldGrade; +// } +// } +// +// return this.handleTodayNextNew(cuMember, oldGrade, DateUtils.addDays(queryStartTime, 1), DateUtils.addDays(queryEndTime, 1), +// memberLevelList, gradeList, createLevelList, deleteLevelList); +// } - if (CollectionUtil.isNotEmpty(lowGradeList)) { - // 查询撤单当天的注册、复购订单 - List orderList = this.list(Wrappers.lambdaQuery() - .eq(SaOrder::getPkMember, cuMember.getPkId()) - .eq(SaOrder::getOrderStatus, EPayStatus.PAID.getValue()) - .in(SaOrder::getOrderType, EOrderType.RETAIL_REGISTER.getValue(), EOrderType.RETAIL_REPURCHASE.getValue()) - .ge(SaOrder::getPayTime, queryStartTime) - .le(SaOrder::getPayTime, queryEndTime) - .orderByAsc(SaOrder::getPayTime) - ); +// /** +// * 处理首日升级 +// * +// * @param cuMember 会员信息 +// * @param oldLevel 旧等级 +// * @param lastLevel 最大等级 +// * @param queryTime 查询开始时间 +// * @param queryEndTime 查询结束时间 +// * @param gradeList 等级列表 +// * @param createLevelList 创建升级记录 +// * @return +// */ +// private BdGrade handleToday(CuMember cuMember, Integer oldLevel, Integer lastLevel, Date queryTime, Date queryEndTime, +// List gradeList, List createLevelList) { +// // 存在手动升级,只需要重算手动升级之前的 +// // 升级之前对应的等级(如果有值则是等级值,如果没有默认V0) +// Optional tmpGradeOptional = gradeList.stream().filter(tmp -> tmp.getPkId().equals(oldLevel)).findFirst(); +// BdGrade oldGrade = tmpGradeOptional.orElseGet(() -> this.getGrade(EGrade.START_UP, gradeList)); +// // 最终计算等级(如果没有默认为V3) +// BdGrade endGrade = null != lastLevel ? this.getGrade(lastLevel, gradeList) : this.getGrade(EGrade.MAKER, gradeList); +// // 获取需要处理的等级(大于升级记录的旧等级,小于等于升级记录的新等级) +// List lowGradeList = gradeList.stream() +// .filter(tmp -> (tmp.getGradeValue() > oldGrade.getGradeValue() && tmp.getGradeValue() <= endGrade.getGradeValue())) +// .collect(Collectors.toList()); +// +// BdGrade newGrade = oldGrade; +// +// if (CollectionUtil.isNotEmpty(lowGradeList)) { +// // 查询大于升级时间,小于当天手动升级时间,全部订单 +// List orderList = this.list(Wrappers.lambdaQuery() +// .eq(SaOrder::getPkMember, cuMember.getPkId()) +// .eq(SaOrder::getOrderStatus, EPayStatus.PAID.getValue()) +// .eq(SaOrder::getOrderType, EOrderType.RETAIL_REPURCHASE.getValue()) +// .ge(SaOrder::getPayTime, queryTime) +// .le(SaOrder::getPayTime, queryEndTime) +// .orderByAsc(SaOrder::getPayTime) +// ); +// +// if (CollectionUtil.isNotEmpty(orderList)) { +// // 订单购买时间和手动升级记录之间有订单,需要重算中间的等级 +// // 取倒序(V3,V2,V1) +// lowGradeList.sort(Comparator.comparing(BdGrade::getGradeValue).reversed()); +// +// SaOrder orderV1 = null; +// SaOrder orderV2 = null; +// SaOrder orderV3 = null; +// // 旧等级盒数 +// int oldGradeBox = oldGrade.getBoxNumber(); +// +// orderFor: +// for (SaOrder saOrder : orderList) { +// // 累积盒数,校验等级 +// oldGradeBox += saOrder.getBoxNum(); +// +// for (BdGrade tmpGrade : lowGradeList) { +// if (oldGradeBox >= tmpGrade.getBoxNumber()) { +// if (EGrade.MAKER.getValue() == tmpGrade.getGradeValue()) { +// // V3订单 +// orderV3 = saOrder; +// // 达到V3等级,直接结束 +// break orderFor; +// } else if (null == orderV2 && EGrade.YOU_KE.getValue() == tmpGrade.getGradeValue()) { +// // V2订单 +// orderV2 = saOrder; +// // 达到V2等级,V1就不需要处理了,直接处理下次订单 +// break; +// } else if (null == orderV1 && EGrade.HAI_FAN.getValue() == tmpGrade.getGradeValue()) { +// // V1订单 +// orderV1 = saOrder; +// } +// } +// +// } +// } +// +// BdGrade gradeV1 = this.getGrade(EGrade.HAI_FAN, gradeList); +// BdGrade gradeV2 = this.getGrade(EGrade.YOU_KE, gradeList); +// BdGrade gradeV3 = this.getGrade(EGrade.MAKER, gradeList); +// if (null != orderV1) { +// // V1等级订单 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV1, oldGrade.getPkId(), gradeV1.getPkId())); +// newGrade = gradeV1; +// if (null != orderV2) { +// // V2等级订单 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV2, gradeV1.getPkId(), gradeV2.getPkId())); +// newGrade = gradeV2; +// if (null != orderV3) { +// // V3等级订单 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV2.getPkId(), gradeV3.getPkId())); +// newGrade = gradeV3; +// } +// } else { +// // 没有V2等级订单 +// if (null != orderV3) { +// // V3等级订单 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV1.getPkId(), gradeV3.getPkId())); +// newGrade = gradeV3; +// } +// } +// } else if (null != orderV2) { +// // V2等级订单 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV2, oldGrade.getPkId(), gradeV2.getPkId())); +// newGrade = gradeV2; +// if (null != orderV3) { +// // V3等级订单 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV2.getPkId(), gradeV3.getPkId())); +// newGrade = gradeV3; +// } +// } else if (null != orderV3) { +// // V3等级订单 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV3, oldGrade.getPkId(), gradeV3.getPkId())); +// newGrade = gradeV3; +// } +// } +// } +// return newGrade; +// } - if (CollectionUtil.isNotEmpty(orderList)) { - // 订单购买时间和手动升级记录之间有订单,需要重算中间的等级 - // 取倒序(V3,V2,V1) - lowGradeList.sort(Comparator.comparing(BdGrade::getGradeValue).reversed()); +// /** +// * 首日等级有变化,处理次日升级 +// * +// * @param cuMember 会员信息 +// * @param oldLevel 旧等级 +// * @param lastLevel 最大等级 +// * @param queryTime 查询开始时间 +// * @param queryEndTime 查询结束时间 +// * @param gradeList 等级列表 +// * @param createLevelList 创建升级记录 +// * @return +// */ +// private BdGrade handleTodayNext(CuMember cuMember, Integer oldLevel, Integer lastLevel, Date queryTime, Date queryEndTime, +// List gradeList, List createLevelList) { +// // 次日升级之前的等级 +// BdGrade oldGrade = this.getGrade(oldLevel, gradeList); +// // 最终计算等级(如果没有默认为V3) +// BdGrade endGrade = null != lastLevel ? this.getGrade(lastLevel, gradeList) : this.getGrade(EGrade.MAKER, gradeList); +// // 获取需要处理的等级(大于升级记录的旧等级,小于等于升级记录的新等级) +// List lowGradeList = gradeList.stream() +// .filter(tmp -> (tmp.getGradeValue() > oldGrade.getGradeValue() && tmp.getGradeValue() <= endGrade.getGradeValue())) +// .collect(Collectors.toList()); +// +// BdGrade newGrade = oldGrade; +// +// if (CollectionUtil.isNotEmpty(lowGradeList)) { +// // 查询大于升级时间,小于当天手动升级时间,全部订单 +// List orderList = this.list(Wrappers.lambdaQuery() +// .eq(SaOrder::getPkMember, cuMember.getPkId()) +// .eq(SaOrder::getOrderStatus, EPayStatus.PAID.getValue()) +// .eq(SaOrder::getOrderType, EOrderType.RETAIL_REPURCHASE.getValue()) +// .ge(SaOrder::getPayTime, queryTime) +// .le(SaOrder::getPayTime, null != queryEndTime ? queryEndTime : new Date()) +// .orderByAsc(SaOrder::getPayTime) +// ); +// +// if (CollectionUtil.isNotEmpty(orderList)) { +// // 升级记录以后有订单,才进行级别处理 +// // 取倒序(V3,V2,V1) +// lowGradeList.sort(Comparator.comparing(BdGrade::getGradeValue).reversed()); +// +// SaOrder orderV1 = null; +// SaOrder orderV2 = null; +// SaOrder orderV3 = null; +// // 旧等级盒数 +// int oldGradeBox = oldGrade.getBoxNumber(); +// +// orderFor: +// for (SaOrder saOrder : orderList) { +// for (BdGrade tmpGrade : lowGradeList) { +// if (saOrder.getBoxNum() >= (tmpGrade.getBoxNumber() - oldGradeBox)) { +// if (EGrade.MAKER.getValue() == tmpGrade.getGradeValue()) { +// // V3订单 +// orderV3 = saOrder; +// // 达到V3等级,直接结束 +// break orderFor; +// } else if (null == orderV2 && EGrade.YOU_KE.getValue() == tmpGrade.getGradeValue()) { +// // V2订单 +// orderV2 = saOrder; +// oldGradeBox = tmpGrade.getBoxNumber(); +// // 达到V2等级,V1就不需要处理了,直接处理下次订单 +// break; +// } else if (null == orderV1 && EGrade.HAI_FAN.getValue() == tmpGrade.getGradeValue()) { +// // V1订单 +// orderV1 = saOrder; +// oldGradeBox = tmpGrade.getBoxNumber(); +// } +// } +// } +// } +// +// BdGrade gradeV1 = this.getGrade(EGrade.HAI_FAN, gradeList); +// BdGrade gradeV2 = this.getGrade(EGrade.YOU_KE, gradeList); +// BdGrade gradeV3 = this.getGrade(EGrade.MAKER, gradeList); +// if (null != orderV1) { +// // 有V1等级订单 +// if (null != orderV2) { +// // 有V2等级订单 +// if (orderV1.getPkId().equals(orderV2.getPkId())) { +// // V1和V2订单相同,只处理V2 +// if (null != orderV3) { +// // 有V3等级订单 +// if (orderV2.getPkId().equals(orderV3.getPkId())) { +// // V2和V3订单相同,只处理V3 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV3, oldGrade.getPkId(), gradeV3.getPkId())); +// newGrade = gradeV3; +// } else { +// // V2和V3订单不相同,先处理V2,再处理V3 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV2, oldGrade.getPkId(), gradeV2.getPkId())); +// createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV2.getPkId(), gradeV3.getPkId())); +// newGrade = gradeV3; +// } +// } else { +// // 没有V3等级订单,只处理V2 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV2, oldGrade.getPkId(), gradeV2.getPkId())); +// newGrade = gradeV2; +// } +// } else { +// // V1和V2订单不相同 +// if (null != orderV3) { +// // 有V3等级订单 +// if (orderV2.getPkId().equals(orderV3.getPkId())) { +// // V2和V3等级相同,先处理V1,再处理V3 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV1, oldGrade.getPkId(), gradeV1.getPkId())); +// createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV1.getPkId(), gradeV3.getPkId())); +// newGrade = gradeV3; +// } else { +// // V2和V3等级不相同,先处理V1,再处理V2,最后处理V3 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV1, oldGrade.getPkId(), gradeV1.getPkId())); +// createLevelList.add(this.packageMemberLevel(cuMember, orderV2, gradeV1.getPkId(), gradeV2.getPkId())); +// createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV2.getPkId(), gradeV3.getPkId())); +// newGrade = gradeV3; +// } +// } else { +// // 没有V3等级订单,处理V1 V2 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV1, oldGrade.getPkId(), gradeV1.getPkId())); +// createLevelList.add(this.packageMemberLevel(cuMember, orderV2, gradeV1.getPkId(), gradeV2.getPkId())); +// newGrade = gradeV2; +// } +// } +// } else { +// // 没有V2等级订单,只处理V1 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV1, oldGrade.getPkId(), gradeV1.getPkId())); +// newGrade = gradeV1; +// } +// } else if (null != orderV2) { +// // 有V2等级订单,V1没有 +// if (null != orderV3) { +// // 有V3等级订单 +// if (orderV2.getPkId().equals(orderV3.getPkId())) { +// // V2和V3订单相同,只处理V3 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV3, oldGrade.getPkId(), gradeV3.getPkId())); +// newGrade = gradeV3; +// } else { +// // V2和V3订单不相同,先处理V2,再处理V3 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV2, oldGrade.getPkId(), gradeV2.getPkId())); +// createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV2.getPkId(), gradeV3.getPkId())); +// newGrade = gradeV3; +// } +// } else { +// // 没有V3,只处理V2 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV2, oldGrade.getPkId(), gradeV2.getPkId())); +// newGrade = gradeV2; +// } +// } else if (null != orderV3) { +// // 有V3等级订单,V1、V2没有 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV3, oldGrade.getPkId(), gradeV3.getPkId())); +// newGrade = gradeV3; +// } +// } +// } +// +// return newGrade; +// } - SaOrder orderV1 = null; - SaOrder orderV2 = null; - SaOrder orderV3 = null; - // 旧等级盒数 - int oldGradeBox = oldGrade.getBoxNumber(); - // 如果存在手动升级,则以手动升级为基数 - if (null != manualUpgradeLevel) { - int tmpBox = this.getGrade(manualUpgradeLevel, gradeList).getBoxNumber(); - if (tmpBox != 0) { - oldGradeBox = tmpBox; - } - } - - orderFor: - for (SaOrder saOrder : orderList) { - // 累积盒数,校验等级 - oldGradeBox += saOrder.getBoxNum(); - - for (BdGrade tmpGrade : lowGradeList) { - if (oldGradeBox >= tmpGrade.getBoxNumber()) { - if (EGrade.MAKER.getValue() == tmpGrade.getGradeValue()) { - // V3订单 - orderV3 = saOrder; - // 达到V3等级,直接结束 - break orderFor; - } else if (null == orderV2 && EGrade.YOU_KE.getValue() == tmpGrade.getGradeValue()) { - // V2订单 - orderV2 = saOrder; - // 达到V2等级,V1就不需要处理了,直接处理下次订单 - break; - } else if (null == orderV1 && EGrade.HAI_FAN.getValue() == tmpGrade.getGradeValue()) { - // V1订单 - orderV1 = saOrder; - } - } - } - } - - BdGrade gradeV1 = this.getGrade(EGrade.HAI_FAN, gradeList); - BdGrade gradeV2 = this.getGrade(EGrade.YOU_KE, gradeList); - BdGrade gradeV3 = this.getGrade(EGrade.MAKER, gradeList); - if (null != orderV1) { - // V1等级订单 - createLevelList.add(this.packageMemberLevel(cuMember, orderV1, oldGrade.getPkId(), gradeV1.getPkId())); - newGrade = gradeV1; - if (null != orderV2) { - // V2等级订单 - createLevelList.add(this.packageMemberLevel(cuMember, orderV2, gradeV1.getPkId(), gradeV2.getPkId())); - newGrade = gradeV2; - if (null != orderV3) { - // V3等级订单 - createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV2.getPkId(), gradeV3.getPkId())); - newGrade = gradeV3; - } - } else { - // 没有V2等级订单 - if (null != orderV3) { - // V3等级订单 - createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV1.getPkId(), gradeV3.getPkId())); - newGrade = gradeV3; - } - } - } else if (null != orderV2) { - // V2等级订单 - createLevelList.add(this.packageMemberLevel(cuMember, orderV2, oldGrade.getPkId(), gradeV2.getPkId())); - newGrade = gradeV2; - if (null != orderV3) { - // V3等级订单 - createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV2.getPkId(), gradeV3.getPkId())); - newGrade = gradeV3; - } - } else if (null != orderV3) { - // V3等级订单 - createLevelList.add(this.packageMemberLevel(cuMember, orderV3, oldGrade.getPkId(), gradeV3.getPkId())); - newGrade = gradeV3; - } - } - } - - return newGrade; - } - - /** - * 处理日升级后每天升级 - * - * @param cuMember - * @param oldGrade - * @param queryStartTime - * @param queryEndTime - * @param memberLevelList - * @param gradeList - * @param createLevelList - * @param deleteLevelList - * @return - */ - private BdGrade handleTodayNextNew(CuMember cuMember, BdGrade oldGrade, Date queryStartTime, Date queryEndTime, - List memberLevelList, List gradeList, - List createLevelList, List deleteLevelList) { - if (queryStartTime.compareTo(new Date()) >= 0) { - // 查询时间大于等于当前时间了,则结束处理 - return oldGrade; - } - - // 订单购买当天所有升级记录 - List todayLevelList = memberLevelList.stream() - .filter(tmp -> (tmp.getUpgradeTime().compareTo(queryStartTime) >= 0 && tmp.getUpgradeTime().compareTo(queryEndTime) <= 0)) - .collect(Collectors.toList()); - if (CollectionUtil.isNotEmpty(todayLevelList)) { - // 处理当日等级 - Integer oldLevel = oldGrade.getPkId(); - Integer lastLevel = todayLevelList.get(todayLevelList.size() - 1).getNewLevel(); - // 手动升级记录 - Integer manualUpgradeLevel = null; - - // 当天最后一条手动升级记录 - Optional manualUpgradeOptional = todayLevelList.stream() - .filter(tmp -> EUpgradeType.MANUAL_UPGRADE.getValue() == tmp.getUpType()) - .max(Comparator.comparing(CuMemberLevel::getUpgradeTime)); - if (manualUpgradeOptional.isPresent()) { - // 存在手动升级记录(计算等级为手动升级盒数为基数 + 当天购买的订单盒数) - // 删除升级记录时,只删除非手动升级的 - deleteLevelList.addAll(todayLevelList.stream() - .filter(tmp -> EUpgradeType.MANUAL_UPGRADE.getValue() != tmp.getUpType()) - .collect(Collectors.toList())); - // 重算订单当天升级记录(存在手动升级) - manualUpgradeLevel = manualUpgradeOptional.get().getNewLevel(); - } else { - // 不存在手动升级记录(当天购买的订单盒数) - deleteLevelList.addAll(todayLevelList); - } - - // 今天重算等级 - oldGrade = this.handleTodayGrade(cuMember, oldLevel, lastLevel, manualUpgradeLevel, - queryStartTime, queryEndTime, gradeList, createLevelList); - if (lastLevel.equals(oldGrade.getPkId())) { - // 重算之后和重算之前等级一致,直接返回当前会员等级 - return oldGrade; - } - } - - return this.handleTodayNextNew(cuMember, oldGrade, DateUtils.addDays(queryStartTime, 1), DateUtils.addDays(queryEndTime, 1), - memberLevelList, gradeList, createLevelList, deleteLevelList); - } - - /** - * 处理首日升级 - * - * @param cuMember 会员信息 - * @param oldLevel 旧等级 - * @param lastLevel 最大等级 - * @param queryTime 查询开始时间 - * @param queryEndTime 查询结束时间 - * @param gradeList 等级列表 - * @param createLevelList 创建升级记录 - * @return - */ - private BdGrade handleToday(CuMember cuMember, Integer oldLevel, Integer lastLevel, Date queryTime, Date queryEndTime, - List gradeList, List createLevelList) { - // 存在手动升级,只需要重算手动升级之前的 - // 升级之前对应的等级(如果有值则是等级值,如果没有默认V0) - Optional tmpGradeOptional = gradeList.stream().filter(tmp -> tmp.getPkId().equals(oldLevel)).findFirst(); - BdGrade oldGrade = tmpGradeOptional.orElseGet(() -> this.getGrade(EGrade.START_UP, gradeList)); - // 最终计算等级(如果没有默认为V3) - BdGrade endGrade = null != lastLevel ? this.getGrade(lastLevel, gradeList) : this.getGrade(EGrade.MAKER, gradeList); - // 获取需要处理的等级(大于升级记录的旧等级,小于等于升级记录的新等级) - List lowGradeList = gradeList.stream() - .filter(tmp -> (tmp.getGradeValue() > oldGrade.getGradeValue() && tmp.getGradeValue() <= endGrade.getGradeValue())) - .collect(Collectors.toList()); - - BdGrade newGrade = oldGrade; - - if (CollectionUtil.isNotEmpty(lowGradeList)) { - // 查询大于升级时间,小于当天手动升级时间,全部订单 - List orderList = this.list(Wrappers.lambdaQuery() - .eq(SaOrder::getPkMember, cuMember.getPkId()) - .eq(SaOrder::getOrderStatus, EPayStatus.PAID.getValue()) - .eq(SaOrder::getOrderType, EOrderType.RETAIL_REPURCHASE.getValue()) - .ge(SaOrder::getPayTime, queryTime) - .le(SaOrder::getPayTime, queryEndTime) - .orderByAsc(SaOrder::getPayTime) - ); - - if (CollectionUtil.isNotEmpty(orderList)) { - // 订单购买时间和手动升级记录之间有订单,需要重算中间的等级 - // 取倒序(V3,V2,V1) - lowGradeList.sort(Comparator.comparing(BdGrade::getGradeValue).reversed()); - - SaOrder orderV1 = null; - SaOrder orderV2 = null; - SaOrder orderV3 = null; - // 旧等级盒数 - int oldGradeBox = oldGrade.getBoxNumber(); - - orderFor: - for (SaOrder saOrder : orderList) { - // 累积盒数,校验等级 - oldGradeBox += saOrder.getBoxNum(); - - for (BdGrade tmpGrade : lowGradeList) { - if (oldGradeBox >= tmpGrade.getBoxNumber()) { - if (EGrade.MAKER.getValue() == tmpGrade.getGradeValue()) { - // V3订单 - orderV3 = saOrder; - // 达到V3等级,直接结束 - break orderFor; - } else if (null == orderV2 && EGrade.YOU_KE.getValue() == tmpGrade.getGradeValue()) { - // V2订单 - orderV2 = saOrder; - // 达到V2等级,V1就不需要处理了,直接处理下次订单 - break; - } else if (null == orderV1 && EGrade.HAI_FAN.getValue() == tmpGrade.getGradeValue()) { - // V1订单 - orderV1 = saOrder; - } - } - - } - } - - BdGrade gradeV1 = this.getGrade(EGrade.HAI_FAN, gradeList); - BdGrade gradeV2 = this.getGrade(EGrade.YOU_KE, gradeList); - BdGrade gradeV3 = this.getGrade(EGrade.MAKER, gradeList); - if (null != orderV1) { - // V1等级订单 - createLevelList.add(this.packageMemberLevel(cuMember, orderV1, oldGrade.getPkId(), gradeV1.getPkId())); - newGrade = gradeV1; - if (null != orderV2) { - // V2等级订单 - createLevelList.add(this.packageMemberLevel(cuMember, orderV2, gradeV1.getPkId(), gradeV2.getPkId())); - newGrade = gradeV2; - if (null != orderV3) { - // V3等级订单 - createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV2.getPkId(), gradeV3.getPkId())); - newGrade = gradeV3; - } - } else { - // 没有V2等级订单 - if (null != orderV3) { - // V3等级订单 - createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV1.getPkId(), gradeV3.getPkId())); - newGrade = gradeV3; - } - } - } else if (null != orderV2) { - // V2等级订单 - createLevelList.add(this.packageMemberLevel(cuMember, orderV2, oldGrade.getPkId(), gradeV2.getPkId())); - newGrade = gradeV2; - if (null != orderV3) { - // V3等级订单 - createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV2.getPkId(), gradeV3.getPkId())); - newGrade = gradeV3; - } - } else if (null != orderV3) { - // V3等级订单 - createLevelList.add(this.packageMemberLevel(cuMember, orderV3, oldGrade.getPkId(), gradeV3.getPkId())); - newGrade = gradeV3; - } - } - } - return newGrade; - } - - /** - * 首日等级有变化,处理次日升级 - * - * @param cuMember 会员信息 - * @param oldLevel 旧等级 - * @param lastLevel 最大等级 - * @param queryTime 查询开始时间 - * @param queryEndTime 查询结束时间 - * @param gradeList 等级列表 - * @param createLevelList 创建升级记录 - * @return - */ - private BdGrade handleTodayNext(CuMember cuMember, Integer oldLevel, Integer lastLevel, Date queryTime, Date queryEndTime, - List gradeList, List createLevelList) { - // 次日升级之前的等级 - BdGrade oldGrade = this.getGrade(oldLevel, gradeList); - // 最终计算等级(如果没有默认为V3) - BdGrade endGrade = null != lastLevel ? this.getGrade(lastLevel, gradeList) : this.getGrade(EGrade.MAKER, gradeList); - // 获取需要处理的等级(大于升级记录的旧等级,小于等于升级记录的新等级) - List lowGradeList = gradeList.stream() - .filter(tmp -> (tmp.getGradeValue() > oldGrade.getGradeValue() && tmp.getGradeValue() <= endGrade.getGradeValue())) - .collect(Collectors.toList()); - - BdGrade newGrade = oldGrade; - - if (CollectionUtil.isNotEmpty(lowGradeList)) { - // 查询大于升级时间,小于当天手动升级时间,全部订单 - List orderList = this.list(Wrappers.lambdaQuery() - .eq(SaOrder::getPkMember, cuMember.getPkId()) - .eq(SaOrder::getOrderStatus, EPayStatus.PAID.getValue()) - .eq(SaOrder::getOrderType, EOrderType.RETAIL_REPURCHASE.getValue()) - .ge(SaOrder::getPayTime, queryTime) - .le(SaOrder::getPayTime, null != queryEndTime ? queryEndTime : new Date()) - .orderByAsc(SaOrder::getPayTime) - ); - - if (CollectionUtil.isNotEmpty(orderList)) { - // 升级记录以后有订单,才进行级别处理 - // 取倒序(V3,V2,V1) - lowGradeList.sort(Comparator.comparing(BdGrade::getGradeValue).reversed()); - - SaOrder orderV1 = null; - SaOrder orderV2 = null; - SaOrder orderV3 = null; - // 旧等级盒数 - int oldGradeBox = oldGrade.getBoxNumber(); - - orderFor: - for (SaOrder saOrder : orderList) { - for (BdGrade tmpGrade : lowGradeList) { - if (saOrder.getBoxNum() >= (tmpGrade.getBoxNumber() - oldGradeBox)) { - if (EGrade.MAKER.getValue() == tmpGrade.getGradeValue()) { - // V3订单 - orderV3 = saOrder; - // 达到V3等级,直接结束 - break orderFor; - } else if (null == orderV2 && EGrade.YOU_KE.getValue() == tmpGrade.getGradeValue()) { - // V2订单 - orderV2 = saOrder; - oldGradeBox = tmpGrade.getBoxNumber(); - // 达到V2等级,V1就不需要处理了,直接处理下次订单 - break; - } else if (null == orderV1 && EGrade.HAI_FAN.getValue() == tmpGrade.getGradeValue()) { - // V1订单 - orderV1 = saOrder; - oldGradeBox = tmpGrade.getBoxNumber(); - } - } - } - } - - BdGrade gradeV1 = this.getGrade(EGrade.HAI_FAN, gradeList); - BdGrade gradeV2 = this.getGrade(EGrade.YOU_KE, gradeList); - BdGrade gradeV3 = this.getGrade(EGrade.MAKER, gradeList); - if (null != orderV1) { - // 有V1等级订单 - if (null != orderV2) { - // 有V2等级订单 - if (orderV1.getPkId().equals(orderV2.getPkId())) { - // V1和V2订单相同,只处理V2 - if (null != orderV3) { - // 有V3等级订单 - if (orderV2.getPkId().equals(orderV3.getPkId())) { - // V2和V3订单相同,只处理V3 - createLevelList.add(this.packageMemberLevel(cuMember, orderV3, oldGrade.getPkId(), gradeV3.getPkId())); - newGrade = gradeV3; - } else { - // V2和V3订单不相同,先处理V2,再处理V3 - createLevelList.add(this.packageMemberLevel(cuMember, orderV2, oldGrade.getPkId(), gradeV2.getPkId())); - createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV2.getPkId(), gradeV3.getPkId())); - newGrade = gradeV3; - } - } else { - // 没有V3等级订单,只处理V2 - createLevelList.add(this.packageMemberLevel(cuMember, orderV2, oldGrade.getPkId(), gradeV2.getPkId())); - newGrade = gradeV2; - } - } else { - // V1和V2订单不相同 - if (null != orderV3) { - // 有V3等级订单 - if (orderV2.getPkId().equals(orderV3.getPkId())) { - // V2和V3等级相同,先处理V1,再处理V3 - createLevelList.add(this.packageMemberLevel(cuMember, orderV1, oldGrade.getPkId(), gradeV1.getPkId())); - createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV1.getPkId(), gradeV3.getPkId())); - newGrade = gradeV3; - } else { - // V2和V3等级不相同,先处理V1,再处理V2,最后处理V3 - createLevelList.add(this.packageMemberLevel(cuMember, orderV1, oldGrade.getPkId(), gradeV1.getPkId())); - createLevelList.add(this.packageMemberLevel(cuMember, orderV2, gradeV1.getPkId(), gradeV2.getPkId())); - createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV2.getPkId(), gradeV3.getPkId())); - newGrade = gradeV3; - } - } else { - // 没有V3等级订单,处理V1 V2 - createLevelList.add(this.packageMemberLevel(cuMember, orderV1, oldGrade.getPkId(), gradeV1.getPkId())); - createLevelList.add(this.packageMemberLevel(cuMember, orderV2, gradeV1.getPkId(), gradeV2.getPkId())); - newGrade = gradeV2; - } - } - } else { - // 没有V2等级订单,只处理V1 - createLevelList.add(this.packageMemberLevel(cuMember, orderV1, oldGrade.getPkId(), gradeV1.getPkId())); - newGrade = gradeV1; - } - } else if (null != orderV2) { - // 有V2等级订单,V1没有 - if (null != orderV3) { - // 有V3等级订单 - if (orderV2.getPkId().equals(orderV3.getPkId())) { - // V2和V3订单相同,只处理V3 - createLevelList.add(this.packageMemberLevel(cuMember, orderV3, oldGrade.getPkId(), gradeV3.getPkId())); - newGrade = gradeV3; - } else { - // V2和V3订单不相同,先处理V2,再处理V3 - createLevelList.add(this.packageMemberLevel(cuMember, orderV2, oldGrade.getPkId(), gradeV2.getPkId())); - createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV2.getPkId(), gradeV3.getPkId())); - newGrade = gradeV3; - } - } else { - // 没有V3,只处理V2 - createLevelList.add(this.packageMemberLevel(cuMember, orderV2, oldGrade.getPkId(), gradeV2.getPkId())); - newGrade = gradeV2; - } - } else if (null != orderV3) { - // 有V3等级订单,V1、V2没有 - createLevelList.add(this.packageMemberLevel(cuMember, orderV3, oldGrade.getPkId(), gradeV3.getPkId())); - newGrade = gradeV3; - } - } - } - - return newGrade; - } - - /** - * 处理次日一次性升级 - * - * @param cuMember 会员信息 - * @param queryStartTime 升级查询开始时间 - * @param queryEndTime 升级查询结束时间 - * @param oldGrade 升级旧等级 - * @param lowGradeList 需要处理的升级等级 - * @param gradeList 等级列表 - * @param createLevelList 需要新増的升级记录 - */ - private BdGrade handleNextDay(CuMember cuMember, Date queryStartTime, Date queryEndTime, BdGrade oldGrade, List lowGradeList, - List gradeList, List createLevelList) { - BdGrade newGrade = oldGrade; - - if (CollectionUtil.isNotEmpty(lowGradeList)) { - // 查询大于升级时间,订单盒数大于等于升级盒数的订单 - List orderList = this.list(Wrappers.lambdaQuery() - .eq(SaOrder::getPkMember, cuMember.getPkId()) - .eq(SaOrder::getOrderStatus, EPayStatus.PAID.getValue()) - .eq(SaOrder::getOrderType, EOrderType.RETAIL_REPURCHASE.getValue()) - .ge(SaOrder::getBoxNum, lowGradeList.get(0).getBoxNumber()) - .ge(SaOrder::getPayTime, queryStartTime) - .le(null != queryEndTime, SaOrder::getPayTime, queryEndTime) - .orderByAsc(SaOrder::getPayTime) - ); - - if (CollectionUtil.isNotEmpty(orderList)) { - // 升级记录以后有订单,才进行级别处理 - // 取倒序(V3,V2,V1) - lowGradeList.sort(Comparator.comparing(BdGrade::getGradeValue).reversed()); - - SaOrder orderV1 = null; - SaOrder orderV2 = null; - SaOrder orderV3 = null; - // 旧等级盒数 - int oldGradeBox = oldGrade.getBoxNumber(); - - orderFor: - for (SaOrder saOrder : orderList) { - for (BdGrade tmpGrade : lowGradeList) { - if (saOrder.getBoxNum() >= (tmpGrade.getBoxNumber() - oldGradeBox)) { - if (EGrade.MAKER.getValue() == tmpGrade.getGradeValue()) { - // V3订单 - orderV3 = saOrder; - // 达到V3等级,直接结束 - break orderFor; - } else if (null == orderV2 && EGrade.YOU_KE.getValue() == tmpGrade.getGradeValue()) { - // V2订单 - orderV2 = saOrder; - oldGradeBox = tmpGrade.getBoxNumber(); - // 达到V2等级,V1就不需要处理了,直接处理下次订单 - break; - } else if (null == orderV1 && EGrade.HAI_FAN.getValue() == tmpGrade.getGradeValue()) { - // V1订单 - orderV1 = saOrder; - oldGradeBox = tmpGrade.getBoxNumber(); - } - } - } - } - - BdGrade gradeV1 = this.getGrade(EGrade.HAI_FAN, gradeList); - BdGrade gradeV2 = this.getGrade(EGrade.YOU_KE, gradeList); - BdGrade gradeV3 = this.getGrade(EGrade.MAKER, gradeList); - if (null != orderV1) { - // 有V1等级订单 - if (null != orderV2) { - // 有V2等级订单 - if (orderV1.getPkId().equals(orderV2.getPkId())) { - // V1和V2订单相同,只处理V2 - if (null != orderV3) { - // 有V3等级订单 - if (orderV2.getPkId().equals(orderV3.getPkId())) { - // V2和V3订单相同,只处理V3 - createLevelList.add(this.packageMemberLevel(cuMember, orderV3, oldGrade.getPkId(), gradeV3.getPkId())); - newGrade = gradeV3; - } else { - // V2和V3订单不相同,先处理V2,再处理V3 - createLevelList.add(this.packageMemberLevel(cuMember, orderV2, oldGrade.getPkId(), gradeV2.getPkId())); - createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV2.getPkId(), gradeV3.getPkId())); - newGrade = gradeV3; - } - } else { - // 没有V3等级订单,只处理V2 - createLevelList.add(this.packageMemberLevel(cuMember, orderV2, oldGrade.getPkId(), gradeV2.getPkId())); - newGrade = gradeV2; - } - } else { - // V1和V2订单不相同 - if (null != orderV3) { - // 有V3等级订单 - if (orderV2.getPkId().equals(orderV3.getPkId())) { - // V2和V3等级相同,先处理V1,再处理V3 - createLevelList.add(this.packageMemberLevel(cuMember, orderV1, oldGrade.getPkId(), gradeV1.getPkId())); - createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV1.getPkId(), gradeV3.getPkId())); - newGrade = gradeV3; - } else { - // V2和V3等级不相同,先处理V1,再处理V2,最后处理V3 - createLevelList.add(this.packageMemberLevel(cuMember, orderV1, oldGrade.getPkId(), gradeV1.getPkId())); - createLevelList.add(this.packageMemberLevel(cuMember, orderV2, gradeV1.getPkId(), gradeV2.getPkId())); - createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV2.getPkId(), gradeV3.getPkId())); - newGrade = gradeV3; - } - } else { - // 没有V3等级订单,处理V1 V2 - createLevelList.add(this.packageMemberLevel(cuMember, orderV1, oldGrade.getPkId(), gradeV1.getPkId())); - createLevelList.add(this.packageMemberLevel(cuMember, orderV2, gradeV1.getPkId(), gradeV2.getPkId())); - newGrade = gradeV2; - } - } - } else { - // 没有V2等级订单 - if (null != orderV3) { - // 有V3等级订单 - if (orderV1.getPkId().equals(orderV3.getPkId())) { - // V1和V3相同,只处理V3 - createLevelList.add(this.packageMemberLevel(cuMember, orderV3, oldGrade.getPkId(), gradeV3.getPkId())); - newGrade = gradeV3; - } else { - // V1和V3不相同,先处理V1,再处理V3 - createLevelList.add(this.packageMemberLevel(cuMember, orderV1, oldGrade.getPkId(), gradeV1.getPkId())); - createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV1.getPkId(), gradeV3.getPkId())); - newGrade = gradeV3; - } - } else { - // 没有V3等级订单,只处理V1 - createLevelList.add(this.packageMemberLevel(cuMember, orderV1, oldGrade.getPkId(), gradeV1.getPkId())); - newGrade = gradeV1; - } - } - } else if (null != orderV2) { - // 有V2等级订单,V1没有 - if (null != orderV3) { - // 有V3等级订单 - if (orderV2.getPkId().equals(orderV3.getPkId())) { - // V2和V3订单相同,只处理V3 - createLevelList.add(this.packageMemberLevel(cuMember, orderV3, oldGrade.getPkId(), gradeV3.getPkId())); - newGrade = gradeV3; - } else { - // V2和V3订单不相同,先处理V2,再处理V3 - createLevelList.add(this.packageMemberLevel(cuMember, orderV2, oldGrade.getPkId(), gradeV2.getPkId())); - createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV2.getPkId(), gradeV3.getPkId())); - newGrade = gradeV3; - } - } else { - // 没有V3,只处理V2 - createLevelList.add(this.packageMemberLevel(cuMember, orderV2, oldGrade.getPkId(), gradeV2.getPkId())); - newGrade = gradeV2; - } - } else if (null != orderV3) { - // 有V3等级订单,V1、V2没有 - createLevelList.add(this.packageMemberLevel(cuMember, orderV3, oldGrade.getPkId(), gradeV3.getPkId())); - newGrade = gradeV3; - } - - } - } - return newGrade; - } +// /** +// * 处理次日一次性升级 +// * +// * @param cuMember 会员信息 +// * @param queryStartTime 升级查询开始时间 +// * @param queryEndTime 升级查询结束时间 +// * @param oldGrade 升级旧等级 +// * @param lowGradeList 需要处理的升级等级 +// * @param gradeList 等级列表 +// * @param createLevelList 需要新増的升级记录 +// */ +// private BdGrade handleNextDay(CuMember cuMember, Date queryStartTime, Date queryEndTime, BdGrade oldGrade, List lowGradeList, +// List gradeList, List createLevelList) { +// BdGrade newGrade = oldGrade; +// +// if (CollectionUtil.isNotEmpty(lowGradeList)) { +// // 查询大于升级时间,订单盒数大于等于升级盒数的订单 +// List orderList = this.list(Wrappers.lambdaQuery() +// .eq(SaOrder::getPkMember, cuMember.getPkId()) +// .eq(SaOrder::getOrderStatus, EPayStatus.PAID.getValue()) +// .eq(SaOrder::getOrderType, EOrderType.RETAIL_REPURCHASE.getValue()) +// .ge(SaOrder::getBoxNum, lowGradeList.get(0).getBoxNumber()) +// .ge(SaOrder::getPayTime, queryStartTime) +// .le(null != queryEndTime, SaOrder::getPayTime, queryEndTime) +// .orderByAsc(SaOrder::getPayTime) +// ); +// +// if (CollectionUtil.isNotEmpty(orderList)) { +// // 升级记录以后有订单,才进行级别处理 +// // 取倒序(V3,V2,V1) +// lowGradeList.sort(Comparator.comparing(BdGrade::getGradeValue).reversed()); +// +// SaOrder orderV1 = null; +// SaOrder orderV2 = null; +// SaOrder orderV3 = null; +// // 旧等级盒数 +// int oldGradeBox = oldGrade.getBoxNumber(); +// +// orderFor: +// for (SaOrder saOrder : orderList) { +// for (BdGrade tmpGrade : lowGradeList) { +// if (saOrder.getBoxNum() >= (tmpGrade.getBoxNumber() - oldGradeBox)) { +// if (EGrade.MAKER.getValue() == tmpGrade.getGradeValue()) { +// // V3订单 +// orderV3 = saOrder; +// // 达到V3等级,直接结束 +// break orderFor; +// } else if (null == orderV2 && EGrade.YOU_KE.getValue() == tmpGrade.getGradeValue()) { +// // V2订单 +// orderV2 = saOrder; +// oldGradeBox = tmpGrade.getBoxNumber(); +// // 达到V2等级,V1就不需要处理了,直接处理下次订单 +// break; +// } else if (null == orderV1 && EGrade.HAI_FAN.getValue() == tmpGrade.getGradeValue()) { +// // V1订单 +// orderV1 = saOrder; +// oldGradeBox = tmpGrade.getBoxNumber(); +// } +// } +// } +// } +// +// BdGrade gradeV1 = this.getGrade(EGrade.HAI_FAN, gradeList); +// BdGrade gradeV2 = this.getGrade(EGrade.YOU_KE, gradeList); +// BdGrade gradeV3 = this.getGrade(EGrade.MAKER, gradeList); +// if (null != orderV1) { +// // 有V1等级订单 +// if (null != orderV2) { +// // 有V2等级订单 +// if (orderV1.getPkId().equals(orderV2.getPkId())) { +// // V1和V2订单相同,只处理V2 +// if (null != orderV3) { +// // 有V3等级订单 +// if (orderV2.getPkId().equals(orderV3.getPkId())) { +// // V2和V3订单相同,只处理V3 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV3, oldGrade.getPkId(), gradeV3.getPkId())); +// newGrade = gradeV3; +// } else { +// // V2和V3订单不相同,先处理V2,再处理V3 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV2, oldGrade.getPkId(), gradeV2.getPkId())); +// createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV2.getPkId(), gradeV3.getPkId())); +// newGrade = gradeV3; +// } +// } else { +// // 没有V3等级订单,只处理V2 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV2, oldGrade.getPkId(), gradeV2.getPkId())); +// newGrade = gradeV2; +// } +// } else { +// // V1和V2订单不相同 +// if (null != orderV3) { +// // 有V3等级订单 +// if (orderV2.getPkId().equals(orderV3.getPkId())) { +// // V2和V3等级相同,先处理V1,再处理V3 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV1, oldGrade.getPkId(), gradeV1.getPkId())); +// createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV1.getPkId(), gradeV3.getPkId())); +// newGrade = gradeV3; +// } else { +// // V2和V3等级不相同,先处理V1,再处理V2,最后处理V3 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV1, oldGrade.getPkId(), gradeV1.getPkId())); +// createLevelList.add(this.packageMemberLevel(cuMember, orderV2, gradeV1.getPkId(), gradeV2.getPkId())); +// createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV2.getPkId(), gradeV3.getPkId())); +// newGrade = gradeV3; +// } +// } else { +// // 没有V3等级订单,处理V1 V2 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV1, oldGrade.getPkId(), gradeV1.getPkId())); +// createLevelList.add(this.packageMemberLevel(cuMember, orderV2, gradeV1.getPkId(), gradeV2.getPkId())); +// newGrade = gradeV2; +// } +// } +// } else { +// // 没有V2等级订单 +// if (null != orderV3) { +// // 有V3等级订单 +// if (orderV1.getPkId().equals(orderV3.getPkId())) { +// // V1和V3相同,只处理V3 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV3, oldGrade.getPkId(), gradeV3.getPkId())); +// newGrade = gradeV3; +// } else { +// // V1和V3不相同,先处理V1,再处理V3 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV1, oldGrade.getPkId(), gradeV1.getPkId())); +// createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV1.getPkId(), gradeV3.getPkId())); +// newGrade = gradeV3; +// } +// } else { +// // 没有V3等级订单,只处理V1 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV1, oldGrade.getPkId(), gradeV1.getPkId())); +// newGrade = gradeV1; +// } +// } +// } else if (null != orderV2) { +// // 有V2等级订单,V1没有 +// if (null != orderV3) { +// // 有V3等级订单 +// if (orderV2.getPkId().equals(orderV3.getPkId())) { +// // V2和V3订单相同,只处理V3 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV3, oldGrade.getPkId(), gradeV3.getPkId())); +// newGrade = gradeV3; +// } else { +// // V2和V3订单不相同,先处理V2,再处理V3 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV2, oldGrade.getPkId(), gradeV2.getPkId())); +// createLevelList.add(this.packageMemberLevel(cuMember, orderV3, gradeV2.getPkId(), gradeV3.getPkId())); +// newGrade = gradeV3; +// } +// } else { +// // 没有V3,只处理V2 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV2, oldGrade.getPkId(), gradeV2.getPkId())); +// newGrade = gradeV2; +// } +// } else if (null != orderV3) { +// // 有V3等级订单,V1、V2没有 +// createLevelList.add(this.packageMemberLevel(cuMember, orderV3, oldGrade.getPkId(), gradeV3.getPkId())); +// newGrade = gradeV3; +// } +// +// } +// } +// return newGrade; +// } /** * 获取等级(没有则返回V0) @@ -3418,4 +3427,28 @@ public class SaOrderServiceImpl extends ServiceImpl impl return tmpGrade; } + /** + * 处理商品盒数 + * + * @param orderItemsParams + */ + private void handleWaresBoxNum(Integer specialArea, List orderItemsParams) { + if (CollectionUtil.isNotEmpty(orderItemsParams)) { + List waresCodeList = orderItemsParams.stream().map(OrderItemsParam::getWaresCode).collect(Collectors.toList()); + List waresList = iBdWaresService.list(Wrappers.lambdaQuery() + .eq(BdWares::getSpecialArea, specialArea) + .in(BdWares::getWaresCode, waresCodeList) + ); + if (CollectionUtil.isNotEmpty(waresList)) { + for (OrderItemsParam orderItemsParam : orderItemsParams) { + for (BdWares bdWares : waresList) { + if (orderItemsParam.getWaresCode().equals(bdWares.getWaresCode())) { + orderItemsParam.setBoxNum(bdWares.getBoxNum()); + } + } + } + } + } + } + } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/mapper/BdProductExtendMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/mapper/BdProductExtendMapper.java index f7e7defb..e4d9d77b 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/mapper/BdProductExtendMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/mapper/BdProductExtendMapper.java @@ -7,11 +7,9 @@ import org.apache.ibatis.annotations.Param; /** * 商品拓展表 Mapper 接口 - * - * @author hzs - * @since 2022-09-01 */ public interface BdProductExtendMapper extends BaseMapper { + /** * 根据产品id查询产品拓展 * diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/IBdProductExtendService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/IBdProductExtendService.java index d0813163..3fca501c 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/IBdProductExtendService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/IBdProductExtendService.java @@ -5,12 +5,7 @@ import com.hzs.common.domain.sale.ext.BdProductExtendExt; import com.hzs.common.domain.sale.product.BdProductExtend; /** - *

* 商品拓展表 服务类 - *

- * - * @author hzs - * @since 2022-09-01 */ public interface IBdProductExtendService extends IService { @@ -20,7 +15,7 @@ public interface IBdProductExtendService extends IService { * @param productId * @return */ - public BdProductExtend getProductExtend(Integer productId); + BdProductExtend getProductExtend(Integer productId); /** * 根据产品id 查找当前商品的上一位商品排序 diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/impl/BdProductExtendServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/impl/BdProductExtendServiceImpl.java index 72569e1c..4cb5e176 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/impl/BdProductExtendServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/impl/BdProductExtendServiceImpl.java @@ -1,87 +1,43 @@ package com.hzs.sale.product.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.hzs.common.core.constant.CacheConstants; -import com.hzs.common.core.service.RedisService; import com.hzs.common.domain.sale.ext.BdProductExtendExt; import com.hzs.common.domain.sale.product.BdProductExtend; import com.hzs.sale.product.mapper.BdProductExtendMapper; import com.hzs.sale.product.service.IBdProductExtendService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** - *

* 商品拓展表 服务实现类 - *

- * - * @author hzs - * @since 2022-09-01 */ @Service public class BdProductExtendServiceImpl extends ServiceImpl implements IBdProductExtendService { - @Autowired - private RedisService redisService; - - /** - * 根据产品id查询产品拓展 - * - * @param productId - * @return - */ @Override public BdProductExtend getProductExtend(Integer productId) { return baseMapper.selectByProductId(productId); } - /** - * 根据产品id 查找当前商品的上一位商品排序 - * - * @param productId - * @return - */ @Override public Integer selectByMoveUpSort(Integer productId) { return baseMapper.selectByMoveUpSort(productId); } - /** - * 大于传入编号的全部上移1 - * - * @param sort - */ @Override public void updateMoveUpBySort(Integer sort) { baseMapper.updateMoveUpBySort(sort); } - /** - * 根据id 查询当前商品的下一位商品排序 - * - * @param productId - * @return - */ @Override public Integer selectByMoveDownSort(Integer productId) { return baseMapper.selectByMoveDownSort(productId); } - /** - * 大于传入编号的全部下移1 - * - * @param sort - */ @Override public void updateMoveDownBySort(Integer sort) { baseMapper.updateMoveDownBySort(sort); } - /** - * 查询排序最大值 - * - * @return - */ @Override public Integer getMaxProductSort() { return baseMapper.getMaxProductSort(); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/manage/BdWaresController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/manage/BdWaresController.java index 33361086..a4ab0b76 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/manage/BdWaresController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/manage/BdWaresController.java @@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.hzs.common.core.annotation.AccessPermissions; import com.hzs.common.core.annotation.Log; -import com.hzs.common.core.constant.EnumsPrefixConstants; import com.hzs.common.core.domain.R; import com.hzs.common.core.enums.*; import com.hzs.common.core.utils.CreateNormsCodeUtils; @@ -26,8 +25,6 @@ import com.hzs.common.domain.sale.wares.*; import com.hzs.common.domain.system.config.ext.BdRangeExt; import com.hzs.common.security.service.UserTokenService; import com.hzs.common.security.utils.SecurityUtils; - -import com.hzs.common.service.ITransactionCommonService; import com.hzs.sale.product.service.IBdAreaClassifyService; import com.hzs.sale.product.service.IBdProductExtendService; import com.hzs.sale.product.service.IBdProductService; @@ -36,8 +33,6 @@ import com.hzs.sale.wares.param.WaresDetailParams; import com.hzs.sale.wares.param.*; import com.hzs.sale.wares.service.*; import com.hzs.sale.wares.vo.*; -import com.hzs.system.base.ICurrencyServiceApi; -import com.hzs.system.base.dto.CurrencyDTO; import com.hzs.system.config.IRangeServiceApi; import com.hzs.system.sys.dto.LoginUser; import lombok.extern.slf4j.Slf4j; @@ -52,61 +47,50 @@ import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; -/** - * @Description: - * @Author: yuhui - * @Time: 2022/9/8 17:04 - * @Classname: BdWaresController - * @PackageName: com.hzs.sale.wares.controller.manage - */ @Slf4j @RestController @RequestMapping("/manage/wares") public class BdWaresController extends BaseController { @DubboReference - ICurrencyServiceApi currencyServiceApi; - @DubboReference - IRangeServiceApi rangeServiceApi; + IRangeServiceApi iRangeServiceApi; @Autowired - private IBdWaresAuthorizeService waresAuthorizeService; + private IBdWaresAuthorizeService iBdWaresAuthorizeService; @Autowired - private IBdWaresAwardsService waresAwardsService; + private IBdWaresAwardsService iBdWaresAwardsService; @Autowired - private ITransactionCommonService iTransactionCommonService; + private IBdWaresGradeService iBdWaresGradeService; @Autowired - private IBdWaresGradeService waresGradeService; + private IBdProductExtendService iBdProductExtendService; @Autowired - private IBdProductExtendService productExtendService; + private IBdSpecsService iBdSpecsService; @Autowired - private IBdSpecsService specsService; + private IBdWaresRangeService iBdWaresRangeService; @Autowired - private IBdWaresRangeService waresRangeService; + private IBdProductService iBdProductService; @Autowired - private IBdProductService productService; + private IBdWaresSpecsPackService iBdWaresSpecsPackService; @Autowired - private IBdWaresSpecsPackService waresSpecsPackService; + private IBdWaresService iBdWaresService; @Autowired - private IBdWaresService waresService; + private IBdWaresLabelService iBdWaresLabelService; @Autowired - private IBdWaresLabelService waresLabelService; + private IBdWaresExtendService iBdWaresExtendService; @Autowired - private IBdWaresExtendService waresExtendService; + private IBdWaresDetailService iBdWaresDetailService; @Autowired - private IBdWaresDetailService waresDetailService; + private IBdWaresSpecsSkuService iBdWaresSpecsSkuService; @Autowired - private IBdWaresSpecsSkuService waresSpecsSkuService; + private IBdWaresSpecsRelationService iBdWaresSpecsRelationService; @Autowired - private IBdWaresSpecsRelationService waresSpecsRelationService; + private IBdWaresSpecsService iBdWaresSpecsService; @Autowired - private IBdWaresSpecsService waresSpecsService; + private IBdWaresAuthorityService iBdWaresAuthorityService; @Autowired - private IBdWaresAuthorityService waresAuthorityService; + private IBdAreaClassifyService iBdAreaClassifyService; @Autowired private UserTokenService userTokenService; - @Autowired - private IBdAreaClassifyService areaClassifyService; /** * 查询列表 @@ -121,26 +105,20 @@ public class BdWaresController extends BaseController { waresParams.setSystemType(SecurityUtils.getSystemType()); startPage(); - List resultList = waresService.selectByWaresInfo(waresParams); + List resultList = iBdWaresService.selectByWaresInfo(waresParams); if (CollectionUtil.isNotEmpty(resultList)) { - R currencyDto = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry()); - resultList.parallelStream().forEach(waresVo -> { - WaresAuthorityVo waresAuthorityVo = waresService.getWaresAuthorityFirst(waresVo.getPkWares()); + WaresAuthorityVo waresAuthorityVo = iBdWaresService.getWaresAuthorityFirst(waresVo.getPkWares()); if (waresAuthorityVo != null) { waresVo.setAuthorityType(waresAuthorityVo.getAuthorityType()); - waresVo.setAuthorityTypeVal(EWaresPermissionType.getEnumByValue(waresAuthorityVo.getAuthorityType()).getLabel()); + waresVo.setAuthorityTypeVal(EWaresPermissionType.getEnumLabelByValue(waresAuthorityVo.getAuthorityType())); waresVo.setMemberCode(waresAuthorityVo.getMemberCode()); waresVo.setMemberName(waresAuthorityVo.getMemberName()); } - List waresDetailList = waresDetailService.selectByList(waresVo.getPkWares()); + List waresDetailList = iBdWaresDetailService.selectByList(waresVo.getPkWares()); waresVo.setWaresDetailList(waresDetailList); if (waresVo.getIsMakerGift() != null) { - waresVo.setIsMakerGiftVal(EWaresType.getEnumByValue(waresVo.getIsMakerGift()).getLabel()); - } - if (null != waresVo.getMakerIncome()) { - // 处理发起人收益 - waresVo.setMakerIncome(waresVo.getMakerIncome().multiply(currencyDto.getData().getInExchangeRate())); + waresVo.setIsMakerGiftVal(EWaresType.getEnumLabelByValue(waresVo.getIsMakerGift())); } }); } @@ -156,28 +134,24 @@ public class BdWaresController extends BaseController { waresParams.setPkCountry(SecurityUtils.getPkCountry()); waresParams.setSystemType(SecurityUtils.getSystemType()); - List resultList = waresService.selectByWaresInfo(waresParams); + List resultList = iBdWaresService.selectByWaresInfo(waresParams); if (CollectionUtil.isNotEmpty(resultList)) { - R currencyDto = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry()); - // 获取需要翻译的枚举翻译 - Map transactionMap = iTransactionCommonService.exportEnumTransaction(ESpecialArea.values(), EYesNo.values(), ESupplyWay.values(), EPresaleStatus.values()); - resultList.parallelStream().forEach(waresVo -> { // 所属专区 - waresVo.setSpecialAreaVal(transactionMap.get(EnumsPrefixConstants.SPECIAL_AREA + waresVo.getSpecialArea())); + waresVo.setSpecialAreaVal(ESpecialArea.getESpecialArea(waresVo.getSpecialArea())); // 供应方式 - waresVo.setOperateScopeVal(transactionMap.get(EnumsPrefixConstants.SUPPLY_WAY + waresVo.getOperateScope())); + waresVo.setOperateScopeVal(ESupplyWay.getEnumLabelByValue(waresVo.getOperateScope())); // 预售状态 - waresVo.setPreSaleStatusVal(transactionMap.get(EnumsPrefixConstants.PRESALE_STATUS + waresVo.getPreSaleStatus())); + waresVo.setPreSaleStatusVal(EPresaleStatus.getEnumLabelByValue(waresVo.getPreSaleStatus())); - WaresAuthorityVo waresAuthorityVo = waresService.getWaresAuthorityFirst(waresVo.getPkWares()); + WaresAuthorityVo waresAuthorityVo = iBdWaresService.getWaresAuthorityFirst(waresVo.getPkWares()); if (waresAuthorityVo != null) { waresVo.setAuthorityType(waresAuthorityVo.getAuthorityType()); - waresVo.setAuthorityTypeVal(EWaresPermissionType.getEnumByValue(waresAuthorityVo.getAuthorityType()).getLabel()); + waresVo.setAuthorityTypeVal(EWaresPermissionType.getEnumLabelByValue(waresAuthorityVo.getAuthorityType())); waresVo.setMemberCode(waresAuthorityVo.getMemberCode()); waresVo.setMemberName(waresAuthorityVo.getMemberName()); } - List waresDetailList = waresDetailService.selectByList(waresVo.getPkWares()); + List waresDetailList = iBdWaresDetailService.selectByList(waresVo.getPkWares()); waresVo.setWaresDetailList(waresDetailList); if (waresDetailList.size() > 0) { StringBuilder productNames = new StringBuilder(); @@ -192,13 +166,9 @@ public class BdWaresController extends BaseController { waresVo.setProductCodes(productCodes.toString()); waresVo.setProductQuantitys(productQuantitys.toString()); if (waresVo.getIsMakerGift() != null) { - waresVo.setIsMakerGiftVal(EWaresType.getEnumByValue(waresVo.getIsMakerGift()).getLabel()); + waresVo.setIsMakerGiftVal(EWaresType.getEnumLabelByValue(waresVo.getIsMakerGift())); } } - if (null != waresVo.getMakerIncome()) { - // 处理发起人收益 - waresVo.setMakerIncome(waresVo.getMakerIncome().multiply(currencyDto.getData().getInExchangeRate())); - } }); } ExcelUtil util = new ExcelUtil<>(WaresVo.class); @@ -216,27 +186,27 @@ public class BdWaresController extends BaseController { if (StringUtils.isBlank(wares.getWaresName())) { return AjaxResult.error("商品名称不存在"); } - // 预售状态必传 if (wares.getPreSaleStatus() == null) { return AjaxResult.error("预售状态必传"); } if (wares.getWaresPrice() == null) { return AjaxResult.error("商品价格必填"); } - if (StringUtils.isNotBlank(wares.getWaresCode())) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(BdWares::getWaresCode, wares.getWaresCode()); - queryWrapper.eq(BdWares::getSpecialArea, wares.getSpecialArea()); - if (waresService.count(queryWrapper) > 0) { - return AjaxResult.error("商品编号重复"); - } - } if (wares.getPkAreaClassify() == null) { return AjaxResult.error("商品分类不能为空"); } if (wares.getCover1() == null) { return AjaxResult.error("商品图片必传"); } + if (StringUtils.isNotBlank(wares.getWaresCode())) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(BdWares::getWaresCode, wares.getWaresCode()); + queryWrapper.eq(BdWares::getSpecialArea, wares.getSpecialArea()); + if (iBdWaresService.count(queryWrapper) > 0) { + return AjaxResult.error("商品编号重复"); + } + } + // 是否陆运 int isLandTrans = 1; // 是否空运 @@ -245,7 +215,7 @@ public class BdWaresController extends BaseController { int isOceanTrans = 1; if (wares.getWaresDetailList().size() > 0) { for (WaresDetailParams waresDetailParams : wares.getWaresDetailList()) { - BdProductExtend productExtend = productExtendService.getProductExtend(waresDetailParams.getPkProduct()); + BdProductExtend productExtend = iBdProductExtendService.getProductExtend(waresDetailParams.getPkProduct()); // 是否陆运 if (productExtend.getIsLandTrans() == EYesNo.YES.getIntValue()) { isLandTrans = EYesNo.YES.getIntValue(); @@ -328,7 +298,7 @@ public class BdWaresController extends BaseController { return AjaxResult.error("产品规格至少有一个上架"); } wares.setSort(0); - waresService.saveWares(wares, userTokenService.getLoginUser()); + iBdWaresService.saveWares(wares, userTokenService.getLoginUser()); return AjaxResult.success(wares.getWaresCode()); } @@ -341,8 +311,6 @@ public class BdWaresController extends BaseController { @PostMapping("/update") @Log(module = EOperationModule.WARES_LIST, business = EOperationBusiness.WARES_LIST, method = EOperationMethod.UPDATE) public AjaxResult update(@RequestBody WaresParams waresParams) { - waresParams.setPkCountry(SecurityUtils.getPkCountry()); - waresParams.setSystemType(SecurityUtils.getSystemType()); if (StringUtils.isBlank(waresParams.getWaresCode())) { return AjaxResult.error("商品编号不存在"); } @@ -350,16 +318,6 @@ public class BdWaresController extends BaseController { if (waresParams.getPreSaleStatus() == null) { return AjaxResult.error("预售状态必传"); } - // 商品编号 重复 - if (StringUtils.isNotBlank(waresParams.getWaresCode())) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(BdWares::getWaresCode, waresParams.getWaresCode()); - queryWrapper.eq(BdWares::getSpecialArea, waresParams.getSpecialArea()); - queryWrapper.notIn(BdWares::getPkId, waresParams.getWaresId()); - if (waresService.count(queryWrapper) > 0) { - return AjaxResult.error("商品编号重复"); - } - } if (StringUtils.isBlank(waresParams.getWaresName())) { return AjaxResult.error("商品名称不存在"); } @@ -372,6 +330,19 @@ public class BdWaresController extends BaseController { if (waresParams.getCover1() == null) { return AjaxResult.error("商品图片必传"); } + // 商品编号 重复 + if (StringUtils.isNotBlank(waresParams.getWaresCode())) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(BdWares::getWaresCode, waresParams.getWaresCode()); + queryWrapper.eq(BdWares::getSpecialArea, waresParams.getSpecialArea()); + queryWrapper.notIn(BdWares::getPkId, waresParams.getWaresId()); + if (iBdWaresService.count(queryWrapper) > 0) { + return AjaxResult.error("商品编号重复"); + } + } + + waresParams.setPkCountry(SecurityUtils.getPkCountry()); + waresParams.setSystemType(SecurityUtils.getSystemType()); // 是否陆运 int isLandTrans = 1; @@ -381,7 +352,7 @@ public class BdWaresController extends BaseController { int isOceanTrans = 1; if (waresParams.getWaresDetailList().size() > 0) { for (WaresDetailParams waresDetailParams : waresParams.getWaresDetailList()) { - BdProductExtend productExtend = productExtendService.getProductExtend(waresDetailParams.getPkProduct()); + BdProductExtend productExtend = iBdProductExtendService.getProductExtend(waresDetailParams.getPkProduct()); // 是否陆运 if (productExtend.getIsLandTrans() == EYesNo.YES.getIntValue()) { isLandTrans = EYesNo.YES.getIntValue(); @@ -459,7 +430,7 @@ public class BdWaresController extends BaseController { } waresParams.setSort(0); - waresService.updateWares(waresParams, userTokenService.getLoginUser()); + iBdWaresService.updateWares(waresParams, userTokenService.getLoginUser()); return AjaxResult.success(waresParams.getWaresCode()); } @@ -472,7 +443,7 @@ public class BdWaresController extends BaseController { @DeleteMapping("/{pkId}") @Log(module = EOperationModule.WARES_LIST, business = EOperationBusiness.THIRD_WARES_LIST, method = EOperationMethod.DELETE) public AjaxResult remove(@PathVariable Integer pkId) { - waresService.removeWares(pkId, userTokenService.getLoginUser()); + iBdWaresService.removeWares(pkId, userTokenService.getLoginUser()); return AjaxResult.success(); } @@ -484,14 +455,14 @@ public class BdWaresController extends BaseController { */ @GetMapping("/detail") public AjaxResult detail(Long pkId) { - R> rangeDto = rangeServiceApi.queryRange(SecurityUtils.getPkCountry()); + R> rangeDto = iRangeServiceApi.queryRange(SecurityUtils.getPkCountry()); List rsList = rangeDto.getData(); Map rangeMap = rsList.stream().collect(Collectors.toMap(BdRangeExt::getPkId, Function.identity())); - BdWares wares = waresService.getById(pkId); + BdWares wares = iBdWaresService.getById(pkId); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(BdWaresExtend::getPkWares, pkId); - BdWaresExtend waresExtend = waresExtendService.getOne(queryWrapper); + BdWaresExtend waresExtend = iBdWaresExtendService.getOne(queryWrapper); WaresParams waresParams = new WaresParams(); waresParams.setWaresId(wares.getPkId()); waresParams.setIsPreSale(wares.getIsPreSale()); @@ -542,12 +513,10 @@ public class BdWaresController extends BaseController { waresParams.setSortStatus(wares.getSortStatus()); waresParams.setSystemType(waresExtend.getSystemType()); waresParams.setAreaIncome(wares.getAreaIncome()); - if (waresExtend.getMakerIncome() != null) { - R currencyDto = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry()); - waresParams.setMakerIncome(waresExtend.getMakerIncome().multiply(currencyDto.getData().getInExchangeRate())); - } + waresParams.setAreaIncomeType(wares.getAreaIncomeType()); + waresParams.setBoxNum(wares.getBoxNum()); - BdAreaClassify parentAreaClassify = areaClassifyService.getAreaClassify(wares.getPkAreaClassify()); + BdAreaClassify parentAreaClassify = iBdAreaClassifyService.getAreaClassify(wares.getPkAreaClassify()); if (parentAreaClassify != null) { if (parentAreaClassify.getPkParent() == 0) { waresParams.setParentPkAreaClassify(null); @@ -558,7 +527,7 @@ public class BdWaresController extends BaseController { // 标签 LambdaQueryWrapper waresLabelWrapper = new LambdaQueryWrapper<>(); waresLabelWrapper.eq(BdWaresLabel::getPkWares, pkId); - List labelList = waresLabelService.list(waresLabelWrapper); + List labelList = iBdWaresLabelService.list(waresLabelWrapper); // 保证标签 List pkGuaranteeLabel = new ArrayList<>(); // 卖点标签 @@ -587,7 +556,7 @@ public class BdWaresController extends BaseController { //包装和规格 LambdaQueryWrapper waresSpecsPackWrapper = new LambdaQueryWrapper<>(); waresSpecsPackWrapper.eq(BdWaresSpecsPack::getPkWares, pkId); - List list = waresSpecsPackService.list(waresSpecsPackWrapper); + List list = iBdWaresSpecsPackService.list(waresSpecsPackWrapper); List waresSpecsPackList = new ArrayList<>(); for (BdWaresSpecsPack bdWaresSpecsPack : list) { WaresSpecsPackParams waresSpecsPackParams = BeanUtil.copyProperties(bdWaresSpecsPack, WaresSpecsPackParams.class); @@ -598,14 +567,14 @@ public class BdWaresController extends BaseController { //产品详情列表 LambdaQueryWrapper waresDetailWrapper = new LambdaQueryWrapper<>(); waresDetailWrapper.eq(BdWaresDetail::getPkWares, pkId); - List waresDetailList = waresDetailService.list(waresDetailWrapper); + List waresDetailList = iBdWaresDetailService.list(waresDetailWrapper); // 商品详情 List detailList = new ArrayList<>(); // 商品sku List waresSpecsSkuList = new ArrayList<>(); for (BdWaresDetail bd : waresDetailList) { WaresDetailParams waresDetailParams = BeanUtil.copyProperties(bd, WaresDetailParams.class); - BdProduct product = productService.getProduct(bd.getPkProduct()); + BdProduct product = iBdProductService.getProduct(bd.getPkProduct()); if (product != null) { waresDetailParams.setProductCode(product.getProductCode()); waresDetailParams.setProductName(product.getProductName()); @@ -617,7 +586,7 @@ public class BdWaresController extends BaseController { LambdaQueryWrapper specsSku = new LambdaQueryWrapper<>(); specsSku.eq(BdWaresSpecsSku::getPkWares, pkId); specsSku.eq(BdWaresSpecsSku::getPkWaresDetail, bd.getPkId()); - List specsSkuList = waresSpecsSkuService.list(specsSku); + List specsSkuList = iBdWaresSpecsSkuService.list(specsSku); for (BdWaresSpecsSku bdWaresSpecsSku : specsSkuList) { WaresSpecsSkuParams specsSkuParams = new WaresSpecsSkuParams(); specsSkuParams.setPkWaresSpecsSku(bdWaresSpecsSku.getPkId()); @@ -634,10 +603,10 @@ public class BdWaresController extends BaseController { List waresSpecsList = new ArrayList<>(); LambdaQueryWrapper waresSpecsRelation = new LambdaQueryWrapper<>(); waresSpecsRelation.eq(BdWaresSpecsRelation::getPkWaresSpecsSku, bdWaresSpecsSku.getPkId()); - List rslist = waresSpecsRelationService.list(waresSpecsRelation); + List rslist = iBdWaresSpecsRelationService.list(waresSpecsRelation); for (BdWaresSpecsRelation bdWaresSpecsRelation : rslist) { - BdWaresSpecs waresSpecs = waresSpecsService.getById(bdWaresSpecsRelation.getPkWaresSpecs()); - BdSpecs specs = specsService.getSpecs(waresSpecs.getPkSpecs()); + BdWaresSpecs waresSpecs = iBdWaresSpecsService.getById(bdWaresSpecsRelation.getPkWaresSpecs()); + BdSpecs specs = iBdSpecsService.getSpecs(waresSpecs.getPkSpecs()); if (specs != null) { waresSpecs.setSpecsName(specs.getSpecsName()); } @@ -652,7 +621,7 @@ public class BdWaresController extends BaseController { // 团队配置 LambdaQueryWrapper authorityWrapper = new LambdaQueryWrapper<>(); authorityWrapper.eq(BdWaresAuthority::getPkWares, pkId); - List authList = waresAuthorityService.list(authorityWrapper); + List authList = iBdWaresAuthorityService.list(authorityWrapper); List waresAuthorityList = new ArrayList<>(); for (BdWaresAuthority bdWaresAuthority : authList) { WaresAuthorityParam waresAuthorityParam = BeanUtil.copyProperties(bdWaresAuthority, WaresAuthorityParam.class); @@ -661,10 +630,10 @@ public class BdWaresController extends BaseController { waresParams.setWaresAuthorityList(waresAuthorityList); // 极差 List waresRangeList = new ArrayList<>(); - List rangeList = waresRangeService.queryWaresList(pkId, SecurityUtils.getPkCountry()); + List rangeList = iBdWaresRangeService.queryWaresList(pkId, SecurityUtils.getPkCountry()); LambdaQueryWrapper waresRangeWrapper = new LambdaQueryWrapper<>(); waresRangeWrapper.eq(BdWaresRange::getPkWares, pkId); - int waresRangeCount = waresRangeService.count(waresRangeWrapper); + int waresRangeCount = iBdWaresRangeService.count(waresRangeWrapper); List rgList = new ArrayList<>(); for (BdWaresRange bdWaresRange : rangeList) { if (bdWaresRange.getPkId() != null) { @@ -675,10 +644,10 @@ public class BdWaresController extends BaseController { List waresSpecsList = new ArrayList<>(); LambdaQueryWrapper waresSpecsRelation = new LambdaQueryWrapper<>(); waresSpecsRelation.eq(BdWaresSpecsRelation::getPkWaresSpecsSku, bdWaresRange.getPkWaresSpecsSku()); - List rslist = waresSpecsRelationService.list(waresSpecsRelation); + List rslist = iBdWaresSpecsRelationService.list(waresSpecsRelation); for (BdWaresSpecsRelation bdWaresSpecsRelation : rslist) { - BdWaresSpecs waresSpecs = waresSpecsService.getById(bdWaresSpecsRelation.getPkWaresSpecs()); - BdSpecs specs = specsService.getSpecs(waresSpecs.getPkSpecs()); + BdWaresSpecs waresSpecs = iBdWaresSpecsService.getById(bdWaresSpecsRelation.getPkWaresSpecs()); + BdSpecs specs = iBdSpecsService.getSpecs(waresSpecs.getPkSpecs()); if (specs != null) { waresSpecs.setSpecsName(specs.getSpecsName()); } @@ -691,7 +660,7 @@ public class BdWaresController extends BaseController { } else { waresRangeParams.setRangeName(null); } - BdProduct product = productService.getProduct(bdWaresRange.getPkProduct()); + BdProduct product = iBdProductService.getProduct(bdWaresRange.getPkProduct()); waresRangeParams.setProductCode(product.getProductCode()); waresRangeParams.setProductName(product.getProductName()); waresRangeParams.setProductCover(product.getCover()); @@ -711,7 +680,7 @@ public class BdWaresController extends BaseController { for (BdWaresDetail bdWaresDetail : waresDetailList) { WaresRangeParams waresRangeParams = new WaresRangeParams(); waresRangeParams.setPkRange(rg); - BdProduct product = productService.getProduct(bdWaresDetail.getPkProduct()); + BdProduct product = iBdProductService.getProduct(bdWaresDetail.getPkProduct()); waresRangeParams.setPkProduct(product.getPkId()); waresRangeParams.setProductCode(product.getProductCode()); waresRangeParams.setProductName(product.getProductName()); @@ -725,16 +694,16 @@ public class BdWaresController extends BaseController { LambdaQueryWrapper qe = new LambdaQueryWrapper<>(); qe.eq(BdWaresRange::getPkWares, bdWaresDetail.getPkWares()); qe.eq(BdWaresRange::getPkWaresDetail, bdWaresDetail.getPkId()); - List wrList = waresRangeService.list(qe); + List wrList = iBdWaresRangeService.list(qe); // 查询每一个sku 的所有规格 List waresSpecsList = new ArrayList<>(); for (BdWaresRange bdWaresRange : wrList) { LambdaQueryWrapper waresSpecsRelation = new LambdaQueryWrapper<>(); waresSpecsRelation.eq(BdWaresSpecsRelation::getPkWaresSpecsSku, bdWaresRange.getPkWaresSpecsSku()); - List rslist = waresSpecsRelationService.list(waresSpecsRelation); + List rslist = iBdWaresSpecsRelationService.list(waresSpecsRelation); for (BdWaresSpecsRelation bdWaresSpecsRelation : rslist) { - BdWaresSpecs waresSpecs = waresSpecsService.getById(bdWaresSpecsRelation.getPkWaresSpecs()); - BdSpecs specs = specsService.getSpecs(waresSpecs.getPkSpecs()); + BdWaresSpecs waresSpecs = iBdWaresSpecsService.getById(bdWaresSpecsRelation.getPkWaresSpecs()); + BdSpecs specs = iBdSpecsService.getSpecs(waresSpecs.getPkSpecs()); if (specs != null) { waresSpecs.setSpecsName(specs.getSpecsName()); } @@ -755,19 +724,19 @@ public class BdWaresController extends BaseController { // 查询商品级别 LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); qw.eq(BdWaresGrade::getPkWares, pkId); - List waresGradeIds = waresGradeService.list(qw); + List waresGradeIds = iBdWaresGradeService.list(qw); List ids = waresGradeIds.stream().map(BdWaresGrade::getPkRange).collect(Collectors.toList()); waresParams.setWaresGradeIds(ids); // 查询商品奖衔 LambdaQueryWrapper qe = new LambdaQueryWrapper<>(); qe.eq(BdWaresAwards::getPkWares, pkId); - List waresAwardsIds = waresAwardsService.list(qe); + List waresAwardsIds = iBdWaresAwardsService.list(qe); List waresAwardsArray = waresAwardsIds.stream().map(BdWaresAwards::getPkAwards).collect(Collectors.toList()); waresParams.setWaresAwardsIds(waresAwardsArray); // 查询商品权限配置 LambdaQueryWrapper qa = new LambdaQueryWrapper<>(); qa.eq(BdWaresAuthorize::getPkWares, pkId); - List waresAuthoritys = waresAuthorizeService.list(qa); + List waresAuthoritys = iBdWaresAuthorizeService.list(qa); List waresAuthorizeList = waresAuthoritys.stream().map(BdWaresAuthorize::getValue).collect(Collectors.toList()); waresParams.setWaresMemberAuthorizeList(waresAuthorizeList); return AjaxResult.success(waresParams); @@ -784,7 +753,7 @@ public class BdWaresController extends BaseController { @Log(module = EOperationModule.WARES_LIST, business = EOperationBusiness.THIRD_WARES_LIST, method = EOperationMethod.UP_MOVE) public AjaxResult move(Integer waresId, Integer waresMoveType, Integer specialArea) { LoginUser loginUser = userTokenService.getLoginUser(); - waresService.waresMove(waresId, waresMoveType, loginUser, specialArea); + iBdWaresService.waresMove(waresId, waresMoveType, loginUser, specialArea); return AjaxResult.success(); } @@ -799,7 +768,7 @@ public class BdWaresController extends BaseController { @Log(module = EOperationModule.WARES_LIST, business = EOperationBusiness.THIRD_WARES_LIST, method = EOperationMethod.TOP) public AjaxResult floatingRoof(Integer waresId) { LoginUser loginUser = userTokenService.getLoginUser(); - waresService.floatingRoof(waresId, loginUser); + iBdWaresService.floatingRoof(waresId, loginUser); return AjaxResult.success(); } @@ -811,7 +780,7 @@ public class BdWaresController extends BaseController { @GetMapping("/botton-up") public AjaxResult bottomUp(Integer waresId) { LoginUser loginUser = userTokenService.getLoginUser(); - waresService.bottomUp(waresId, loginUser); + iBdWaresService.bottomUp(waresId, loginUser); return AjaxResult.success(); } @@ -822,7 +791,7 @@ public class BdWaresController extends BaseController { */ @GetMapping("/create-wares-code") public AjaxResult createWaresCode() { - String waresCode = CreateNormsCodeUtils.createWaresCode(waresService.getLastWaresCode()); + String waresCode = CreateNormsCodeUtils.createWaresCode(iBdWaresService.getLastWaresCode()); return AjaxResult.success(waresCode); } @@ -834,7 +803,7 @@ public class BdWaresController extends BaseController { @GetMapping("/create-wares-sort") public AjaxResult createWaresSort() { Integer pkCountry = SecurityUtils.getPkCountry(); - Integer maxSort = waresService.getMaxSort(pkCountry); + Integer maxSort = iBdWaresService.getMaxSort(pkCountry); if (maxSort == null) { maxSort = 0; } @@ -851,7 +820,7 @@ public class BdWaresController extends BaseController { queryWrapper.eq(BdWares::getWaresName, waresName); } queryWrapper.eq(BdWares::getPkCountry, SecurityUtils.getPkCountry()); - List list = waresService.list(queryWrapper); + List list = iBdWaresService.list(queryWrapper); List resultList = new ArrayList<>(); for (BdWares bdWares : list) { WaresEntnyOrderVo waresEntnyOrderVo = new WaresEntnyOrderVo(); @@ -862,7 +831,7 @@ public class BdWaresController extends BaseController { waresEntnyOrderVo.setWaresPrice(bdWares.getWaresPrice()); waresEntnyOrderVo.setWaresAchieve(bdWares.getWaresAchieve()); - List waresDetailList = waresDetailService.selectByPkWares(bdWares.getPkId()); + List waresDetailList = iBdWaresDetailService.selectByPkWares(bdWares.getPkId()); List productEntnyOrderList = new ArrayList<>(); for (BdWaresDetailExt bdWaresDetail : waresDetailList) { ProductEntnyOrderVo productEntnyOrderVo = new ProductEntnyOrderVo(); @@ -871,12 +840,12 @@ public class BdWaresController extends BaseController { productEntnyOrderVo.setProductName(bdWaresDetail.getProductName()); LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); qw.eq(BdWaresSpecsSku::getPkWaresDetail, bdWaresDetail.getPkId()); - List waresSpecsSkuList = waresSpecsSkuService.list(qw); + List waresSpecsSkuList = iBdWaresSpecsSkuService.list(qw); List waresSpecsEntnyOrterVoList = new ArrayList<>(); for (BdWaresSpecsSku bdWaresSpecsSku : waresSpecsSkuList) { WaresSpecsEntnyOrterVo waresSpecsEntnyOrterVo = new WaresSpecsEntnyOrterVo(); - List waresSpecsRelation = waresSpecsRelationService.selectByWaresSpecsSku(bdWaresSpecsSku.getPkId()); + List waresSpecsRelation = iBdWaresSpecsRelationService.selectByWaresSpecsSku(bdWaresSpecsSku.getPkId()); List specsList = new ArrayList<>(); List specsIds = new ArrayList<>(); for (BdWaresSpecsRelationExt bdWaresSpecsRelation : waresSpecsRelation) { @@ -906,7 +875,7 @@ public class BdWaresController extends BaseController { public AjaxResult getEmptyOrderWares(@RequestBody EmptyOrderWares emptyOrderWares) { List resultList = new ArrayList<>(); for (int i = 0; i < emptyOrderWares.getPkWaresSpecsSkus().size(); i++) { - BdWaresSpecsSkuExt ws = waresSpecsSkuService.selectByPkWaresSpecsSku(emptyOrderWares.getPkWaresSpecsSkus().get(i).getPkWaresSpecsSku()); + BdWaresSpecsSkuExt ws = iBdWaresSpecsSkuService.selectByPkWaresSpecsSku(emptyOrderWares.getPkWaresSpecsSkus().get(i).getPkWaresSpecsSku()); EmptyOrderWares eo = new EmptyOrderWares(); eo.setSort(i + 1); eo.setPkWares(ws.getPkWares()); @@ -925,10 +894,10 @@ public class BdWaresController extends BaseController { eo.setProductName(ws.getProductName()); LambdaQueryWrapper qer = new LambdaQueryWrapper<>(); qer.eq(BdWaresSpecsRelation::getPkWaresSpecsSku, ws.getPkId()); - List waresSpecsRelation = waresSpecsRelationService.list(qer); + List waresSpecsRelation = iBdWaresSpecsRelationService.list(qer); List specsList = new ArrayList<>(); for (BdWaresSpecsRelation bdWaresSpecsRelation : waresSpecsRelation) { - BdWaresSpecs waresSpecs = waresSpecsService.selectByPkId(bdWaresSpecsRelation.getPkWaresSpecs()); + BdWaresSpecs waresSpecs = iBdWaresSpecsService.selectByPkId(bdWaresSpecsRelation.getPkWaresSpecs()); specsList.add(waresSpecs.getSpecsName()); } eo.setSpecsName(StringUtils.join(specsList, ",")); @@ -953,7 +922,7 @@ public class BdWaresController extends BaseController { } queryWrapper.eq(BdWares::getPkCountry, SecurityUtils.getPkCountry()); queryWrapper.eq(BdWares::getSystemType, SecurityUtils.getSystemType()); - List list = waresService.list(queryWrapper); + List list = iBdWaresService.list(queryWrapper); return AjaxResult.success(list); } @@ -965,7 +934,7 @@ public class BdWaresController extends BaseController { for (ComputeWaresPrice computeWaresPrice : computhParams.getComputeWaresPriceList()) { computeWaresPrice.setPkWares(computhParams.getPkWares()); } - return AjaxResult.success(waresService.computeWaresPrice(computhParams.getComputeWaresPriceList(), computhParams.getSpecialArea())); + return AjaxResult.success(iBdWaresService.computeWaresPrice(computhParams.getComputeWaresPriceList(), computhParams.getSpecialArea())); } /** @@ -977,7 +946,7 @@ public class BdWaresController extends BaseController { @Log(module = EOperationModule.WARES_LIST, business = EOperationBusiness.WARES_LIST, method = EOperationMethod.APPROVAL, remark = "商品新増审批") @PostMapping("/wares-approve") public AjaxResult waresApprove(@Valid @RequestBody WaresApproveParam param) { - waresService.update(Wrappers.lambdaUpdate() + iBdWaresService.update(Wrappers.lambdaUpdate() .eq(BdWares::getPkId, param.getPkWares()) .eq(BdWares::getWaresStatus, EApproveStatus.ALREADY_SUBMIT.getValue()) .set(BdWares::getWaresStatus, EApproveStatus.FINISH.getValue()) diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/mapper/BdWaresMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/mapper/BdWaresMapper.java index 1d9f36a7..3534857d 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/mapper/BdWaresMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/mapper/BdWaresMapper.java @@ -16,9 +16,6 @@ import java.util.List; /** * 商品 Mapper 接口 - * - * @author hzs - * @since 2022-09-08 */ public interface BdWaresMapper extends BaseMapper { @@ -32,9 +29,6 @@ public interface BdWaresMapper extends BaseMapper { * @param waresCodeInList 包含的商品编号列表 -- 可为null * @param waresCodeNotInList 不包含的商品编号列表 -- 可为null * @param pkCountry 所属国家 - * @return: List - * @Author: sui q - * @Date: 2022/9/16 11:13 */ List queryWaresByCondition(@Param("specialArea") Integer specialArea, @Param("pkAreaClassify") Integer pkAreaClassify, @@ -115,9 +109,6 @@ public interface BdWaresMapper extends BaseMapper { * @param pkAreaClassify 所属分类 * @param waresName 名称 * @param pkCountry 所属国家 - * @return: List - * @Author: sui q - * @Date: 2022/9/19 9:05 */ List queryRecommendWaresByCondition(@Param("specialArea") Integer specialArea, @Param("pkAreaClassify") Integer pkAreaClassify, @Param("waresCode") String waresCode, @Param("waresName") String waresName, @Param("pkCountry") Integer pkCountry); @@ -141,7 +132,7 @@ public interface BdWaresMapper extends BaseMapper { /** * 新零售查询商品列表 * - * @param param 查询参数 + * @param param 查询参数 * @return */ List listRetailWaresByCondition(@Param("param") RetailWaresParam param); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/param/WaresParams.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/param/WaresParams.java index 810cb34e..9cbc62cd 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/param/WaresParams.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/param/WaresParams.java @@ -394,11 +394,6 @@ public class WaresParams implements Serializable { */ private Integer sortStatus; - /** - * 发起人收益(目前复购使用) - */ - private BigDecimal makerIncome; - /** * 系统类型(2=新零售,3=美业) */ @@ -414,4 +409,14 @@ public class WaresParams implements Serializable { */ private BigDecimal areaIncome; + /** + * 复购区域分红方式(1=比率,2=比值) + */ + private Integer areaIncomeType; + + /** + * 商品上传盒数 + */ + private BigDecimal boxNum; + } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/IBdWaresService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/IBdWaresService.java index b17c56bf..fb836c13 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/IBdWaresService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/IBdWaresService.java @@ -20,9 +20,6 @@ import java.util.Map; /** * 商品 服务类 - * - * @author hzs - * @since 2022-09-08 */ public interface IBdWaresService extends IService { @@ -58,9 +55,6 @@ public interface IBdWaresService extends IService { * @param waresCodeInList 包含的商品编号列表 -- 可为null * @param waresCodeNotInList 不包含的商品编号列表 -- 可为null * @param pkCountry 所属国家 - * @return: List - * @Author: sui q - * @Date: 2022/9/19 9:05 */ List queryWaresByCondition(Integer specialArea, Integer pkAreaClassify, @@ -76,9 +70,6 @@ public interface IBdWaresService extends IService { * @param pkAreaClassify 所属分类 * @param waresName 名称 * @param pkCountry 所属国家 - * @return: List - * @Author: sui q - * @Date: 2022/9/19 9:05 */ List queryRecommendWaresByCondition(Integer specialArea, Integer pkAreaClassify, String waresName, Integer pkCountry); @@ -147,11 +138,7 @@ public interface IBdWaresService extends IService { void updateByAutoStartAndAutoStart(Date currentTime); /** - * @description: 修改商品预售状态 - * @author: zhang jing - * @date: 2024/10/24 16:10 - * @param: [] - * @return: void + * 修改商品预售状态 **/ void waresPreSale(); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresDetailServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresDetailServiceImpl.java index aa0f66bf..5b6ea58f 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresDetailServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresDetailServiceImpl.java @@ -57,7 +57,6 @@ public class BdWaresDetailServiceImpl extends ServiceImpl impl @Autowired private RabbitTemplate rabbitTemplate; + @Autowired private IBdSpecsService specsService; - @Autowired private IBdWaresAuthorizeService waresAuthorizeService; @Autowired @@ -83,17 +80,13 @@ public class BdWaresServiceImpl extends ServiceImpl impl private IBdWaresAuthorityService waresAuthorityService; @DubboReference - ILabelServiceApi labelService; + ILabelServiceApi iLabelServiceApi; @DubboReference - IMemberServiceApi memberServiceApi; + IMemberServiceApi iMemberServiceApi; @DubboReference - ICurrencyServiceApi currencyServiceApi; + IAwardsServiceApi iAwardsServiceApi; @DubboReference - IAwardsServiceApi awardsServiceApi; - @DubboReference - IRangeServiceApi rangeServiceApi; - @DubboReference - ITransactionServiceApi transactionServiceApi; + IRangeServiceApi iRangeServiceApi; @Override @Transactional(rollbackFor = Exception.class) @@ -101,9 +94,7 @@ public class BdWaresServiceImpl extends ServiceImpl impl // 设置 wares 对象的值 BdWares wares = BeanUtil.copyProperties(waresParams, BdWares.class); wares.setPkId(waresParams.getWaresId()); - R transaction = transactionServiceApi.createTransaction(user.getDataCountry(), ETransactionKey.SPEC, waresParams.getWaresName(), EYesNo.NO, EYesNo.NO); wares.setWaresCode(waresParams.getWaresCode()); - wares.setPkTransaction(transaction.getData()); wares.setPkCreator(user.getUserId()); wares.setPkCountry(user.getDataCountry()); wares.setSystemType(user.getSystemType()); @@ -115,17 +106,9 @@ public class BdWaresServiceImpl extends ServiceImpl impl wares.setRemovalTime(DateUtils.currentDateTime()); } this.save(wares); + // 商品拓展表 BdWaresExtend waresExtend = BeanUtil.copyProperties(waresParams, BdWaresExtend.class); - // 存入要转化美金 - if (!waresParams.getSpecialArea().equals(ESpecialArea.REPURCHASE_AREA.getValue())) { - waresParams.setMakerIncome(BigDecimal.ZERO); - } - if (null != waresParams.getMakerIncome()) { - R currencyDto = currencyServiceApi.getCurrency(user.getDataCountry()); - waresExtend.setMakerIncome(waresParams.getMakerIncome().divide(currencyDto.getData().getInExchangeRate(), 6, BigDecimal.ROUND_HALF_UP)); - } - // 处理系统类型 waresExtend.setSystemType(user.getSystemType()); waresExtend.setPkWares(wares.getPkId()); waresExtend.setPkCreator(user.getUserId()); @@ -148,9 +131,9 @@ public class BdWaresServiceImpl extends ServiceImpl impl } } waresExtendService.save(waresExtend); + // 标签关联记录 saveWaresLabel(wares, prefixLabel, coolLabel, waresParams.getPkGuaranteeLabel(), waresParams.getPkSellingPoint(), user); - // 生成产品明细 saveWaresDetail(wares, waresParams.getWaresDetailList(), user); // 生成规格sku 表 @@ -363,7 +346,7 @@ public class BdWaresServiceImpl extends ServiceImpl impl for (WaresAuthorityParam waresAuthorityParam : waresAuthorityList) { Long memberId = null; if (StringUtils.isNotBlank(waresAuthorityParam.getMemberCode())) { - R member = memberServiceApi.getMember(waresAuthorityParam.getMemberCode()); + R member = iMemberServiceApi.getMember(waresAuthorityParam.getMemberCode()); if (member.getData() == null) { throw new BaseException("查询会员失败"); } @@ -524,19 +507,11 @@ public class BdWaresServiceImpl extends ServiceImpl impl } } - /** - * 修改商品基础信息 - * - * @param waresParams - * @param user - */ @Override @Transactional(rollbackFor = Exception.class) public void updateWares(WaresParams waresParams, LoginUser user) { BdWares wares = BeanUtil.copyProperties(waresParams, BdWares.class); wares.setPkId(waresParams.getWaresId()); - R transaction = transactionServiceApi.createTransaction(user.getDataCountry(), ETransactionKey.SPEC, waresParams.getWaresName(), EYesNo.NO, EYesNo.NO); - wares.setPkTransaction(transaction.getData()); if (waresParams.getIsPutOn().equals(EYesNo.YES.getIntValue())) { wares.setListingTime(DateUtils.currentDateTime()); } @@ -550,19 +525,11 @@ public class BdWaresServiceImpl extends ServiceImpl impl // 商品拓展表 BdWaresExtend waresExtend = BeanUtil.copyProperties(waresParams, BdWaresExtend.class); - // 存入要转化美金 - if (!waresParams.getSpecialArea().equals(ESpecialArea.REPURCHASE_AREA.getValue())) { - waresParams.setMakerIncome(BigDecimal.ZERO); - } - if (null != waresParams.getMakerIncome()) { - R currencyDto = currencyServiceApi.getCurrency(user.getDataCountry()); - waresExtend.setMakerIncome(waresParams.getMakerIncome().divide(currencyDto.getData().getInExchangeRate(), 6, BigDecimal.ROUND_HALF_UP)); - } - // 处理系统类型 waresExtend.setSystemType(user.getSystemType()); waresExtend.setPkWares(wares.getPkId()); waresExtend.setPkModified(user.getUserId()); waresExtend.setModifiedTime(new Date()); + // 根据商品id 修改信息 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(BdWaresExtend::getPkWares, wares.getPkId()); @@ -593,12 +560,11 @@ public class BdWaresServiceImpl extends ServiceImpl impl saveWaresLabel(wares, prefixLabel, coolLabel, waresParams.getPkGuaranteeLabel(), waresParams.getPkSellingPoint(), user); // 生成产品明细 saveWaresDetail(wares, waresParams.getWaresDetailList(), user); - // 生成规格sku 表 saveWaresSpecsSku(wares, waresParams.getWaresSpecsSkuList(), user); // 团队配置 saveWaresAuthority(wares, waresParams.getWaresAuthorityList(), user); - + // 生成商品级差 saveWaresRange(wares, waresParams.getWaresRangeList(), user); // 产品包装新增 @@ -626,7 +592,7 @@ public class BdWaresServiceImpl extends ServiceImpl impl queryWrapper1.eq(BdWaresAwards::getPkWares, wares.getPkId()); waresAwardsService.remove(queryWrapper1); // 校验奖衔id 是否存在 - R> awardsDto = awardsServiceApi.queryAwards(waresParams.getPkCountry()); + R> awardsDto = iAwardsServiceApi.queryAwards(waresParams.getPkCountry()); List awardsList = awardsDto.getData(); List waresAwardsIdList = new ArrayList<>(); for (BdAwards bdAwards : awardsList) { @@ -752,11 +718,6 @@ public class BdWaresServiceImpl extends ServiceImpl impl rabbitTemplate.convertAndSend(RabbitMqConstants.BUSINESS_LOG_EXCHANGE, RabbitMqConstants.BUSINESS_LOG_KEY, log); } - /** - * 删除商品 - * - * @param pkId - */ @Override @Transactional(rollbackFor = Exception.class) public void removeWares(Integer pkId, LoginUser loginUser) { @@ -846,22 +807,11 @@ public class BdWaresServiceImpl extends ServiceImpl impl } } - /** - * 根据商品外键查询商品 - * - * @param waresId - * @return - */ @Override public BdWares getWares(Integer waresId) { return baseMapper.selectById(waresId); } - /** - * 查询最末商品编号 - * - * @return - */ @Override public String getLastWaresCode() { return baseMapper.getLastWaresCode(); @@ -872,13 +822,6 @@ public class BdWaresServiceImpl extends ServiceImpl impl return baseMapper.selectByWaresInfo(waresParams); } - /** - * 上移 下移 - * - * @param waresId - * @param waresMoveType - * @param specialArea 所属专区 - */ @Override public void waresMove(Integer waresId, Integer waresMoveType, LoginUser loginUser, Integer specialArea) { BdWares bdWares = baseMapper.selectById(waresId); @@ -975,13 +918,6 @@ public class BdWaresServiceImpl extends ServiceImpl impl return baseMapper.selectByMoveDownSort(waresId, specialArea); } - - /** - * 置顶 - * - * @param waresId - * @param loginUser - */ @Override public void floatingRoof(Integer waresId, LoginUser loginUser) { BdWares bdWares = new BdWares(); @@ -990,22 +926,11 @@ public class BdWaresServiceImpl extends ServiceImpl impl this.updateById(bdWares); } - /** - * 获取最大商品序号 - * - * @return - */ @Override public Integer getMaxSort(Integer pkCountry) { return baseMapper.getMaxSort(pkCountry); } - /** - * 根据商品编号查询商品信息 - * - * @param waresCodeList - * @return - */ @Override public List selectByWaresCodeList(List waresCodeList) { return baseMapper.selectByWaresCodeList(waresCodeList); @@ -1017,17 +942,6 @@ public class BdWaresServiceImpl extends ServiceImpl impl return baseMapper.queryWaresByCondition(specialArea, pkAreaClassify, null, waresName, waresCodeInList, waresCodeNotInList, pkCountry); } - /** - * 根据条件查询推荐商品 ,专区商品列表 - * - * @param specialArea 所属专区 - * @param pkAreaClassify 所属分类 - * @param waresName 名称 - * @param pkCountry 所属国家 - * @return: List - * @Author: sui q - * @Date: 2022/9/19 9:05 - */ @Override public List queryRecommendWaresByCondition(Integer specialArea, Integer pkAreaClassify, String waresName, Integer pkCountry) { return baseMapper.queryRecommendWaresByCondition(specialArea, pkAreaClassify, null, waresName, pkCountry); @@ -1035,7 +949,7 @@ public class BdWaresServiceImpl extends ServiceImpl impl private BdLabel getBdLabel(Integer pkId) { BdLabel bdLabel; - R result = labelService.getByPkId(pkId); + R result = iLabelServiceApi.getByPkId(pkId); if (result.isSuccess()) { bdLabel = BeanUtil.copyProperties(result.getData(), BdLabel.class); } else { @@ -1044,53 +958,30 @@ public class BdWaresServiceImpl extends ServiceImpl impl return bdLabel; } - /** - * 修改自动上下架状态(自动上架) - * - * @param currentTime 当前时间 - */ @Override public void updateByAutoStartAndAutoStart(Date currentTime) { baseMapper.updateByAutoStartAndAutoStart(currentTime); } - /** - * @description: 修改商品预售状态 - * @author: zhang jing - * @date: 2024/10/24 16:10 - * @param: [] - * @return: void - **/ @Override public void waresPreSale() { baseMapper.waresPreSale(); } - /** - * 修改自动上下架状态(自动下架) - * - * @param currentTime 当前时间 - */ @Override public void updateByAutoStartAndAutoEnd(Date currentTime) { baseMapper.updateByAutoStartAndAutoEnd(currentTime); } - /** - * 计算商品业绩 - */ @Override public List computeWaresPrice(List computeWaresPriceList, Integer specialArea) { // 极差 - R> rangeDto = rangeServiceApi.queryRange(SecurityUtils.getPkCountry()); + R> rangeDto = iRangeServiceApi.queryRange(SecurityUtils.getPkCountry()); List rangeList = rangeDto.getData(); rangeList = rangeList.stream().filter(range -> range.getSystemType().equals(ESystemType.DEFAULT.getValue())).collect(Collectors.toList()); return computeWaresPrice(computeWaresPriceList, rangeList); } - /** - * 计算商品业绩 - */ @Override public List computeWaresPrice(List computeWaresPriceList, List rangeList) { // 极差 diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/vo/WaresProductDetailVo.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/vo/WaresProductDetailVo.java index ebe6079f..f03641b4 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/vo/WaresProductDetailVo.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/vo/WaresProductDetailVo.java @@ -1,21 +1,7 @@ -package com.hzs.sale.wares.vo;/** - * @Description: - * @Author: yuhui - * @Time: 2024/9/11 13:24 - * @Classname: WaresDetailVo - * @PackageName: com.hzs.sale.wares.vo - */ +package com.hzs.sale.wares.vo; import lombok.Data; -/** - *@BelongsProject: hzs_cloud - *@BelongsPackage: com.hzs.sale.wares.vo - *@Author: yh - *@CreateTime: 2024-09-11 13:24 - *@Description: TODO - *@Version: 1.0 - */ @Data public class WaresProductDetailVo { /** diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/vo/WaresVo.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/vo/WaresVo.java index 51284b39..4c96e17f 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/vo/WaresVo.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/vo/WaresVo.java @@ -11,13 +11,6 @@ import java.math.BigDecimal; import java.util.Date; import java.util.List; -/** - * @Description: - * @Author: yuhui - * @Time: 2022/11/9 11:02 - * @Classname: WaresVo - * @PackageName: com.hzs.sale.wares.vo - */ @Data public class WaresVo { @@ -65,14 +58,6 @@ public class WaresVo { @BigDecimalFormat("#0.0000") private BigDecimal waresAchieve; - - /** - * 发起人收益(目前复购使用) - */ - @Excel(name = "发起人收益(¥)", scale = 2) - @BigDecimalFormat - private BigDecimal makerIncome; - /** * 支付比例名称 */ @@ -116,16 +101,17 @@ public class WaresVo { */ @Excel(name = "产品数量") private String productQuantitys; + /** * 所属专区 */ - private Integer specialArea; /** * 所属专区 */ @Excel(name = "所属专区") private String specialAreaVal; + /** * 是否单品 */ @@ -163,16 +149,17 @@ public class WaresVo { * 是否推荐 */ private String isRecommendVal; + /** * 供应方式(经营范围) */ - private Integer operateScope; /** * 供应方式(经营范围) */ @Excel(name = "供应方式") private String operateScopeVal; + /** * 是否出售 */ @@ -184,12 +171,11 @@ public class WaresVo { */ @Excel(name = "上架状态", readConverterExp = "0=上架,1=下架") private Integer isPutOn; + /** * 预售状态 */ - private Integer preSaleStatus; - /** * 预售状态 */ @@ -305,4 +291,14 @@ public class WaresVo { */ private Date waresApprovalTime; + /** + * 复购区域分红 + */ + private BigDecimal areaIncome; + + /** + * 商品上传盒数 + */ + private BigDecimal boxNum; + } diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderItemsMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderItemsMapper.xml index 8f4f558e..9188de2e 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderItemsMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderItemsMapper.xml @@ -1130,38 +1130,9 @@ and so.ORDER_CODE = #{orderCode} - - - - + select sum(nvl(soi.wares_quantity, 0) * bw.box_num) wares_quantity from sa_order so left join sa_order_items soi on soi.pk_order = so.pk_id diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderMapper.xml index 85694ae6..12277a16 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderMapper.xml @@ -114,7 +114,6 @@ - diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/sale/product/BdProductExtendMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/sale/product/BdProductExtendMapper.xml index dfcc8552..6a185df6 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/sale/product/BdProductExtendMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/sale/product/BdProductExtendMapper.xml @@ -4,39 +4,56 @@ - - - - - - - - - + + + + + + + + + - update BD_PRODUCT_EXTEND set sort = sort+1 where sort >= #{sort} and DEL_FLAG = '0' + update BD_PRODUCT_EXTEND + set sort = sort + 1 + where sort >= #{sort} + and DEL_FLAG = '0' - update BD_PRODUCT_EXTEND set sort = sort-1 where sort <= #{sort} and DEL_FLAG = '0' + update BD_PRODUCT_EXTEND + set sort = sort - 1 + where sort <= #{sort} + and DEL_FLAG = '0' diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresDetailMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresDetailMapper.xml index 93e72fbb..86f5b30e 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresDetailMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresDetailMapper.xml @@ -36,6 +36,8 @@ + + @@ -50,7 +52,8 @@ be.pk_special_currency,bw.wares_code, bw.wares_name, bd.is_gift is_gift, bd.pk_product,bs.price,bs.achieve,bp.pk_supplier,bp.shipping_channel,bp.product_code, - bs.ass_achieve,b.specs_name,b.specs_name_id + bs.ass_achieve,b.specs_name,b.specs_name_id, + bw.area_income, bw.box_num from bd_wares bw inner join bd_wares_extend be on bw.pk_id = be.pk_wares diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml index 64158386..fcb01e90 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml @@ -49,6 +49,8 @@ + + @@ -81,11 +83,12 @@ - + + @@ -156,7 +159,8 @@ bw.SORT,bw.COVER,bw.WARES_NAME,bw.WARES_CODE,bw.WARES_PRICE,bw.WARES_ACHIEVE,bw.SPECIAL_AREA ,bw.IS_SINGLE,bw.IS_FREE_MAIL, ac.CLASSIFY_NAME,we.OPERATE_SCOPE,we.IS_SALE,we.IS_PUT_ON,we.PRE_SALE_STATUS,bw.PK_ID,we.ARRIVAL_TIME,we.PUT_ON_TIME,we.PUT_OFF_TIME, we.SALES actualSales,we.SALES,bw.CREATION_TIME,bw.IS_RECOMMEND,bw.LISTING_TIME,bw.REMOVAL_TIME,bw.SORT_STATUS,we.IS_MAKER_GIFT, - sc.TEMP_NAME, we.maker_income, nvl(we.SYSTEM_TYPE, 2) SYSTEM_TYPE, bw.WARES_STATUS + sc.TEMP_NAME, we.maker_income, nvl(we.SYSTEM_TYPE, 2) SYSTEM_TYPE, bw.WARES_STATUS, + bw.area_income, bw.box_num from bd_wares bw left join BD_WARES_EXTEND we on we.PK_WARES = bw.PK_ID left join BD_AREA_CLASSIFY ac on ac.PK_ID = bw.PK_AREA_CLASSIFY diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java index 1e894a3b..9d04b335 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java @@ -44,23 +44,18 @@ import java.util.stream.Collectors; @RequestMapping("/pub/enums") public class EnumsController extends BaseController { - private IBdSystemConfigService bdSystemConfigService; - @Autowired - public void setBdSystemConfigService(IBdSystemConfigService bdSystemConfigService) { - this.bdSystemConfigService = bdSystemConfigService; - } - + private IBdSystemConfigService iBdSystemConfigService; @Autowired private IBdAccountService iBdAccountService; @Autowired - private IBdGradeService gradeService; + private IBdGradeService iBdGradeService; @Autowired - private IBdAwardsService awardsService; + private IBdAwardsService iBdAwardsService; @Autowired - private IBdCountryService countryService; + private IBdCountryService iBdCountryService; @Autowired - private IBdServiceChargeService serviceChargeService; + private IBdServiceChargeService iBdServiceChargeService; @Autowired private IBdDeliveryService iBdDeliveryService; @Autowired @@ -226,11 +221,7 @@ public class EnumsController extends BaseController { } /** - * @description: 奖衔级别 - * @author: zhang jing - * @date: 2023/10/17 10:53 - * @param: [] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 奖衔级别 **/ @GetMapping("/awardsLevelList") public AjaxResult awardsLevelList() { @@ -416,11 +407,7 @@ public class EnumsController extends BaseController { } /** - * @description: 直推配置取值枚举 - * @author: zhang jing - * @date: 2023/6/2 16:32 - * @param: [] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 直推配置取值枚举 **/ @GetMapping("/take-value-type") public AjaxResult takeValueType() { @@ -432,29 +419,21 @@ public class EnumsController extends BaseController { } /** - * @description: 专区枚举list - * @author: zhang jing - * @date: 2022/9/29 16:29 - * @param: [] - * @return: com.hzs.common.core.web.page.TableDataInfo + * 专区枚举 **/ @GetMapping("/special-area") public AjaxResult specialArea() { List enumEntityList = new ArrayList<>(); for (ESpecialArea value : ESpecialArea.values()) { if (value.getEnable() == EnableStatus.ENABLE.getValue()) { - enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.SPECIAL_AREA)); + enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel())); } } return AjaxResult.success(enumEntityList); } /** - * @description: 控制类型枚举 - * @author: zhang jing - * @date: 2024/6/24 10:47 - * @param: [] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 控制类型枚举 **/ @GetMapping("/authority-control-type") public AjaxResult authorityControlType() { @@ -466,11 +445,7 @@ public class EnumsController extends BaseController { } /** - * @description: 地区类型枚举 - * @author: zhang jing - * @date: 2022/9/29 16:29 - * @param: [] - * @return: com.hzs.common.core.web.page.TableDataInfo + * 地区类型枚举 **/ @GetMapping("/areaType") public AjaxResult areaType() { @@ -484,11 +459,7 @@ public class EnumsController extends BaseController { } /** - * @description: 专区枚举-消费配置专用 - * @author: zhang jing - * @date: 2023/5/8 15:10 - * @param: [] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 专区枚举-消费配置专用 **/ @GetMapping("/special-area-consume") public AjaxResult specialAreaConsume() { @@ -500,11 +471,7 @@ public class EnumsController extends BaseController { } /** - * @description: 注水业绩枚举 - * @author: zhang jing - * @date: 2023/3/28 17:52 - * @param: [] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 注水业绩枚举 **/ @GetMapping("/member-achieve") public AjaxResult memberAchieve() { @@ -516,11 +483,7 @@ public class EnumsController extends BaseController { } /** - * @description: 注水方式枚举 - * @author: zhang jing - * @date: 2023/4/11 14:52 - * @param: [] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 注水方式枚举 **/ @GetMapping("/member-watertype") public AjaxResult watertype() { @@ -532,11 +495,7 @@ public class EnumsController extends BaseController { } /** - * @description: 统计值枚举 - * @author: zhang jing - * @date: 2022/9/30 14:30 - * @param: [] - * @return: com.hzs.common.core.web.domain.AjaxResult STATISTICAL_VALUE + * 统计值枚举 **/ @GetMapping("/statistical-value") public AjaxResult statisticalValue() { @@ -548,11 +507,7 @@ public class EnumsController extends BaseController { } /** - * @description: 注册权限 - * @author: zhang jing - * @date: 2022/9/30 14:57 - * @param: [] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 注册权限 **/ @GetMapping("/registration-authority") public AjaxResult registrationAuthority() { @@ -564,11 +519,7 @@ public class EnumsController extends BaseController { } /** - * @description: 关系类型 - * @author: zhang jing - * @date: 2022/9/30 14:59 - * @param: [] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 关系类型 **/ @GetMapping("/relation-type") public AjaxResult relationType() { @@ -580,11 +531,7 @@ public class EnumsController extends BaseController { } /** - * @description: 极差类型 - * @author: zhang jing - * @date: 2022/9/30 15:18 - * @param: [] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 级差类型 **/ @GetMapping("/range-type") public AjaxResult rangeType() { @@ -597,11 +544,7 @@ public class EnumsController extends BaseController { /** - * @description: 计算类型 - * @author: zhang jing - * @date: 2022/9/30 15:24 - * @param: [] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 计算类型 **/ @GetMapping("/cal-type") public AjaxResult calType() { @@ -613,11 +556,7 @@ public class EnumsController extends BaseController { } /** - * @description: 货币种类 - * @author: zhang jing - * @date: 2022/9/30 15:34 - * @param: [] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 货币种类 **/ @GetMapping("/account") public AjaxResult account() { @@ -629,11 +568,7 @@ public class EnumsController extends BaseController { } /** - * @description: 账户状态(会员登录账户) - * @author: zhang jing - * @date: 2022/9/30 15:38 - * @param: [] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 账户状态(会员登录账户) **/ @GetMapping("/account-status") public AjaxResult accountStatus() { @@ -645,11 +580,7 @@ public class EnumsController extends BaseController { } /** - * @description: 活动类型 - * @author: zhang jing - * @date: 2022/9/30 15:40 - * @param: [] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 活动类型 **/ @GetMapping("/activity-type") public AjaxResult activityType() { @@ -664,7 +595,8 @@ public class EnumsController extends BaseController { /** - * @description: 条码状态 + * 条码状态 + * * @author: zhang jing * @date: 2022/9/30 15:52 * @param: [] @@ -680,7 +612,8 @@ public class EnumsController extends BaseController { } /** - * @description: 会员类型 + * 会员类型 + * * @author: zhang jing * @date: 2022/9/30 16:26 * @param: [] @@ -696,7 +629,8 @@ public class EnumsController extends BaseController { } /** - * @description: 发货方式 + * 发货方式 + * * @author: zhang jing * @date: 2022/9/30 16:28 * @param: [] @@ -720,7 +654,8 @@ public class EnumsController extends BaseController { } /** - * @description: 发货状态 + * 发货状态 + * * @author: zhang jing * @date: 2022/9/30 16:30 * @param: [] @@ -736,7 +671,8 @@ public class EnumsController extends BaseController { } /** - * @description: 首页banner类型枚举类 + * 首页banner类型枚举类 + * * @author: zhang jing * @date: 2022/10/13 11:27 * @param: [] @@ -752,7 +688,8 @@ public class EnumsController extends BaseController { } /** - * @description: 转账特殊设置枚举 + * 转账特殊设置枚举 + * * @author: zhang jing * @date: 2022/10/21 9:58 * @param: [] @@ -768,7 +705,8 @@ public class EnumsController extends BaseController { } /** - * @description: 用户状态枚举 + * 用户状态枚举 + * * @author: zhang jing * @date: 2022/10/21 17:39 * @param: [] @@ -784,7 +722,8 @@ public class EnumsController extends BaseController { } /** - * @description: 钱包状态枚举 + * 钱包状态枚举 + * * @author: zhang jing * @date: 2022/10/21 17:41 * @param: [] @@ -800,7 +739,8 @@ public class EnumsController extends BaseController { } /** - * @description: 商品权限类型枚举 + * 商品权限类型枚举 + * * @author: zhang jing * @date: 2022/10/21 17:44 * @param: [] @@ -810,13 +750,14 @@ public class EnumsController extends BaseController { public AjaxResult getEWaresPermissionTypeList() { List enumEntityList = new ArrayList<>(); for (EWaresPermissionType value : EWaresPermissionType.values()) { - enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ENU_WARES)); + enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel())); } return AjaxResult.success(enumEntityList); } /** - * @description: 是否经销商枚举类 + * 是否经销商枚举类 + * * @author: zhang jing * @date: 2022/10/21 17:46 * @param: [] @@ -832,7 +773,8 @@ public class EnumsController extends BaseController { } /** - * @description: 系统是否枚举类 + * 系统是否枚举类 + * * @author: zhang jing * @date: 2022/10/21 17:46 * @param: [] @@ -859,7 +801,7 @@ public class EnumsController extends BaseController { if (pkCountry == null) { pkCountry = SecurityUtils.getPkCountry(); } - return AjaxResult.success(bdSystemConfigService.getTransportTypeEnumEntity(pkCountry)); + return AjaxResult.success(iBdSystemConfigService.getTransportTypeEnumEntity(pkCountry)); } /** @@ -869,7 +811,7 @@ public class EnumsController extends BaseController { */ @GetMapping("/manager-transport-type") public AjaxResult getManagerTransportTypeList() { - return AjaxResult.success(bdSystemConfigService.getTransportTypeEnumEntity(SecurityUtils.getPkCountry())); + return AjaxResult.success(iBdSystemConfigService.getTransportTypeEnumEntity(SecurityUtils.getPkCountry())); } /** @@ -895,7 +837,7 @@ public class EnumsController extends BaseController { public AjaxResult getECycle() { List enumEntityList = new ArrayList<>(); for (ECycle value : ECycle.values()) { - enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.CYCLE)); + enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel())); } return AjaxResult.success(enumEntityList); } @@ -1139,7 +1081,7 @@ public class EnumsController extends BaseController { List enumEntityList = new ArrayList<>(); for (EOrderType value : EOrderType.values()) { if (value.getEnable() == EYesNo.YES.getIntValue()) { - enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ORDER_TYPE)); + enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel())); } } return AjaxResult.success(enumEntityList); @@ -1221,7 +1163,8 @@ public class EnumsController extends BaseController { */ /** - * @description: 奖项枚举类 + * 奖项枚举类 + * * @author: zhang jing * @date: 2022/11/9 19:54 * @param: [] @@ -1255,7 +1198,8 @@ public class EnumsController extends BaseController { /** - * @description: 公布日期、发布日期、可提现日期 枚举 + * 公布日期、发布日期、可提现日期 枚举 + * * @author: zhang jing * @date: 2022/11/9 19:55 * @param: [] @@ -1271,7 +1215,8 @@ public class EnumsController extends BaseController { } /** - * @description: 奖结算周期枚举 + * 奖结算周期枚举 + * * @author: zhang jing * @date: 2022/11/9 19:56 * @param: [] @@ -1345,7 +1290,8 @@ public class EnumsController extends BaseController { } /** - * @description: 订单来源枚举 + * 订单来源枚举 + * * @author: zhang jing * @date: 2022/11/17 14:56 * @param: [] @@ -1361,7 +1307,8 @@ public class EnumsController extends BaseController { } /** - * @description: 是否认证枚举 + * 是否认证枚举 + * * @author: zhang jing * @date: 2022/11/17 15:05 * @param: [] @@ -1377,7 +1324,8 @@ public class EnumsController extends BaseController { } /** - * @description: 会员有效状态枚举 + * 会员有效状态枚举 + * * @author: zhang jing * @date: 2022/11/17 15:05 * @param: [] @@ -1393,7 +1341,8 @@ public class EnumsController extends BaseController { } /** - * @description: 是否上传枚举 + * 是否上传枚举 + * * @author: zhang jing * @date: 2022/11/17 15:09 * @param: [] @@ -1409,7 +1358,8 @@ public class EnumsController extends BaseController { } /** - * @description: 钱包账户状态 + * 钱包账户状态 + * * @author: zhang jing * @date: 2022/9/30 15:38 * @param: [] @@ -1772,7 +1722,7 @@ public class EnumsController extends BaseController { pkCountry = SecurityUtils.getPkCountry(); } // 查询国家等级列表 - List gradeList = gradeService.queryGradeConfigByCondition(pkCountry); + List gradeList = iBdGradeService.queryGradeConfigByCondition(pkCountry); gradeList.sort(Comparator.comparing(BdGrade::getGradeValue)); List enumEntityList = new ArrayList<>(); @@ -1794,7 +1744,7 @@ public class EnumsController extends BaseController { pkCountry = SecurityUtils.getPkCountry(); } // 查询国家奖衔列表 - List awardList = awardsService.queryAwards(pkCountry); + List awardList = iBdAwardsService.queryAwards(pkCountry); // 获取翻译内容 Map tranMap = iTransactionCommonService.enumTransactionByDBFromPkId(awardList.stream().map(BdAwards::getPkTransaction).collect(Collectors.toList())); @@ -1947,7 +1897,7 @@ public class EnumsController extends BaseController { //变更会员姓名 if (value.getValue() == EApprovalBusiness.CHANGE_NAME.getValue()) { queryWrapper.eq("TYPE", value.getValue()); - BdServiceCharge bdServiceCharge = serviceChargeService.getOne(queryWrapper); + BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper); if (StringUtils.isNotNull(bdServiceCharge)) { handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue()); } @@ -1963,7 +1913,7 @@ public class EnumsController extends BaseController { //变更联系方式 } else if (value.getValue() == EApprovalBusiness.CHANGE_PHONE.getValue()) { queryWrapper.eq("TYPE", value.getValue()); - BdServiceCharge bdServiceCharge = serviceChargeService.getOne(queryWrapper); + BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper); if (StringUtils.isNotNull(bdServiceCharge)) { handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue()); } @@ -1979,7 +1929,7 @@ public class EnumsController extends BaseController { //重置会员密码 } else if (value.getValue() == EApprovalBusiness.RESET_LOGIN_PASSWORD.getValue()) { queryWrapper.eq("TYPE", value.getValue()); - BdServiceCharge bdServiceCharge = serviceChargeService.getOne(queryWrapper); + BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper); if (StringUtils.isNotNull(bdServiceCharge)) { handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue()); } @@ -1995,7 +1945,7 @@ public class EnumsController extends BaseController { //实名认证 } else if (value.getValue() == EApprovalBusiness.REAL_NAME_AUTHENTICATION.getValue()) { queryWrapper.eq("TYPE", value.getValue()); - BdServiceCharge bdServiceCharge = serviceChargeService.getOne(queryWrapper); + BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper); if (StringUtils.isNotNull(bdServiceCharge)) { handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue()); } @@ -2011,7 +1961,7 @@ public class EnumsController extends BaseController { //重置银行信息 } else if (value.getValue() == EApprovalBusiness.RESET_BANK.getValue()) { queryWrapper.eq("TYPE", value.getValue()); - BdServiceCharge bdServiceCharge = serviceChargeService.getOne(queryWrapper); + BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper); if (StringUtils.isNotNull(bdServiceCharge)) { handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue()); } @@ -2027,7 +1977,7 @@ public class EnumsController extends BaseController { //修改注册等级 } else if (value.getValue() == EApprovalBusiness.CHANGE_REGISTER_GRADE.getValue()) { queryWrapper.eq("TYPE", value.getValue()); - BdServiceCharge bdServiceCharge = serviceChargeService.getOne(queryWrapper); + BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper); if (StringUtils.isNotNull(bdServiceCharge)) { handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue()); } @@ -2036,7 +1986,7 @@ public class EnumsController extends BaseController { QueryWrapper queryWrapperGr = new QueryWrapper(); queryWrapperGr.eq("PK_COUNTRY", SecurityUtils.getPkCountry()); queryWrapperGr.orderByAsc("GRADE_VALUE"); - List grList = gradeService.list(queryWrapperGr); + List grList = iBdGradeService.list(queryWrapperGr); List enumEntityList1 = new ArrayList<>(); for (BdGrade gr : grList) { enumEntityList1.add(new EnumEntity(gr.getPkId(), gr.getGradeName(), EnumsPrefixConstants.KEY_GRADE)); @@ -2047,7 +1997,7 @@ public class EnumsController extends BaseController { //修改结算等级 } else if (value.getValue() == EApprovalBusiness.CHANGE_SETTLEMENT_GRADE.getValue()) { queryWrapper.eq("TYPE", value.getValue()); - BdServiceCharge bdServiceCharge = serviceChargeService.getOne(queryWrapper); + BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper); if (StringUtils.isNotNull(bdServiceCharge)) { handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue()); } @@ -2056,7 +2006,7 @@ public class EnumsController extends BaseController { QueryWrapper queryWrapperGr = new QueryWrapper(); queryWrapperGr.eq("PK_COUNTRY", SecurityUtils.getPkCountry()); queryWrapperGr.orderByAsc("GRADE_VALUE"); - List grList = gradeService.list(queryWrapperGr); + List grList = iBdGradeService.list(queryWrapperGr); List enumEntityList1 = new ArrayList<>(); for (BdGrade gr : grList) { enumEntityList1.add(new EnumEntity(gr.getPkId(), gr.getGradeName(), EnumsPrefixConstants.KEY_GRADE)); @@ -2067,7 +2017,7 @@ public class EnumsController extends BaseController { //修改奖衔 } else if (value.getValue() == EApprovalBusiness.CHANGE_AWARDS.getValue()) { queryWrapper.eq("TYPE", value.getValue()); - BdServiceCharge bdServiceCharge = serviceChargeService.getOne(queryWrapper); + BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper); if (StringUtils.isNotNull(bdServiceCharge)) { handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue()); } @@ -2078,7 +2028,7 @@ public class EnumsController extends BaseController { queryWrapperAw.eq("ENABLE_STATE", EnableStatus.ENABLE.getValue()); queryWrapperAw.orderByAsc("AWARDS_VALUE"); List enumEntityList1 = new ArrayList<>(); - List list = awardsService.list(queryWrapperAw); + List list = iBdAwardsService.list(queryWrapperAw); for (BdAwards ba : list) { enumEntityList1.add(new EnumEntity(ba.getPkId(), ba.getAwardsName(), EnumsPrefixConstants.AWARDS)); } @@ -2089,14 +2039,14 @@ public class EnumsController extends BaseController { } else if (value.getValue() == EApprovalBusiness.CHANGE_NATURAL_COUNTRY.getValue()) { //修改自然国家 queryWrapper.eq("TYPE", value.getValue()); - BdServiceCharge bdServiceCharge = serviceChargeService.getOne(queryWrapper); + BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper); if (StringUtils.isNotNull(bdServiceCharge)) { handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue()); } handleBusinessEnumVO.setBusinessType(value.getValue()); handleBusinessEnumVO.setEditTypeName(value.getLabel()); List enumEntityList1 = new ArrayList<>(); - List list = countryService.list(); + List list = iBdCountryService.list(); for (BdCountry value1 : list) { enumEntityList1.add(new EnumEntity(value1.getPkId(), value1.getName())); } @@ -2106,7 +2056,7 @@ public class EnumsController extends BaseController { //修改登录状态 } else if (value.getValue() == EApprovalBusiness.SIGN_IN_STATE.getValue()) { queryWrapper.eq("TYPE", value.getValue()); - BdServiceCharge bdServiceCharge = serviceChargeService.getOne(queryWrapper); + BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper); if (StringUtils.isNotNull(bdServiceCharge)) { handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue()); } @@ -2122,7 +2072,7 @@ public class EnumsController extends BaseController { //修改收益状态 } else if (value.getValue() == EApprovalBusiness.PROFIT_STATE.getValue()) { queryWrapper.eq("TYPE", value.getValue()); - BdServiceCharge bdServiceCharge = serviceChargeService.getOne(queryWrapper); + BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper); if (StringUtils.isNotNull(bdServiceCharge)) { handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue()); } @@ -2139,7 +2089,7 @@ public class EnumsController extends BaseController { } else if (value.getValue() == EApprovalBusiness.WALLET_STATE.getValue()) { handleBusinessEnumVO.setButtonType(EButtonType.MULTIPLE_CHOICE.getValue()); queryWrapper.eq("TYPE", value.getValue()); - BdServiceCharge bdServiceCharge = serviceChargeService.getOne(queryWrapper); + BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper); if (StringUtils.isNotNull(bdServiceCharge)) { handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue()); } @@ -2156,7 +2106,7 @@ public class EnumsController extends BaseController { } else if (value.getValue() == EApprovalBusiness.FREE_ASSESSMENT_STATE.getValue()) { handleBusinessEnumVO.setButtonType(EButtonType.MULTIPLE_CHOICE.getValue()); queryWrapper.eq("TYPE", value.getValue()); - BdServiceCharge bdServiceCharge = serviceChargeService.getOne(queryWrapper); + BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper); if (StringUtils.isNotNull(bdServiceCharge)) { handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue()); } @@ -2172,7 +2122,7 @@ public class EnumsController extends BaseController { } else if (value.getValue() == EApprovalBusiness.IS_REGION.getValue()) { //是否收益区域 queryWrapper.eq("TYPE", value.getValue()); - BdServiceCharge bdServiceCharge = serviceChargeService.getOne(queryWrapper); + BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper); if (StringUtils.isNotNull(bdServiceCharge)) { handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue()); } @@ -2188,7 +2138,7 @@ public class EnumsController extends BaseController { } else if (value.getValue() == EApprovalBusiness.IS_ACTIVATE.getValue()) { //是否激活 queryWrapper.eq("TYPE", value.getValue()); - BdServiceCharge bdServiceCharge = serviceChargeService.getOne(queryWrapper); + BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper); if (StringUtils.isNotNull(bdServiceCharge)) { handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue()); } @@ -2680,10 +2630,8 @@ public class EnumsController extends BaseController { * * @return */ - @GetMapping("quantity-mode-list") + @GetMapping("/quantity-mode-list") public AjaxResult quantityModeList() { - - List enumEntityList = new ArrayList<>(); for (EPostageMode value : EPostageMode.values()) { enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel())); @@ -2762,11 +2710,7 @@ public class EnumsController extends BaseController { } /** - * @description: 结算方式枚举 - * @author: zhang jing - * @date: 2024/3/29 11:54 - * @param: [] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 结算方式枚举 **/ @GetMapping("/settle-Type") public AjaxResult settleType() { @@ -2837,11 +2781,7 @@ public class EnumsController extends BaseController { } /** - * @description: 联创数据报表类型枚举 - * @author: zhang jing - * @date: 2025/2/27 10:46 - * @param: [] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 联创数据报表类型枚举 **/ @GetMapping("/sheetType") public AjaxResult sheetType() { diff --git a/bd-business/bd-business-system/src/main/resources/mapper/system/config/BdVertexMapper.xml b/bd-business/bd-business-system/src/main/resources/mapper/system/config/BdVertexMapper.xml index 744af41b..ec4066f2 100644 --- a/bd-business/bd-business-system/src/main/resources/mapper/system/config/BdVertexMapper.xml +++ b/bd-business/bd-business-system/src/main/resources/mapper/system/config/BdVertexMapper.xml @@ -88,6 +88,9 @@ and cm.MEMBER_CODE like #{memberCode} || '%' + + and bv.REGION_VERTEX_PK_ID = #{regionVertexPkId} + order by bv.creation_time diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java index 09223f7d..06ccb28f 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java @@ -580,10 +580,6 @@ public class EnumsPrefixConstants { */ public static final String ENU_USER = "ENU_USER_S_"; - /** - * 商品权限类型枚举 - */ - public static final String ENU_WARES = "ENU_WARES_P_"; /** * 商品类型枚举 */ @@ -628,11 +624,6 @@ public class EnumsPrefixConstants { */ public static final String EXEMPT_TYPE = "ENU_EXE_T_"; - /** - * 提现周期 - */ - public static final String CYCLE = "ENU_CYCLE_"; - /** * 提现状态 */ diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailConstants.java index bb1acc4f..6882a5e5 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailConstants.java @@ -24,12 +24,16 @@ public class RetailConstants { public static final List BOX_PRODUCT_LIST = Arrays.asList( // 注册 "SP02410001", "SP02410002", "SP02410003", "SP02410004", "SP02410005", "SP02410006", + "SP02410007", "SP02410008", "SP02410009", "SP02410010", "SP02410011", "SP02410012", // 升级 "SP02420001", "SP02420002", "SP02420003", "SP02420004", "SP02420005", "SP02420006", + "SP02420007", "SP02420008", "SP02420009", "SP02420010", "SP02420011", "SP02420012", // 复消 "SP02430001", "SP02430002", "SP02430003", "SP02430004", "SP02430005", "SP02430006", + "SP02430007", "SP02430008", "SP02430009", "SP02430010", "SP02430011", "SP02430012", // 重消 - "SP02440001", "SP02440002", "SP02440003", "SP02440005", "SP02440005", "SP02440006" + "SP02440001", "SP02440002", "SP02440003", "SP02440005", "SP02440005", "SP02440006", + "SP02440007", "SP02440008", "SP02440009", "SP02440010", "SP02440011", "SP02440012" ); /** @@ -38,12 +42,16 @@ public class RetailConstants { public static final List ALL_BOX_WARES_LIST = Arrays.asList( // 注册 "SP02410001", "SP02410002", "SP02410003", "SP02410004", "SP02410005", "SP02410006", + "SP02410007", "SP02410008", "SP02410009", "SP02410010", "SP02410011", "SP02410012", // 升级 "SP02420001", "SP02420002", "SP02420003", "SP02420004", "SP02420005", "SP02420006", + "SP02420007", "SP02420008", "SP02420009", "SP02420010", "SP02420011", "SP02420012", // 复消 "SP02430001", "SP02430002", "SP02430003", "SP02430004", "SP02430005", "SP02430006", + "SP02430007", "SP02430008", "SP02430009", "SP02430010", "SP02430011", "SP02430012", // 重消 - "SP02440001", "SP02440002", "SP02440003", "SP02440005", "SP02440005", "SP02440006" + "SP02440001", "SP02440002", "SP02440003", "SP02440005", "SP02440005", "SP02440006", + "SP02440007", "SP02440008", "SP02440009", "SP02440010", "SP02440011", "SP02440012" ); } diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ECycle.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ECycle.java index 6b51280d..8287aae0 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ECycle.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ECycle.java @@ -1,13 +1,10 @@ package com.hzs.common.core.enums; -import com.hzs.common.core.constant.EnumsPrefixConstants; import lombok.AllArgsConstructor; import lombok.Getter; /** * 提现周期枚举类 - * - * @author: hzs */ @AllArgsConstructor @Getter @@ -16,32 +13,32 @@ public enum ECycle { /** * 周一 */ - MONDAY( 1, "周一", EnumsPrefixConstants.CYCLE + "1"), + MONDAY(1, "周一"), /** * 周二 */ - TUESDAY( 2, "周二", EnumsPrefixConstants.CYCLE + "2"), + TUESDAY(2, "周二"), /** * 周三 */ - WEDNESDAY( 3, "周三", EnumsPrefixConstants.CYCLE + "3"), + WEDNESDAY(3, "周三"), /** * 周四 */ - THURSDAY( 4, "周四", EnumsPrefixConstants.CYCLE + "4"), + THURSDAY(4, "周四"), /** * 周五 */ - FRIDAY( 5, "周五", EnumsPrefixConstants.CYCLE + "5"), + FRIDAY(5, "周五"), /** * 周六 */ - SATURDAY( 6, "周六", EnumsPrefixConstants.CYCLE + "6"), + SATURDAY(6, "周六"), /** * 周日 */ - SUNDAY( 7, "周日", EnumsPrefixConstants.CYCLE + "7"), + SUNDAY(7, "周日"), ; @@ -54,11 +51,6 @@ public enum ECycle { * 显示标签 */ private final String label; - /** - * 国际化翻译key值 - */ - private final String key; - } diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderType.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderType.java index 77919438..abd052d0 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderType.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderType.java @@ -80,7 +80,6 @@ public enum EOrderType { RETAIL_PICK(46, "提货订单", 0, EnumsPrefixConstants.ORDER_TYPE + 46), - RETAIL_SHOP_ORDER(47, "店铺订单", 0, EnumsPrefixConstants.ORDER_TYPE + 47), ; /** diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EPostageMode.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EPostageMode.java index f89e5a9b..4c49b1c9 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EPostageMode.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EPostageMode.java @@ -4,11 +4,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; /** - * @Description: 件数方式 - * @Author: jiang chao - * @Time: 2024/4/15 16:13 - * @Classname: EPostageMode - * @PackageName: com.hzs.common.core.enums + * 件数方式 */ @AllArgsConstructor @Getter @@ -17,12 +13,12 @@ public enum EPostageMode { /** * 产品 */ - PRODUCT(1, "产品"), + PRODUCT(1, "产品"), /** * 商品 */ - WARES(2, "商品"), + WARES(2, "商品"), ; diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EPresaleStatus.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EPresaleStatus.java index 0ea153e9..878b0ec4 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EPresaleStatus.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EPresaleStatus.java @@ -5,11 +5,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; /** - * @Description: 预售状态 - * @Author: jiang chao - * @Time: 2022/11/4 14:05 - * @Classname: EPresaleStatus - * @PackageName: com.hzs.common.core.enums + * 预售状态 */ @AllArgsConstructor @Getter @@ -25,11 +21,6 @@ public enum EPresaleStatus { */ PRESALE(1, "预售", 0, EnumsPrefixConstants.PRESALE_STATUS + "1"), - /** - * 已售罄 2.0删除该项 已对接过设计 - */ -// SOLD_OUT(2, "已售罄", 0, EnumsPrefixConstants.PRESALE_STATUS + "2"), - /** * 缺货 */ @@ -54,13 +45,25 @@ public enum EPresaleStatus { */ private final String key; - public static EPresaleStatus getEPresaleStatus(int value ){ + public static EPresaleStatus getEPresaleStatus(int value) { for (EPresaleStatus ePresaleStatus : EPresaleStatus.values()) { - if (ePresaleStatus.getValue() == value){ + if (ePresaleStatus.getValue() == value) { return ePresaleStatus; } } return null; } + public static String getEnumLabelByValue(Integer value) { + if (null == value) { + return ""; + } + for (EPresaleStatus enums : EPresaleStatus.values()) { + if (enums.value == value) { + return enums.getLabel(); + } + } + return ""; + } + } diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ERatioType.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ERatioType.java index f4ab28a8..d744e579 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ERatioType.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ERatioType.java @@ -5,13 +5,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; /** - * * 比率类型 - * @Description: - * @Author: ljc - * @Time: 2023/5/8 11:23 - * @Classname: ERatioType - * @Package_name: com.hzs.common.core.enums */ @AllArgsConstructor @Getter diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ESpecialArea.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ESpecialArea.java index 3bcdb1de..f188b689 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ESpecialArea.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ESpecialArea.java @@ -14,47 +14,42 @@ public enum ESpecialArea { /** * 注册专区 */ - REGISTER_AREA(1, "注册专区", 0, EnumsPrefixConstants.SPECIAL_AREA + "1", 3, EMenuDetail.REGISTER.getValue()), + REGISTER_AREA(1, "注册专区", 1, EnumsPrefixConstants.SPECIAL_AREA + "1", 3, EMenuDetail.REGISTER.getValue()), /** * 升级专区 */ - UPGRADE_AREA(2, "升级专区", 0, EnumsPrefixConstants.SPECIAL_AREA + "2", 4, EMenuDetail.UPGRADE.getValue()), + UPGRADE_AREA(2, "升级专区", 1, EnumsPrefixConstants.SPECIAL_AREA + "2", 4, EMenuDetail.UPGRADE.getValue()), /** * 复购专区 名字修改为自营专区(复购自营) */ - REPURCHASE_AREA(3, "复购自营", 0, EnumsPrefixConstants.SPECIAL_AREA + "3", 5, EMenuDetail.REPURCHASE.getValue()), + REPURCHASE_AREA(3, "复购自营", 1, EnumsPrefixConstants.SPECIAL_AREA + "3", 5, EMenuDetail.REPURCHASE.getValue()), /** * 重消专区 */ - RESCISSION_AREA(10, "重消专区", 0, EnumsPrefixConstants.SPECIAL_AREA + "10", 8, EMenuDetail.REPEATED_CONSUMPTION.getValue()), + RESCISSION_AREA(10, "重消专区", 1, EnumsPrefixConstants.SPECIAL_AREA + "10", 8, EMenuDetail.REPEATED_CONSUMPTION.getValue()), /** * 积分专区 */ - INTEGRAL_AREA(11, "积分专区", 0, EnumsPrefixConstants.SPECIAL_AREA + "11", 13, EMenuDetail.INTEGRAL_AREA.getValue()), + INTEGRAL_AREA(11, "积分专区", 1, EnumsPrefixConstants.SPECIAL_AREA + "11", 13, EMenuDetail.INTEGRAL_AREA.getValue()), /** * 福利专区 */ - WELFARE_AREA(13, "福利专区", 0, EnumsPrefixConstants.SPECIAL_AREA + 13, 9, EMenuDetail.WELFARE_AREA.getValue()), + WELFARE_AREA(13, "福利专区", 1, EnumsPrefixConstants.SPECIAL_AREA + 13, 9, EMenuDetail.WELFARE_AREA.getValue()), /** * 直播专区 */ - LIVE_BROADCAST(14, "直播专区", 0, EnumsPrefixConstants.SPECIAL_AREA + 14, 14, EMenuDetail.LIVE.getValue()), + LIVE_BROADCAST(14, "直播专区", 1, EnumsPrefixConstants.SPECIAL_AREA + 14, 14, EMenuDetail.LIVE.getValue()), /** * 复购合作 团队带过来的产品 */ - COOPERATE_AREA(22, "复购合作", 0, EnumsPrefixConstants.SPECIAL_AREA + 22, 6, EMenuDetail.COOPERATE.getValue()), - - /** - * 海粉升级 - */ - HAI_FUN_UPGRADE_ORDER(27, "海粉升级", 0, EnumsPrefixConstants.ORDER_TYPE + 27, 20, EMenuDetail.UPGRADE_HAI_FUN.getValue()), + COOPERATE_AREA(22, "复购合作", 1, EnumsPrefixConstants.SPECIAL_AREA + 22, 6, EMenuDetail.COOPERATE.getValue()), /** * 新零售会员专区(注册) @@ -104,22 +99,16 @@ public enum ESpecialArea { */ private final int menuDetailValue; - public static String getESpecialArea(int value) { + public static String getESpecialArea(Integer value) { + if (null == value) { + return ""; + } for (ESpecialArea eSpecialArea : ESpecialArea.values()) { if (eSpecialArea.getValue() == value) { return eSpecialArea.getLabel(); } } - return null; - } - - public static ESpecialArea getESpecialAreaEnum(int value) { - for (ESpecialArea eSpecialArea : ESpecialArea.values()) { - if (eSpecialArea.getValue() == value) { - return eSpecialArea; - } - } - return null; + return ""; } /** diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ESupplyWay.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ESupplyWay.java index 1d9835aa..c76ad860 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ESupplyWay.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ESupplyWay.java @@ -40,13 +40,25 @@ public enum ESupplyWay { */ private final String key; - public static ESupplyWay getESupplyWay(int value){ + public static ESupplyWay getESupplyWay(int value) { for (ESupplyWay eSupplyWay : ESupplyWay.values()) { - if (eSupplyWay.value == value){ + if (eSupplyWay.value == value) { return eSupplyWay; } } return null; } + public static String getEnumLabelByValue(Integer value) { + if (null == value) { + return ""; + } + for (ESupplyWay enums : ESupplyWay.values()) { + if (enums.value == value) { + return enums.getLabel(); + } + } + return ""; + } + } diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EWaresPermissionType.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EWaresPermissionType.java index f3cd55a6..610dc5a7 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EWaresPermissionType.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EWaresPermissionType.java @@ -6,40 +6,38 @@ import lombok.Getter; /** * 商品权限类型枚举 - * - * @author: sui q - * @time: 2022/8/27 10:26 - * @description: 商品权限类型 - * @classname: EWaresPermissionType - * @package_name: com.hzs.common.core.enums */ @AllArgsConstructor @Getter public enum EWaresPermissionType { + /** + * 指定会员 + */ + MEMBER(6, "指定会员", 0), + /** * 1=血缘可见 */ - BLOOD_ALLOW(1, "血缘可见", 0, EnumsPrefixConstants.ENU_WARES + "1"), + BLOOD_ALLOW(1, "血缘可见", 0), /** * 2=血缘禁止 */ - BLOOD_STOP(2, "血缘禁止", 0, EnumsPrefixConstants.ENU_WARES + "2"), + BLOOD_STOP(2, "血缘禁止", 0), /** * 安置可见 */ - PLACE_ALLWO(3, "安置可见", 0, EnumsPrefixConstants.ENU_WARES + "3"), - + PLACE_ALLWO(3, "安置可见", 0), /** * 安置禁止 */ - PLACE_STOP(4, "安置禁止", 0, EnumsPrefixConstants.ENU_WARES + "4"), + PLACE_STOP(4, "安置禁止", 0), /** * 全部 */ - AUTH_ORITY_TYPE(5, "全部", 0, EnumsPrefixConstants.ENU_WARES + "5"), + AUTH_ORITY_TYPE(5, "全部", 0), ; /** @@ -54,23 +52,17 @@ public enum EWaresPermissionType { * 是否启用(0=是,1=否) -- 来源EYesNo */ private final int enable; - /** - * 国际化翻译key值 - */ - private final String key; - /** - * - * - * @param value 枚举值 - * @return - */ - public static EWaresPermissionType getEnumByValue(int value) { + public static String getEnumLabelByValue(Integer value) { + if (null == value) { + return ""; + } for (EWaresPermissionType permissionType : EWaresPermissionType.values()) { if (permissionType.getValue() == value) { - return permissionType; + return permissionType.getLabel(); } } - return null; + return ""; } + } diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EWaresType.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EWaresType.java index 229f431f..95525905 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EWaresType.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EWaresType.java @@ -32,18 +32,16 @@ public enum EWaresType { */ private final String key; - /** - * 根据枚举值获取枚举 - * - * @param value 枚举值 - * @return - */ - public static EWaresType getEnumByValue(int value) { + public static String getEnumLabelByValue(Integer value) { + if (null == value) { + return ""; + } for (EWaresType eApproveStatus : EWaresType.values()) { - if (eApproveStatus.getValue() == value) { - return eApproveStatus; + if (eApproveStatus.getValue().equals(value)) { + return eApproveStatus.getLabel(); } } - return null; + return ""; } + } diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/utils/BoxProductUtil.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/utils/BoxProductUtil.java index fc513d94..f4104df9 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/utils/BoxProductUtil.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/utils/BoxProductUtil.java @@ -14,7 +14,7 @@ public class BoxProductUtil { * @param systemType 系统类型(为空返回全部盒数商品) * @return */ - public static List getBoxProductListBySystemType(Integer systemType) { + public static List getBoxWaresListBySystemType(Integer systemType) { List productList = new ArrayList<>(0); if (null == systemType || ESystemType.ALL.getValue() == systemType) { diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/utils/DateUtils.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/utils/DateUtils.java index 09db41a3..ddae36e6 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/utils/DateUtils.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/utils/DateUtils.java @@ -535,24 +535,16 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils { LocalDate today = getLocalDate(date); return ((Long) toLocalDate(date1).until(today, ChronoUnit.DAYS)).intValue(); } - /** - * 计算2个日期之间的天数 + * 获得2个日期总共差的天数 * - * @param date1 日期 - * @param date 日期2 + * @param date1 第一个日期 + * @param date 第二个日期 * @return Integer */ - public static Boolean betweenMonth(Date date1, Date... date) { - LocalDate localDate = LocalDate.now(); - if (date.length > 0) { - localDate = toLocalDate(date[0]); - } - LocalDate localDate1 = toLocalDate(date1); - if (localDate.getMonth() == localDate1.getMonth()) { - return Boolean.TRUE; - } - return Boolean.FALSE; + public static Integer betweenMonth(Date date1, Date... date) { + LocalDate today = getLocalDate(date); + return ((Long) toLocalDate(date1).until(today, ChronoUnit.MONTHS)).intValue(); } /** diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRetailRange.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRetailRange.java index 6183a357..24710930 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRetailRange.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRetailRange.java @@ -117,17 +117,17 @@ public class CuMemberRetailRange extends BaseEntity { * 本人当天新消费盒数 */ @TableField("NEW_BOX_NUM") - private Integer newBoxNum; + private BigDecimal newBoxNum; /** * 本人累计消费盒数 */ @TableField("CONSUME_BOX_NUM") - private Integer consumeBoxNum; + private BigDecimal consumeBoxNum; /** * 本人月累计盒数 */ @TableField("MONTH_BOX_NUM") - private Integer monthBoxNum; + private BigDecimal monthBoxNum; /** * 本人当天新消费pv @@ -159,17 +159,17 @@ public class CuMemberRetailRange extends BaseEntity { * 团队当天新增盒数 */ @TableField("TEAM_NEW_BOX_NUM") - private Integer teamNewBoxNum; + private BigDecimal teamNewBoxNum; /** * 团队累计盒数 */ @TableField("TEAM_BOX_NUM") - private Integer teamBoxNum; + private BigDecimal teamBoxNum; /** * 团队月累计盒数 */ @TableField("TEAM_MONTH_BOX_NUM") - private Integer teamMonthBoxNum; + private BigDecimal teamMonthBoxNum; /** * 团队当天新增消费pv @@ -238,17 +238,24 @@ public class CuMemberRetailRange extends BaseEntity { * 大区注水盒数 */ @TableField("big_box_num") - private Integer bigBoxNum; + private BigDecimal bigBoxNum; /** * 小区注水盒数 */ @TableField("small_box_num") - private Integer smallBoxNum; + private BigDecimal smallBoxNum; @TableField("big_team_pv") private BigDecimal bigTeamPv; @TableField("small_team_pv") private BigDecimal smallTeamPv; + + /** + * 区域分组ID + */ + @TableField("region_vertex_pk_id") + private Integer regionVertexPkId; + } diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRetailS.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRetailS.java index fefdea64..8c19f13d 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRetailS.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRetailS.java @@ -47,13 +47,13 @@ public class CuMemberRetailS implements Serializable { * 新増盒数 */ @TableField("NEW_BOX_NUM") - private Integer newBoxNum; + private BigDecimal newBoxNum; /** * 伞下新増盒数 */ @TableField("TEAM_NEW_BOX_NUM") - private Integer teamNewNoxNum; + private BigDecimal teamNewNoxNum; /** * 新増业绩 diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/ext/CuMemberRetailRangeExt.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/ext/CuMemberRetailRangeExt.java index f39c60f0..2b4f691e 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/ext/CuMemberRetailRangeExt.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/ext/CuMemberRetailRangeExt.java @@ -76,4 +76,40 @@ public class CuMemberRetailRangeExt extends CuMemberRetailRange { * 县级名称 */ private String countryName; + + /** + * 新増盒数(不管激活,全累计) -- 秒结使用 + */ + private BigDecimal allNewBoxNum; + /** + * 新増业绩(不管激活,全累计) -- 秒结使用 + */ + private BigDecimal allNewConsumePv; + + /** + * 团队新増盒数(不管激活,全累计) -- 秒结、日结使用 + */ + private BigDecimal allTeamNewBoxNum; + /** + * 团队新増业绩(不管激活,全累计) -- 秒结使用 + */ + private BigDecimal allTeamNewPv; + + /** + * 团队累计盒数(不管激活,全累计) -- 日结使用 + */ + private BigDecimal allTeamBoxNum; + /** + * 团队月累计盒数(不管激活,全累计) -- 日结使用 + */ + private BigDecimal allTeamMonthBoxNum; + /** + * 团队累计消费pv(不管激活,全累计) -- 日结使用 + */ + private BigDecimal allTeamConsumePv; + /** + * 团队月累计消费pv(不管激活,全累计) -- 日结使用 + */ + private BigDecimal allTeamMonthPv; + } diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/BdWaresBonusItems.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/BdWaresBonusItems.java index 7bb6a51f..300d4570 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/BdWaresBonusItems.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/BdWaresBonusItems.java @@ -12,12 +12,7 @@ import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** - *

* 特殊商品分配ev奖金明细 - *

- * - * @author hzs - * @since 2024-10-30 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonusExpand.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonusExpand.java index 8be9276a..eb94232e 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonusExpand.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonusExpand.java @@ -11,12 +11,7 @@ import lombok.*; import lombok.experimental.Accessors; /** - *

* 会员奖金-拓展收益明细表 - *

- * - * @author hzs - * @since 2022-11-15 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonusPushHis.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonusPushHis.java index 5cd13430..dd3cd6e5 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonusPushHis.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonusPushHis.java @@ -12,12 +12,7 @@ import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** - *

* 会员奖金-直推历史轮次记录 - *

- * - * @author hzs - * @since 2023-09-10 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberShareBonus.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberShareBonus.java index 2c5e5f28..948fe2c2 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberShareBonus.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberShareBonus.java @@ -12,12 +12,7 @@ import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** - *

* 会员奖金-分红奖金配置 - *

- * - * @author hzs - * @since 2023-07-03 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberShareMax.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberShareMax.java index ed612f6f..7e473d5b 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberShareMax.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberShareMax.java @@ -11,12 +11,7 @@ import lombok.*; import lombok.experimental.Accessors; /** - *

* 会员奖金-理论最大分红奖金 - *

- * - * @author hzs - * @since 2023-01-06 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberSpeRetail.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberSpeRetail.java index 4368eb15..682db07d 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberSpeRetail.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberSpeRetail.java @@ -50,18 +50,18 @@ public class CuMemberSpeRetail extends BaseEntity { * 团队总盒数 */ @TableField("TEAM_BOX_NUM") - private Integer teamBoxNum; + private BigDecimal teamBoxNum; /** * 个人消费盒数 */ @TableField("CONSUME_BOX_NUM") - private Integer consumeBoxNum; + private BigDecimal consumeBoxNum; /** * 小区盒数 */ @TableField("SMALL_BOX_NUM") - private Integer smallBoxNum; + private BigDecimal smallBoxNum; /** * 团队总pv diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuRegionAssess.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuRegionAssess.java index 1aad6248..251ceccf 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuRegionAssess.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuRegionAssess.java @@ -2,7 +2,9 @@ package com.hzs.common.domain.member.detail; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableName; + import java.util.Date; + import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableField; import com.hzs.common.core.web.domain.BaseEntity; @@ -10,12 +12,7 @@ import lombok.*; import lombok.experimental.Accessors; /** - *

* 新零售会员区域考核 - *

- * - * @author hzs - * @since 2025-01-13 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuRegionAssessDetail.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuRegionAssessDetail.java index 63cfa96a..c502d0db 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuRegionAssessDetail.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuRegionAssessDetail.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import java.math.BigDecimal; import java.util.Date; + import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableField; import com.hzs.common.core.web.domain.BaseEntity; @@ -12,12 +13,7 @@ import lombok.*; import lombok.experimental.Accessors; /** - *

* 新零售会员区域考核明细表 - *

- * - * @author hzs - * @since 2025-01-13 */ @Data @EqualsAndHashCode(callSuper = true) @@ -56,7 +52,7 @@ public class CuRegionAssessDetail extends BaseEntity { private Date assessDate; /** - * 会员等级 + * 会员奖衔 */ @TableField("PK_AWARDS") private Integer pkAwards; diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/ext/BdWaresDetailExt.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/ext/BdWaresDetailExt.java index a331f646..4ad55cea 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/ext/BdWaresDetailExt.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/ext/BdWaresDetailExt.java @@ -138,4 +138,14 @@ public class BdWaresDetailExt extends BdWaresDetail { */ private Integer pkUnit; + /** + * 复购区域分红 + */ + private BigDecimal areaIncome; + + /** + * 商品上传盒数 + */ + private BigDecimal boxNum; + } diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/ext/SaOrderWaresExt.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/ext/SaOrderWaresExt.java index 37e0e56b..0ce59436 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/ext/SaOrderWaresExt.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/ext/SaOrderWaresExt.java @@ -19,5 +19,14 @@ public class SaOrderWaresExt extends SaOrderWares { * 复购区域分红 */ private BigDecimal areaIncome; + /** + * 复购区域分红方式 + */ + private Integer areaIncomeType; + + /** + * 商品上传盒数 + */ + private BigDecimal waresBoxNum; } diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/order/SaOrder.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/order/SaOrder.java index 45cc2441..91101ae7 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/order/SaOrder.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/order/SaOrder.java @@ -224,6 +224,6 @@ public class SaOrder extends BaseEntity { * 指定商品盒数 */ @TableField("BOX_NUM") - private Integer boxNum; + private BigDecimal boxNum; } diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/product/BdProductExtend.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/product/BdProductExtend.java index 2d9421a9..f101cc4c 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/product/BdProductExtend.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/product/BdProductExtend.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableField; + import java.io.Serializable; import com.hzs.common.core.web.domain.BaseEntity; @@ -12,12 +13,7 @@ import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** - *

* 商品拓展表 - *

- * - * @author hzs - * @since 2022-09-01 */ @Data @EqualsAndHashCode(callSuper = false) diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/wares/BdWares.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/wares/BdWares.java index dd038016..7e849b40 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/wares/BdWares.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/wares/BdWares.java @@ -222,4 +222,16 @@ public class BdWares extends BaseEntity { @TableField("AREA_INCOME") private BigDecimal areaIncome; + /** + * 商品上传盒数 + */ + @TableField("BOX_NUM") + private BigDecimal boxNum; + + /** + * 复购区域分红方式(1=比率,2=比值) + */ + @TableField("AREA_INCOME_TYPE") + private Integer areaIncomeType; + } diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdGrade.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdGrade.java index b0230d3b..e87ccc42 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdGrade.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdGrade.java @@ -164,19 +164,19 @@ public class BdGrade extends BaseEntity { * 购买盒数 */ @TableField("BOX_NUMBER") - private Integer boxNumber; + private BigDecimal boxNumber; /** * 累计盒数 */ @TableField("BOX_TOTAL") - private Integer boxTotal; + private BigDecimal boxTotal; /** * 小市场盒数 */ @TableField("BOX_SMALL_TOTAL") - private Integer boxSmallTotal; + private BigDecimal boxSmallTotal; /** * 购买价格 diff --git a/bd-third/src/main/java/com/hzs/third/job/controller/JobTestController.java b/bd-third/src/main/java/com/hzs/third/job/controller/JobTestController.java index 72160a75..83b916fa 100644 --- a/bd-third/src/main/java/com/hzs/third/job/controller/JobTestController.java +++ b/bd-third/src/main/java/com/hzs/third/job/controller/JobTestController.java @@ -4,19 +4,20 @@ import cn.hutool.http.HttpUtil; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; +import com.hzs.bonus.settle.IMemberSettleBonusApi; import com.hzs.common.core.domain.R; +import com.hzs.common.core.utils.DateUtils; import com.hzs.common.core.web.domain.AjaxResult; import com.hzs.member.account.IMemberJobServiceApi; import com.hzs.system.base.IAreaServiceApi; import com.hzs.system.base.dto.AreaDTO; -import com.hzs.third.job.OrderJob; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.time.temporal.ChronoUnit; import java.util.*; /** @@ -32,6 +33,16 @@ public class JobTestController { @DubboReference IMemberJobServiceApi iMemberJobServiceApi; + @DubboReference + IMemberSettleBonusApi iMemberSettleBonusApi; + + + @GetMapping("/test-settle") + public AjaxResult testSettle() { + Date startDate = DateUtils.beforeDate(1, ChronoUnit.DAYS, DateUtils.currentDate()); + iMemberSettleBonusApi.autoCalculateBonus(startDate); + return AjaxResult.success(); + } /** * 测试行政区划更新 diff --git a/sql/2025年6月30日-注水盒数小数位.sql b/sql/2025年6月30日-注水盒数小数位.sql new file mode 100644 index 00000000..0f9f5597 --- /dev/null +++ b/sql/2025年6月30日-注水盒数小数位.sql @@ -0,0 +1,4 @@ +ALTER TABLE "RETAIL"."CU_MEMBER_SPE_RETAIL" +MODIFY ("TEAM_BOX_NUM" NUMBER(10,2)) +MODIFY ("CONSUME_BOX_NUM" NUMBER(10,2)) +MODIFY ("SMALL_BOX_NUM" NUMBER(10,2))