Compare commits
8 Commits
e3c7beaaaa
...
1e1172b4bc
| Author | SHA1 | Date |
|---|---|---|
|
|
1e1172b4bc | |
|
|
1c3d4738f3 | |
|
|
e02f2c8f9f | |
|
|
55cc60cbdf | |
|
|
07ae41e2e0 | |
|
|
b1f7051529 | |
|
|
a4c96b0694 | |
|
|
d2a8e919d4 |
|
|
@ -1,29 +0,0 @@
|
||||||
package com.hzs.bonus.detail;
|
|
||||||
|
|
||||||
import com.hzs.common.core.domain.R;
|
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @description: 新零售会员区域考核dubbo服务
|
|
||||||
* @author: zhang jing
|
|
||||||
* @date: 2025/3/7 10:36
|
|
||||||
* @param:
|
|
||||||
* @return:
|
|
||||||
**/
|
|
||||||
public interface ICuRegionAssessApi {
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @description: 定时处理会员收益区域(处理前三天)
|
|
||||||
* @author: zhang jing
|
|
||||||
* @date: 2025/3/7 10:45
|
|
||||||
* @param: [startDate]
|
|
||||||
* @return: com.hzs.common.core.domain.R<?>
|
|
||||||
**/
|
|
||||||
R<?> validateHandAreaAssess(Date startDate,Date endDate);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,20 +1,12 @@
|
||||||
package com.hzs.member.account;
|
package com.hzs.member.account;
|
||||||
|
|
||||||
import com.hzs.common.core.domain.R;
|
import com.hzs.common.core.domain.R;
|
||||||
import com.hzs.common.domain.member.account.CuMemberRecharge;
|
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员模块定时任务
|
* 会员模块定时任务
|
||||||
*
|
|
||||||
* @Description:
|
|
||||||
* @Author: ljc
|
|
||||||
* @Time: 2023/4/12 10:38
|
|
||||||
* @Classname: IMemberJobServiceApi
|
|
||||||
* @Package_name: com.hzs.member.account
|
|
||||||
*/
|
*/
|
||||||
public interface IMemberJobServiceApi {
|
public interface IMemberJobServiceApi {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 定时插入账户详情数据
|
* 定时插入账户详情数据
|
||||||
*
|
*
|
||||||
|
|
@ -22,30 +14,14 @@ public interface IMemberJobServiceApi {
|
||||||
*/
|
*/
|
||||||
R insertAccountDetail();
|
R insertAccountDetail();
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 自动提现
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
R automaticWithdrawal();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询充值金额总和
|
|
||||||
*
|
|
||||||
* @param startDate 开始时暗
|
|
||||||
* @param endDate 结速时间
|
|
||||||
* @return R<CuMemberRecharge>
|
|
||||||
*/
|
|
||||||
R<CuMemberRecharge> selectRechargeTotalAmount(Date startDate, Date endDate);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 自动清理垃圾数据
|
* 自动清理垃圾数据
|
||||||
* CU_MEMBER_AWARDS
|
* CU_MEMBER_AWARDS
|
||||||
* CU_MEMBER_LEVEL
|
* CU_MEMBER_LEVEL
|
||||||
* CU_MEMBER_GRADE
|
* CU_MEMBER_GRADE
|
||||||
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
R autoDeleteGarbageData();
|
R autoDeleteGarbageData();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
package com.hzs.member.achieve;
|
|
||||||
|
|
||||||
import com.hzs.common.core.domain.R;
|
|
||||||
import com.hzs.common.domain.member.base.CuMember;
|
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @Description: 提供查询实时会员业绩的api接口
|
|
||||||
* @Author: sui q
|
|
||||||
* @Time: 2022/10/26 15:12
|
|
||||||
* @Classname: IMemberAchieveServiceAPI
|
|
||||||
* @PackageName: com.hzs.member.achieve
|
|
||||||
*/
|
|
||||||
public interface IMemberAchieveServiceApi {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询会员的安置部门
|
|
||||||
*
|
|
||||||
* @param cuMember 推荐会员主键 公司 会员名称 手机号
|
|
||||||
* @param isFirst 是否首单
|
|
||||||
* @param isFirstAchieve 是否首购业绩
|
|
||||||
* @return: CuMemberAchieve
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2022/10/26 15:04
|
|
||||||
*/
|
|
||||||
R<CuMember> queryCuMemberAchieveByPkMember(CuMember cuMember, Boolean isFirst, Boolean isFirstAchieve);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -2,7 +2,6 @@ package com.hzs.member.base;
|
||||||
|
|
||||||
import com.hzs.common.core.domain.R;
|
import com.hzs.common.core.domain.R;
|
||||||
import com.hzs.common.domain.member.base.CuMember;
|
import com.hzs.common.domain.member.base.CuMember;
|
||||||
import com.hzs.common.domain.member.base.CuMemberRegister;
|
|
||||||
import com.hzs.common.domain.member.ext.CuMemberAccountExt;
|
import com.hzs.common.domain.member.ext.CuMemberAccountExt;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||||
|
|
@ -89,27 +88,6 @@ public interface IMemberServiceApi {
|
||||||
**/
|
**/
|
||||||
R<Boolean> cancelMemberAccount(Long pkMember, SaOrder saOrder);
|
R<Boolean> cancelMemberAccount(Long pkMember, SaOrder saOrder);
|
||||||
|
|
||||||
/**
|
|
||||||
* 查找安置人伞上会员信息
|
|
||||||
*
|
|
||||||
* @param memberId 编号、安置人
|
|
||||||
*/
|
|
||||||
R<List<CuMemberExt>> querySponsorOnUmbrella(Long memberId, String memberCode, String phone);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查找安置人伞上会员信息
|
|
||||||
*
|
|
||||||
* @param memberId 编号、安置人
|
|
||||||
*/
|
|
||||||
R<List<CuMemberExt>> querySponsorOnUmbrella(Long memberId, List<String> memberCodeList);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查找安置人伞下
|
|
||||||
*
|
|
||||||
* @param memberId 会员编号
|
|
||||||
*/
|
|
||||||
R<List<CuMemberExt>> selectPlaceSponsorUnderUmbrellaByCondition(Long memberId, List<CuMemberExt> cuMemberExtList);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查找安置人伞下
|
* 查找安置人伞下
|
||||||
*
|
*
|
||||||
|
|
@ -117,14 +95,6 @@ public interface IMemberServiceApi {
|
||||||
*/
|
*/
|
||||||
R<List<CuMemberExt>> queryPlaceSponsorUnderUmbrella(Long memberId, String... placeParent);
|
R<List<CuMemberExt>> queryPlaceSponsorUnderUmbrella(Long memberId, String... placeParent);
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据会员编号,查找该会员编号极左极下的那个人
|
|
||||||
*
|
|
||||||
* @param memberId 会员编号
|
|
||||||
* @param placeDept 1代表左区极左极下,2代表右区极左极下
|
|
||||||
*/
|
|
||||||
R<CuMemberExt> queryPlaceSponsorLastLeft(Long memberId, Integer placeDept);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取会员缓存
|
* 获取会员缓存
|
||||||
*
|
*
|
||||||
|
|
@ -193,13 +163,6 @@ public interface IMemberServiceApi {
|
||||||
*/
|
*/
|
||||||
R<Boolean> saveMember(CuMember cuMember, SaOrderExt saOrder, Boolean isPay, CuMemberAccountExt cuMemberAccountExt);
|
R<Boolean> saveMember(CuMember cuMember, SaOrderExt saOrder, Boolean isPay, CuMemberAccountExt cuMemberAccountExt);
|
||||||
|
|
||||||
/**
|
|
||||||
* 处理新会员,生成主键,跟会员编号
|
|
||||||
*
|
|
||||||
* @param cuMember 会员
|
|
||||||
*/
|
|
||||||
R<CuMember> createMemberIdAndCode(CuMember cuMember);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建注册会员编号(放入会员编号批次占用)
|
* 创建注册会员编号(放入会员编号批次占用)
|
||||||
*
|
*
|
||||||
|
|
@ -241,13 +204,6 @@ public interface IMemberServiceApi {
|
||||||
*/
|
*/
|
||||||
R<List<CuMemberExt>> findMemberByMemberId(List<Long> pkMemberList, Integer pkCountry);
|
R<List<CuMemberExt>> findMemberByMemberId(List<Long> pkMemberList, Integer pkCountry);
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据会员主键查询会员注册信息
|
|
||||||
*
|
|
||||||
* @param pkMember 会员主键
|
|
||||||
*/
|
|
||||||
R<CuMemberRegister> queryCuMemberRegister(Long pkMember);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 会员编号,账户类型,抽奖金额
|
* 会员编号,账户类型,抽奖金额
|
||||||
**/
|
**/
|
||||||
|
|
|
||||||
|
|
@ -25,11 +25,6 @@ public interface IMemberTeamServiceApi {
|
||||||
*/
|
*/
|
||||||
R<Boolean> checkVertex(Integer pkVertex);
|
R<Boolean> checkVertex(Integer pkVertex);
|
||||||
|
|
||||||
/*
|
|
||||||
* 根据主键获得所属团队
|
|
||||||
**/
|
|
||||||
R<CuMemberTeamExt> getCuMemberTeamById(Long pkMember);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询体系团队map
|
* 查询体系团队map
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -1,48 +0,0 @@
|
||||||
package com.hzs.member.detail;
|
|
||||||
|
|
||||||
import com.hzs.common.core.domain.R;
|
|
||||||
import com.hzs.common.domain.member.base.CuMemberRegister;
|
|
||||||
import com.hzs.common.domain.member.detail.CuMemberLevel;
|
|
||||||
import com.hzs.common.domain.member.detail.ext.CuMemberAwardsExt;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 会员升级记录dubbo服务
|
|
||||||
*/
|
|
||||||
public interface ICuMemberDetailServiceApi {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询升级的最新一条
|
|
||||||
*
|
|
||||||
* @param pkMember 会员ID
|
|
||||||
* @param pkOrder 订单ID(可为null)
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
R<CuMemberLevel> getLastUpgrade(Long pkMember, Long pkOrder);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询所有升级记录
|
|
||||||
*
|
|
||||||
* @param pkMember 会员ID
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
R<List<CuMemberLevel>> getUpgradeList(Long pkMember);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询手动开通奖衔的最新一条
|
|
||||||
*
|
|
||||||
* @param pkMember 会员ID
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
R<CuMemberAwardsExt> queryLastManualAwards(Long pkMember);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询会员注册信息
|
|
||||||
*
|
|
||||||
* @param pkMember 会员ID
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
R<CuMemberRegister> getMemberRegister(Long pkMember);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -2,10 +2,7 @@ package com.hzs.member.detail;
|
||||||
|
|
||||||
import com.hzs.common.core.domain.R;
|
import com.hzs.common.core.domain.R;
|
||||||
import com.hzs.common.domain.member.detail.CuMemberServiceLog;
|
import com.hzs.common.domain.member.detail.CuMemberServiceLog;
|
||||||
import com.hzs.common.domain.member.detail.CuMemberServiceLogExt;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public interface ICuMemberServiceLogServiceApi {
|
public interface ICuMemberServiceLogServiceApi {
|
||||||
|
|
@ -50,43 +47,4 @@ public interface ICuMemberServiceLogServiceApi {
|
||||||
*/
|
*/
|
||||||
R<Boolean> updateByBusinessNo(CuMemberServiceLog memberLog);
|
R<Boolean> updateByBusinessNo(CuMemberServiceLog memberLog);
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据业务单号查询业务日志
|
|
||||||
**/
|
|
||||||
R<List<CuMemberServiceLog>> selectCuMemberServiceLog(String businessNo);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询指定会员政策币信息
|
|
||||||
*
|
|
||||||
* @param pkMember 会员ID
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
R<CuMemberServiceLogExt> queryPolicy(Long pkMember);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param pkMember 会员主键 pkMember
|
|
||||||
* @param approvalBusiness 类型 EApprovalBusiness
|
|
||||||
* @param approveStatus 提交签呈状态 EApproveStatus
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
R<Integer> queryCount(Long pkMember, Integer approvalBusiness, Integer approveStatus);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询最新一条变动记录
|
|
||||||
*
|
|
||||||
* @param pkMember 会员ID
|
|
||||||
* @param editType 业务类型
|
|
||||||
* @param approveStatus 审核状态
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
R<CuMemberServiceLog> selectTopData(Long pkMember, int editType, int approveStatus);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询激活操作数据
|
|
||||||
*
|
|
||||||
* @param queryDate
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
R<List<CuMemberServiceLog>> listActivateLog(@Param("queryDate") Date queryDate);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
package com.hzs.retail.member;
|
|
||||||
|
|
||||||
import com.hzs.common.core.domain.R;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 新零售会员dubbo服务
|
|
||||||
*/
|
|
||||||
public interface IMemberRetailApi {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 定时处理收益区域
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
R<?> checkRegion();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 取消收益区域
|
|
||||||
*
|
|
||||||
* @param pkIdList 收益区域ID列表
|
|
||||||
*/
|
|
||||||
R<?> cancelRegion(List<Long> pkIdList);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
package com.hzs.report.stat;
|
|
||||||
|
|
||||||
import com.hzs.common.core.domain.R;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 统计分析
|
|
||||||
**/
|
|
||||||
public interface IMemberReportServiceApi {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 定时任务批量处理统计会员以及伞下金额业绩盒数
|
|
||||||
**/
|
|
||||||
R<?> pushAmountBoxmethod();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 定时任务7天重算直推会员金额业绩盒数
|
|
||||||
**/
|
|
||||||
R<?> repeatPushAmountBoxmethod(String startDateStr, String endDateStr);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,67 +0,0 @@
|
||||||
package com.hzs.report.stat.dto;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 修改政策币表DTO
|
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-08-22
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class StatisticalLogDTO implements Serializable {
|
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
private Long pkMember;
|
|
||||||
/**
|
|
||||||
* 会员编号
|
|
||||||
*/
|
|
||||||
private String memberCode;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 标题
|
|
||||||
*/
|
|
||||||
private String title;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 内容
|
|
||||||
*/
|
|
||||||
private String content;
|
|
||||||
/**
|
|
||||||
* 国家
|
|
||||||
*/
|
|
||||||
private Integer pkCountry;
|
|
||||||
/**
|
|
||||||
* 创建人
|
|
||||||
*/
|
|
||||||
private Long pkCreate;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 会员ID
|
|
||||||
*/
|
|
||||||
private List<Long> pkMemberList;
|
|
||||||
/**
|
|
||||||
* 业务单号
|
|
||||||
*/
|
|
||||||
private String businessNo;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 审核状态 2 待审核 4 已驳回 5 已完成(审核成功) 枚举 : EApproveStatus
|
|
||||||
*/
|
|
||||||
private Integer approveStatus;
|
|
||||||
/**
|
|
||||||
* 错误信息
|
|
||||||
*/
|
|
||||||
private String errorMsg;
|
|
||||||
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
|
||||||
private Date creationTime;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -2,9 +2,7 @@ package com.hzs.sale.order;
|
||||||
|
|
||||||
import com.hzs.common.core.domain.R;
|
import com.hzs.common.core.domain.R;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberAccountExt;
|
import com.hzs.common.domain.member.ext.CuMemberAccountExt;
|
||||||
import com.hzs.common.domain.sale.ext.SaDeliverItemsExt;
|
|
||||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||||
import com.hzs.common.domain.sale.ext.SaOrderItemsExt;
|
|
||||||
import com.hzs.common.domain.sale.order.SaOrder;
|
import com.hzs.common.domain.sale.order.SaOrder;
|
||||||
import com.hzs.common.domain.sale.order.SaOrderItems;
|
import com.hzs.common.domain.sale.order.SaOrderItems;
|
||||||
import com.hzs.sale.order.dto.*;
|
import com.hzs.sale.order.dto.*;
|
||||||
|
|
@ -27,25 +25,6 @@ public interface ISaOrderServiceApi {
|
||||||
*/
|
*/
|
||||||
R<List<SaOrderExt>> queryRetailSaOrderByDay(Date startDate, Date endDate, String orderCode);
|
R<List<SaOrderExt>> queryRetailSaOrderByDay(Date startDate, Date endDate, String orderCode);
|
||||||
|
|
||||||
/*
|
|
||||||
* 根据主键查询订单,需要查询del_flag=1的,存在先撤单在退货
|
|
||||||
**/
|
|
||||||
R<SaOrder> querySaOrderExtByPkId(Long pkId);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 根据发货单查询销售订单
|
|
||||||
**/
|
|
||||||
R<List<SaOrderExt>> querySaOrderByDeliverList(List<SaDeliverItemsExt> deliverItemExtList);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据订单ID查询订单详细列表
|
|
||||||
*
|
|
||||||
* @param pkOrderList 订单ID列表 -- 必传
|
|
||||||
* @param pkCountry 国家ID -- 非必传
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
R<List<SaOrderItemsExt>> queryOrderItemsListByOrderId(List<Long> pkOrderList, Integer pkCountry);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 空单注册审核通过
|
* 空单注册审核通过
|
||||||
*
|
*
|
||||||
|
|
@ -81,11 +60,6 @@ public interface ISaOrderServiceApi {
|
||||||
*/
|
*/
|
||||||
void closeOrder();
|
void closeOrder();
|
||||||
|
|
||||||
/*
|
|
||||||
* 查询订单某段时间累计金额,累计业绩
|
|
||||||
**/
|
|
||||||
R<SaOrder> queryOrderTotalAchieveByTime(Date startDate, Date endDate);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询指定数量会员SEQ
|
* 查询指定数量会员SEQ
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,6 @@ package com.hzs.system.base;
|
||||||
|
|
||||||
import com.hzs.common.core.domain.R;
|
import com.hzs.common.core.domain.R;
|
||||||
import com.hzs.common.domain.system.base.BdArea;
|
import com.hzs.common.domain.system.base.BdArea;
|
||||||
import com.hzs.common.domain.system.base.BdProductStorehouse;
|
|
||||||
import com.hzs.common.domain.system.base.ext.BdProductStorehouseExt;
|
|
||||||
import com.hzs.system.base.dto.AreaDTO;
|
import com.hzs.system.base.dto.AreaDTO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -46,9 +44,4 @@ public interface IAreaServiceApi {
|
||||||
*/
|
*/
|
||||||
R<?> updateArea(List<AreaDTO> provinceDTOList);
|
R<?> updateArea(List<AreaDTO> provinceDTOList);
|
||||||
|
|
||||||
/*
|
|
||||||
* 查询省绑定的产品仓库
|
|
||||||
**/
|
|
||||||
R<List<BdProductStorehouseExt>> queryBdProductStorehouseByCondition(List<Integer> productId, Integer province);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,7 @@
|
||||||
package com.hzs.system.base;
|
package com.hzs.system.base;
|
||||||
|
|
||||||
import com.hzs.common.core.domain.R;
|
import com.hzs.common.core.domain.R;
|
||||||
import com.hzs.common.domain.system.base.BdCubasdoc;
|
|
||||||
import com.hzs.common.domain.system.base.BdStorehouse;
|
import com.hzs.common.domain.system.base.BdStorehouse;
|
||||||
import com.hzs.common.domain.system.base.ext.BdCubasdocExt;
|
|
||||||
import com.hzs.common.domain.system.sys.SysCorp;
|
|
||||||
import com.hzs.system.base.dto.CurrencyDTO;
|
import com.hzs.system.base.dto.CurrencyDTO;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
@ -46,11 +43,6 @@ public interface ICurrencyServiceApi {
|
||||||
*/
|
*/
|
||||||
R<BdStorehouse> queryBdStorehouseByProvince(Integer province, Integer... type);
|
R<BdStorehouse> queryBdStorehouseByProvince(Integer province, Integer... type);
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据省查询对应的发货仓库
|
|
||||||
*/
|
|
||||||
R<BdStorehouse> queryBdStorehouseById(Integer pkId);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据省查询对应的发货仓库
|
* 根据省查询对应的发货仓库
|
||||||
*
|
*
|
||||||
|
|
@ -71,23 +63,4 @@ public interface ICurrencyServiceApi {
|
||||||
*/
|
*/
|
||||||
R<List<CurrencyDTO>> findAll();
|
R<List<CurrencyDTO>> findAll();
|
||||||
|
|
||||||
/**
|
|
||||||
* 提供查询供应商的dubbo调用
|
|
||||||
*/
|
|
||||||
R<BdCubasdocExt> queryBdCubasdocById(Integer pkId, Integer pkCountry);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 提供查询供应商的dubbo调用
|
|
||||||
*/
|
|
||||||
R<BdCubasdocExt> queryBdCustomerById(Integer pkId, Integer pkCountry);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 提供查询采购组织的dubbo调用
|
|
||||||
*/
|
|
||||||
R<SysCorp> querySysCorp(Integer pkId, Integer pkCountry);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据仓库主键查询仓库
|
|
||||||
*/
|
|
||||||
R<List<BdStorehouse>> queryStorehouseByIds(Set<Integer> storehouseIdSet, Integer pkCountry, Integer pkCorp);
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,18 +18,6 @@ public interface ISystemConfigServiceApi {
|
||||||
*/
|
*/
|
||||||
R<String> getBonusSystemConfig(Integer pkCountry, String key);
|
R<String> getBonusSystemConfig(Integer pkCountry, String key);
|
||||||
|
|
||||||
/**
|
|
||||||
* 批量查询系统参数
|
|
||||||
*
|
|
||||||
* @param pkCountry 国家
|
|
||||||
*/
|
|
||||||
R<Map<String, String>> getBonusSystemConfig(Integer pkCountry);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 批量查询所有国家的系统参数
|
|
||||||
*/
|
|
||||||
R<Map<String, String>> getBonusSystemConfig();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量查询所有国家的订单参数
|
* 批量查询所有国家的订单参数
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@ package com.hzs.system.base;
|
||||||
import com.hzs.common.core.domain.R;
|
import com.hzs.common.core.domain.R;
|
||||||
import com.hzs.common.core.enums.ETransactionKey;
|
import com.hzs.common.core.enums.ETransactionKey;
|
||||||
import com.hzs.common.core.enums.EYesNo;
|
import com.hzs.common.core.enums.EYesNo;
|
||||||
import com.hzs.system.base.dto.TransactionDTO;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -15,27 +14,6 @@ import java.util.Set;
|
||||||
*/
|
*/
|
||||||
public interface ITransactionServiceApi {
|
public interface ITransactionServiceApi {
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据key读取数据库翻译
|
|
||||||
*
|
|
||||||
* @param fromCountry 来源国家(数据结算国)
|
|
||||||
* @param content 翻译内容
|
|
||||||
* @param toLocal 返回语言
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
R<String> readTransactionByDataBase(Integer fromCountry, String content, String toLocal);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据key列表读取数据库翻译
|
|
||||||
*
|
|
||||||
* @param fromCountry 来源国家(数据结算国)
|
|
||||||
* @param contentList 翻译内容列表
|
|
||||||
* @param toLocal 返回语言
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
R<Map<String, String>> readTransactionListByDataBase(Integer fromCountry, Set<String> contentList, String toLocal);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据key读取缓存翻译
|
* 根据key读取缓存翻译
|
||||||
*
|
*
|
||||||
|
|
@ -72,7 +50,6 @@ public interface ITransactionServiceApi {
|
||||||
*/
|
*/
|
||||||
R<Map<Integer, String>> readTransactionListDataBase(Collection<Integer> pkIdList, String toLocal);
|
R<Map<Integer, String>> readTransactionListDataBase(Collection<Integer> pkIdList, String toLocal);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 数据库+缓存同时查询
|
* 数据库+缓存同时查询
|
||||||
*
|
*
|
||||||
|
|
@ -83,17 +60,6 @@ public interface ITransactionServiceApi {
|
||||||
*/
|
*/
|
||||||
R<Map<String, String>> readTransactionAll(Integer fromCountry, Set<String> contentList, Set<String> keyList, String toLocal);
|
R<Map<String, String>> readTransactionAll(Integer fromCountry, Set<String> contentList, Set<String> keyList, String toLocal);
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 创建国际化翻译(只写入缓存)
|
|
||||||
*
|
|
||||||
* @param pkCountry 结算国
|
|
||||||
* @param key 翻译key规则
|
|
||||||
* @param content 翻译内容
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
R<Integer> createTransactionCacheOnly(Integer pkCountry, ETransactionKey key, String content);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建国际化翻译(写入缓存,上传OSS)
|
* 创建国际化翻译(写入缓存,上传OSS)
|
||||||
*
|
*
|
||||||
|
|
@ -116,7 +82,6 @@ public interface ITransactionServiceApi {
|
||||||
*/
|
*/
|
||||||
R<Integer> createTransaction(Integer pkCountry, ETransactionKey key, String content, EYesNo cacheFlag, EYesNo uploadFlag);
|
R<Integer> createTransaction(Integer pkCountry, ETransactionKey key, String content, EYesNo cacheFlag, EYesNo uploadFlag);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 移除国际化翻译(根据ID)
|
* 移除国际化翻译(根据ID)
|
||||||
*
|
*
|
||||||
|
|
@ -125,15 +90,6 @@ public interface ITransactionServiceApi {
|
||||||
*/
|
*/
|
||||||
R<Boolean> removeTransactionByPkId(List<Long> pkIdList);
|
R<Boolean> removeTransactionByPkId(List<Long> pkIdList);
|
||||||
|
|
||||||
/**
|
|
||||||
* 移除国际化翻译(根据KEY)
|
|
||||||
*
|
|
||||||
* @param keyList 翻译key列表
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
R<Boolean> removeTransactionByKey(List<String> keyList);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新国际化翻译
|
* 更新国际化翻译
|
||||||
*
|
*
|
||||||
|
|
@ -145,13 +101,4 @@ public interface ITransactionServiceApi {
|
||||||
*/
|
*/
|
||||||
R<Boolean> updateTransaction(Integer pkCountry, String content, Integer pkId, Boolean updateOther);
|
R<Boolean> updateTransaction(Integer pkCountry, String content, Integer pkId, Boolean updateOther);
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新国际化翻译(异步翻译回调更新)
|
|
||||||
*
|
|
||||||
* @param transactionDTO 更新实体
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
R<Boolean> updateTransactionSync(TransactionDTO transactionDTO);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,11 +9,7 @@ import java.io.Serializable;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description: 翻译操作DTO
|
* 翻译操作DTO
|
||||||
* Author: jiang chao
|
|
||||||
* Time: 2022/9/13 9:33
|
|
||||||
* Classname: TransactionDTO
|
|
||||||
* PackageName: com.hzs.system.base.dto
|
|
||||||
*/
|
*/
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
|
|
|
||||||
|
|
@ -25,12 +25,4 @@ public interface IAwardsServiceApi {
|
||||||
* 根据国家获取该国家的奖衔
|
* 根据国家获取该国家的奖衔
|
||||||
*/
|
*/
|
||||||
R<Map<String, BdAwards>> getAwards();
|
R<Map<String, BdAwards>> getAwards();
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据所属国家查询奖衔
|
|
||||||
*
|
|
||||||
* @param pkCountry
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
R<List<BdAwards>> queryByPkCountryAwards(Integer pkCountry);
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,13 +33,6 @@ public interface IGradeServiceApi {
|
||||||
*/
|
*/
|
||||||
R<List<GradeDTO>> queryGradeConfigByCondition(Integer pkCountry);
|
R<List<GradeDTO>> queryGradeConfigByCondition(Integer pkCountry);
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据国家查询等级配置列表
|
|
||||||
*
|
|
||||||
* @param pkCountry 国家
|
|
||||||
*/
|
|
||||||
R<List<GradeDTO>> queryHaiFunGradeConfigByCondition(Integer pkCountry);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 查询不同国家的等级参数
|
* 查询不同国家的等级参数
|
||||||
**/
|
**/
|
||||||
|
|
@ -68,13 +61,6 @@ public interface IGradeServiceApi {
|
||||||
*/
|
*/
|
||||||
R<List<GradeDTO>> selectGradeAll(Integer dataCountry);
|
R<List<GradeDTO>> selectGradeAll(Integer dataCountry);
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据国家查询等级配置列表
|
|
||||||
*
|
|
||||||
* @param pkCountry 国家
|
|
||||||
*/
|
|
||||||
R<List<BdGrade>> queryGrowUpFootmarkGrade(Integer pkCountry);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询全部的等级
|
* 查询全部的等级
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
package com.hzs.system.config;
|
|
||||||
|
|
||||||
import com.hzs.common.core.domain.R;
|
|
||||||
import com.hzs.common.domain.system.config.BdWithdrawalAuto;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @description: 根据国家查询自动提现明细api
|
|
||||||
* @author: zhang jing
|
|
||||||
* @date: 2022/9/27 15:15
|
|
||||||
* @param:
|
|
||||||
* @return:
|
|
||||||
**/
|
|
||||||
public interface IWithdrawalAutoServiceApi {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @description:根据国家查询自动提现明细列表
|
|
||||||
* @author: zhang jing
|
|
||||||
* @date: 2022/9/27 15:20
|
|
||||||
* @param: [pkCountry]
|
|
||||||
* @return: com.hzs.common.core.domain.R<java.util.List<com.hzs.common.domain.system.config.BdWithdrawalAuto>>
|
|
||||||
**/
|
|
||||||
R<List<BdWithdrawalAuto>> queryWithdrawalAuto(Integer pkCountry);
|
|
||||||
}
|
|
||||||
|
|
@ -3,32 +3,14 @@ package com.hzs.system.config;
|
||||||
import com.hzs.common.core.domain.R;
|
import com.hzs.common.core.domain.R;
|
||||||
import com.hzs.common.domain.system.config.BdWithdrawal;
|
import com.hzs.common.domain.system.config.BdWithdrawal;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 根据国家查询提现配置明细列表api
|
* 根据国家查询提现配置明细列表api
|
||||||
* @author: zhang jing
|
|
||||||
* @date: 2022/9/27 15:14
|
|
||||||
* @param:
|
|
||||||
* @return:
|
|
||||||
**/
|
**/
|
||||||
public interface IWithdrawalServiceApi {
|
public interface IWithdrawalServiceApi {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 根据国家查询提现配置明细列表
|
* 根据国家查询提现配置明细列表
|
||||||
* @author: zhang jing
|
|
||||||
* @date: 2022/9/27 15:14
|
|
||||||
* @param: [pkCountry]
|
|
||||||
* @return: com.hzs.common.core.domain.R<java.util.List < com.hzs.common.domain.system.config.BdWithdrawal>>
|
|
||||||
**/
|
**/
|
||||||
R<BdWithdrawal> queryWithdrawal(Integer pkCountry, Integer pkAccount);
|
R<BdWithdrawal> queryWithdrawal(Integer pkCountry, Integer pkAccount);
|
||||||
|
|
||||||
/**
|
|
||||||
* @description: 查询所有自动提现的配置
|
|
||||||
* @author: zhang jing
|
|
||||||
* @date: 2022/11/1 19:44
|
|
||||||
* @param: []
|
|
||||||
* @return: com.hzs.common.core.domain.R<java.util.List < com.hzs.common.domain.system.config.BdWithdrawal>>
|
|
||||||
**/
|
|
||||||
R<List<BdWithdrawal>> queryWithdrawalByIsAuto();
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -52,11 +52,6 @@ public class BonusConfigDTO implements Serializable {
|
||||||
*/
|
*/
|
||||||
private Map<String, BdGrade> gradeMap;
|
private Map<String, BdGrade> gradeMap;
|
||||||
|
|
||||||
/**
|
|
||||||
* 新零售团队等级
|
|
||||||
*/
|
|
||||||
private List<BdGrade> retaiGradeList;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 主任每个国家值对应的配置 需要主键 memberSettleExt.getPkSettleCountry().toString() + 奖衔值 为了解决服务中心算主任
|
* 主任每个国家值对应的配置 需要主键 memberSettleExt.getPkSettleCountry().toString() + 奖衔值 为了解决服务中心算主任
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -11,11 +11,7 @@ import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 等级的dto
|
* 等级的dto
|
||||||
* @Author: sui q
|
|
||||||
* @Time: 2022/9/24 15:06
|
|
||||||
* @Classname: GradeDTO
|
|
||||||
* @PackageName: com.hzs.system.config.dto
|
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@Builder
|
||||||
|
|
|
||||||
|
|
@ -3,21 +3,12 @@ package com.hzs.third.mq;
|
||||||
import com.hzs.common.core.domain.R;
|
import com.hzs.common.core.domain.R;
|
||||||
import com.hzs.third.mq.dto.DelayedMessageDTO;
|
import com.hzs.third.mq.dto.DelayedMessageDTO;
|
||||||
|
|
||||||
/**
|
|
||||||
* @Description:
|
|
||||||
* @Author: sui q
|
|
||||||
* @Time: 2023/3/9 15:21
|
|
||||||
* @Classname: IDelayedMessage
|
|
||||||
* @PackageName: com.hzs.third.mq
|
|
||||||
*/
|
|
||||||
public interface IDelayedMessageApi {
|
public interface IDelayedMessageApi {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发送延时队列消息
|
* 发送延时队列消息
|
||||||
|
*
|
||||||
* @param delayedMessageDTO 内容
|
* @param delayedMessageDTO 内容
|
||||||
* @return: void
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2023/3/9 15:18
|
|
||||||
*/
|
*/
|
||||||
R<Boolean> sendDelayedMessage(DelayedMessageDTO delayedMessageDTO);
|
R<Boolean> sendDelayedMessage(DelayedMessageDTO delayedMessageDTO);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,11 +10,7 @@ import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 用于延时队列,删除redis缓存
|
* 用于延时队列,删除redis缓存
|
||||||
* @Author: sui q
|
|
||||||
* @Time: 2023/3/9 15:49
|
|
||||||
* @Classname: DelayedMessageDTO
|
|
||||||
* @PackageName: com.hzs.third.mq.dto
|
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@Builder
|
||||||
|
|
|
||||||
|
|
@ -26,43 +26,6 @@ public interface CuMemberRetailRangeMapper extends BaseMapper<CuMemberRetailRang
|
||||||
@Param("yesterdayRangeTableName") String yesterdayRangeTableName,
|
@Param("yesterdayRangeTableName") String yesterdayRangeTableName,
|
||||||
@Param("isSameMonth") Integer isSameMonth);
|
@Param("isSameMonth") Integer isSameMonth);
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新区域
|
|
||||||
*/
|
|
||||||
void mergeMemberRetailRegion(@Param("rangeTableName") String rangeTableName, @Param("settleDate") Date settleDate);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据订单,查询出网体中记录的会员数据,推荐人、安置人
|
|
||||||
*
|
|
||||||
* @param rangeTableName 结算表
|
|
||||||
* @param memberPkList 需要查询的会员列表
|
|
||||||
*/
|
|
||||||
List<CuMemberRetailRangeExt> batchQueryMemberRetailRangeByMemberPk(@Param("rangeTableName") String rangeTableName,
|
|
||||||
@Param("memberPkList") List<?> memberPkList);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询出有奖衔的会员
|
|
||||||
*
|
|
||||||
* @param rangeTableName 结算表
|
|
||||||
*/
|
|
||||||
List<CuMemberRetailRangeExt> batchQueryMemberRetailRangeByAwards(@Param("rangeTableName") String rangeTableName);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询伞下会员,用于计算小区
|
|
||||||
*/
|
|
||||||
List<CuMemberRetailRangeExt> batchQueryMemberRetailRangeByParent(@Param("rangeTableName") String rangeTableName,
|
|
||||||
@Param("memberRetailRangeExtList") List<CuMemberRetailRangeExt> memberRetailRangeExtList);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询有区域的会员
|
|
||||||
*/
|
|
||||||
List<CuMemberRetailRangeExt> batchQueryMemberRetailRangeByCounty(@Param("rangeTableName") String rangeTableName);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询有区域的会员
|
|
||||||
*/
|
|
||||||
List<CuMemberRetailRangeExt> batchQueryMemberRetailSecondRangeByCounty(@Param("rangeTableName") String rangeTableName, @Param("secondRangeTableName") String secondRangeTableName, @Param("county") Integer county);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 当前网体更新极差秒结表
|
* 当前网体更新极差秒结表
|
||||||
*/
|
*/
|
||||||
|
|
@ -118,18 +81,5 @@ public interface CuMemberRetailRangeMapper extends BaseMapper<CuMemberRetailRang
|
||||||
*/
|
*/
|
||||||
void mergeCuMemberRetailRangeExt(@Param("rangeTableName") String rangeTableName, @Param("cuMemberRangeExtList") List<?> cuMemberRangeExtList);
|
void mergeCuMemberRetailRangeExt(@Param("rangeTableName") String rangeTableName, @Param("cuMemberRangeExtList") List<?> cuMemberRangeExtList);
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新会员树的累计业绩
|
|
||||||
*
|
|
||||||
* @param settleTableName 结算日期
|
|
||||||
* @param period 树
|
|
||||||
*/
|
|
||||||
void mergeCuMemberRetailRangeBySpecial(@Param("rangeTableName") String settleTableName, @Param("period") Integer period);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 之前有过注水,回退
|
|
||||||
*/
|
|
||||||
void mergeCuMemberRetailBackBoxBySpecial(@Param("rangeTableName") String rangeTableName,
|
|
||||||
@Param("beforeTableName") String beforeTableName,
|
|
||||||
@Param("period") Integer period);
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,6 @@ import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 服务类
|
* 服务类
|
||||||
|
|
@ -54,49 +53,6 @@ public interface ICuMemberRetailRangeService extends IService<CuMemberRetailRang
|
||||||
*/
|
*/
|
||||||
void updateCuMemberRetailRange(String settleTableName, Map<Long, CuMemberRetailRangeExt> cuMemberTreeMap);
|
void updateCuMemberRetailRange(String settleTableName, Map<Long, CuMemberRetailRangeExt> cuMemberTreeMap);
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新会员树的累计业绩
|
|
||||||
*
|
|
||||||
* @param settleTableName 结算日期
|
|
||||||
* @param period 树
|
|
||||||
*/
|
|
||||||
void mergeCuMemberRetailRangeBySpecial(String settleTableName, Integer period);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 之前有过注水,回退
|
|
||||||
*/
|
|
||||||
void mergeCuMemberRetailBackBoxBySpecial(String rangeTableName, String beforeTableName, Integer period);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据订单,查询出网体中记录的会员数据,推荐人、安置人
|
|
||||||
*
|
|
||||||
* @param settleTableName 结算表
|
|
||||||
* @param serviceMemberSet 会员编号
|
|
||||||
*/
|
|
||||||
List<CuMemberRetailRangeExt> batchQueryMemberRetailRangeByMemberPk(String settleTableName, Set<Long> serviceMemberSet);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询出有奖衔的会员
|
|
||||||
*
|
|
||||||
* @param settleTableName 结算表
|
|
||||||
*/
|
|
||||||
List<CuMemberRetailRangeExt> batchQueryMemberRetailRangeByAwards(String settleTableName);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询伞下会员,用于计算小区
|
|
||||||
*/
|
|
||||||
List<CuMemberRetailRangeExt> batchQueryMemberRetailRangeByParent(String rangeTableName, List<CuMemberRetailRangeExt> memberRetailRangeExtList);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询有区域的会员
|
|
||||||
*/
|
|
||||||
List<CuMemberRetailRangeExt> batchQueryMemberRetailRangeByCounty(String rangeTableName);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询有区域的会员
|
|
||||||
*/
|
|
||||||
List<CuMemberRetailRangeExt> batchQueryMemberRetailSecondRangeByCounty(String rangeTableName, String secondRangeTableName, Integer county);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新极差秒接表,用昨天的结算表
|
* 更新极差秒接表,用昨天的结算表
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -92,7 +92,6 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
||||||
.newRealPv(BigDecimal.ZERO)
|
.newRealPv(BigDecimal.ZERO)
|
||||||
.build();
|
.build();
|
||||||
if (Objects.equals(EOrderType.REGISTER_ORDER.getValue(), saOrder.getOrderType()) ||
|
if (Objects.equals(EOrderType.REGISTER_ORDER.getValue(), saOrder.getOrderType()) ||
|
||||||
Objects.equals(EOrderType.UPGRADE_ORDER.getValue(), saOrder.getOrderType()) ||
|
|
||||||
Objects.equals(EOrderType.FICTITIOUS_ORDER.getValue(), saOrder.getOrderType())) {
|
Objects.equals(EOrderType.FICTITIOUS_ORDER.getValue(), saOrder.getOrderType())) {
|
||||||
cuMemberAchieve.setNewAmount(saOrder.getOrderAmount());
|
cuMemberAchieve.setNewAmount(saOrder.getOrderAmount());
|
||||||
cuMemberAchieve.setNewPv(saOrder.getOrderAchieve());
|
cuMemberAchieve.setNewPv(saOrder.getOrderAchieve());
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@ package com.hzs.bonus.achieve.service.impl;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.hzs.bonus.achieve.mapper.CuMemberRetailRangeMapper;
|
import com.hzs.bonus.achieve.mapper.CuMemberRetailRangeMapper;
|
||||||
import com.hzs.bonus.achieve.service.ICuMemberRetailRangeService;
|
import com.hzs.bonus.achieve.service.ICuMemberRetailRangeService;
|
||||||
import com.hzs.bonus.base.service.ICuMemberService;
|
|
||||||
import com.hzs.common.core.constant.MagicNumberConstants;
|
import com.hzs.common.core.constant.MagicNumberConstants;
|
||||||
import com.hzs.common.domain.member.achieve.CuMemberRetailRange;
|
import com.hzs.common.domain.member.achieve.CuMemberRetailRange;
|
||||||
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
|
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
|
||||||
|
|
@ -33,8 +32,6 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl<CuMemberRetailRa
|
||||||
} else {
|
} else {
|
||||||
baseMapper.mergeMemberRetailRangeByYesterday(rangeTableName, yesterdayRangeTableName, 1);
|
baseMapper.mergeMemberRetailRangeByYesterday(rangeTableName, yesterdayRangeTableName, 1);
|
||||||
}
|
}
|
||||||
// 更新区域
|
|
||||||
baseMapper.mergeMemberRetailRegion(rangeTableName, settleEndDate);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -81,50 +78,6 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl<CuMemberRetailRa
|
||||||
treeList.forEach(list -> baseMapper.mergeCuMemberRetailRangeExt(settleTableName, list));
|
treeList.forEach(list -> baseMapper.mergeCuMemberRetailRangeExt(settleTableName, list));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void mergeCuMemberRetailRangeBySpecial(String settleTableName, Integer period) {
|
|
||||||
baseMapper.mergeCuMemberRetailRangeBySpecial(settleTableName, period);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void mergeCuMemberRetailBackBoxBySpecial(String rangeTableName, String beforeTableName, Integer period) {
|
|
||||||
baseMapper.mergeCuMemberRetailBackBoxBySpecial(rangeTableName, beforeTableName, period);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<CuMemberRetailRangeExt> batchQueryMemberRetailRangeByMemberPk(String settleTableName, Set<Long> serviceMemberSet) {
|
|
||||||
List<CuMemberRetailRangeExt> cuMemberSettleExtList = new ArrayList<>();
|
|
||||||
if (serviceMemberSet.size() > 0) {
|
|
||||||
// 做一下排序
|
|
||||||
List<Long> memberPkList = Arrays.asList(serviceMemberSet.toArray(new Long[]{}));
|
|
||||||
Collections.sort(memberPkList);
|
|
||||||
List<List<?>> listList = cuMemberBonusSettle.handleCutList(memberPkList, MagicNumberConstants.BATCH_QUERY_NUM);
|
|
||||||
listList.forEach(list ->
|
|
||||||
cuMemberSettleExtList.addAll(baseMapper.batchQueryMemberRetailRangeByMemberPk(settleTableName, list)));
|
|
||||||
}
|
|
||||||
return cuMemberSettleExtList;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<CuMemberRetailRangeExt> batchQueryMemberRetailRangeByAwards(String rangeTableName) {
|
|
||||||
return baseMapper.batchQueryMemberRetailRangeByAwards(rangeTableName);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<CuMemberRetailRangeExt> batchQueryMemberRetailRangeByParent(String rangeTableName, List<CuMemberRetailRangeExt> memberRetailRangeExtList) {
|
|
||||||
return baseMapper.batchQueryMemberRetailRangeByParent(rangeTableName, memberRetailRangeExtList);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<CuMemberRetailRangeExt> batchQueryMemberRetailRangeByCounty(String rangeTableName) {
|
|
||||||
return baseMapper.batchQueryMemberRetailRangeByCounty(rangeTableName);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<CuMemberRetailRangeExt> batchQueryMemberRetailSecondRangeByCounty(String rangeTableName, String secondRangeTableName, Integer county) {
|
|
||||||
return baseMapper.batchQueryMemberRetailSecondRangeByCounty(rangeTableName, secondRangeTableName, county);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mergeMemberSecondRetailRangeByRange(String rangeTableName, String secondRangeTableName, Long pkMember) {
|
public void mergeMemberSecondRetailRangeByRange(String rangeTableName, String secondRangeTableName, Long pkMember) {
|
||||||
// 当前网体更新极差秒接表(血缘伞上)
|
// 当前网体更新极差秒接表(血缘伞上)
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,9 @@ import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodDetailService;
|
||||||
import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService;
|
import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService;
|
||||||
import com.hzs.common.core.constant.*;
|
import com.hzs.common.core.constant.*;
|
||||||
import com.hzs.common.core.enums.EExpandCapMethod;
|
import com.hzs.common.core.enums.EExpandCapMethod;
|
||||||
import com.hzs.common.core.enums.ESystemConfig;
|
|
||||||
import com.hzs.common.core.enums.EYesNo;
|
import com.hzs.common.core.enums.EYesNo;
|
||||||
import com.hzs.common.core.service.RedisService;
|
import com.hzs.common.core.service.RedisService;
|
||||||
import com.hzs.common.core.utils.DateUtils;
|
import com.hzs.common.core.utils.DateUtils;
|
||||||
import com.hzs.common.core.utils.StringUtils;
|
|
||||||
import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod;
|
import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod;
|
||||||
import com.hzs.common.domain.member.achieve.CuMemberSettlePeriodDetail;
|
import com.hzs.common.domain.member.achieve.CuMemberSettlePeriodDetail;
|
||||||
import com.hzs.common.domain.member.achieve.ext.CuMemberSettlePeriodExt;
|
import com.hzs.common.domain.member.achieve.ext.CuMemberSettlePeriodExt;
|
||||||
|
|
@ -19,7 +17,6 @@ import com.hzs.common.domain.system.base.BdCountry;
|
||||||
import com.hzs.bonus.achieve.mapper.CuMemberSettlePeriodMapper;
|
import com.hzs.bonus.achieve.mapper.CuMemberSettlePeriodMapper;
|
||||||
import com.hzs.bonus.achieve.param.MemberPeriodParam;
|
import com.hzs.bonus.achieve.param.MemberPeriodParam;
|
||||||
import com.hzs.system.base.ICountryServiceApi;
|
import com.hzs.system.base.ICountryServiceApi;
|
||||||
import com.hzs.system.base.ISystemConfigServiceApi;
|
|
||||||
import org.apache.dubbo.config.annotation.DubboReference;
|
import org.apache.dubbo.config.annotation.DubboReference;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
@ -41,8 +38,6 @@ public class CuMemberSettlePeriodServiceImpl extends ServiceImpl<CuMemberSettleP
|
||||||
|
|
||||||
@DubboReference
|
@DubboReference
|
||||||
ICountryServiceApi iCountryServiceApi;
|
ICountryServiceApi iCountryServiceApi;
|
||||||
@DubboReference
|
|
||||||
ISystemConfigServiceApi iSystemConfigServiceApi;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initCuMemberPeriod(String settleDate) {
|
public void initCuMemberPeriod(String settleDate) {
|
||||||
|
|
@ -188,15 +183,7 @@ public class CuMemberSettlePeriodServiceImpl extends ServiceImpl<CuMemberSettleP
|
||||||
|
|
||||||
private void packageSettleCountry(List<Integer> weekSettleCountry, List<Integer> daySettleCountry) {
|
private void packageSettleCountry(List<Integer> weekSettleCountry, List<Integer> daySettleCountry) {
|
||||||
Map<Integer, BdCountry> allCountryMap = iCountryServiceApi.getAllCountryMap().getData();
|
Map<Integer, BdCountry> allCountryMap = iCountryServiceApi.getAllCountryMap().getData();
|
||||||
for (Integer pkCountry : allCountryMap.keySet()) {
|
daySettleCountry.addAll(allCountryMap.keySet());
|
||||||
String value = iSystemConfigServiceApi.getBonusSystemConfig(pkCountry, ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData();
|
|
||||||
// 周结
|
|
||||||
if (StringUtils.isNotEmpty(value) && Objects.equals(Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue()), value)) {
|
|
||||||
weekSettleCountry.add(pkCountry);
|
|
||||||
} else {
|
|
||||||
daySettleCountry.add(pkCountry);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,6 @@ package com.hzs.bonus.base.mapper;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.hzs.common.domain.member.base.CuMember;
|
import com.hzs.common.domain.member.base.CuMember;
|
||||||
import com.hzs.common.domain.member.detail.CuMemberAwards;
|
import com.hzs.common.domain.member.detail.CuMemberAwards;
|
||||||
import com.hzs.common.domain.member.detail.CuMemberGrade;
|
|
||||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
|
||||||
import com.hzs.common.domain.vertex.BdVertexBonus;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
@ -16,15 +13,6 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
public interface CuMemberMapper extends BaseMapper<CuMember> {
|
public interface CuMemberMapper extends BaseMapper<CuMember> {
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询登录会员以及状态
|
|
||||||
*
|
|
||||||
* @param memberCode 会员编号
|
|
||||||
* @param pkMember 会员主键
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
CuMemberExt queryLoginMember(@Param("memberCode") String memberCode, @Param("pkMember") Long pkMember);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新会员奖衔根据临时表
|
* 更新会员奖衔根据临时表
|
||||||
*/
|
*/
|
||||||
|
|
@ -48,28 +36,6 @@ public interface CuMemberMapper extends BaseMapper<CuMember> {
|
||||||
@Param("period") Integer period,
|
@Param("period") Integer period,
|
||||||
@Param("awardType") Integer awardType);
|
@Param("awardType") Integer awardType);
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新会员奖衔根据临时表
|
|
||||||
*
|
|
||||||
* @param cuMemberGradeList 修改奖衔的会员
|
|
||||||
*/
|
|
||||||
int updateCuMemberMinGradeByList(@Param("cuMemberGradeList") List<CuMemberGrade> cuMemberGradeList, @Param("period") Integer period);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新会员的等级
|
|
||||||
*/
|
|
||||||
Integer updateCuMemberGrade(@Param("period") Integer period);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询会员等级
|
|
||||||
*/
|
|
||||||
void updateCuMemberLevel(@Param("startDate") Date startDate, @Param("endDate") Date endDate);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新会员的等级(会员表)
|
|
||||||
*/
|
|
||||||
Integer updateCuMemberGradeByList(@Param("cuMemberGradeList") List<CuMemberGrade> cuMemberGradeList, @Param("period") Integer period);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新会员奖衔根据临时表
|
* 更新会员奖衔根据临时表
|
||||||
*/
|
*/
|
||||||
|
|
@ -90,17 +56,4 @@ public interface CuMemberMapper extends BaseMapper<CuMember> {
|
||||||
*/
|
*/
|
||||||
void updateCuMemberRetailRangeInitV5Award();
|
void updateCuMemberRetailRangeInitV5Award();
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询可以分享的会员人数
|
|
||||||
*/
|
|
||||||
List<CuMember> queryCuMemberShareTotal(Integer pkCountry);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询体系奖项列表
|
|
||||||
*
|
|
||||||
* @param pkMember
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
List<BdVertexBonus> listVertexBonus(@Param("pkMember") Long pkMember);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,19 +3,9 @@ package com.hzs.bonus.base.service;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.hzs.common.domain.vertex.BdVertexBonus;
|
import com.hzs.common.domain.vertex.BdVertexBonus;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 体系奖金配置(记录哪个体系走特殊奖金) 服务类
|
* 体系奖金配置(记录哪个体系走特殊奖金) 服务类
|
||||||
*/
|
*/
|
||||||
public interface IBdVertexBonusService extends IService<BdVertexBonus> {
|
public interface IBdVertexBonusService extends IService<BdVertexBonus> {
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询体系奖金map
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
Map<Long, List<Integer>> queryVertexBonus();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,6 @@ package com.hzs.bonus.base.service;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.hzs.common.domain.member.base.CuMember;
|
import com.hzs.common.domain.member.base.CuMember;
|
||||||
import com.hzs.common.domain.member.detail.CuMemberAwards;
|
import com.hzs.common.domain.member.detail.CuMemberAwards;
|
||||||
import com.hzs.common.domain.member.detail.CuMemberGrade;
|
|
||||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
|
||||||
import com.hzs.common.domain.vertex.BdVertexBonus;
|
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -15,14 +12,6 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
public interface ICuMemberService extends IService<CuMember> {
|
public interface ICuMemberService extends IService<CuMember> {
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据会员编号获取会员信息(查库)
|
|
||||||
*
|
|
||||||
* @param memberCode
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
CuMemberExt getMemberByCode(String memberCode);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新会员奖衔根据临时表 -- 日结
|
* 更新会员奖衔根据临时表 -- 日结
|
||||||
*/
|
*/
|
||||||
|
|
@ -35,13 +24,6 @@ public interface ICuMemberService extends IService<CuMember> {
|
||||||
*/
|
*/
|
||||||
void updateCuMemberRetailRangeByList(List<CuMemberAwards> cuMemberAwardsList, Integer period);
|
void updateCuMemberRetailRangeByList(List<CuMemberAwards> cuMemberAwardsList, Integer period);
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新会员奖衔根据临时表
|
|
||||||
*
|
|
||||||
* @param cuMemberGradeList 修改奖衔的会员
|
|
||||||
*/
|
|
||||||
void updateCuMemberMinGradeByList(List<CuMemberGrade> cuMemberGradeList, Integer period);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新会员奖衔根据临时表
|
* 更新会员奖衔根据临时表
|
||||||
*
|
*
|
||||||
|
|
@ -49,21 +31,6 @@ public interface ICuMemberService extends IService<CuMember> {
|
||||||
*/
|
*/
|
||||||
void updateCuMemberMinAwardsByList(List<CuMemberAwards> cuMemberAwardsList, Integer period);
|
void updateCuMemberMinAwardsByList(List<CuMemberAwards> cuMemberAwardsList, Integer period);
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据等级更新会员等级
|
|
||||||
*/
|
|
||||||
void updateCuMemberGradeByPeriod(Integer period);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询会员等级
|
|
||||||
*/
|
|
||||||
void updateCuMemberLevel(Date startDate, Date endDate);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新会员的等级(会员表)
|
|
||||||
*/
|
|
||||||
void updateCuMemberGradeByList(List<CuMemberGrade> cuMemberGradeList, Integer period);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新会员奖衔根据临时表
|
* 更新会员奖衔根据临时表
|
||||||
*/
|
*/
|
||||||
|
|
@ -79,17 +46,4 @@ public interface ICuMemberService extends IService<CuMember> {
|
||||||
*/
|
*/
|
||||||
void updateCuMemberRetailRangeInitAward();
|
void updateCuMemberRetailRangeInitAward();
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询可以获得分红的会员人数
|
|
||||||
*/
|
|
||||||
List<CuMember> queryCuMemberShareTotal(Integer pkCountry);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询体系奖项列表
|
|
||||||
*
|
|
||||||
* @param pkMember
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
List<BdVertexBonus> listVertexBonus(Long pkMember);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,41 +1,15 @@
|
||||||
package com.hzs.bonus.base.service.impl;
|
package com.hzs.bonus.base.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
|
||||||
import com.hzs.bonus.base.mapper.BdVertexBonusMapper;
|
import com.hzs.bonus.base.mapper.BdVertexBonusMapper;
|
||||||
import com.hzs.bonus.base.service.IBdVertexBonusService;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.hzs.bonus.base.service.IBdVertexBonusService;
|
||||||
import com.hzs.common.domain.vertex.BdVertexBonus;
|
import com.hzs.common.domain.vertex.BdVertexBonus;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 体系奖金配置(记录哪个体系走特殊奖金) 服务实现类
|
* 体系奖金配置(记录哪个体系走特殊奖金) 服务实现类
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class BdVertexBonusServiceImpl extends ServiceImpl<BdVertexBonusMapper, BdVertexBonus> implements IBdVertexBonusService {
|
public class BdVertexBonusServiceImpl extends ServiceImpl<BdVertexBonusMapper, BdVertexBonus> implements IBdVertexBonusService {
|
||||||
|
|
||||||
@Override
|
|
||||||
public Map<Long, List<Integer>> queryVertexBonus() {
|
|
||||||
HashMap<Long, List<Integer>> resultMap = new HashMap<>();
|
|
||||||
|
|
||||||
List<BdVertexBonus> vertexBonusList = this.list();
|
|
||||||
if (CollectionUtil.isNotEmpty(vertexBonusList)) {
|
|
||||||
for (BdVertexBonus bdVertexBonus : vertexBonusList) {
|
|
||||||
if (resultMap.containsKey(bdVertexBonus.getPkVertex())) {
|
|
||||||
resultMap.get(bdVertexBonus.getPkVertex()).add(bdVertexBonus.getBonusItems());
|
|
||||||
} else {
|
|
||||||
List<Integer> tmpList = new ArrayList<>();
|
|
||||||
tmpList.add(bdVertexBonus.getBonusItems());
|
|
||||||
resultMap.put(bdVertexBonus.getPkVertex(), tmpList);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return resultMap;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,13 +3,9 @@ package com.hzs.bonus.base.service.impl;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.hzs.bonus.base.service.*;
|
import com.hzs.bonus.base.service.*;
|
||||||
import com.hzs.common.core.enums.*;
|
import com.hzs.common.core.enums.*;
|
||||||
import com.hzs.common.core.utils.*;
|
|
||||||
import com.hzs.common.domain.member.base.*;
|
import com.hzs.common.domain.member.base.*;
|
||||||
import com.hzs.common.domain.member.detail.CuMemberAwards;
|
import com.hzs.common.domain.member.detail.CuMemberAwards;
|
||||||
import com.hzs.common.domain.member.detail.CuMemberGrade;
|
|
||||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
|
||||||
import com.hzs.bonus.base.mapper.CuMemberMapper;
|
import com.hzs.bonus.base.mapper.CuMemberMapper;
|
||||||
import com.hzs.common.domain.vertex.BdVertexBonus;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
@ -20,11 +16,6 @@ import java.util.*;
|
||||||
@Service
|
@Service
|
||||||
public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> implements ICuMemberService {
|
public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> implements ICuMemberService {
|
||||||
|
|
||||||
@Override
|
|
||||||
public CuMemberExt getMemberByCode(String memberCode) {
|
|
||||||
return baseMapper.queryLoginMember(memberCode, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateCuMemberRetailRangeByPeriod(Integer period) {
|
public void updateCuMemberRetailRangeByPeriod(Integer period) {
|
||||||
baseMapper.updateCuMemberRetailAwardsByPeriod(period, EAwardsType.RANGE_TYPE.getValue());
|
baseMapper.updateCuMemberRetailAwardsByPeriod(period, EAwardsType.RANGE_TYPE.getValue());
|
||||||
|
|
@ -39,32 +30,12 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
baseMapper.updateCuMemberRetailRangeByList(cuMemberAwardsList, period, EAwardsType.SHARE_TYPE.getValue());
|
baseMapper.updateCuMemberRetailRangeByList(cuMemberAwardsList, period, EAwardsType.SHARE_TYPE.getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void updateCuMemberMinGradeByList(List<CuMemberGrade> cuMemberGradeList, Integer period) {
|
|
||||||
baseMapper.updateCuMemberMinGradeByList(cuMemberGradeList, period);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateCuMemberMinAwardsByList(List<CuMemberAwards> cuMemberAwardsList, Integer period) {
|
public void updateCuMemberMinAwardsByList(List<CuMemberAwards> cuMemberAwardsList, Integer period) {
|
||||||
baseMapper.updateCuMemberRetailRangeByList(cuMemberAwardsList, period, EAwardsType.RANGE_TYPE.getValue());
|
baseMapper.updateCuMemberRetailRangeByList(cuMemberAwardsList, period, EAwardsType.RANGE_TYPE.getValue());
|
||||||
baseMapper.updateCuMemberRetailRangeByList(cuMemberAwardsList, period, EAwardsType.SHARE_TYPE.getValue());
|
baseMapper.updateCuMemberRetailRangeByList(cuMemberAwardsList, period, EAwardsType.SHARE_TYPE.getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void updateCuMemberGradeByPeriod(Integer period) {
|
|
||||||
baseMapper.updateCuMemberGrade(period);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void updateCuMemberLevel(Date startDate, Date endDate) {
|
|
||||||
baseMapper.updateCuMemberLevel(startDate, endDate);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void updateCuMemberGradeByList(List<CuMemberGrade> cuMemberGradeList, Integer period) {
|
|
||||||
baseMapper.updateCuMemberGradeByList(cuMemberGradeList, period);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateBackCuMemberRetailRangeAward(Integer period) {
|
public void updateBackCuMemberRetailRangeAward(Integer period) {
|
||||||
baseMapper.updateBackCuMemberRetailRangeAward(period, EAwardsType.RANGE_TYPE.getValue());
|
baseMapper.updateBackCuMemberRetailRangeAward(period, EAwardsType.RANGE_TYPE.getValue());
|
||||||
|
|
@ -83,13 +54,4 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
baseMapper.updateCuMemberRetailRangeInitV5Award();
|
baseMapper.updateCuMemberRetailRangeInitV5Award();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<CuMember> queryCuMemberShareTotal(Integer pkCountry) {
|
|
||||||
return baseMapper.queryCuMemberShareTotal(pkCountry);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<BdVertexBonus> listVertexBonus(Long pkMember) {
|
|
||||||
return baseMapper.listVertexBonus(pkMember);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,14 +6,12 @@ import com.hzs.bonus.base.service.ICuMemberService;
|
||||||
import com.hzs.bonus.bonus.param.BonusParam;
|
import com.hzs.bonus.bonus.param.BonusParam;
|
||||||
import com.hzs.bonus.bonus.service.ICuMemberBonusService;
|
import com.hzs.bonus.bonus.service.ICuMemberBonusService;
|
||||||
import com.hzs.bonus.bonus.vo.*;
|
import com.hzs.bonus.bonus.vo.*;
|
||||||
import com.hzs.common.core.enums.EBonusItems;
|
|
||||||
import com.hzs.common.core.enums.EGrantStatus;
|
import com.hzs.common.core.enums.EGrantStatus;
|
||||||
import com.hzs.common.core.utils.ComputeUtil;
|
import com.hzs.common.core.utils.ComputeUtil;
|
||||||
import com.hzs.common.core.utils.DateUtils;
|
import com.hzs.common.core.utils.DateUtils;
|
||||||
import com.hzs.common.core.web.controller.BaseController;
|
import com.hzs.common.core.web.controller.BaseController;
|
||||||
import com.hzs.common.core.web.page.TableDataInfo;
|
import com.hzs.common.core.web.page.TableDataInfo;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberBonusExt;
|
import com.hzs.common.domain.member.ext.CuMemberBonusExt;
|
||||||
import com.hzs.common.domain.vertex.BdVertexBonus;
|
|
||||||
import com.hzs.common.security.utils.SecurityUtils;
|
import com.hzs.common.security.utils.SecurityUtils;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
@ -33,8 +31,6 @@ public class ApiCuMemberBonusController extends BaseController {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberBonusService iCuMemberBonusService;
|
private ICuMemberBonusService iCuMemberBonusService;
|
||||||
@Autowired
|
|
||||||
private ICuMemberService iCuMemberService;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新零售实时奖金:查询会员实时奖金,当日的奖金
|
* 新零售实时奖金:查询会员实时奖金,当日的奖金
|
||||||
|
|
@ -47,9 +43,6 @@ public class ApiCuMemberBonusController extends BaseController {
|
||||||
bonusParam.setEndDate(DateUtils.afterDate(1, ChronoUnit.DAYS, DateUtils.currentDate()));
|
bonusParam.setEndDate(DateUtils.afterDate(1, ChronoUnit.DAYS, DateUtils.currentDate()));
|
||||||
bonusParam.setGrantStatus(EGrantStatus.SETTLED.getValue());
|
bonusParam.setGrantStatus(EGrantStatus.SETTLED.getValue());
|
||||||
|
|
||||||
// 控制复购级差收益的返回
|
|
||||||
final boolean rangeIncomeFlag = this.checkRangeIncome();
|
|
||||||
|
|
||||||
List<CuMemberBonusExt> cuMemberBonusList = iCuMemberBonusService.queryMemberSecondBonusVoByCondition(bonusParam);
|
List<CuMemberBonusExt> cuMemberBonusList = iCuMemberBonusService.queryMemberSecondBonusVoByCondition(bonusParam);
|
||||||
List<MemberBonusVO> memberBonusVOList = new ArrayList<>();
|
List<MemberBonusVO> memberBonusVOList = new ArrayList<>();
|
||||||
cuMemberBonusList.forEach(cuMemberBonus -> {
|
cuMemberBonusList.forEach(cuMemberBonus -> {
|
||||||
|
|
@ -62,12 +55,6 @@ public class ApiCuMemberBonusController extends BaseController {
|
||||||
cuMemberBonus.getRetailRealSubtotal()
|
cuMemberBonus.getRetailRealSubtotal()
|
||||||
);
|
);
|
||||||
memberBonusVO.setBackPoints(serviceSpend);
|
memberBonusVO.setBackPoints(serviceSpend);
|
||||||
|
|
||||||
if (!rangeIncomeFlag) {
|
|
||||||
// 没有复购级差
|
|
||||||
memberBonusVO.setRepurRangeIncome(null);
|
|
||||||
}
|
|
||||||
|
|
||||||
memberBonusVOList.add(memberBonusVO);
|
memberBonusVOList.add(memberBonusVO);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -83,17 +70,10 @@ public class ApiCuMemberBonusController extends BaseController {
|
||||||
|
|
||||||
List<CuMemberBonusExt> cuMemberBonusList = iCuMemberBonusService.queryMemberBonusVoByCondition(bonusParam);
|
List<CuMemberBonusExt> cuMemberBonusList = iCuMemberBonusService.queryMemberBonusVoByCondition(bonusParam);
|
||||||
|
|
||||||
// 控制复购级差收益的返回
|
|
||||||
final boolean rangeIncomeFlag = this.checkRangeIncome();
|
|
||||||
|
|
||||||
List<MemberBonusFirstPurchaseVO> firstPurchaseVOList = new ArrayList<>();
|
List<MemberBonusFirstPurchaseVO> firstPurchaseVOList = new ArrayList<>();
|
||||||
cuMemberBonusList.forEach(cuMemberBonus -> {
|
cuMemberBonusList.forEach(cuMemberBonus -> {
|
||||||
MemberBonusFirstPurchaseVO memberBonusFirstPurchaseVO = BeanUtil.copyProperties(cuMemberBonus, MemberBonusFirstPurchaseVO.class, "settleDate");
|
MemberBonusFirstPurchaseVO memberBonusFirstPurchaseVO = BeanUtil.copyProperties(cuMemberBonus, MemberBonusFirstPurchaseVO.class, "settleDate");
|
||||||
packageSettleDate(cuMemberBonus, memberBonusFirstPurchaseVO);
|
packageSettleDate(cuMemberBonus, memberBonusFirstPurchaseVO);
|
||||||
if (!rangeIncomeFlag) {
|
|
||||||
// 没有复购级差
|
|
||||||
memberBonusFirstPurchaseVO.setRepurRangeIncome(null);
|
|
||||||
}
|
|
||||||
firstPurchaseVOList.add(memberBonusFirstPurchaseVO);
|
firstPurchaseVOList.add(memberBonusFirstPurchaseVO);
|
||||||
});
|
});
|
||||||
return getDataTable(firstPurchaseVOList);
|
return getDataTable(firstPurchaseVOList);
|
||||||
|
|
@ -180,23 +160,4 @@ public class ApiCuMemberBonusController extends BaseController {
|
||||||
return iCuMemberBonusService.queryMemberBonusDetailVoByCondition(bonusParam);
|
return iCuMemberBonusService.queryMemberBonusDetailVoByCondition(bonusParam);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 校验是否有复购级差
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
private boolean checkRangeIncome() {
|
|
||||||
List<BdVertexBonus> vertexBonusList = iCuMemberService.listVertexBonus(SecurityUtils.getUserId());
|
|
||||||
if (CollectionUtil.isNotEmpty(vertexBonusList)) {
|
|
||||||
for (BdVertexBonus bdVertexBonus : vertexBonusList) {
|
|
||||||
if (null != bdVertexBonus
|
|
||||||
&& null != bdVertexBonus.getBonusItems()
|
|
||||||
&& EBonusItems.REPURCHASE_RANGE_INCOME.getValue() == bdVertexBonus.getBonusItems()) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -220,7 +220,7 @@ public class CuMemberBonusController extends BaseController {
|
||||||
// 获取需要翻译的枚举翻译
|
// 获取需要翻译的枚举翻译
|
||||||
Map<Integer, String> transactionLongMap = iTransactionCommonService.exportEnumTransactionByDB(EnumsPrefixConstants.KEY_GRADE, EnumsPrefixConstants.KEY_AWARD);
|
Map<Integer, String> transactionLongMap = iTransactionCommonService.exportEnumTransactionByDB(EnumsPrefixConstants.KEY_GRADE, EnumsPrefixConstants.KEY_AWARD);
|
||||||
for (MemberBonusDetailSerVO memberBonusDetailSerVO : memberBonusDetailSerVOList) {
|
for (MemberBonusDetailSerVO memberBonusDetailSerVO : memberBonusDetailSerVOList) {
|
||||||
memberBonusDetailSerVO.setOrderTypeVal(EOrderType.getEnumLabelByValue(memberBonusDetailSerVO.getOrderType()));
|
memberBonusDetailSerVO.setOrderTypeVal(EOrderType.getLabelByValue(memberBonusDetailSerVO.getOrderType()));
|
||||||
memberBonusDetailSerVO.setIncomeStatusVal(EBonusIncomeStatus.getEnumLabelByValue(memberBonusDetailSerVO.getIncomeStatus()));
|
memberBonusDetailSerVO.setIncomeStatusVal(EBonusIncomeStatus.getEnumLabelByValue(memberBonusDetailSerVO.getIncomeStatus()));
|
||||||
|
|
||||||
if (transactionLongMap.containsKey(memberBonusDetailSerVO.getPkSettleGrade())) {
|
if (transactionLongMap.containsKey(memberBonusDetailSerVO.getPkSettleGrade())) {
|
||||||
|
|
|
||||||
|
|
@ -1,64 +0,0 @@
|
||||||
package com.hzs.bonus.bonus.controller.manage;
|
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
|
||||||
import com.hzs.bonus.bonus.param.CuMemberShareBonusParam;
|
|
||||||
import com.hzs.bonus.bonus.service.ICuMemberShareBonusService;
|
|
||||||
import com.hzs.common.core.annotation.AccessPermissions;
|
|
||||||
import com.hzs.common.core.web.controller.BaseController;
|
|
||||||
import com.hzs.common.core.web.domain.AjaxResult;
|
|
||||||
import com.hzs.common.security.utils.SecurityUtils;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 会员奖金-分红奖金配置 前端控制器
|
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2023-07-03
|
|
||||||
*/
|
|
||||||
@RestController
|
|
||||||
@RequestMapping("/manage/bonus")
|
|
||||||
public class CuMemberShareBonusController extends BaseController {
|
|
||||||
|
|
||||||
private ICuMemberShareBonusService cuMemberShareBonusService;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public void setCuMemberShareBonusService(ICuMemberShareBonusService cuMemberShareBonusService) {
|
|
||||||
this.cuMemberShareBonusService = cuMemberShareBonusService;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询某个月的分红配置
|
|
||||||
*
|
|
||||||
* @return AjaxResult
|
|
||||||
*/
|
|
||||||
@AccessPermissions("BonusConfig")
|
|
||||||
@PostMapping("/query-share-bonus")
|
|
||||||
// @Log(module = EOperationModule.SPECIAL_BUSINESS, method = EOperationMethod.UPDATE)
|
|
||||||
public AjaxResult queryShareBonus(@RequestBody CuMemberShareBonusParam cuMemberShareBonusParam) {
|
|
||||||
if (cuMemberShareBonusParam.getSettleMonth() == null) {
|
|
||||||
return AjaxResult.error("结算月份不能为空");
|
|
||||||
}
|
|
||||||
return AjaxResult.success(cuMemberShareBonusService.queryCuMemberShareBonus(SecurityUtils.getPkCountry(), cuMemberShareBonusParam.getSettleMonth()));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询某个月的分红配置
|
|
||||||
*
|
|
||||||
* @return AjaxResult
|
|
||||||
*/
|
|
||||||
@PostMapping("/save-share-bonus")
|
|
||||||
// @Log(module = EOperationModule.SPECIAL_BUSINESS, method = EOperationMethod.UPDATE)
|
|
||||||
public AjaxResult saveShareBonus(@RequestBody CuMemberShareBonusParam cuMemberShareBonusParam) {
|
|
||||||
if (cuMemberShareBonusParam.getSettleMonth() == null || CollectionUtil.isEmpty(cuMemberShareBonusParam.getCuMemberShareDetailList())) {
|
|
||||||
return AjaxResult.error("结算月份不能为空");
|
|
||||||
}
|
|
||||||
cuMemberShareBonusParam.setPkCountry(SecurityUtils.getPkCountry());
|
|
||||||
cuMemberShareBonusParam.setPkCreator(SecurityUtils.getUserId());
|
|
||||||
cuMemberShareBonusService.saveMemberShareBonus(cuMemberShareBonusParam);
|
|
||||||
return AjaxResult.success();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,314 +0,0 @@
|
||||||
package com.hzs.bonus.bonus.controller.manage;
|
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
||||||
import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService;
|
|
||||||
import com.hzs.bonus.base.service.ICuMemberService;
|
|
||||||
import com.hzs.bonus.bonus.param.RetailAreaParam;
|
|
||||||
import com.hzs.bonus.bonus.service.ICuMemberSpeRetailService;
|
|
||||||
import com.hzs.common.core.annotation.Log;
|
|
||||||
import com.hzs.common.core.annotation.RepeatSubmitSimple;
|
|
||||||
import com.hzs.common.core.constant.msg.ConfigMsgConstants;
|
|
||||||
import com.hzs.common.core.enums.*;
|
|
||||||
import com.hzs.common.core.utils.DateUtils;
|
|
||||||
import com.hzs.common.core.utils.StringUtils;
|
|
||||||
import com.hzs.common.core.utils.poi.ExcelUtil;
|
|
||||||
import com.hzs.common.core.web.controller.BaseController;
|
|
||||||
import com.hzs.common.core.web.domain.AjaxResult;
|
|
||||||
import com.hzs.common.core.web.page.TableDataInfo;
|
|
||||||
import com.hzs.common.domain.member.bonus.CuMemberSpeRetail;
|
|
||||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
|
||||||
import com.hzs.common.security.utils.SecurityUtils;
|
|
||||||
import com.hzs.common.util.TransactionUtils;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
|
||||||
|
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
|
||||||
import java.util.*;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 注水盒数 前端控制器
|
|
||||||
*/
|
|
||||||
@RestController
|
|
||||||
@RequestMapping("/manage/special")
|
|
||||||
public class CuMemberSpeRetailController extends BaseController {
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private ICuMemberService iCuMemberService;
|
|
||||||
@Autowired
|
|
||||||
private ICuMemberSpeRetailService iCuMemberSpeRetailService;
|
|
||||||
@Autowired
|
|
||||||
private ICuMemberSettlePeriodService iCuMemberSettlePeriodService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 注水列表
|
|
||||||
**/
|
|
||||||
@Log(module = EOperationModule.SPECIAL_BUSINESS, business = EOperationBusiness.INJECT_RETAIL_ACHIEVEMENT, method = EOperationMethod.SELECT)
|
|
||||||
@GetMapping("/list")
|
|
||||||
public TableDataInfo list(RetailAreaParam retailAreaParam) {
|
|
||||||
startPage();
|
|
||||||
retailAreaParam.setSystemType(SecurityUtils.getSystemType());
|
|
||||||
retailAreaParam.setPkCountry(SecurityUtils.getPkCountry());
|
|
||||||
List<RetailAreaParam> list = iCuMemberSpeRetailService.getCuMemberSpeRetail(retailAreaParam);
|
|
||||||
return getDataTable(list);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 新增注水
|
|
||||||
**/
|
|
||||||
@PostMapping("/save")
|
|
||||||
@RepeatSubmitSimple
|
|
||||||
@Log(module = EOperationModule.SPECIAL_BUSINESS, business = EOperationBusiness.INJECT_RETAIL_ACHIEVEMENT, method = EOperationMethod.INSERT)
|
|
||||||
public AjaxResult saveCuBonusExpand(@RequestBody RetailAreaParam retailAreaParam) {
|
|
||||||
if (StringUtils.isEmpty(retailAreaParam.getMemberCode())) {
|
|
||||||
return AjaxResult.error("会员信息不存在");
|
|
||||||
}
|
|
||||||
//校验团队总盒数大于小区盒数
|
|
||||||
// if (retailAreaParam.getTeamBoxNum() < retailAreaParam.getSmallBoxNum()) {
|
|
||||||
if (retailAreaParam.getTeamBoxNum().compareTo(retailAreaParam.getSmallBoxNum()) < 0) {
|
|
||||||
return AjaxResult.error("团队盒数需大于小区盒数");
|
|
||||||
}
|
|
||||||
//校验结算日期是否为空
|
|
||||||
if (StringUtils.isNull(retailAreaParam.getSettleDate())) {
|
|
||||||
return AjaxResult.error("结算日期不能为空");
|
|
||||||
}
|
|
||||||
if (iCuMemberSpeRetailService.checkCuMemberActivate(retailAreaParam.getMemberCode()) == 0) {
|
|
||||||
return AjaxResult.error("会员未激活,不可注水");
|
|
||||||
}
|
|
||||||
Integer systemType = SecurityUtils.getSystemType();
|
|
||||||
CuMemberExt me = iCuMemberService.getMemberByCode(retailAreaParam.getMemberCode());
|
|
||||||
if (null == me || me.getCategory() != ECategory.NORMAL.getValue()) {
|
|
||||||
return AjaxResult.error("会员信息不存在或已撤单");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (DateUtils.compareDateBefore(retailAreaParam.getSettleDate(), me.getCreationTime())) {
|
|
||||||
return AjaxResult.error("注水日期不能在会员创建之前");
|
|
||||||
}
|
|
||||||
if (!DateUtils.isLatestWeek(retailAreaParam.getSettleDate(), new Date())) {
|
|
||||||
return AjaxResult.error("只能注水7天以内");
|
|
||||||
}
|
|
||||||
|
|
||||||
//查询最新期数
|
|
||||||
String datestr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, retailAreaParam.getSettleDate());
|
|
||||||
int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
|
|
||||||
DateUtils.parseDateToStr(datestr)).getPkId();
|
|
||||||
retailAreaParam.setPeriod(period);
|
|
||||||
|
|
||||||
//校验是否已经注水
|
|
||||||
LambdaUpdateWrapper<CuMemberSpeRetail> cmsrQw = new LambdaUpdateWrapper<>();
|
|
||||||
cmsrQw.eq(CuMemberSpeRetail::getMemberCode, retailAreaParam.getMemberCode());
|
|
||||||
cmsrQw.eq(CuMemberSpeRetail::getPeriod, period);
|
|
||||||
cmsrQw.eq(CuMemberSpeRetail::getSystemType, systemType);
|
|
||||||
int check = iCuMemberSpeRetailService.count(cmsrQw);
|
|
||||||
if (check > 0) {
|
|
||||||
return AjaxResult.error("会员已注水");
|
|
||||||
}
|
|
||||||
CuMemberSpeRetail cmsr = BeanUtil.copyProperties(retailAreaParam, CuMemberSpeRetail.class);
|
|
||||||
cmsr.setCreationTime(new Date());
|
|
||||||
cmsr.setPkCreator(SecurityUtils.getUserId());
|
|
||||||
cmsr.setPkCountry(SecurityUtils.getPkCountry());
|
|
||||||
cmsr.setPeriodDate(DateUtils.getStartTime(retailAreaParam.getSettleDate()));
|
|
||||||
cmsr.setSystemType(systemType);
|
|
||||||
return AjaxResult.success(iCuMemberSpeRetailService.save(cmsr));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 批量添加秒接日志记录表
|
|
||||||
**/
|
|
||||||
@Log(module = EOperationModule.SPECIAL_BUSINESS, business = EOperationBusiness.INJECT_RETAIL_ACHIEVEMENT, method = EOperationMethod.IMPORT)
|
|
||||||
@PostMapping("/importData")
|
|
||||||
@RepeatSubmitSimple
|
|
||||||
public AjaxResult importData(MultipartFile file) throws Exception {
|
|
||||||
ExcelUtil<RetailAreaParam> util = new ExcelUtil<>(RetailAreaParam.class);
|
|
||||||
Integer pkCountry = SecurityUtils.getPkCountry();
|
|
||||||
Integer systemType = SecurityUtils.getSystemType();
|
|
||||||
Long pkCreator = SecurityUtils.getUserId();
|
|
||||||
List<RetailAreaParam> list = util.importExcel(file.getInputStream());
|
|
||||||
List<RetailAreaParam> memberList = new ArrayList<>();
|
|
||||||
List<RetailAreaParam> errorlist = new ArrayList<>();
|
|
||||||
//去重
|
|
||||||
Set<String> seenMemberCodesRepeat = new HashSet<>();
|
|
||||||
List<RetailAreaParam> uniqueList = list.stream()
|
|
||||||
.filter(p -> seenMemberCodesRepeat.add(p.getMemberCode())) // 如果Set中不存在则保留
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
if (CollectionUtil.isNotEmpty(list)) {
|
|
||||||
Set<String> seenMemberCodes = new HashSet<>();
|
|
||||||
for (RetailAreaParam cma : uniqueList) {
|
|
||||||
cma.setSystemType(systemType);
|
|
||||||
if (StringUtils.isNotEmpty(cma.getMemberCode())) {
|
|
||||||
//校验结算日期是否为空
|
|
||||||
if (StringUtils.isNull(cma.getSettleDate())) {
|
|
||||||
cma.setMsg("结算日期不能为空");
|
|
||||||
errorlist.add(cma);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
//校验团队总盒数大于小区盒数
|
|
||||||
// if (cma.getTeamBoxNum() < cma.getSmallBoxNum()) {
|
|
||||||
if (cma.getTeamBoxNum().compareTo(cma.getSmallBoxNum()) < 0) {
|
|
||||||
cma.setMsg("团队盒数需大于小区盒数");
|
|
||||||
errorlist.add(cma);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (!DateUtils.isLatestWeek(cma.getSettleDate(), new Date())) {
|
|
||||||
return AjaxResult.error("只能注水7天以内");
|
|
||||||
}
|
|
||||||
if (iCuMemberSpeRetailService.checkCuMemberActivate(cma.getMemberCode()) == 0) {
|
|
||||||
cma.setMsg("会员未激活,不可注水");
|
|
||||||
errorlist.add(cma);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
//查询最新期数
|
|
||||||
String datestr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, cma.getSettleDate());
|
|
||||||
int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
|
|
||||||
DateUtils.parseDateToStr(datestr)).getPkId();
|
|
||||||
cma.setPeriod(period);
|
|
||||||
cma.setPeriodDate(DateUtils.getStartTime(cma.getSettleDate()));
|
|
||||||
// 遍历传入的RetailAreaParam列表
|
|
||||||
if (!seenMemberCodes.add(cma.getMemberCode())) {
|
|
||||||
// 如果memberCode已经在映射中存在,则表示这是一个重复项
|
|
||||||
// 将之前存储的对象加入错误列表
|
|
||||||
cma.setMsg("会员编号重复");
|
|
||||||
// 并且也将当前对象加入错误列表
|
|
||||||
errorlist.add(cma);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
CuMemberExt me = iCuMemberService.getMemberByCode(cma.getMemberCode());
|
|
||||||
if (null == me || me.getCategory() != ECategory.NORMAL.getValue()) {
|
|
||||||
cma.setMsg("会员信息不存在或已撤单");
|
|
||||||
errorlist.add(cma);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (DateUtils.compareDateBefore(cma.getSettleDate(), me.getCreationTime())) {
|
|
||||||
cma.setMsg("注水日期不能在会员创建之前");
|
|
||||||
errorlist.add(cma);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
//校验是否已经注水
|
|
||||||
LambdaUpdateWrapper<CuMemberSpeRetail> cmsr = new LambdaUpdateWrapper<>();
|
|
||||||
cmsr.eq(CuMemberSpeRetail::getMemberCode, cma.getMemberCode());
|
|
||||||
cmsr.eq(CuMemberSpeRetail::getPeriod, period);
|
|
||||||
cmsr.eq(CuMemberSpeRetail::getSystemType, systemType);
|
|
||||||
int check = iCuMemberSpeRetailService.count(cmsr);
|
|
||||||
if (check > 0) {
|
|
||||||
cma.setMsg("会员已注水");
|
|
||||||
errorlist.add(cma);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
memberList.add(cma);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (CollectionUtil.isNotEmpty(memberList)) {
|
|
||||||
iCuMemberSpeRetailService.batchSpeRetail(memberList, pkCountry, pkCreator);
|
|
||||||
}
|
|
||||||
if (CollectionUtil.isNotEmpty(errorlist)) {
|
|
||||||
return AjaxResult.error(504, TransactionUtils.getContent(ConfigMsgConstants.MEMBER_DATA_ERROR), errorlist);
|
|
||||||
}
|
|
||||||
return AjaxResult.success();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 下载模板
|
|
||||||
**/
|
|
||||||
@Log(module = EOperationModule.SPECIAL_BUSINESS, business = EOperationBusiness.INJECT_RETAIL_ACHIEVEMENT, method = EOperationMethod.EXPORT)
|
|
||||||
@PostMapping("/download")
|
|
||||||
public void download(HttpServletResponse response) {
|
|
||||||
List<RetailAreaParam> list = new ArrayList<>();
|
|
||||||
ExcelUtil<RetailAreaParam> util = new ExcelUtil<>(RetailAreaParam.class);
|
|
||||||
util.exportExcel(response, list, "新零售注水");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询单条新零售注水信息
|
|
||||||
**/
|
|
||||||
@GetMapping("/getOne/{pkId}")
|
|
||||||
public AjaxResult getOne(@PathVariable Long pkId) {
|
|
||||||
RetailAreaParam param = new RetailAreaParam();
|
|
||||||
param.setPkId(pkId);
|
|
||||||
List<RetailAreaParam> retailAreaParam = iCuMemberSpeRetailService.getCuMemberSpeRetail(param);
|
|
||||||
if (!DateUtils.isLatestWeek(retailAreaParam.get(0).getSettleDate(), new Date())) {
|
|
||||||
return AjaxResult.error("只能修改7天以内注水");
|
|
||||||
}
|
|
||||||
if (CollectionUtil.isNotEmpty(retailAreaParam)) {
|
|
||||||
return AjaxResult.success(retailAreaParam.get(0));
|
|
||||||
} else {
|
|
||||||
return AjaxResult.success();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 修改注水
|
|
||||||
**/
|
|
||||||
@Log(module = EOperationModule.SPECIAL_BUSINESS, business = EOperationBusiness.INJECT_RETAIL_ACHIEVEMENT, method = EOperationMethod.UPDATE)
|
|
||||||
@PostMapping("/update")
|
|
||||||
public AjaxResult update(@RequestBody RetailAreaParam retailAreaParam) {
|
|
||||||
if (StringUtils.isEmpty(retailAreaParam.getMemberCode())) {
|
|
||||||
return AjaxResult.error("会员信息不存在");
|
|
||||||
}
|
|
||||||
//校验团队总盒数大于小区盒数
|
|
||||||
// if (retailAreaParam.getTeamBoxNum() < retailAreaParam.getSmallBoxNum()) {
|
|
||||||
if (retailAreaParam.getTeamBoxNum().compareTo(retailAreaParam.getSmallBoxNum()) < 0) {
|
|
||||||
return AjaxResult.error("团队盒数需大于小区盒数");
|
|
||||||
}
|
|
||||||
//校验结算日期是否为空
|
|
||||||
if (StringUtils.isNull(retailAreaParam.getSettleDate())) {
|
|
||||||
return AjaxResult.error("结算日期不能为空");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!DateUtils.isLatestWeek(retailAreaParam.getSettleDate(), new Date())) {
|
|
||||||
return AjaxResult.error("只能注水7天以内");
|
|
||||||
}
|
|
||||||
CuMemberExt me = iCuMemberService.getMemberByCode(retailAreaParam.getMemberCode());
|
|
||||||
if (null == me || me.getCategory() != ECategory.NORMAL.getValue()) {
|
|
||||||
return AjaxResult.error("会员信息不存在或已撤单");
|
|
||||||
}
|
|
||||||
if (DateUtils.compareDateBefore(retailAreaParam.getSettleDate(), me.getCreationTime())) {
|
|
||||||
return AjaxResult.error("注水日期不能在会员创建之前");
|
|
||||||
}
|
|
||||||
//查询最新期数
|
|
||||||
String datestr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, retailAreaParam.getSettleDate());
|
|
||||||
int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
|
|
||||||
DateUtils.parseDateToStr(datestr)).getPkId();
|
|
||||||
retailAreaParam.setPeriod(period);
|
|
||||||
|
|
||||||
//校验是否已经注水
|
|
||||||
LambdaUpdateWrapper<CuMemberSpeRetail> cmsrQw = new LambdaUpdateWrapper<>();
|
|
||||||
cmsrQw.eq(CuMemberSpeRetail::getMemberCode, retailAreaParam.getMemberCode());
|
|
||||||
cmsrQw.eq(CuMemberSpeRetail::getPeriod, period);
|
|
||||||
cmsrQw.ne(CuMemberSpeRetail::getPkId, retailAreaParam.getPkId());
|
|
||||||
int check = iCuMemberSpeRetailService.count(cmsrQw);
|
|
||||||
if (check > 0) {
|
|
||||||
return AjaxResult.error("会员已注水");
|
|
||||||
}
|
|
||||||
CuMemberSpeRetail cmsr = BeanUtil.copyProperties(retailAreaParam, CuMemberSpeRetail.class);
|
|
||||||
cmsr.setPeriodDate(DateUtils.getStartTime(retailAreaParam.getSettleDate()));
|
|
||||||
cmsr.setPkModified(SecurityUtils.getUserId());
|
|
||||||
cmsr.setModifiedTime(new Date());
|
|
||||||
return AjaxResult.success(iCuMemberSpeRetailService.updateById(cmsr));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除注水
|
|
||||||
**/
|
|
||||||
@Log(module = EOperationModule.SPECIAL_BUSINESS, business = EOperationBusiness.INJECT_RETAIL_ACHIEVEMENT, method = EOperationMethod.DELETE)
|
|
||||||
@DeleteMapping("/{pkId}")
|
|
||||||
public AjaxResult delete(@PathVariable Long pkId) {
|
|
||||||
RetailAreaParam param = new RetailAreaParam();
|
|
||||||
param.setPkId(pkId);
|
|
||||||
List<RetailAreaParam> retailAreaParam = iCuMemberSpeRetailService.getCuMemberSpeRetail(param);
|
|
||||||
if (!DateUtils.isLatestWeek(retailAreaParam.get(0).getSettleDate(), new Date())) {
|
|
||||||
return AjaxResult.error("只能删除7天以内注水");
|
|
||||||
}
|
|
||||||
LambdaUpdateWrapper<CuMemberSpeRetail> cmsrQw = new LambdaUpdateWrapper<>();
|
|
||||||
cmsrQw.eq(CuMemberSpeRetail::getPkId, pkId);
|
|
||||||
cmsrQw.set(CuMemberSpeRetail::getDelFlag, EDelFlag.DELETE.getValue());
|
|
||||||
cmsrQw.set(CuMemberSpeRetail::getPkModified, SecurityUtils.getUserId());
|
|
||||||
cmsrQw.set(CuMemberSpeRetail::getModifiedTime, new Date());
|
|
||||||
return AjaxResult.success(iCuMemberSpeRetailService.update(cmsrQw));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -2,42 +2,10 @@ package com.hzs.bonus.bonus.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.hzs.common.domain.member.bonus.CuMemberBonusCoach;
|
import com.hzs.common.domain.member.bonus.CuMemberBonusCoach;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberBonusCoachExt;
|
|
||||||
import com.hzs.bonus.bonus.param.BonusParam;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员奖金-辅导收益明细表 Mapper 接口
|
* 会员奖金-辅导收益明细表 Mapper 接口
|
||||||
*/
|
*/
|
||||||
public interface CuMemberBonusCoachMapper extends BaseMapper<CuMemberBonusCoach> {
|
public interface CuMemberBonusCoachMapper extends BaseMapper<CuMemberBonusCoach> {
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除会员奖金汇总表
|
|
||||||
*
|
|
||||||
* @param period 结算期间
|
|
||||||
*/
|
|
||||||
void deleteCuMemberBonusCoach(Integer period);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 批量插入会员奖金主表
|
|
||||||
*
|
|
||||||
* @param cuMemberBonusCoachList 会员奖金
|
|
||||||
*/
|
|
||||||
void batchInsertCuMemberBonusCoach(@Param("cuMemberBonusCoachList") List<?> cuMemberBonusCoachList);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据查询条件查询固定的奖金明细
|
|
||||||
*
|
|
||||||
* @param bonusParam 查询条件
|
|
||||||
*/
|
|
||||||
List<CuMemberBonusCoachExt> queryMemberBonusCoachByBonusItems(BonusParam bonusParam);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据查询条件查询固定的奖金明细
|
|
||||||
*
|
|
||||||
* @param bonusParam 查询条件
|
|
||||||
*/
|
|
||||||
List<CuMemberBonusCoachExt> queryMemberBonusCoachByBonusItemsForServer(@Param("bonusParam") BonusParam bonusParam);
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,42 +2,10 @@ package com.hzs.bonus.bonus.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.hzs.common.domain.member.bonus.CuMemberBonusExpand;
|
import com.hzs.common.domain.member.bonus.CuMemberBonusExpand;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberBonusExpandExt;
|
|
||||||
import com.hzs.bonus.bonus.param.BonusParam;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员奖金-拓展收益明细表 Mapper 接口
|
* 会员奖金-拓展收益明细表 Mapper 接口
|
||||||
*/
|
*/
|
||||||
public interface CuMemberBonusExpandMapper extends BaseMapper<CuMemberBonusExpand> {
|
public interface CuMemberBonusExpandMapper extends BaseMapper<CuMemberBonusExpand> {
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除会员奖金汇总表
|
|
||||||
*
|
|
||||||
* @param period 结算期间
|
|
||||||
*/
|
|
||||||
void deleteCuMemberBonusExpand(Integer period);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 批量插入会员奖金主表
|
|
||||||
*
|
|
||||||
* @param cuMemberBonusExpandList 会员奖金
|
|
||||||
*/
|
|
||||||
void batchInsertCuMemberBonusExpand(@Param("cuMemberBonusExpandList") List<?> cuMemberBonusExpandList);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据查询条件查询固定的奖金明细
|
|
||||||
*
|
|
||||||
* @param bonusParam 查询条件
|
|
||||||
*/
|
|
||||||
List<CuMemberBonusExpandExt> queryMemberBonusExpandByBonusItems(BonusParam bonusParam);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据查询条件查询固定的奖金明细
|
|
||||||
*
|
|
||||||
* @param bonusParam 查询条件
|
|
||||||
*/
|
|
||||||
List<CuMemberBonusExpandExt> queryMemberBonusExpandByBonusItemsForServer(@Param("bonusParam") BonusParam bonusParam);
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,13 +20,6 @@ public interface CuMemberBonusPushMapper extends BaseMapper<CuMemberBonusPush> {
|
||||||
*/
|
*/
|
||||||
List<CuMemberBonusPushExt> queryMemberBonusPushByBonusItems(BonusParam bonusParam);
|
List<CuMemberBonusPushExt> queryMemberBonusPushByBonusItems(BonusParam bonusParam);
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据查询条件查询固定的奖金明细
|
|
||||||
*
|
|
||||||
* @param bonusParam 查询条件
|
|
||||||
*/
|
|
||||||
List<CuMemberBonusPushExt> queryMemberBonusPushByBonusItemsFoServer(@Param("bonusParam") BonusParam bonusParam);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除会员奖金汇总表
|
* 删除会员奖金汇总表
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -2,16 +2,10 @@ package com.hzs.bonus.bonus.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.hzs.common.domain.member.bonus.CuMemberShareBonus;
|
import com.hzs.common.domain.member.bonus.CuMemberShareBonus;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberShareBonusExt;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员奖金-分红奖金配置 Mapper 接口
|
* 会员奖金-分红奖金配置 Mapper 接口
|
||||||
*/
|
*/
|
||||||
public interface CuMemberShareBonusMapper extends BaseMapper<CuMemberShareBonus> {
|
public interface CuMemberShareBonusMapper extends BaseMapper<CuMemberShareBonus> {
|
||||||
|
|
||||||
/*
|
|
||||||
* 查询会员分享奖金
|
|
||||||
**/
|
|
||||||
CuMemberShareBonusExt queryCuMemberShareBonus(@Param("pkCountry") Integer pkCountry, @Param("settleMonth") String settleMonth);
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,19 +2,10 @@ package com.hzs.bonus.bonus.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.hzs.common.domain.member.bonus.CuMemberShareDetail;
|
import com.hzs.common.domain.member.bonus.CuMemberShareDetail;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberShareDetailExt;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员奖金-分红奖金配置明细 Mapper 接口
|
* 会员奖金-分红奖金配置明细 Mapper 接口
|
||||||
*/
|
*/
|
||||||
public interface CuMemberShareDetailMapper extends BaseMapper<CuMemberShareDetail> {
|
public interface CuMemberShareDetailMapper extends BaseMapper<CuMemberShareDetail> {
|
||||||
|
|
||||||
/*
|
|
||||||
* 更新分享明细
|
|
||||||
**/
|
|
||||||
void saveMemberShareBonus(@Param("cuMemberShareDetailList") List<CuMemberShareDetailExt> cuMemberShareDetailList);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
package com.hzs.bonus.bonus.mapper;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
||||||
import com.hzs.bonus.bonus.param.RetailAreaParam;
|
|
||||||
import com.hzs.common.domain.member.bonus.CuMemberSpeRetail;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 注水盒数 Mapper 接口
|
|
||||||
*/
|
|
||||||
public interface CuMemberSpeRetailMapper extends BaseMapper<CuMemberSpeRetail> {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取注水列表
|
|
||||||
**/
|
|
||||||
List<RetailAreaParam> getCuMemberSpeRetail(RetailAreaParam param);
|
|
||||||
|
|
||||||
int checkCuMemberActivate(@Param("memberCode") String memberCode);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
||||||
package com.hzs.bonus.bonus.param;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @description: 分红配置查询参数
|
|
||||||
* @author: sui q
|
|
||||||
* @time: 2023/7/3 15:52
|
|
||||||
* @classname: CuMemberShareBonusParam
|
|
||||||
* @package_name: com.hzs.member.bonus.param
|
|
||||||
* version 1.0.0
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class CuMemberShareBonusParam implements Serializable {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 国家
|
|
||||||
*/
|
|
||||||
private Integer pkCountry;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 创建人
|
|
||||||
*/
|
|
||||||
private Long pkCreator;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 结算月
|
|
||||||
*/
|
|
||||||
private String settleMonth;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 明细
|
|
||||||
*/
|
|
||||||
private List<CuMemberShareDetailParam> cuMemberShareDetailList;
|
|
||||||
}
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
||||||
package com.hzs.bonus.bonus.param;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @description: 分红配置明细
|
|
||||||
* @author: sui q
|
|
||||||
* @time: 2023/7/3 15:53
|
|
||||||
* @classname: CuMemberShareDetailParam
|
|
||||||
* @package_name: com.hzs.member.bonus.param
|
|
||||||
* version 1.0.0
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class CuMemberShareDetailParam implements Serializable {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 奖衔
|
|
||||||
*/
|
|
||||||
private Integer pkAwards;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 实发金额
|
|
||||||
*/
|
|
||||||
private BigDecimal realShareIncome;
|
|
||||||
}
|
|
||||||
|
|
@ -1,69 +0,0 @@
|
||||||
package com.hzs.bonus.bonus.param;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
||||||
import com.hzs.common.core.annotation.Excel;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
public class RetailAreaParam implements Serializable {
|
|
||||||
|
|
||||||
private Long pkId;
|
|
||||||
/**
|
|
||||||
* 会员编号
|
|
||||||
*/
|
|
||||||
@Excel(name = "会员编号")
|
|
||||||
private String memberCode;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 团队总盒数
|
|
||||||
*/
|
|
||||||
@Excel(name = "团队总盒数")
|
|
||||||
private BigDecimal teamBoxNum = BigDecimal.ZERO;
|
|
||||||
/**
|
|
||||||
* 小区盒数
|
|
||||||
*/
|
|
||||||
@Excel(name = "小区盒数")
|
|
||||||
private BigDecimal smallBoxNum = BigDecimal.ZERO;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 结算日期
|
|
||||||
*/
|
|
||||||
@Excel(name = "结算日期")
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
|
||||||
private Date settleDate;
|
|
||||||
|
|
||||||
|
|
||||||
private Integer systemType;
|
|
||||||
private Integer pkCountry;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 错误提示
|
|
||||||
*/
|
|
||||||
private String msg;
|
|
||||||
/**
|
|
||||||
* 结算期间
|
|
||||||
*/
|
|
||||||
private Integer period;
|
|
||||||
/**
|
|
||||||
* 结算期间时间
|
|
||||||
*/
|
|
||||||
private Date periodDate;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 个人消费盒数
|
|
||||||
*/
|
|
||||||
private BigDecimal consumeBoxNum;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 结算开始日期
|
|
||||||
*/
|
|
||||||
private String startDate;
|
|
||||||
/**
|
|
||||||
* 结算结束日期
|
|
||||||
*/
|
|
||||||
private String endtDate;
|
|
||||||
}
|
|
||||||
|
|
@ -3,25 +3,9 @@ package com.hzs.bonus.bonus.service;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.hzs.common.domain.member.bonus.CuMemberBonusCoach;
|
import com.hzs.common.domain.member.bonus.CuMemberBonusCoach;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员奖金-辅导收益明细表 服务类
|
* 会员奖金-辅导收益明细表 服务类
|
||||||
*/
|
*/
|
||||||
public interface ICuMemberBonusCoachService extends IService<CuMemberBonusCoach> {
|
public interface ICuMemberBonusCoachService extends IService<CuMemberBonusCoach> {
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除会员奖金汇总表
|
|
||||||
*
|
|
||||||
* @param period 结算期间
|
|
||||||
*/
|
|
||||||
void deleteCuMemberBonusCoach(Integer period);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 批量插入会员奖金主表
|
|
||||||
*
|
|
||||||
* @param cuMemberBonusCoachList 会员奖金
|
|
||||||
*/
|
|
||||||
void batchInsertCuMemberBonusCoach(List<CuMemberBonusCoach> cuMemberBonusCoachList, Set<Long> memberIdSet);
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,26 +3,9 @@ package com.hzs.bonus.bonus.service;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.hzs.common.domain.member.bonus.CuMemberBonusExpand;
|
import com.hzs.common.domain.member.bonus.CuMemberBonusExpand;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员奖金-拓展收益明细表 服务类
|
* 会员奖金-拓展收益明细表 服务类
|
||||||
*/
|
*/
|
||||||
public interface ICuMemberBonusExpandService extends IService<CuMemberBonusExpand> {
|
public interface ICuMemberBonusExpandService extends IService<CuMemberBonusExpand> {
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除会员奖金汇总表
|
|
||||||
*
|
|
||||||
* @param period 结算期间
|
|
||||||
*/
|
|
||||||
void deleteCuMemberBonusExpand(Integer period);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 批量插入会员奖金主表
|
|
||||||
*
|
|
||||||
* @param cuMemberBonusExpandList 会员奖金
|
|
||||||
*/
|
|
||||||
void batchInsertCuMemberBonusExpand(List<CuMemberBonusExpand> cuMemberBonusExpandList, Set<Long> memberIdSet);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,22 +2,10 @@ package com.hzs.bonus.bonus.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.hzs.common.domain.member.bonus.CuMemberShareBonus;
|
import com.hzs.common.domain.member.bonus.CuMemberShareBonus;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberShareBonusExt;
|
|
||||||
import com.hzs.bonus.bonus.param.CuMemberShareBonusParam;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员奖金-分红奖金配置 服务类
|
* 会员奖金-分红奖金配置 服务类
|
||||||
*/
|
*/
|
||||||
public interface ICuMemberShareBonusService extends IService<CuMemberShareBonus> {
|
public interface ICuMemberShareBonusService extends IService<CuMemberShareBonus> {
|
||||||
|
|
||||||
/*
|
|
||||||
* 保存会员分红奖金及明细
|
|
||||||
**/
|
|
||||||
void saveMemberShareBonus(CuMemberShareBonusParam cuMemberShareBonusParam);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 查询分红配置的参数
|
|
||||||
**/
|
|
||||||
CuMemberShareBonusExt queryCuMemberShareBonus(Integer pkCountry, String settleMonth);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,19 +2,10 @@ package com.hzs.bonus.bonus.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.hzs.common.domain.member.bonus.CuMemberShareDetail;
|
import com.hzs.common.domain.member.bonus.CuMemberShareDetail;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberShareDetailExt;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员奖金-分红奖金配置明细 服务类
|
* 会员奖金-分红奖金配置明细 服务类
|
||||||
*/
|
*/
|
||||||
public interface ICuMemberShareDetailService extends IService<CuMemberShareDetail> {
|
public interface ICuMemberShareDetailService extends IService<CuMemberShareDetail> {
|
||||||
|
|
||||||
/*
|
|
||||||
* 更新分享明细
|
|
||||||
**/
|
|
||||||
void saveMemberShareBonus(List<CuMemberShareDetailExt> cuMemberShareDetailList);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
||||||
package com.hzs.bonus.bonus.service;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
|
||||||
import com.hzs.bonus.bonus.param.RetailAreaParam;
|
|
||||||
import com.hzs.common.domain.member.bonus.CuMemberSpeRetail;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 注水盒数 服务类
|
|
||||||
*/
|
|
||||||
public interface ICuMemberSpeRetailService extends IService<CuMemberSpeRetail> {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 批量添加注水记录表
|
|
||||||
**/
|
|
||||||
void batchSpeRetail(List<RetailAreaParam> list, Integer pkCountry, Long pkCreator);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取注水列表
|
|
||||||
**/
|
|
||||||
List<RetailAreaParam> getCuMemberSpeRetail(RetailAreaParam param);
|
|
||||||
|
|
||||||
int checkCuMemberActivate(String memberCode);
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -26,12 +26,6 @@ public abstract class BonusSettleHandle {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
protected ICuMemberTreeService cuMemberTreeService;
|
protected ICuMemberTreeService cuMemberTreeService;
|
||||||
@Autowired
|
|
||||||
private ICuMemberSettlePeriodService cuMemberSettlePeriodService;
|
|
||||||
|
|
||||||
public ICuMemberSettlePeriodService getCuMemberSettlePeriodService() {
|
|
||||||
return cuMemberSettlePeriodService;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得奖项主键,验证该国是否有该奖项
|
* 获得奖项主键,验证该国是否有该奖项
|
||||||
|
|
@ -58,23 +52,6 @@ public abstract class BonusSettleHandle {
|
||||||
return bonusConfigDTO.getBonusItemsExtMap().get(pkCountry.toString() + bonusItems).getPkId();
|
return bonusConfigDTO.getBonusItemsExtMap().get(pkCountry.toString() + bonusItems).getPkId();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 获得 辅导收益的备注
|
|
||||||
*
|
|
||||||
* @param saOrder 订单编号
|
|
||||||
* @param cuMemberBonusCoach 培育津贴
|
|
||||||
* @param sourceCuMemberRetailExt 提供奖金的人
|
|
||||||
* @param targetCuMemberRetailExt 获得奖金的人
|
|
||||||
*/
|
|
||||||
protected void retailCoachRemark(SaOrder saOrder, CuMemberBonusCoach cuMemberBonusCoach,
|
|
||||||
CuMemberRetailRangeExt sourceCuMemberRetailExt, CuMemberRetailRangeExt targetCuMemberRetailExt) {
|
|
||||||
String remark = String.format(BonusMsgConstants.RETAIL_COACH, cuMemberBonusCoach.getCurrentGeneration(), saOrder.getOrderCode(),
|
|
||||||
sourceCuMemberRetailExt.getMemberCode() + sourceCuMemberRetailExt.getMemberName(),
|
|
||||||
targetCuMemberRetailExt.getMemberCode() + targetCuMemberRetailExt.getMemberName(),
|
|
||||||
cuMemberBonusCoach.getCalAchieve(), cuMemberBonusCoach.getCalValue());
|
|
||||||
cuMemberBonusCoach.setRemark(remark);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得 直推级差收益的备注
|
* 获得 直推级差收益的备注
|
||||||
*
|
*
|
||||||
|
|
@ -92,40 +69,6 @@ public abstract class BonusSettleHandle {
|
||||||
cuMemberBonusRange.setRemark(remark);
|
cuMemberBonusRange.setRemark(remark);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 获得 福利极差收益 备注
|
|
||||||
*
|
|
||||||
* @param saOrderExt 订单编号
|
|
||||||
* @param cuMemberBonusRange 报单服务费
|
|
||||||
* @param sourceMemberRangeExt 提供奖金的人
|
|
||||||
* @param targetMemberRangeExt 获得奖金的人
|
|
||||||
*/
|
|
||||||
protected void rangeBenefitRetailRemark(SaOrder saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberRetailRangeExt sourceMemberRangeExt,
|
|
||||||
CuMemberRetailRangeExt targetMemberRangeExt) {
|
|
||||||
String remark = String.format(BonusMsgConstants.RETAIL_RANGE, saOrderExt.getOrderCode(),
|
|
||||||
sourceMemberRangeExt.getMemberCode() + sourceMemberRangeExt.getMemberName(),
|
|
||||||
targetMemberRangeExt.getMemberCode() + targetMemberRangeExt.getMemberName(),
|
|
||||||
cuMemberBonusRange.getCalAchieve(), sourceMemberRangeExt.getAwardsName(), targetMemberRangeExt.getAwardsName());
|
|
||||||
cuMemberBonusRange.setRemark(remark);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获得 复购极差收益 备注
|
|
||||||
*
|
|
||||||
* @param saOrderExt 订单编号
|
|
||||||
* @param cuMemberBonusRange 报单服务费
|
|
||||||
* @param sourceMemberRangeExt 提供奖金的人
|
|
||||||
* @param targetMemberRangeExt 获得奖金的人
|
|
||||||
*/
|
|
||||||
protected void rangeMonthRepurchaseRetailRemark(SaOrder saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberRetailRangeExt sourceMemberRangeExt,
|
|
||||||
CuMemberRetailRangeExt targetMemberRangeExt) {
|
|
||||||
String remark = String.format(BonusMsgConstants.RETAIL_MONTH_REPURCHASE_INCOME, saOrderExt.getOrderCode(),
|
|
||||||
sourceMemberRangeExt.getMemberCode() + sourceMemberRangeExt.getMemberName(),
|
|
||||||
targetMemberRangeExt.getMemberCode() + targetMemberRangeExt.getMemberName(),
|
|
||||||
cuMemberBonusRange.getCalAchieve(), sourceMemberRangeExt.getAwardsName(), targetMemberRangeExt.getAwardsName());
|
|
||||||
cuMemberBonusRange.setRemark(remark);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得 平级收益的备注
|
* 获得 平级收益的备注
|
||||||
*
|
*
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -2,12 +2,9 @@ package com.hzs.bonus.bonus.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService;
|
import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService;
|
||||||
import com.hzs.bonus.base.service.IBdVertexBonusService;
|
|
||||||
import com.hzs.bonus.bonus.service.*;
|
import com.hzs.bonus.bonus.service.*;
|
||||||
import com.hzs.bonus.bonus.vo.BonusRecordDetailVO;
|
import com.hzs.bonus.bonus.vo.BonusRecordDetailVO;
|
||||||
import com.hzs.bonus.detail.service.ICuRegionAssessService;
|
|
||||||
import com.hzs.bonus.order.service.IBonusOrderService;
|
import com.hzs.bonus.order.service.IBonusOrderService;
|
||||||
import com.hzs.common.core.config.BdConfig;
|
|
||||||
import com.hzs.common.core.constant.MagicNumberConstants;
|
import com.hzs.common.core.constant.MagicNumberConstants;
|
||||||
import com.hzs.common.core.constant.TableNameConstants;
|
import com.hzs.common.core.constant.TableNameConstants;
|
||||||
import com.hzs.common.core.enums.*;
|
import com.hzs.common.core.enums.*;
|
||||||
|
|
@ -38,8 +35,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBonusOrderService iBonusOrderService;
|
private IBonusOrderService iBonusOrderService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuRegionAssessService cuRegionAssessService;
|
|
||||||
@Autowired
|
|
||||||
private ICuMemberSettlePeriodService cuMemberSettlePeriodService;
|
private ICuMemberSettlePeriodService cuMemberSettlePeriodService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private BonusSettleRangeHandle bonusSettleRangeHandle;
|
private BonusSettleRangeHandle bonusSettleRangeHandle;
|
||||||
|
|
@ -48,15 +43,9 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberBonusPushService cuMemberBonusPushService;
|
private ICuMemberBonusPushService cuMemberBonusPushService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberBonusExpandService cuMemberBonusExpandService;
|
|
||||||
@Autowired
|
|
||||||
private ICuMemberBonusCoachService cuMemberBonusCoachService;
|
|
||||||
@Autowired
|
|
||||||
private ICuMemberBonusDetailService cuMemberBonusDetailService;
|
|
||||||
@Autowired
|
|
||||||
private ICuMemberBonusRangeService cuMemberBonusRangeService;
|
private ICuMemberBonusRangeService cuMemberBonusRangeService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBdVertexBonusService iBdVertexBonusService;
|
private ICuMemberBonusDetailService cuMemberBonusDetailService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -95,34 +84,11 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
||||||
BonusRecordDetailVO recordDetailVO = new BonusRecordDetailVO();
|
BonusRecordDetailVO recordDetailVO = new BonusRecordDetailVO();
|
||||||
// 今天和昨天是否同月
|
// 今天和昨天是否同月
|
||||||
Boolean isSameMonth = DateUtils.getMonth(settleDate).equals(DateUtils.getMonth(yesterday));
|
Boolean isSameMonth = DateUtils.getMonth(settleDate).equals(DateUtils.getMonth(yesterday));
|
||||||
// 查询体系奖项配置
|
|
||||||
Map<Long, List<Integer>> vertexBonusMap = iBdVertexBonusService.queryVertexBonus();
|
|
||||||
|
|
||||||
// 计算新零售团队奖金
|
// 计算新零售团队奖金
|
||||||
bonusSettleRangeHandle.calculateRetailBonusByDay(settleDate, cuMemberBonusMap, bonusConfigDTO, recordDetailVO,
|
bonusSettleRangeHandle.calculateRetailBonusByDay(settleDate, cuMemberBonusMap, bonusConfigDTO, recordDetailVO,
|
||||||
period, yesterdayPeriod, isSameMonth, vertexBonusMap);
|
period, yesterdayPeriod, isSameMonth);
|
||||||
|
|
||||||
// new 每月1号,需要计算4个月奖
|
|
||||||
if (EEnv.TEST.getValue().equals(BdConfig.getEnv())) {
|
|
||||||
// 测试环境,每天都执行
|
|
||||||
// 计算新零售团队福利、福利分红等奖金
|
|
||||||
bonusSettleRangeHandle.calculateRetailShareBonus(settleDate, bonusConfigDTO, period, recordDetailVO, cuMemberBonusMap);
|
|
||||||
} else {
|
|
||||||
// 非测试环境
|
|
||||||
if (settleDate.endsWith("01")) {
|
|
||||||
// 计算新零售团队福利、福利分红等奖金
|
|
||||||
log.info("正式处理:{}", settleDate);
|
|
||||||
bonusSettleRangeHandle.calculateRetailShareBonus(settleDate, bonusConfigDTO, period, recordDetailVO, cuMemberBonusMap);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Date currentDate = DateUtils.afterDate(1, ChronoUnit.DAYS, DateUtils.parseStringToDate(settleDate));
|
|
||||||
String afterDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, currentDate);
|
|
||||||
if (afterDate.endsWith("01")) {
|
|
||||||
// 计算完月奖,计算考核(区域6个月要达到蓝宝以上)
|
|
||||||
String rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + period;
|
|
||||||
cuRegionAssessService.assessRegionByEveryMonth(settleDate, rangeTableName);
|
|
||||||
}
|
|
||||||
// 保存当日计算的奖金
|
// 保存当日计算的奖金
|
||||||
insertCuMemberBonus(settleDate, period, cuMemberBonusMap, recordDetailVO);
|
insertCuMemberBonus(settleDate, period, cuMemberBonusMap, recordDetailVO);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
@ -158,7 +124,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
||||||
// 订单下单处理(正向)
|
// 订单下单处理(正向)
|
||||||
// 会员奖金明细
|
// 会员奖金明细
|
||||||
List<CuMemberBonusDetail> cuMemberBonusDetailList = new ArrayList<>();
|
List<CuMemberBonusDetail> cuMemberBonusDetailList = new ArrayList<>();
|
||||||
// 实时计算秒结数据(业绩、盒数、等级、奖衔、日奖)
|
// 实时计算秒结数据(业绩、等级、奖衔、日奖)
|
||||||
List<CuMemberBonusRange> cuMemberBonusRangeList = bonusSettleRangeHandle.calculateCuMemberRetailRangeBonusBySecond(settleDate, saOrderExt, bonusConfigDTO,
|
List<CuMemberBonusRange> cuMemberBonusRangeList = bonusSettleRangeHandle.calculateCuMemberRetailRangeBonusBySecond(settleDate, saOrderExt, bonusConfigDTO,
|
||||||
secondRangeTableName, beforePeriod, currentPeriod, cuMemberBonusMap, cuMemberBonusDetailList);
|
secondRangeTableName, beforePeriod, currentPeriod, cuMemberBonusMap, cuMemberBonusDetailList);
|
||||||
saveCuMemberBonus(currentPeriod, settleDate, cuMemberBonusMap);
|
saveCuMemberBonus(currentPeriod, settleDate, cuMemberBonusMap);
|
||||||
|
|
@ -180,7 +146,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
||||||
settleDate = DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS));
|
settleDate = DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS));
|
||||||
currentPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId();
|
currentPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId();
|
||||||
}
|
}
|
||||||
// 实时计算撤单数据(业绩、盒数、等级、奖衔、日奖)
|
// 实时计算撤单数据(业绩、等级、奖衔、日奖)
|
||||||
bonusSettleRangeHandle.calculateCuMemberBackRetailIncome(saOrderExt, bonusConfigDTO,
|
bonusSettleRangeHandle.calculateCuMemberBackRetailIncome(saOrderExt, bonusConfigDTO,
|
||||||
secondRangeTableName, beforePeriod, currentPeriod);
|
secondRangeTableName, beforePeriod, currentPeriod);
|
||||||
// 处理收益
|
// 处理收益
|
||||||
|
|
@ -197,8 +163,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
||||||
*/
|
*/
|
||||||
void insertCuMemberBonus(String settleDate, Integer period, Map<Long, CuMemberBonus> cuMemberBonusMap, BonusRecordDetailVO bonusRecordDetailVO) {
|
void insertCuMemberBonus(String settleDate, Integer period, Map<Long, CuMemberBonus> cuMemberBonusMap, BonusRecordDetailVO bonusRecordDetailVO) {
|
||||||
cuMemberBonusPushService.deleteCuMemberBonusPush(period);
|
cuMemberBonusPushService.deleteCuMemberBonusPush(period);
|
||||||
cuMemberBonusExpandService.deleteCuMemberBonusExpand(period);
|
|
||||||
cuMemberBonusCoachService.deleteCuMemberBonusCoach(period);
|
|
||||||
cuMemberBonusDetailService.deleteCuMemberBonusDetail(period);
|
cuMemberBonusDetailService.deleteCuMemberBonusDetail(period);
|
||||||
cuMemberBonusRangeService.deleteCuMemberBonusRange(period);
|
cuMemberBonusRangeService.deleteCuMemberBonusRange(period);
|
||||||
cuMemberBonusService.deleteCuMemberBonus(period);
|
cuMemberBonusService.deleteCuMemberBonus(period);
|
||||||
|
|
@ -206,14 +170,10 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
List<CuMemberBonusPush> batchMemberBonusPushList = new ArrayList<>();
|
List<CuMemberBonusPush> batchMemberBonusPushList = new ArrayList<>();
|
||||||
List<CuMemberBonusExpand> batchMemberBonusExpandList = new ArrayList<>();
|
|
||||||
List<CuMemberBonusCoach> batchMemberBonusCoachList = new ArrayList<>();
|
|
||||||
List<CuMemberBonusDetail> batchMemberBonusDetailList = new ArrayList<>();
|
List<CuMemberBonusDetail> batchMemberBonusDetailList = new ArrayList<>();
|
||||||
List<CuMemberBonusRange> batchMemberBonusRangeList = new ArrayList<>();
|
List<CuMemberBonusRange> batchMemberBonusRangeList = new ArrayList<>();
|
||||||
List<CuMemberBonus> cuMemberBonusList = setCuMemberBonusSeq(settleDate, cuMemberBonusMap);
|
List<CuMemberBonus> cuMemberBonusList = setCuMemberBonusSeq(settleDate, cuMemberBonusMap);
|
||||||
List<CuMemberBonusPush> cuMemberBonusPushList = bonusRecordDetailVO.getCuMemberBonusPushList();
|
List<CuMemberBonusPush> cuMemberBonusPushList = bonusRecordDetailVO.getCuMemberBonusPushList();
|
||||||
List<CuMemberBonusExpand> cuMemberBonusExpandList = bonusRecordDetailVO.getCuMemberBonusExpandList();
|
|
||||||
List<CuMemberBonusCoach> cuMemberBonusCoachList = bonusRecordDetailVO.getCuMemberBonusCoachList();
|
|
||||||
List<CuMemberBonusDetail> cuMemberBonusDetailList = bonusRecordDetailVO.getCuMemberBonusDetailList();
|
List<CuMemberBonusDetail> cuMemberBonusDetailList = bonusRecordDetailVO.getCuMemberBonusDetailList();
|
||||||
List<CuMemberBonusRange> cuMemberBonusRangeList = bonusRecordDetailVO.getCuMemberBonusRangeList();
|
List<CuMemberBonusRange> cuMemberBonusRangeList = bonusRecordDetailVO.getCuMemberBonusRangeList();
|
||||||
if (cuMemberBonusPushList != null && cuMemberBonusPushList.size() > 0) {
|
if (cuMemberBonusPushList != null && cuMemberBonusPushList.size() > 0) {
|
||||||
|
|
@ -221,16 +181,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
||||||
cuMemberBonusPush.setPkBonus(cuMemberBonusMap.get(cuMemberBonusPush.getPkBonus()).getPkId()));
|
cuMemberBonusPush.setPkBonus(cuMemberBonusMap.get(cuMemberBonusPush.getPkBonus()).getPkId()));
|
||||||
batchMemberBonusPushList.addAll(cuMemberBonusPushList);
|
batchMemberBonusPushList.addAll(cuMemberBonusPushList);
|
||||||
}
|
}
|
||||||
if (cuMemberBonusExpandList != null && cuMemberBonusExpandList.size() > 0) {
|
|
||||||
cuMemberBonusExpandList.forEach(cuMemberBonusExpand ->
|
|
||||||
cuMemberBonusExpand.setPkBonus(cuMemberBonusMap.get(cuMemberBonusExpand.getPkBonus()).getPkId()));
|
|
||||||
batchMemberBonusExpandList.addAll(cuMemberBonusExpandList);
|
|
||||||
}
|
|
||||||
if (cuMemberBonusCoachList != null && cuMemberBonusCoachList.size() > 0) {
|
|
||||||
cuMemberBonusCoachList.forEach(cuMemberBonusCoach ->
|
|
||||||
cuMemberBonusCoach.setPkBonus(cuMemberBonusMap.get(cuMemberBonusCoach.getPkBonus()).getPkId()));
|
|
||||||
batchMemberBonusCoachList.addAll(cuMemberBonusCoachList);
|
|
||||||
}
|
|
||||||
if (cuMemberBonusDetailList != null && cuMemberBonusDetailList.size() > 0) {
|
if (cuMemberBonusDetailList != null && cuMemberBonusDetailList.size() > 0) {
|
||||||
cuMemberBonusDetailList.forEach(cuMemberBonusDetail ->
|
cuMemberBonusDetailList.forEach(cuMemberBonusDetail ->
|
||||||
cuMemberBonusDetail.setPkBonus(cuMemberBonusMap.get(cuMemberBonusDetail.getPkBonus()).getPkId()));
|
cuMemberBonusDetail.setPkBonus(cuMemberBonusMap.get(cuMemberBonusDetail.getPkBonus()).getPkId()));
|
||||||
|
|
@ -245,8 +195,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
||||||
cuMemberBonusService.batchInsertCuMemberBonus(cuMemberBonusList);
|
cuMemberBonusService.batchInsertCuMemberBonus(cuMemberBonusList);
|
||||||
Set<Long> memberIdSet = cuMemberBonusService.queryMemberBonusByPeriod(period);
|
Set<Long> memberIdSet = cuMemberBonusService.queryMemberBonusByPeriod(period);
|
||||||
cuMemberBonusPushService.batchInsertCuMemberBonusPush(batchMemberBonusPushList, memberIdSet);
|
cuMemberBonusPushService.batchInsertCuMemberBonusPush(batchMemberBonusPushList, memberIdSet);
|
||||||
cuMemberBonusExpandService.batchInsertCuMemberBonusExpand(batchMemberBonusExpandList, memberIdSet);
|
|
||||||
cuMemberBonusCoachService.batchInsertCuMemberBonusCoach(batchMemberBonusCoachList, memberIdSet);
|
|
||||||
cuMemberBonusDetailService.batchInsertCuMemberBonusDetail(batchMemberBonusDetailList, memberIdSet);
|
cuMemberBonusDetailService.batchInsertCuMemberBonusDetail(batchMemberBonusDetailList, memberIdSet);
|
||||||
cuMemberBonusRangeService.batchInsertCuMemberBonusRange(batchMemberBonusRangeList, memberIdSet);
|
cuMemberBonusRangeService.batchInsertCuMemberBonusRange(batchMemberBonusRangeList, memberIdSet);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,47 +1,15 @@
|
||||||
package com.hzs.bonus.bonus.service.impl;
|
package com.hzs.bonus.bonus.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.hzs.bonus.achieve.service.impl.CuMemberBonusSettle;
|
|
||||||
import com.hzs.bonus.bonus.service.ICuMemberBonusCoachService;
|
import com.hzs.bonus.bonus.service.ICuMemberBonusCoachService;
|
||||||
import com.hzs.common.domain.member.bonus.CuMemberBonusCoach;
|
import com.hzs.common.domain.member.bonus.CuMemberBonusCoach;
|
||||||
import com.hzs.bonus.bonus.mapper.CuMemberBonusCoachMapper;
|
import com.hzs.bonus.bonus.mapper.CuMemberBonusCoachMapper;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员奖金-辅导收益明细表 服务实现类
|
* 会员奖金-辅导收益明细表 服务实现类
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class CuMemberBonusCoachServiceImpl extends ServiceImpl<CuMemberBonusCoachMapper, CuMemberBonusCoach> implements ICuMemberBonusCoachService {
|
public class CuMemberBonusCoachServiceImpl extends ServiceImpl<CuMemberBonusCoachMapper, CuMemberBonusCoach> implements ICuMemberBonusCoachService {
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private CuMemberBonusSettle cuMemberBonusSettle;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void deleteCuMemberBonusCoach(Integer period) {
|
|
||||||
baseMapper.deleteCuMemberBonusCoach(period);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void batchInsertCuMemberBonusCoach(List<CuMemberBonusCoach> cuMemberBonusCoachList, Set<Long> memberIdSet) {
|
|
||||||
if (cuMemberBonusCoachList.size() == 0) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
List<CuMemberBonusCoach> cuMemberBonusCoaches = new ArrayList<>();
|
|
||||||
for (CuMemberBonusCoach cuMemberBonusCoach : cuMemberBonusCoachList) {
|
|
||||||
if (memberIdSet.contains(cuMemberBonusCoach.getPkBonus())) {
|
|
||||||
cuMemberBonusCoaches.add(cuMemberBonusCoach);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (cuMemberBonusCoaches.size() == 0) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
List<List<?>> lists = cuMemberBonusSettle.handleCutList(cuMemberBonusCoaches);
|
|
||||||
lists.forEach(list ->
|
|
||||||
baseMapper.batchInsertCuMemberBonusCoach(list));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,53 +1,17 @@
|
||||||
package com.hzs.bonus.bonus.service.impl;
|
package com.hzs.bonus.bonus.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.hzs.bonus.achieve.service.impl.CuMemberBonusSettle;
|
|
||||||
import com.hzs.bonus.bonus.service.ICuMemberBonusExpandService;
|
import com.hzs.bonus.bonus.service.ICuMemberBonusExpandService;
|
||||||
import com.hzs.common.domain.member.bonus.CuMemberBonusExpand;
|
import com.hzs.common.domain.member.bonus.CuMemberBonusExpand;
|
||||||
import com.hzs.bonus.bonus.mapper.CuMemberBonusExpandMapper;
|
import com.hzs.bonus.bonus.mapper.CuMemberBonusExpandMapper;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员奖金-拓展收益明细表 服务实现类
|
* 会员奖金-拓展收益明细表 服务实现类
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class CuMemberBonusExpandServiceImpl extends ServiceImpl<CuMemberBonusExpandMapper, CuMemberBonusExpand> implements ICuMemberBonusExpandService {
|
public class CuMemberBonusExpandServiceImpl extends ServiceImpl<CuMemberBonusExpandMapper, CuMemberBonusExpand> implements ICuMemberBonusExpandService {
|
||||||
|
|
||||||
private CuMemberBonusSettle cuMemberBonusSettle;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public void setCuMemberBonusSettle(CuMemberBonusSettle cuMemberBonusSettle) {
|
|
||||||
this.cuMemberBonusSettle = cuMemberBonusSettle;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void deleteCuMemberBonusExpand(Integer period) {
|
|
||||||
baseMapper.deleteCuMemberBonusExpand(period);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void batchInsertCuMemberBonusExpand(List<CuMemberBonusExpand> cuMemberBonusExpandList, Set<Long> memberIdSet) {
|
|
||||||
if (cuMemberBonusExpandList.size() == 0) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
List<CuMemberBonusExpand> memberBonusExpands = new ArrayList<>();
|
|
||||||
for (CuMemberBonusExpand cuMemberBonusExpand : cuMemberBonusExpandList) {
|
|
||||||
if (memberIdSet.contains(cuMemberBonusExpand.getPkBonus())) {
|
|
||||||
memberBonusExpands.add(cuMemberBonusExpand);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (memberBonusExpands.size() == 0) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
List<List<?>> lists = cuMemberBonusSettle.handleCutList(memberBonusExpands);
|
|
||||||
lists.forEach(list ->
|
|
||||||
baseMapper.batchInsertCuMemberBonusExpand(list));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,7 @@ import org.apache.dubbo.config.annotation.DubboReference;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
|
|
@ -48,8 +49,6 @@ import java.util.stream.Collectors;
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, CuMemberBonus> implements ICuMemberBonusService {
|
public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, CuMemberBonus> implements ICuMemberBonusService {
|
||||||
|
|
||||||
@DubboReference
|
|
||||||
ISystemConfigServiceApi iSystemConfigServiceApi;
|
|
||||||
@DubboReference
|
@DubboReference
|
||||||
ICurrencyServiceApi iCurrencyServiceApi;
|
ICurrencyServiceApi iCurrencyServiceApi;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
|
|
@ -58,14 +57,11 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberSettlePeriodService iCuMemberSettlePeriodService;
|
private ICuMemberSettlePeriodService iCuMemberSettlePeriodService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
private CuMemberBonusDetailMapper cuMemberBonusDetailMapper;
|
private CuMemberBonusDetailMapper cuMemberBonusDetailMapper;
|
||||||
|
@Resource
|
||||||
private CuMemberBonusPushMapper cuMemberBonusPushMapper;
|
private CuMemberBonusPushMapper cuMemberBonusPushMapper;
|
||||||
|
@Resource
|
||||||
private CuMemberBonusExpandMapper cuMemberBonusExpandMapper;
|
|
||||||
|
|
||||||
private CuMemberBonusCoachMapper cuMemberBonusCoachMapper;
|
|
||||||
|
|
||||||
private CuMemberBonusRangeMapper cuMemberBonusRangeMapper;
|
private CuMemberBonusRangeMapper cuMemberBonusRangeMapper;
|
||||||
|
|
||||||
private CuMemberBonusSettle cuMemberBonusSettle;
|
private CuMemberBonusSettle cuMemberBonusSettle;
|
||||||
|
|
@ -89,31 +85,6 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
||||||
this.cuMemberBonusSettle = cuMemberBonusSettle;
|
this.cuMemberBonusSettle = cuMemberBonusSettle;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public void setCuMemberBonusPushMapper(CuMemberBonusPushMapper cuMemberBonusPushMapper) {
|
|
||||||
this.cuMemberBonusPushMapper = cuMemberBonusPushMapper;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public void setCuMemberBonusExpandMapper(CuMemberBonusExpandMapper cuMemberBonusExpandMapper) {
|
|
||||||
this.cuMemberBonusExpandMapper = cuMemberBonusExpandMapper;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public void setCuMemberBonusCoachMapper(CuMemberBonusCoachMapper cuMemberBonusCoachMapper) {
|
|
||||||
this.cuMemberBonusCoachMapper = cuMemberBonusCoachMapper;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public void setCuMemberBonusRangeMapper(CuMemberBonusRangeMapper cuMemberBonusRangeMapper) {
|
|
||||||
this.cuMemberBonusRangeMapper = cuMemberBonusRangeMapper;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public void setCuMemberBonusDetailMapper(CuMemberBonusDetailMapper cuMemberBonusDetailMapper) {
|
|
||||||
this.cuMemberBonusDetailMapper = cuMemberBonusDetailMapper;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Long> batchQueryCuMemberBonusSeq(Integer rowNum) {
|
public List<Long> batchQueryCuMemberBonusSeq(Integer rowNum) {
|
||||||
return baseMapper.batchQueryCuMemberBonusSeq(rowNum);
|
return baseMapper.batchQueryCuMemberBonusSeq(rowNum);
|
||||||
|
|
@ -121,20 +92,10 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<CuMemberBonusExt> queryMemberBonusVoByCondition(BonusParam bonusParam) {
|
public List<CuMemberBonusExt> queryMemberBonusVoByCondition(BonusParam bonusParam) {
|
||||||
// String value = iSystemConfigServiceApi.getBonusSystemConfig(bonusParam.getPkCountry(), ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData();
|
|
||||||
// if (StringUtils.isNotEmpty(value) && Objects.equals(Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue()), value)) {
|
|
||||||
// // 周结的话不能查询当前周的数据,只能查询上周的数据
|
|
||||||
// bonusParam.setEndDate(DateUtils.parseStringToDate(DateUtils.getRecentlyTuesday(bonusParam.getEndDate())));
|
|
||||||
// }
|
|
||||||
return handleMemberBonusPurchase(getCuMemberBonusExtList(bonusParam), bonusParam);
|
return handleMemberBonusPurchase(getCuMemberBonusExtList(bonusParam), bonusParam);
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<CuMemberBonusExt> handleMemberBonusPurchase(List<CuMemberBonusExt> cuMemberBonusExtList, BonusParam bonusParam) {
|
private List<CuMemberBonusExt> handleMemberBonusPurchase(List<CuMemberBonusExt> cuMemberBonusExtList, BonusParam bonusParam) {
|
||||||
// if (StringUtils.isNotEmpty(value) && Objects.equals(Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue()), value)) {
|
|
||||||
// Collections.reverse(cuMemberBonusExtList);
|
|
||||||
// return cuMemberBonusExtList;
|
|
||||||
// }
|
|
||||||
|
|
||||||
List<CuMemberBonusExt> memberBonusExtList = new ArrayList<>();
|
List<CuMemberBonusExt> memberBonusExtList = new ArrayList<>();
|
||||||
Map<String, CuMemberBonusExt> cuMemberBonusExtMap = new HashMap<>();
|
Map<String, CuMemberBonusExt> cuMemberBonusExtMap = new HashMap<>();
|
||||||
cuMemberBonusExtList.forEach(cuMemberBonusExt -> cuMemberBonusExtMap.put(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, cuMemberBonusExt.getSettleDate()), cuMemberBonusExt));
|
cuMemberBonusExtList.forEach(cuMemberBonusExt -> cuMemberBonusExtMap.put(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, cuMemberBonusExt.getSettleDate()), cuMemberBonusExt));
|
||||||
|
|
@ -357,29 +318,7 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
||||||
memberBonusDetailVO.setSourceMemberName(cuMemberBonusPush.getSourceMemberName());
|
memberBonusDetailVO.setSourceMemberName(cuMemberBonusPush.getSourceMemberName());
|
||||||
memberBonusDetailVOList.add(memberBonusDetailVO);
|
memberBonusDetailVOList.add(memberBonusDetailVO);
|
||||||
});
|
});
|
||||||
} else if (EBonusItems.EXPANSION_INCOME.getValue() == bonusItemsValue ||
|
} else if (EBonusItems.RANGE_INCOME.getValue() == bonusItemsValue) {
|
||||||
EBonusItems.CONSUMPTION_EXPANSION_INCOME.getValue() == bonusItemsValue) {
|
|
||||||
// 拓展收益、复购拓展收益
|
|
||||||
List<CuMemberBonusExpandExt> cuMemberBonusExpandList = cuMemberBonusExpandMapper.queryMemberBonusExpandByBonusItems(bonusParam);
|
|
||||||
dataTable = getDataTable(cuMemberBonusExpandList);
|
|
||||||
cuMemberBonusExpandList.forEach(cuMemberBonusExpand -> {
|
|
||||||
MemberBonusDetailVO memberBonusDetailVO = BeanUtil.copyProperties(cuMemberBonusExpand, MemberBonusDetailVO.class);
|
|
||||||
memberBonusDetailVO.setSourceMemberCode(cuMemberBonusExpand.getSourceMemberCode());
|
|
||||||
memberBonusDetailVO.setSourceMemberName(cuMemberBonusExpand.getSourceMemberName());
|
|
||||||
memberBonusDetailVOList.add(memberBonusDetailVO);
|
|
||||||
});
|
|
||||||
} else if (EBonusItems.COACHING_INCOME.getValue() == bonusItemsValue) {
|
|
||||||
// 辅导收益
|
|
||||||
// 拓展收益、复购拓展收益
|
|
||||||
List<CuMemberBonusCoachExt> cuMemberBonusCoachList = cuMemberBonusCoachMapper.queryMemberBonusCoachByBonusItems(bonusParam);
|
|
||||||
dataTable = getDataTable(cuMemberBonusCoachList);
|
|
||||||
cuMemberBonusCoachList.forEach(cuMemberBonusCoach -> {
|
|
||||||
MemberBonusDetailVO memberBonusDetailVO = BeanUtil.copyProperties(cuMemberBonusCoach, MemberBonusDetailVO.class);
|
|
||||||
memberBonusDetailVO.setSourceMemberCode(cuMemberBonusCoach.getSourceMemberCode());
|
|
||||||
memberBonusDetailVO.setSourceMemberName(cuMemberBonusCoach.getSourceMemberName());
|
|
||||||
memberBonusDetailVOList.add(memberBonusDetailVO);
|
|
||||||
});
|
|
||||||
} else if (EBonusItems.REPURCHASE_RANGE_INCOME.getValue() == bonusItemsValue) {
|
|
||||||
// 复购极差
|
// 复购极差
|
||||||
List<CuMemberBonusRangeExt> cuMemberBonusRangeList = cuMemberBonusRangeMapper.queryMemberBonusRangeByBonusItems(bonusParam);
|
List<CuMemberBonusRangeExt> cuMemberBonusRangeList = cuMemberBonusRangeMapper.queryMemberBonusRangeByBonusItems(bonusParam);
|
||||||
dataTable = getDataTable(cuMemberBonusRangeList);
|
dataTable = getDataTable(cuMemberBonusRangeList);
|
||||||
|
|
@ -445,36 +384,9 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
||||||
MemberBonusDetailSerVO memberBonusDetailVO = BeanUtil.copyProperties(cuMemberBonusDetail, MemberBonusDetailSerVO.class);
|
MemberBonusDetailSerVO memberBonusDetailVO = BeanUtil.copyProperties(cuMemberBonusDetail, MemberBonusDetailSerVO.class);
|
||||||
memberBonusDetailSerVoS.add(memberBonusDetailVO);
|
memberBonusDetailSerVoS.add(memberBonusDetailVO);
|
||||||
});
|
});
|
||||||
} else if (EBonusItems.DIRECT_INCOME.getValue() == bonusItemsValue) {
|
} else if (EBonusItems.DIRECT_INCOME.getValue() == bonusItemsValue
|
||||||
// 启动卡直推 推荐收益
|
|| EBonusItems.RANGE_INCOME.getValue() == bonusItemsValue
|
||||||
List<CuMemberBonusPushExt> cuMemberBonusPushList = cuMemberBonusPushMapper.queryMemberBonusPushByBonusItemsFoServer(bonusParam);
|
|| EBonusItems.SAME_LEVEL_INCOME.getValue() == bonusItemsValue) {
|
||||||
dataTable = getDataTable(cuMemberBonusPushList);
|
|
||||||
cuMemberBonusPushList.forEach(cuMemberBonusPush -> {
|
|
||||||
MemberBonusDetailSerVO memberBonusDetailVO = BeanUtil.copyProperties(cuMemberBonusPush, MemberBonusDetailSerVO.class);
|
|
||||||
memberBonusDetailSerVoS.add(memberBonusDetailVO);
|
|
||||||
});
|
|
||||||
} else if (EBonusItems.EXPANSION_INCOME.getValue() == bonusItemsValue
|
|
||||||
|| EBonusItems.CONSUMPTION_EXPANSION_INCOME.getValue() == bonusItemsValue) {
|
|
||||||
// 拓展收益、复购拓展收益
|
|
||||||
List<CuMemberBonusExpandExt> cuMemberBonusExpandList = cuMemberBonusExpandMapper.queryMemberBonusExpandByBonusItemsForServer(bonusParam);
|
|
||||||
dataTable = getDataTable(cuMemberBonusExpandList);
|
|
||||||
cuMemberBonusExpandList.forEach(cuMemberBonusExpand -> {
|
|
||||||
MemberBonusDetailSerVO memberBonusDetailVO = BeanUtil.copyProperties(cuMemberBonusExpand, MemberBonusDetailSerVO.class);
|
|
||||||
memberBonusDetailSerVoS.add(memberBonusDetailVO);
|
|
||||||
});
|
|
||||||
} else if (EBonusItems.RETAIL_COACHING_INCOME.getValue() == bonusItemsValue) {
|
|
||||||
// 培育津贴
|
|
||||||
List<CuMemberBonusCoachExt> cuMemberBonusCoachList = cuMemberBonusCoachMapper.queryMemberBonusCoachByBonusItemsForServer(bonusParam);
|
|
||||||
dataTable = getDataTable(cuMemberBonusCoachList);
|
|
||||||
cuMemberBonusCoachList.forEach(cuMemberBonusCoach -> {
|
|
||||||
MemberBonusDetailSerVO memberBonusDetailVO = BeanUtil.copyProperties(cuMemberBonusCoach, MemberBonusDetailSerVO.class);
|
|
||||||
memberBonusDetailSerVoS.add(memberBonusDetailVO);
|
|
||||||
});
|
|
||||||
} else if (EBonusItems.REPURCHASE_RANGE_INCOME.getValue() == bonusItemsValue
|
|
||||||
|| EBonusItems.RETAIL_RANGE_INCOME.getValue() == bonusItemsValue
|
|
||||||
|| EBonusItems.RETAIL_SAME_LEVEL_INCOME.getValue() == bonusItemsValue
|
|
||||||
|| EBonusItems.RETAIL_BENEFIT_RANGE_INCOME.getValue() == bonusItemsValue
|
|
||||||
|| EBonusItems.RETAIL_MONTH_REPURCHASE_INCOME.getValue() == bonusItemsValue) {
|
|
||||||
// 直推收益、平级收益、福利级差、复购级差
|
// 直推收益、平级收益、福利级差、复购级差
|
||||||
List<CuMemberBonusRangeExt> cuMemberBonusRangeList = cuMemberBonusRangeMapper.queryMemberBonusRangeByBonusItemsForServer(bonusParam);
|
List<CuMemberBonusRangeExt> cuMemberBonusRangeList = cuMemberBonusRangeMapper.queryMemberBonusRangeByBonusItemsForServer(bonusParam);
|
||||||
dataTable = getDataTable(cuMemberBonusRangeList);
|
dataTable = getDataTable(cuMemberBonusRangeList);
|
||||||
|
|
@ -515,7 +427,7 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
||||||
memberBonusDetailSerVO.setCoachNormalHalfOri(ComputeUtil.computeMultiply(memberBonusDetailSerVO.getCoachNormalHalf(), memberBonusDetailSerVO.getOutExchangeRate()));
|
memberBonusDetailSerVO.setCoachNormalHalfOri(ComputeUtil.computeMultiply(memberBonusDetailSerVO.getCoachNormalHalf(), memberBonusDetailSerVO.getOutExchangeRate()));
|
||||||
memberBonusDetailSerVO.setCoachNormalRealOri(ComputeUtil.computeMultiply(memberBonusDetailSerVO.getCoachNormalReal(), memberBonusDetailSerVO.getOutExchangeRate()));
|
memberBonusDetailSerVO.setCoachNormalRealOri(ComputeUtil.computeMultiply(memberBonusDetailSerVO.getCoachNormalReal(), memberBonusDetailSerVO.getOutExchangeRate()));
|
||||||
}
|
}
|
||||||
memberBonusDetailSerVO.setOrderTypeVal(EOrderType.getEnumLabelByValue(memberBonusDetailSerVO.getOrderType()));
|
memberBonusDetailSerVO.setOrderTypeVal(EOrderType.getLabelByValue(memberBonusDetailSerVO.getOrderType()));
|
||||||
memberBonusDetailSerVO.setIncomeStatusVal(EBonusIncomeStatus.getEnumLabelByValue(memberBonusDetailSerVO.getIncomeStatus()));
|
memberBonusDetailSerVO.setIncomeStatusVal(EBonusIncomeStatus.getEnumLabelByValue(memberBonusDetailSerVO.getIncomeStatus()));
|
||||||
});
|
});
|
||||||
dataTable.setRows(memberBonusDetailSerVoS);
|
dataTable.setRows(memberBonusDetailSerVoS);
|
||||||
|
|
@ -613,10 +525,9 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mergeBackMemberBonusIncome(Long pkOrder) {
|
public void mergeBackMemberBonusIncome(Long pkOrder) {
|
||||||
baseMapper.mergeBackRangeBonusIncome(pkOrder, EBonusItems.RETAIL_RANGE_INCOME.getValue());
|
baseMapper.mergeBackRangeBonusIncome(pkOrder, EBonusItems.DIRECT_INCOME.getValue());
|
||||||
baseMapper.mergeBackRangeBonusIncome(pkOrder, EBonusItems.RETAIL_SAME_LEVEL_INCOME.getValue());
|
baseMapper.mergeBackRangeBonusIncome(pkOrder, EBonusItems.SAME_LEVEL_INCOME.getValue());
|
||||||
baseMapper.mergeBackRangeBonusIncome(pkOrder, EBonusItems.RETAIL_AREA_INCOME.getValue());
|
baseMapper.mergeBackRangeBonusIncome(pkOrder, EBonusItems.RANGE_INCOME.getValue());
|
||||||
baseMapper.mergeBackRangeBonusIncome(pkOrder, EBonusItems.REPURCHASE_RANGE_INCOME.getValue());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -1,39 +1,10 @@
|
||||||
package com.hzs.bonus.bonus.service.impl;
|
package com.hzs.bonus.bonus.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService;
|
|
||||||
import com.hzs.bonus.bonus.service.ICuMemberShareBonusService;
|
import com.hzs.bonus.bonus.service.ICuMemberShareBonusService;
|
||||||
import com.hzs.bonus.bonus.service.ICuMemberShareDetailService;
|
|
||||||
import com.hzs.bonus.detail.service.ICuMemberAssessService;
|
|
||||||
import com.hzs.common.core.enums.EAwards;
|
|
||||||
import com.hzs.common.core.utils.ComputeUtil;
|
|
||||||
import com.hzs.common.core.utils.DateUtils;
|
|
||||||
import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod;
|
|
||||||
import com.hzs.common.domain.member.base.CuMember;
|
|
||||||
import com.hzs.common.domain.member.bonus.CuMemberShareBonus;
|
import com.hzs.common.domain.member.bonus.CuMemberShareBonus;
|
||||||
import com.hzs.common.domain.member.bonus.CuMemberShareDetail;
|
|
||||||
import com.hzs.common.domain.member.detail.CuMemberAssess;
|
|
||||||
import com.hzs.common.domain.member.ext.CuMemberShareBonusExt;
|
|
||||||
import com.hzs.common.domain.member.ext.CuMemberShareDetailExt;
|
|
||||||
import com.hzs.common.domain.sale.order.SaOrder;
|
|
||||||
import com.hzs.common.domain.system.config.BdAwards;
|
|
||||||
import com.hzs.bonus.base.service.ICuMemberService;
|
|
||||||
import com.hzs.bonus.bonus.mapper.CuMemberShareBonusMapper;
|
import com.hzs.bonus.bonus.mapper.CuMemberShareBonusMapper;
|
||||||
import com.hzs.bonus.bonus.param.CuMemberShareBonusParam;
|
|
||||||
import com.hzs.bonus.bonus.param.CuMemberShareDetailParam;
|
|
||||||
import com.hzs.sale.order.ISaOrderServiceApi;
|
|
||||||
import com.hzs.system.base.ICurrencyServiceApi;
|
|
||||||
import com.hzs.system.base.dto.CurrencyDTO;
|
|
||||||
import com.hzs.system.config.IAwardsServiceApi;
|
|
||||||
import org.apache.dubbo.config.annotation.DubboReference;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.util.*;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员奖金-分红奖金配置 服务实现类
|
* 会员奖金-分红奖金配置 服务实现类
|
||||||
|
|
@ -41,143 +12,4 @@ import java.util.*;
|
||||||
@Service
|
@Service
|
||||||
public class CuMemberShareBonusServiceImpl extends ServiceImpl<CuMemberShareBonusMapper, CuMemberShareBonus> implements ICuMemberShareBonusService {
|
public class CuMemberShareBonusServiceImpl extends ServiceImpl<CuMemberShareBonusMapper, CuMemberShareBonus> implements ICuMemberShareBonusService {
|
||||||
|
|
||||||
@DubboReference
|
|
||||||
ISaOrderServiceApi saOrderServiceApi;
|
|
||||||
@DubboReference
|
|
||||||
IAwardsServiceApi awardsServiceApi;
|
|
||||||
@DubboReference
|
|
||||||
ICurrencyServiceApi currencyServiceApi;
|
|
||||||
|
|
||||||
private ICuMemberShareDetailService cuMemberShareDetailService;
|
|
||||||
|
|
||||||
private ICuMemberService cuMemberService;
|
|
||||||
|
|
||||||
private ICuMemberAssessService cuMemberAssessService;
|
|
||||||
|
|
||||||
private ICuMemberSettlePeriodService cuMemberSettlePeriodService;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public void setCuMemberSettlePeriodService(ICuMemberSettlePeriodService cuMemberSettlePeriodService) {
|
|
||||||
this.cuMemberSettlePeriodService = cuMemberSettlePeriodService;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public void setCuMemberAssessService(ICuMemberAssessService cuMemberAssessService) {
|
|
||||||
this.cuMemberAssessService = cuMemberAssessService;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public void setCuMemberService(ICuMemberService cuMemberService) {
|
|
||||||
this.cuMemberService = cuMemberService;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public void setCuMemberShareDetailService(ICuMemberShareDetailService cuMemberShareDetailService) {
|
|
||||||
this.cuMemberShareDetailService = cuMemberShareDetailService;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
|
||||||
public void saveMemberShareBonus(CuMemberShareBonusParam cuMemberShareBonusParam) {
|
|
||||||
CuMemberShareBonusExt cuMemberShareBonusExt = queryCuMemberShareBonus(cuMemberShareBonusParam.getPkCountry(), cuMemberShareBonusParam.getSettleMonth());
|
|
||||||
CuMemberShareBonus cuMemberShareBonus = BeanUtil.copyProperties(cuMemberShareBonusExt, CuMemberShareBonus.class);
|
|
||||||
if (cuMemberShareBonus.getPkId() == null) {
|
|
||||||
cuMemberShareBonus.setPkCountry(cuMemberShareBonusParam.getPkCountry());
|
|
||||||
cuMemberShareBonus.setPkCreator(cuMemberShareBonusParam.getPkCreator());
|
|
||||||
CuMemberSettlePeriod cuMemberSettlePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(cuMemberShareBonusExt.getSettleMonth() + "-01");
|
|
||||||
cuMemberShareBonus.setPeriod(cuMemberSettlePeriod.getPkId());
|
|
||||||
CurrencyDTO currencyDTO = currencyServiceApi.getCurrency(cuMemberShareBonusParam.getPkCountry()).getData();
|
|
||||||
cuMemberShareBonus.setPkRate(currencyDTO.getPkId());
|
|
||||||
baseMapper.insert(cuMemberShareBonus);
|
|
||||||
} else {
|
|
||||||
cuMemberShareBonus.setPkModified(cuMemberShareBonusParam.getPkCreator());
|
|
||||||
cuMemberShareBonus.setModifiedTime(DateUtils.currentDateTime());
|
|
||||||
baseMapper.updateById(cuMemberShareBonus);
|
|
||||||
}
|
|
||||||
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())) {
|
|
||||||
CuMemberShareDetailParam cuMemberShareDetailParam = cuMemberShareDetailParamMap.get(cuMemberShareDetail.getPkAwards());
|
|
||||||
cuMemberShareDetail.setRealShareIncome(cuMemberShareDetailParam.getRealShareIncome());
|
|
||||||
cuMemberShareDetail.setRealShareSubtotal(ComputeUtil.computeMultiply(cuMemberShareDetailParam.getRealShareIncome(), cuMemberShareDetail.getReachTotal()));
|
|
||||||
}
|
|
||||||
if (cuMemberShareDetail.getPkId() == null) {
|
|
||||||
cuMemberShareDetail.setPkCountry(cuMemberShareBonusParam.getPkCountry());
|
|
||||||
cuMemberShareDetail.setPkShareBonus(cuMemberShareBonus.getPkId());
|
|
||||||
cuMemberShareDetail.setCreationTime(currentDateTime);
|
|
||||||
cuMemberShareDetail.setPkCreator(cuMemberShareBonusParam.getPkCreator());
|
|
||||||
} else {
|
|
||||||
cuMemberShareDetail.setPkModified(cuMemberShareBonusParam.getPkCreator());
|
|
||||||
cuMemberShareDetail.setModifiedTime(DateUtils.currentDateTime());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
cuMemberShareDetailService.saveMemberShareBonus(cuMemberShareBonusExt.getCuMemberShareDetailList());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public CuMemberShareBonusExt queryCuMemberShareBonus(Integer pkCountry, String settleMonth) {
|
|
||||||
CuMemberShareBonusExt cuMemberShareBonusExt = baseMapper.queryCuMemberShareBonus(pkCountry, settleMonth);
|
|
||||||
if (cuMemberShareBonusExt == null) {
|
|
||||||
cuMemberShareBonusExt = new CuMemberShareBonusExt();
|
|
||||||
cuMemberShareBonusExt.setSettleMonth(settleMonth);
|
|
||||||
Date endDate = DateUtils.parseDate(settleMonth + "-01");
|
|
||||||
Date startDate = DateUtils.beforeMonthFirstDate(endDate);
|
|
||||||
SaOrder saOrder = saOrderServiceApi.queryOrderTotalAchieveByTime(startDate, endDate).getData();
|
|
||||||
BigDecimal shareRatio = BigDecimal.ZERO;
|
|
||||||
List<BdAwards> bdAwardsList = awardsServiceApi.queryAwards(pkCountry).getData();
|
|
||||||
List<CuMemberShareDetailExt> cuMemberShareDetailList = new ArrayList<>();
|
|
||||||
// 查询奖衔 晋升人数
|
|
||||||
List<CuMember> cuMemberList = cuMemberService.queryCuMemberShareTotal(pkCountry);
|
|
||||||
Map<Integer, Integer> cuMemberMap = new HashMap<>();
|
|
||||||
cuMemberList.forEach(cuMember ->
|
|
||||||
cuMemberMap.put(cuMember.getPkAwards(), cuMember.getShareStatus()));
|
|
||||||
List<CuMemberAssess> cuMemberAssessList = cuMemberAssessService.queryCuMemberAssTotal(settleMonth + "-01", pkCountry);
|
|
||||||
Map<Integer, Integer> cuMemberAssMap = new HashMap<>();
|
|
||||||
cuMemberAssessList.forEach(cuMemberAssess ->
|
|
||||||
cuMemberAssMap.put(cuMemberAssess.getPkAwards(), cuMemberAssess.getAssessStatus()));
|
|
||||||
// 查询奖衔 达标人数
|
|
||||||
for (BdAwards bdAwards : bdAwardsList) {
|
|
||||||
if (EAwards.MEMBER.getValue() == bdAwards.getAwardsValue()) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
shareRatio = ComputeUtil.computeAdd(shareRatio, bdAwards.getAbonusRatio());
|
|
||||||
CuMemberShareDetailExt cuMemberShareDetail = new CuMemberShareDetailExt();
|
|
||||||
cuMemberShareDetail.setPkAwards(bdAwards.getPkId());
|
|
||||||
cuMemberShareDetail.setPkAwardsVal(bdAwards.getAwardsName());
|
|
||||||
cuMemberShareDetail.setPromoteTotal(0);
|
|
||||||
cuMemberShareDetail.setReachTotal(0);
|
|
||||||
cuMemberShareDetail.setExpectShareIncome(BigDecimal.ZERO);
|
|
||||||
cuMemberShareDetail.setExpectShareSubtotal(BigDecimal.ZERO);
|
|
||||||
cuMemberShareDetail.setRealShareIncome(BigDecimal.ZERO);
|
|
||||||
cuMemberShareDetail.setRealShareSubtotal(BigDecimal.ZERO);
|
|
||||||
if (cuMemberMap.containsKey(bdAwards.getPkId())) {
|
|
||||||
cuMemberShareDetail.setPromoteTotal(cuMemberMap.get(bdAwards.getPkId()));
|
|
||||||
}
|
|
||||||
if (cuMemberAssMap.containsKey(bdAwards.getPkId())) {
|
|
||||||
cuMemberShareDetail.setReachTotal(cuMemberAssMap.get(bdAwards.getPkId()));
|
|
||||||
}
|
|
||||||
cuMemberShareDetailList.add(cuMemberShareDetail);
|
|
||||||
}
|
|
||||||
cuMemberShareBonusExt.setExpectShareTotal(saOrder == null ? BigDecimal.ZERO : ComputeUtil.computeMultiply(saOrder.getOrderAchieve(), shareRatio));
|
|
||||||
cuMemberShareBonusExt.setRealShareTotal(saOrder == null ? BigDecimal.ZERO : ComputeUtil.computeMultiply(saOrder.getOrderAchieve(), shareRatio));
|
|
||||||
// 处理预发金额 预发合计
|
|
||||||
for (CuMemberShareDetail cuMemberShareDetail : cuMemberShareDetailList) {
|
|
||||||
int count = bdAwardsList.size();
|
|
||||||
if (count > 0) {
|
|
||||||
cuMemberShareDetail.setExpectShareSubtotal(ComputeUtil.computeDivide(cuMemberShareBonusExt.getExpectShareTotal(), BigDecimal.valueOf(count)));
|
|
||||||
cuMemberShareDetail.setExpectShareIncome(ComputeUtil.computeDivide(cuMemberShareDetail.getExpectShareSubtotal(), BigDecimal.valueOf(cuMemberShareDetail.getPromoteTotal())));
|
|
||||||
} else {
|
|
||||||
cuMemberShareDetail.setExpectShareSubtotal(BigDecimal.ZERO);
|
|
||||||
cuMemberShareDetail.setExpectShareIncome(BigDecimal.ZERO);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
cuMemberShareBonusExt.setCuMemberShareDetailList(cuMemberShareDetailList);
|
|
||||||
}
|
|
||||||
return cuMemberShareBonusExt;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,21 +3,13 @@ package com.hzs.bonus.bonus.service.impl;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.hzs.bonus.bonus.service.ICuMemberShareDetailService;
|
import com.hzs.bonus.bonus.service.ICuMemberShareDetailService;
|
||||||
import com.hzs.common.domain.member.bonus.CuMemberShareDetail;
|
import com.hzs.common.domain.member.bonus.CuMemberShareDetail;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberShareDetailExt;
|
|
||||||
import com.hzs.bonus.bonus.mapper.CuMemberShareDetailMapper;
|
import com.hzs.bonus.bonus.mapper.CuMemberShareDetailMapper;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员奖金-分红奖金配置明细 服务实现类
|
* 会员奖金-分红奖金配置明细 服务实现类
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class CuMemberShareDetailServiceImpl extends ServiceImpl<CuMemberShareDetailMapper, CuMemberShareDetail> implements ICuMemberShareDetailService {
|
public class CuMemberShareDetailServiceImpl extends ServiceImpl<CuMemberShareDetailMapper, CuMemberShareDetail> implements ICuMemberShareDetailService {
|
||||||
|
|
||||||
@Override
|
|
||||||
public void saveMemberShareBonus(List<CuMemberShareDetailExt> cuMemberShareDetailList) {
|
|
||||||
baseMapper.saveMemberShareBonus(cuMemberShareDetailList);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,49 +0,0 @@
|
||||||
package com.hzs.bonus.bonus.service.impl;
|
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
||||||
import com.hzs.bonus.bonus.mapper.CuMemberSpeRetailMapper;
|
|
||||||
import com.hzs.bonus.bonus.param.RetailAreaParam;
|
|
||||||
import com.hzs.bonus.bonus.service.ICuMemberSpeRetailService;
|
|
||||||
import com.hzs.common.core.utils.DateUtils;
|
|
||||||
import com.hzs.common.domain.member.bonus.CuMemberSpeRetail;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 注水盒数 服务实现类
|
|
||||||
*/
|
|
||||||
@Service
|
|
||||||
public class CuMemberSpeRetailServiceImpl extends ServiceImpl<CuMemberSpeRetailMapper, CuMemberSpeRetail> implements ICuMemberSpeRetailService {
|
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
|
||||||
@Override
|
|
||||||
public void batchSpeRetail(List<RetailAreaParam> list, Integer pkCountry, Long pkCreator) {
|
|
||||||
List<CuMemberSpeRetail> cmsrList = new ArrayList<>();
|
|
||||||
Date date = new Date();
|
|
||||||
list.forEach(item -> {
|
|
||||||
CuMemberSpeRetail cmsr = BeanUtil.copyProperties(item, CuMemberSpeRetail.class);
|
|
||||||
cmsr.setPeriodDate(DateUtils.getStartTime(item.getSettleDate()));
|
|
||||||
cmsr.setPkCountry(pkCountry);
|
|
||||||
cmsr.setPkCreator(pkCreator);
|
|
||||||
cmsr.setCreationTime(date);
|
|
||||||
cmsrList.add(cmsr);
|
|
||||||
});
|
|
||||||
this.saveBatch(cmsrList);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<RetailAreaParam> getCuMemberSpeRetail(RetailAreaParam param) {
|
|
||||||
return baseMapper.getCuMemberSpeRetail(param);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int checkCuMemberActivate(String memberCode) {
|
|
||||||
return baseMapper.checkCuMemberActivate(memberCode);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -22,16 +22,6 @@ public class BonusRecordDetailVO implements Serializable {
|
||||||
*/
|
*/
|
||||||
private List<CuMemberBonusPush> cuMemberBonusPushList;
|
private List<CuMemberBonusPush> cuMemberBonusPushList;
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
private List<CuMemberBonusExpand> cuMemberBonusExpandList;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 新零售 - 培育津贴
|
|
||||||
*/
|
|
||||||
private List<CuMemberBonusCoach> cuMemberBonusCoachList;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新零售 - 区域分红、月度分红
|
* 新零售 - 区域分红、月度分红
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -1,46 +0,0 @@
|
||||||
package com.hzs.bonus.detail.controller.api;
|
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
|
||||||
import com.hzs.bonus.detail.service.ICuRegionAssessService;
|
|
||||||
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.utils.DateUtils;
|
|
||||||
import com.hzs.common.core.web.controller.BaseController;
|
|
||||||
import com.hzs.common.core.web.page.TableDataInfo;
|
|
||||||
import com.hzs.common.domain.member.detail.CuRegionAssessDetail;
|
|
||||||
import com.hzs.common.domain.member.detail.ext.CuRegionAssessExt;
|
|
||||||
import com.hzs.common.security.utils.SecurityUtils;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @description: 考核会员端
|
|
||||||
* @author: sui q
|
|
||||||
* @time: 2025/1/16 11:12
|
|
||||||
* @classname: ApiCuRegionAssessController
|
|
||||||
* @package_name: com.hzs.bonus.detail.controller.api
|
|
||||||
* version 1.0.0
|
|
||||||
*/
|
|
||||||
@RestController
|
|
||||||
@RequestMapping("/api/region")
|
|
||||||
public class ApiCuRegionAssessController extends BaseController {
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private ICuRegionAssessService regionAssessService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询会员昨天奖金的值
|
|
||||||
*/
|
|
||||||
@GetMapping("/query")
|
|
||||||
public TableDataInfo listRegionAssess(){
|
|
||||||
CuRegionAssessParam cuRegionAssessParam = new CuRegionAssessParam();
|
|
||||||
cuRegionAssessParam.setPkCountry(SecurityUtils.getPkCountry());
|
|
||||||
cuRegionAssessParam.setPkMember(SecurityUtils.getUserId());
|
|
||||||
List<CuRegionAssessExt> cuRegionAssessExtList = regionAssessService.queryRegionAssessByCondition(cuRegionAssessParam);
|
|
||||||
return getDataTable(regionAssessService.getCuRegionAssessVoS(cuRegionAssessExtList));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,56 +0,0 @@
|
||||||
package com.hzs.bonus.detail.controller.manage;
|
|
||||||
|
|
||||||
import com.hzs.bonus.detail.service.ICuMemberAssessService;
|
|
||||||
import com.hzs.common.core.annotation.Log;
|
|
||||||
import com.hzs.common.core.enums.EOperationMethod;
|
|
||||||
import com.hzs.common.core.enums.EOperationModule;
|
|
||||||
import com.hzs.common.core.utils.DateUtils;
|
|
||||||
import com.hzs.common.core.web.controller.BaseController;
|
|
||||||
import com.hzs.common.core.web.domain.AjaxResult;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @Description:
|
|
||||||
* @Author: sui q
|
|
||||||
* @Time: 2022/11/8 13:50
|
|
||||||
* @Classname: CuMemberAssessController
|
|
||||||
* @PackageName: com.hzs.member.detail.controller.manage
|
|
||||||
*/
|
|
||||||
@RestController
|
|
||||||
@RequestMapping("/manage/assess")
|
|
||||||
public class CuMemberAssessController extends BaseController {
|
|
||||||
|
|
||||||
private ICuMemberAssessService cuMemberAssessService;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public void setCuMemberAssessService(ICuMemberAssessService cuMemberAssessService) {
|
|
||||||
this.cuMemberAssessService = cuMemberAssessService;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 考核(复购考核、分红考核)
|
|
||||||
* 考核默认考核当月
|
|
||||||
* @return AjaxResult
|
|
||||||
*/
|
|
||||||
@GetMapping("/examine")
|
|
||||||
@Log(module = EOperationModule.CU_MEMBER_ASSESSMENT, method = EOperationMethod.UPDATE)
|
|
||||||
public AjaxResult calculationCuMemberAssess(String settleDate) {
|
|
||||||
cuMemberAssessService.calculationCuMemberAssess(DateUtils.parseStringToDate(settleDate));
|
|
||||||
return AjaxResult.success();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 重算考核(复购考核、分红考核)
|
|
||||||
* 考核默认考核当月
|
|
||||||
* @return AjaxResult
|
|
||||||
*/
|
|
||||||
@GetMapping("/retry-examine")
|
|
||||||
@Log(module = EOperationModule.CU_MEMBER_ASSESSMENT, method = EOperationMethod.UPDATE)
|
|
||||||
public AjaxResult retryCalculationCuMemberAssess(String settleDate) {
|
|
||||||
cuMemberAssessService.retryCalculationAssess(DateUtils.currentMonthFirstDate(DateUtils.parseStringToDate(settleDate)), Boolean.FALSE);
|
|
||||||
return AjaxResult.success();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,88 +0,0 @@
|
||||||
package com.hzs.bonus.detail.controller.manage;
|
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
|
||||||
import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService;
|
|
||||||
import com.hzs.bonus.detail.service.ICuRegionAssessService;
|
|
||||||
import com.hzs.bonus.detail.vo.CuRegionAssessExcelVO;
|
|
||||||
import com.hzs.bonus.detail.vo.CuRegionAssessVO;
|
|
||||||
import com.hzs.bonus.param.CuRegionAssessParam;
|
|
||||||
import com.hzs.common.core.constant.TableNameConstants;
|
|
||||||
import com.hzs.common.core.utils.poi.ExcelUtil;
|
|
||||||
import com.hzs.common.core.web.controller.BaseController;
|
|
||||||
import com.hzs.common.core.web.domain.AjaxResult;
|
|
||||||
import com.hzs.common.core.web.page.TableDataInfo;
|
|
||||||
import com.hzs.common.domain.member.detail.CuRegionAssessDetail;
|
|
||||||
import com.hzs.common.domain.member.detail.ext.CuRegionAssessExt;
|
|
||||||
import com.hzs.common.security.utils.SecurityUtils;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 新零售会员区域考核 前端控制器
|
|
||||||
*/
|
|
||||||
@RestController
|
|
||||||
@RequestMapping("/manage/region")
|
|
||||||
public class CuRegionAssessController extends BaseController {
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private ICuRegionAssessService cuRegionAssessService;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private ICuMemberSettlePeriodService cuMemberSettlePeriodService;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private ICuRegionAssessService regionAssessService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 考核
|
|
||||||
* 考核默认考核当月
|
|
||||||
*
|
|
||||||
* @return AjaxResult
|
|
||||||
*/
|
|
||||||
@GetMapping("/examine")
|
|
||||||
public AjaxResult calculationCuRegionAssess(String settleDate) {
|
|
||||||
Integer period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId();
|
|
||||||
String rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + period;
|
|
||||||
cuRegionAssessService.assessRegionByEveryMonth(settleDate, rangeTableName);
|
|
||||||
return AjaxResult.success();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询会员昨天奖金的值
|
|
||||||
*/
|
|
||||||
@PostMapping("/query")
|
|
||||||
public TableDataInfo listRegionAssess(@RequestBody CuRegionAssessParam cuRegionAssessParam) {
|
|
||||||
startPage();
|
|
||||||
cuRegionAssessParam.setPkCountry(SecurityUtils.getPkCountry());
|
|
||||||
List<CuRegionAssessExt> cuRegionAssessExtList = regionAssessService.queryRegionAssessByCondition(cuRegionAssessParam);
|
|
||||||
List<CuRegionAssessVO> cuRegionAssessVoList = regionAssessService.getCuRegionAssessVoS(cuRegionAssessExtList);
|
|
||||||
TableDataInfo dataTable = getDataTable(cuRegionAssessExtList);
|
|
||||||
dataTable.setRows(cuRegionAssessVoList);
|
|
||||||
return dataTable;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 分页查询会员某个时间段内的奖金汇总
|
|
||||||
*/
|
|
||||||
@PostMapping("/export")
|
|
||||||
public void exportRegionAssess(HttpServletResponse response, CuRegionAssessParam cuRegionAssessParam) {
|
|
||||||
List<CuRegionAssessExt> cuRegionAssessExtList = regionAssessService.queryRegionAssessByCondition(cuRegionAssessParam);
|
|
||||||
List<CuRegionAssessExcelVO> cuRegionAssessVoList = new ArrayList<>();
|
|
||||||
for (CuRegionAssessExt cuRegionAssessExt : cuRegionAssessExtList) {
|
|
||||||
for (CuRegionAssessDetail cuRegionAssessDetail : cuRegionAssessExt.getCuRegionAssessDetailList()) {
|
|
||||||
CuRegionAssessExcelVO regionAssessExcelVO = BeanUtil.copyProperties(cuRegionAssessExt, CuRegionAssessExcelVO.class);
|
|
||||||
regionAssessExcelVO.setAssessDate(cuRegionAssessDetail.getAssessDate());
|
|
||||||
regionAssessExcelVO.setTeamMonthPv(cuRegionAssessDetail.getTeamMonthPv());
|
|
||||||
regionAssessExcelVO.setSmallAreaPv(cuRegionAssessDetail.getSmallAreaPv());
|
|
||||||
regionAssessExcelVO.setAssessStatus(cuRegionAssessDetail.getAssessStatus());
|
|
||||||
cuRegionAssessVoList.add(regionAssessExcelVO);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ExcelUtil<CuRegionAssessExcelVO> util = new ExcelUtil<>(CuRegionAssessExcelVO.class);
|
|
||||||
util.exportExcel(response, cuRegionAssessVoList, "区域考核导出");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -2,68 +2,9 @@ package com.hzs.bonus.detail.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.hzs.common.domain.member.detail.CuMemberAssessDetail;
|
import com.hzs.common.domain.member.detail.CuMemberAssessDetail;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberSettleExt;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
|
||||||
* 考核业绩变化明细表 Mapper 接口
|
* 考核业绩变化明细表 Mapper 接口
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-10-28
|
|
||||||
*/
|
*/
|
||||||
public interface CuMemberAssessDetailMapper extends BaseMapper<CuMemberAssessDetail> {
|
public interface CuMemberAssessDetailMapper extends BaseMapper<CuMemberAssessDetail> {
|
||||||
|
|
||||||
/*
|
|
||||||
* @description: 根据期间删除会员考核记录
|
|
||||||
* @author: sui q
|
|
||||||
* @date: 2023/5/25 10:52
|
|
||||||
* @param: null null
|
|
||||||
**/
|
|
||||||
void deleteCuMemberAssessDetailByPeriod(@Param("tableName") String tableName, @Param("period") Integer period);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @description: 每月考试将订单插入会员考核明细
|
|
||||||
* @author: sui q
|
|
||||||
* @date: 2023/5/25 11:36
|
|
||||||
* @param: null null
|
|
||||||
**/
|
|
||||||
void insertCuMemberAssesDetailByOrder(@Param("tableName") String tableName, @Param("period") Integer period,
|
|
||||||
@Param("startDate") Date startDate, @Param("endDate") Date endDate);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 插入考核记录
|
|
||||||
* @param tableName 表名
|
|
||||||
* @param period 期间
|
|
||||||
* @param cuMemberList 需要重新考核的会员
|
|
||||||
* @param assessType 类型
|
|
||||||
* @return: void
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2022/11/9 15:56
|
|
||||||
*/
|
|
||||||
void insertCuMemberAssessDetailByPeriod(@Param("tableName") String tableName, @Param("period") Integer period,
|
|
||||||
@Param("cuMemberList") List<?> cuMemberList, @Param("assessType") Integer assessType);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 新增或修改会员考核明细表,根据期间,重算就是修改
|
|
||||||
* @param tableName 来源表
|
|
||||||
* @param period 期间
|
|
||||||
* @return: Integer
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2022/11/8 11:21
|
|
||||||
*/
|
|
||||||
Integer updateCuMemberAssessDetailByPeriod(@Param("tableName") String tableName, @Param("period") Integer period);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 批量删除会员考核明细
|
|
||||||
* @param revokeDetailList 退单的明细数据
|
|
||||||
* @return: Integer
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2022/11/9 15:37
|
|
||||||
*/
|
|
||||||
Integer updateCuMemberAssessDetailByRevoke(@Param("revokeDetailList") List<?> revokeDetailList);
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
package com.hzs.bonus.detail.mapper;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
||||||
import com.hzs.common.domain.member.detail.CuMemberAssessExempt;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* 考核业绩免考记录表 Mapper 接口
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-10-28
|
|
||||||
*/
|
|
||||||
public interface CuMemberAssessExemptMapper extends BaseMapper<CuMemberAssessExempt> {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -2,125 +2,9 @@ package com.hzs.bonus.detail.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.hzs.common.domain.member.detail.CuMemberAssess;
|
import com.hzs.common.domain.member.detail.CuMemberAssess;
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员信息-会员考核记录 Mapper 接口
|
* 会员信息-会员考核记录 Mapper 接口
|
||||||
*/
|
*/
|
||||||
public interface CuMemberAssessMapper extends BaseMapper<CuMemberAssess> {
|
public interface CuMemberAssessMapper extends BaseMapper<CuMemberAssess> {
|
||||||
|
|
||||||
/*
|
|
||||||
* 清空表数据
|
|
||||||
**/
|
|
||||||
void deleteCuMemberAssessByPeriod(@Param("tableName") String tableName, @Param("period") Integer period);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 初始化复购考核表数据,将结算表数据插入到考核表中
|
|
||||||
*
|
|
||||||
* @param tableName 更新表名
|
|
||||||
* @param sourceTableName 来源表,用哪个表进行更新
|
|
||||||
* @param period 期间
|
|
||||||
* @param month 考核月份
|
|
||||||
*/
|
|
||||||
Integer insertRepCuMemberAssess(@Param("tableName") String tableName, @Param("sourceTableName") String sourceTableName,
|
|
||||||
@Param("period") Integer period, @Param("month") String month);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 初始化复购考核表数据,将结算表数据插入到考核表中
|
|
||||||
*
|
|
||||||
* @param tableName 更新表名
|
|
||||||
* @param sourceTableName 来源表,用哪个表进行更新
|
|
||||||
* @param period 期间
|
|
||||||
* @param month 考核月份
|
|
||||||
*/
|
|
||||||
Integer insertRepCuMemberRangeAssess(@Param("tableName") String tableName, @Param("sourceTableName") String sourceTableName,
|
|
||||||
@Param("period") Integer period, @Param("month") String month);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新会员复购考核业绩
|
|
||||||
*
|
|
||||||
* @param tableName 结算表
|
|
||||||
* @param beforeTableName 上个月的表
|
|
||||||
* @param sourcePeriod 来源结算期
|
|
||||||
* @param period 结算结算期间
|
|
||||||
* @param assessType 考核类型 0=复购考核 1=分红考核
|
|
||||||
*/
|
|
||||||
Integer updateAssessPeriodBeginByBeforeMonth(@Param("beforeTableName") String beforeTableName, @Param("tableName") String tableName,
|
|
||||||
@Param("sourcePeriod") Integer sourcePeriod,
|
|
||||||
@Param("period") Integer period, @Param("assessType") Integer assessType);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新会员复购考核、分红考核 当月结余,根据上月复购订单
|
|
||||||
*
|
|
||||||
* @param tableName 表名
|
|
||||||
* @param period 期间
|
|
||||||
* @param assessType 考核类型
|
|
||||||
* @param startDate 开始时间
|
|
||||||
* @param endDate 结束时间
|
|
||||||
* @param orderTypeList 订单类型
|
|
||||||
*/
|
|
||||||
Integer updateAssessPeriodAddBySaOrder(@Param("tableName") String tableName, @Param("period") Integer period,
|
|
||||||
@Param("assessType") Integer assessType, @Param("startDate") Date startDate,
|
|
||||||
@Param("endDate") Date endDate, @Param("orderTypeList") List<Integer> orderTypeList);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新免考通过的考核表
|
|
||||||
* 更新会员考核表,根据免考的更新期末结余,更新结余跟其他的不一样,
|
|
||||||
* 只更新一张表,复购跟分红可以一起更新,复购或分红只需要更新一次
|
|
||||||
*
|
|
||||||
* @param tableName 表名
|
|
||||||
* @param period 期间
|
|
||||||
*/
|
|
||||||
Integer updateAssessPeriodExemptBalanceByUsed(@Param("tableName") String tableName, @Param("period") Integer period);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新考核表,更新复购考核状态为免考,首次注册、首次晋升的会员
|
|
||||||
*
|
|
||||||
* @param tableName 需要更新的会员考核表名
|
|
||||||
* @param settleTableName 每日结算表
|
|
||||||
* @param period 期间
|
|
||||||
* @param startDate 开始日期
|
|
||||||
* @param endDate 结束日期
|
|
||||||
*/
|
|
||||||
Integer updateAssessCuMemberToRepExempt(@Param("tableName") String tableName, @Param("settleTableName") String settleTableName,
|
|
||||||
@Param("period") Integer period, @Param("startDate") Date startDate, @Param("endDate") Date endDate,
|
|
||||||
@Param("startPeriod") Integer startPeriod, @Param("endPeriod") Integer endPeriod);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新考核表,更新复购考核状态为免考,首次注册、首次晋升的会员,更新结算网体
|
|
||||||
*
|
|
||||||
* @param settleTableName 每日结算表
|
|
||||||
* @param startDate 开始日期
|
|
||||||
* @param endDate 结束日期
|
|
||||||
*/
|
|
||||||
Integer updateCuMemberSettleToRepExempt(@Param("settleTableName") String settleTableName, @Param("startDate") Date startDate,
|
|
||||||
@Param("endDate") Date endDate, @Param("startPeriod") Integer startPeriod,
|
|
||||||
@Param("endPeriod") Integer endPeriod);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新考核表,更新复购考核状态为免考,首次注册、首次晋升的会员,更新结算网体
|
|
||||||
*
|
|
||||||
* @param settleTableName 每日结算表
|
|
||||||
*/
|
|
||||||
Integer updateAllCuMemberSettleToRepExempt(@Param("settleTableName") String settleTableName);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新考核通过的考核表
|
|
||||||
* 更新会员考核表,根据使用值的更新期末结余,更新结余跟其他的不一样,
|
|
||||||
* 只更新一张表,复购跟分红可以一起更新,复购或分红只需要更新一次
|
|
||||||
*
|
|
||||||
* @param tableName 表名
|
|
||||||
* @param period 期间
|
|
||||||
*/
|
|
||||||
Integer updateAssessPeriodCheckBalanceByUsed(@Param("tableName") String tableName, @Param("period") Integer period);
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 查询满足分红考核的人数,达标人数
|
|
||||||
**/
|
|
||||||
List<CuMemberAssess> queryCuMemberAssTotal(@Param("settleTable") String settleTable, @Param("period") Integer period,
|
|
||||||
@Param("pkCountry") Integer pkCountry);
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,67 +0,0 @@
|
||||||
package com.hzs.bonus.detail.mapper;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
||||||
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.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 会员信息-等级升级记录 Mapper 接口
|
|
||||||
*/
|
|
||||||
public interface CuMemberGradeMapper extends BaseMapper<CuMemberGrade> {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 回退会员等级
|
|
||||||
*/
|
|
||||||
void updateCuMemberGrade(@Param("rangeTableName") String rangeTableName, @Param("period") Integer period);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询会员最新手动升级记录,更新秒结表会员等级小于手动升级的会员等级
|
|
||||||
*/
|
|
||||||
void updateCuMemberGradeSecond(@Param("secondRangeTableName") String secondRangeTableName, @Param("period") Integer period);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询手动升级的等级
|
|
||||||
*/
|
|
||||||
List<CuMemberGrade> queryCuMemberGradeByList(@Param("period") Integer period, @Param("memberRetailRangeExtList") List<CuMemberRetailRangeExt> memberRetailRangeExtList);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询会员等级
|
|
||||||
*/
|
|
||||||
List<CuMemberLevel> queryCuMemberLevel(@Param("startDate") Date startDate, @Param("endDate") Date endDate);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 回退会员等级
|
|
||||||
*/
|
|
||||||
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);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除等级
|
|
||||||
*/
|
|
||||||
void deleteCuMemberGrade(@Param("period") Integer period);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除等级升级记录
|
|
||||||
*/
|
|
||||||
void deleteCuMemberGradeByList(@Param("cuMemberGradeList") List<CuMemberGrade> cuMemberGradeList, @Param("period") Integer period);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询自动升级的等级
|
|
||||||
*/
|
|
||||||
List<CuMemberGrade> queryCuMemberGrade(@Param("cuMemberRetailRangeExtList") List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList,
|
|
||||||
@Param("period") Integer period);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,58 +0,0 @@
|
||||||
package com.hzs.bonus.detail.mapper;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
||||||
import com.hzs.common.domain.member.detail.CuRegionAssessDetail;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 新零售会员区域考核明细表 Mapper 接口
|
|
||||||
*/
|
|
||||||
public interface CuRegionAssessDetailMapper extends BaseMapper<CuRegionAssessDetail> {
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 考核开始日期
|
|
||||||
**/
|
|
||||||
void deleteAssessRegionDetailByDate(@Param("assessStartDate") Date assessStartDate, @Param("assessPeriod") Integer assessPeriod);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 删除重复的数据
|
|
||||||
**/
|
|
||||||
void updateAssessRegionDetailByDate(@Param("assessStartDate") Date assessStartDate, @Param("assessEndDate") Date assessEndDate);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 批量生成考核明细seq
|
|
||||||
*
|
|
||||||
* @param rowNum
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
List<Long> batchQueryCuRegionAssessDetailSeq(Integer rowNum);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 批量插入区域考核数据
|
|
||||||
**/
|
|
||||||
void batchInsertCuRegionAssessDetail(@Param("cuRegionAssessDetailList") List<?> cuRegionAssessDetailList);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 根据上月数据更新考核明细数据
|
|
||||||
**/
|
|
||||||
void mergeCuRegionAssessDetailTeamPv(@Param("rangeTableName") String rangeTableName, @Param("assessDate") Date assessDate);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 根据上月数据更新考核明细数据
|
|
||||||
**/
|
|
||||||
void mergeCuRegionAssessDetailSmallAreaPv(@Param("rangeTableName") String rangeTableName, @Param("assessDate") Date assessDate);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 初始化考核,先置为考核失败
|
|
||||||
**/
|
|
||||||
void updateCuRegionAssessDetailInit(@Param("assessDate") Date assessDate);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 根据月后业绩考核,汇总满足30w,小区10w
|
|
||||||
**/
|
|
||||||
void updateCuRegionAssessDetailByPv(@Param("assessDate") Date assessDate);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,64 +0,0 @@
|
||||||
package com.hzs.bonus.detail.mapper;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
||||||
import com.hzs.bonus.param.CuRegionAssessParam;
|
|
||||||
import com.hzs.common.domain.member.detail.CuRegionAssess;
|
|
||||||
import com.hzs.common.domain.member.detail.ext.CuRegionAssessExt;
|
|
||||||
import com.hzs.common.domain.retail.member.CuMemberRetailRegion;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 新零售会员区域考核 Mapper 接口
|
|
||||||
*/
|
|
||||||
public interface CuRegionAssessMapper extends BaseMapper<CuRegionAssess> {
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 查询考核结果
|
|
||||||
**/
|
|
||||||
List<CuRegionAssessExt> queryRegionAssessByCondition(@Param("regionAssessParam") CuRegionAssessParam regionAssessParam);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 考核开始日期
|
|
||||||
**/
|
|
||||||
void deleteAssessRegionByDate(@Param("assessStartDate") Date assessStartDate, @Param("assessPeriod") Integer assessPeriod);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 考核开始日期
|
|
||||||
**/
|
|
||||||
void updateAssessRegionByDate(@Param("assessStartDate") Date assessStartDate, @Param("assessEndDate") Date assessEndDate);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 批量获取cuMemberBonus主键
|
|
||||||
*
|
|
||||||
* @param rowNum 数量
|
|
||||||
*/
|
|
||||||
List<Long> batchQueryCuRegionAssessSeq(Integer rowNum);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 批量插入区域考核数据
|
|
||||||
**/
|
|
||||||
void batchInsertCuRegionAssess(@Param("cuRegionAssessList") List<?> cuRegionAssessList);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 更新达标次数
|
|
||||||
**/
|
|
||||||
void mergeCuRegionAssess(@Param("assessDate") Date assessDate);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 查询待考核的区域
|
|
||||||
**/
|
|
||||||
List<CuMemberRetailRegion> queryCuMemberRetailRegion(@Param("startDate") Date startDate, @Param("endDate") Date endDate);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 查询到期日期是上个月的区域
|
|
||||||
**/
|
|
||||||
List<CuMemberRetailRegion> queryDueCuMemberRetailRegion(@Param("startDate") Date startDate, @Param("endDate") Date endDate);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 查询手动设置考核的近6个月考核记录
|
|
||||||
**/
|
|
||||||
List<CuRegionAssessExt> queryRegionAssessByDate(@Param("memberRetailRegionList") List<CuMemberRetailRegion> memberRetailRegionList, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
|
|
||||||
}
|
|
||||||
|
|
@ -1,46 +0,0 @@
|
||||||
package com.hzs.bonus.detail.provider;
|
|
||||||
|
|
||||||
import com.hzs.bonus.detail.ICuRegionAssessApi;
|
|
||||||
import com.hzs.bonus.detail.service.ICuRegionAssessService;
|
|
||||||
import com.hzs.common.core.domain.R;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.apache.dubbo.config.annotation.DubboService;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @Description: 新零售会员dubbo服务
|
|
||||||
* @Author: jiang chao
|
|
||||||
* @Time: 2024/12/31 13:40
|
|
||||||
* @Classname: MemberRetailProvider
|
|
||||||
* @PackageName: com.hzs.retail.member.provider
|
|
||||||
*/
|
|
||||||
@Slf4j
|
|
||||||
@DubboService
|
|
||||||
public class CuRegionAssessProvider implements ICuRegionAssessApi {
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private ICuRegionAssessService iCuRegionAssessService;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @description: 定时处理会员收益区域(处理前三天)
|
|
||||||
* @author: zhang jing
|
|
||||||
* @date: 2025/3/7 10:45
|
|
||||||
* @param: [startDate]
|
|
||||||
* @return: com.hzs.common.core.domain.R<?>
|
|
||||||
**/
|
|
||||||
@Override
|
|
||||||
public R<?> validateHandAreaAssess(Date startDate,Date endDate) {
|
|
||||||
try {
|
|
||||||
iCuRegionAssessService.validateHandAreaAssess(startDate,endDate);
|
|
||||||
return R.ok();
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.error("定时任务处理前3天收益区域异常", e);
|
|
||||||
return R.fail(e.getMessage());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -2,63 +2,10 @@ package com.hzs.bonus.detail.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.hzs.common.domain.member.detail.CuMemberAssessDetail;
|
import com.hzs.common.domain.member.detail.CuMemberAssessDetail;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberSettleExt;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
|
||||||
* 考核业绩变化明细表 服务类
|
* 考核业绩变化明细表 服务类
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-10-28
|
|
||||||
*/
|
*/
|
||||||
public interface ICuMemberAssessDetailService extends IService<CuMemberAssessDetail> {
|
public interface ICuMemberAssessDetailService extends IService<CuMemberAssessDetail> {
|
||||||
|
|
||||||
/*
|
|
||||||
* @description: 根据期间删除会员考核记录
|
|
||||||
* @author: sui q
|
|
||||||
* @date: 2023/5/25 10:52
|
|
||||||
* @param: null null
|
|
||||||
**/
|
|
||||||
void deleteCuMemberAssessDetailByPeriod(String tableName, Integer period);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @description: 每月考试将订单插入会员考核明细
|
|
||||||
* @author: sui q
|
|
||||||
* @date: 2023/5/25 11:36
|
|
||||||
* @param: null null
|
|
||||||
**/
|
|
||||||
void insertCuMemberAssesDetailByOrder(String tableName, Integer period, Date startDate, Date endDate);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 插入考核记录
|
|
||||||
* @param tableName 表名
|
|
||||||
* @param period 期间
|
|
||||||
* @param newCuMemberSettleExtList 会员列表
|
|
||||||
* @return: void
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2022/11/9 15:56
|
|
||||||
*/
|
|
||||||
void insertCuMemberAssessDetailByPeriod(String tableName, Integer period, List<CuMemberSettleExt> newCuMemberSettleExtList);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 新增或修改会员考核明细表,根据期间,重算就是修改
|
|
||||||
* @param tableName 来源表
|
|
||||||
* @param period 期间
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2022/11/8 11:21
|
|
||||||
*/
|
|
||||||
void updateCuMemberAssessDetailByPeriod(String tableName, Integer period);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除可能会发生变动的会员的考核明细
|
|
||||||
* @param revokeDetailList 变动的记录
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2022/11/9 15:31
|
|
||||||
*/
|
|
||||||
void deleteCuMemberAssessDetailByList(List<CuMemberAssessDetail> revokeDetailList);
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
package com.hzs.bonus.detail.service;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
|
||||||
import com.hzs.common.domain.member.detail.CuMemberAssessExempt;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* 考核业绩免考记录表 服务类
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-10-28
|
|
||||||
*/
|
|
||||||
public interface ICuMemberAssessExemptService extends IService<CuMemberAssessExempt> {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -3,28 +3,9 @@ package com.hzs.bonus.detail.service;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.hzs.common.domain.member.detail.CuMemberAssess;
|
import com.hzs.common.domain.member.detail.CuMemberAssess;
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员信息-会员考核记录 服务类
|
* 会员信息-会员考核记录 服务类
|
||||||
*/
|
*/
|
||||||
public interface ICuMemberAssessService extends IService<CuMemberAssess> {
|
public interface ICuMemberAssessService extends IService<CuMemberAssess> {
|
||||||
|
|
||||||
/**
|
|
||||||
* 复购考核每月第一考核调用此方法
|
|
||||||
*/
|
|
||||||
void calculationCuMemberAssess(Date currentDate);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 重算考核 奖金用、每天的重算复购考核用(复购考核、分红考核),只重算免考的
|
|
||||||
*
|
|
||||||
* @param currentDate 哪一天进行重新复购考核,拿昨天的值跟现在的值对比
|
|
||||||
*/
|
|
||||||
void retryCalculationAssess(Date currentDate, Boolean flag);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 查询满足分红考核的人数,达标人数
|
|
||||||
**/
|
|
||||||
List<CuMemberAssess> queryCuMemberAssTotal(String startDate, Integer pkCountry);
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,63 +0,0 @@
|
||||||
package com.hzs.bonus.detail.service;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
|
||||||
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 java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 会员信息-等级升级记录 服务类
|
|
||||||
*/
|
|
||||||
public interface ICuMemberGradeService extends IService<CuMemberGrade> {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 回退极差奖衔,每日重新结算,先把奖衔回退到前一天
|
|
||||||
*
|
|
||||||
* @param period 结算期间
|
|
||||||
* @param rangeTableName 结算表
|
|
||||||
*/
|
|
||||||
List<CuMemberLevel> calculateCuMemberRetailGradeInit(Integer period, Date startDate, Date endDate, String rangeTableName);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询会员最新手动升级记录,更新秒结表会员等级小于手动升级的会员等级
|
|
||||||
*/
|
|
||||||
void updateCuMemberGradeSecond(String secondRangeTableName, Integer period);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询手动升级的等级
|
|
||||||
*/
|
|
||||||
List<CuMemberGrade> queryCuMemberGradeByList(Integer period, List<CuMemberRetailRangeExt> memberRetailRangeExtList);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 回退会员等级
|
|
||||||
*/
|
|
||||||
void updateCuMemberGrade(String rangeTableName, Long pkOrder);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询订单升级记录
|
|
||||||
*
|
|
||||||
* @param pkMember
|
|
||||||
* @param pkOrder
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
CuMemberRetailRangeExt getMemberLevel(Long pkMember, Long pkOrder);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 插入会员等级升级记录
|
|
||||||
*/
|
|
||||||
void insertCuMemberGrade(List<CuMemberGrade> cuMemberGradeList);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除等级升级记录
|
|
||||||
*/
|
|
||||||
void deleteCuMemberGrade(List<CuMemberGrade> cuMemberGradeList, Integer period);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询自动升级的等级
|
|
||||||
*/
|
|
||||||
List<CuMemberGrade> queryCuMemberGrade(List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList, Integer period);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
package com.hzs.bonus.detail.service;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
|
||||||
import com.hzs.common.domain.member.detail.CuRegionAssessDetail;
|
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 新零售会员区域考核明细表 服务类
|
|
||||||
*/
|
|
||||||
public interface ICuRegionAssessDetailService extends IService<CuRegionAssessDetail> {
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 考核开始日期
|
|
||||||
**/
|
|
||||||
void deleteAssessRegionDetailByDate(Date assessStartDate, Integer assessPeriod);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 删除重复的数据
|
|
||||||
**/
|
|
||||||
void updateAssessRegionDetailByDate(Date assessStartDate, Date assessEndDate);
|
|
||||||
|
|
||||||
List<Long> batchQueryCuRegionAssessDetailSeq(Integer rowNum);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 批量插入区域考核数据
|
|
||||||
**/
|
|
||||||
void batchInsertCuRegionAssessDetail(List<?> cuRegionAssessDetailList);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 根据上月数据考核区域
|
|
||||||
**/
|
|
||||||
void assessCuRegionAssessDetail(String rangeTableName, Date assessDate);
|
|
||||||
}
|
|
||||||
|
|
@ -1,40 +0,0 @@
|
||||||
package com.hzs.bonus.detail.service;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
|
||||||
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 java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 新零售会员区域考核 服务类
|
|
||||||
*/
|
|
||||||
public interface ICuRegionAssessService extends IService<CuRegionAssess> {
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 每月考核区域是否达标
|
|
||||||
**/
|
|
||||||
void assessRegionByEveryMonth(String settleDate, String rangeTableName);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 定时处理会员收益区域(处理前三天)
|
|
||||||
*
|
|
||||||
* @return: void
|
|
||||||
**/
|
|
||||||
void validateHandAreaAssess(Date startDate, Date endDate);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 考核开始日期
|
|
||||||
**/
|
|
||||||
void deleteAssessRegionByDate(Date assessStartDate, Integer assessPeriod);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 查询考核结果
|
|
||||||
**/
|
|
||||||
List<CuRegionAssessExt> queryRegionAssessByCondition(CuRegionAssessParam regionAssessParam);
|
|
||||||
|
|
||||||
List<CuRegionAssessVO> getCuRegionAssessVoS(List<CuRegionAssessExt> cuRegionAssessExtList);
|
|
||||||
}
|
|
||||||
|
|
@ -1,79 +1,14 @@
|
||||||
package com.hzs.bonus.detail.service.impl;
|
package com.hzs.bonus.detail.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.hzs.bonus.achieve.service.impl.CuMemberBonusSettle;
|
|
||||||
import com.hzs.bonus.detail.service.ICuMemberAssessDetailService;
|
import com.hzs.bonus.detail.service.ICuMemberAssessDetailService;
|
||||||
import com.hzs.common.core.constant.MagicNumberConstants;
|
|
||||||
import com.hzs.common.core.enums.EAssessmentType;
|
|
||||||
import com.hzs.common.domain.member.detail.CuMemberAssessDetail;
|
import com.hzs.common.domain.member.detail.CuMemberAssessDetail;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberSettleExt;
|
|
||||||
import com.hzs.bonus.detail.mapper.CuMemberAssessDetailMapper;
|
import com.hzs.bonus.detail.mapper.CuMemberAssessDetailMapper;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
|
||||||
* 考核业绩变化明细表 服务实现类
|
* 考核业绩变化明细表 服务实现类
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-10-28
|
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class CuMemberAssessDetailServiceImpl extends ServiceImpl<CuMemberAssessDetailMapper, CuMemberAssessDetail> implements ICuMemberAssessDetailService {
|
public class CuMemberAssessDetailServiceImpl extends ServiceImpl<CuMemberAssessDetailMapper, CuMemberAssessDetail> implements ICuMemberAssessDetailService {
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private CuMemberBonusSettle cuMemberBonusSettle;
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void deleteCuMemberAssessDetailByPeriod(String tableName, Integer period) {
|
|
||||||
baseMapper.deleteCuMemberAssessDetailByPeriod(tableName, period);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void insertCuMemberAssesDetailByOrder(String tableName, Integer period, Date startDate, Date endDate) {
|
|
||||||
baseMapper.insertCuMemberAssesDetailByOrder(tableName, period, startDate, endDate);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void insertCuMemberAssessDetailByPeriod(String tableName, Integer period, List<CuMemberSettleExt> newCuMemberSettleExtList) {
|
|
||||||
List<CuMemberSettleExt> purchaseMemberList = new ArrayList<>();
|
|
||||||
List<CuMemberSettleExt> shareMemberList = new ArrayList<>();
|
|
||||||
newCuMemberSettleExtList.forEach(cuMemberSettleExt -> {
|
|
||||||
if (EAssessmentType.REPURCHASE_ASSESS.getValue() == cuMemberSettleExt.getAssessType()) {
|
|
||||||
purchaseMemberList.add(cuMemberSettleExt);
|
|
||||||
} else {
|
|
||||||
shareMemberList.add(cuMemberSettleExt);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
if (purchaseMemberList.size() > 0) {
|
|
||||||
List<List<?>> purchaseHandleCutList = cuMemberBonusSettle.handleCutList(purchaseMemberList);
|
|
||||||
purchaseHandleCutList.forEach(cuMemberBonusSettleList ->
|
|
||||||
baseMapper.insertCuMemberAssessDetailByPeriod(tableName, period, cuMemberBonusSettleList, EAssessmentType.REPURCHASE_ASSESS.getValue()) );
|
|
||||||
}
|
|
||||||
if (shareMemberList.size() > 0) {
|
|
||||||
List<List<?>> shareHandleCutList = cuMemberBonusSettle.handleCutList(shareMemberList);
|
|
||||||
shareHandleCutList.forEach(cuMemberBonusSettleList ->
|
|
||||||
baseMapper.insertCuMemberAssessDetailByPeriod(tableName, period, cuMemberBonusSettleList, EAssessmentType.SHARE_ASSESS.getValue()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void updateCuMemberAssessDetailByPeriod(String tableName, Integer period) {
|
|
||||||
baseMapper.updateCuMemberAssessDetailByPeriod(tableName, period);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void deleteCuMemberAssessDetailByList(List<CuMemberAssessDetail> revokeDetailList) {
|
|
||||||
List<List<?>> handleCutList = cuMemberBonusSettle.handleCutList(revokeDetailList,
|
|
||||||
MagicNumberConstants.BATCH_UPDATE_NUM);
|
|
||||||
handleCutList.forEach(list -> {
|
|
||||||
baseMapper.updateCuMemberAssessDetailByRevoke(list);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
package com.hzs.bonus.detail.service.impl;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
||||||
import com.hzs.bonus.detail.service.ICuMemberAssessExemptService;
|
|
||||||
import com.hzs.common.domain.member.detail.CuMemberAssessExempt;
|
|
||||||
import com.hzs.bonus.detail.mapper.CuMemberAssessExemptMapper;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* 考核业绩免考记录表 服务实现类
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-10-28
|
|
||||||
*/
|
|
||||||
@Service
|
|
||||||
public class CuMemberAssessExemptServiceImpl extends ServiceImpl<CuMemberAssessExemptMapper, CuMemberAssessExempt> implements ICuMemberAssessExemptService {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,21 +1,10 @@
|
||||||
package com.hzs.bonus.detail.service.impl;
|
package com.hzs.bonus.detail.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService;
|
|
||||||
import com.hzs.bonus.detail.service.ICuMemberAssessDetailService;
|
|
||||||
import com.hzs.bonus.detail.service.ICuMemberAssessService;
|
import com.hzs.bonus.detail.service.ICuMemberAssessService;
|
||||||
import com.hzs.common.core.constant.TableNameConstants;
|
|
||||||
import com.hzs.common.core.enums.*;
|
|
||||||
import com.hzs.common.core.utils.DateUtils;
|
|
||||||
import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod;
|
|
||||||
import com.hzs.common.domain.member.detail.CuMemberAssess;
|
import com.hzs.common.domain.member.detail.CuMemberAssess;
|
||||||
import com.hzs.bonus.detail.mapper.CuMemberAssessMapper;
|
import com.hzs.bonus.detail.mapper.CuMemberAssessMapper;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import java.time.temporal.ChronoUnit;
|
|
||||||
import java.util.*;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员信息-会员考核记录 服务实现类
|
* 会员信息-会员考核记录 服务实现类
|
||||||
|
|
@ -23,164 +12,4 @@ import java.util.*;
|
||||||
@Service
|
@Service
|
||||||
public class CuMemberAssessServiceImpl extends ServiceImpl<CuMemberAssessMapper, CuMemberAssess> implements ICuMemberAssessService {
|
public class CuMemberAssessServiceImpl extends ServiceImpl<CuMemberAssessMapper, CuMemberAssess> implements ICuMemberAssessService {
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private ICuMemberSettlePeriodService iCuMemberSettlePeriodService;
|
|
||||||
@Autowired
|
|
||||||
private ICuMemberAssessDetailService iCuMemberAssessDetailService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 复购考核每月第一次考核调用此方法
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
|
||||||
public void calculationCuMemberAssess(Date currentDate) {
|
|
||||||
// 查询当前时间的第一天跟最后一天
|
|
||||||
// 需要验证考核国家是否有复购考核 分红考核
|
|
||||||
// 考核日期不能跨越考核,只能当月考核,当月考核上月
|
|
||||||
if (DateUtils.currentDay(currentDate) == 1) {
|
|
||||||
String currentMonthFirstDate = DateUtils.currentMonthFirstDateStr(currentDate);
|
|
||||||
Integer currentPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(currentMonthFirstDate).getPkId();
|
|
||||||
String currentTableName = TableNameConstants.CU_MEMBER_ASSESS + DateUtils.getYear(currentMonthFirstDate);
|
|
||||||
// 清空数据 根据期数清空cu_member_assess cu_member_assess_detail表数据
|
|
||||||
initCurrentAssess(currentDate, currentTableName, currentPeriod);
|
|
||||||
// 初始化复购考核的上月结余
|
|
||||||
initCurrentAssessByBeforeMonth(currentDate, currentTableName, currentPeriod, EAssessmentType.REPURCHASE_ASSESS.getValue());
|
|
||||||
// 初始化分红考核的上月结余
|
|
||||||
// initCurrentAssessByBeforeMonth(currentDate, currentTableName, currentPeriod, EAssessmentType.SHARE_ASSESS.getValue());
|
|
||||||
// 更新当月结余 结余会同时更新复购跟分红,只需要更新一次
|
|
||||||
// 1 有免考状态的 本月使用是 0,考核状态是免考通过,免考将所有的值更改一下期末 期末= 期初+本月
|
|
||||||
// 注意 不修改考核状态为通过的值,可能存在之前考核通过,又手动免考的人
|
|
||||||
baseMapper.updateAssessPeriodExemptBalanceByUsed(currentTableName, currentPeriod);
|
|
||||||
// 2 需要扣除通过的,需要记录流水
|
|
||||||
// 记录流水,新增或修改
|
|
||||||
iCuMemberAssessDetailService.updateCuMemberAssessDetailByPeriod(currentTableName, currentPeriod);
|
|
||||||
baseMapper.updateAssessPeriodCheckBalanceByUsed(currentTableName, currentPeriod);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 奖金计算时重算考核 (复购考核、分红考核),只重算免考的、撤单的
|
|
||||||
*
|
|
||||||
* @param currentDate 考核时间
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
|
||||||
public void retryCalculationAssess(Date currentDate, Boolean flag) {
|
|
||||||
// String beforeDateStr = DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, currentDate);
|
|
||||||
// Integer beforePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeDateStr).getPkId();
|
|
||||||
Integer currentPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, currentDate)).getPkId();
|
|
||||||
// String beforeTableName = TableNameConstants.CU_MEMBER_SETTLE + beforePeriod;
|
|
||||||
//// a)更新结算表会员前2部分会员免考状态 满足首次注册的会员 满足满足首次升级的会员
|
|
||||||
// String tableName = TableNameConstants.CU_MEMBER_ASSESS + DateUtils.currentYear(currentDate);
|
|
||||||
// String currentMonthFirstDateStr = DateUtils.currentMonthFirstDateStr(currentDate);
|
|
||||||
// Integer monthFirstPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(currentMonthFirstDateStr).getPkId();
|
|
||||||
// // 结算日期月份的第一天
|
|
||||||
Date startDate = DateUtils.beforeMonthFirstDate(currentDate);
|
|
||||||
// // 结算日期后一天
|
|
||||||
Date endDate = DateUtils.afterDate(1, ChronoUnit.DAYS, DateUtils.currentMonthLastDate(currentDate));
|
|
||||||
String settleTableName = TableNameConstants.CU_MEMBER_SETTLE + currentPeriod;
|
|
||||||
// // 首次晋升、首次升级都是当月加下月考核,查询出上月1号到考核日期的值,
|
|
||||||
// // 等级看会员表支付时间,奖衔看奖衔变更表是否免考(分组取),手动免考查看 最新的结算表手动考核
|
|
||||||
//// d)前一天不免考,后一天免考,需要做重新考核,直接变考核通过,原来考核通过的不回退考核金额,且考核状态为考核通过,不是免考通过
|
|
||||||
// // 所有的海粉会员设置复购考核失败,存在任意订单的海粉会员复购考核成功
|
|
||||||
// // 复购免考通过
|
|
||||||
Integer startPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD, startDate)).getPkId();
|
|
||||||
Integer endPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD, endDate)).getPkId();
|
|
||||||
// baseMapper.updateAssessCuMemberToRepExempt(tableName, settleTableName, monthFirstPeriod, startDate, endDate, startPeriod, endPeriod);
|
|
||||||
// // 奖金重算时更新结算表,flag=true代表奖金重算时,重算考核需要更新网体 flag=false 代表重算考核
|
|
||||||
if (flag) {
|
|
||||||
// 2024-09-09 所有人全部免考通过,之后的当月免考通过
|
|
||||||
if (DateUtils.compareDateBefore(currentDate, DateUtils.parseStringToDate("2024-10-01"))) {
|
|
||||||
baseMapper.updateAllCuMemberSettleToRepExempt(settleTableName);
|
|
||||||
} else {
|
|
||||||
baseMapper.updateCuMemberSettleToRepExempt(settleTableName, startDate, endDate, startPeriod, endPeriod);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void initCurrentAssess(Date currentDate, String currentTableName, Integer currentPeriod) {
|
|
||||||
// 获取上月最后一天
|
|
||||||
String beforeLastDate = DateUtils.beforeMonthLastDateStr(currentDate);
|
|
||||||
CuMemberSettlePeriod cuMemberSettlePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeLastDate);
|
|
||||||
int period = cuMemberSettlePeriod.getPkId();
|
|
||||||
String sourceTable = TableNameConstants.CU_MEMBER_SETTLE + period;
|
|
||||||
String rangeSourceTable = TableNameConstants.CU_MEMBER_RANGE + period;
|
|
||||||
// 清空子表、主表数据
|
|
||||||
iCuMemberAssessDetailService.deleteCuMemberAssessDetailByPeriod(currentTableName, currentPeriod);
|
|
||||||
baseMapper.deleteCuMemberAssessByPeriod(currentTableName, currentPeriod);
|
|
||||||
// 初始化复购考核
|
|
||||||
String month = DateUtils.getMonth(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, currentDate));
|
|
||||||
// 结算日期后一天
|
|
||||||
baseMapper.insertRepCuMemberAssess(currentTableName, sourceTable, currentPeriod, month);
|
|
||||||
baseMapper.insertRepCuMemberRangeAssess(currentTableName, rangeSourceTable, currentPeriod, month);
|
|
||||||
// 初始化分红考核
|
|
||||||
// baseMapper.insertShareCuMemberAssess(currentTableName, sourceTable, currentPeriod, month);
|
|
||||||
|
|
||||||
// a)更新结算表会员前2部分会员免考状态 满足首次注册的会员 满足满足首次升级的会员
|
|
||||||
String tableName = TableNameConstants.CU_MEMBER_ASSESS + DateUtils.currentYear(currentDate);
|
|
||||||
String currentMonthFirstDateStr = DateUtils.currentMonthFirstDateStr(currentDate);
|
|
||||||
Integer monthFirstPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(currentMonthFirstDateStr).getPkId();
|
|
||||||
// 结算日期月份的第一天
|
|
||||||
Date startDate = DateUtils.beforeMonthFirstDate(currentDate);
|
|
||||||
// 结算日期后一天
|
|
||||||
Date endDate = DateUtils.afterDate(1, ChronoUnit.DAYS, DateUtils.currentMonthLastDate(currentDate));
|
|
||||||
String settleTableName = TableNameConstants.CU_MEMBER_SETTLE + currentPeriod;
|
|
||||||
if (DateUtils.currentDay(DateUtils.currentDate()) == 1) {
|
|
||||||
String currentMonthFirstDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS, currentDate));
|
|
||||||
Integer yesterdayPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(currentMonthFirstDate).getPkId();
|
|
||||||
settleTableName = TableNameConstants.CU_MEMBER_SETTLE + yesterdayPeriod;
|
|
||||||
}
|
|
||||||
// 首次晋升、首次升级都是当月加下月考核,查询出上月1号到考核日期的值,
|
|
||||||
// 等级看会员表支付时间,奖衔看奖衔变更表是否免考(分组取),手动免考查看 最新的结算表手动考核
|
|
||||||
// d)前一天不免考,后一天免考,需要做重新考核,直接变考核通过,原来考核通过的不回退考核金额,且考核状态为考核通过,不是免考通过
|
|
||||||
// 复购免考通过
|
|
||||||
Integer startPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD, startDate)).getPkId();
|
|
||||||
Integer endPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD, endDate)).getPkId();
|
|
||||||
baseMapper.updateAssessCuMemberToRepExempt(tableName, settleTableName, monthFirstPeriod, startDate, endDate, startPeriod, endPeriod);
|
|
||||||
|
|
||||||
// 初始化订单数据,将当月新增加入数据库
|
|
||||||
// 上月第一天,上月最后一天
|
|
||||||
Date beforeFirstDate = DateUtils.beforeMonthFirstDate(currentDate);
|
|
||||||
Date currentFirstDate = DateUtils.currentMonthFirstDate(currentDate);
|
|
||||||
iCuMemberAssessDetailService.insertCuMemberAssesDetailByOrder(currentTableName, currentPeriod, beforeFirstDate, currentFirstDate);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 初始化期初数据,将上月结余作为本月期初,更新当月新增
|
|
||||||
*
|
|
||||||
* @param currentDate 结算日期
|
|
||||||
* @param currentTableName 当前月结算表
|
|
||||||
* @param currentPeriod 当前结算期间
|
|
||||||
* @param assessmentType 考核类型 0=复购考核 1=分红考核
|
|
||||||
*/
|
|
||||||
private void initCurrentAssessByBeforeMonth(Date currentDate, String currentTableName, Integer currentPeriod, Integer assessmentType) {
|
|
||||||
List<Integer> orderTypeList = new ArrayList<>();
|
|
||||||
if (EAssessmentType.REPURCHASE_ASSESS.getValue() == assessmentType) {
|
|
||||||
orderTypeList.add(EOrderType.REPURCHASE_ORDER.getValue());
|
|
||||||
orderTypeList.add(EOrderType.MALL_ORDER.getValue());
|
|
||||||
orderTypeList.add(EOrderType.COOPERATE_ORDER.getValue());
|
|
||||||
} else {
|
|
||||||
orderTypeList.add(EOrderType.WELFARE_ORDER.getValue());
|
|
||||||
}
|
|
||||||
// 更新考核值,期初是上月考核表的当月剩余业绩
|
|
||||||
// 获取结算日月初第一天,获取期间
|
|
||||||
// 获取结算日上月最后一天,获取期间
|
|
||||||
Date beforeMonthFirstDate = DateUtils.beforeMonthFirstDate(currentDate);
|
|
||||||
String beforeMonthFirstDateStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, beforeMonthFirstDate);
|
|
||||||
Integer beforePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeMonthFirstDateStr).getPkId();
|
|
||||||
String beforeTableName = TableNameConstants.CU_MEMBER_ASSESS + DateUtils.getYear(beforeMonthFirstDateStr);
|
|
||||||
Date currentMonthFirstDate = DateUtils.currentMonthFirstDate(currentDate);
|
|
||||||
// 初始化复购考核的上月结余 // 更新当月结余
|
|
||||||
baseMapper.updateAssessPeriodBeginByBeforeMonth(beforeTableName, currentTableName, beforePeriod, currentPeriod, assessmentType);
|
|
||||||
// 更新当月新增
|
|
||||||
baseMapper.updateAssessPeriodAddBySaOrder(currentTableName, currentPeriod, assessmentType,
|
|
||||||
beforeMonthFirstDate, currentMonthFirstDate, orderTypeList);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<CuMemberAssess> queryCuMemberAssTotal(String startDate, Integer pkCountry) {
|
|
||||||
int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(startDate).getPkId();
|
|
||||||
String tableTable = TableNameConstants.CU_MEMBER_ASSESS + DateUtils.getYear(startDate);
|
|
||||||
return baseMapper.queryCuMemberAssTotal(tableTable, period, pkCountry);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,62 +0,0 @@
|
||||||
package com.hzs.bonus.detail.service.impl;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
||||||
import com.hzs.bonus.detail.mapper.CuMemberGradeMapper;
|
|
||||||
import com.hzs.bonus.detail.service.ICuMemberGradeService;
|
|
||||||
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 java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 会员信息-等级升级记录 服务实现类
|
|
||||||
*/
|
|
||||||
@Service
|
|
||||||
public class CuMemberGradeServiceImpl extends ServiceImpl<CuMemberGradeMapper, CuMemberGrade> implements ICuMemberGradeService {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<CuMemberLevel> calculateCuMemberRetailGradeInit(Integer period, Date startDate, Date endDate, String rangeTableName) {
|
|
||||||
// 更新奖衔,回退等级
|
|
||||||
baseMapper.deleteCuMemberGrade(period);
|
|
||||||
baseMapper.updateCuMemberGrade(rangeTableName, period);
|
|
||||||
return baseMapper.queryCuMemberLevel(startDate, endDate);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void updateCuMemberGradeSecond(String secondRangeTableName, Integer period) {
|
|
||||||
baseMapper.updateCuMemberGradeSecond(secondRangeTableName, period);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<CuMemberGrade> queryCuMemberGradeByList(Integer period, List<CuMemberRetailRangeExt> memberRetailRangeExtList) {
|
|
||||||
return baseMapper.queryCuMemberGradeByList(period, memberRetailRangeExtList);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void updateCuMemberGrade(String rangeTableName, Long pkOrder) {
|
|
||||||
baseMapper.updateCuMemberGradeLevel(rangeTableName, pkOrder);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public CuMemberRetailRangeExt getMemberLevel(Long pkMember, Long pkOrder) {
|
|
||||||
return baseMapper.getMemberLevel(pkMember, pkOrder);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void insertCuMemberGrade(List<CuMemberGrade> cuMemberGradeList) {
|
|
||||||
saveBatch(cuMemberGradeList);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void deleteCuMemberGrade(List<CuMemberGrade> cuMemberGradeList, Integer period) {
|
|
||||||
baseMapper.deleteCuMemberGradeByList(cuMemberGradeList, period);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<CuMemberGrade> queryCuMemberGrade(List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList, Integer period) {
|
|
||||||
return baseMapper.queryCuMemberGrade(cuMemberRetailRangeExtList, period);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,49 +0,0 @@
|
||||||
package com.hzs.bonus.detail.service.impl;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
||||||
import com.hzs.bonus.detail.mapper.CuRegionAssessDetailMapper;
|
|
||||||
import com.hzs.bonus.detail.service.ICuRegionAssessDetailService;
|
|
||||||
import com.hzs.common.domain.member.detail.CuRegionAssessDetail;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 新零售会员区域考核明细表 服务实现类
|
|
||||||
*/
|
|
||||||
@Service
|
|
||||||
public class CuRegionAssessDetailServiceImpl extends ServiceImpl<CuRegionAssessDetailMapper, CuRegionAssessDetail> implements ICuRegionAssessDetailService {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void deleteAssessRegionDetailByDate(Date assessStartDate, Integer assessPeriod) {
|
|
||||||
baseMapper.deleteAssessRegionDetailByDate(assessStartDate, assessPeriod);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void updateAssessRegionDetailByDate(Date assessStartDate, Date assessEndDate) {
|
|
||||||
baseMapper.updateAssessRegionDetailByDate(assessStartDate, assessEndDate);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<Long> batchQueryCuRegionAssessDetailSeq(Integer rowNum) {
|
|
||||||
return baseMapper.batchQueryCuRegionAssessDetailSeq(rowNum);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void batchInsertCuRegionAssessDetail(List<?> cuRegionAssessDetailList) {
|
|
||||||
baseMapper.batchInsertCuRegionAssessDetail(cuRegionAssessDetailList);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void assessCuRegionAssessDetail(String rangeTableName, Date assessDate) {
|
|
||||||
// 处理考核明细的汇总值
|
|
||||||
baseMapper.mergeCuRegionAssessDetailTeamPv(rangeTableName, assessDate);
|
|
||||||
// 处理考核明细的小区
|
|
||||||
baseMapper.mergeCuRegionAssessDetailSmallAreaPv(rangeTableName, assessDate);
|
|
||||||
// 所有考核先变为考核失败
|
|
||||||
baseMapper.updateCuRegionAssessDetailInit(assessDate);
|
|
||||||
// 验证汇总业绩和小区业绩是否满足条件,汇总业绩满足30000,小区满足100000,变更为考核通过
|
|
||||||
baseMapper.updateCuRegionAssessDetailByPv(assessDate);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,274 +0,0 @@
|
||||||
package com.hzs.bonus.detail.service.impl;
|
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
||||||
import com.hzs.bonus.achieve.service.impl.CuMemberBonusSettle;
|
|
||||||
import com.hzs.bonus.detail.mapper.CuRegionAssessMapper;
|
|
||||||
import com.hzs.bonus.detail.service.ICuRegionAssessDetailService;
|
|
||||||
import com.hzs.bonus.detail.service.ICuRegionAssessService;
|
|
||||||
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.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;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import java.time.temporal.ChronoUnit;
|
|
||||||
import java.util.*;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 新零售会员区域考核 服务实现类
|
|
||||||
*/
|
|
||||||
@Slf4j
|
|
||||||
@Service
|
|
||||||
public class CuRegionAssessServiceImpl extends ServiceImpl<CuRegionAssessMapper, CuRegionAssess> implements ICuRegionAssessService {
|
|
||||||
|
|
||||||
@DubboReference
|
|
||||||
IMemberRetailApi iMemberRetailApi;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private ICuRegionAssessDetailService iCuRegionAssessDetailService;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private CuMemberBonusSettle cuMemberBonusSettle;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
|
||||||
public void assessRegionByEveryMonth(String settleDate, String rangeTableName) {
|
|
||||||
// 每月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);
|
|
||||||
|
|
||||||
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) {
|
|
||||||
|
|
||||||
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();
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
iCuRegionAssessDetailService.assessCuRegionAssessDetail(rangeTableName, assessDate);
|
|
||||||
baseMapper.mergeCuRegionAssess(assessDate);
|
|
||||||
|
|
||||||
// 取消区域列表
|
|
||||||
List<Long> cancelRegionList = new ArrayList<>();
|
|
||||||
// 开始考核,将 上月最后一天,奖衔、业绩同步到考核表中
|
|
||||||
// 查询主表考核结束日期=考核日期的,这部分需要生成下6期,最后一期结算完,验证是否达标,达标后继续生成下一期,不达标取消区域
|
|
||||||
// 查询考核结束日期次数不达标的区域,进行区域取消处理
|
|
||||||
List<CuRegionAssess> cuRegionAssessList = queryCuRegionAssessByEndDate(assessDate);
|
|
||||||
Map<Long, CuRegionAssess> regionAssessMap = new HashMap<>();
|
|
||||||
List<CuRegionAssessDetail> regionAssessDetailList = new ArrayList<>();
|
|
||||||
for (CuRegionAssess cuRegionAssess : cuRegionAssessList) {
|
|
||||||
if (cuRegionAssess.getReachNum() < 3) {
|
|
||||||
cancelRegionList.add(cuRegionAssess.getPkRegion());
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
Date nextAssessDate = DateUtils.afterMonthDate(1, assessDate);
|
|
||||||
deleteAssessRegionByDate(nextAssessDate, 2);
|
|
||||||
CuRegionAssess cuRegionAssess1 = CuRegionAssess.builder()
|
|
||||||
.pkMember(cuRegionAssess.getPkMember())
|
|
||||||
.pkRegion(cuRegionAssess.getPkRegion())
|
|
||||||
.assessPeriod(cuRegionAssess.getAssessPeriod() + 1)
|
|
||||||
.assessStartDate(DateUtils.currentMonthFirstDate(nextAssessDate))
|
|
||||||
.assessEndDate(DateUtils.currentMonthFirstDate(DateUtils.afterMonthDate(5, nextAssessDate)))
|
|
||||||
.source(cuRegionAssess.getSource())
|
|
||||||
.build();
|
|
||||||
cuRegionAssess1.setPkCountry(cuRegionAssess.getPkCountry());
|
|
||||||
cuRegionAssess1.setPkCreator(MagicNumberConstants.PK_ADMIN);
|
|
||||||
regionAssessMap.put(cuRegionAssess1.getPkMember(), cuRegionAssess1);
|
|
||||||
// 保存明细
|
|
||||||
for (int i = 0; i < 6; i++) {
|
|
||||||
CuRegionAssessDetail cuRegionAssessDetail = CuRegionAssessDetail.builder()
|
|
||||||
.pkRegionAssess(cuRegionAssess.getPkMember())
|
|
||||||
.assessDate(DateUtils.afterMonthDate(i, cuRegionAssess1.getAssessStartDate()))
|
|
||||||
.pkMember(cuRegionAssess.getPkMember())
|
|
||||||
.build();
|
|
||||||
cuRegionAssessDetail.setPkCreator(MagicNumberConstants.PK_ADMIN);
|
|
||||||
cuRegionAssessDetail.setPkCountry(cuRegionAssess.getPkCountry());
|
|
||||||
regionAssessDetailList.add(cuRegionAssessDetail);
|
|
||||||
}
|
|
||||||
saveCuRegionAssess(regionAssessMap, regionAssessDetailList);
|
|
||||||
}
|
|
||||||
// 查询到期日期的区域,验证近6个月的达标次数,不达标取消
|
|
||||||
// validateHandAreaAssess(assessDate, startDate, cancelRegionList);
|
|
||||||
if (cancelRegionList.size() > 0) {
|
|
||||||
if (!iMemberRetailApi.cancelRegion(cancelRegionList).isSuccess()) {
|
|
||||||
throw new RuntimeException("区域更新失败");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void validateHandAreaAssess(Date startDate, Date endDate) {
|
|
||||||
List<Long> cancelRegionList = new ArrayList<>();
|
|
||||||
List<CuMemberRetailRegion> dueRetailRegionList = baseMapper.queryDueCuMemberRetailRegion(startDate, endDate);
|
|
||||||
if (dueRetailRegionList.size() > 0) {
|
|
||||||
Date assessDate = DateUtils.currentMonthFirstDate(startDate);
|
|
||||||
// 查询期初日期 beforeMonthFirstDate startDate 考核期间结束日期
|
|
||||||
Date assMonthStartDate = DateUtils.beforeMonthFirstDate(5, assessDate);
|
|
||||||
// assessDate assessDate 查询考核记录
|
|
||||||
Map<Long, CuRegionAssessExt> regionAssessExtMap = new HashMap<>();
|
|
||||||
List<CuRegionAssessExt> cuRegionAssessExtList = baseMapper.queryRegionAssessByDate(dueRetailRegionList, assMonthStartDate, assessDate);
|
|
||||||
cuRegionAssessExtList.forEach(cuRegionAssessExt -> regionAssessExtMap.put(cuRegionAssessExt.getPkMember(), cuRegionAssessExt));
|
|
||||||
for (CuMemberRetailRegion cuMemberRetailRegion : dueRetailRegionList) {
|
|
||||||
if (regionAssessExtMap.containsKey(cuMemberRetailRegion.getPkMember())) {
|
|
||||||
CuRegionAssessExt cuRegionAssessExt = regionAssessExtMap.get(cuMemberRetailRegion.getPkMember());
|
|
||||||
if (cuRegionAssessExt.getPkId() >= 3) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
cancelRegionList.add(cuMemberRetailRegion.getPkId());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (cancelRegionList.size() > 0) {
|
|
||||||
if (!iMemberRetailApi.cancelRegion(cancelRegionList).isSuccess()) {
|
|
||||||
throw new RuntimeException("区域更新失败");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void saveCuRegionAssess(Map<Long, CuRegionAssess> regionAssessMap, List<CuRegionAssessDetail> regionAssessDetailList) {
|
|
||||||
List<Long> longs = baseMapper.batchQueryCuRegionAssessSeq(regionAssessMap.size());
|
|
||||||
int i = 0;
|
|
||||||
List<CuRegionAssess> cuRegionAssessList = new ArrayList<>();
|
|
||||||
for (Long pkMember : regionAssessMap.keySet()) {
|
|
||||||
CuRegionAssess cuRegionAssess = regionAssessMap.get(pkMember);
|
|
||||||
cuRegionAssess.setPkId(longs.get(i));
|
|
||||||
cuRegionAssessList.add(cuRegionAssess);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
for (CuRegionAssessDetail cuRegionAssessDetail : regionAssessDetailList) {
|
|
||||||
if (regionAssessMap.containsKey(cuRegionAssessDetail.getPkRegionAssess())) {
|
|
||||||
CuRegionAssess cuRegionAssess = regionAssessMap.get(cuRegionAssessDetail.getPkRegionAssess());
|
|
||||||
cuRegionAssessDetail.setPkRegionAssess(cuRegionAssess.getPkId());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 主表
|
|
||||||
List<List<?>> lists = cuMemberBonusSettle.handleCutList(cuRegionAssessList);
|
|
||||||
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 -> iCuRegionAssessDetailService.batchInsertCuRegionAssessDetail(detail));
|
|
||||||
}
|
|
||||||
|
|
||||||
List<CuRegionAssess> queryCuRegionAssessByEndDate(Date settleDate) {
|
|
||||||
LambdaQueryWrapper<CuRegionAssess> queryWrapper = new LambdaQueryWrapper<>();
|
|
||||||
queryWrapper.eq(CuRegionAssess::getAssessEndDate, settleDate);
|
|
||||||
return baseMapper.selectList(queryWrapper);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
|
||||||
public void deleteAssessRegionByDate(Date assessStartDate, Integer assessPeriod) {
|
|
||||||
// 7天内重算
|
|
||||||
iCuRegionAssessDetailService.deleteAssessRegionDetailByDate(assessStartDate, assessPeriod);
|
|
||||||
baseMapper.deleteAssessRegionByDate(assessStartDate, assessPeriod);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<CuRegionAssessExt> queryRegionAssessByCondition(CuRegionAssessParam regionAssessParam) {
|
|
||||||
regionAssessParam.setAssessDate(DateUtils.currentMonthFirstDate());
|
|
||||||
return baseMapper.queryRegionAssessByCondition(regionAssessParam);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<CuRegionAssessVO> getCuRegionAssessVoS(List<CuRegionAssessExt> cuRegionAssessExtList) {
|
|
||||||
List<CuRegionAssessVO> cuRegionAssessVoList = new ArrayList<>();
|
|
||||||
for (CuRegionAssessExt cuRegionAssessExt : cuRegionAssessExtList) {
|
|
||||||
CuRegionAssessVO cuRegionAssessVO = BeanUtil.copyProperties(cuRegionAssessExt, CuRegionAssessVO.class);
|
|
||||||
List<CuRegionAssessDetailVO> regionAssessDetailVoList = new ArrayList<>();
|
|
||||||
for (CuRegionAssessDetail cuRegionAssessDetail : cuRegionAssessExt.getCuRegionAssessDetailList()) {
|
|
||||||
CuRegionAssessDetailVO cuRegionAssessDetailVO = BeanUtil.copyProperties(cuRegionAssessDetail, CuRegionAssessDetailVO.class);
|
|
||||||
regionAssessDetailVoList.add(cuRegionAssessDetailVO);
|
|
||||||
}
|
|
||||||
cuRegionAssessVO.setRegionAssessDetailVoList(regionAssessDetailVoList);
|
|
||||||
cuRegionAssessVoList.add(cuRegionAssessVO);
|
|
||||||
}
|
|
||||||
return cuRegionAssessVoList;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,56 +0,0 @@
|
||||||
package com.hzs.bonus.detail.vo;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
||||||
import com.hzs.common.core.annotation.Transaction;
|
|
||||||
import com.hzs.common.core.constant.EnumsPrefixConstants;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @description: 考核区域明细
|
|
||||||
* @author: sui q
|
|
||||||
* @time: 2025/1/16 11:32
|
|
||||||
* @classname: CuRegionAssessDetailVO
|
|
||||||
* @package_name: com.hzs.bonus.detail.vo
|
|
||||||
* version 1.0.0
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class CuRegionAssessDetailVO implements Serializable {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 会员主键
|
|
||||||
*/
|
|
||||||
private Long pkMember;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 考核日期
|
|
||||||
*/
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
|
||||||
private Date assessDate;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 会员等级
|
|
||||||
*/
|
|
||||||
private Integer pkAwards;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 团队月消费pv
|
|
||||||
*/
|
|
||||||
private BigDecimal teamMonthPv;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 团队月消费pv
|
|
||||||
*/
|
|
||||||
private BigDecimal smallAreaPv;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 考核状态 (0=考核通过,1=免考通过,2=考核不通过,3=不考核)
|
|
||||||
*/
|
|
||||||
@Transaction(transactionKey = EnumsPrefixConstants.ASSESS_STATUS)
|
|
||||||
private Integer assessStatus;
|
|
||||||
|
|
||||||
private String assessStatusVal;
|
|
||||||
}
|
|
||||||
|
|
@ -1,87 +0,0 @@
|
||||||
package com.hzs.bonus.detail.vo;
|
|
||||||
|
|
||||||
import com.hzs.common.core.annotation.Excel;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @description: 导出excel
|
|
||||||
* @author: sui q
|
|
||||||
* @time: 2025/1/16 16:27
|
|
||||||
* @classname: CuRegionAssessExcelVO
|
|
||||||
* @package_name: com.hzs.bonus.detail.vo
|
|
||||||
* version 1.0.0
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class CuRegionAssessExcelVO implements Serializable {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 会员编号
|
|
||||||
*/
|
|
||||||
@Excel(name = "会员编号")
|
|
||||||
private String memberCode;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 会员姓名
|
|
||||||
*/
|
|
||||||
@Excel(name = "会员姓名")
|
|
||||||
private String memberName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 考核区域 省+市+县
|
|
||||||
*/
|
|
||||||
@Excel(name = "考核区域")
|
|
||||||
private String assessAddress;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 考核期
|
|
||||||
*/
|
|
||||||
@Excel(name = "考核期间")
|
|
||||||
private Integer assessPeriod;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 考核开始日期
|
|
||||||
*/
|
|
||||||
@Excel(name = "开始日期", dateFormat = "yyyy-MM-dd")
|
|
||||||
private Date assessStartDate;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 考核期结束日期
|
|
||||||
*/
|
|
||||||
@Excel(name = "结束日期", dateFormat = "yyyy-MM-dd")
|
|
||||||
private Date assessEndDate;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 达标次数
|
|
||||||
*/
|
|
||||||
@Excel(name = "达标次数")
|
|
||||||
private Integer reachNum;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 考核日期
|
|
||||||
*/
|
|
||||||
@Excel(name = "考核日期", dateFormat = "yyyy-MM-dd")
|
|
||||||
private Date assessDate;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 团队月消费pv
|
|
||||||
*/
|
|
||||||
@Excel(name = "团队业绩")
|
|
||||||
private BigDecimal teamMonthPv;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 团队月消费pv
|
|
||||||
*/
|
|
||||||
@Excel(name = "小区业绩")
|
|
||||||
private BigDecimal smallAreaPv;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 考核状态 (0=考核通过,1=免考通过,2=考核不通过,3=不考核)
|
|
||||||
*/
|
|
||||||
@Excel(name = "考核状态", readConverterExp = "0=考核通过,1=免考通过,2=考核不通过,3=不考核")
|
|
||||||
private Integer assessStatus;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,62 +0,0 @@
|
||||||
package com.hzs.bonus.detail.vo;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
||||||
import com.hzs.common.core.annotation.Transaction;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @description: 区域考核结果
|
|
||||||
* @author: sui q
|
|
||||||
* @time: 2025/1/16 11:13
|
|
||||||
* @classname: CuRegionAssessVO
|
|
||||||
* @package_name: com.hzs.bonus.detail.vo
|
|
||||||
* version 1.0.0
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class CuRegionAssessVO implements Serializable {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 会员编号
|
|
||||||
*/
|
|
||||||
private String memberCode;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 会员姓名
|
|
||||||
*/
|
|
||||||
private String memberName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 考核区域 省+市+县
|
|
||||||
*/
|
|
||||||
private String assessAddress;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 考核期
|
|
||||||
*/
|
|
||||||
private Integer assessPeriod;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 考核开始日期
|
|
||||||
*/
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
|
||||||
private Date assessStartDate;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 考核期结束日期
|
|
||||||
*/
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
|
||||||
private Date assessEndDate;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 达标次数
|
|
||||||
*/
|
|
||||||
private Integer reachNum;
|
|
||||||
|
|
||||||
@Transaction
|
|
||||||
private List<CuRegionAssessDetailVO> regionAssessDetailVoList;
|
|
||||||
}
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
package com.hzs.bonus.param;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询参数
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class CuRegionAssessParam implements Serializable {
|
|
||||||
|
|
||||||
private Date assessDate;
|
|
||||||
|
|
||||||
private Long pkMember;
|
|
||||||
|
|
||||||
private Integer pkCountry;
|
|
||||||
|
|
||||||
private String memberCode;
|
|
||||||
|
|
||||||
private String memberName;
|
|
||||||
}
|
|
||||||
|
|
@ -1,32 +1,15 @@
|
||||||
package com.hzs.bonus.risk.vo;/**
|
package com.hzs.bonus.risk.vo;
|
||||||
* @Description:
|
|
||||||
* @Author: yuhui
|
|
||||||
* @Time: 2024/4/9 17:01
|
|
||||||
* @Classname: MemberRiskControlVo
|
|
||||||
* @PackageName: com.hzs.bonus.risk.vo
|
|
||||||
*/
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
|
||||||
*@BelongsProject: hzs_cloud
|
|
||||||
*@BelongsPackage: com.hzs.bonus.risk.vo
|
|
||||||
*@Author: yh
|
|
||||||
*@CreateTime: 2024-04-09 17:01
|
|
||||||
*@Description: TODO
|
|
||||||
*@Version: 1.0
|
|
||||||
*/
|
|
||||||
@Data
|
@Data
|
||||||
public class MemberRiskControlVo {
|
public class MemberRiskControlVo {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员名称
|
* 会员名称
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -27,15 +27,9 @@
|
||||||
<result column="IS_REAL_NAME" property="isRealName"/>
|
<result column="IS_REAL_NAME" property="isRealName"/>
|
||||||
<result column="PK_RATE" property="pkRate"/>
|
<result column="PK_RATE" property="pkRate"/>
|
||||||
<result column="SYSTEM_TYPE" property="systemType"/>
|
<result column="SYSTEM_TYPE" property="systemType"/>
|
||||||
<result column="NEW_BOX_NUM" property="newBoxNum"/>
|
|
||||||
<result column="CONSUME_BOX_NUM" property="consumeBoxNum"/>
|
|
||||||
<result column="MONTH_BOX_NUM" property="monthBoxNum"/>
|
|
||||||
<result column="NEW_CONSUME_PV" property="newConsumePv"/>
|
<result column="NEW_CONSUME_PV" property="newConsumePv"/>
|
||||||
<result column="CONSUME_PV" property="consumePv"/>
|
<result column="CONSUME_PV" property="consumePv"/>
|
||||||
<result column="MONTH_CONSUME_PV" property="monthConsumePv"/>
|
<result column="MONTH_CONSUME_PV" property="monthConsumePv"/>
|
||||||
<result column="TEAM_NEW_BOX_NUM" property="teamNewBoxNum"/>
|
|
||||||
<result column="TEAM_BOX_NUM" property="teamBoxNum"/>
|
|
||||||
<result column="TEAM_MONTH_BOX_NUM" property="teamMonthBoxNum"/>
|
|
||||||
<result column="TEAM_NEW_PV" property="teamNewPv"/>
|
<result column="TEAM_NEW_PV" property="teamNewPv"/>
|
||||||
<result column="TEAM_CONSUME_PV" property="teamConsumePv"/>
|
<result column="TEAM_CONSUME_PV" property="teamConsumePv"/>
|
||||||
<result column="TEAM_MONTH_PV" property="teamMonthPv"/>
|
<result column="TEAM_MONTH_PV" property="teamMonthPv"/>
|
||||||
|
|
@ -57,34 +51,21 @@
|
||||||
<result column="coach_algebra" property="coachAlgebra"/>
|
<result column="coach_algebra" property="coachAlgebra"/>
|
||||||
<result column="coach_ratio" property="coachRatio"/>
|
<result column="coach_ratio" property="coachRatio"/>
|
||||||
<result column="COUNTRY_NAME" property="countryName"/>
|
<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="big_team_pv" property="bigTeamPv"/>
|
||||||
<result column="small_team_pv" property="smallTeamPv"/>
|
<result column="small_team_pv" property="smallTeamPv"/>
|
||||||
<result column="region_vertex_pk_id" property="regionVertexPkId"/>
|
<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_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_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_consume_pv" property="allTeamConsumePv"/>
|
||||||
<result column="all_team_month_pv" property="allTeamMonthPv"/>
|
<result column="all_team_month_pv" property="allTeamMonthPv"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<update id="mergeMemberRetailRangeInit">
|
<update id="mergeMemberRetailRangeInit">
|
||||||
update ${rangeTableName}
|
update ${rangeTableName}
|
||||||
set new_box_num = 0,
|
set new_consume_pv = 0,
|
||||||
consume_box_num = 0,
|
|
||||||
month_box_num = 0,
|
|
||||||
new_consume_pv = 0,
|
|
||||||
consume_pv = 0,
|
consume_pv = 0,
|
||||||
month_consume_pv = 0,
|
month_consume_pv = 0,
|
||||||
team_new_box_num = 0,
|
|
||||||
team_box_num = 0,
|
|
||||||
team_month_box_num = 0,
|
|
||||||
team_new_pv = 0,
|
team_new_pv = 0,
|
||||||
team_consume_pv = 0,
|
team_consume_pv = 0,
|
||||||
team_month_pv = 0,
|
team_month_pv = 0,
|
||||||
|
|
@ -96,13 +77,8 @@
|
||||||
enable_status = 1,
|
enable_status = 1,
|
||||||
pk_grade = (select pk_id from bd_grade where del_flag = 0 and grade_value = 20),
|
pk_grade = (select pk_id from bd_grade where del_flag = 0 and grade_value = 20),
|
||||||
region_address = 0,
|
region_address = 0,
|
||||||
big_box_num = 0,
|
|
||||||
small_box_num = 0,
|
|
||||||
big_team_pv = 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_new_pv = 0,
|
||||||
all_team_consume_pv = 0,
|
all_team_consume_pv = 0,
|
||||||
all_team_month_pv = 0
|
all_team_month_pv = 0
|
||||||
|
|
@ -112,41 +88,30 @@
|
||||||
merge into ${rangeTableName} a
|
merge into ${rangeTableName} a
|
||||||
using(
|
using(
|
||||||
select pk_member, pk_grade, pk_awards, pk_share_awards, enable_status,
|
select pk_member, pk_grade, pk_awards, pk_share_awards, enable_status,
|
||||||
new_box_num, consume_box_num, month_box_num,
|
|
||||||
new_consume_pv, consume_pv, month_consume_pv,
|
new_consume_pv, consume_pv, month_consume_pv,
|
||||||
team_new_box_num, team_box_num, team_month_box_num,
|
|
||||||
team_new_pv, team_consume_pv, team_month_pv,
|
team_new_pv, team_consume_pv, team_month_pv,
|
||||||
team_new_amount, team_consume_amount, team_month_amount,
|
team_new_amount, team_consume_amount, team_month_amount,
|
||||||
recommend_num, team_num,
|
recommend_num, team_num,
|
||||||
big_box_num, small_box_num, big_team_pv, small_team_pv,
|
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
|
all_team_new_pv, all_team_consume_pv, all_team_month_pv
|
||||||
from ${yesterdayRangeTableName}
|
from ${yesterdayRangeTableName}
|
||||||
) b
|
) b
|
||||||
on (a.pk_member = b.pk_member)
|
on (a.pk_member = b.pk_member)
|
||||||
when matched then
|
when matched then
|
||||||
update set
|
update set
|
||||||
a.consume_box_num = b.consume_box_num,
|
|
||||||
a.consume_pv = b.consume_pv,
|
a.consume_pv = b.consume_pv,
|
||||||
a.team_box_num = b.team_box_num,
|
|
||||||
a.team_consume_pv = b.team_consume_pv,
|
a.team_consume_pv = b.team_consume_pv,
|
||||||
a.team_consume_amount = b.team_consume_amount,
|
a.team_consume_amount = b.team_consume_amount,
|
||||||
a.recommend_num = b.recommend_num, a.team_num = b.team_num,
|
a.recommend_num = b.recommend_num, a.team_num = b.team_num,
|
||||||
a.pk_grade = b.pk_grade,
|
a.pk_grade = b.pk_grade,
|
||||||
a.enable_status = b.enable_status,
|
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_new_pv = b.all_team_new_pv,
|
||||||
a.all_team_consume_pv = b.all_team_consume_pv
|
a.all_team_consume_pv = b.all_team_consume_pv
|
||||||
<if test="isSameMonth == 0">
|
<if test="isSameMonth == 0">
|
||||||
,a.month_box_num = b.month_box_num
|
|
||||||
,a.month_consume_pv = b.month_consume_pv
|
,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_pv = b.team_month_pv
|
||||||
,a.team_month_amount = b.team_month_amount
|
,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
|
,a.all_team_month_pv = b.all_team_month_pv
|
||||||
</if>
|
</if>
|
||||||
</update>
|
</update>
|
||||||
|
|
@ -156,30 +121,26 @@
|
||||||
using (
|
using (
|
||||||
<foreach collection="cuMemberRangeExtList" item="item" open=" " close=" " separator="union">
|
<foreach collection="cuMemberRangeExtList" item="item" open=" " close=" " separator="union">
|
||||||
select #{item.pkMember} pk_member, #{item.pkAwards} pk_awards, #{item.pkGrade} pk_grade, #{item.pkShareAwards} pk_share_awards,
|
select #{item.pkMember} pk_member, #{item.pkAwards} pk_awards, #{item.pkGrade} pk_grade, #{item.pkShareAwards} pk_share_awards,
|
||||||
#{item.newBoxNum} new_box_num, #{item.consumeBoxNum} consume_box_num, #{item.monthBoxNum} month_box_num,
|
|
||||||
#{item.newConsumePv} new_consume_pv, #{item.consumePv} consume_pv, #{item.monthConsumePv} month_consume_pv,
|
#{item.newConsumePv} new_consume_pv, #{item.consumePv} consume_pv, #{item.monthConsumePv} month_consume_pv,
|
||||||
#{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.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.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.allTeamNewPv} all_team_new_pv,
|
||||||
#{item.allTeamBoxNum} all_team_box_num, #{item.allTeamConsumePv} all_team_consume_pv,
|
#{item.allTeamConsumePv} all_team_consume_pv,
|
||||||
#{item.allTeamMonthBoxNum} all_team_month_box_num, #{item.allTeamMonthPv} all_team_month_pv
|
#{item.allTeamMonthPv} all_team_month_pv
|
||||||
from dual
|
from dual
|
||||||
</foreach>
|
</foreach>
|
||||||
) b
|
) b
|
||||||
on (a.pk_member = b.pk_member)
|
on (a.pk_member = b.pk_member)
|
||||||
when matched then
|
when matched then
|
||||||
update set a.pk_awards = b.pk_awards, a.pk_grade = b.pk_grade, a.pk_share_awards = b.pk_share_awards,
|
update set a.pk_awards = b.pk_awards, a.pk_grade = b.pk_grade, a.pk_share_awards = b.pk_share_awards,
|
||||||
a.new_box_num = b.new_box_num, a.consume_box_num = b.consume_box_num, a.month_box_num = b.month_box_num,
|
|
||||||
a.new_consume_pv = b.new_consume_pv, a.consume_pv = b.consume_pv, a.month_consume_pv = b.month_consume_pv,
|
a.new_consume_pv = b.new_consume_pv, a.consume_pv = b.consume_pv, a.month_consume_pv = b.month_consume_pv,
|
||||||
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_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.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_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_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
|
a.all_team_month_pv = b.all_team_month_pv
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<!-- 当前网体更新极差秒接表 -->
|
<!-- 当前网体更新极差秒接表 -->
|
||||||
|
|
@ -241,11 +202,11 @@
|
||||||
select
|
select
|
||||||
#{item.pkMember} pk_member, #{item.pkGrade} pk_grade,
|
#{item.pkMember} pk_member, #{item.pkGrade} pk_grade,
|
||||||
#{item.pkAwards} pk_awards, #{item.pkShareAwards} pk_share_awards,
|
#{item.pkAwards} pk_awards, #{item.pkShareAwards} pk_share_awards,
|
||||||
#{item.newBoxNum} new_box_num, #{item.newConsumePv} new_consume_pv,
|
#{item.newConsumePv} new_consume_pv,
|
||||||
#{item.teamNewBoxNum} team_new_box_num, #{item.teamNewPv} team_new_pv,
|
#{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.allNewConsumePv} all_new_consume_pv,
|
||||||
#{item.allTeamNewBoxNum} all_team_new_box_num, #{item.allTeamNewPv} all_team_new_pv
|
#{item.allTeamNewPv} all_team_new_pv
|
||||||
from dual
|
from dual
|
||||||
</foreach>
|
</foreach>
|
||||||
) b
|
) b
|
||||||
|
|
@ -253,11 +214,11 @@
|
||||||
when matched then
|
when matched then
|
||||||
update set
|
update set
|
||||||
a.pk_grade = b.pk_grade, a.pk_awards = b.pk_awards, a.pk_share_awards = b.pk_share_awards,
|
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.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_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_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
|
a.all_team_new_pv = b.all_team_new_pv
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<update id="mergeMemberRetailGradeByMember">
|
<update id="mergeMemberRetailGradeByMember">
|
||||||
|
|
@ -276,69 +237,6 @@
|
||||||
</if>
|
</if>
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<update id="mergeMemberRetailRegion">
|
|
||||||
merge into ${rangeTableName} a
|
|
||||||
using (
|
|
||||||
select cm.pk_member, cr.county region_address
|
|
||||||
from ${rangeTableName} cm
|
|
||||||
inner join cu_member_retail_region cr
|
|
||||||
on cr.pk_member = cm.pk_member
|
|
||||||
and cr.effective = 0
|
|
||||||
and cr.del_flag = 0
|
|
||||||
where cr.creation_time < #{settleDate, jdbcType=DATE}
|
|
||||||
) b
|
|
||||||
on (a.pk_member = b.pk_member)
|
|
||||||
when matched then
|
|
||||||
update set a.region_address = b.region_address
|
|
||||||
</update>
|
|
||||||
|
|
||||||
<update id="mergeCuMemberRetailRangeBySpecial">
|
|
||||||
merge into ${rangeTableName} a
|
|
||||||
using (
|
|
||||||
select a.*
|
|
||||||
from cu_member_spe_retail a
|
|
||||||
inner join(
|
|
||||||
select member_code, max(nvl(modified_time, creation_time)) creation_time
|
|
||||||
from cu_member_spe_retail
|
|
||||||
where del_flag = 0
|
|
||||||
and period = #{period}
|
|
||||||
group by member_code
|
|
||||||
) b on a.member_code = b.member_code and nvl(a.modified_time, a.creation_time) = b.creation_time
|
|
||||||
) b
|
|
||||||
on (a.member_code = b.member_code)
|
|
||||||
when matched then
|
|
||||||
update set
|
|
||||||
a.big_box_num = b.team_box_num - b.small_box_num,
|
|
||||||
a.small_box_num = b.small_box_num
|
|
||||||
</update>
|
|
||||||
|
|
||||||
<update id="mergeCuMemberRetailBackBoxBySpecial">
|
|
||||||
merge into ${rangeTableName} a
|
|
||||||
using (
|
|
||||||
select *
|
|
||||||
from ${beforeTableName} a
|
|
||||||
inner join (
|
|
||||||
select cr.*
|
|
||||||
from cu_member_spe_retail cr
|
|
||||||
inner join (
|
|
||||||
select member_code, max(pk_id) pk_id
|
|
||||||
from cu_member_spe_retail
|
|
||||||
where period < #{period}
|
|
||||||
and del_flag = 0
|
|
||||||
group by member_code
|
|
||||||
) b on cr.member_code = b.member_code
|
|
||||||
where cr.period = #{period}
|
|
||||||
and cr.del_flag = 0
|
|
||||||
) b on a.member_code = b.member_code
|
|
||||||
) b
|
|
||||||
on (a.pk_member = b.pk_member)
|
|
||||||
when matched then
|
|
||||||
update set
|
|
||||||
a.big_box_num = 0,
|
|
||||||
a.small_box_num = 0,
|
|
||||||
a.team_box_num = a.team_box_num
|
|
||||||
</update>
|
|
||||||
|
|
||||||
<select id="queryCuMemberRetailRangeParent" resultMap="CuMemberRetailRangeExt">
|
<select id="queryCuMemberRetailRangeParent" resultMap="CuMemberRetailRangeExt">
|
||||||
<foreach collection="saOrderExtList" item="item" close=" " open=" " separator="union">
|
<foreach collection="saOrderExtList" item="item" close=" " open=" " separator="union">
|
||||||
select
|
select
|
||||||
|
|
@ -361,15 +259,9 @@
|
||||||
a.pk_country,
|
a.pk_country,
|
||||||
a.pk_settle_country,
|
a.pk_settle_country,
|
||||||
a.enable_status,
|
a.enable_status,
|
||||||
new_box_num,
|
|
||||||
consume_box_num,
|
|
||||||
month_box_num,
|
|
||||||
new_consume_pv,
|
new_consume_pv,
|
||||||
consume_pv,
|
consume_pv,
|
||||||
month_consume_pv,
|
month_consume_pv,
|
||||||
team_new_box_num,
|
|
||||||
team_box_num,
|
|
||||||
team_month_box_num,
|
|
||||||
team_new_pv,
|
team_new_pv,
|
||||||
team_consume_pv,
|
team_consume_pv,
|
||||||
team_month_pv,
|
team_month_pv,
|
||||||
|
|
@ -383,13 +275,8 @@
|
||||||
bw.awards_value,
|
bw.awards_value,
|
||||||
bw.awards_name,
|
bw.awards_name,
|
||||||
bwa.awards_value share_awards_value,
|
bwa.awards_value share_awards_value,
|
||||||
a.big_box_num,
|
|
||||||
a.small_box_num,
|
|
||||||
a.big_team_pv,
|
a.big_team_pv,
|
||||||
a.small_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_new_pv,
|
||||||
a.all_team_consume_pv,
|
a.all_team_consume_pv,
|
||||||
a.all_team_month_pv,
|
a.all_team_month_pv,
|
||||||
|
|
@ -437,24 +324,14 @@
|
||||||
a.income_status,
|
a.income_status,
|
||||||
a.pk_country,
|
a.pk_country,
|
||||||
a.pk_settle_country,
|
a.pk_settle_country,
|
||||||
a.big_box_num,
|
|
||||||
a.small_box_num,
|
|
||||||
a.big_team_pv,
|
a.big_team_pv,
|
||||||
a.small_team_pv,
|
a.small_team_pv,
|
||||||
a.system_type,
|
a.system_type,
|
||||||
a.all_team_box_num,
|
|
||||||
a.all_team_month_box_num,
|
|
||||||
a.all_team_consume_pv,
|
a.all_team_consume_pv,
|
||||||
a.all_team_month_pv,
|
a.all_team_month_pv,
|
||||||
new_box_num,
|
|
||||||
consume_box_num,
|
|
||||||
month_box_num,
|
|
||||||
new_consume_pv,
|
new_consume_pv,
|
||||||
consume_pv,
|
consume_pv,
|
||||||
month_consume_pv,
|
month_consume_pv,
|
||||||
team_new_box_num,
|
|
||||||
team_box_num,
|
|
||||||
team_month_box_num,
|
|
||||||
team_new_pv,
|
team_new_pv,
|
||||||
team_consume_pv,
|
team_consume_pv,
|
||||||
team_month_pv,
|
team_month_pv,
|
||||||
|
|
@ -486,202 +363,6 @@
|
||||||
and a.pk_parent = #{pkParent}
|
and a.pk_parent = #{pkParent}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="batchQueryMemberRetailRangeByMemberPk" resultMap="CuMemberRetailRangeExt">
|
|
||||||
<foreach collection="memberPkList" item="item" close=" " open=" " separator="union">
|
|
||||||
select pk_member, member_code, member_name, c.pk_parent,
|
|
||||||
c.pk_awards, c.pk_grade, c.pk_rate,
|
|
||||||
c.enable_status, c.income_status,
|
|
||||||
c.pk_country, c.pk_settle_country,
|
|
||||||
c.account_status, c.category, c.system_type,
|
|
||||||
bg.grade_value, bg.grade_name,
|
|
||||||
bw.awards_value, bw.awards_name,
|
|
||||||
c.pk_share_awards, bwa.awards_value share_awards_value,
|
|
||||||
bw.range_ratio, bw.month_repurchase_ratio, bw.benefit_avg_ratio, bw.benefit_share_ratio,
|
|
||||||
bw.coach_algebra, bw.coach_ratio
|
|
||||||
from (
|
|
||||||
select *
|
|
||||||
from ${rangeTableName}
|
|
||||||
start with pk_member = #{item}
|
|
||||||
connect by pk_member = prior pk_parent
|
|
||||||
) c
|
|
||||||
inner join bd_grade bg
|
|
||||||
on c.pk_grade = bg.pk_id
|
|
||||||
left join bd_awards bw
|
|
||||||
on bw.pk_id = c.pk_awards
|
|
||||||
left join bd_awards bwa
|
|
||||||
on bwa.pk_id = c.pk_share_awards
|
|
||||||
and bwa.del_flag = 0
|
|
||||||
where bg.del_flag = 0
|
|
||||||
and bw.del_flag = 0
|
|
||||||
</foreach>
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="batchQueryMemberRetailRangeByAwards" resultMap="CuMemberRetailRangeExt">
|
|
||||||
select pk_member,
|
|
||||||
member_code,
|
|
||||||
member_name,
|
|
||||||
a.pk_awards,
|
|
||||||
a.pk_grade,
|
|
||||||
a.pk_rate,
|
|
||||||
a.income_status,
|
|
||||||
a.pk_country,
|
|
||||||
a.pk_settle_country,
|
|
||||||
a.account_status,
|
|
||||||
a.category,
|
|
||||||
bg.grade_value,
|
|
||||||
bg.grade_name,
|
|
||||||
bw.awards_value share_awards_value,
|
|
||||||
bw.awards_name,
|
|
||||||
a.month_consume_pv,
|
|
||||||
a.team_month_pv,
|
|
||||||
bw.range_ratio,
|
|
||||||
bw.month_repurchase_ratio,
|
|
||||||
bw.benefit_avg_ratio,
|
|
||||||
bw.benefit_share_ratio
|
|
||||||
from ${rangeTableName} a
|
|
||||||
inner join bd_awards bw
|
|
||||||
on bw.pk_id = a.pk_share_awards
|
|
||||||
inner join bd_grade bg
|
|
||||||
on bg.pk_id = a.pk_grade
|
|
||||||
where bw.del_flag = 0
|
|
||||||
and bg.del_flag = 0
|
|
||||||
and bg.grade_value >= 70
|
|
||||||
and bw.awards_value >= 20
|
|
||||||
and a.enable_status = 0
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="batchQueryMemberRetailRangeByParent" resultMap="CuMemberRetailRangeExt">
|
|
||||||
select pk_member, pk_parent, member_code, member_name,
|
|
||||||
a.pk_awards, a.pk_grade, a.pk_rate,
|
|
||||||
a.income_status, a.pk_country, a.pk_settle_country,
|
|
||||||
a.account_status, a.category,
|
|
||||||
bg.grade_value, bg.grade_name,
|
|
||||||
bw.awards_value, bw.awards_name,
|
|
||||||
a.month_consume_pv, a.team_month_pv,
|
|
||||||
bw.range_ratio, bw.month_repurchase_ratio,
|
|
||||||
bw.benefit_avg_ratio, bw.benefit_share_ratio
|
|
||||||
from ${rangeTableName} a
|
|
||||||
inner join bd_awards bw
|
|
||||||
on bw.pk_id = a.pk_awards
|
|
||||||
and bw.del_flag = 0
|
|
||||||
inner join bd_grade bg
|
|
||||||
on bg.pk_id = a.pk_grade
|
|
||||||
and bg.del_flag = 0
|
|
||||||
where a.pk_parent in
|
|
||||||
<foreach collection="memberRetailRangeExtList" item="item" open="(" close=")" separator=",">
|
|
||||||
#{item.pkMember}
|
|
||||||
</foreach>
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="batchQueryMemberRetailRangeByCounty" resultMap="CuMemberRetailRangeExt">
|
|
||||||
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,
|
|
||||||
a.pk_share_awards,
|
|
||||||
a.enable_status,
|
|
||||||
a.income_status,
|
|
||||||
a.pk_country,
|
|
||||||
a.pk_settle_country,
|
|
||||||
a.region_address,
|
|
||||||
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,
|
|
||||||
bv.region_vertex_pk_id
|
|
||||||
from ${rangeTableName} a
|
|
||||||
inner join bd_awards bw
|
|
||||||
on bw.pk_id = a.pk_awards
|
|
||||||
inner join bd_awards bwa
|
|
||||||
on bwa.pk_id = a.pk_share_awards
|
|
||||||
inner join bd_grade bg
|
|
||||||
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
|
|
||||||
and a.region_address > 0
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="batchQueryMemberRetailSecondRangeByCounty" resultMap="CuMemberRetailRangeExt">
|
|
||||||
select cm.pk_id pk_member,
|
|
||||||
cm.pk_parent,
|
|
||||||
cm.member_code,
|
|
||||||
cm.member_name,
|
|
||||||
cm.pk_awards,
|
|
||||||
cm.pk_settle_grade pk_grade,
|
|
||||||
bt.pk_id pk_rate,
|
|
||||||
cm.income_status,
|
|
||||||
cm.pk_country,
|
|
||||||
cm.pk_settle_country,
|
|
||||||
cr.county region_address,
|
|
||||||
ba.name country_name,
|
|
||||||
bg.grade_value,
|
|
||||||
bg.grade_name,
|
|
||||||
bw.awards_value,
|
|
||||||
bw.awards_name,
|
|
||||||
cm.account_status,
|
|
||||||
cm.category,
|
|
||||||
cm.system_type,
|
|
||||||
bw.range_ratio,
|
|
||||||
bw.month_repurchase_ratio,
|
|
||||||
bw.benefit_avg_ratio,
|
|
||||||
bw.benefit_share_ratio,
|
|
||||||
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
|
|
||||||
inner join bd_grade bg
|
|
||||||
on bg.pk_id = cm.pk_settle_grade
|
|
||||||
inner join cu_member_retail_region cr
|
|
||||||
on cr.pk_member = cm.pk_id
|
|
||||||
inner join bd_area ba
|
|
||||||
on ba.pk_id = cr.county
|
|
||||||
inner join bd_currency bt
|
|
||||||
on bt.pk_country = cm.pk_settle_country
|
|
||||||
left join ${rangeTableName} r
|
|
||||||
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
|
|
||||||
and cr.effective = 0
|
|
||||||
and cr.del_flag = 0
|
|
||||||
and cm.del_flag = 0
|
|
||||||
and cr.county = #{county}
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="queryCuMemberSecondRangeParent" resultMap="CuMemberRetailRangeExt">
|
<select id="queryCuMemberSecondRangeParent" resultMap="CuMemberRetailRangeExt">
|
||||||
select a.pk_member,
|
select a.pk_member,
|
||||||
cm.member_code,
|
cm.member_code,
|
||||||
|
|
@ -698,33 +379,21 @@
|
||||||
cm.pk_vertex,
|
cm.pk_vertex,
|
||||||
nvl(b.pk_rate, bt.pk_id) pk_rate,
|
nvl(b.pk_rate, bt.pk_id) pk_rate,
|
||||||
nvl(cm.is_activate, a.enable_status) enable_status,
|
nvl(cm.is_activate, a.enable_status) enable_status,
|
||||||
a.new_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,
|
a.new_consume_pv,
|
||||||
nvl(b.consume_pv, 0) + nvl(a.new_consume_pv, 0) 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,
|
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) + 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,
|
a.team_new_pv,
|
||||||
nvl(b.team_consume_pv, 0) + nvl(a.team_new_pv, 0) team_consume_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,
|
nvl(b.team_month_pv, 0) + nvl(a.team_new_pv, 0) team_month_pv,
|
||||||
a.team_new_amount,
|
a.team_new_amount,
|
||||||
nvl(b.team_consume_amount, 0) + nvl(a.team_new_amount, 0) team_consume_amount,
|
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.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.big_team_pv, 0) big_team_pv,
|
||||||
nvl(b.small_team_pv, 0) small_team_pv,
|
nvl(b.small_team_pv, 0) small_team_pv,
|
||||||
a.system_type,
|
a.system_type,
|
||||||
a.all_new_box_num,
|
|
||||||
a.all_new_consume_pv,
|
a.all_new_consume_pv,
|
||||||
a.all_team_new_box_num,
|
|
||||||
a.all_team_new_pv,
|
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_consume_pv, 0) + nvl(a.all_team_new_pv, 0) all_team_consume_pv,
|
||||||
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,
|
nvl(b.all_team_month_pv, 0) + nvl(a.all_team_new_pv, 0) all_team_month_pv,
|
||||||
bg.grade_value,
|
bg.grade_value,
|
||||||
bg.grade_name,
|
bg.grade_name,
|
||||||
|
|
@ -769,13 +438,7 @@
|
||||||
cm.pk_parent,
|
cm.pk_parent,
|
||||||
nvl(b.month_consume_pv, 0) + nvl(a.new_consume_pv, 0) month_consume_pv,
|
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.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.all_team_consume_pv, 0) + nvl(a.all_team_new_pv, 0) all_team_consume_pv,
|
||||||
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
|
nvl(b.all_team_month_pv, 0) + nvl(a.all_team_new_pv, 0) all_team_month_pv
|
||||||
from cu_member cm
|
from cu_member cm
|
||||||
left join ${secondTableName} a
|
left join ${secondTableName} a
|
||||||
|
|
@ -789,27 +452,17 @@
|
||||||
<select id="queryCuMemberRetailRangeEnoughAchieve" resultType="com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt">
|
<select id="queryCuMemberRetailRangeEnoughAchieve" resultType="com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt">
|
||||||
select pk_member,
|
select pk_member,
|
||||||
pk_parent,
|
pk_parent,
|
||||||
new_box_num,
|
|
||||||
consume_box_num,
|
|
||||||
month_box_num,
|
|
||||||
new_consume_pv,
|
new_consume_pv,
|
||||||
consume_pv,
|
consume_pv,
|
||||||
month_consume_pv,
|
month_consume_pv,
|
||||||
team_new_box_num,
|
|
||||||
team_box_num,
|
|
||||||
team_month_box_num,
|
|
||||||
team_new_pv,
|
team_new_pv,
|
||||||
team_consume_pv,
|
team_consume_pv,
|
||||||
team_month_pv,
|
team_month_pv,
|
||||||
team_new_amount,
|
team_new_amount,
|
||||||
team_consume_amount,
|
team_consume_amount,
|
||||||
team_month_amount,
|
team_month_amount,
|
||||||
big_box_num,
|
|
||||||
small_box_num,
|
|
||||||
big_team_pv,
|
big_team_pv,
|
||||||
small_team_pv,
|
small_team_pv,
|
||||||
all_team_box_num,
|
|
||||||
all_team_month_box_num,
|
|
||||||
all_team_consume_pv,
|
all_team_consume_pv,
|
||||||
all_team_month_pv
|
all_team_month_pv
|
||||||
from ${tableName}
|
from ${tableName}
|
||||||
|
|
|
||||||
|
|
@ -470,14 +470,10 @@
|
||||||
pk_share_awards number(4) default 10 not null,
|
pk_share_awards number(4) default 10 not null,
|
||||||
enable_status number(2) default 1 not null,
|
enable_status number(2) default 1 not null,
|
||||||
system_type NUMBER(2) default 2 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,
|
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_pv number(17,6) default 0 not null,
|
||||||
team_new_amount 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_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
|
all_team_new_pv number(17,6) default 0 not null
|
||||||
)
|
)
|
||||||
</update>
|
</update>
|
||||||
|
|
@ -509,15 +505,9 @@
|
||||||
pk_country number(4) default 1 not null,
|
pk_country number(4) default 1 not null,
|
||||||
system_type NUMBER(2) default 2 not null,
|
system_type NUMBER(2) default 2 not null,
|
||||||
pk_rate NUMBER(6),
|
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,
|
new_consume_pv number(17,6) default 0 not null,
|
||||||
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,
|
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_new_pv number(17,6) default 0 not null,
|
||||||
team_consume_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_month_pv number(17,6) default 0 not null,
|
||||||
|
|
@ -527,13 +517,8 @@
|
||||||
recommend_num number(8) default 0 not null,
|
recommend_num number(8) default 0 not null,
|
||||||
team_num number(8) default 0 not null,
|
team_num number(8) default 0 not null,
|
||||||
region_address 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,
|
big_team_pv number(17,6) default 0 not null,
|
||||||
small_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_new_pv number(17,6) default 0 not null,
|
||||||
all_team_consume_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
|
all_team_month_pv number(17,6) default 0 not null
|
||||||
|
|
|
||||||
|
|
@ -123,52 +123,6 @@
|
||||||
update set a.pk_max_awards = b.pk_awards, a.modified_time = sysdate
|
update set a.pk_max_awards = b.pk_awards, a.modified_time = sysdate
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<update id="updateCuMemberGrade">
|
|
||||||
merge into cu_member a
|
|
||||||
using (
|
|
||||||
select a.pk_member, max(a.new_level) pk_grade
|
|
||||||
from cu_member_grade a
|
|
||||||
inner join(
|
|
||||||
select pk_member, max(nvl(modified_time, creation_time)) creation_time
|
|
||||||
from cu_member_grade
|
|
||||||
where period = #{period}
|
|
||||||
and del_flag = 0
|
|
||||||
group by pk_member) b
|
|
||||||
on a.pk_member = b.pk_member and nvl(a.modified_time, a.creation_time) = b.creation_time
|
|
||||||
group by a.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>
|
|
||||||
|
|
||||||
<!-- 通用查询映射结果 -->
|
|
||||||
<select id="queryLoginMember" resultMap="MemberResultMap">
|
|
||||||
select cm.*
|
|
||||||
from cu_member cm
|
|
||||||
where cm.del_flag = 0
|
|
||||||
<if test="memberCode != null and memberCode != ''">
|
|
||||||
and cm.member_code = #{memberCode}
|
|
||||||
</if>
|
|
||||||
<if test="pkMember != null">
|
|
||||||
and cm.pk_id = #{pkMember}
|
|
||||||
</if>
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="queryCuMemberShareTotal" resultType="com.hzs.common.domain.member.base.CuMember">
|
|
||||||
select cm.pk_awards pkAwards, count(cm.pk_id) shareStatus
|
|
||||||
from cu_member cm
|
|
||||||
inner join bd_awards ba
|
|
||||||
on cm.pk_awards = ba.pk_id
|
|
||||||
where cm.del_flag = 0
|
|
||||||
and cm.pay_status = 1
|
|
||||||
and pk_settle_country = #{pkCountry}
|
|
||||||
and ba.awards_value > 0
|
|
||||||
group by cm.pk_awards
|
|
||||||
order by pk_awards
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<update id="updateBackCuMemberRetailRangeAward">
|
<update id="updateBackCuMemberRetailRangeAward">
|
||||||
merge into cu_member a
|
merge into cu_member a
|
||||||
|
|
@ -259,24 +213,6 @@
|
||||||
)
|
)
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<!-- 更新会员的等级(会员表) -->
|
|
||||||
<update id="updateCuMemberGradeByList">
|
|
||||||
merge into cu_member a
|
|
||||||
using (
|
|
||||||
select pk_member, max(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>
|
|
||||||
)
|
|
||||||
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>
|
|
||||||
|
|
||||||
<update id="updateCuMemberRetailRangeByList">
|
<update id="updateCuMemberRetailRangeByList">
|
||||||
merge into cu_member a
|
merge into cu_member a
|
||||||
using (
|
using (
|
||||||
|
|
@ -304,53 +240,4 @@
|
||||||
a.modified_time = sysdate
|
a.modified_time = sysdate
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<update id="updateCuMemberMinGradeByList">
|
|
||||||
merge into cu_member a
|
|
||||||
using (
|
|
||||||
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>
|
|
||||||
)
|
|
||||||
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>
|
|
||||||
|
|
||||||
<update id="updateCuMemberLevel">
|
|
||||||
merge into cu_member a
|
|
||||||
using (
|
|
||||||
select cm.pk_id, m.new_level pk_grade
|
|
||||||
from cu_member cm
|
|
||||||
inner join(
|
|
||||||
select a.*
|
|
||||||
from cu_member_level a
|
|
||||||
inner join (
|
|
||||||
select pk_member, max(pk_id) pk_id
|
|
||||||
from cu_member_level
|
|
||||||
where del_flag = 0
|
|
||||||
and up_type = 4
|
|
||||||
and upgrade_time >= #{startDate,jdbcType=DATE}
|
|
||||||
and upgrade_time < #{endDate,jdbcType=DATE}
|
|
||||||
group by pk_member) b
|
|
||||||
on a.pk_id = b.pk_id) m
|
|
||||||
on cm.pk_id = m.pk_member
|
|
||||||
where cm.pk_settle_grade < m.new_level
|
|
||||||
) b
|
|
||||||
on (a.pk_id = b.pk_id)
|
|
||||||
when matched then
|
|
||||||
update set a.pk_settle_grade = b.pk_grade, a.modified_time = sysdate
|
|
||||||
</update>
|
|
||||||
|
|
||||||
<!-- 查询体系奖项列表 -->
|
|
||||||
<select id="listVertexBonus" resultType="com.hzs.common.domain.vertex.BdVertexBonus">
|
|
||||||
select * from cu_member cm
|
|
||||||
left join bd_vertex_bonus bvb
|
|
||||||
on bvb.pk_vertex = cm.pk_vertex
|
|
||||||
where cm.pk_id = #{pkMember}
|
|
||||||
order by cm.pk_id desc
|
|
||||||
</select>
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -2,270 +2,5 @@
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!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.CuMemberBonusCoachMapper">
|
<mapper namespace="com.hzs.bonus.bonus.mapper.CuMemberBonusCoachMapper">
|
||||||
|
|
||||||
<!-- 通用查询映射结果 -->
|
|
||||||
<resultMap id="CuMemberBonusCoach" type="com.hzs.common.domain.member.ext.CuMemberBonusCoachExt">
|
|
||||||
<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_BONUS" property="pkBonus"/>
|
|
||||||
<result column="PK_ORDER" property="pkOrder"/>
|
|
||||||
<result column="PK_BONUS_ITEMS" property="pkBonusItems"/>
|
|
||||||
<result column="INCOME_STATUS" property="incomeStatus"/>
|
|
||||||
<result column="CAL_TYPE" property="calType"/>
|
|
||||||
<result column="CAL_ACHIEVE" property="calAchieve"/>
|
|
||||||
<result column="CAL_VALUE" property="calValue"/>
|
|
||||||
<result column="PRETAX_INCOME" property="pretaxIncome"/>
|
|
||||||
<result column="INCOME_TAX" property="incomeTax"/>
|
|
||||||
<result column="REAL_INCOME" property="realIncome"/>
|
|
||||||
<result column="CURRENT_GENERATION" property="currentGeneration"/>
|
|
||||||
<result column="COACH_GENERATION" property="coachGeneration"/>
|
|
||||||
<result column="COACH_NO_CAPPING" property="coachNoCapping"/>
|
|
||||||
<result column="COACH_CAPPING" property="coachCapping"/>
|
|
||||||
<result column="COACH_NORMAL_HALF" property="coachNormalHalf"/>
|
|
||||||
<result column="COACH_NORMAL_REAL" property="coachNormalReal"/>
|
|
||||||
<result column="REMARK" property="remark"/>
|
|
||||||
<result column="INCOME_RATIO" property="incomeRatio"/>
|
|
||||||
<result column="INCOME_DIAL_RATIO" property="incomeDialRatio"/>
|
|
||||||
<result column="ORDER_DIAL_RATIO" property="orderDialRatio"/>
|
|
||||||
<result column="ORDER_CODE" property="orderCode"/>
|
|
||||||
<result column="ORDER_TYPE" property="orderType"/>
|
|
||||||
<result column="PK_SOURCE_COUNTRY" property="pkSourceCountry"/>
|
|
||||||
<result column="SOURCE_COUNTRY_NAME" property="sourceCountryName"/>
|
|
||||||
<result column="SOURCE_MEMBER_CODE" property="sourceMemberCode"/>
|
|
||||||
<result column="SOURCE_MEMBER_NAME" property="sourceMemberName"/>
|
|
||||||
<result column="PK_RATE" property="pkRate"/>
|
|
||||||
<result column="ORDER_AMOUNT" property="orderAmount"/>
|
|
||||||
<result column="ORDER_ACHIEVE" property="orderAchieve"/>
|
|
||||||
<result column="MEMBER_CODE" property="memberCode"/>
|
|
||||||
<result column="MEMBER_NAME" property="memberName"/>
|
|
||||||
<result column="PK_SETTLE_GRADE" property="pkSettleGrade"/>
|
|
||||||
<result column="PK_AWARDS" property="pkAwards"/>
|
|
||||||
<result column="VERTEX_NAME" property="vertexName"/>
|
|
||||||
<result column="TEAM_NAME" property="teamName"/>
|
|
||||||
<result column="TEAM_CODE" property="teamCode"/>
|
|
||||||
<result column="SETTLE_DATE" property="settleDate"/>
|
|
||||||
<result column="SETTLE_COUNTRY" property="settleCountry"/>
|
|
||||||
<result column="PERIOD" property="period"/>
|
|
||||||
<result column="OUT_EXCHANGE_RATE" property="outExchangeRate"/>
|
|
||||||
|
|
||||||
<result column="service_code" property="serviceCode"/>
|
|
||||||
<result column="pk_vertex" property="pkVertex"/>
|
|
||||||
<result column="nick_name" property="nickName"/>
|
|
||||||
</resultMap>
|
|
||||||
|
|
||||||
<insert id="batchInsertCuMemberBonusCoach">
|
|
||||||
insert ALL
|
|
||||||
<foreach item="item" index="index" collection="cuMemberBonusCoachList" separator=" ">
|
|
||||||
into cu_member_bonus_coach(pk_bonus,pk_order,pk_bonus_items,income_status,
|
|
||||||
cal_type,cal_achieve,cal_value,pretax_income,
|
|
||||||
income_tax,real_income,current_generation,coach_generation,coach_no_capping,
|
|
||||||
coach_capping,coach_normal_half,coach_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.currentGeneration},#{item.coachGeneration},
|
|
||||||
#{item.coachNoCapping},#{item.coachCapping},#{item.coachNormalHalf},#{item.coachNormalReal},
|
|
||||||
#{item.remark},#{item.incomeRatio},#{item.incomeDialRatio},#{item.orderDialRatio},
|
|
||||||
#{item.pkCountry},#{item.pkCreator}
|
|
||||||
)
|
|
||||||
</foreach>
|
|
||||||
SELECT 1 FROM dual
|
|
||||||
</insert>
|
|
||||||
<delete id="deleteCuMemberBonusCoach">
|
|
||||||
delete
|
|
||||||
from CU_MEMBER_BONUS_COACH
|
|
||||||
where PK_BONUS in (
|
|
||||||
select pk_id
|
|
||||||
from cu_member_bonus
|
|
||||||
where period = #{period}
|
|
||||||
and grant_status <= 2)
|
|
||||||
</delete>
|
|
||||||
|
|
||||||
<select id="queryMemberBonusCoachByBonusItems" resultMap="CuMemberBonusCoach">
|
|
||||||
select b.period,cp.settle_date,so.order_code,so.order_type,bt.short_name source_country_name,
|
|
||||||
cu.member_code source_member_code,cu.member_name source_member_name,so.pk_rate,so.pk_country pk_source_country,bc.out_exchange_rate,so.order_amount,
|
|
||||||
so.order_achieve,b.pk_country,b.pk_bonus_items,b.pretax_income,b.income_tax,b.real_income,b.income_status,
|
|
||||||
tar.member_code,tar.member_name,bg.pk_transaction pk_settle_grade,ba.pk_transaction pk_awards,bv.vertex_name,ct.team_name,
|
|
||||||
b.remark,b.income_ratio,b.income_dial_ratio,b.order_dial_ratio,b.current_generation,b.coach_generation,
|
|
||||||
b.coach_no_capping,b.coach_capping,b.coach_normal_half,b.coach_normal_real,
|
|
||||||
cu.service_code,
|
|
||||||
cu.pk_vertex,
|
|
||||||
cu.nick_name
|
|
||||||
from sa_order so
|
|
||||||
inner join (
|
|
||||||
select cb.pk_member,cc.pk_order,cb.period,cb.pk_country,cc.pk_bonus_items,cc.income_status,cc.CAL_ACHIEVE,cc.pretax_income,cc.income_tax,cc.real_income,
|
|
||||||
cc.remark,cc.income_ratio,cc.income_dial_ratio,cc.order_dial_ratio,cc.current_generation,cc.coach_generation,cc.coach_no_capping,
|
|
||||||
cc.coach_capping,cc.coach_normal_half,cc.coach_normal_real from
|
|
||||||
cu_member_bonus cb
|
|
||||||
inner join cu_member_bonus_coach cc
|
|
||||||
on cb.pk_id = cc.pk_bonus
|
|
||||||
where cb.income_status=0 and cc.income_status = 0
|
|
||||||
and cc.pk_bonus_items = #{pkBonusItems}
|
|
||||||
<if test="pkBonus != null">
|
|
||||||
and cc.pk_bonus = #{pkBonus}
|
|
||||||
</if>
|
|
||||||
<if test="period != null">
|
|
||||||
and cb.period =#{period}
|
|
||||||
</if>
|
|
||||||
) b
|
|
||||||
on so.pk_id = b.pk_order
|
|
||||||
inner join cu_member tar
|
|
||||||
on b.pk_member = tar.pk_id
|
|
||||||
inner join cu_member cu
|
|
||||||
on so.pk_member = cu.pk_id
|
|
||||||
inner join cu_member_settle_period cp
|
|
||||||
on b.period = cp.pk_id
|
|
||||||
left join bd_vertex bv
|
|
||||||
on bv.pk_id = tar.pk_vertex
|
|
||||||
left join cu_member_team ct
|
|
||||||
on ct.pk_id = tar.pk_team_code
|
|
||||||
left join bd_currency bc
|
|
||||||
on bc.pk_id=so.pk_rate
|
|
||||||
left join bd_grade bg
|
|
||||||
on bg.pk_id=tar.pk_settle_grade
|
|
||||||
left join bd_awards ba
|
|
||||||
on ba.pk_id=tar.pk_awards
|
|
||||||
left join bd_country bt
|
|
||||||
on bt.pk_id=so.pk_country
|
|
||||||
<where>
|
|
||||||
1=1 and b.pk_member=#{pkMember}
|
|
||||||
<if test="orderCode != null and orderCode != ''">
|
|
||||||
and so.order_code like #{orderCode}|| '%'
|
|
||||||
</if>
|
|
||||||
<if test="sourceMemberCode != null and sourceMemberCode != ''">
|
|
||||||
and (cu.member_code = #{sourceMemberCode} or cu.service_code = #{sourceMemberCode})
|
|
||||||
</if>
|
|
||||||
<if test="sourceMemberName != null and sourceMemberName != ''">
|
|
||||||
and (cu.member_name = #{sourceMemberName} or cu.nick_name = #{sourceMemberName})
|
|
||||||
</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>
|
|
||||||
</where>
|
|
||||||
order by b.period,b.pk_bonus_items,b.real_income desc
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="queryMemberBonusCoachByBonusItemsForServer" resultMap="CuMemberBonusCoach">
|
|
||||||
select b.period,cp.settle_date,so.order_code,so.order_type,bt.short_name source_country_name,
|
|
||||||
cu.member_code source_member_code,cu.member_name source_member_name,so.pk_rate,bc.out_exchange_rate,so.order_amount,
|
|
||||||
so.order_achieve,b.pk_country,b.pk_bonus_items,b.pretax_income,b.income_tax,b.real_income,b.income_status,
|
|
||||||
tar.member_code,tar.member_name,bg.pk_transaction pk_settle_grade,ba.pk_transaction pk_awards,bv.vertex_name,ct.team_name,
|
|
||||||
b.remark,b.income_ratio,b.income_dial_ratio,b.order_dial_ratio,b.current_generation,b.coach_generation,
|
|
||||||
b.coach_no_capping,b.coach_capping,b.coach_normal_half,b.coach_normal_real,bct.short_name settle_country
|
|
||||||
from sa_order so
|
|
||||||
inner join (
|
|
||||||
select cb.pk_member,cc.pk_order,cb.period,cb.pk_country,cc.pk_bonus_items,cc.income_status,cc.CAL_ACHIEVE,cc.pretax_income,cc.income_tax,cc.real_income,
|
|
||||||
cc.remark,cc.income_ratio,cc.income_dial_ratio,cc.order_dial_ratio,cc.current_generation,cc.coach_generation,
|
|
||||||
cc.coach_no_capping,cc.coach_capping,cc.coach_normal_half,cc.coach_normal_real from cu_member_bonus cb
|
|
||||||
inner join cu_member_bonus_coach cc
|
|
||||||
on cb.pk_id = cc.pk_bonus
|
|
||||||
where 1 = 1
|
|
||||||
<if test="bonusParam.period != null">
|
|
||||||
and cb.period =#{bonusParam.period}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.vertexList != null and bonusParam.vertexList.size >0">
|
|
||||||
and exists(
|
|
||||||
select 1 from (
|
|
||||||
<foreach collection="bonusParam.vertexList" item="item" separator=" union ">
|
|
||||||
select pk_id from cu_member
|
|
||||||
where del_flag=0 and PAY_STATUS=1
|
|
||||||
start with pk_id = #{item}
|
|
||||||
connect by pk_parent = prior pk_id
|
|
||||||
</foreach>
|
|
||||||
<if test="bonusParam.teamList != null and bonusParam.teamList.size >0">
|
|
||||||
union
|
|
||||||
<foreach collection="bonusParam.teamList" item="item" separator=" union ">
|
|
||||||
select pk_id from cu_member
|
|
||||||
where del_flag=0 and PAY_STATUS=1
|
|
||||||
start with pk_id = #{item}
|
|
||||||
connect by pk_parent = prior pk_id
|
|
||||||
</foreach>
|
|
||||||
</if>
|
|
||||||
) a
|
|
||||||
where a.pk_id = cb.pk_member
|
|
||||||
)
|
|
||||||
</if>
|
|
||||||
) b
|
|
||||||
on so.pk_id = b.pk_order
|
|
||||||
inner join cu_member tar
|
|
||||||
on b.pk_member = tar.pk_id
|
|
||||||
inner join cu_member cu
|
|
||||||
on so.pk_member = cu.pk_id
|
|
||||||
inner join cu_member_settle_period cp
|
|
||||||
on b.period = cp.pk_id
|
|
||||||
left join bd_vertex bv
|
|
||||||
on bv.pk_id = tar.pk_vertex
|
|
||||||
left join cu_member_team ct
|
|
||||||
on ct.pk_id = tar.pk_team_code
|
|
||||||
left join bd_currency bc
|
|
||||||
on bc.pk_id = so.pk_rate
|
|
||||||
left join bd_grade bg
|
|
||||||
on bg.pk_id = tar.pk_settle_grade
|
|
||||||
left join bd_awards ba
|
|
||||||
on ba.pk_id = tar.pk_awards
|
|
||||||
left join bd_country bt
|
|
||||||
on bt.pk_id = so.pk_country
|
|
||||||
left join bd_country bct
|
|
||||||
on bct.pk_id = tar.pk_settle_country
|
|
||||||
<where>
|
|
||||||
1=1
|
|
||||||
<if test="bonusParam.pkCountry != null">
|
|
||||||
and tar.pk_settle_country = #{bonusParam.pkCountry}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.orderType != null">
|
|
||||||
and so.order_type = #{bonusParam.orderType}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.pkVertex != null">
|
|
||||||
and bv.pk_id = #{bonusParam.pkVertex}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.pkTeamCode != null">
|
|
||||||
and ct.pk_id =#{bonusParam.pkTeamCode}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.sourceCountry != null">
|
|
||||||
and bt.pk_id = #{bonusParam.sourceCountry}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.incomeStatus != null">
|
|
||||||
and b.income_status = #{bonusParam.incomeStatus}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.orderCode != null and bonusParam.orderCode != ''">
|
|
||||||
and so.order_code like #{bonusParam.orderCode}|| '%'
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.sourceMemberCode != null and bonusParam.sourceMemberCode != ''">
|
|
||||||
and cu.member_code = #{bonusParam.sourceMemberCode}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.sourceMemberName != null and bonusParam.sourceMemberName != ''">
|
|
||||||
and cu.member_name = #{bonusParam.sourceMemberName}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.memberCode != null and bonusParam.memberCode != ''">
|
|
||||||
and tar.member_code = #{bonusParam.memberCode}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.memberName != null and bonusParam.memberName != ''">
|
|
||||||
and tar.member_name = #{bonusParam.memberName}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.settleCountry != null">
|
|
||||||
and tar.pk_settle_country = #{bonusParam.settleCountry}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.startDate != null">
|
|
||||||
and cp.settle_date >=#{bonusParam.startDate, jdbcType=DATE}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.endDate != null">
|
|
||||||
and cp.settle_date <#{bonusParam.endDate, jdbcType=DATE}
|
|
||||||
</if>
|
|
||||||
</where>
|
|
||||||
<choose>
|
|
||||||
<when test="bonusParam.sort == null or bonusParam.sort ==1">order by cp.settle_date desc, so.order_code,b.current_generation</when>
|
|
||||||
<when test="bonusParam.sort ==2">order by tar.pk_vertex, b.real_income desc</when>
|
|
||||||
<otherwise>order by tar.pk_teamcode</otherwise>
|
|
||||||
</choose>
|
|
||||||
</select>
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -2,278 +2,4 @@
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!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.CuMemberBonusExpandMapper">
|
<mapper namespace="com.hzs.bonus.bonus.mapper.CuMemberBonusExpandMapper">
|
||||||
|
|
||||||
<!-- 通用查询映射结果 -->
|
|
||||||
<resultMap id="CuMemberBonusExpand" type="com.hzs.common.domain.member.ext.CuMemberBonusExpandExt">
|
|
||||||
<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_BONUS" property="pkBonus"/>
|
|
||||||
<result column="PK_ORDER" property="pkOrder"/>
|
|
||||||
<result column="PK_BONUS_ITEMS" property="pkBonusItems"/>
|
|
||||||
<result column="INCOME_STATUS" property="incomeStatus"/>
|
|
||||||
<result column="CAL_TYPE" property="calType"/>
|
|
||||||
<result column="CAL_ACHIEVE" property="calAchieve"/>
|
|
||||||
<result column="CAL_VALUE" property="calValue"/>
|
|
||||||
<result column="PRETAX_INCOME" property="pretaxIncome"/>
|
|
||||||
<result column="INCOME_TAX" property="incomeTax"/>
|
|
||||||
<result column="REAL_INCOME" property="realIncome"/>
|
|
||||||
<result column="CURRENT_TOUCH" property="currentTouch"/>
|
|
||||||
<result column="EXPAND_TOUCH" property="expandTouch"/>
|
|
||||||
<result column="EXPAND_NO_CAPPING" property="expandNoCapping"/>
|
|
||||||
<result column="EXPAND_CAPPING" property="expandCapping"/>
|
|
||||||
<result column="EXPAND_NORMAL_HALF" property="expandNormalHalf"/>
|
|
||||||
<result column="EXPAND_NORMAL_REAL" property="expandNormalReal"/>
|
|
||||||
<result column="REMARK" property="remark"/>
|
|
||||||
<result column="INCOME_RATIO" property="incomeRatio"/>
|
|
||||||
<result column="INCOME_DIAL_RATIO" property="incomeDialRatio"/>
|
|
||||||
<result column="ORDER_DIAL_RATIO" property="orderDialRatio"/>
|
|
||||||
<result column="ORDER_CODE" property="orderCode"/>
|
|
||||||
<result column="ORDER_TYPE" property="orderType"/>
|
|
||||||
<result column="PK_SOURCE_COUNTRY" property="pkSourceCountry"/>
|
|
||||||
<result column="SOURCE_COUNTRY_NAME" property="sourceCountryName"/>
|
|
||||||
<result column="SOURCE_MEMBER_CODE" property="sourceMemberCode"/>
|
|
||||||
<result column="SOURCE_MEMBER_NAME" property="sourceMemberName"/>
|
|
||||||
<result column="PK_RATE" property="pkRate"/>
|
|
||||||
<result column="ORDER_AMOUNT" property="orderAmount"/>
|
|
||||||
<result column="ORDER_ACHIEVE" property="orderAchieve"/>
|
|
||||||
<result column="MEMBER_CODE" property="memberCode"/>
|
|
||||||
<result column="MEMBER_NAME" property="memberName"/>
|
|
||||||
<result column="PK_SETTLE_GRADE" property="pkSettleGrade"/>
|
|
||||||
<result column="PK_AWARDS" property="pkAwards"/>
|
|
||||||
<result column="VERTEX_NAME" property="vertexName"/>
|
|
||||||
<result column="TEAM_NAME" property="teamName"/>
|
|
||||||
<result column="TEAM_CODE" property="teamCode"/>
|
|
||||||
<result column="SETTLE_DATE" property="settleDate"/>
|
|
||||||
<result column="SETTLE_COUNTRY" property="settleCountry"/>
|
|
||||||
<result column="PERIOD" property="period"/>
|
|
||||||
<result column="OUT_EXCHANGE_RATE" property="outExchangeRate"/>
|
|
||||||
<result column="add_touch" property="addTouch" />
|
|
||||||
<result column="service_code" property="serviceCode"/>
|
|
||||||
<result column="pk_vertex" property="pkVertex"/>
|
|
||||||
<result column="nick_name" property="nickName"/>
|
|
||||||
</resultMap>
|
|
||||||
|
|
||||||
<insert id="batchInsertCuMemberBonusExpand">
|
|
||||||
insert ALL
|
|
||||||
<foreach item="item" index="index" collection="cuMemberBonusExpandList" separator=" ">
|
|
||||||
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,add_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.addTouch,jdbcType=NUMERIC},
|
|
||||||
#{item.expandNoCapping},#{item.expandCapping},#{item.expandNormalHalf},#{item.expandNormalReal},
|
|
||||||
#{item.remark},#{item.incomeRatio},#{item.incomeDialRatio},#{item.orderDialRatio},
|
|
||||||
#{item.pkCountry},#{item.pkCreator}
|
|
||||||
)
|
|
||||||
</foreach>
|
|
||||||
SELECT 1 FROM dual
|
|
||||||
</insert>
|
|
||||||
|
|
||||||
<delete id="deleteCuMemberBonusExpand">
|
|
||||||
delete
|
|
||||||
from CU_MEMBER_BONUS_EXPAND
|
|
||||||
where PK_BONUS in (
|
|
||||||
select pk_id
|
|
||||||
from cu_member_bonus
|
|
||||||
where period = #{period} and grant_status <= 2)
|
|
||||||
</delete>
|
|
||||||
|
|
||||||
<select id="queryMemberBonusExpandByBonusItems" resultMap="CuMemberBonusExpand">
|
|
||||||
select b.period,cp.settle_date,so.order_code,so.order_type,bt.short_name source_country_name,
|
|
||||||
cu.member_code source_member_code,cu.member_name source_member_name,so.pk_rate,so.pk_country pk_source_country,bc.out_exchange_rate,so.order_amount,
|
|
||||||
so.order_achieve,b.pk_country,b.pk_bonus_items,b.pretax_income,b.income_tax,b.real_income,b.income_status,
|
|
||||||
tar.member_code,tar.member_name,bg.pk_transaction pk_settle_grade,ba.pk_transaction pk_awards,bv.vertex_name,ct.team_name,
|
|
||||||
b.current_touch,b.expand_touch,b.expand_no_capping,b.expand_capping,b.expand_normal_half,b.expand_normal_real,
|
|
||||||
b.remark,b.income_ratio,b.income_dial_ratio,b.order_dial_ratio,
|
|
||||||
cu.service_code,
|
|
||||||
cu.pk_vertex,
|
|
||||||
cu.nick_name
|
|
||||||
from sa_order so
|
|
||||||
inner join (
|
|
||||||
select cb.pk_member,ce.pk_order,cb.period,cb.pk_country,ce.pk_bonus_items,ce.income_status,ce.cal_achieve,ce.pretax_income,ce.income_tax,ce.real_income,
|
|
||||||
ce.current_touch,ce.expand_touch,ce.expand_no_capping,ce.expand_capping,ce.expand_normal_half,ce.expand_normal_real,
|
|
||||||
ce.remark,ce.income_ratio,ce.income_dial_ratio,ce.order_dial_ratio from cu_member_bonus cb
|
|
||||||
inner join cu_member_bonus_expand ce
|
|
||||||
on cb.pk_id = ce.pk_bonus
|
|
||||||
where cb.income_status=0 and ce.income_status = 0
|
|
||||||
and ce.pk_bonus_items = #{pkBonusItems}
|
|
||||||
<if test="pkBonus != null">
|
|
||||||
and ce.pk_bonus = #{pkBonus}
|
|
||||||
</if>
|
|
||||||
<if test="period != null">
|
|
||||||
and cb.period =#{period}
|
|
||||||
</if>
|
|
||||||
<if test="pkBonusItems != null">
|
|
||||||
and ce.pk_bonus_items = #{pkBonusItems}
|
|
||||||
</if>
|
|
||||||
) b
|
|
||||||
on so.pk_id = b.pk_order
|
|
||||||
inner join cu_member tar
|
|
||||||
on b.pk_member = tar.pk_id
|
|
||||||
inner join cu_member cu
|
|
||||||
on so.pk_member = cu.pk_id
|
|
||||||
inner join cu_member_settle_period cp
|
|
||||||
on b.period = cp.pk_id
|
|
||||||
left join bd_vertex bv
|
|
||||||
on bv.pk_id = tar.pk_vertex
|
|
||||||
left join cu_member_team ct
|
|
||||||
on ct.pk_id = tar.pk_team_code
|
|
||||||
left join bd_currency bc
|
|
||||||
on bc.pk_id=so.pk_rate
|
|
||||||
left join bd_grade bg
|
|
||||||
on bg.pk_id=tar.pk_settle_grade
|
|
||||||
left join bd_awards ba
|
|
||||||
on ba.pk_id=tar.pk_awards
|
|
||||||
left join bd_country bt
|
|
||||||
on bt.pk_id=so.pk_country
|
|
||||||
<where>
|
|
||||||
1=1 and b.pk_member=#{pkMember}
|
|
||||||
<if test="orderCode != null and orderCode != ''">
|
|
||||||
and so.order_code like #{orderCode}|| '%'
|
|
||||||
</if>
|
|
||||||
<if test="sourceMemberCode != null and sourceMemberCode != ''">
|
|
||||||
and (cu.member_code = #{sourceMemberCode} or cu.service_code = #{sourceMemberCode})
|
|
||||||
</if>
|
|
||||||
<if test="sourceMemberName != null and sourceMemberName != ''">
|
|
||||||
and (cu.member_name = #{sourceMemberName} or cu.nick_name = #{sourceMemberName})
|
|
||||||
</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>
|
|
||||||
</where>
|
|
||||||
order by b.period,b.pk_bonus_items,b.real_income desc
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="queryMemberBonusExpandByBonusItemsForServer" resultMap="CuMemberBonusExpand">
|
|
||||||
select b.period,cp.settle_date,so.order_code,so.order_type,bt.short_name source_country_name,
|
|
||||||
cu.member_code source_member_code,cu.member_name source_member_name,so.pk_rate,bc.out_exchange_rate,so.order_amount,
|
|
||||||
so.order_achieve,b.pk_country,b.pk_bonus_items,b.pretax_income,b.income_tax,b.real_income,b.income_status,
|
|
||||||
tar.member_code,tar.member_name,bg.pk_transaction pk_settle_grade,ba.pk_transaction pk_awards,bv.vertex_name,ct.team_name,
|
|
||||||
b.remark,b.income_ratio,b.income_dial_ratio,b.order_dial_ratio,b.current_touch,b.expand_touch,
|
|
||||||
b.expand_no_capping,b.expand_capping,b.expand_normal_half,b.expand_normal_real,bct.short_name settle_country
|
|
||||||
from (
|
|
||||||
select pk_id,pk_member,order_code,order_type,pk_rate,pk_country,order_amount,order_achieve from sa_order
|
|
||||||
) so
|
|
||||||
inner join (
|
|
||||||
select cb.pk_member,ce.pk_order,cb.period,cb.pk_country,ce.pk_bonus_items,ce.income_status,ce.CAL_ACHIEVE,ce.pretax_income,ce.income_tax,ce.real_income,
|
|
||||||
ce.remark,ce.income_ratio,ce.income_dial_ratio,ce.order_dial_ratio,ce.current_touch,ce.expand_touch,
|
|
||||||
ce.expand_no_capping,ce.expand_capping,ce.expand_normal_half,ce.expand_normal_real from
|
|
||||||
cu_member_bonus cb
|
|
||||||
inner join cu_member_bonus_expand ce
|
|
||||||
on cb.pk_id = ce.pk_bonus
|
|
||||||
where 1=1
|
|
||||||
<if test="bonusParam.period != null">
|
|
||||||
and cb.period =#{bonusParam.period}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.pkBonusItems != null">
|
|
||||||
and ce.pk_bonus_items = #{bonusParam.pkBonusItems}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.vertexList != null and bonusParam.vertexList.size >0">
|
|
||||||
and exists(
|
|
||||||
select 1 from (
|
|
||||||
<foreach collection="bonusParam.vertexList" item="item" separator=" union ">
|
|
||||||
select pk_id from cu_member
|
|
||||||
where del_flag=0 and PAY_STATUS=1
|
|
||||||
start with pk_id = #{item}
|
|
||||||
connect by pk_parent = prior pk_id
|
|
||||||
</foreach>
|
|
||||||
<if test="bonusParam.teamList != null and bonusParam.teamList.size >0">
|
|
||||||
union
|
|
||||||
<foreach collection="bonusParam.teamList" item="item" separator=" union ">
|
|
||||||
select pk_id from cu_member
|
|
||||||
where del_flag=0 and PAY_STATUS=1
|
|
||||||
start with pk_id = #{item}
|
|
||||||
connect by pk_parent = prior pk_id
|
|
||||||
</foreach>
|
|
||||||
</if>
|
|
||||||
) a
|
|
||||||
where a.pk_id = cb.pk_member
|
|
||||||
)
|
|
||||||
</if>
|
|
||||||
) b
|
|
||||||
on so.pk_id = b.pk_order
|
|
||||||
inner join cu_member tar
|
|
||||||
on b.pk_member = tar.pk_id
|
|
||||||
inner join cu_member cu
|
|
||||||
on so.pk_member = cu.pk_id
|
|
||||||
inner join cu_member_settle_period cp
|
|
||||||
on b.period = cp.pk_id
|
|
||||||
left join bd_vertex bv
|
|
||||||
on bv.pk_id = tar.pk_vertex
|
|
||||||
left join cu_member_team ct
|
|
||||||
on ct.pk_id = tar.pk_team_code
|
|
||||||
left join bd_currency bc
|
|
||||||
on bc.pk_id=so.pk_rate
|
|
||||||
left join bd_grade bg
|
|
||||||
on bg.pk_id=tar.pk_settle_grade
|
|
||||||
left join bd_awards ba
|
|
||||||
on ba.pk_id=tar.pk_awards
|
|
||||||
left join bd_country bt
|
|
||||||
on bt.pk_id=so.pk_country
|
|
||||||
left join bd_country bct
|
|
||||||
on bct.pk_id=tar.pk_settle_country
|
|
||||||
<where>
|
|
||||||
1=1
|
|
||||||
<if test="bonusParam.pkCountry != null">
|
|
||||||
and tar.pk_settle_country = #{bonusParam.pkCountry}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.orderType != null">
|
|
||||||
and so.order_type = #{bonusParam.orderType}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.pkVertex != null">
|
|
||||||
and bv.pk_id = #{bonusParam.pkVertex}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.pkTeamCode != null">
|
|
||||||
and ct.pk_id =#{bonusParam.pkTeamCode}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.sourceCountry != null">
|
|
||||||
and bt.pk_id = #{bonusParam.sourceCountry}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.incomeStatus != null">
|
|
||||||
and b.income_status = #{bonusParam.incomeStatus}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.orderCode != null and bonusParam.orderCode != ''">
|
|
||||||
and so.order_code like #{bonusParam.orderCode}|| '%'
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.sourceMemberCode != null and bonusParam.sourceMemberCode != ''">
|
|
||||||
and cu.member_code = #{bonusParam.sourceMemberCode}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.sourceMemberName != null and bonusParam.sourceMemberName != ''">
|
|
||||||
and cu.member_name = #{bonusParam.sourceMemberName}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.memberCode != null and bonusParam.memberCode != ''">
|
|
||||||
and tar.member_code = #{bonusParam.memberCode}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.memberName != null and bonusParam.memberName != ''">
|
|
||||||
and tar.member_name = #{bonusParam.memberName}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.settleCountry != null">
|
|
||||||
and tar.pk_settle_country = #{bonusParam.settleCountry}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.startDate != null">
|
|
||||||
and cp.settle_date >=#{bonusParam.startDate, jdbcType=DATE}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.endDate != null">
|
|
||||||
and cp.settle_date <#{bonusParam.endDate, jdbcType=DATE}
|
|
||||||
</if>
|
|
||||||
</where>
|
|
||||||
<choose>
|
|
||||||
<when test="bonusParam.sort == null or bonusParam.sort ==1">order by cp.settle_date desc, so.order_code,b.current_touch</when>
|
|
||||||
<when test="bonusParam.sort ==2">order by tar.pk_vertex, b.real_income desc</when>
|
|
||||||
<otherwise>order by tar.pk_teamcode</otherwise>
|
|
||||||
</choose>
|
|
||||||
</select>
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -594,7 +594,6 @@
|
||||||
SELECT SUM(boxNum) AS boxNum, SUM(pv) AS pv, pk_id
|
SELECT SUM(boxNum) AS boxNum, SUM(pv) AS pv, pk_id
|
||||||
FROM (
|
FROM (
|
||||||
SELECT b.PK_ID,
|
SELECT b.PK_ID,
|
||||||
NVL(s.NEW_BOX_NUM, 0) AS boxNum,
|
|
||||||
NVL(s.NEW_CONSUME_PV, 0) AS pv
|
NVL(s.NEW_CONSUME_PV, 0) AS pv
|
||||||
FROM ${retailsTableName} s
|
FROM ${retailsTableName} s
|
||||||
RIGHT JOIN (
|
RIGHT JOIN (
|
||||||
|
|
@ -612,7 +611,6 @@
|
||||||
WHEN MATCHED THEN
|
WHEN MATCHED THEN
|
||||||
UPDATE SET
|
UPDATE SET
|
||||||
s.ENABLE_STATUS = 0,
|
s.ENABLE_STATUS = 0,
|
||||||
s.TEAM_NEW_BOX_NUM = result.boxNum,
|
|
||||||
s.TEAM_NEW_PV = result.pv
|
s.TEAM_NEW_PV = result.pv
|
||||||
WHERE s.PK_MEMBER = #{pkId}
|
WHERE s.PK_MEMBER = #{pkId}
|
||||||
</update>
|
</update>
|
||||||
|
|
|
||||||
|
|
@ -159,133 +159,4 @@
|
||||||
order by b.period,b.pk_bonus_items,b.real_income desc
|
order by b.period,b.pk_bonus_items,b.real_income desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="queryMemberBonusPushByBonusItemsFoServer" resultMap="CuMemberBonusPush">
|
|
||||||
select b.period,cp.settle_date,so.order_code,so.order_type,bt.short_name source_country_name,
|
|
||||||
cu.member_code source_member_code,cu.member_name source_member_name,so.pk_rate,bc.out_exchange_rate,so.order_amount,
|
|
||||||
so.order_achieve,b.pk_country,b.pk_bonus_items,b.pretax_income,b.income_tax,b.real_income,b.income_status,
|
|
||||||
tar.member_code,tar.member_name,bg.pk_transaction pk_settle_grade,ba.pk_transaction pk_awards,bv.vertex_name,ct.team_name,
|
|
||||||
b.remark,b.income_ratio,b.income_dial_ratio,b.order_dial_ratio,(b.round+1) round,b.second,bct.short_name settle_country
|
|
||||||
from (
|
|
||||||
select pk_id,pk_member,order_code,order_type,pk_rate,pk_country,order_amount,order_achieve from sa_order
|
|
||||||
) so
|
|
||||||
inner join (
|
|
||||||
select cb.pk_member,cp.pk_order,cb.period,cb.pk_country,cp.pk_bonus_items,cp.income_status,cp.CAL_ACHIEVE,cp.pretax_income,cp.income_tax,cp.real_income,
|
|
||||||
cp.remark,cp.income_ratio,cp.income_dial_ratio,cp.order_dial_ratio,cp.round,cp.second from
|
|
||||||
cu_member_bonus cb
|
|
||||||
inner join cu_member_bonus_push cp
|
|
||||||
on cb.pk_id = cp.pk_bonus
|
|
||||||
where 1=1
|
|
||||||
<if test="bonusParam.period != null">
|
|
||||||
and cb.period = #{bonusParam.period}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.pkBonusItems != null">
|
|
||||||
and cp.pk_bonus_items = #{bonusParam.pkBonusItems}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.vertexList != null and bonusParam.vertexList.size >0">
|
|
||||||
and exists(
|
|
||||||
select 1 from (
|
|
||||||
<foreach collection="bonusParam.vertexList" item="item" separator=" union ">
|
|
||||||
select pk_id from cu_member
|
|
||||||
where del_flag=0 and PAY_STATUS=1
|
|
||||||
start with pk_id = #{item}
|
|
||||||
connect by pk_parent = prior pk_id
|
|
||||||
</foreach>
|
|
||||||
<if test="bonusParam.teamList != null and bonusParam.teamList.size >0">
|
|
||||||
union
|
|
||||||
<foreach collection="bonusParam.teamList" item="item" separator=" union ">
|
|
||||||
select pk_id from cu_member
|
|
||||||
where del_flag=0 and PAY_STATUS=1
|
|
||||||
start with pk_id = #{item}
|
|
||||||
connect by pk_parent = prior pk_id
|
|
||||||
</foreach>
|
|
||||||
</if>
|
|
||||||
) a
|
|
||||||
where a.pk_id = cb.pk_member
|
|
||||||
)
|
|
||||||
</if>
|
|
||||||
) b
|
|
||||||
on so.pk_id = b.pk_order
|
|
||||||
inner join cu_member tar
|
|
||||||
on b.pk_member = tar.pk_id
|
|
||||||
inner join cu_member cu
|
|
||||||
on so.pk_member = cu.pk_id
|
|
||||||
inner join cu_member_settle_period cp
|
|
||||||
on b.period = cp.pk_id
|
|
||||||
left join bd_vertex bv
|
|
||||||
on bv.pk_id = tar.pk_vertex
|
|
||||||
left join cu_member_team ct
|
|
||||||
on ct.pk_id = tar.pk_team_code
|
|
||||||
left join bd_currency bc
|
|
||||||
on bc.pk_id=so.pk_rate
|
|
||||||
left join bd_grade bg
|
|
||||||
on bg.pk_id=tar.pk_settle_grade
|
|
||||||
left join bd_awards ba
|
|
||||||
on ba.pk_id=tar.pk_awards
|
|
||||||
left join bd_country bt
|
|
||||||
on bt.pk_id=so.pk_country
|
|
||||||
left join bd_country bct
|
|
||||||
on bct.pk_id=tar.pk_settle_country
|
|
||||||
<where>
|
|
||||||
1=1
|
|
||||||
<if test="bonusParam.pkCountry != null">
|
|
||||||
and tar.pk_settle_country = #{bonusParam.pkCountry}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.orderType != null">
|
|
||||||
and so.order_type = #{bonusParam.orderType}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.pkVertex != null">
|
|
||||||
and bv.pk_id = #{bonusParam.pkVertex}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.pkTeamCode != null">
|
|
||||||
and ct.pk_id =#{bonusParam.pkTeamCode}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.sourceCountry != null">
|
|
||||||
and bt.pk_id = #{bonusParam.sourceCountry}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.incomeStatus != null">
|
|
||||||
and b.income_status = #{bonusParam.incomeStatus}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.orderCode != null and bonusParam.orderCode != ''">
|
|
||||||
and so.order_code like #{bonusParam.orderCode}|| '%'
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.sourceMemberCode != null and bonusParam.sourceMemberCode != ''">
|
|
||||||
and cu.member_code = #{bonusParam.sourceMemberCode}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.sourceMemberName != null and bonusParam.sourceMemberName != ''">
|
|
||||||
and cu.member_name = #{bonusParam.sourceMemberName}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.memberCode != null and bonusParam.memberCode != ''">
|
|
||||||
and tar.member_code = #{bonusParam.memberCode}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.memberName != null and bonusParam.memberName != ''">
|
|
||||||
and tar.member_name = #{bonusParam.memberName}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.settleCountry != null">
|
|
||||||
and tar.pk_settle_country = #{bonusParam.settleCountry}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.startDate != null">
|
|
||||||
and cp.settle_date >=#{bonusParam.startDate, jdbcType=DATE}
|
|
||||||
</if>
|
|
||||||
<if test="bonusParam.endDate != null">
|
|
||||||
and cp.settle_date <#{bonusParam.endDate, jdbcType=DATE}
|
|
||||||
</if>
|
|
||||||
</where>
|
|
||||||
<choose>
|
|
||||||
<when test="bonusParam.sort == null or bonusParam.sort ==1">order by cp.settle_date desc, b.round desc,b.second desc</when>
|
|
||||||
<when test="bonusParam.sort ==2">order by tar.pk_vertex, b.real_income desc</when>
|
|
||||||
<otherwise>order by tar.pk_teamcode</otherwise>
|
|
||||||
</choose>
|
|
||||||
</select>
|
|
||||||
|
|
||||||
|
|
||||||
<select id="nextRound" resultMap="CuMemberBonusPush">
|
|
||||||
select bb.ROUND, bb.SECOND
|
|
||||||
from (
|
|
||||||
select bp.*
|
|
||||||
from CU_MEMBER_BONUS_PUSH bp
|
|
||||||
left join CU_MEMBER_BONUS mb on mb.PK_ID = bp.PK_BONUS
|
|
||||||
where PK_MEMBER = #{pkMember}
|
|
||||||
order by bp.ROUND desc, bp.SECOND desc) bb
|
|
||||||
where rownum = 1
|
|
||||||
</select>
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -2,56 +2,4 @@
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!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.CuMemberShareBonusMapper">
|
<mapper namespace="com.hzs.bonus.bonus.mapper.CuMemberShareBonusMapper">
|
||||||
|
|
||||||
<!-- 通用查询映射结果 -->
|
|
||||||
<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"/>
|
|
||||||
<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"/>
|
|
||||||
</collection>
|
|
||||||
</resultMap>
|
|
||||||
|
|
||||||
<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}
|
|
||||||
order by pk_awards
|
|
||||||
</select>
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -2,47 +2,4 @@
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!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.CuMemberShareDetailMapper">
|
<mapper namespace="com.hzs.bonus.bonus.mapper.CuMemberShareDetailMapper">
|
||||||
|
|
||||||
<!-- 通用查询映射结果 -->
|
|
||||||
<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"/>
|
|
||||||
</resultMap>
|
|
||||||
|
|
||||||
<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
|
|
||||||
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)
|
|
||||||
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
|
|
||||||
</update>
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -1,49 +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.CuMemberSpeRetailMapper">
|
|
||||||
|
|
||||||
<!-- 查询单条新零售注水信息-->
|
|
||||||
<select id="getCuMemberSpeRetail" resultType="com.hzs.bonus.bonus.param.RetailAreaParam">
|
|
||||||
SELECT cmsr.pk_id pkId,
|
|
||||||
cmsr.member_code memberCode,
|
|
||||||
cmsr.team_box_num teamBoxNum,
|
|
||||||
cmsr.small_box_num smallBoxNum,
|
|
||||||
cmsr.total_team_pv totalTeamPv,
|
|
||||||
cmsr.small_area_pv smallAreaPv,
|
|
||||||
cmsp.SETTLE_DATE settleDate
|
|
||||||
FROM CU_MEMBER_SPE_RETAIL cmsr
|
|
||||||
INNER JOIN CU_MEMBER_SETTLE_PERIOD cmsp ON cmsp.pk_id = cmsr.period
|
|
||||||
where cmsr.DEL_FLAG = 0
|
|
||||||
<if test="pkId!=null">
|
|
||||||
and cmsr.pk_id=#{pkId}
|
|
||||||
</if>
|
|
||||||
<if test="systemType!=null">
|
|
||||||
and cmsr.SYSTEM_TYPE=#{systemType}
|
|
||||||
</if>
|
|
||||||
<if test="pkCountry!=null">
|
|
||||||
and cmsr.pk_Country=#{pkCountry}
|
|
||||||
</if>
|
|
||||||
<if test="memberCode != null and memberCode != '' ">
|
|
||||||
and cmsr.member_code like #{memberCode} || '%'
|
|
||||||
</if>
|
|
||||||
<if test="startDate != null and startDate != '' ">
|
|
||||||
and cmsp.SETTLE_DATE >= to_date(#{startDate}, 'yyyy-mm-dd')
|
|
||||||
</if>
|
|
||||||
<if test="endtDate != null and endtDate != '' ">
|
|
||||||
and cmsp.SETTLE_DATE <= to_date(#{endtDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
|
|
||||||
</if>
|
|
||||||
order by cmsr.CREATION_TIME desc
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<!-- 校验会员是否激活-->
|
|
||||||
<select id="checkCuMemberActivate" resultType="java.lang.Integer">
|
|
||||||
SELECT count(1)
|
|
||||||
FROM CU_MEMBER cm
|
|
||||||
where cm.DEL_FLAG = 0
|
|
||||||
AND cm.IS_ACTIVATE = 0
|
|
||||||
<if test="memberCode != null and memberCode != '' ">
|
|
||||||
and cm.member_code = #{memberCode}
|
|
||||||
</if>
|
|
||||||
</select>
|
|
||||||
|
|
||||||
</mapper>
|
|
||||||
|
|
@ -2,114 +2,4 @@
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.hzs.bonus.detail.mapper.CuMemberAssessDetailMapper">
|
<mapper namespace="com.hzs.bonus.detail.mapper.CuMemberAssessDetailMapper">
|
||||||
|
|
||||||
<!-- 通用查询映射结果 -->
|
|
||||||
<resultMap id="BaseResultMap" type="com.hzs.common.domain.member.detail.CuMemberAssessDetail">
|
|
||||||
<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_ASSESS" property="pkAssess"/>
|
|
||||||
<result column="PK_MEMBER" property="pkMember"/>
|
|
||||||
<result column="PK_ORDER" property="pkOrder"/>
|
|
||||||
<result column="CHANGE_TYPE" property="changeType"/>
|
|
||||||
<result column="TRADE_TIME" property="tradeTime"/>
|
|
||||||
<result column="PK_CREATOR" property="pkCreator"/>
|
|
||||||
<result column="PK_MODIFIED" property="pkModified"/>
|
|
||||||
</resultMap>
|
|
||||||
|
|
||||||
<insert id="insertCuMemberAssessDetailByPeriod">
|
|
||||||
merge into cu_member_assess_detail a
|
|
||||||
using (select ca.pk_id,ca.pk_member,(case when ca.assess_type=0 then 1 else 3 end) change_type,
|
|
||||||
ca.assess_target trade_achieve,ca.pk_creator,ca.pk_country from ${tableName} ca
|
|
||||||
where ca.assess_status=2 and ca.period = #{period} and pk_member in
|
|
||||||
<foreach collection="cuMemberList" item="item" open="(" close=")" separator=",">
|
|
||||||
#{item.pkMember}
|
|
||||||
</foreach>
|
|
||||||
and assess_type = #{assessType}
|
|
||||||
and ca.assess_target <= ca.month_balance+ca.month_add) b
|
|
||||||
on (a.pk_assess = b.pk_id and a.pk_member = b.pk_member and a.change_type=b.change_type)
|
|
||||||
when not matched then
|
|
||||||
insert (pk_assess,pk_member,change_type,trade_achieve, pk_creator,pk_country)
|
|
||||||
values(b.pk_id,b.pk_member,b.change_type,b.trade_achieve, b.pk_creator,b.pk_country)
|
|
||||||
</insert>
|
|
||||||
|
|
||||||
<insert id="insertCuMemberAssesDetailByOrder">
|
|
||||||
insert into cu_member_assess_detail (pk_assess, pk_member, PK_ORDER, change_type, trade_achieve, TRADE_TIME, pk_creator, pk_country)
|
|
||||||
select nvl(ca.pk_id, 0) PK_ASSESS,
|
|
||||||
so.PK_MEMBER,
|
|
||||||
so.pk_id pk_order,
|
|
||||||
0 CHANGE_TYPE,
|
|
||||||
order_achieve TRADE_ACHIEVE,
|
|
||||||
pay_time TRADE_TIME,
|
|
||||||
so.PK_MEMBER,
|
|
||||||
so.pk_country
|
|
||||||
from sa_order so
|
|
||||||
left join (select * from ${tableName} where period = #{period} and ASSESS_TYPE = 0) ca
|
|
||||||
on so.pk_member = ca.pk_member
|
|
||||||
where so.del_flag = 0
|
|
||||||
and so.order_status = 1
|
|
||||||
and order_type in (3, 12, 14, 22, 26, 31)
|
|
||||||
and so.order_achieve > 0
|
|
||||||
and pay_time >= #{startDate, jdbcType=DATE}
|
|
||||||
and pay_time < #{endDate, jdbcType=DATE}
|
|
||||||
union
|
|
||||||
select nvl(ca.pk_id, 0) PK_ASSESS,
|
|
||||||
so.PK_MEMBER,
|
|
||||||
so.pk_id pk_order,
|
|
||||||
2 CHANGE_TYPE,
|
|
||||||
order_ass_achieve TRADE_ACHIEVE,
|
|
||||||
pay_time TRADE_TIME,
|
|
||||||
so.PK_MEMBER,
|
|
||||||
so.pk_country
|
|
||||||
from sa_order so
|
|
||||||
left join (select * from ${tableName} where period = #{period} and ASSESS_TYPE = 1) ca
|
|
||||||
on so.pk_member = ca.pk_member
|
|
||||||
where so.del_flag = 0
|
|
||||||
and so.order_status = 1
|
|
||||||
and order_type = 13
|
|
||||||
and pay_time >= #{startDate, jdbcType=DATE}
|
|
||||||
and pay_time < #{endDate, jdbcType=DATE}
|
|
||||||
</insert>
|
|
||||||
|
|
||||||
<update id="updateCuMemberAssessDetailByPeriod">
|
|
||||||
merge into cu_member_assess_detail a
|
|
||||||
using (select pk_id,
|
|
||||||
pk_member,
|
|
||||||
(case when assess_type = 0 then 1 else 3 end) change_type,
|
|
||||||
assess_target trade_achieve,
|
|
||||||
pk_creator,
|
|
||||||
pk_country
|
|
||||||
from ${tableName}
|
|
||||||
where assess_status = 2
|
|
||||||
and period = #{period}
|
|
||||||
and assess_target <= month_balance + month_add) b
|
|
||||||
on (a.pk_assess = b.pk_id and a.pk_member = b.pk_member and a.change_type = b.change_type)
|
|
||||||
when matched then
|
|
||||||
update set a.trade_achieve = b.trade_achieve
|
|
||||||
when not matched then
|
|
||||||
insert (pk_assess, pk_member, change_type, trade_achieve, pk_creator, pk_country)
|
|
||||||
values (b.pk_id, b.pk_member, b.change_type, b.trade_achieve, b.pk_creator, b.pk_country)
|
|
||||||
</update>
|
|
||||||
|
|
||||||
<update id="updateCuMemberAssessDetailByRevoke">
|
|
||||||
merge into cu_member_assess_detail a
|
|
||||||
using(
|
|
||||||
<foreach collection="revokeDetailList" item="item" open=" " separator=" union " close=" ">
|
|
||||||
select #{item.changeType} change_type,#{item.pkMember} pk_member,#{item.pkAssess} pk_assess from dual
|
|
||||||
</foreach>
|
|
||||||
)b on (a.pk_assess=b.pk_assess and a.pk_member=b.pk_member and a.change_type=b.change_type)
|
|
||||||
when matched then
|
|
||||||
update set a.del_flag=1
|
|
||||||
</update>
|
|
||||||
|
|
||||||
<delete id="deleteCuMemberAssessDetailByPeriod">
|
|
||||||
DELETE
|
|
||||||
FROM cu_member_assess_detail
|
|
||||||
WHERE pk_assess IN (
|
|
||||||
SELECT pk_id
|
|
||||||
FROM ${tableName}
|
|
||||||
WHERE period = #{period})
|
|
||||||
</delete>
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue