Merge remote-tracking branch 'origin/test' into online
# Conflicts: # bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java # bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java # bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/MemberBonusFirstPurchaseVO.java # bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuRegionAssessServiceImpl.java # bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml # bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml # bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java # bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/CuMemberRetailAchieveVO.java # bd-business/bd-business-member/src/main/resources/mapper/retail/member/CuMemberRetailRegionMapper.xml # bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java # bd-third/src/main/java/com/hzs/third/job/controller/JobTestController.java
This commit is contained in:
commit
2417962cd0
|
|
@ -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();
|
||||
|
||||
|
||||
/**
|
||||
* 取消收益区域
|
||||
*
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
|
|||
baseMapper.createCuMemberTreeParentIndex(settleTableName);
|
||||
baseMapper.createCuMemberTreePlaceIndex(settleTableName);
|
||||
}
|
||||
// 创建新零售极差结算记录表
|
||||
// 创建新零售级差结算记录表
|
||||
String retailRangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + period;
|
||||
number = baseMapper.queryExistOracleTable(retailRangeTableName);
|
||||
if (number == null || number <= 0) {
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ public interface ICuMemberService extends IService<CuMember> {
|
|||
/**
|
||||
* 根据等级更新会员等级
|
||||
*/
|
||||
void updateCuMemberGradeByPeriod(List<CuMemberGrade> cuMemberGradeList, Integer period);
|
||||
void updateCuMemberGradeByPeriod(Integer period);
|
||||
|
||||
/**
|
||||
* 查询会员等级
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
|||
}
|
||||
|
||||
@Override
|
||||
public void updateCuMemberGradeByPeriod(List<CuMemberGrade> cuMemberGradeList, Integer period) {
|
||||
public void updateCuMemberGradeByPeriod(Integer period) {
|
||||
baseMapper.updateCuMemberGrade(period);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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("团队盒数需大于小区盒数");
|
||||
}
|
||||
//校验结算日期是否为空
|
||||
|
|
|
|||
|
|
@ -4,12 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|||
import com.hzs.common.domain.member.bonus.BdWaresBonusItems;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 特殊商品分配ev奖金明细 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2024-10-30
|
||||
*/
|
||||
public interface BdWaresBonusItemsMapper extends BaseMapper<BdWaresBonusItems> {
|
||||
|
||||
|
|
|
|||
|
|
@ -9,48 +9,35 @@ import org.apache.ibatis.annotations.Param;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-辅导收益明细表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-11-15
|
||||
*/
|
||||
public interface CuMemberBonusCoachMapper extends BaseMapper<CuMemberBonusCoach> {
|
||||
|
||||
/**
|
||||
* 删除会员奖金汇总表
|
||||
*
|
||||
* @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<CuMemberBonusDetail>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/14 11:18
|
||||
*/
|
||||
List<CuMemberBonusCoachExt> queryMemberBonusCoachByBonusItems(BonusParam bonusParam);
|
||||
|
||||
/**
|
||||
* 根据查询条件查询固定的奖金明细
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
* @return: List<CuMemberBonusDetail>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/14 11:18
|
||||
*/
|
||||
List<CuMemberBonusCoachExt> queryMemberBonusCoachByBonusItemsForServer(@Param("bonusParam") BonusParam bonusParam);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,76 +9,49 @@ import org.apache.ibatis.annotations.Param;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-奖金收益明细表(报单费) Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-11-17
|
||||
*/
|
||||
public interface CuMemberBonusDetailMapper extends BaseMapper<CuMemberBonusDetail> {
|
||||
|
||||
/**
|
||||
* 删除会员奖金汇总表
|
||||
*
|
||||
* @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<CuMemberBonusDetail>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/14 9:18
|
||||
*/
|
||||
List<CuMemberBonusDetailExt> queryMemberBonusDetailByCondition(BonusParam bonusParam);
|
||||
|
||||
/**
|
||||
* 会员端根据查询条件查询会员奖金明细
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
* @return: List<CuMemberBonusDetail>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/14 9:18
|
||||
*/
|
||||
List<CuMemberBonusDetailExt> queryMemberBonusDetailByConditionForServer(@Param("bonusParam") BonusParam bonusParam);
|
||||
|
||||
/**
|
||||
* 根据查询条件查询固定的奖金明细
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
* @return: List<CuMemberBonusDetail>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/14 11:18
|
||||
*/
|
||||
*/
|
||||
List<CuMemberBonusDetailExt> queryMemberBonusDetailByBonusItems(BonusParam bonusParam);
|
||||
|
||||
/**
|
||||
* 根据查询条件查询固定的奖金明细
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
* @return: List<CuMemberBonusDetail>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/14 11:18
|
||||
*/
|
||||
List<CuMemberBonusDetailExt> queryMemberBonusDetailByBonusItemsForServer(@Param("bonusParam") BonusParam bonusParam);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,12 +9,7 @@ import org.apache.ibatis.annotations.Param;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-拓展收益明细表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-11-15
|
||||
*/
|
||||
public interface CuMemberBonusExpandMapper extends BaseMapper<CuMemberBonusExpand> {
|
||||
|
||||
|
|
@ -22,9 +17,6 @@ public interface CuMemberBonusExpandMapper extends BaseMapper<CuMemberBonusExpan
|
|||
* 删除会员奖金汇总表
|
||||
*
|
||||
* @param period 结算期间
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2022/12/13 11:54
|
||||
*/
|
||||
void deleteCuMemberBonusExpand(Integer period);
|
||||
|
||||
|
|
@ -32,30 +24,13 @@ public interface CuMemberBonusExpandMapper extends BaseMapper<CuMemberBonusExpan
|
|||
* 批量插入会员奖金主表
|
||||
*
|
||||
* @param cuMemberBonusExpandList 会员奖金
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2022/12/13 13:56
|
||||
*/
|
||||
void batchInsertCuMemberBonusExpand(@Param("cuMemberBonusExpandList") List<?> cuMemberBonusExpandList);
|
||||
|
||||
/**
|
||||
* 批量插入会员奖金,拓展
|
||||
*
|
||||
* @param cuMemberBonusExpandList 会员奖金
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2022/12/13 13:56
|
||||
*/
|
||||
void insertCuMemberBonusExpand(List<CuMemberBonusExpand> cuMemberBonusExpandList);
|
||||
|
||||
|
||||
/**
|
||||
* 根据查询条件查询固定的奖金明细
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
* @return: List<CuMemberBonusDetail>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/14 11:18
|
||||
*/
|
||||
List<CuMemberBonusExpandExt> queryMemberBonusExpandByBonusItems(BonusParam bonusParam);
|
||||
|
||||
|
|
@ -63,9 +38,6 @@ public interface CuMemberBonusExpandMapper extends BaseMapper<CuMemberBonusExpan
|
|||
* 根据查询条件查询固定的奖金明细
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
* @return: List<CuMemberBonusDetail>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/14 11:18
|
||||
*/
|
||||
List<CuMemberBonusExpandExt> queryMemberBonusExpandByBonusItemsForServer(@Param("bonusParam") BonusParam bonusParam);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,13 +20,6 @@ public interface CuMemberBonusMapper extends BaseMapper<CuMemberBonus> {
|
|||
*/
|
||||
List<Long> batchQueryCuMemberBonusSeq(Integer rowNum);
|
||||
|
||||
/**
|
||||
* 根据查询条件查询会员奖金
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
*/
|
||||
List<CuMemberBonus> queryMemberBonusTotalByCondition(BonusParam bonusParam);
|
||||
|
||||
/**
|
||||
* 根据查询条件查询会员奖金
|
||||
*
|
||||
|
|
@ -46,7 +39,6 @@ public interface CuMemberBonusMapper extends BaseMapper<CuMemberBonus> {
|
|||
**/
|
||||
CuMemberBonusExt queryMemberBonusByConditionForServerSum(@Param("bonusParam") BonusParam bonusParam);
|
||||
|
||||
|
||||
/**
|
||||
* 根据查询条件查询会员奖金
|
||||
*
|
||||
|
|
@ -90,10 +82,5 @@ public interface CuMemberBonusMapper extends BaseMapper<CuMemberBonus> {
|
|||
*/
|
||||
void mergeBackRangeBonusIncome(@Param("pkOrder") Long pkOrder, @Param("bonusValue") Integer bonusValue);
|
||||
|
||||
/**
|
||||
* 查询会员一周周期的拓展累计,复购拓展累计
|
||||
*/
|
||||
List<CuMemberBonus> queryWeekMemberBonus(@Param("startPeriod") int startPeriod, @Param("endPeriod") int endPeriod);
|
||||
|
||||
void recalculateTeamNewBoxNum(@Param("pkId") Long pkId, @Param("retailsTableName") String retailsTableName);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-直推历史轮次记录 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-09-10
|
||||
*/
|
||||
public interface CuMemberBonusPushHisMapper extends BaseMapper<CuMemberBonusPushHis> {
|
||||
|
||||
}
|
||||
|
|
@ -6,20 +6,12 @@ import com.hzs.common.domain.member.ext.CuMemberShareBonusExt;
|
|||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-分红奖金配置 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-07-03
|
||||
*/
|
||||
public interface CuMemberShareBonusMapper extends BaseMapper<CuMemberShareBonus> {
|
||||
|
||||
/*
|
||||
* @description: 查询会员分享奖金
|
||||
* @author: sui q
|
||||
* @date: 2023/7/3 15:28
|
||||
* @param: null null
|
||||
* 查询会员分享奖金
|
||||
**/
|
||||
CuMemberShareBonusExt queryCuMemberShareBonus(@Param("pkCountry") Integer pkCountry, @Param("settleMonth") String settleMonth);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,28 +8,13 @@ import org.apache.ibatis.annotations.Param;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-分红奖金配置明细 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-07-03
|
||||
*/
|
||||
public interface CuMemberShareDetailMapper extends BaseMapper<CuMemberShareDetail> {
|
||||
|
||||
/*
|
||||
* @description: 更新分享明细
|
||||
* @author: sui q
|
||||
* @date: 2023/7/3 14:11
|
||||
* @param: null null
|
||||
* 更新分享明细
|
||||
**/
|
||||
void saveMemberShareBonus(@Param("cuMemberShareDetailList") List<CuMemberShareDetailExt> cuMemberShareDetailList);
|
||||
|
||||
/*
|
||||
* @description: 根据期间查询对应的奖衔 period当前月第一天
|
||||
* @author: sui q
|
||||
* @date: 2023/8/11 15:42
|
||||
* @param: null null
|
||||
**/
|
||||
List<CuMemberShareDetail> queryCuMemberShareBonusByPeriod(Integer period);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-最大分红奖金 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-01-06
|
||||
*/
|
||||
public interface CuMemberShareMaxMapper extends BaseMapper<CuMemberShareMax> {
|
||||
|
||||
/**
|
||||
* 物理删除理论最大分红金额
|
||||
* @param period 期间
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/7 10:31
|
||||
*/
|
||||
void deleteCuMemberShareMax(Integer period);
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
||||
/**
|
||||
* 结算开始日期
|
||||
|
|
|
|||
|
|
@ -6,36 +6,22 @@ import com.hzs.common.domain.member.bonus.BdWaresBonusItems;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 特殊商品分配ev奖金明细 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2024-10-30
|
||||
*/
|
||||
public interface IBdWaresBonusItemsService extends IService<BdWaresBonusItems> {
|
||||
|
||||
/*
|
||||
* @description: 插入奖金特殊项奖金
|
||||
* @author: sui q
|
||||
* @date: 2024/11/7 15:04
|
||||
* @param: null null
|
||||
* 插入奖金特殊项奖金
|
||||
**/
|
||||
void insetWaresBonusItems(List<BdWaresBonusItems> waresBonusItemsList);
|
||||
|
||||
/*
|
||||
* @description: 插入奖金特殊项奖金
|
||||
* @author: sui q
|
||||
* @date: 2024/11/7 15:04
|
||||
* @param: null null
|
||||
* 插入奖金特殊项奖金
|
||||
**/
|
||||
void updateWaresBonusItems(List<BdWaresBonusItems> waresBonusItemsList);
|
||||
|
||||
/*
|
||||
* @description: 插入奖金特殊项奖金
|
||||
* @author: sui q
|
||||
* @date: 2024/11/7 15:04
|
||||
* @param: null null
|
||||
* 插入奖金特殊项奖金
|
||||
**/
|
||||
void deleteWaresBonusItems(List<BdWaresBonusItems> waresBonusItemsList, Long pkWaresBonus, Long userId);
|
||||
|
||||
|
|
|
|||
|
|
@ -7,30 +7,21 @@ import java.util.List;
|
|||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-辅导收益明细表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-11-15
|
||||
*/
|
||||
public interface ICuMemberBonusCoachService extends IService<CuMemberBonusCoach> {
|
||||
|
||||
/**
|
||||
* 删除会员奖金汇总表
|
||||
*
|
||||
* @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<CuMemberBonusCoach> cuMemberBonusCoachList, Set<Long> memberIdSet);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,12 +7,7 @@ import java.util.List;
|
|||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-奖金收益明细表(报单费) 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-11-17
|
||||
*/
|
||||
public interface ICuMemberBonusDetailService extends IService<CuMemberBonusDetail> {
|
||||
|
||||
|
|
@ -20,9 +15,6 @@ public interface ICuMemberBonusDetailService extends IService<CuMemberBonusDetai
|
|||
* 删除会员奖金汇总表
|
||||
*
|
||||
* @param period 结算期间
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2022/12/13 11:54
|
||||
*/
|
||||
void deleteCuMemberBonusDetail(Integer period);
|
||||
|
||||
|
|
@ -30,19 +22,7 @@ public interface ICuMemberBonusDetailService extends IService<CuMemberBonusDetai
|
|||
* 批量插入会员奖金主表
|
||||
*
|
||||
* @param cuMemberBonusDetailList 会员奖金
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2022/12/13 13:56
|
||||
*/
|
||||
void batchInsertCuMemberBonusDetail(List<CuMemberBonusDetail> cuMemberBonusDetailList, Set<Long> memberIdSet);
|
||||
|
||||
/**
|
||||
* 批量插入会员奖金主表
|
||||
*
|
||||
* @param cuMemberBonusDetail 会员奖金
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2022/12/13 13:56
|
||||
*/
|
||||
void insertCuMemberBonusDetail(CuMemberBonusDetail cuMemberBonusDetail);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,12 +7,7 @@ import java.util.List;
|
|||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-拓展收益明细表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-11-15
|
||||
*/
|
||||
public interface ICuMemberBonusExpandService extends IService<CuMemberBonusExpand> {
|
||||
|
||||
|
|
@ -20,9 +15,6 @@ public interface ICuMemberBonusExpandService extends IService<CuMemberBonusExpan
|
|||
* 删除会员奖金汇总表
|
||||
*
|
||||
* @param period 结算期间
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2022/12/13 11:54
|
||||
*/
|
||||
void deleteCuMemberBonusExpand(Integer period);
|
||||
|
||||
|
|
@ -30,19 +22,7 @@ public interface ICuMemberBonusExpandService extends IService<CuMemberBonusExpan
|
|||
* 批量插入会员奖金主表
|
||||
*
|
||||
* @param cuMemberBonusExpandList 会员奖金
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2022/12/13 13:56
|
||||
*/
|
||||
void batchInsertCuMemberBonusExpand(List<CuMemberBonusExpand> cuMemberBonusExpandList, Set<Long> memberIdSet);
|
||||
|
||||
/**
|
||||
* 批量插入会员奖金主表
|
||||
*
|
||||
* @param cuMemberBonusExpandList 会员奖金
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2022/12/13 13:56
|
||||
*/
|
||||
void insertCuMemberBonusExpand(List<CuMemberBonusExpand> cuMemberBonusExpandList);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-直推历史轮次记录 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-09-10
|
||||
*/
|
||||
public interface ICuMemberBonusPushHisService extends IService<CuMemberBonusPushHis> {
|
||||
|
||||
/*
|
||||
* @description: 查询会员历史推荐
|
||||
* @author: sui q
|
||||
* @date: 2023/9/10 14:23
|
||||
* @param: null null
|
||||
**/
|
||||
List<CuMemberBonusPushHis> queryCuMemberBonusPushHis(Long pkMember);
|
||||
}
|
||||
|
|
@ -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<CuMemberBonus> {
|
|||
*/
|
||||
void mergeBackMemberBonusIncome(Long pkOrder);
|
||||
|
||||
/**
|
||||
* 查询会员一周周期的拓展累计,复购拓展累计
|
||||
*/
|
||||
Map<Long, CuMemberBonus> queryWeekMemberBonus(int startPeriod, int endPeriod);
|
||||
|
||||
void calculateBonusTotal(CuMemberBonusExt cuMemberBonusExt, CuMemberBonusExt memberBonusExt);
|
||||
|
||||
CuMemberBonusExt initCuMemberBonus();
|
||||
|
|
|
|||
|
|
@ -6,28 +6,17 @@ import com.hzs.common.domain.member.ext.CuMemberShareBonusExt;
|
|||
import com.hzs.bonus.bonus.param.CuMemberShareBonusParam;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-分红奖金配置 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-07-03
|
||||
*/
|
||||
public interface ICuMemberShareBonusService extends IService<CuMemberShareBonus> {
|
||||
|
||||
/*
|
||||
* @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);
|
||||
|
||||
|
|
|
|||
|
|
@ -8,29 +8,13 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-分红奖金配置明细 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-07-03
|
||||
*/
|
||||
public interface ICuMemberShareDetailService extends IService<CuMemberShareDetail> {
|
||||
|
||||
/*
|
||||
* @description: 更新分享明细
|
||||
* @author: sui q
|
||||
* @date: 2023/7/3 14:11
|
||||
* @param: null null
|
||||
* 更新分享明细
|
||||
**/
|
||||
void saveMemberShareBonus(List<CuMemberShareDetailExt> cuMemberShareDetailList);
|
||||
|
||||
/*
|
||||
* @description: 根据期间查询奖衔设置的分红配置
|
||||
* key 国家+奖衔 明细
|
||||
* @author: sui q
|
||||
* @date: 2023/8/11 15:35
|
||||
* @param: null null
|
||||
**/
|
||||
Map<String, CuMemberShareDetail> queryCuMemberShareBonusByPeriod(Integer period);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-最大分红奖金 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-01-06
|
||||
*/
|
||||
public interface ICuMemberShareMaxService extends IService<CuMemberShareMax> {
|
||||
|
||||
/**
|
||||
* 插入理论最大的可以进行分红的奖金
|
||||
* @param cuMemberShareMax 最大分红的奖金
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/6 17:23
|
||||
*/
|
||||
void insertMaxShareBonus(CuMemberShareMax cuMemberShareMax);
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 特殊商品分配ev奖金明细 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2024-10-30
|
||||
*/
|
||||
@Service
|
||||
public class BdWaresBonusItemsServiceImpl extends ServiceImpl<BdWaresBonusItemsMapper, BdWaresBonusItems> implements IBdWaresBonusItemsService {
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
// 等级列表
|
||||
List<BdGrade> 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<CuMemberGrade> 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<String, CuMemberRetailRangeExt> countyRangeExtMap = new HashMap<>();
|
||||
// 区域处理
|
||||
List<CuMemberRetailRangeExt> countyRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailSecondRangeByCounty(rangeTableName, secondRangeTableName, saOrderExt.getRecCounty());
|
||||
// 区域会员map(key:区域分组ID + 区ID ,value: 区域会员结算数据)
|
||||
Map<String, CuMemberRetailRangeExt> 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<CuMemberRetailRangeExt> 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<BdGrade> 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<String, CuMemberGrade> cuMemberGradeMap = new HashMap<>();
|
||||
|
|
@ -282,12 +297,12 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
cuMemberGradeMap, cuMemberAwardsMap, cuMemberShareAwardsMap, sourceMemberRangeExt);
|
||||
// 计算团队业绩、盒数,计算等级、奖衔
|
||||
List<CuMemberRetailRangeExt> 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<CuMemberGrade> memberGradeList = iCuMemberGradeService.queryCuMemberGrade(cuMemberRetailRangeExtList, currentPeriod);
|
||||
// 查询最大的手动奖衔
|
||||
// 查询最大的手动等级(来源 cu_member_grade)
|
||||
List<CuMemberGrade> cuMemberGradeList1 = iCuMemberGradeService.queryCuMemberGradeByList(currentPeriod, memberRetailRangeExtList);
|
||||
if (cuMemberGradeList1.size() > 0) {
|
||||
Map<Long, CuMemberGrade> 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<BdGrade> 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<CuMemberRetailRangeExt> countyRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailRangeByCounty(rangeTableName);
|
||||
// 区域会员map(key:系统+区ID ,value: 区域会员结算数据)
|
||||
// 区域会员map(key:区域分组ID + 区ID ,value: 区域会员结算数据)
|
||||
Map<String, CuMemberRetailRangeExt> countyRangeExtMap = new HashMap<>();
|
||||
countyRangeExtList.forEach(cuMemberRetailRangeExt ->
|
||||
countyRangeExtMap.put(cuMemberRetailRangeExt.getSystemType() + "_" + cuMemberRetailRangeExt.getRegionAddress(), cuMemberRetailRangeExt));
|
||||
countyRangeExtMap.put(cuMemberRetailRangeExt.getRegionVertexPkId() + "_" + cuMemberRetailRangeExt.getRegionAddress(), cuMemberRetailRangeExt));
|
||||
|
||||
// 会员等级升级记录
|
||||
List<CuMemberGrade> 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<CuMemberAwards> calculateRetailRangeGradeAwards(Integer period, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, String rangeTableName, SaOrderExt saOrderExt,
|
||||
Map<Integer, BdGrade> retailTeamGradeMap, Map<Integer, BdAwards> retailAwardsMap, String secondRangeTableName,
|
||||
Integer boxNum, List<CuMemberGrade> cuMemberGradeList, Map<Long, Date> activateMap) {
|
||||
BigDecimal boxNum, List<CuMemberGrade> cuMemberGradeList, Map<Long, Date> activateMap) {
|
||||
// 会员奖衔升级列表
|
||||
List<CuMemberAwards> 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<Long, CuMemberRetailRangeExt> memberRangeExtMap, String rangeTableName,
|
||||
SaOrderExt saOrderExt, Map<Integer, BdGrade> retailTeamGradeMap, Map<Integer, BdAwards> 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<CuMemberRetailRangeExt> 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<CuMemberRetailRangeExt> cuMemberRangeExtList = null;
|
||||
// 校验累计小部门会员数据
|
||||
List<CuMemberRetailRangeExt> 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<CuMemberRetailRangeExt> 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<CuMemberRetailRangeExt> 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<CuMemberRetailRangeExt> calculateRetailBackRangeGradeAwards(Integer period, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, String rangeTableName, SaOrderExt saOrderExt,
|
||||
Map<Integer, BdGrade> retailTeamGradeMap, Map<Integer, BdAwards> retailAwardsMap, String secondRangeTableName, Integer boxNum,
|
||||
Map<String, CuMemberGrade> cuMemberGradeMap, Map<String, CuMemberAwards> cuMemberAwardsMap, Map<String, CuMemberAwards> cuMemberShareAwardsMap) {
|
||||
Map<Integer, BdGrade> retailTeamGradeMap, Map<Integer, BdAwards> retailAwardsMap, String secondRangeTableName, BigDecimal boxNum,
|
||||
Map<String, CuMemberGrade> cuMemberGradeMap, Map<String, CuMemberAwards> cuMemberAwardsMap, Map<String, CuMemberAwards> cuMemberShareAwardsMap,
|
||||
boolean isSecond) {
|
||||
List<CuMemberRetailRangeExt> 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<CuMemberRetailRangeExt> 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(),
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -13,22 +13,13 @@ import java.util.List;
|
|||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-辅导收益明细表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-11-15
|
||||
*/
|
||||
@Service
|
||||
public class CuMemberBonusCoachServiceImpl extends ServiceImpl<CuMemberBonusCoachMapper, CuMemberBonusCoach> 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<CuMemberBonusCoac
|
|||
|
||||
@Override
|
||||
public void batchInsertCuMemberBonusCoach(List<CuMemberBonusCoach> cuMemberBonusCoachList, Set<Long> memberIdSet) {
|
||||
if(cuMemberBonusCoachList.size() == 0){
|
||||
if (cuMemberBonusCoachList.size() == 0) {
|
||||
return;
|
||||
}
|
||||
List<CuMemberBonusCoach> 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<List<?>> lists = cuMemberBonusSettle.handleCutList(cuMemberBonusCoaches);
|
||||
|
|
|
|||
|
|
@ -13,22 +13,13 @@ import java.util.List;
|
|||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-奖金收益明细表(报单费) 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-11-17
|
||||
*/
|
||||
@Service
|
||||
public class CuMemberBonusDetailServiceImpl extends ServiceImpl<CuMemberBonusDetailMapper, CuMemberBonusDetail> 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<CuMemberBonusDet
|
|||
|
||||
@Override
|
||||
public void batchInsertCuMemberBonusDetail(List<CuMemberBonusDetail> cuMemberBonusDetailList, Set<Long> memberIdSet) {
|
||||
if(cuMemberBonusDetailList.size() == 0){
|
||||
if (cuMemberBonusDetailList.size() == 0) {
|
||||
return;
|
||||
}
|
||||
List<CuMemberBonusDetail> 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<List<?>> lists = cuMemberBonusSettle.handleCutList(cuMemberBonusDetails);
|
||||
|
|
@ -54,8 +45,4 @@ public class CuMemberBonusDetailServiceImpl extends ServiceImpl<CuMemberBonusDet
|
|||
baseMapper.batchInsertCuMemberBonusDetail(list));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertCuMemberBonusDetail(CuMemberBonusDetail cuMemberBonusDetail) {
|
||||
baseMapper.insertCuMemberBonusDetail(cuMemberBonusDetail);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,12 +13,7 @@ import java.util.List;
|
|||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-拓展收益明细表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-11-15
|
||||
*/
|
||||
@Service
|
||||
public class CuMemberBonusExpandServiceImpl extends ServiceImpl<CuMemberBonusExpandMapper, CuMemberBonusExpand> implements ICuMemberBonusExpandService {
|
||||
|
|
@ -37,16 +32,16 @@ public class CuMemberBonusExpandServiceImpl extends ServiceImpl<CuMemberBonusExp
|
|||
|
||||
@Override
|
||||
public void batchInsertCuMemberBonusExpand(List<CuMemberBonusExpand> cuMemberBonusExpandList, Set<Long> memberIdSet) {
|
||||
if(cuMemberBonusExpandList.size() == 0){
|
||||
if (cuMemberBonusExpandList.size() == 0) {
|
||||
return;
|
||||
}
|
||||
List<CuMemberBonusExpand> 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<List<?>> lists = cuMemberBonusSettle.handleCutList(memberBonusExpands);
|
||||
|
|
@ -54,9 +49,5 @@ public class CuMemberBonusExpandServiceImpl extends ServiceImpl<CuMemberBonusExp
|
|||
baseMapper.batchInsertCuMemberBonusExpand(list));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertCuMemberBonusExpand(List<CuMemberBonusExpand> cuMemberBonusExpandList) {
|
||||
baseMapper.insertCuMemberBonusExpand(cuMemberBonusExpandList);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-直推历史轮次记录 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-09-10
|
||||
*/
|
||||
@Service
|
||||
public class CuMemberBonusPushHisServiceImpl extends ServiceImpl<CuMemberBonusPushHisMapper, CuMemberBonusPushHis> implements ICuMemberBonusPushHisService {
|
||||
|
||||
@Override
|
||||
public List<CuMemberBonusPushHis> queryCuMemberBonusPushHis(Long pkMember) {
|
||||
QueryWrapper<CuMemberBonusPushHis> 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);
|
||||
}
|
||||
}
|
||||
|
|
@ -621,14 +621,6 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
|||
baseMapper.mergeBackRangeBonusIncome(pkOrder, EBonusItems.RETAIL_AREA_INCOME.getValue());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<Long, CuMemberBonus> queryWeekMemberBonus(int startPeriod, int endPeriod) {
|
||||
List<CuMemberBonus> cuMemberBonusList = baseMapper.queryWeekMemberBonus(startPeriod, endPeriod);
|
||||
Map<Long, CuMemberBonus> cuMemberBonusMap = new HashMap<>(ComputeUtil.mapInitCapacity(cuMemberBonusList.size()));
|
||||
cuMemberBonusList.forEach(cuMemberBonus -> cuMemberBonusMap.put(cuMemberBonus.getPkMember(), cuMemberBonus));
|
||||
return cuMemberBonusMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void recalculateTeamNewBoxNum(List<Long> pkIdList) {
|
||||
String retailsTableName = getDayTableName();
|
||||
|
|
|
|||
|
|
@ -36,21 +36,17 @@ import java.math.BigDecimal;
|
|||
import java.util.*;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-分红奖金配置 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-07-03
|
||||
*/
|
||||
@Service
|
||||
public class CuMemberShareBonusServiceImpl extends ServiceImpl<CuMemberShareBonusMapper, CuMemberShareBonus> 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<CuMemberShareBonu
|
|||
|
||||
private ICuMemberSettlePeriodService cuMemberSettlePeriodService;
|
||||
|
||||
@DubboReference
|
||||
private ICurrencyServiceApi currencyServiceApi;
|
||||
|
||||
@Autowired
|
||||
public void setCuMemberSettlePeriodService(ICuMemberSettlePeriodService cuMemberSettlePeriodService) {
|
||||
this.cuMemberSettlePeriodService = cuMemberSettlePeriodService;
|
||||
|
|
@ -88,7 +81,7 @@ public class CuMemberShareBonusServiceImpl extends ServiceImpl<CuMemberShareBonu
|
|||
public void saveMemberShareBonus(CuMemberShareBonusParam cuMemberShareBonusParam) {
|
||||
CuMemberShareBonusExt cuMemberShareBonusExt = queryCuMemberShareBonus(cuMemberShareBonusParam.getPkCountry(), cuMemberShareBonusParam.getSettleMonth());
|
||||
CuMemberShareBonus cuMemberShareBonus = BeanUtil.copyProperties(cuMemberShareBonusExt, CuMemberShareBonus.class);
|
||||
if(cuMemberShareBonus.getPkId() == null){
|
||||
if (cuMemberShareBonus.getPkId() == null) {
|
||||
cuMemberShareBonus.setPkCountry(cuMemberShareBonusParam.getPkCountry());
|
||||
cuMemberShareBonus.setPkCreator(cuMemberShareBonusParam.getPkCreator());
|
||||
CuMemberSettlePeriod cuMemberSettlePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(cuMemberShareBonusExt.getSettleMonth() + "-01");
|
||||
|
|
@ -96,28 +89,28 @@ public class CuMemberShareBonusServiceImpl extends ServiceImpl<CuMemberShareBonu
|
|||
CurrencyDTO currencyDTO = currencyServiceApi.getCurrency(cuMemberShareBonusParam.getPkCountry()).getData();
|
||||
cuMemberShareBonus.setPkRate(currencyDTO.getPkId());
|
||||
baseMapper.insert(cuMemberShareBonus);
|
||||
}else{
|
||||
} else {
|
||||
cuMemberShareBonus.setPkModified(cuMemberShareBonusParam.getPkCreator());
|
||||
cuMemberShareBonus.setModifiedTime(DateUtils.currentDateTime());
|
||||
baseMapper.updateById(cuMemberShareBonus);
|
||||
}
|
||||
if(CollectionUtil.isNotEmpty(cuMemberShareBonusExt.getCuMemberShareDetailList())){
|
||||
if (CollectionUtil.isNotEmpty(cuMemberShareBonusExt.getCuMemberShareDetailList())) {
|
||||
Map<Integer, CuMemberShareDetailParam> 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<CuMemberShareBonu
|
|||
@Override
|
||||
public CuMemberShareBonusExt queryCuMemberShareBonus(Integer pkCountry, String settleMonth) {
|
||||
CuMemberShareBonusExt cuMemberShareBonusExt = baseMapper.queryCuMemberShareBonus(pkCountry, settleMonth);
|
||||
if(cuMemberShareBonusExt == null){
|
||||
if (cuMemberShareBonusExt == null) {
|
||||
cuMemberShareBonusExt = new CuMemberShareBonusExt();
|
||||
cuMemberShareBonusExt.setSettleMonth(settleMonth);
|
||||
Date endDate = DateUtils.parseDate(settleMonth + "-01");
|
||||
|
|
@ -149,7 +142,7 @@ public class CuMemberShareBonusServiceImpl extends ServiceImpl<CuMemberShareBonu
|
|||
cuMemberAssMap.put(cuMemberAssess.getPkAwards(), cuMemberAssess.getAssessStatus()));
|
||||
// 查询奖衔 达标人数
|
||||
for (BdAwards bdAwards : bdAwardsList) {
|
||||
if(EAwards.MEMBER.getValue() == bdAwards.getAwardsValue()){
|
||||
if (EAwards.MEMBER.getValue() == bdAwards.getAwardsValue()) {
|
||||
continue;
|
||||
}
|
||||
shareRatio = ComputeUtil.computeAdd(shareRatio, bdAwards.getAbonusRatio());
|
||||
|
|
@ -162,10 +155,10 @@ public class CuMemberShareBonusServiceImpl extends ServiceImpl<CuMemberShareBonu
|
|||
cuMemberShareDetail.setExpectShareSubtotal(BigDecimal.ZERO);
|
||||
cuMemberShareDetail.setRealShareIncome(BigDecimal.ZERO);
|
||||
cuMemberShareDetail.setRealShareSubtotal(BigDecimal.ZERO);
|
||||
if(cuMemberMap.containsKey(bdAwards.getPkId())){
|
||||
if (cuMemberMap.containsKey(bdAwards.getPkId())) {
|
||||
cuMemberShareDetail.setPromoteTotal(cuMemberMap.get(bdAwards.getPkId()));
|
||||
}
|
||||
if(cuMemberAssMap.containsKey(bdAwards.getPkId())){
|
||||
if (cuMemberAssMap.containsKey(bdAwards.getPkId())) {
|
||||
cuMemberShareDetail.setReachTotal(cuMemberAssMap.get(bdAwards.getPkId()));
|
||||
}
|
||||
cuMemberShareDetailList.add(cuMemberShareDetail);
|
||||
|
|
@ -175,10 +168,10 @@ public class CuMemberShareBonusServiceImpl extends ServiceImpl<CuMemberShareBonu
|
|||
// 处理预发金额 预发合计
|
||||
for (CuMemberShareDetail cuMemberShareDetail : cuMemberShareDetailList) {
|
||||
int count = bdAwardsList.size();
|
||||
if(count > 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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-分红奖金配置明细 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-07-03
|
||||
*/
|
||||
@Service
|
||||
public class CuMemberShareDetailServiceImpl extends ServiceImpl<CuMemberShareDetailMapper, CuMemberShareDetail> implements ICuMemberShareDetailService {
|
||||
|
|
@ -29,23 +20,4 @@ public class CuMemberShareDetailServiceImpl extends ServiceImpl<CuMemberShareDet
|
|||
baseMapper.saveMemberShareBonus(cuMemberShareDetailList);
|
||||
}
|
||||
|
||||
/*
|
||||
* @description: 根据期间查询奖衔设置的分红配置
|
||||
* @author: sui q
|
||||
* @date: 2023/8/11 15:35
|
||||
* @param: null null
|
||||
**/
|
||||
@Override
|
||||
public Map<String, CuMemberShareDetail> queryCuMemberShareBonusByPeriod(Integer period){
|
||||
List<CuMemberShareDetail> cuMemberShareDetailList = baseMapper.queryCuMemberShareBonusByPeriod(period);
|
||||
Map<String, CuMemberShareDetail> 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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-最大分红奖金 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-01-06
|
||||
*/
|
||||
@Service
|
||||
public class CuMemberShareMaxServiceImpl extends ServiceImpl<CuMemberShareMaxMapper, CuMemberShareMax> implements ICuMemberShareMaxService {
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void insertMaxShareBonus(CuMemberShareMax cuMemberShareMax) {
|
||||
// 删除
|
||||
baseMapper.deleteCuMemberShareMax(cuMemberShareMax.getPeriod());
|
||||
baseMapper.insert(cuMemberShareMax);
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -39,6 +39,15 @@ public interface CuMemberGradeMapper extends BaseMapper<CuMemberGrade> {
|
|||
*/
|
||||
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);
|
||||
|
||||
/**
|
||||
* 删除等级
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -8,78 +8,51 @@ import java.util.Date;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 新零售会员区域考核明细表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2025-01-13
|
||||
*/
|
||||
public interface CuRegionAssessDetailMapper extends BaseMapper<CuRegionAssessDetail> {
|
||||
|
||||
/*
|
||||
* @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<Long> 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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,36 +11,22 @@ import java.util.Date;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 新零售会员区域考核 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2025-01-13
|
||||
*/
|
||||
public interface CuRegionAssessMapper extends BaseMapper<CuRegionAssess> {
|
||||
|
||||
/*
|
||||
* @description: 查询考核结果
|
||||
* @author: sui q
|
||||
* @date: 2025/1/15 17:22
|
||||
* @param: null null
|
||||
* 查询考核结果
|
||||
**/
|
||||
List<CuRegionAssessExt> 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<CuRegionAssess> {
|
|||
* 批量获取cuMemberBonus主键
|
||||
*
|
||||
* @param rowNum 数量
|
||||
* @return: List<Integer>
|
||||
* @Author: sui q
|
||||
* @Date: 2022/12/13 13:47
|
||||
*/
|
||||
List<Long> 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<CuMemberRetailRegion> queryCuMemberRetailRegion(@Param("startDate") Date startDate, @Param("endDate") Date endDate);
|
||||
|
||||
/*
|
||||
* @description: 查询到期日期是上个月的区域
|
||||
* @author: sui q
|
||||
* @date: 2025/2/25 15:45
|
||||
* @param: null null
|
||||
* 查询到期日期是上个月的区域
|
||||
**/
|
||||
List<CuMemberRetailRegion> 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<CuRegionAssessExt> queryRegionAssessByDate(@Param("memberRetailRegionList") List<CuMemberRetailRegion> memberRetailRegionList, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,15 @@ public interface ICuMemberGradeService extends IService<CuMemberGrade> {
|
|||
*/
|
||||
void updateCuMemberGrade(String rangeTableName, Long pkOrder);
|
||||
|
||||
/**
|
||||
* 查询订单升级记录
|
||||
*
|
||||
* @param pkMember
|
||||
* @param pkOrder
|
||||
* @return
|
||||
*/
|
||||
CuMemberRetailRangeExt getMemberLevel(Long pkMember, Long pkOrder);
|
||||
|
||||
/**
|
||||
* 插入会员等级升级记录
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -7,46 +7,29 @@ import java.util.Date;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 新零售会员区域考核明细表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2025-01-13
|
||||
*/
|
||||
public interface ICuRegionAssessDetailService extends IService<CuRegionAssessDetail> {
|
||||
|
||||
/*
|
||||
* @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<Long> 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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 新零售会员区域考核 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2025-01-13
|
||||
*/
|
||||
public interface ICuRegionAssessService extends IService<CuRegionAssess> {
|
||||
|
||||
/*
|
||||
* @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<CuRegionAssessExt> queryRegionAssessByCondition(CuRegionAssessParam regionAssessParam);
|
||||
|
||||
|
|
|
|||
|
|
@ -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<CuMemberGradeMapper, C
|
|||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public CuMemberRetailRangeExt getMemberLevel(Long pkMember, Long pkOrder) {
|
||||
return baseMapper.getMemberLevel(pkMember, pkOrder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertCuMemberGrade(List<CuMemberGrade> cuMemberGradeList) {
|
||||
saveBatch(cuMemberGradeList);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,12 +10,7 @@ import java.util.Date;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 新零售会员区域考核明细表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2025-01-13
|
||||
*/
|
||||
@Service
|
||||
public class CuRegionAssessDetailServiceImpl extends ServiceImpl<CuRegionAssessDetailMapper, CuRegionAssessDetail> implements ICuRegionAssessDetailService {
|
||||
|
|
@ -50,8 +45,5 @@ public class CuRegionAssessDetailServiceImpl extends ServiceImpl<CuRegionAssessD
|
|||
baseMapper.updateCuRegionAssessDetailInit(assessDate);
|
||||
// 验证汇总业绩和小区业绩是否满足条件,汇总业绩满足30000,小区满足100000,变更为考核通过
|
||||
baseMapper.updateCuRegionAssessDetailByPv(assessDate);
|
||||
// 手动开区域由免考修改为正常考核。到期后,验证近6个月的考核结果,达标3次,继续有奖衔,否则没有
|
||||
// baseMapper.updateCuRegionAssessDetailByHand(assessDate);
|
||||
// 更新主表,更新达标次数
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,8 @@
|
|||
package com.hzs.bonus.detail.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService;
|
||||
import com.hzs.bonus.achieve.service.impl.CuMemberBonusSettle;
|
||||
import com.hzs.bonus.detail.mapper.CuRegionAssessMapper;
|
||||
import com.hzs.bonus.detail.service.ICuRegionAssessDetailService;
|
||||
|
|
@ -12,14 +11,13 @@ import com.hzs.bonus.detail.vo.CuRegionAssessDetailVO;
|
|||
import com.hzs.bonus.detail.vo.CuRegionAssessVO;
|
||||
import com.hzs.bonus.param.CuRegionAssessParam;
|
||||
import com.hzs.common.core.constant.MagicNumberConstants;
|
||||
import com.hzs.common.core.constant.TableNameConstants;
|
||||
import com.hzs.common.core.enums.EDataSource;
|
||||
import com.hzs.common.core.utils.DateUtils;
|
||||
import com.hzs.common.domain.member.detail.CuRegionAssess;
|
||||
import com.hzs.common.domain.member.detail.CuRegionAssessDetail;
|
||||
import com.hzs.common.domain.member.detail.ext.CuRegionAssessExt;
|
||||
import com.hzs.common.domain.retail.member.CuMemberRetailRegion;
|
||||
import com.hzs.retail.member.IMemberRetailApi;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
|
@ -29,21 +27,17 @@ import java.time.temporal.ChronoUnit;
|
|||
import java.util.*;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 新零售会员区域考核 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2025-01-13
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class CuRegionAssessServiceImpl extends ServiceImpl<CuRegionAssessMapper, CuRegionAssess> 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<CuRegionAssessMapper,
|
|||
// 每月1号进行考核,结算上月最后一期的时候进行区域达标考核
|
||||
Date assDate = DateUtils.parseStringToDate(settleDate);
|
||||
Date assessDate = DateUtils.afterDate(1, ChronoUnit.DAYS, assDate);
|
||||
|
||||
log.info("assDate : {}", DateUtils.parseDateTimeToStr(DateUtils.YYYY_MM_DD, assDate));
|
||||
log.info("assessDate : {}", DateUtils.parseDateTimeToStr(DateUtils.YYYY_MM_DD, assessDate));
|
||||
|
||||
if (DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, assessDate).endsWith("01")) {
|
||||
// 当月第一天
|
||||
Date startDate = DateUtils.currentMonthFirstDate(assDate);
|
||||
// 清空数据,7天内重算,查找结算开始日期相同的是第一次考核,清空明细表、主表
|
||||
// 清空数据,之前有区域,然后掉区域了,新的月份又有了 update
|
||||
cuRegionAssessDetailService.updateAssessRegionDetailByDate(startDate, assessDate);
|
||||
|
||||
log.info("startDate : {}", DateUtils.parseDateTimeToStr(DateUtils.YYYY_MM_DD, startDate));
|
||||
|
||||
// 清空 1 号到 今天 的考核数据
|
||||
iCuRegionAssessDetailService.updateAssessRegionDetailByDate(startDate, assessDate);
|
||||
baseMapper.updateAssessRegionByDate(startDate, assessDate);
|
||||
deleteAssessRegionByDate(assessDate, 1);
|
||||
|
||||
// 生成6期待考核数据,查询上月的区域,第一次考核的时候,明细生成6期
|
||||
// 查询目前有效的区域配置
|
||||
List<CuMemberRetailRegion> memberRetailRegionList = baseMapper.queryCuMemberRetailRegion(startDate, assessDate);
|
||||
if (memberRetailRegionList.size() > 0) {
|
||||
Map<Long, CuRegionAssess> regionAssessMap = new HashMap<>();
|
||||
List<CuRegionAssessDetail> 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<Long> cancelRegionList = new ArrayList<>();
|
||||
// 开始考核,将 上月最后一天,奖衔、业绩同步到考核表中
|
||||
// 查询主表考核结束日期=考核日期的,这部分需要生成下6期,最后一期结算完,验证是否达标,达标后继续生成下一期,不达标取消区域
|
||||
// 查询考核结束日期次数不达标的区域,进行区域取消处理
|
||||
List<CuRegionAssess> cuRegionAssessList = queryCuRegionAssessByEndDate(assessDate);
|
||||
List<Long> cancelRegionList = new ArrayList<>();
|
||||
Map<Long, CuRegionAssess> regionAssessMap = new HashMap<>();
|
||||
List<CuRegionAssessDetail> 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<CuRegionAssessMapper,
|
|||
// 查询到期日期的区域,验证近6个月的达标次数,不达标取消
|
||||
// validateHandAreaAssess(assessDate, startDate, cancelRegionList);
|
||||
if (cancelRegionList.size() > 0) {
|
||||
if (!memberRetailApi.cancelRegion(cancelRegionList).isSuccess()) {
|
||||
if (!iMemberRetailApi.cancelRegion(cancelRegionList).isSuccess()) {
|
||||
throw new RuntimeException("区域更新失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 定时处理会员收益区域(处理前三天)
|
||||
**/
|
||||
@Override
|
||||
public void validateHandAreaAssess(Date startDate, Date endDate) {
|
||||
List<Long> cancelRegionList = new ArrayList<>();
|
||||
|
|
@ -169,7 +201,7 @@ public class CuRegionAssessServiceImpl extends ServiceImpl<CuRegionAssessMapper,
|
|||
}
|
||||
}
|
||||
if (cancelRegionList.size() > 0) {
|
||||
if (!memberRetailApi.cancelRegion(cancelRegionList).isSuccess()) {
|
||||
if (!iMemberRetailApi.cancelRegion(cancelRegionList).isSuccess()) {
|
||||
throw new RuntimeException("区域更新失败");
|
||||
}
|
||||
}
|
||||
|
|
@ -193,21 +225,20 @@ public class CuRegionAssessServiceImpl extends ServiceImpl<CuRegionAssessMapper,
|
|||
}
|
||||
// 主表
|
||||
List<List<?>> lists = cuMemberBonusSettle.handleCutList(cuRegionAssessList);
|
||||
lists.forEach(list ->
|
||||
baseMapper.batchInsertCuRegionAssess(list));
|
||||
List<Long> idList = cuRegionAssessDetailService.batchQueryCuRegionAssessDetailSeq(regionAssessDetailList.size());
|
||||
lists.forEach(list -> baseMapper.batchInsertCuRegionAssess(list));
|
||||
|
||||
List<Long> idList = iCuRegionAssessDetailService.batchQueryCuRegionAssessDetailSeq(regionAssessDetailList.size());
|
||||
for (int j = 0; j < regionAssessDetailList.size(); j++) {
|
||||
regionAssessDetailList.get(j).setPkId(idList.get(j));
|
||||
}
|
||||
// 明细表
|
||||
List<List<?>> detailList = cuMemberBonusSettle.handleCutList(regionAssessDetailList);
|
||||
detailList.forEach(detail ->
|
||||
cuRegionAssessDetailService.batchInsertCuRegionAssessDetail(detail));
|
||||
detailList.forEach(detail -> iCuRegionAssessDetailService.batchInsertCuRegionAssessDetail(detail));
|
||||
}
|
||||
|
||||
List<CuRegionAssess> queryCuRegionAssessByEndDate(Date settleDate) {
|
||||
QueryWrapper<CuRegionAssess> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("ASSESS_END_DATE", settleDate);
|
||||
LambdaQueryWrapper<CuRegionAssess> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(CuRegionAssess::getAssessEndDate, settleDate);
|
||||
return baseMapper.selectList(queryWrapper);
|
||||
}
|
||||
|
||||
|
|
@ -215,7 +246,7 @@ public class CuRegionAssessServiceImpl extends ServiceImpl<CuRegionAssessMapper,
|
|||
@Transactional(rollbackFor = Exception.class)
|
||||
public void deleteAssessRegionByDate(Date assessStartDate, Integer assessPeriod) {
|
||||
// 7天内重算
|
||||
cuRegionAssessDetailService.deleteAssessRegionDetailByDate(assessStartDate, assessPeriod);
|
||||
iCuRegionAssessDetailService.deleteAssessRegionDetailByDate(assessStartDate, assessPeriod);
|
||||
baseMapper.deleteAssessRegionByDate(assessStartDate, assessPeriod);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -52,17 +52,26 @@
|
|||
<result column="SHARE_AWARDS_VALUE" property="shareAwardsValue"/>
|
||||
<result column="RANGE_RATIO" property="rangeRatio"/>
|
||||
<result column="MONTH_REPURCHASE_RATIO" property="monthRepurchaseRatio"/>
|
||||
|
||||
<result column="BENEFIT_AVG_RATIO" property="benefitAvgRatio"/>
|
||||
<result column="BENEFIT_SHARE_RATIO" property="benefitShareRatio"/>
|
||||
<result column="coach_algebra" property="coachAlgebra"/>
|
||||
<result column="coach_ratio" property="coachRatio"/>
|
||||
|
||||
<result column="COUNTRY_NAME" property="countryName"/>
|
||||
<result column="big_box_num" property="bigBoxNum"/>
|
||||
<result column="small_box_num" property="smallBoxNum"/>
|
||||
<result column="big_team_pv" property="bigTeamPv"/>
|
||||
<result column="small_team_pv" property="smallTeamPv"/>
|
||||
<result column="region_vertex_pk_id" property="regionVertexPkId"/>
|
||||
|
||||
<result column="all_new_box_num" property="allNewBoxNum"/>
|
||||
<result column="all_new_consume_pv" property="allNewConsumePv"/>
|
||||
|
||||
<result column="all_team_new_box_num" property="allTeamNewBoxNum"/>
|
||||
<result column="all_team_new_pv" property="allTeamNewPv"/>
|
||||
<result column="all_team_box_num" property="allTeamBoxNum"/>
|
||||
<result column="all_team_month_box_num" property="allTeamMonthBoxNum"/>
|
||||
<result column="all_team_consume_pv" property="allTeamConsumePv"/>
|
||||
<result column="all_team_month_pv" property="allTeamMonthPv"/>
|
||||
</resultMap>
|
||||
|
||||
<update id="mergeMemberRetailRangeInit">
|
||||
|
|
@ -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
|
||||
</update>
|
||||
|
||||
<update id="mergeMemberRetailRangeByYesterday">
|
||||
|
|
@ -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
|
||||
<if test="isSameMonth == 0">
|
||||
,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
|
||||
</if>
|
||||
</update>
|
||||
|
||||
|
|
@ -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
|
||||
</foreach>
|
||||
) 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
|
||||
</update>
|
||||
|
||||
<!-- 当前网体更新极差秒接表 -->
|
||||
|
|
@ -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
|
||||
</foreach>
|
||||
) 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
|
||||
</update>
|
||||
|
||||
<update id="mergeMemberRetailGradeByMember">
|
||||
|
|
@ -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
|
||||
</foreach>
|
||||
</select>
|
||||
|
|
@ -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 @@
|
|||
</select>
|
||||
|
||||
<select id="batchQueryMemberRetailRangeByCounty" resultMap="CuMemberRetailRangeExt">
|
||||
select pk_member,
|
||||
pk_parent,
|
||||
member_code,
|
||||
member_name,
|
||||
select a.pk_member,
|
||||
a.pk_parent,
|
||||
a.member_code,
|
||||
a.member_name,
|
||||
a.pk_vertex,
|
||||
a.pk_rate,
|
||||
a.pk_grade,
|
||||
a.pk_awards,
|
||||
|
|
@ -539,19 +587,30 @@
|
|||
a.pk_country,
|
||||
a.pk_settle_country,
|
||||
a.region_address,
|
||||
ba.name country_name,
|
||||
ba.name country_name,
|
||||
bg.grade_value,
|
||||
bg.grade_name,
|
||||
bw.awards_value,
|
||||
bw.awards_name,
|
||||
bwa.awards_value share_awards_value,
|
||||
a.big_box_num,
|
||||
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,
|
||||
a.account_status,
|
||||
a.category,
|
||||
bw.range_ratio,
|
||||
bw.month_repurchase_ratio,
|
||||
bw.benefit_avg_ratio,
|
||||
bw.benefit_share_ratio,
|
||||
a.system_type
|
||||
a.system_type,
|
||||
bv.region_vertex_pk_id
|
||||
from ${rangeTableName} a
|
||||
inner join bd_awards bw
|
||||
on bw.pk_id = a.pk_awards
|
||||
|
|
@ -561,6 +620,8 @@
|
|||
on bg.pk_id = a.pk_grade
|
||||
inner join bd_area ba
|
||||
on ba.pk_id = a.region_address
|
||||
left join bd_vertex bv
|
||||
on bv.pk_id = a.pk_vertex
|
||||
where bw.del_flag = 0
|
||||
and bg.del_flag = 0
|
||||
and ba.del_flag = 0
|
||||
|
|
@ -591,7 +652,9 @@
|
|||
bw.month_repurchase_ratio,
|
||||
bw.benefit_avg_ratio,
|
||||
bw.benefit_share_ratio,
|
||||
nvl(nvl(sc.enable_status, r.enable_status), 1) enable_status
|
||||
nvl(nvl(sc.enable_status, r.enable_status), 1) enable_status,
|
||||
bt.pk_id pk_rate,
|
||||
bv.region_vertex_pk_id
|
||||
from cu_member cm
|
||||
inner join bd_awards bw
|
||||
on bw.pk_id = cm.pk_awards
|
||||
|
|
@ -607,6 +670,8 @@
|
|||
on r.pk_member = cm.pk_id
|
||||
left join ${secondRangeTableName} sc
|
||||
on sc.pk_member = cm.pk_id
|
||||
left join bd_vertex bv
|
||||
on bv.pk_id = cm.pk_vertex
|
||||
where bw.del_flag = 0
|
||||
and bg.del_flag = 0
|
||||
and ba.del_flag = 0
|
||||
|
|
@ -629,28 +694,36 @@
|
|||
a.pk_share_awards,
|
||||
cm.income_status,
|
||||
cm.pay_time,
|
||||
b.pk_rate,
|
||||
nvl(cm.is_activate, a.enable_status) enable_status,
|
||||
nvl(b.pk_rate, bt.pk_id) pk_rate,
|
||||
nvl(cm.is_activate, a.enable_status) enable_status,
|
||||
a.new_box_num,
|
||||
nvl(b.consume_box_num, 0) + a.new_box_num consume_box_num,
|
||||
nvl(b.month_box_num, 0) + a.new_box_num month_box_num,
|
||||
nvl(b.consume_box_num, 0) + nvl(a.new_box_num, 0) consume_box_num,
|
||||
nvl(b.month_box_num, 0) + nvl(a.new_box_num, 0) month_box_num,
|
||||
a.new_consume_pv,
|
||||
nvl(b.consume_pv, 0) + a.new_consume_pv consume_pv,
|
||||
nvl(b.month_consume_pv, 0) + a.new_consume_pv month_consume_pv,
|
||||
nvl(b.consume_pv, 0) + nvl(a.new_consume_pv, 0) consume_pv,
|
||||
nvl(b.month_consume_pv, 0) + nvl(a.new_consume_pv, 0) month_consume_pv,
|
||||
a.team_new_box_num,
|
||||
nvl(b.team_box_num, 0) + a.team_new_box_num team_box_num,
|
||||
nvl(b.team_month_box_num, 0) + a.team_new_box_num team_month_box_num,
|
||||
nvl(b.team_box_num, 0) + nvl(a.team_new_box_num, 0) team_box_num,
|
||||
nvl(b.team_month_box_num, 0) + nvl(a.team_new_box_num, 0) team_month_box_num,
|
||||
a.team_new_pv,
|
||||
nvl(b.team_consume_pv, 0) + a.team_new_pv team_consume_pv,
|
||||
nvl(b.team_month_pv, 0) + a.team_new_pv team_month_pv,
|
||||
nvl(b.team_consume_pv, 0) + nvl(a.team_new_pv, 0) team_consume_pv,
|
||||
nvl(b.team_month_pv, 0) + nvl(a.team_new_pv, 0) team_month_pv,
|
||||
a.team_new_amount,
|
||||
nvl(b.team_consume_amount, 0) + a.team_new_amount team_consume_amount,
|
||||
nvl(b.team_month_amount, 0) + a.team_new_amount team_month_amount,
|
||||
nvl(b.big_box_num, 0) big_box_num,
|
||||
nvl(b.small_box_num, 0) small_box_num,
|
||||
nvl(b.big_team_pv, 0) big_team_pv,
|
||||
nvl(b.small_team_pv, 0) small_team_pv,
|
||||
nvl(b.team_consume_amount, 0) + nvl(a.team_new_amount, 0) team_consume_amount,
|
||||
nvl(b.team_month_amount, 0) + nvl(a.team_new_amount, 0) team_month_amount,
|
||||
nvl(b.big_box_num, 0) big_box_num,
|
||||
nvl(b.small_box_num, 0) small_box_num,
|
||||
nvl(b.big_team_pv, 0) big_team_pv,
|
||||
nvl(b.small_team_pv, 0) small_team_pv,
|
||||
a.system_type,
|
||||
a.all_new_box_num,
|
||||
a.all_new_consume_pv,
|
||||
a.all_team_new_box_num,
|
||||
a.all_team_new_pv,
|
||||
nvl(b.all_team_box_num, 0) + nvl(a.all_team_new_box_num, 0) all_team_box_num,
|
||||
nvl(b.all_team_month_box_num, 0) + nvl(a.all_team_new_pv, 0) all_team_month_box_num,
|
||||
nvl(b.all_team_consume_pv, 0) + nvl(a.all_team_new_box_num, 0) all_team_consume_pv,
|
||||
nvl(b.all_team_month_pv, 0) + nvl(a.all_team_new_pv, 0) all_team_month_pv,
|
||||
bg.grade_value,
|
||||
bg.grade_name,
|
||||
bw.awards_value,
|
||||
|
|
@ -659,9 +732,10 @@
|
|||
bw.month_repurchase_ratio,
|
||||
bw.benefit_avg_ratio,
|
||||
bw.benefit_share_ratio,
|
||||
bws.awards_value share_awards_value,
|
||||
br.name country_name,
|
||||
cr.county region_address
|
||||
bws.awards_value share_awards_value,
|
||||
br.name country_name,
|
||||
cr.county region_address,
|
||||
bv.region_vertex_pk_id
|
||||
from (
|
||||
select *
|
||||
from ${secondTableName} start with pk_member = #{pkMember}
|
||||
|
|
@ -681,81 +755,33 @@
|
|||
on cr.pk_member = cm.pk_id and cr.effective = 0 and cr.del_flag = 0
|
||||
left join bd_area br
|
||||
on br.pk_id = cr.county and br.del_flag = 0
|
||||
left join bd_vertex bv
|
||||
on bv.pk_id = cm.pk_vertex
|
||||
inner join bd_currency bt
|
||||
on bt.pk_country = cm.pk_settle_country
|
||||
where bg.del_flag = 0
|
||||
</select>
|
||||
|
||||
<select id="queryCuMemberSecondRangeExtByParent" resultMap="CuMemberRetailRangeExt">
|
||||
select cm.pk_id pk_member,
|
||||
cm.pk_parent,
|
||||
nvl(b.month_consume_pv, 0) + nvl(a.new_consume_pv, 0) month_consume_pv,
|
||||
nvl(b.team_month_pv, 0) + nvl(a.team_new_pv, 0) team_month_pv,
|
||||
nvl(b.consume_box_num, 0) + nvl(a.new_box_num, 0) consume_box_num,
|
||||
nvl(b.team_box_num, 0) + nvl(a.team_new_box_num, 0) team_box_num,
|
||||
nvl(b.big_box_num, 0) big_box_num,
|
||||
nvl(b.small_box_num, 0) small_box_num
|
||||
select cm.pk_id pk_member,
|
||||
cm.pk_parent,
|
||||
nvl(b.month_consume_pv, 0) + nvl(a.new_consume_pv, 0) month_consume_pv,
|
||||
nvl(b.team_month_pv, 0) + nvl(a.team_new_pv, 0) team_month_pv,
|
||||
nvl(b.consume_box_num, 0) + nvl(a.new_box_num, 0) consume_box_num,
|
||||
nvl(b.team_box_num, 0) + nvl(a.team_new_box_num, 0) team_box_num,
|
||||
nvl(b.big_box_num, 0) big_box_num,
|
||||
nvl(b.small_box_num, 0) small_box_num,
|
||||
nvl(b.all_team_box_num, 0) + nvl(a.all_team_new_box_num, 0) all_team_box_num,
|
||||
nvl(b.all_team_month_box_num, 0) + nvl(a.all_team_new_pv, 0) all_team_month_box_num,
|
||||
nvl(b.all_team_consume_pv, 0) + nvl(a.all_team_new_box_num, 0) all_team_consume_pv,
|
||||
nvl(b.all_team_month_pv, 0) + nvl(a.all_team_new_pv, 0) all_team_month_pv
|
||||
from cu_member cm
|
||||
left join ${secondTableName} a
|
||||
on cm.pk_id = a.pk_member
|
||||
left join ${rangeTableName} b
|
||||
on cm.pk_id = b.pk_member
|
||||
where cm.pk_parent = #{pkMember}
|
||||
and cm.del_flag = 0
|
||||
|
||||
<!--
|
||||
select a.pk_member,
|
||||
cm.member_code,
|
||||
cm.member_name,
|
||||
a.pk_parent,
|
||||
cm.pk_settle_country,
|
||||
cm.category,
|
||||
cm.account_status,
|
||||
a.pk_grade,
|
||||
a.pk_awards,
|
||||
cm.income_status,
|
||||
nvl(b.consume_box_num, 0) + a.new_box_num consume_box_num,
|
||||
a.new_box_num,
|
||||
nvl(b.team_box_num, 0) + a.team_new_box_num team_box_num,
|
||||
nvl(b.month_box_num, 0) + a.team_new_box_num month_box_num,
|
||||
a.team_new_box_num,
|
||||
nvl(b.consume_pv, 0) + a.new_consume_pv consume_pv,
|
||||
nvl(month_consume_pv, 0) + a.new_consume_pv month_consume_pv,
|
||||
a.new_consume_pv,
|
||||
nvl(b.team_consume_amount, 0) + a.team_new_amount team_consume_amount,
|
||||
nvl(b.team_consume_pv, 0) + a.team_new_pv team_consume_pv,
|
||||
nvl(b.team_month_amount, 0) + a.team_new_amount team_month_amount,
|
||||
nvl(b.team_month_pv, 0) + a.team_new_pv team_month_pv,
|
||||
a.team_new_amount,
|
||||
a.team_new_pv,
|
||||
bg.grade_value,
|
||||
bg.grade_name,
|
||||
bw.awards_value,
|
||||
bw.awards_name,
|
||||
nvl(b.big_box_num, 0) big_box_num,
|
||||
nvl(b.small_box_num, 0) small_box_num,
|
||||
nvl(b.big_team_pv, 0) big_team_pv,
|
||||
nvl(b.small_team_pv, 0) small_team_pv,
|
||||
a.system_type,
|
||||
bw.range_ratio,
|
||||
bw.benefit_avg_ratio,
|
||||
bw.benefit_share_ratio,
|
||||
br.name country_name
|
||||
from ${secondTableName} a
|
||||
left join ${secondTableName} a
|
||||
on cm.pk_id = a.pk_member
|
||||
left join ${rangeTableName} b
|
||||
on a.pk_member = b.pk_member
|
||||
inner join cu_member cm
|
||||
on cm.pk_id = a.pk_member
|
||||
inner join bd_awards bw
|
||||
on bw.pk_id = a.pk_awards
|
||||
inner join bd_grade bg
|
||||
on bg.pk_id = a.pk_grade
|
||||
left join cu_member_retail_region cr
|
||||
on cr.pk_member = cm.pk_id and cr.effective = 0 and cr.del_flag = 0
|
||||
left join bd_area br
|
||||
on br.pk_id = cr.county and br.del_flag = 0
|
||||
where bw.del_flag = 0
|
||||
and bg.del_flag = 0
|
||||
and a.pk_parent = #{pkMember}
|
||||
-->
|
||||
on cm.pk_id = b.pk_member
|
||||
where cm.pk_parent = #{pkMember}
|
||||
and cm.del_flag = 0
|
||||
</select>
|
||||
|
||||
<select id="queryCuMemberRetailRangeEnoughAchieve" resultType="com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt">
|
||||
|
|
@ -779,7 +805,11 @@
|
|||
big_box_num,
|
||||
small_box_num,
|
||||
big_team_pv,
|
||||
small_team_pv
|
||||
small_team_pv,
|
||||
all_team_box_num,
|
||||
all_team_month_box_num,
|
||||
all_team_consume_pv,
|
||||
all_team_month_pv
|
||||
from ${tableName}
|
||||
where pk_parent = #{pkParent}
|
||||
</select>
|
||||
|
|
|
|||
|
|
@ -463,70 +463,80 @@
|
|||
<update id="createCuMemberRetailRangeSecondTable">
|
||||
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
|
||||
)
|
||||
</update>
|
||||
|
||||
<update id="createCuMemberRetailRangeTable">
|
||||
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
|
||||
)
|
||||
</update>
|
||||
|
||||
|
|
|
|||
|
|
@ -307,15 +307,16 @@
|
|||
<update id="updateCuMemberMinGradeByList">
|
||||
merge into cu_member a
|
||||
using (
|
||||
select pk_member, min(pk_grade) pk_grade from(
|
||||
select pk_member, min(pk_grade) pk_grade from (
|
||||
<foreach item="item" index="index" collection="cuMemberGradeList" separator=" union ">
|
||||
select #{item.pkMember} pk_member,#{item.newLevel} pk_grade from dual
|
||||
</foreach>)
|
||||
select #{item.pkMember} pk_member, #{item.newLevel} pk_grade from dual
|
||||
</foreach>
|
||||
)
|
||||
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
|
||||
</update>
|
||||
|
||||
<update id="updateCuMemberLevel">
|
||||
|
|
|
|||
|
|
@ -4,16 +4,16 @@
|
|||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.hzs.common.domain.member.bonus.BdWaresBonusItems">
|
||||
<id column="PK_ID" property="pkId" />
|
||||
<result column="DEL_FLAG" property="delFlag" />
|
||||
<result column="PK_COUNTRY" property="pkCountry" />
|
||||
<result column="CREATION_TIME" property="creationTime" />
|
||||
<result column="MODIFIED_TIME" property="modifiedTime" />
|
||||
<result column="PK_CREATOR" property="pkCreator" />
|
||||
<result column="PK_MODIFIED" property="pkModified" />
|
||||
<result column="PK_WARES_BONUS" property="pkWaresBonus" />
|
||||
<result column="ASS_ACHIEVE" property="assAchieve" />
|
||||
<result column="ALGEBRA" property="algebra" />
|
||||
<id column="PK_ID" property="pkId"/>
|
||||
<result column="DEL_FLAG" property="delFlag"/>
|
||||
<result column="PK_COUNTRY" property="pkCountry"/>
|
||||
<result column="CREATION_TIME" property="creationTime"/>
|
||||
<result column="MODIFIED_TIME" property="modifiedTime"/>
|
||||
<result column="PK_CREATOR" property="pkCreator"/>
|
||||
<result column="PK_MODIFIED" property="pkModified"/>
|
||||
<result column="PK_WARES_BONUS" property="pkWaresBonus"/>
|
||||
<result column="ASS_ACHIEVE" property="assAchieve"/>
|
||||
<result column="ALGEBRA" property="algebra"/>
|
||||
</resultMap>
|
||||
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -72,17 +72,6 @@
|
|||
SELECT 1 FROM dual
|
||||
</insert>
|
||||
|
||||
<insert id="insertCuMemberBonusDetail">
|
||||
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})
|
||||
</insert>
|
||||
<delete id="deleteCuMemberBonusDetail">
|
||||
delete
|
||||
from CU_MEMBER_BONUS_DETAIL
|
||||
|
|
|
|||
|
|
@ -77,19 +77,7 @@
|
|||
</foreach>
|
||||
SELECT 1 FROM dual
|
||||
</insert>
|
||||
<insert id="insertCuMemberBonusExpand">
|
||||
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})
|
||||
</insert>
|
||||
|
||||
<delete id="deleteCuMemberBonusExpand">
|
||||
delete
|
||||
from CU_MEMBER_BONUS_EXPAND
|
||||
|
|
|
|||
|
|
@ -244,37 +244,6 @@
|
|||
b.retail_real_subtotal)
|
||||
</insert>
|
||||
|
||||
<select id="queryMemberBonusTotalByCondition" resultMap="CuMemberBonus">
|
||||
select cb.period,sum(direct_income) direct_income,sum(expand_income) expand_income,sum(expand_no_capping) expand_no_capping,
|
||||
sum(expand_capping) expand_capping,sum(coach_income) coach_income,sum(share_income) share_income,
|
||||
sum(service_income) service_income,sum(back_points) back_points,sum(service_spend) service_spend,
|
||||
sum(pur_real_subtotal) pur_real_subtotal,sum(repur_range_income) repur_range_income,sum(repur_expand_income) repur_expand_income,
|
||||
sum(repur_real_subtotal) repur_real_subtotal,sum(cloud_direct_income) cloud_direct_income,sum(cloud_pur_income) cloud_pur_income,
|
||||
sum(cloud_repur_income) cloud_repur_income,sum(cloud_real_subtotal) cloud_real_subtotal,sum(repur_coupon) repur_coupon,
|
||||
sum(repur_coupon_share) repur_coupon_share,sum(repur_coupon_subtotal) repur_coupon_subtotal,
|
||||
sum(global_points) global_points,sum(car_award_points) car_award_points,sum(hi_fun_income) hi_fun_income,
|
||||
sum(real_income_total) real_income_total,cp.settle_date from cu_member_bonus cb
|
||||
inner join cu_member cm
|
||||
on cb.pk_member = cm.pk_id
|
||||
inner join cu_member_settle_period cp
|
||||
on cb.period = cp.pk_id
|
||||
where cb.del_flag=0 and cm.del_flag=0
|
||||
and cp.del_flag=0 and cb.income_status=0
|
||||
<if test="pkVertex != null and pkVertex != ''">
|
||||
and cm.pk_vertex = #{pkVertex}
|
||||
</if>
|
||||
<if test="pkTeamCode != null and pkTeamCode != ''">
|
||||
and cm.pk_team_code = #{pkTeamCode}
|
||||
</if>
|
||||
<if test="startDate != null">
|
||||
and cp.settle_date >=#{startDate, jdbcType=DATE}
|
||||
</if>
|
||||
<if test="endDate != null">
|
||||
and cp.settle_date < #{endDate, jdbcType=DATE}
|
||||
</if>
|
||||
group by cb.period,cp.settle_date
|
||||
</select>
|
||||
|
||||
<select id="queryMemberBonusByCondition" resultMap="CuMemberBonus">
|
||||
select cp.settle_date,
|
||||
cb.direct_income,
|
||||
|
|
@ -591,18 +560,6 @@
|
|||
from dual connect by rownum <= #{rowNum}
|
||||
</select>
|
||||
|
||||
<select id="queryWeekMemberBonus" resultMap="CuMemberBonus">
|
||||
select cb.pk_member, sum(expand_income) expand_income, sum(repur_expand_income) repur_expand_income
|
||||
from cu_member_bonus cb
|
||||
inner join BD_SYSTEM_CONFIG sy
|
||||
on cb.pk_country = sy.pk_country
|
||||
where sy.key = 'EXPAND_CAP_METHOD1'
|
||||
and sy.value = '2'
|
||||
and cb.period >= #{startPeriod}
|
||||
and cb.period < #{endPeriod}
|
||||
group by cb.pk_member
|
||||
</select>
|
||||
|
||||
<update id="recalculateTeamNewBoxNum">
|
||||
MERGE INTO ${retailsTableName} s
|
||||
USING (
|
||||
|
|
|
|||
|
|
@ -1,20 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.hzs.bonus.bonus.mapper.CuMemberBonusPushHisMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.hzs.common.domain.member.bonus.CuMemberBonusPushHis">
|
||||
<id column="PK_ID" property="pkId" />
|
||||
<result column="DEL_FLAG" property="delFlag" />
|
||||
<result column="PK_COUNTRY" property="pkCountry" />
|
||||
<result column="PK_CREATOR" property="pkCreator" />
|
||||
<result column="CREATION_TIME" property="creationTime" />
|
||||
<result column="PK_MODIFIED" property="pkModified" />
|
||||
<result column="MODIFIED_TIME" property="modifiedTime" />
|
||||
<result column="PK_MEMBER" property="pkMember" />
|
||||
<result column="CAL_ACHIEVE" property="calAchieve" />
|
||||
<result column="ROUND" property="round" />
|
||||
<result column="SECOND" property="second" />
|
||||
</resultMap>
|
||||
|
||||
</mapper>
|
||||
|
|
@ -4,51 +4,53 @@
|
|||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="CuMemberShareBonusExt" type="com.hzs.common.domain.member.ext.CuMemberShareBonusExt">
|
||||
<id column="PK_ID" property="pkId" />
|
||||
<result column="DEL_FLAG" property="delFlag" />
|
||||
<result column="CREATION_TIME" property="creationTime" />
|
||||
<result column="MODIFIED_TIME" property="modifiedTime" />
|
||||
<result column="PK_COUNTRY" property="pkCountry" />
|
||||
<result column="PK_CREATOR" property="pkCreator" />
|
||||
<result column="PK_MODIFIED" property="pkModified" />
|
||||
<result column="PERIOD" property="period" />
|
||||
<result column="PK_RATE" property="pkRate" />
|
||||
<result column="SETTLE_MONTH" property="settleMonth" />
|
||||
<result column="EXPECT_SHARE_TOTAL" property="expectShareTotal" />
|
||||
<result column="REAL_SHARE_TOTAL" property="realShareTotal" />
|
||||
<id column="PK_ID" property="pkId"/>
|
||||
<result column="DEL_FLAG" property="delFlag"/>
|
||||
<result column="CREATION_TIME" property="creationTime"/>
|
||||
<result column="MODIFIED_TIME" property="modifiedTime"/>
|
||||
<result column="PK_COUNTRY" property="pkCountry"/>
|
||||
<result column="PK_CREATOR" property="pkCreator"/>
|
||||
<result column="PK_MODIFIED" property="pkModified"/>
|
||||
<result column="PERIOD" property="period"/>
|
||||
<result column="PK_RATE" property="pkRate"/>
|
||||
<result column="SETTLE_MONTH" property="settleMonth"/>
|
||||
<result column="EXPECT_SHARE_TOTAL" property="expectShareTotal"/>
|
||||
<result column="REAL_SHARE_TOTAL" property="realShareTotal"/>
|
||||
<collection property="cuMemberShareDetailList" ofType="com.hzs.common.domain.member.ext.CuMemberShareDetailExt">
|
||||
<result column="PK_DETAIL_ID" property="pkId" />
|
||||
<result column="PK_SHARE_BONUS" property="pkShareBonus" />
|
||||
<result column="PK_AWARDS" property="pkAwards" />
|
||||
<result column="pk_awards_val" property="pkAwardsVal" />
|
||||
<result column="PROMOTE_TOTAL" property="promoteTotal" />
|
||||
<result column="REACH_TOTAL" property="reachTotal" />
|
||||
<result column="EXPECT_SHARE_INCOME" property="expectShareIncome" />
|
||||
<result column="EXPECT_SHARE_SUBTOTAL" property="expectShareSubtotal" />
|
||||
<result column="REAL_SHARE_INCOME" property="realShareIncome" />
|
||||
<result column="REAL_SHARE_SUBTOTAL" property="realShareSubtotal" />
|
||||
<result column="PK_DETAIL_ID" property="pkId"/>
|
||||
<result column="PK_SHARE_BONUS" property="pkShareBonus"/>
|
||||
<result column="PK_AWARDS" property="pkAwards"/>
|
||||
<result column="pk_awards_val" property="pkAwardsVal"/>
|
||||
<result column="PROMOTE_TOTAL" property="promoteTotal"/>
|
||||
<result column="REACH_TOTAL" property="reachTotal"/>
|
||||
<result column="EXPECT_SHARE_INCOME" property="expectShareIncome"/>
|
||||
<result column="EXPECT_SHARE_SUBTOTAL" property="expectShareSubtotal"/>
|
||||
<result column="REAL_SHARE_INCOME" property="realShareIncome"/>
|
||||
<result column="REAL_SHARE_SUBTOTAL" property="realShareSubtotal"/>
|
||||
</collection>
|
||||
</resultMap>
|
||||
</resultMap>
|
||||
|
||||
<!-- 通用查询结果列 -->
|
||||
<sql id="Base_Column_List">
|
||||
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
|
||||
</sql>
|
||||
<select id="queryCuMemberShareBonus" resultMap="CuMemberShareBonusExt">
|
||||
select cb.*,cb.pk_id pk_detail_id,cd.pk_awards,pk_share_bonus,promote_total,reach_total,expect_share_income,
|
||||
expect_share_subtotal,real_share_income,real_share_subtotal,ba.awards_name pk_awards_val from cu_member_share_bonus cb
|
||||
inner join cu_member_share_detail cd
|
||||
on cb.pk_id = cd.pk_share_bonus
|
||||
left join bd_awards ba
|
||||
on cd.pk_awards = ba.pk_id
|
||||
where cb.del_flag=0 and cd.del_flag=0 and
|
||||
cb.settle_month = #{settleMonth} and cb.pk_country = #{pkCountry}
|
||||
select cb.*,
|
||||
cb.pk_id pk_detail_id,
|
||||
cd.pk_awards,
|
||||
pk_share_bonus,
|
||||
promote_total,
|
||||
reach_total,
|
||||
expect_share_income,
|
||||
expect_share_subtotal,
|
||||
real_share_income,
|
||||
real_share_subtotal,
|
||||
ba.awards_name pk_awards_val
|
||||
from cu_member_share_bonus cb
|
||||
inner join cu_member_share_detail cd
|
||||
on cb.pk_id = cd.pk_share_bonus
|
||||
left join bd_awards ba
|
||||
on cd.pk_awards = ba.pk_id
|
||||
where cb.del_flag = 0
|
||||
and cd.del_flag = 0
|
||||
and cb.settle_month = #{settleMonth}
|
||||
and cb.pk_country = #{pkCountry}
|
||||
order by pk_awards
|
||||
</select>
|
||||
|
||||
|
|
|
|||
|
|
@ -4,62 +4,45 @@
|
|||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="CuMemberShareDetail" type="com.hzs.common.domain.member.bonus.CuMemberShareDetail">
|
||||
<id column="PK_ID" property="pkId" />
|
||||
<result column="PK_SHARE_BONUS" property="pkShareBonus" />
|
||||
<result column="DEL_FLAG" property="delFlag" />
|
||||
<result column="CREATION_TIME" property="creationTime" />
|
||||
<result column="MODIFIED_TIME" property="modifiedTime" />
|
||||
<result column="PK_COUNTRY" property="pkCountry" />
|
||||
<result column="PK_CREATOR" property="pkCreator" />
|
||||
<result column="PK_MODIFIED" property="pkModified" />
|
||||
<result column="PK_AWARDS" property="pkAwards" />
|
||||
<result column="PROMOTE_TOTAL" property="promoteTotal" />
|
||||
<result column="REACH_TOTAL" property="reachTotal" />
|
||||
<result column="EXPECT_SHARE_INCOME" property="expectShareIncome" />
|
||||
<result column="EXPECT_SHARE_SUBTOTAL" property="expectShareSubtotal" />
|
||||
<result column="REAL_SHARE_INCOME" property="realShareIncome" />
|
||||
<result column="REAL_SHARE_SUBTOTAL" property="realShareSubtotal" />
|
||||
<id column="PK_ID" property="pkId"/>
|
||||
<result column="PK_SHARE_BONUS" property="pkShareBonus"/>
|
||||
<result column="DEL_FLAG" property="delFlag"/>
|
||||
<result column="CREATION_TIME" property="creationTime"/>
|
||||
<result column="MODIFIED_TIME" property="modifiedTime"/>
|
||||
<result column="PK_COUNTRY" property="pkCountry"/>
|
||||
<result column="PK_CREATOR" property="pkCreator"/>
|
||||
<result column="PK_MODIFIED" property="pkModified"/>
|
||||
<result column="PK_AWARDS" property="pkAwards"/>
|
||||
<result column="PROMOTE_TOTAL" property="promoteTotal"/>
|
||||
<result column="REACH_TOTAL" property="reachTotal"/>
|
||||
<result column="EXPECT_SHARE_INCOME" property="expectShareIncome"/>
|
||||
<result column="EXPECT_SHARE_SUBTOTAL" property="expectShareSubtotal"/>
|
||||
<result column="REAL_SHARE_INCOME" property="realShareIncome"/>
|
||||
<result column="REAL_SHARE_SUBTOTAL" property="realShareSubtotal"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 通用查询结果列 -->
|
||||
<sql id="Base_Column_List">
|
||||
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
|
||||
</sql>
|
||||
<update id="saveMemberShareBonus">
|
||||
merge into cu_member_share_detail a
|
||||
using(
|
||||
<foreach collection="cuMemberShareDetailList" item="item" separator=" union ">
|
||||
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
|
||||
</foreach>
|
||||
) b
|
||||
<foreach collection="cuMemberShareDetailList" item="item" separator=" union ">
|
||||
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
|
||||
</foreach>
|
||||
) 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
|
||||
</update>
|
||||
<select id="queryCuMemberShareBonusByPeriod" resultMap="CuMemberShareDetail">
|
||||
select cd.* from CU_MEMBER_SHARE_BONUS ch
|
||||
inner join CU_MEMBER_SHARE_DETAIL cd
|
||||
on ch.pk_id =cd.pk_share_bonus
|
||||
where ch.del_flag=0 and cd.del_flag=0
|
||||
and ch.period=#{period}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -1,23 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.hzs.bonus.bonus.mapper.CuMemberShareMaxMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.hzs.common.domain.member.bonus.CuMemberShareMax">
|
||||
<id column="PK_ID" property="pkId" />
|
||||
<result column="DEL_FLAG" property="delFlag" />
|
||||
<result column="CREATION_TIME" property="creationTime" />
|
||||
<result column="MODIFIED_TIME" property="modifiedTime" />
|
||||
<result column="PK_COUNTRY" property="pkCountry" />
|
||||
<result column="PK_CREATOR" property="pkCreator" />
|
||||
<result column="PK_MODIFIED" property="pkModified" />
|
||||
<result column="PERIOD" property="period" />
|
||||
<result column="PK_RATE" property="pkRate" />
|
||||
<result column="ORDER_ACHIEVE" property="orderAchieve" />
|
||||
<result column="SHARE_INCOME" property="shareIncome" />
|
||||
</resultMap>
|
||||
<delete id="deleteCuMemberShareMax">
|
||||
delete from CU_MEMBER_SHARE_MAX where period = #{period} and del_flag=0
|
||||
</delete>
|
||||
|
||||
</mapper>
|
||||
|
|
@ -85,6 +85,18 @@
|
|||
a.pk_grade = b.pk_grade
|
||||
</update>
|
||||
|
||||
<!-- 查询订单升级记录 -->
|
||||
<select id="getMemberLevel" resultType="com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt">
|
||||
select cml.pk_member, bg.pk_id pk_grade, bg.grade_value
|
||||
from cu_member_level cml
|
||||
left join bd_grade bg
|
||||
on bg.pk_id = cml.new_level
|
||||
where cml.del_flag = 0
|
||||
and cml.up_type = 4
|
||||
and cml.pk_member = #{pkMember}
|
||||
and cml.pk_order = #{pkOrder}
|
||||
</select>
|
||||
|
||||
<!-- 删除等级 -->
|
||||
<delete id="deleteCuMemberGrade">
|
||||
update cu_member_grade
|
||||
|
|
|
|||
|
|
@ -4,101 +4,133 @@
|
|||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="CuRegionAssessDetail" type="com.hzs.common.domain.member.detail.CuRegionAssessDetail">
|
||||
<id column="PK_ID" property="pkId" />
|
||||
<result column="PK_MEMBER" property="pkMember" />
|
||||
<result column="DEL_FLAG" property="delFlag" />
|
||||
<result column="PK_COUNTRY" property="pkCountry" />
|
||||
<result column="CREATION_TIME" property="creationTime" />
|
||||
<result column="PK_CREATOR" property="pkCreator" />
|
||||
<result column="MODIFIED_TIME" property="modifiedTime" />
|
||||
<result column="PK_MODIFIED" property="pkModified" />
|
||||
<result column="PK_REGION_ASSESS" property="pkRegionAssess" />
|
||||
<result column="ASSESS_DATE" property="assessDate" />
|
||||
<result column="PK_AWARDS" property="pkAwards" />
|
||||
<result column="TEAM_MONTH_PV" property="teamMonthPv" />
|
||||
<result column="SMALL_AREA_PV" property="smallAreaPv" />
|
||||
<result column="ASSESS_STATUS" property="assessStatus" />
|
||||
<id column="PK_ID" property="pkId"/>
|
||||
<result column="PK_MEMBER" property="pkMember"/>
|
||||
<result column="DEL_FLAG" property="delFlag"/>
|
||||
<result column="PK_COUNTRY" property="pkCountry"/>
|
||||
<result column="CREATION_TIME" property="creationTime"/>
|
||||
<result column="PK_CREATOR" property="pkCreator"/>
|
||||
<result column="MODIFIED_TIME" property="modifiedTime"/>
|
||||
<result column="PK_MODIFIED" property="pkModified"/>
|
||||
<result column="PK_REGION_ASSESS" property="pkRegionAssess"/>
|
||||
<result column="ASSESS_DATE" property="assessDate"/>
|
||||
<result column="PK_AWARDS" property="pkAwards"/>
|
||||
<result column="TEAM_MONTH_PV" property="teamMonthPv"/>
|
||||
<result column="SMALL_AREA_PV" property="smallAreaPv"/>
|
||||
<result column="ASSESS_STATUS" property="assessStatus"/>
|
||||
</resultMap>
|
||||
|
||||
<insert id="batchInsertCuRegionAssessDetail">
|
||||
insert ALL
|
||||
<foreach item="item" index="index" collection="cuRegionAssessDetailList" separator=" " >
|
||||
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}
|
||||
)
|
||||
<foreach item="item" index="index" collection="cuRegionAssessDetailList" separator=" ">
|
||||
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})
|
||||
</foreach>
|
||||
SELECT 1 FROM dual
|
||||
</insert>
|
||||
|
||||
<update id="mergeCuRegionAssessDetailTeamPv">
|
||||
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
|
||||
</update>
|
||||
|
||||
<update id="mergeCuRegionAssessDetailSmallAreaPv">
|
||||
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>
|
||||
|
||||
<update id="updateCuRegionAssessDetailInit">
|
||||
update cu_region_assess_detail set assess_status=2 where del_flag=0 and assess_date=#{assessDate, jdbcType=DATE}
|
||||
</update>
|
||||
<update id="updateCuRegionAssessDetailByPv">
|
||||
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>
|
||||
<update id="updateCuRegionAssessDetailByHand">
|
||||
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 id="updateCuRegionAssessDetailByPv">
|
||||
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>
|
||||
|
||||
<update id="updateAssessRegionDetailByDate">
|
||||
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})
|
||||
</update>
|
||||
|
||||
<delete id="deleteAssessRegionDetailByDate">
|
||||
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}
|
||||
<choose>
|
||||
<when test="assessPeriod == 1">and assess_period=#{assessPeriod}</when>
|
||||
<otherwise>and assess_period >= #{assessPeriod}</otherwise>
|
||||
</choose>
|
||||
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}
|
||||
<choose>
|
||||
<when test="assessPeriod == 1">and assess_period = #{assessPeriod}</when>
|
||||
<otherwise>and assess_period >= #{assessPeriod}</otherwise>
|
||||
</choose>
|
||||
)
|
||||
</delete>
|
||||
|
||||
<select id="batchQueryCuRegionAssessDetailSeq" resultType="java.lang.Long">
|
||||
select cu_region_assess_detail_seq.nextval from dual connect by rownum <= #{rowNum}
|
||||
select cu_region_assess_detail_seq.nextval
|
||||
from dual connect by rownum <= #{rowNum}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -4,96 +4,137 @@
|
|||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="CuRegionAssessExt" type="com.hzs.common.domain.member.detail.ext.CuRegionAssessExt">
|
||||
<id column="PK_ID" property="pkId" />
|
||||
<result column="DEL_FLAG" property="delFlag" />
|
||||
<result column="PK_COUNTRY" property="pkCountry" />
|
||||
<result column="CREATION_TIME" property="creationTime" />
|
||||
<result column="PK_CREATOR" property="pkCreator" />
|
||||
<result column="MODIFIED_TIME" property="modifiedTime" />
|
||||
<result column="PK_MODIFIED" property="pkModified" />
|
||||
<result column="PK_MEMBER" property="pkMember" />
|
||||
<result column="PK_REGION" property="pkRegion" />
|
||||
<result column="ASSESS_PERIOD" property="assessPeriod" />
|
||||
<result column="ASSESS_START_DATE" property="assessStartDate" />
|
||||
<result column="ASSESS_END_DATE" property="assessEndDate" />
|
||||
<result column="REACH_NUM" property="reachNum" />
|
||||
<result column="SOURCE" property="source" />
|
||||
<result column="MEMBER_CODE" property="memberCode" />
|
||||
<result column="MEMBER_NAME" property="memberName" />
|
||||
<result column="PROVINCE_NAME" property="provinceName" />
|
||||
<result column="CITY_NAME" property="cityName" />
|
||||
<result column="COUNTY_NAME" property="countyName" />
|
||||
<result column="ASSESS_ADDRESS" property="assessAddress" />
|
||||
<id column="PK_ID" property="pkId"/>
|
||||
<result column="DEL_FLAG" property="delFlag"/>
|
||||
<result column="PK_COUNTRY" property="pkCountry"/>
|
||||
<result column="CREATION_TIME" property="creationTime"/>
|
||||
<result column="PK_CREATOR" property="pkCreator"/>
|
||||
<result column="MODIFIED_TIME" property="modifiedTime"/>
|
||||
<result column="PK_MODIFIED" property="pkModified"/>
|
||||
<result column="PK_MEMBER" property="pkMember"/>
|
||||
<result column="PK_REGION" property="pkRegion"/>
|
||||
<result column="ASSESS_PERIOD" property="assessPeriod"/>
|
||||
<result column="ASSESS_START_DATE" property="assessStartDate"/>
|
||||
<result column="ASSESS_END_DATE" property="assessEndDate"/>
|
||||
<result column="REACH_NUM" property="reachNum"/>
|
||||
<result column="SOURCE" property="source"/>
|
||||
<result column="MEMBER_CODE" property="memberCode"/>
|
||||
<result column="MEMBER_NAME" property="memberName"/>
|
||||
<result column="PROVINCE_NAME" property="provinceName"/>
|
||||
<result column="CITY_NAME" property="cityName"/>
|
||||
<result column="COUNTY_NAME" property="countyName"/>
|
||||
<result column="ASSESS_ADDRESS" property="assessAddress"/>
|
||||
<collection property="cuRegionAssessDetailList" ofType="com.hzs.common.domain.member.detail.CuRegionAssessDetail">
|
||||
<result column="ASSESS_DATE" property="assessDate" />
|
||||
<result column="PK_AWARDS" property="pkAwards" />
|
||||
<result column="TEAM_MONTH_PV" property="teamMonthPv" />
|
||||
<result column="SMALL_AREA_PV" property="smallAreaPv" />
|
||||
<result column="ASSESS_STATUS" property="assessStatus" />
|
||||
<result column="ASSESS_DATE" property="assessDate"/>
|
||||
<result column="PK_AWARDS" property="pkAwards"/>
|
||||
<result column="TEAM_MONTH_PV" property="teamMonthPv"/>
|
||||
<result column="SMALL_AREA_PV" property="smallAreaPv"/>
|
||||
<result column="ASSESS_STATUS" property="assessStatus"/>
|
||||
</collection>
|
||||
</resultMap>
|
||||
|
||||
<insert id="batchInsertCuRegionAssess">
|
||||
insert ALL
|
||||
<foreach item="item" index="index" collection="cuRegionAssessList" separator=" " >
|
||||
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}
|
||||
)
|
||||
<foreach item="item" index="index" collection="cuRegionAssessList" separator=" ">
|
||||
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})
|
||||
</foreach>
|
||||
SELECT 1 FROM dual
|
||||
</insert>
|
||||
|
||||
<update id="mergeCuRegionAssess">
|
||||
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
|
||||
<!-- 手动开通的,只查询手效期前6个月的数据 -->
|
||||
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>
|
||||
|
||||
<update id="updateAssessRegionByDate">
|
||||
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})
|
||||
</update>
|
||||
|
||||
<delete id="deleteAssessRegionByDate">
|
||||
delete from cu_region_assess where del_flag=0 and
|
||||
assess_start_date=#{assessStartDate, jdbcType=DATE}
|
||||
assess_start_date=#{assessStartDate, jdbcType=DATE}
|
||||
<choose>
|
||||
<when test="assessPeriod == 1">and assess_period=#{assessPeriod}</when>
|
||||
<otherwise>and assess_period >= #{assessPeriod}</otherwise>
|
||||
</choose>
|
||||
</delete>
|
||||
|
||||
<select id="queryCuMemberRetailRegion" resultType="com.hzs.common.domain.retail.member.CuMemberRetailRegion">
|
||||
select * from cu_member_retail_region where effective=0 and del_flag=0
|
||||
and nvl(modified_time,creation_time)>= #{startDate, jdbcType=DATE}
|
||||
and nvl(modified_time,creation_time) < #{endDate, jdbcType=DATE}
|
||||
select *
|
||||
from cu_member_retail_region
|
||||
where effective = 0
|
||||
and del_flag = 0
|
||||
and nvl(modified_time, creation_time) >= #{startDate, jdbcType=DATE}
|
||||
and nvl(modified_time, creation_time) < #{endDate, jdbcType=DATE}
|
||||
</select>
|
||||
|
||||
<select id="batchQueryCuRegionAssessSeq" resultType="java.lang.Long">
|
||||
select cu_region_assess_seq.nextval from dual connect by rownum <= #{rowNum}
|
||||
select cu_region_assess_seq.nextval
|
||||
from dual connect by rownum <= #{rowNum}
|
||||
</select>
|
||||
|
||||
<select id="queryRegionAssessByCondition" resultMap="CuRegionAssessExt">
|
||||
select cm.member_code,cm.member_name,ca.reach_num,ca.assess_period,
|
||||
ca.assess_start_date,ca.assess_end_date,ca.reach_num,
|
||||
(province.name||city.name||county.name) assess_address,
|
||||
cd.assess_date,cd.assess_status,cd.team_month_pv,cd.small_area_pv,
|
||||
cd.assess_status /* province.name,city.name,county.name,*/
|
||||
from cu_region_assess ca
|
||||
ca.assess_start_date,ca.assess_end_date,ca.reach_num,
|
||||
(province.name||city.name||county.name) assess_address,
|
||||
cd.assess_date,cd.assess_status,cd.team_month_pv,cd.small_area_pv,
|
||||
cd.assess_status /* province.name,city.name,county.name,*/
|
||||
from cu_region_assess ca
|
||||
inner join cu_region_assess_detail cd
|
||||
on ca.pk_id=cd.pk_region_assess
|
||||
inner join cu_member cm
|
||||
|
|
@ -103,7 +144,7 @@
|
|||
left join bd_area province on province.PK_ID=cr.province
|
||||
left join bd_area city on city.PK_ID=cr.city
|
||||
left join bd_area county on county.PK_ID=cr.county
|
||||
where ca.del_flag=0 and cd.del_flag=0 and cm.del_flag=0 and cr.del_flag=0
|
||||
where ca.del_flag=0 and cd.del_flag=0 and cm.del_flag=0 and cr.del_flag=0
|
||||
<if test="regionAssessParam.assessDate != null">
|
||||
and cd.assess_date <= #{regionAssessParam.assessDate,jdbcType=DATE}
|
||||
</if>
|
||||
|
|
@ -121,22 +162,25 @@
|
|||
</if>
|
||||
</select>
|
||||
<select id="queryDueCuMemberRetailRegion" resultType="com.hzs.common.domain.retail.member.CuMemberRetailRegion">
|
||||
select * from cu_member_retail_region where effective=0 and del_flag=0
|
||||
and effective_end_date>= #{startDate, jdbcType=DATE}
|
||||
and effective_end_date < #{endDate, jdbcType=DATE}
|
||||
select *
|
||||
from cu_member_retail_region
|
||||
where effective = 0
|
||||
and del_flag = 0
|
||||
and effective_end_date >= #{startDate, jdbcType=DATE}
|
||||
and effective_end_date < #{endDate, jdbcType=DATE}
|
||||
</select>
|
||||
<select id="queryRegionAssessByDate"
|
||||
resultType="com.hzs.common.domain.member.detail.ext.CuRegionAssessExt">
|
||||
select cd.pk_member,count(cd.pk_id) pk_id from cu_region_assess ca
|
||||
inner join cu_region_assess_detail cd
|
||||
on ca.pk_id=cd.pk_region_assess
|
||||
inner join cu_region_assess_detail cd
|
||||
on ca.pk_id=cd.pk_region_assess
|
||||
where ca.del_flag=0 and cd.del_flag=0
|
||||
and cd.assess_date>=#{startDate, jdbcType=DATE} and cd.assess_date <=#{endDate, jdbcType=DATE}
|
||||
and assess_status=0 and ca.pk_member in
|
||||
and cd.assess_date>=#{startDate, jdbcType=DATE} and cd.assess_date <=#{endDate, jdbcType=DATE}
|
||||
and assess_status=0 and ca.pk_member in
|
||||
<foreach collection="memberRetailRegionList" item="item" open="(" close=")" separator=",">
|
||||
#{item.pkMember}
|
||||
</foreach>
|
||||
group by cd.pk_member
|
||||
group by cd.pk_member
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -61,6 +61,8 @@
|
|||
<result column="WARES_PRICE" property="waresPrice"/>
|
||||
<result column="WARES_CODE" property="waresCode"/>
|
||||
<result column="AREA_INCOME" property="areaIncome"/>
|
||||
<result column="AREA_INCOME_TYPE" property="areaIncomeType"/>
|
||||
<result column="WARES_BOX_NUM" property="waresBoxNum"/>
|
||||
</collection>
|
||||
<collection property="orderItemsExtList" ofType="com.hzs.common.domain.sale.ext.SaOrderItemsExt">
|
||||
<result column="SI_ITEMS_ID" property="pkId"/>
|
||||
|
|
@ -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)
|
||||
<if test="orderCode != null and orderCode != ''">
|
||||
and so.order_code=#{orderCode}
|
||||
</if>
|
||||
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)
|
||||
<if test="orderCode != null and orderCode != ''">
|
||||
and so.order_code=#{orderCode}
|
||||
</if>
|
||||
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)
|
||||
<if test="orderCode != null and orderCode != ''">
|
||||
and so.order_code=#{orderCode}
|
||||
</if>
|
||||
|
|
|
|||
|
|
@ -2521,10 +2521,13 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
|||
Set<WaresAuthorityParentParam> waresAuthorityParentParamList = new HashSet<>();
|
||||
// 安置查询
|
||||
Set<WaresAuthorityParentParam> waresAuthorityPlaceParamList = new HashSet<>();
|
||||
// 指定会员
|
||||
Set<Long> 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<CuMemberMapper, CuMember> 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<CuMemberMapper, CuMember> 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);
|
||||
|
|
|
|||
|
|
@ -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())
|
||||
|
|
|
|||
|
|
@ -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("当前区域已经被占用");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -267,6 +267,14 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
|
|||
*/
|
||||
private CuMemberRetailAchieveVO getMemberBigAndSmallAchieve(List<CuMemberRetailAchieveVO> 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<CuMemberRetail
|
|||
param.setLastMonthTableName(getDayTableName(param.getLastMonthDate()));
|
||||
log.info("MarketDynamicsQueryDateParam : {}", JSONUtil.toJsonStr(param));
|
||||
List<Long> pkMemberList = baseMapper.selectDirectPushByPkMember(pkMember, systemType);
|
||||
if(CollUtil.isEmpty(pkMemberList)){
|
||||
return new PageResult<MarketDynamicsDetailVO>(0, new ArrayList<>());
|
||||
}
|
||||
param.setPkIdList(pkMemberList);
|
||||
List<MarketDynamicsDetailVO> detailVOList = baseMapper.getMarketDynamicsDetail(param);
|
||||
log.info("detailVOList : {}", JSONUtil.toJsonStr(detailVOList));
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -62,17 +62,20 @@ public class CuMemberRetailAchieveVO implements Serializable {
|
|||
/**
|
||||
* 总盒数
|
||||
*/
|
||||
@BigDecimalFormat
|
||||
private BigDecimal totalBox;
|
||||
|
||||
/**
|
||||
* 小市场盒数
|
||||
*/
|
||||
@BigDecimalFormat
|
||||
private BigDecimal smallAreaBox;
|
||||
|
||||
|
||||
/**
|
||||
* 大市场盒数
|
||||
*/
|
||||
@BigDecimalFormat
|
||||
private BigDecimal bigAreaBox;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -445,7 +445,7 @@
|
|||
<!--开始大小区业绩 以累计为准 -->
|
||||
<select id="selectMemberOrderSumAchieveByPkMember" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
||||
SELECT sum(arealPv) arealPv
|
||||
FROM (SELECT NVL(mr.CONSUME_PV, 0) arealPv
|
||||
FROM (SELECT (NVL(mr.CONSUME_PV, 0) + NVL( mr.TEAM_CONSUME_PV, 0 )) arealPv
|
||||
FROM ${memberRetailTable} mr
|
||||
WHERE mr.category = 0
|
||||
AND mr.pk_member = #{pkMember}
|
||||
|
|
@ -496,13 +496,13 @@
|
|||
<foreach collection="pkMemberList" item="pkMember" separator="union all">
|
||||
SELECT SUM(t1.arealPv) arealPv ,#{pkMember} pkMember
|
||||
FROM (
|
||||
SELECT NVL(mr.CONSUME_PV + mr.TEAM_CONSUME_PV,0) arealPv
|
||||
SELECT NVL(mr.CONSUME_PV + mr.ALL_TEAM_CONSUME_PV,0) arealPv
|
||||
FROM ${memberRetailTable} mr
|
||||
WHERE mr.category = 0
|
||||
AND mr.pk_member = #{pkMember}
|
||||
UNION ALL
|
||||
SELECT
|
||||
NVL( mrs.NEW_CONSUME_PV + mrs.TEAM_NEW_PV, 0 ) arealPv
|
||||
NVL( mrs.NEW_CONSUME_PV + mrs.ALL_TEAM_NEW_PV, 0 ) arealPv
|
||||
FROM
|
||||
${memberRetailSTable} mrs
|
||||
WHERE mrs.pk_member = #{pkMember}
|
||||
|
|
@ -844,21 +844,21 @@
|
|||
mr.ENABLE_STATUS,
|
||||
NVL( mr.CONSUME_PV, 0 ) consumePv,
|
||||
NVL( mr.NEW_CONSUME_PV, 0 ) newConsumePv,
|
||||
NVL( mr.TEAM_CONSUME_PV, 0 ) teamConsumePv,
|
||||
NVL( mr.TEAM_NEW_PV, 0 ) teamNewPv,
|
||||
NVL( mr.All_TEAM_CONSUME_PV, 0 ) teamConsumePv,
|
||||
NVL( mr.All_TEAM_NEW_PV, 0 ) teamNewPv,
|
||||
|
||||
NVL( mr.CONSUME_BOX_NUM, 0 ) consumeBoxNum,
|
||||
NVL( mr.NEW_BOX_NUM, 0 ) newBoxNum,
|
||||
NVL( mr.TEAM_BOX_NUM, 0 ) teamBoxNum,
|
||||
NVL( mr.TEAM_NEW_BOX_NUM, 0 ) teamNewBoxNum,
|
||||
NVL( mr.All_TEAM_BOX_NUM, 0 ) teamBoxNum,
|
||||
NVL( mr.All_TEAM_NEW_BOX_NUM, 0 ) teamNewBoxNum,
|
||||
NVL( mr.BIG_BOX_NUM, 0 ) bigBoxNum,
|
||||
NVL( mr.SMALL_BOX_NUM, 0 ) smallBoxNum,
|
||||
|
||||
|
||||
NVL( mrs.NEW_BOX_NUM, 0 ) sNewBoxNum,
|
||||
NVL( mrs.TEAM_NEW_BOX_NUM, 0 ) sTeamNewBoxNum,
|
||||
NVL( mrs.NEW_CONSUME_PV, 0 ) sNewConsumePv,
|
||||
NVL( mrs.TEAM_NEW_PV, 0 ) sTeamNewPv
|
||||
NVL( mrs.ALL_NEW_BOX_NUM, 0 ) sNewBoxNum,
|
||||
NVL( mrs.ALL_TEAM_NEW_BOX_NUM, 0 ) sTeamNewBoxNum,
|
||||
NVL( mrs.ALL_NEW_CONSUME_PV, 0 ) sNewConsumePv,
|
||||
NVL( mrs.ALL_TEAM_NEW_PV, 0 ) sTeamNewPv
|
||||
FROM
|
||||
cu_member cu
|
||||
left join ${memberRetailTable} mr on cu.PK_ID = mr.PK_MEMBER and mr.CATEGORY = 0
|
||||
|
|
@ -882,15 +882,15 @@
|
|||
cu.PK_AWARDS,
|
||||
awards.AWARDS_NAME,
|
||||
currentMonth.ENABLE_STATUS,
|
||||
NVL( NVL( currentDay.NEW_CONSUME_PV, 0 ) + NVL( currentDay.TEAM_NEW_PV, 0 ), 0 ) todayPv,
|
||||
NVL( NVL( currentDay.NEW_BOX_NUM, 0 ) + NVL( currentDay.TEAM_NEW_BOX_NUM, 0 ), 0 ) todayBoxNum,
|
||||
NVL( NVL( currentDay.ALL_NEW_CONSUME_PV, 0 ) + NVL( currentDay.ALL_TEAM_NEW_PV, 0 ), 0 ) todayPv,
|
||||
NVL( NVL( currentDay.ALL_NEW_BOX_NUM, 0 ) + NVL( currentDay.ALL_TEAM_NEW_BOX_NUM, 0 ), 0 ) todayBoxNum,
|
||||
NVL( NVL( currentMonth.NEW_CONSUME_PV, 0 ) + NVL( currentMonth.TEAM_NEW_PV, 0 ), 0 ) yesterdayPv,
|
||||
NVL( NVL( currentMonth.NEW_BOX_NUM, 0 ) + NVL( currentMonth.TEAM_NEW_BOX_NUM, 0 ), 0 ) yesterdayBoxNum,
|
||||
NVL( NVL( currentMonth.MONTH_CONSUME_PV, 0 ) + NVL( currentDay.NEW_CONSUME_PV, 0 ) + NVL( currentDay.TEAM_NEW_PV, 0 ), 0 ) currentMonthPv,
|
||||
NVL( NVL( currentMonth.MONTH_BOX_NUM, 0 ) + NVL( currentMonth.TEAM_MONTH_BOX_NUM, 0 ) + NVL( currentDay.NEW_BOX_NUM, 0 ) + NVL( currentDay.TEAM_NEW_BOX_NUM, 0 ), 0 ) currentMonthBoxNum,
|
||||
NVL( NVL( currentMonth.MONTH_CONSUME_PV, 0 ) + NVL( currentDay.ALL_NEW_CONSUME_PV, 0 ) + NVL( currentDay.ALL_TEAM_NEW_PV, 0 ), 0 ) currentMonthPv,
|
||||
NVL( NVL( currentMonth.MONTH_BOX_NUM, 0 ) + NVL( currentMonth.TEAM_MONTH_BOX_NUM, 0 ) + NVL( currentDay.ALL_NEW_BOX_NUM, 0 ) + NVL( currentDay.ALL_TEAM_NEW_BOX_NUM, 0 ), 0 ) currentMonthBoxNum,
|
||||
NVL( lastMonth.MONTH_CONSUME_PV, 0 ) lastMonthPv,
|
||||
NVL( lastMonth.MONTH_BOX_NUM, 0 ) lastMonthBoxNum,
|
||||
NVL( NVL( currentMonth.CONSUME_BOX_NUM, 0 ) + NVL( currentDay.NEW_BOX_NUM, 0 ) + NVL( currentDay.TEAM_NEW_BOX_NUM, 0 ), 0 ) totalBoxNum
|
||||
NVL( NVL( currentMonth.CONSUME_BOX_NUM, 0 ) + NVL( currentDay.ALL_NEW_BOX_NUM, 0 ) + NVL( currentDay.ALL_TEAM_NEW_BOX_NUM, 0 ), 0 ) totalBoxNum
|
||||
FROM
|
||||
cu_member cu
|
||||
LEFT JOIN ${param.currentDayTableName} currentDay ON cu.PK_ID = currentDay.PK_MEMBER
|
||||
|
|
|
|||
|
|
@ -51,16 +51,8 @@
|
|||
LEFT JOIN BD_VERTEX bv ON cm.PK_VERTEX = bv.PK_ID
|
||||
LEFT JOIN BD_REGION_VERTEX brv ON bv.REGION_VERTEX_PK_ID = brv.PK_ID
|
||||
where 1=1
|
||||
and cm.pk_id = ${userId}
|
||||
and cmrr.system_type = #{systemType}
|
||||
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 = #{userId} )) and DEL_FLAG = 0))
|
||||
)
|
||||
and ba.pk_id not in (select cmrr.county
|
||||
from cu_member_retail_region cmrr
|
||||
where cmrr.del_flag = 0
|
||||
and cmrr.pk_country = 1
|
||||
and cmrr.effective = 0
|
||||
and cmrr.system_type = #{systemType}
|
||||
)
|
||||
</select>
|
||||
|
||||
<!-- 插入收益区域 -->
|
||||
|
|
@ -289,6 +281,7 @@
|
|||
</if>
|
||||
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>
|
||||
<select id="validateBindCountB" resultType="java.lang.Integer">
|
||||
SELECT
|
||||
|
|
@ -313,6 +306,7 @@
|
|||
</if>
|
||||
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}
|
||||
<!--
|
||||
GROUP BY
|
||||
NVL(TO_CHAR(brv.PK_ID), 'NULL_GROUP')
|
||||
|
|
|
|||
|
|
@ -7,15 +7,8 @@ import org.apache.ibatis.annotations.Param;
|
|||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @BelongsProject: hzs_cloud
|
||||
* @BelongsPackage: com.hzs.report.member.mapper
|
||||
* @Author: yh
|
||||
* @CreateTime: 2023-08-26 09:53
|
||||
* @Description: TODO
|
||||
* @Version: 1.0
|
||||
*/
|
||||
public interface MemberReportMapper {
|
||||
|
||||
/**
|
||||
* 查询伞下直推新增业绩-查询会员
|
||||
*
|
||||
|
|
@ -27,31 +20,22 @@ public interface MemberReportMapper {
|
|||
@Param("endPayTime") Date endPayTime);
|
||||
|
||||
/**
|
||||
* @description: 查询伞下直推新增业绩-业绩
|
||||
* @author: zhang jing
|
||||
* @date: 2023/9/6 14:10
|
||||
* @param: [pkMember, memberName, pkAwards, pkTeamCode, pkCountry, startPayTime, endPayTime, pkVertex]
|
||||
* @return: java.util.List<com.hzs.report.member.vo.DirectPushNewVo>
|
||||
* 查询伞下直推新增业绩-业绩
|
||||
*
|
||||
**/
|
||||
List<DirectPushNewVo> directPushNewAchieList(@Param("dpo") DirectPushNewVo dpo,
|
||||
@Param("pkMemberList") List<Long> pkMemberList);
|
||||
|
||||
/**
|
||||
* @description: 查询会员总盒数
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/14 15:02
|
||||
* @param: [dpb, pkMemberList]
|
||||
* @return: java.util.List<com.hzs.report.member.vo.DirectPushBoxVo>
|
||||
* 查询会员总盒数
|
||||
*
|
||||
**/
|
||||
List<DirectPushBoxVo> directPushNewBoxList(@Param("dpo") DirectPushBoxVo dpb,
|
||||
@Param("dpbList") List<DirectPushBoxVo> dpbList);
|
||||
|
||||
/**
|
||||
* @description: 查询伞下直推新增业绩-业绩
|
||||
* @author: zhang jing
|
||||
* @date: 2024/3/18 15:41
|
||||
* @param: [pkMember, startPayTime, endPayTime, pkCountry, monthList]
|
||||
* @return: java.util.List<com.hzs.report.member.vo.DirectPushNewVo>
|
||||
* 查询伞下直推新增业绩-业绩
|
||||
*
|
||||
**/
|
||||
List<DirectPushNewVo> directPushNewAchieUpList(@Param("dpo") DirectPushNewVo dpo,
|
||||
@Param("pkMemberList") List<Long> pkMemberList);
|
||||
|
|
@ -76,11 +60,8 @@ public interface MemberReportMapper {
|
|||
List<MemberResettleAchieveVo> memberResettleAchieve(@Param("pkMember") Long pkMember, @Param("memberName") String memberName, @Param("startPayTime") Date startPayTime, @Param("endPayTime") Date endPayTime, @Param("pkVertex") Integer pkVertex, @Param("pkTeamCode") Integer pkTeamCode, @Param("pkCountry") Integer pkCountry, @Param("pkAwards") Integer pkAwards, @Param("orderTypeList") List<Integer> orderTypeList);
|
||||
|
||||
/**
|
||||
* @description: 伞下新增安置业绩
|
||||
* @author: zhang jing
|
||||
* @date: 2024/3/12 16:57
|
||||
* @param: [pkMember, memberName, startPayTime, endPayTime, pkVertex, pkTeamCode, pkCountry, pkAwards, orderTypeList]
|
||||
* @return: java.util.List<com.hzs.report.member.vo.MemberResettleAchieveVo>
|
||||
* 伞下新增安置业绩
|
||||
*
|
||||
**/
|
||||
List<MemberResettleAchieveVo> selectBrollyNewABAchieve(@Param("pkMember") Long pkMember,
|
||||
@Param("memberName") String memberName,
|
||||
|
|
@ -165,14 +146,6 @@ public interface MemberReportMapper {
|
|||
*/
|
||||
List<ReportSummaryVo> reportSummaryList(ReportSummaryVo reportSummaryVo);
|
||||
|
||||
/**
|
||||
* 查询会员伞下订单左右区业绩
|
||||
*
|
||||
* @param pkMember
|
||||
* @return
|
||||
*/
|
||||
List<MemberPerformanceVo> brollyBelowResettle(@Param("pkMember") Long pkMember, @Param("startPayTime") Date startPayTime, @Param("endPayTime") Date endPayTime, @Param("orderTypeList") List<Integer> orderTypeList);
|
||||
|
||||
/**
|
||||
* 出货明细汇总统计详情
|
||||
*
|
||||
|
|
@ -244,76 +217,39 @@ public interface MemberReportMapper {
|
|||
Integer sumQuantity(@Param("productName") String productName, @Param("pkClassify") Integer pkClassify, @Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("pkCountry") Integer pkCountry, @Param("orderTypeList") List<Integer> orderTypeList);
|
||||
|
||||
/**
|
||||
* @description: 查询表是否存在
|
||||
* @author: zhang jing
|
||||
* @date: 2024/4/7 16:10
|
||||
* @param: [tableName]
|
||||
* @return: java.lang.Integer
|
||||
* 查询表是否存在
|
||||
**/
|
||||
Integer selectExistTable(String tableName);
|
||||
|
||||
/**
|
||||
* @description: 查询直推会员
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/7 16:10
|
||||
* @param: [pkMember]
|
||||
* @return: java.util.List<java.lang.Long>
|
||||
* 查询直推会员
|
||||
**/
|
||||
List<Long> selectDirectPushByPkMember(@Param("pkMember") Long pkMember);
|
||||
|
||||
/**
|
||||
* @description: 查询会员业绩
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/7 16:08
|
||||
* @param: [directPushNewVo]
|
||||
* @return: com.hzs.report.member.vo.DirectPushNewVo
|
||||
* 查询会员业绩
|
||||
**/
|
||||
DirectPushNewVo selectMemberOrderAchieveByPkMember(DirectPushNewVo directPushNewVo);
|
||||
|
||||
/**
|
||||
* @description: 查询会员个人业绩金额
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/13 11:31
|
||||
* @param: [directPushNewVo]
|
||||
* @return: com.hzs.report.member.vo.DirectPushNewVo
|
||||
**/
|
||||
DirectPushNewVo querMemberAchieveAmount(DirectPushNewVo directPushNewVo);
|
||||
|
||||
List<DirectPushNewVo> selectMemberAchieve(DirectPushNewVo directPushNewVo);
|
||||
|
||||
/**
|
||||
* @description: 查询会员直推伞下业绩金额
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/13 13:34
|
||||
* @param: [directPushNewVo]
|
||||
* @return: java.util.List<com.hzs.report.member.vo.DirectPushNewVo>
|
||||
* 查询会员直推伞下业绩金额
|
||||
**/
|
||||
List<DirectPushNewVo> querMemberAchieveAmountTeam(DirectPushNewVo directPushNewVo);
|
||||
|
||||
/**
|
||||
* @description: 添加新的表
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/25 16:20
|
||||
* @param: [tableName]
|
||||
* @return: void
|
||||
* 添加新的表
|
||||
**/
|
||||
void createCuMemberAmountBoxTable(String tableName);
|
||||
|
||||
/**
|
||||
* @description: 创建表字段索引
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/25 16:20
|
||||
* @param: [tableName]
|
||||
* @return: void
|
||||
* 创建表字段索引
|
||||
**/
|
||||
void createPkMemberIndex (@Param("indexName")String indexName,@Param("tableName")String tableName);
|
||||
void createPkMemberIndex(@Param("indexName") String indexName, @Param("tableName") String tableName);
|
||||
|
||||
/**
|
||||
* @description: 查询订单金额,业绩,盒数,批量添加会员个人操作
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/12 11:35
|
||||
* @param: [staDate, endDate, tableName, beforeTabeName, rangeTabeName]
|
||||
* @return: int
|
||||
* 查询订单金额,业绩,盒数,批量添加会员个人操作
|
||||
**/
|
||||
int innertMemberAmountBoxTable(@Param("staDate") String staDate,
|
||||
@Param("endDate") String endDate,
|
||||
|
|
@ -322,11 +258,7 @@ public interface MemberReportMapper {
|
|||
@Param("rangeTabeName") String rangeTabeName);
|
||||
|
||||
/**
|
||||
* @description: 查询订单金额,业绩,盒数,批量添加会员伞下操作
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/12 11:36
|
||||
* @param: [staDate, endDate, tableName, beforeTabeName, rangeTabeName]
|
||||
* @return: int
|
||||
* 查询订单金额,业绩,盒数,批量添加会员伞下操作
|
||||
**/
|
||||
int innertTeamAmountBoxTable(@Param("apb") DirectPushAmountPvBoxVo apb,
|
||||
@Param("staDate") String staDate,
|
||||
|
|
@ -336,92 +268,33 @@ public interface MemberReportMapper {
|
|||
@Param("rangeTabeName") String rangeTabeName);
|
||||
|
||||
/**
|
||||
* @description: 查询会员订单
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/12 15:59
|
||||
* @param: [staDate, endDate]
|
||||
* @return: java.util.List<com.hzs.report.member.vo.DirectPushAmountPvBoxVo>
|
||||
* 查询会员订单
|
||||
**/
|
||||
List<DirectPushAmountPvBoxVo> querMemberOrder(@Param("staDate") String staDate, @Param("endDate") String endDate);
|
||||
|
||||
/**
|
||||
* @description: 7天重算删除会员统计业绩金额盒数表数据
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/12 15:58
|
||||
* @param: [tableName]
|
||||
* @return: void
|
||||
* 7天重算删除会员统计业绩金额盒数表数据
|
||||
**/
|
||||
void delMemberAmountBox(@Param("tableName") String tableName);
|
||||
|
||||
/**
|
||||
* @description: 初始化会员直推金额业绩盒数数据
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/14 17:41
|
||||
* @param: [tableName, rangeTabeName]
|
||||
* @return: void
|
||||
* 初始化会员直推金额业绩盒数数据
|
||||
**/
|
||||
void washMemberAmountBox(@Param("tableName") String tableName,@Param("rangeTabeName") String rangeTabeName);
|
||||
void washMemberAmountBox(@Param("tableName") String tableName, @Param("rangeTabeName") String rangeTabeName);
|
||||
|
||||
/**
|
||||
* @description: 将未激活的会员盒数更新为0
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/14 17:41
|
||||
* @param: [tableName, rangeTabeName]
|
||||
* @return: void
|
||||
* 将未激活的会员盒数更新为0
|
||||
**/
|
||||
void updMemberBox (@Param("tableName") String tableName,@Param("rangeTabeName") String rangeTabeName);
|
||||
void updMemberBox(@Param("tableName") String tableName, @Param("rangeTabeName") String rangeTabeName);
|
||||
|
||||
/**
|
||||
* @description: 秒结表查询会员是否激活
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/14 10:25
|
||||
* @param: [directPushBoxVo]
|
||||
* @return: java.lang.Integer
|
||||
* 秒结表查询会员是否激活
|
||||
**/
|
||||
List<DirectPushBoxVo> selectMemberActiveState(@Param("dpb") DirectPushBoxVo dpb,
|
||||
@Param("pkMemberList") List<Long> pkMemberList);
|
||||
|
||||
/**
|
||||
* @description: 查询结束日期总盒数
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/14 12:00
|
||||
* @param: [directPushBoxVo]
|
||||
* @return: java.lang.Integer
|
||||
**/
|
||||
Integer selectMemberTotalBox(DirectPushBoxVo directPushBoxVo);
|
||||
|
||||
/**
|
||||
* 根据会员编号查询注水
|
||||
*
|
||||
* @param memberCode 会员编号
|
||||
* @return Integer
|
||||
*/
|
||||
Integer selectWaterInjection(@Param("memberCode") String memberCode);
|
||||
|
||||
/**
|
||||
* @description: 查询会员注水的大区盒数
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/14 13:22
|
||||
* @param: [directPushBoxVo]
|
||||
* @return: java.lang.Integer
|
||||
**/
|
||||
Integer selectMemberBoxWaterInjection(DirectPushBoxVo directPushBoxVo);
|
||||
|
||||
/**
|
||||
* @description: 查询会员没有注水的大区盒数
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/14 13:24
|
||||
* @param: [directPushBoxVo]
|
||||
* @return: java.lang.Integer
|
||||
**/
|
||||
Integer selectMemberBoxNoWaterInjection(DirectPushBoxVo directPushBoxVo);
|
||||
|
||||
/**
|
||||
* @description: 查询直推会员信息
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/17 15:49
|
||||
* @param: [directPushNewVo]
|
||||
* @return: java.util.List<com.hzs.report.member.vo.DirectPushNewVo>
|
||||
* 查询直推会员信息
|
||||
**/
|
||||
List<DirectPushNewVo> querDirectPushDetails(DirectPushNewVo directPushNewVo);
|
||||
|
||||
|
|
|
|||
|
|
@ -107,7 +107,6 @@ public interface MemberReportService {
|
|||
*/
|
||||
List<OrderDistribution> getByDistrictOrderDistribution(Date startTime, Date endTime, Integer pkCountry);
|
||||
|
||||
|
||||
/**
|
||||
* 出货明细汇总
|
||||
*
|
||||
|
|
|
|||
|
|
@ -184,7 +184,7 @@ public class MemberReportServiceImpl implements MemberReportService {
|
|||
* @return List<MonthAchieveVO>
|
||||
*/
|
||||
private List<MonthAchieveVO> getAchieveMonthTable(String startDate, String endDate) {
|
||||
MonthAchieveVO monthAchieveVO = null;
|
||||
MonthAchieveVO monthAchieveVO;
|
||||
List<MonthAchieveVO> monthAchieveVOList = new ArrayList<>();
|
||||
LocalDate startLocalDate = DateUtils.getStringToLocalDate(startDate);
|
||||
LocalDate endLocalDate = DateUtils.getStringToLocalDate(endDate);
|
||||
|
|
@ -347,11 +347,6 @@ public class MemberReportServiceImpl implements MemberReportService {
|
|||
|
||||
/**
|
||||
* 查询伞下业绩金额
|
||||
*
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/25 15:40
|
||||
* @param: [dpo]
|
||||
* @return: java.util.List<com.hzs.report.member.vo.DirectPushNewVo>
|
||||
**/
|
||||
private List<DirectPushNewVo> querMemberAchieveAmountTeam(DirectPushNewVo dpo) {
|
||||
return memberReportMapper.querMemberAchieveAmountTeam(dpo);
|
||||
|
|
@ -359,11 +354,6 @@ public class MemberReportServiceImpl implements MemberReportService {
|
|||
|
||||
/**
|
||||
* 获取直推大区业绩、小区业绩
|
||||
*
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/7 16:21
|
||||
* @param: [memberAchieveList, rate]
|
||||
* @return: com.hzs.report.member.vo.DirectPushNewVo
|
||||
**/
|
||||
private DirectPushNewVo getMemberBigAndSmallAchieve(List<DirectPushNewVo> memberAchieveList, BigDecimal rate) {
|
||||
//查询最大业绩
|
||||
|
|
@ -384,14 +374,8 @@ public class MemberReportServiceImpl implements MemberReportService {
|
|||
|
||||
/**
|
||||
* 根据大业绩查询大小区盒数
|
||||
*
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/25 16:36
|
||||
* @param: [memberAchieveList, rate]
|
||||
* @return: com.hzs.report.member.vo.DirectPushNewVo
|
||||
**/
|
||||
private DirectPushBoxVo getMemberBigAndSmallBox(List<DirectPushBoxVo> memberAchieveList) {
|
||||
|
||||
// 2. 找到 ArealPv 最大的对象
|
||||
DirectPushBoxVo maxAchieveVO = memberAchieveList.stream()
|
||||
.max(Comparator.comparing(DirectPushBoxVo::getArealPv))
|
||||
|
|
@ -576,17 +560,6 @@ public class MemberReportServiceImpl implements MemberReportService {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询会员当日极差秒表名
|
||||
*
|
||||
* @return String
|
||||
*/
|
||||
private String getTableSName() {
|
||||
String localDate = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||
int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate).getPkId();
|
||||
return TableNameConstants.CU_MEMBER_RETAIL_S + period;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DirectPushBoxVo> selectMemberActiveState(DirectPushBoxVo dpbVo, List<Long> pkMemberList) {
|
||||
return memberReportMapper.selectMemberActiveState(dpbVo, pkMemberList);
|
||||
|
|
|
|||
|
|
@ -9,11 +9,7 @@ import lombok.NoArgsConstructor;
|
|||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @description: 伞下直推查询会员大小区金额业绩盒数
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/10 18:00
|
||||
* @param:
|
||||
* @return:
|
||||
* 伞下直推查询会员大小区金额业绩盒数
|
||||
**/
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
|
|
@ -21,7 +17,6 @@ import java.math.BigDecimal;
|
|||
@Data
|
||||
public class DirectPushAmountPvBoxVo {
|
||||
|
||||
|
||||
private Long pkMember;
|
||||
/**
|
||||
* 金额
|
||||
|
|
@ -42,65 +37,59 @@ public class DirectPushAmountPvBoxVo {
|
|||
* 金额
|
||||
*/
|
||||
@BigDecimalFormat()
|
||||
private BigDecimal orderAmountReg=BigDecimal.ZERO;
|
||||
private BigDecimal orderAmountReg = BigDecimal.ZERO;
|
||||
/**
|
||||
* 金额
|
||||
*/
|
||||
@BigDecimalFormat()
|
||||
private BigDecimal orderAmountUpg=BigDecimal.ZERO;
|
||||
private BigDecimal orderAmountUpg = BigDecimal.ZERO;
|
||||
/**
|
||||
* 金额
|
||||
*/
|
||||
@BigDecimalFormat()
|
||||
private BigDecimal orderAmountRep=BigDecimal.ZERO;
|
||||
private BigDecimal orderAmountRep = BigDecimal.ZERO;
|
||||
/**
|
||||
* 金额
|
||||
*/
|
||||
@BigDecimalFormat()
|
||||
private BigDecimal orderAmountCon=BigDecimal.ZERO;
|
||||
private BigDecimal orderAmountCon = BigDecimal.ZERO;
|
||||
|
||||
/**
|
||||
* 业绩
|
||||
*/
|
||||
@BigDecimalFormat()
|
||||
private BigDecimal orderAchieveReg=BigDecimal.ZERO;
|
||||
private BigDecimal orderAchieveReg = BigDecimal.ZERO;
|
||||
/**
|
||||
* 业绩
|
||||
*/
|
||||
@BigDecimalFormat()
|
||||
private BigDecimal orderAchieveUpg=BigDecimal.ZERO;
|
||||
private BigDecimal orderAchieveUpg = BigDecimal.ZERO;
|
||||
/**
|
||||
* 业绩
|
||||
*/
|
||||
@BigDecimalFormat()
|
||||
private BigDecimal orderAchieveRep=BigDecimal.ZERO;
|
||||
private BigDecimal orderAchieveRep = BigDecimal.ZERO;
|
||||
/**
|
||||
* 业绩
|
||||
*/
|
||||
@BigDecimalFormat()
|
||||
private BigDecimal orderAchieveCon=BigDecimal.ZERO;
|
||||
private BigDecimal orderAchieveCon = BigDecimal.ZERO;
|
||||
|
||||
/**
|
||||
* 盒数
|
||||
*/
|
||||
private int boxNumReg;
|
||||
private BigDecimal boxNumReg;
|
||||
/**
|
||||
* 盒数
|
||||
*/
|
||||
private int boxNumUpg;
|
||||
private BigDecimal boxNumUpg;
|
||||
/**
|
||||
* 盒数
|
||||
*/
|
||||
private int boxNumRep;
|
||||
private BigDecimal boxNumRep;
|
||||
/**
|
||||
* 盒数
|
||||
*/
|
||||
private int boxNumCon;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private BigDecimal boxNumCon;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,23 +38,23 @@
|
|||
TEAM_REP_AMOUNT NUMBER(17,6) default 0 not null,
|
||||
TEAM_CON_AMOUNT NUMBER(17,6) default 0 not null,
|
||||
|
||||
SUM_BOX NUMBER(8) default 0,
|
||||
BIG_BOX NUMBER(8) default 0,
|
||||
SMALL_BOX NUMBER(8) default 0,
|
||||
REG_BOX NUMBER(8) default 0,
|
||||
UPG_BOX NUMBER(8) default 0,
|
||||
REP_BOX NUMBER(8) default 0,
|
||||
CON_BOX NUMBER(8) default 0,
|
||||
INFLATE_BIG_BOX NUMBER(8) default 0,
|
||||
INFLATE_SMALL_BOX NUMBER(8) default 0,
|
||||
SUM_BOX NUMBER(10,2) default 0,
|
||||
BIG_BOX NUMBER(10,2) default 0,
|
||||
SMALL_BOX NUMBER(10,2) default 0,
|
||||
REG_BOX NUMBER(10,2) default 0,
|
||||
UPG_BOX NUMBER(10,2) default 0,
|
||||
REP_BOX NUMBER(10,2) default 0,
|
||||
CON_BOX NUMBER(10,2) default 0,
|
||||
INFLATE_BIG_BOX NUMBER(10,2) default 0,
|
||||
INFLATE_SMALL_BOX NUMBER(10,2) default 0,
|
||||
|
||||
TEAM_SUM_BOX NUMBER(18) default 0,
|
||||
TEAM_BIG_BOX NUMBER(18) default 0,
|
||||
TEAM_SMALL_BOX NUMBER(8) default 0,
|
||||
TEAM_REG_BOX NUMBER(18) default 0,
|
||||
TEAM_UPG_BOX NUMBER(18) default 0,
|
||||
TEAM_REP_BOX NUMBER(18) default 0,
|
||||
TEAM_CON_BOX NUMBER(18) default 0,
|
||||
TEAM_SUM_BOX NUMBER(18,2) default 0,
|
||||
TEAM_BIG_BOX NUMBER(18,2) default 0,
|
||||
TEAM_SMALL_BOX NUMBER(10,2) default 0,
|
||||
TEAM_REG_BOX NUMBER(18,2) default 0,
|
||||
TEAM_UPG_BOX NUMBER(18,2) default 0,
|
||||
TEAM_REP_BOX NUMBER(18,2) default 0,
|
||||
TEAM_CON_BOX NUMBER(18,2) default 0,
|
||||
|
||||
SUM_PV NUMBER(17,6) default 0 not null,
|
||||
BIG_PV NUMBER(17,6) default 0 not null,
|
||||
|
|
@ -74,6 +74,7 @@
|
|||
|
||||
PK_COUNTRY NUMBER(4) not null
|
||||
</sql>
|
||||
|
||||
<!-- 查询伞下直推新增业绩 -会员 -->
|
||||
<select id="directPushNewList" resultType="com.hzs.report.member.vo.DirectPushNewVo">
|
||||
select
|
||||
|
|
@ -704,45 +705,6 @@
|
|||
|
||||
</select>
|
||||
|
||||
|
||||
<select id="brollyBelowResettle" resultType="com.hzs.report.member.vo.MemberPerformanceVo">
|
||||
select 1 placeDept , nvl(sum(so.ORDER_ACHIEVE),0) achieve
|
||||
from SA_ORDER so
|
||||
left join cu_member t on so.PK_CREATOR = t.pk_id and t.PLACE_DEPT = 1
|
||||
where so.del_flag = 0 and so.ORDER_STATUS = 1
|
||||
<if test="orderTypeList != null">
|
||||
and SO.ORDER_TYPE in
|
||||
<foreach collection="orderTypeList" item="item" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="startPayTime != null">
|
||||
and to_char(so.PAY_TIME, 'yyyy-mm-dd hh24:mi:ss') >= to_char(#{startPayTime}, 'yyyy-mm-dd hh24:mi:ss')
|
||||
</if>
|
||||
<if test="endPayTime != null">
|
||||
and to_char(so.PAY_TIME, 'yyyy-mm-dd hh24:mi:ss') <= to_char(#{endPayTime}, 'yyyy-mm-dd hh24:mi:ss')
|
||||
</if>
|
||||
|
||||
union all
|
||||
select 2 placeDept , nvl(sum(so.ORDER_ACHIEVE),0) achieve
|
||||
from SA_ORDER so
|
||||
left join cu_member t on so.PK_CREATOR = t.pk_id and t.PLACE_DEPT = 2
|
||||
where so.del_flag = 0 and so.ORDER_STATUS = 1
|
||||
<if test="orderTypeList != null">
|
||||
and SO.ORDER_TYPE in
|
||||
<foreach collection="orderTypeList" item="item" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="startPayTime != null">
|
||||
and to_char(so.PAY_TIME, 'yyyy-mm-dd hh24:mi:ss') >= to_char(#{startPayTime}, 'yyyy-mm-dd hh24:mi:ss')
|
||||
</if>
|
||||
<if test="endPayTime != null">
|
||||
and to_char(so.PAY_TIME, 'yyyy-mm-dd hh24:mi:ss') <= to_char(#{endPayTime}, 'yyyy-mm-dd hh24:mi:ss')
|
||||
</if>
|
||||
|
||||
</select>
|
||||
|
||||
<select id="productShippingDetailsList" resultType="com.hzs.report.member.vo.ProductShippingDetailsInfoVo">
|
||||
select bp.PRODUCT_CODE productCode,bp.PRODUCT_NAME productName,bc.NAME classifyName,oi.PK_AWARDS pkAwards,oi.QUANTITY quantity,
|
||||
oi.PRICE price,bw.AWARDS_NAME awardsName
|
||||
|
|
@ -1358,44 +1320,6 @@
|
|||
AND so.pk_member = #{pkMember})
|
||||
</select>
|
||||
|
||||
<!-- 查询会员个人业绩金额-->
|
||||
<select id="querMemberAchieveAmount" resultType="com.hzs.report.member.vo.DirectPushNewVo">
|
||||
SELECT
|
||||
NVL(MR1.arealPv, 0) - NVL(MR2.SUM_PV, 0) AS arealPv,
|
||||
NVL(MR1.arealAm, 0) - NVL(MR2.SUM_AMOUNT, 0) AS arealAm
|
||||
FROM
|
||||
(
|
||||
SELECT sum(arealPv) arealPv,
|
||||
sum(arealAm) arealAm,
|
||||
#{pkMember} pkMember
|
||||
FROM (SELECT NVL(mr.SUM_PV, 0) arealPv,
|
||||
NVL(mr.SUM_AMOUNT, 0) arealAm
|
||||
FROM ${achieveTableNameEnd} mr
|
||||
WHERE mr.pk_member = #{pkMember}
|
||||
<if test="payTime!=null and payTime!=''">
|
||||
union all
|
||||
SELECT NVL(SUM(so.order_achieve), 0) arealPv,
|
||||
NVL(SUM(so.ORDER_AMOUNT), 0) arealAm
|
||||
FROM sa_order so
|
||||
WHERE so.del_flag = 0
|
||||
AND so.order_status = 1
|
||||
AND so.order_type in (41, 42, 43, 44)
|
||||
AND so.pay_time >= #{endPayTime}
|
||||
AND so.pay_time <= #{zonpayTime}
|
||||
AND so.pk_member = #{pkMember}
|
||||
</if>
|
||||
)
|
||||
) MR1
|
||||
FULL OUTER JOIN
|
||||
${achieveTableNameSta} MR2
|
||||
ON
|
||||
MR1.pkMember = MR2.PK_MEMBER
|
||||
WHERE
|
||||
MR1.pkMember = #{pkMember}
|
||||
OR MR2.PK_MEMBER = #{pkMember}
|
||||
|
||||
</select>
|
||||
|
||||
<select id="selectMemberAchieve" resultType="com.hzs.report.member.vo.DirectPushNewVo">
|
||||
<foreach collection="pkMemberList" item="pkMember" separator="union all">
|
||||
SELECT SUM(t1.arealPv) arealPv ,#{pkMember} pkMember
|
||||
|
|
@ -1427,43 +1351,6 @@
|
|||
</foreach>
|
||||
</select>
|
||||
|
||||
<select id="querMemberAchieveAmount" resultType="com.hzs.report.member.vo.DirectPushNewVo">
|
||||
SELECT
|
||||
NVL(MR1.arealPv, 0) - NVL(MR2.SUM_PV, 0) AS arealPv,
|
||||
NVL(MR1.arealAm, 0) - NVL(MR2.SUM_AMOUNT, 0) AS arealAm
|
||||
FROM
|
||||
(
|
||||
SELECT sum(arealPv) arealPv,
|
||||
sum(arealAm) arealAm,
|
||||
#{pkMember} pkMember
|
||||
FROM (SELECT NVL(mr.SUM_PV, 0) arealPv,
|
||||
NVL(mr.SUM_AMOUNT, 0) arealAm
|
||||
FROM ${achieveTableNameEnd} mr
|
||||
WHERE mr.pk_member = #{pkMember}
|
||||
<if test="payTime!=null and payTime!=''">
|
||||
union all
|
||||
SELECT NVL(SUM(so.order_achieve), 0) arealPv,
|
||||
NVL(SUM(so.ORDER_AMOUNT), 0) arealAm
|
||||
FROM sa_order so
|
||||
WHERE so.del_flag = 0
|
||||
AND so.order_status = 1
|
||||
AND so.order_type in (41, 42, 43, 44)
|
||||
AND so.pay_time >= #{endPayTime}
|
||||
AND so.pay_time <= #{zonpayTime}
|
||||
AND so.pk_member = #{pkMember}
|
||||
</if>
|
||||
)
|
||||
) MR1
|
||||
FULL OUTER JOIN
|
||||
${achieveTableNameSta} MR2
|
||||
ON
|
||||
MR1.pkMember = MR2.PK_MEMBER
|
||||
WHERE
|
||||
MR1.pkMember = #{pkMember}
|
||||
OR MR2.PK_MEMBER = #{pkMember}
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 查询会员直推伞下业绩金额盒数-->
|
||||
<select id="querMemberAchieveAmountTeam" resultType="com.hzs.report.member.vo.DirectPushNewVo">
|
||||
<!-- <foreach collection="pkMemberList" item="pkMember" separator="union all">-->
|
||||
|
|
@ -1553,9 +1440,6 @@
|
|||
|
||||
) MR2 ON MR1.pkMember = MR2.PK_MEMBER
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- </foreach>-->
|
||||
</select>
|
||||
|
||||
|
|
@ -1566,100 +1450,98 @@
|
|||
<include refid="CuMemberAmountBoxTable"></include>
|
||||
)
|
||||
</update>
|
||||
|
||||
<!-- 创建表字段索引-->
|
||||
<update id="createPkMemberIndex">
|
||||
CREATE INDEX ${indexName} ON ${tableName} (pk_member)
|
||||
</update>
|
||||
|
||||
|
||||
|
||||
<!-- 查询订单金额,业绩,盒数,批量添加会员个人操作 -->
|
||||
<update id="innertMemberAmountBoxTable">
|
||||
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
|
||||
</update>
|
||||
|
||||
|
||||
<!-- 查询订单金额,业绩,盒数,批量添加会员伞下操作 -->
|
||||
<update id="innertTeamAmountBoxTable">
|
||||
merge into ${tableName} cmab
|
||||
|
|
@ -1798,66 +1673,73 @@
|
|||
cmab.TEAM_REP_PV = tmp.TEAM_REP_PV,
|
||||
cmab.TEAM_CON_PV = tmp.TEAM_CON_PV
|
||||
</update>
|
||||
<!-- 查询会员订单-->
|
||||
<select id="querMemberOrder" resultType="com.hzs.report.member.vo.DirectPushAmountPvBoxVo">
|
||||
select
|
||||
sum(so.order_amount) orderAmount,
|
||||
SUM(CASE WHEN so.order_type = 41 THEN so.order_amount ELSE 0 END) AS orderAmountReg,
|
||||
SUM(CASE WHEN so.order_type = 42 THEN so.order_amount ELSE 0 END) AS orderAmountUpg,
|
||||
SUM(CASE WHEN so.order_type = 43 THEN so.order_amount ELSE 0 END) AS orderAmountRep,
|
||||
SUM(CASE WHEN so.order_type = 44 THEN so.order_amount ELSE 0 END) AS orderAmountCon,
|
||||
sum(so.order_achieve) orderAchieve,
|
||||
SUM(CASE WHEN so.order_type = 41 THEN so.order_achieve ELSE 0 END) AS orderAchieveReg,
|
||||
SUM(CASE WHEN so.order_type = 42 THEN so.order_achieve ELSE 0 END) AS orderAchieveUpg,
|
||||
SUM(CASE WHEN so.order_type = 43 THEN so.order_achieve ELSE 0 END) AS orderAchieveRep,
|
||||
SUM(CASE WHEN so.order_type = 44 THEN so.order_achieve ELSE 0 END) AS orderAchieveCon,
|
||||
sum(so.box_num) boxNum,
|
||||
SUM(CASE WHEN so.order_type = 41 THEN so.box_num ELSE 0 END) AS boxNumReg,
|
||||
SUM(CASE WHEN so.order_type = 42 THEN so.box_num ELSE 0 END) AS boxNumUpg,
|
||||
SUM(CASE WHEN so.order_type = 43 THEN so.box_num ELSE 0 END) AS boxNumRep,
|
||||
SUM(CASE WHEN so.order_type = 44 THEN so.box_num ELSE 0 END) AS boxNumCon,
|
||||
so.pk_member pkMember
|
||||
FROM sa_order so
|
||||
WHERE 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 so.pk_member
|
||||
</select>
|
||||
<!-- 7天重算删除会员统计业绩金额盒数表数据-->
|
||||
|
||||
<!-- 查询会员订单-->
|
||||
<select id="querMemberOrder" resultType="com.hzs.report.member.vo.DirectPushAmountPvBoxVo">
|
||||
select sum(so.order_amount) orderAmount,
|
||||
SUM(CASE WHEN so.order_type = 41 THEN so.order_amount ELSE 0 END) AS orderAmountReg,
|
||||
SUM(CASE WHEN so.order_type = 42 THEN so.order_amount ELSE 0 END) AS orderAmountUpg,
|
||||
SUM(CASE WHEN so.order_type = 43 THEN so.order_amount ELSE 0 END) AS orderAmountRep,
|
||||
SUM(CASE WHEN so.order_type = 44 THEN so.order_amount ELSE 0 END) AS orderAmountCon,
|
||||
sum(so.order_achieve) orderAchieve,
|
||||
SUM(CASE WHEN so.order_type = 41 THEN so.order_achieve ELSE 0 END) AS orderAchieveReg,
|
||||
SUM(CASE WHEN so.order_type = 42 THEN so.order_achieve ELSE 0 END) AS orderAchieveUpg,
|
||||
SUM(CASE WHEN so.order_type = 43 THEN so.order_achieve ELSE 0 END) AS orderAchieveRep,
|
||||
SUM(CASE WHEN so.order_type = 44 THEN so.order_achieve ELSE 0 END) AS orderAchieveCon,
|
||||
sum(so.box_num) boxNum,
|
||||
SUM(CASE WHEN so.order_type = 41 THEN so.box_num ELSE 0 END) AS boxNumReg,
|
||||
SUM(CASE WHEN so.order_type = 42 THEN so.box_num ELSE 0 END) AS boxNumUpg,
|
||||
SUM(CASE WHEN so.order_type = 43 THEN so.box_num ELSE 0 END) AS boxNumRep,
|
||||
SUM(CASE WHEN so.order_type = 44 THEN so.box_num ELSE 0 END) AS boxNumCon,
|
||||
so.pk_member pkMember
|
||||
FROM sa_order so
|
||||
WHERE 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 so.pk_member
|
||||
</select>
|
||||
|
||||
<!-- 7天重算删除会员统计业绩金额盒数表数据-->
|
||||
<update id="delMemberAmountBox">
|
||||
delete from ${tableName}
|
||||
delete
|
||||
from ${tableName}
|
||||
</update>
|
||||
|
||||
<!-- 未激活的会员盒数为零-->
|
||||
<update id="updMemberBox">
|
||||
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
|
||||
)
|
||||
</update>
|
||||
|
||||
<!-- 初始化会员直推金额业绩盒数数据-->
|
||||
<!-- 初始化会员直推金额业绩盒数数据-->
|
||||
<update id="washMemberAmountBox">
|
||||
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
|
||||
</update>
|
||||
|
||||
<!-- 秒结表查询会员是否激活-->
|
||||
<select id="selectMemberActiveState" resultType="com.hzs.report.member.vo.DirectPushBoxVo">
|
||||
<foreach collection="pkMemberList" item="pkMember" separator="union all">
|
||||
SELECT min(t0.enable_status) enableStatus,
|
||||
#{pkMember} pkMember
|
||||
FROM (SELECT mr.enable_status
|
||||
FROM ${dpb.memberRetailTable} mr
|
||||
where mr.pk_member = #{pkMember}
|
||||
<if test="dpb.payTime!=null and dpb.payTime!=''">
|
||||
union all
|
||||
SELECT mrs.enable_status
|
||||
FROM ${dpb.memberRetailSTable} mrs
|
||||
where mrs.pk_member = #{pkMember}
|
||||
</if>
|
||||
) t0
|
||||
</foreach>
|
||||
|
||||
</select>
|
||||
<!-- 查询总盒数-->
|
||||
<select id="selectMemberTotalBox" resultType="integer">
|
||||
SELECT nvl(sum(totalAreaBox), 0) totalAreaBox
|
||||
FROM (SELECT NVL(mr.team_box_num + mr.consume_box_num, 0) totalAreaBox
|
||||
FROM ${memberRetailTable} mr
|
||||
WHERE mr.category = 0
|
||||
AND mr.pk_member = #{pkMember}
|
||||
<if test="payTime!=null and payTime!=''">
|
||||
<!-- 秒结表查询会员是否激活-->
|
||||
<select id="selectMemberActiveState" resultType="com.hzs.report.member.vo.DirectPushBoxVo">
|
||||
<foreach collection="pkMemberList" item="pkMember" separator="union all">
|
||||
SELECT min(t0.enable_status) enableStatus,
|
||||
#{pkMember} pkMember
|
||||
FROM (SELECT mr.enable_status
|
||||
FROM ${dpb.memberRetailTable} mr
|
||||
where mr.pk_member = #{pkMember}
|
||||
<if test="dpb.payTime!=null and dpb.payTime!=''">
|
||||
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}
|
||||
</if>
|
||||
)
|
||||
</select>
|
||||
) t0
|
||||
</foreach>
|
||||
|
||||
<select id="selectWaterInjection" resultType="integer">
|
||||
SELECT count(1)
|
||||
FROM (SELECT sr.team_box_num, sr.small_box_num, sr.period_date
|
||||
FROM cu_member_spe_retail sr
|
||||
where sr.del_flag = 0
|
||||
and sr.pk_country = 1
|
||||
and sr.period_date < TRUNC(SYSDATE)
|
||||
and sr.member_code = #{memberCode}
|
||||
ORDER BY sr.period_date desc) t0
|
||||
where rownum = 1
|
||||
</select>
|
||||
|
||||
<select id="selectMemberBoxWaterInjection" resultType="integer">
|
||||
SELECT NVL(mr.big_box_num, 0) smallAreaBox
|
||||
FROM ${memberRetailTable} mr
|
||||
WHERE mr.category = 0
|
||||
AND mr.pk_member = #{pkMember}
|
||||
</select>
|
||||
|
||||
<select id="selectMemberBoxNoWaterInjection" resultType="integer">
|
||||
SELECT nvl(max(smallAreaBox), 0) smallareabox
|
||||
from
|
||||
(
|
||||
<if test="pkMemberList != null and pkMemberList.size > 0">
|
||||
<include refid="selectMemberDirectPushBox"/>
|
||||
union all
|
||||
</if>
|
||||
SELECT nvl(sum(smallAreaBox), 0) smallAreaBox
|
||||
FROM (SELECT NVL(mr.consume_box_num, 0) smallAreaBox
|
||||
FROM ${memberRetailTable} mr
|
||||
WHERE mr.category = 0
|
||||
AND mr.pk_member = #{pkMember}
|
||||
<if test="payTime!=null and payTime!=''">
|
||||
union all
|
||||
select rs.new_box_num smallAreaBox
|
||||
from ${memberRetailSTable} rs
|
||||
where rs.pk_member = #{pkMember}
|
||||
</if>
|
||||
)
|
||||
)
|
||||
</select>
|
||||
|
||||
<sql id="selectMemberDirectPushBox">
|
||||
|
|
@ -2003,6 +1827,4 @@
|
|||
</if>
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -599,7 +599,6 @@ public class ApiRetailOrderController {
|
|||
.channel(shoppingCartRedis.getSource())
|
||||
.waresCode(shoppingCartRedis.getWaresCode())
|
||||
.quantity(shoppingCartRedis.getNumber())
|
||||
.pkMakerSpace(shoppingCartRedis.getPkMakerSpace())
|
||||
.build();
|
||||
List<WaresItemsParam> waresItemsParamList = new ArrayList<>(shoppingCartRedis.getProductGroup().size());
|
||||
for (ProductGroup productGroup : shoppingCartRedis.getProductGroup()) {
|
||||
|
|
|
|||
|
|
@ -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<BdGrade> 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<SaOrderItems> createSaOrderItems(RetailOrderParam orderParam, List<BdGrade> gradeList,
|
||||
CuMember cuMember, SaOrderExt saOrderExt, CurrencyDTO currency) {
|
||||
// 需要查询盒数商品
|
||||
List<String> boxProductList = BoxProductUtil.getBoxProductListBySystemType(null);
|
||||
List<String> boxWaresList = BoxProductUtil.getBoxWaresListBySystemType(null);
|
||||
|
||||
// 订单明细信息
|
||||
List<SaOrderItems> 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<BdGrade> 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<Integer, Integer> waresLimitMap = new HashMap<>();
|
||||
|
||||
// 盒数商品
|
||||
List<String> boxProductList = BoxProductUtil.getBoxProductListBySystemType(saOrderExt.getSystemType());
|
||||
List<String> 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()) {
|
||||
|
|
|
|||
|
|
@ -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<String> 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<CuMemberExt> 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<Integer, String> 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<WaresItemsParam> waresItemsParamList = new ArrayList<>(shoppingCartRedis.getProductGroup().size());
|
||||
for (ProductGroup productGroup : shoppingCartRedis.getProductGroup()) {
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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<SaOrderItems> {
|
|||
*/
|
||||
List<OrderItemsParam> 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<String> waresCodeList,
|
||||
@Param("payTime") Date payTime,
|
||||
@Param("orderTypeList") List<Integer> orderTypeList,
|
||||
@Param("systemType") Integer systemType);
|
||||
|
||||
/**
|
||||
* 查询新零售购买指定商品数量(新)
|
||||
*
|
||||
|
|
@ -285,11 +270,11 @@ public interface SaOrderItemsMapper extends BaseMapper<SaOrderItems> {
|
|||
* @param systemType 系统类型(可为null)
|
||||
* @return
|
||||
*/
|
||||
int getRetailWaresQuantityNew(@Param("pkMember") Long pkMember,
|
||||
@Param("waresCodeList") List<String> waresCodeList,
|
||||
@Param("payTime") Date payTime,
|
||||
@Param("orderTypeList") List<Integer> orderTypeList,
|
||||
@Param("systemType") Integer systemType);
|
||||
BigDecimal getRetailWaresQuantityNew(@Param("pkMember") Long pkMember,
|
||||
@Param("waresCodeList") List<String> waresCodeList,
|
||||
@Param("payTime") Date payTime,
|
||||
@Param("orderTypeList") List<Integer> orderTypeList,
|
||||
@Param("systemType") Integer systemType);
|
||||
|
||||
/**
|
||||
* 订单发货数量
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
/**
|
||||
* 商品明细
|
||||
|
|
|
|||
|
|
@ -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<SaOrderItems> {
|
|||
*/
|
||||
List<OrderItemsParam> selectByWaresCodeList(String orderCode);
|
||||
|
||||
/**
|
||||
* 查询新零售购买指定商品数量
|
||||
*
|
||||
* @param pkMember 会员ID
|
||||
* @param waresCodeList 商品编号列表
|
||||
* @param payTime 支付时间(可为null)
|
||||
* @param orderTypeList 订单类型列表
|
||||
* @param systemType 系统类型(可为null)
|
||||
* @return
|
||||
*/
|
||||
int getRetailWaresQuantity(Long pkMember, List<String> waresCodeList, Date payTime, List<Integer> orderTypeList, Integer systemType);
|
||||
|
||||
/**
|
||||
* 查询新零售购买指定商品数量(新)
|
||||
*
|
||||
|
|
@ -249,7 +238,7 @@ public interface ISaOrderItemsService extends IService<SaOrderItems> {
|
|||
* @param systemType 系统类型(可为null)
|
||||
* @return
|
||||
*/
|
||||
int getRetailWaresQuantityNew(Long pkMember, List<String> waresCodeList, Date payTime, List<Integer> orderTypeList, Integer systemType);
|
||||
BigDecimal getRetailWaresQuantityNew(Long pkMember, List<String> waresCodeList, Date payTime, List<Integer> orderTypeList, Integer systemType);
|
||||
|
||||
/**
|
||||
* 订单发货数量
|
||||
|
|
|
|||
|
|
@ -154,14 +154,14 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
|||
@Override
|
||||
public String checkOrderRetailProduct(OrderProductParam param) {
|
||||
// 盒数商品对应的产品列表
|
||||
List<Integer> pkProductList = iBdWaresService.listBoxProduct(BoxProductUtil.getBoxProductListBySystemType(null));
|
||||
List<Integer> pkProductList = iBdWaresService.listBoxProduct(BoxProductUtil.getBoxWaresListBySystemType(null));
|
||||
// 换货产品列表
|
||||
List<Integer> paramProductList = param.getItemList().stream().map(OrderProductDetailParam::getPkProduct).collect(Collectors.toList());
|
||||
|
||||
SaOrder saOrder = iSaOrderService.getOne(Wrappers.<SaOrder>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<BdWaresDetail> tmpList = iBdWaresService.listBoxProductAndWares(BoxProductUtil.getBoxProductListBySystemType(null), saOrderItems.getPkProduct(), ESpecialArea.getRetailSpecialAreaValue(saOrder.getOrderType()));
|
||||
List<BdWaresDetail> 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);
|
||||
|
|
|
|||
|
|
@ -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<SaOrderItemsMapper, SaO
|
|||
}
|
||||
|
||||
@Override
|
||||
public int getRetailWaresQuantity(Long pkMember, List<String> waresCodeList, Date payTime, List<Integer> orderTypeList, Integer systemType) {
|
||||
return baseMapper.getRetailWaresQuantity(pkMember, waresCodeList, payTime, orderTypeList, systemType);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRetailWaresQuantityNew(Long pkMember, List<String> waresCodeList, Date payTime, List<Integer> orderTypeList, Integer systemType) {
|
||||
public BigDecimal getRetailWaresQuantityNew(Long pkMember, List<String> waresCodeList, Date payTime, List<Integer> orderTypeList, Integer systemType) {
|
||||
return baseMapper.getRetailWaresQuantityNew(pkMember, waresCodeList, payTime, orderTypeList, systemType);
|
||||
}
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -7,11 +7,9 @@ import org.apache.ibatis.annotations.Param;
|
|||
|
||||
/**
|
||||
* 商品拓展表 Mapper 接口
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-09-01
|
||||
*/
|
||||
public interface BdProductExtendMapper extends BaseMapper<BdProductExtend> {
|
||||
|
||||
/**
|
||||
* 根据产品id查询产品拓展
|
||||
*
|
||||
|
|
|
|||
|
|
@ -5,12 +5,7 @@ import com.hzs.common.domain.sale.ext.BdProductExtendExt;
|
|||
import com.hzs.common.domain.sale.product.BdProductExtend;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 商品拓展表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-09-01
|
||||
*/
|
||||
public interface IBdProductExtendService extends IService<BdProductExtend> {
|
||||
|
||||
|
|
@ -20,7 +15,7 @@ public interface IBdProductExtendService extends IService<BdProductExtend> {
|
|||
* @param productId
|
||||
* @return
|
||||
*/
|
||||
public BdProductExtend getProductExtend(Integer productId);
|
||||
BdProductExtend getProductExtend(Integer productId);
|
||||
|
||||
/**
|
||||
* 根据产品id 查找当前商品的上一位商品排序
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 商品拓展表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-09-01
|
||||
*/
|
||||
@Service
|
||||
public class BdProductExtendServiceImpl extends ServiceImpl<BdProductExtendMapper, BdProductExtend> 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();
|
||||
|
|
|
|||
|
|
@ -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<WaresVo> resultList = waresService.selectByWaresInfo(waresParams);
|
||||
List<WaresVo> resultList = iBdWaresService.selectByWaresInfo(waresParams);
|
||||
if (CollectionUtil.isNotEmpty(resultList)) {
|
||||
R<CurrencyDTO> 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<WaresProductDetailVo> waresDetailList = waresDetailService.selectByList(waresVo.getPkWares());
|
||||
List<WaresProductDetailVo> 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<WaresVo> resultList = waresService.selectByWaresInfo(waresParams);
|
||||
List<WaresVo> resultList = iBdWaresService.selectByWaresInfo(waresParams);
|
||||
if (CollectionUtil.isNotEmpty(resultList)) {
|
||||
R<CurrencyDTO> currencyDto = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
|
||||
// 获取需要翻译的枚举翻译
|
||||
Map<String, String> 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<WaresProductDetailVo> waresDetailList = waresDetailService.selectByList(waresVo.getPkWares());
|
||||
List<WaresProductDetailVo> 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<WaresVo> 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<BdWares> 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<BdWares> 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<BdWares> 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<BdWares> 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<List<BdRangeExt>> rangeDto = rangeServiceApi.queryRange(SecurityUtils.getPkCountry());
|
||||
R<List<BdRangeExt>> rangeDto = iRangeServiceApi.queryRange(SecurityUtils.getPkCountry());
|
||||
List<BdRangeExt> rsList = rangeDto.getData();
|
||||
Map<Integer, BdRangeExt> rangeMap = rsList.stream().collect(Collectors.toMap(BdRangeExt::getPkId, Function.identity()));
|
||||
|
||||
BdWares wares = waresService.getById(pkId);
|
||||
BdWares wares = iBdWaresService.getById(pkId);
|
||||
LambdaQueryWrapper<BdWaresExtend> 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> 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<BdWaresLabel> waresLabelWrapper = new LambdaQueryWrapper<>();
|
||||
waresLabelWrapper.eq(BdWaresLabel::getPkWares, pkId);
|
||||
List<BdWaresLabel> labelList = waresLabelService.list(waresLabelWrapper);
|
||||
List<BdWaresLabel> labelList = iBdWaresLabelService.list(waresLabelWrapper);
|
||||
// 保证标签
|
||||
List<Integer> pkGuaranteeLabel = new ArrayList<>();
|
||||
// 卖点标签
|
||||
|
|
@ -587,7 +556,7 @@ public class BdWaresController extends BaseController {
|
|||
//包装和规格
|
||||
LambdaQueryWrapper<BdWaresSpecsPack> waresSpecsPackWrapper = new LambdaQueryWrapper<>();
|
||||
waresSpecsPackWrapper.eq(BdWaresSpecsPack::getPkWares, pkId);
|
||||
List<BdWaresSpecsPack> list = waresSpecsPackService.list(waresSpecsPackWrapper);
|
||||
List<BdWaresSpecsPack> list = iBdWaresSpecsPackService.list(waresSpecsPackWrapper);
|
||||
List<WaresSpecsPackParams> waresSpecsPackList = new ArrayList<>();
|
||||
for (BdWaresSpecsPack bdWaresSpecsPack : list) {
|
||||
WaresSpecsPackParams waresSpecsPackParams = BeanUtil.copyProperties(bdWaresSpecsPack, WaresSpecsPackParams.class);
|
||||
|
|
@ -598,14 +567,14 @@ public class BdWaresController extends BaseController {
|
|||
//产品详情列表
|
||||
LambdaQueryWrapper<BdWaresDetail> waresDetailWrapper = new LambdaQueryWrapper<>();
|
||||
waresDetailWrapper.eq(BdWaresDetail::getPkWares, pkId);
|
||||
List<BdWaresDetail> waresDetailList = waresDetailService.list(waresDetailWrapper);
|
||||
List<BdWaresDetail> waresDetailList = iBdWaresDetailService.list(waresDetailWrapper);
|
||||
// 商品详情
|
||||
List<WaresDetailParams> detailList = new ArrayList<>();
|
||||
// 商品sku
|
||||
List<WaresSpecsSkuParams> 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<BdWaresSpecsSku> specsSku = new LambdaQueryWrapper<>();
|
||||
specsSku.eq(BdWaresSpecsSku::getPkWares, pkId);
|
||||
specsSku.eq(BdWaresSpecsSku::getPkWaresDetail, bd.getPkId());
|
||||
List<BdWaresSpecsSku> specsSkuList = waresSpecsSkuService.list(specsSku);
|
||||
List<BdWaresSpecsSku> 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<BdWaresSpecs> waresSpecsList = new ArrayList<>();
|
||||
LambdaQueryWrapper<BdWaresSpecsRelation> waresSpecsRelation = new LambdaQueryWrapper<>();
|
||||
waresSpecsRelation.eq(BdWaresSpecsRelation::getPkWaresSpecsSku, bdWaresSpecsSku.getPkId());
|
||||
List<BdWaresSpecsRelation> rslist = waresSpecsRelationService.list(waresSpecsRelation);
|
||||
List<BdWaresSpecsRelation> 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<BdWaresAuthority> authorityWrapper = new LambdaQueryWrapper<>();
|
||||
authorityWrapper.eq(BdWaresAuthority::getPkWares, pkId);
|
||||
List<BdWaresAuthority> authList = waresAuthorityService.list(authorityWrapper);
|
||||
List<BdWaresAuthority> authList = iBdWaresAuthorityService.list(authorityWrapper);
|
||||
List<WaresAuthorityParam> 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<WaresRangeParams> waresRangeList = new ArrayList<>();
|
||||
List<BdWaresRange> rangeList = waresRangeService.queryWaresList(pkId, SecurityUtils.getPkCountry());
|
||||
List<BdWaresRange> rangeList = iBdWaresRangeService.queryWaresList(pkId, SecurityUtils.getPkCountry());
|
||||
LambdaQueryWrapper<BdWaresRange> waresRangeWrapper = new LambdaQueryWrapper<>();
|
||||
waresRangeWrapper.eq(BdWaresRange::getPkWares, pkId);
|
||||
int waresRangeCount = waresRangeService.count(waresRangeWrapper);
|
||||
int waresRangeCount = iBdWaresRangeService.count(waresRangeWrapper);
|
||||
List<Integer> rgList = new ArrayList<>();
|
||||
for (BdWaresRange bdWaresRange : rangeList) {
|
||||
if (bdWaresRange.getPkId() != null) {
|
||||
|
|
@ -675,10 +644,10 @@ public class BdWaresController extends BaseController {
|
|||
List<BdWaresSpecs> waresSpecsList = new ArrayList<>();
|
||||
LambdaQueryWrapper<BdWaresSpecsRelation> waresSpecsRelation = new LambdaQueryWrapper<>();
|
||||
waresSpecsRelation.eq(BdWaresSpecsRelation::getPkWaresSpecsSku, bdWaresRange.getPkWaresSpecsSku());
|
||||
List<BdWaresSpecsRelation> rslist = waresSpecsRelationService.list(waresSpecsRelation);
|
||||
List<BdWaresSpecsRelation> 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<BdWaresRange> qe = new LambdaQueryWrapper<>();
|
||||
qe.eq(BdWaresRange::getPkWares, bdWaresDetail.getPkWares());
|
||||
qe.eq(BdWaresRange::getPkWaresDetail, bdWaresDetail.getPkId());
|
||||
List<BdWaresRange> wrList = waresRangeService.list(qe);
|
||||
List<BdWaresRange> wrList = iBdWaresRangeService.list(qe);
|
||||
// 查询每一个sku 的所有规格
|
||||
List<BdWaresSpecs> waresSpecsList = new ArrayList<>();
|
||||
for (BdWaresRange bdWaresRange : wrList) {
|
||||
LambdaQueryWrapper<BdWaresSpecsRelation> waresSpecsRelation = new LambdaQueryWrapper<>();
|
||||
waresSpecsRelation.eq(BdWaresSpecsRelation::getPkWaresSpecsSku, bdWaresRange.getPkWaresSpecsSku());
|
||||
List<BdWaresSpecsRelation> rslist = waresSpecsRelationService.list(waresSpecsRelation);
|
||||
List<BdWaresSpecsRelation> 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<BdWaresGrade> qw = new LambdaQueryWrapper<>();
|
||||
qw.eq(BdWaresGrade::getPkWares, pkId);
|
||||
List<BdWaresGrade> waresGradeIds = waresGradeService.list(qw);
|
||||
List<BdWaresGrade> waresGradeIds = iBdWaresGradeService.list(qw);
|
||||
List<Integer> ids = waresGradeIds.stream().map(BdWaresGrade::getPkRange).collect(Collectors.toList());
|
||||
waresParams.setWaresGradeIds(ids);
|
||||
// 查询商品奖衔
|
||||
LambdaQueryWrapper<BdWaresAwards> qe = new LambdaQueryWrapper<>();
|
||||
qe.eq(BdWaresAwards::getPkWares, pkId);
|
||||
List<BdWaresAwards> waresAwardsIds = waresAwardsService.list(qe);
|
||||
List<BdWaresAwards> waresAwardsIds = iBdWaresAwardsService.list(qe);
|
||||
List<Integer> waresAwardsArray = waresAwardsIds.stream().map(BdWaresAwards::getPkAwards).collect(Collectors.toList());
|
||||
waresParams.setWaresAwardsIds(waresAwardsArray);
|
||||
// 查询商品权限配置
|
||||
LambdaQueryWrapper<BdWaresAuthorize> qa = new LambdaQueryWrapper<>();
|
||||
qa.eq(BdWaresAuthorize::getPkWares, pkId);
|
||||
List<BdWaresAuthorize> waresAuthoritys = waresAuthorizeService.list(qa);
|
||||
List<BdWaresAuthorize> waresAuthoritys = iBdWaresAuthorizeService.list(qa);
|
||||
List<Integer> 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<BdWares> list = waresService.list(queryWrapper);
|
||||
List<BdWares> list = iBdWaresService.list(queryWrapper);
|
||||
List<WaresEntnyOrderVo> 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<BdWaresDetailExt> waresDetailList = waresDetailService.selectByPkWares(bdWares.getPkId());
|
||||
List<BdWaresDetailExt> waresDetailList = iBdWaresDetailService.selectByPkWares(bdWares.getPkId());
|
||||
List<ProductEntnyOrderVo> 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<BdWaresSpecsSku> qw = new LambdaQueryWrapper<>();
|
||||
qw.eq(BdWaresSpecsSku::getPkWaresDetail, bdWaresDetail.getPkId());
|
||||
List<BdWaresSpecsSku> waresSpecsSkuList = waresSpecsSkuService.list(qw);
|
||||
List<BdWaresSpecsSku> waresSpecsSkuList = iBdWaresSpecsSkuService.list(qw);
|
||||
List<WaresSpecsEntnyOrterVo> waresSpecsEntnyOrterVoList = new ArrayList<>();
|
||||
for (BdWaresSpecsSku bdWaresSpecsSku : waresSpecsSkuList) {
|
||||
WaresSpecsEntnyOrterVo waresSpecsEntnyOrterVo = new WaresSpecsEntnyOrterVo();
|
||||
|
||||
List<BdWaresSpecsRelationExt> waresSpecsRelation = waresSpecsRelationService.selectByWaresSpecsSku(bdWaresSpecsSku.getPkId());
|
||||
List<BdWaresSpecsRelationExt> waresSpecsRelation = iBdWaresSpecsRelationService.selectByWaresSpecsSku(bdWaresSpecsSku.getPkId());
|
||||
List<String> specsList = new ArrayList<>();
|
||||
List<Integer> specsIds = new ArrayList<>();
|
||||
for (BdWaresSpecsRelationExt bdWaresSpecsRelation : waresSpecsRelation) {
|
||||
|
|
@ -906,7 +875,7 @@ public class BdWaresController extends BaseController {
|
|||
public AjaxResult getEmptyOrderWares(@RequestBody EmptyOrderWares emptyOrderWares) {
|
||||
List<EmptyOrderWares> 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<BdWaresSpecsRelation> qer = new LambdaQueryWrapper<>();
|
||||
qer.eq(BdWaresSpecsRelation::getPkWaresSpecsSku, ws.getPkId());
|
||||
List<BdWaresSpecsRelation> waresSpecsRelation = waresSpecsRelationService.list(qer);
|
||||
List<BdWaresSpecsRelation> waresSpecsRelation = iBdWaresSpecsRelationService.list(qer);
|
||||
List<String> 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<BdWares> list = waresService.list(queryWrapper);
|
||||
List<BdWares> 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.<BdWares>lambdaUpdate()
|
||||
iBdWaresService.update(Wrappers.<BdWares>lambdaUpdate()
|
||||
.eq(BdWares::getPkId, param.getPkWares())
|
||||
.eq(BdWares::getWaresStatus, EApproveStatus.ALREADY_SUBMIT.getValue())
|
||||
.set(BdWares::getWaresStatus, EApproveStatus.FINISH.getValue())
|
||||
|
|
|
|||
|
|
@ -16,9 +16,6 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 商品 Mapper 接口
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-09-08
|
||||
*/
|
||||
public interface BdWaresMapper extends BaseMapper<BdWares> {
|
||||
|
||||
|
|
@ -32,9 +29,6 @@ public interface BdWaresMapper extends BaseMapper<BdWares> {
|
|||
* @param waresCodeInList 包含的商品编号列表 -- 可为null
|
||||
* @param waresCodeNotInList 不包含的商品编号列表 -- 可为null
|
||||
* @param pkCountry 所属国家
|
||||
* @return: List<BdWaresExt>
|
||||
* @Author: sui q
|
||||
* @Date: 2022/9/16 11:13
|
||||
*/
|
||||
List<BdWaresExt> queryWaresByCondition(@Param("specialArea") Integer specialArea,
|
||||
@Param("pkAreaClassify") Integer pkAreaClassify,
|
||||
|
|
@ -115,9 +109,6 @@ public interface BdWaresMapper extends BaseMapper<BdWares> {
|
|||
* @param pkAreaClassify 所属分类
|
||||
* @param waresName 名称
|
||||
* @param pkCountry 所属国家
|
||||
* @return: List<BdWaresExt>
|
||||
* @Author: sui q
|
||||
* @Date: 2022/9/19 9:05
|
||||
*/
|
||||
List<BdWaresExt> 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<BdWares> {
|
|||
/**
|
||||
* 新零售查询商品列表
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @param param 查询参数
|
||||
* @return
|
||||
*/
|
||||
List<BdWaresExt> listRetailWaresByCondition(@Param("param") RetailWaresParam param);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,9 +20,6 @@ import java.util.Map;
|
|||
|
||||
/**
|
||||
* 商品 服务类
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-09-08
|
||||
*/
|
||||
public interface IBdWaresService extends IService<BdWares> {
|
||||
|
||||
|
|
@ -58,9 +55,6 @@ public interface IBdWaresService extends IService<BdWares> {
|
|||
* @param waresCodeInList 包含的商品编号列表 -- 可为null
|
||||
* @param waresCodeNotInList 不包含的商品编号列表 -- 可为null
|
||||
* @param pkCountry 所属国家
|
||||
* @return: List<BdWaresExt>
|
||||
* @Author: sui q
|
||||
* @Date: 2022/9/19 9:05
|
||||
*/
|
||||
List<BdWaresExt> queryWaresByCondition(Integer specialArea,
|
||||
Integer pkAreaClassify,
|
||||
|
|
@ -76,9 +70,6 @@ public interface IBdWaresService extends IService<BdWares> {
|
|||
* @param pkAreaClassify 所属分类
|
||||
* @param waresName 名称
|
||||
* @param pkCountry 所属国家
|
||||
* @return: List<BdWaresExt>
|
||||
* @Author: sui q
|
||||
* @Date: 2022/9/19 9:05
|
||||
*/
|
||||
List<BdWaresExt> queryRecommendWaresByCondition(Integer specialArea, Integer pkAreaClassify, String waresName, Integer pkCountry);
|
||||
|
||||
|
|
@ -147,11 +138,7 @@ public interface IBdWaresService extends IService<BdWares> {
|
|||
void updateByAutoStartAndAutoStart(Date currentTime);
|
||||
|
||||
/**
|
||||
* @description: 修改商品预售状态
|
||||
* @author: zhang jing
|
||||
* @date: 2024/10/24 16:10
|
||||
* @param: []
|
||||
* @return: void
|
||||
* 修改商品预售状态
|
||||
**/
|
||||
void waresPreSale();
|
||||
|
||||
|
|
|
|||
|
|
@ -57,7 +57,6 @@ public class BdWaresDetailServiceImpl extends ServiceImpl<BdWaresDetailMapper, B
|
|||
.waresCode(orderItemsParam.getWaresCode())
|
||||
.pkWaresSpecsSku(waresItemsParam.getPkWaresSpecsSku())
|
||||
.waresQuantity(orderItemsParam.getQuantity())
|
||||
.pkMakerSpace(orderItemsParam.getPkMakerSpace())
|
||||
.price(BigDecimal.ZERO)
|
||||
.achieve(BigDecimal.ZERO)
|
||||
.build();
|
||||
|
|
|
|||
|
|
@ -27,9 +27,6 @@ import com.hzs.sale.wares.param.WaresDetailParams;
|
|||
import com.hzs.sale.wares.mapper.BdWaresMapper;
|
||||
import com.hzs.sale.wares.service.*;
|
||||
import com.hzs.sale.wares.vo.*;
|
||||
import com.hzs.system.base.ICurrencyServiceApi;
|
||||
import com.hzs.system.base.ITransactionServiceApi;
|
||||
import com.hzs.system.base.dto.CurrencyDTO;
|
||||
import com.hzs.system.config.IAwardsServiceApi;
|
||||
import com.hzs.system.config.ILabelServiceApi;
|
||||
import com.hzs.system.config.IRangeServiceApi;
|
||||
|
|
@ -54,9 +51,9 @@ public class BdWaresServiceImpl extends ServiceImpl<BdWaresMapper, BdWares> impl
|
|||
|
||||
@Autowired
|
||||
private RabbitTemplate rabbitTemplate;
|
||||
|
||||
@Autowired
|
||||
private IBdSpecsService specsService;
|
||||
|
||||
@Autowired
|
||||
private IBdWaresAuthorizeService waresAuthorizeService;
|
||||
@Autowired
|
||||
|
|
@ -83,17 +80,13 @@ public class BdWaresServiceImpl extends ServiceImpl<BdWaresMapper, BdWares> 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<BdWaresMapper, BdWares> impl
|
|||
// 设置 wares 对象的值
|
||||
BdWares wares = BeanUtil.copyProperties(waresParams, BdWares.class);
|
||||
wares.setPkId(waresParams.getWaresId());
|
||||
R<Integer> 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<BdWaresMapper, BdWares> 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> 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<BdWaresMapper, BdWares> 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<BdWaresMapper, BdWares> impl
|
|||
for (WaresAuthorityParam waresAuthorityParam : waresAuthorityList) {
|
||||
Long memberId = null;
|
||||
if (StringUtils.isNotBlank(waresAuthorityParam.getMemberCode())) {
|
||||
R<CuMember> member = memberServiceApi.getMember(waresAuthorityParam.getMemberCode());
|
||||
R<CuMember> member = iMemberServiceApi.getMember(waresAuthorityParam.getMemberCode());
|
||||
if (member.getData() == null) {
|
||||
throw new BaseException("查询会员失败");
|
||||
}
|
||||
|
|
@ -524,19 +507,11 @@ public class BdWaresServiceImpl extends ServiceImpl<BdWaresMapper, BdWares> 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<Integer> 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<BdWaresMapper, BdWares> 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> 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<BdWaresExtend> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(BdWaresExtend::getPkWares, wares.getPkId());
|
||||
|
|
@ -593,12 +560,11 @@ public class BdWaresServiceImpl extends ServiceImpl<BdWaresMapper, BdWares> 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<BdWaresMapper, BdWares> impl
|
|||
queryWrapper1.eq(BdWaresAwards::getPkWares, wares.getPkId());
|
||||
waresAwardsService.remove(queryWrapper1);
|
||||
// 校验奖衔id 是否存在
|
||||
R<List<BdAwards>> awardsDto = awardsServiceApi.queryAwards(waresParams.getPkCountry());
|
||||
R<List<BdAwards>> awardsDto = iAwardsServiceApi.queryAwards(waresParams.getPkCountry());
|
||||
List<BdAwards> awardsList = awardsDto.getData();
|
||||
List<Integer> waresAwardsIdList = new ArrayList<>();
|
||||
for (BdAwards bdAwards : awardsList) {
|
||||
|
|
@ -752,11 +718,6 @@ public class BdWaresServiceImpl extends ServiceImpl<BdWaresMapper, BdWares> 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<BdWaresMapper, BdWares> 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<BdWaresMapper, BdWares> 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<BdWaresMapper, BdWares> 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<BdWaresMapper, BdWares> impl
|
|||
this.updateById(bdWares);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取最大商品序号
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Integer getMaxSort(Integer pkCountry) {
|
||||
return baseMapper.getMaxSort(pkCountry);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据商品编号查询商品信息
|
||||
*
|
||||
* @param waresCodeList
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<BdAgreement> selectByWaresCodeList(List<String> waresCodeList) {
|
||||
return baseMapper.selectByWaresCodeList(waresCodeList);
|
||||
|
|
@ -1017,17 +942,6 @@ public class BdWaresServiceImpl extends ServiceImpl<BdWaresMapper, BdWares> impl
|
|||
return baseMapper.queryWaresByCondition(specialArea, pkAreaClassify, null, waresName, waresCodeInList, waresCodeNotInList, pkCountry);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据条件查询推荐商品 ,专区商品列表
|
||||
*
|
||||
* @param specialArea 所属专区
|
||||
* @param pkAreaClassify 所属分类
|
||||
* @param waresName 名称
|
||||
* @param pkCountry 所属国家
|
||||
* @return: List<BdWaresExt>
|
||||
* @Author: sui q
|
||||
* @Date: 2022/9/19 9:05
|
||||
*/
|
||||
@Override
|
||||
public List<BdWaresExt> 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<BdWaresMapper, BdWares> impl
|
|||
|
||||
private BdLabel getBdLabel(Integer pkId) {
|
||||
BdLabel bdLabel;
|
||||
R<LabelConfigDTO> result = labelService.getByPkId(pkId);
|
||||
R<LabelConfigDTO> result = iLabelServiceApi.getByPkId(pkId);
|
||||
if (result.isSuccess()) {
|
||||
bdLabel = BeanUtil.copyProperties(result.getData(), BdLabel.class);
|
||||
} else {
|
||||
|
|
@ -1044,53 +958,30 @@ public class BdWaresServiceImpl extends ServiceImpl<BdWaresMapper, BdWares> 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> computeWaresPrice(List<ComputeWaresPrice> computeWaresPriceList, Integer specialArea) {
|
||||
// 极差
|
||||
R<List<BdRangeExt>> rangeDto = rangeServiceApi.queryRange(SecurityUtils.getPkCountry());
|
||||
R<List<BdRangeExt>> rangeDto = iRangeServiceApi.queryRange(SecurityUtils.getPkCountry());
|
||||
List<BdRangeExt> 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> computeWaresPrice(List<ComputeWaresPrice> computeWaresPriceList, List<BdRangeExt> rangeList) {
|
||||
// 极差
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1130,38 +1130,9 @@
|
|||
and so.ORDER_CODE = #{orderCode}
|
||||
</select>
|
||||
|
||||
<!-- 查询新零售购买指定商品数量 -->
|
||||
<select id="getRetailWaresQuantity" resultType="int">
|
||||
select nvl(sum(soi.wares_quantity), 0) wares_quantity
|
||||
from sa_order so
|
||||
left join sa_order_items soi
|
||||
on soi.pk_order = so.pk_id
|
||||
and soi.del_flag = 0
|
||||
and soi.is_gift = 1
|
||||
left join bd_wares bw
|
||||
on bw.pk_id = soi.pk_wares
|
||||
where so.del_flag = 0
|
||||
and so.order_status = 1
|
||||
and so.pk_member = #{pkMember}
|
||||
<if test="systemType != null">
|
||||
and so.system_type = #{systemType}
|
||||
</if>
|
||||
and so.order_type in
|
||||
<foreach collection="orderTypeList" item="item" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
and bw.wares_code in
|
||||
<foreach collection="waresCodeList" item="items" open="(" close=")" separator=",">
|
||||
#{items}
|
||||
</foreach>
|
||||
<if test="payTime != null">
|
||||
and so.pay_time > #{payTime}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<!-- 查询新零售购买指定商品数量(新) -->
|
||||
<select id="getRetailWaresQuantityNew" resultType="int">
|
||||
select nvl(sum(soi.wares_quantity), 0) wares_quantity
|
||||
<select id="getRetailWaresQuantityNew" resultType="decimal">
|
||||
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
|
||||
|
|
|
|||
|
|
@ -114,7 +114,6 @@
|
|||
<result column="IS_MAKER_GIFT" property="isMakerGift"/>
|
||||
<result column="EDIT_FLAG" property="editFlag"/>
|
||||
<result column="WARES_CODE" property="waresCode"/>
|
||||
<result column="MAKER_INCOME" property="makerIncome"/>
|
||||
<result column="ITEM_PK_STOREHOUSE" property="pkStorehouse"/>
|
||||
</collection>
|
||||
</resultMap>
|
||||
|
|
|
|||
|
|
@ -4,39 +4,56 @@
|
|||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.hzs.common.domain.sale.product.BdProductExtend">
|
||||
<id column="PK_ID" property="pkId" />
|
||||
<result column="PK_PRODUCT" property="pkProduct" />
|
||||
<result column="IS_PICK_UP" property="isPickUp" />
|
||||
<result column="IS_PRIZE" property="isPrize" />
|
||||
<result column="IS_BAR_CODE" property="isBarCode" />
|
||||
<result column="IS_MERGE" property="isMerge" />
|
||||
<result column="IS_GIFT" property="isGift" />
|
||||
<result column="IS_PUT_ON" property="isPutOn" />
|
||||
<result column="WARNING_QUANTITY" property="warningQuantity" />
|
||||
<id column="PK_ID" property="pkId"/>
|
||||
<result column="PK_PRODUCT" property="pkProduct"/>
|
||||
<result column="IS_PICK_UP" property="isPickUp"/>
|
||||
<result column="IS_PRIZE" property="isPrize"/>
|
||||
<result column="IS_BAR_CODE" property="isBarCode"/>
|
||||
<result column="IS_MERGE" property="isMerge"/>
|
||||
<result column="IS_GIFT" property="isGift"/>
|
||||
<result column="IS_PUT_ON" property="isPutOn"/>
|
||||
<result column="WARNING_QUANTITY" property="warningQuantity"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="selectByProductId" resultMap="BaseResultMap">
|
||||
select * from BD_PRODUCT_EXTEND where PK_PRODUCT = #{pkProduct} and DEL_FLAG = '0'
|
||||
select *
|
||||
from BD_PRODUCT_EXTEND
|
||||
where PK_PRODUCT = #{pkProduct}
|
||||
and DEL_FLAG = '0'
|
||||
</select>
|
||||
|
||||
<select id="selectByMoveUpSort" resultType="integer">
|
||||
select min(ex.SORT) FROM BD_PRODUCT_EXTEND ex where ex.SORT > (select sort from BD_PRODUCT_EXTEND pe where pe.pk_product = #{pkProduct} ) and DEL_FLAG = '0'
|
||||
select min(ex.SORT)
|
||||
FROM BD_PRODUCT_EXTEND ex
|
||||
where ex.SORT > (select sort from BD_PRODUCT_EXTEND pe where pe.pk_product = #{pkProduct})
|
||||
and DEL_FLAG = '0'
|
||||
</select>
|
||||
|
||||
<update id="updateMoveUpBySort">
|
||||
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>
|
||||
|
||||
<select id="selectByMoveDownSort" resultType="integer">
|
||||
select max(ex.SORT) FROM BD_PRODUCT_EXTEND ex where ex.SORT < (select sort from BD_PRODUCT_EXTEND pe where pe.pk_product = #{pkProduct} ) and DEL_FLAG = '0'
|
||||
select max(ex.SORT)
|
||||
FROM BD_PRODUCT_EXTEND ex
|
||||
where ex.SORT < (select sort from BD_PRODUCT_EXTEND pe where pe.pk_product = #{pkProduct})
|
||||
and DEL_FLAG = '0'
|
||||
</select>
|
||||
|
||||
<update id="updateMoveDownBySort">
|
||||
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>
|
||||
|
||||
<select id="getMaxProductSort" resultType="integer">
|
||||
select max(sort) from BD_PRODUCT_EXTEND where DEL_FLAG = '0'
|
||||
select max(sort)
|
||||
from BD_PRODUCT_EXTEND
|
||||
where DEL_FLAG = '0'
|
||||
</select>
|
||||
|
||||
<!-- 查询产品扩展以及产品信息 -->
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue