## 考核处理改为全员考核处理;
This commit is contained in:
parent
b56609f821
commit
925635f977
|
@ -177,7 +177,6 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
// 直接计算奖金 业绩 * 计算值,判断是否有扣项
|
||||
// 获取等级对应的业绩
|
||||
BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
|
||||
// TODO new 乐学处理直接使用订单业绩,不跟等级业绩走
|
||||
// // 获得升级方式
|
||||
// String value = systemConfigMap.get(targetMemberSettleExt.getPkSettleCountry() + ESystemConfig.UPGRADE_WAY.getKey());
|
||||
// if (Objects.equals(Integer.toString(EUpgradeWay.COVER.getValue()), value) && CollectionUtil.isNotEmpty(gradeList)) {
|
||||
|
|
|
@ -69,17 +69,6 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle {
|
|||
continue;
|
||||
}
|
||||
|
||||
// TODO new 乐学没有复购考核校验,改为校验月新增小区业绩
|
||||
// // 正常状态的辅导奖需要判断复购考核,复购考核不通过的状态变为烧伤
|
||||
// if (EYesNo.NO.getIntValue() == targetMemberSettleExt.getPurchaseStatus()) {
|
||||
// // 需要复购考核的
|
||||
// CuMemberAssess cuMemberAssess = cuMemberAssessMap.get(targetMemberSettleExt.getPkMember());
|
||||
// if (cuMemberAssess == null) {
|
||||
// pkParent = targetMemberSettleExt.getPkParent();
|
||||
// continue;
|
||||
// }
|
||||
// }
|
||||
|
||||
CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, saOrderExt, targetMemberSettleExt);
|
||||
// 直推奖金明细
|
||||
int pkBonusItem = getPkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.HELP_EACH_INCOME.getValue());
|
||||
|
@ -193,8 +182,6 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle {
|
|||
Map<Long, CuMemberBonus> cuMemberBonusMap, SaOrderExt saOrderExt,
|
||||
List<CuMemberSettleExt> cuMemberSettleExtList, String settleDateStr) {
|
||||
// 根据订单获取轮次,要回写
|
||||
// 乐学新制度没有没有复购考核了
|
||||
// Map<Long, CuMemberAssess> cuMemberAssessMap = getCuMemberAssessMap(cuMemberSettleExtMap, settleDateStr, cuMemberSettleExtList);
|
||||
return calculateRepurchasePushBonusOne(cuMemberSettleExtMap, bonusConfigDTO, null, period, cuMemberBonusMap, saOrderExt);
|
||||
}
|
||||
|
||||
|
|
|
@ -468,7 +468,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
List<SaOrderExt> mallOrderList = new ArrayList<>();
|
||||
// 拓展收益订单 -- 2025.05.13 拓展收益比例改为1:2,首购+复购业绩合并计算
|
||||
List<SaOrderExt> expandOrderList = newExpandFlag ? new ArrayList<>() : null;
|
||||
// 特殊订单,目前乐学易考
|
||||
// 其他订单 注意,累计业绩已经在计算奖衔前累计完成,不需要在计算累计业绩,只需要计算新增跟结余过滤掉其他订单
|
||||
saOrderExtList.forEach(saOrderExt -> {
|
||||
//根据订单状态回退网体,查询撤销订单, 撤销订单不进行结算
|
||||
|
|
|
@ -216,7 +216,7 @@ public interface CuMemberAssessMapper extends BaseMapper<CuMemberAssess> {
|
|||
@Param("startDate") Date startDate);
|
||||
|
||||
/**
|
||||
* 处理考试通过会员
|
||||
* 处理会员考核
|
||||
*
|
||||
* @param accessTableName
|
||||
* @param startDate
|
||||
|
|
|
@ -420,7 +420,7 @@ public class CuMemberAssessServiceImpl extends ServiceImpl<CuMemberAssessMapper,
|
|||
baseMapper.createPassMemberAssess(assessTableName, monthStartDate, endDate, startDate);
|
||||
|
||||
// 会员复购订单首月免考
|
||||
// 当月会员复购考核
|
||||
// 当月会员复购考核(撤单可能更新为考核不通过)
|
||||
baseMapper.updatePassMemberAssess(assessTableName, startDate, endDate);
|
||||
|
||||
// 初始化考核数据
|
||||
|
|
|
@ -10,15 +10,10 @@ import java.util.Date;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员信息-会员考核记录VO
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-08-31
|
||||
*/
|
||||
@Data
|
||||
public class CuMemberAssessVO {
|
||||
public class CuMemberAssessVO {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
@ -62,8 +57,6 @@ public class CuMemberAssessVO {
|
|||
private String orderCode;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 交易时间
|
||||
*/
|
||||
|
@ -141,9 +134,4 @@ public class CuMemberAssessVO {
|
|||
List<Integer> orderTypeList;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1185,7 +1185,7 @@
|
|||
from ${assessTableName} cma
|
||||
where cma.del_flag = 0
|
||||
and cma.assess_type = 5
|
||||
and cma.assess_status in (1, 2)) tmp
|
||||
and cma.assess_status in (0, 1)) tmp
|
||||
on (tmp.pk_member = cms.pk_member)
|
||||
when matched then
|
||||
update set cms.is_maker_space = 0
|
||||
|
|
|
@ -460,12 +460,19 @@
|
|||
<update id="createPassMemberAssess">
|
||||
merge into ${accessTableName} cma
|
||||
using (
|
||||
select cm.pk_id
|
||||
select cm.pk_id,
|
||||
case
|
||||
when cm.pay_time >= #{monthStartDate} and #{endDate} >= cm.pay_time then 0
|
||||
else 1
|
||||
end is_examine,
|
||||
case
|
||||
when cm.pay_time >= #{monthStartDate} and #{endDate} >= cm.pay_time then 1
|
||||
else 2
|
||||
end assess_status
|
||||
from cu_member cm
|
||||
where cm.del_flag = 0
|
||||
and cm.category = 0
|
||||
and cm.pay_status = 1
|
||||
and cm.pay_time >= #{monthStartDate}
|
||||
and #{endDate} >= cm.pay_time
|
||||
) tmp
|
||||
on (cma.pk_member = tmp.pk_id and assess_type = 5 and cma.del_flag = 0)
|
||||
when not matched then
|
||||
|
@ -479,35 +486,46 @@
|
|||
end_date)
|
||||
values (tmp.pk_id,
|
||||
5,
|
||||
0,
|
||||
1,
|
||||
tmp.is_examine,
|
||||
tmp.assess_status,
|
||||
tmp.pk_id,
|
||||
#{startDate},
|
||||
#{endDate})
|
||||
</update>
|
||||
|
||||
<!-- 处理考试通过会员 -->
|
||||
<!-- 处理会员考核 -->
|
||||
<update id="updatePassMemberAssess">
|
||||
merge into ${accessTableName} cma
|
||||
using (select tmp.pk_member, tmp.pay_time
|
||||
from (select so.pk_member, min(so.pay_time) pay_time
|
||||
from sa_order so
|
||||
where so.del_flag = 0
|
||||
and so.order_type = 3
|
||||
and so.order_status = 1
|
||||
and so.order_achieve > 0
|
||||
and so.pay_time >= #{startDate}
|
||||
and #{endDate} >= so.pay_time
|
||||
group by so.pk_member) tmp
|
||||
using (select tmp.pk_member,
|
||||
tmp.pay_time,
|
||||
case
|
||||
when tmp.pay_time is null then 2
|
||||
else 0
|
||||
end assess_status
|
||||
from (select cma.pk_member, tmp.pay_time
|
||||
from ${accessTableName} cma
|
||||
left join (select so.pk_member, min(so.pay_time) pay_time
|
||||
from sa_order so
|
||||
where so.del_flag = 0
|
||||
and so.order_type = 3
|
||||
and so.order_status = 1
|
||||
and so.order_achieve > 0
|
||||
and so.pay_time >= #{startDate}
|
||||
and #{endDate} >= so.pay_time
|
||||
group by so.pk_member) tmp
|
||||
on tmp.pk_member = cma.pk_member
|
||||
where cma.assess_type = 5
|
||||
and cma.is_examine = 1
|
||||
and cma.del_flag = 0) tmp
|
||||
left join ${accessTableName} cma
|
||||
on cma.pk_member = tmp.pk_member
|
||||
and cma.assess_type = 0
|
||||
and cma.del_flag = 0
|
||||
where cma.start_date is null
|
||||
or tmp.pay_time > cma.start_date) tmp
|
||||
on (cma.pk_member = tmp.pk_member and assess_type = 5 and cma.del_flag = 0 and cma.is_examine = 1)
|
||||
and cma.assess_type = 5
|
||||
and cma.is_examine = 1
|
||||
and cma.del_flag = 0) tmp
|
||||
on (cma.pk_member = tmp.pk_member and assess_type = 5 and cma.is_examine = 1 and cma.del_flag = 0)
|
||||
when matched then
|
||||
update set cma.start_date = tmp.pay_time
|
||||
update set cma.assess_status = tmp.assess_status,
|
||||
cma.start_date = tmp.pay_time
|
||||
when not matched then
|
||||
insert
|
||||
(pk_member,
|
||||
|
@ -517,7 +535,14 @@
|
|||
pk_creator,
|
||||
start_date,
|
||||
end_date)
|
||||
values (tmp.pk_member, 5, 1, 0, tmp.pk_member, trunc(tmp.pay_time), #{endDate})
|
||||
values
|
||||
(tmp.pk_member,
|
||||
5,
|
||||
1,
|
||||
tmp.assess_status,
|
||||
tmp.pk_member,
|
||||
trunc(tmp.pay_time),
|
||||
#{endDate})
|
||||
</update>
|
||||
|
||||
<!-- 初始化区域考核数据 -->
|
||||
|
|
|
@ -23,6 +23,11 @@ public class MemberAssessParam implements Serializable {
|
|||
*/
|
||||
private String memberCode;
|
||||
|
||||
/**
|
||||
* 考核状态
|
||||
*/
|
||||
private Integer assessStatus;
|
||||
|
||||
/**
|
||||
* 考核类型
|
||||
*/
|
||||
|
|
|
@ -12,12 +12,7 @@ import java.util.Date;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员信息-会员考核记录VO
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-08-31
|
||||
*/
|
||||
@Data
|
||||
public class CuMemberAssessVO implements Serializable {
|
||||
|
|
|
@ -1,11 +1,14 @@
|
|||
package com.hzs.member.detail.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.hzs.common.core.annotation.BigDecimalFormat;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 会员考核列表返回VO
|
||||
|
@ -51,10 +54,18 @@ public class MemberAssessVO implements Serializable {
|
|||
/**
|
||||
* 考核目标
|
||||
*/
|
||||
@BigDecimalFormat
|
||||
private BigDecimal assessTarget;
|
||||
/**
|
||||
* 新増业绩
|
||||
*/
|
||||
@BigDecimalFormat
|
||||
private BigDecimal monthAdd;
|
||||
|
||||
/**
|
||||
* 免考通过时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date startDate;
|
||||
|
||||
}
|
||||
|
|
|
@ -170,6 +170,9 @@
|
|||
<if test="param.memberCode != null and param.memberCode != ''">
|
||||
and cm.member_code like #{param.memberCode} || '%'
|
||||
</if>
|
||||
<if test="param.assessStatus != null">
|
||||
and cma.assess_status = #{param.assessStatus}
|
||||
</if>
|
||||
<if test="param.assessTypeList != null and param.assessTypeList.size > 0">
|
||||
and cma.assess_type in
|
||||
<foreach collection="param.assessTypeList" item="item" open="(" separator="," close=")">
|
||||
|
|
|
@ -2114,7 +2114,7 @@ public class EnumsController extends BaseController {
|
|||
public AjaxResult assessStatus() {
|
||||
List<EnumEntity> enumEntityList = new ArrayList<>();
|
||||
for (EAssessStatus value : EAssessStatus.values()) {
|
||||
enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ASSESS_STATUS));
|
||||
enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
|
||||
}
|
||||
return AjaxResult.success(enumEntityList);
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.hzs.common.core.enums;
|
||||
|
||||
import com.hzs.common.core.constant.EnumsPrefixConstants;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
|
@ -14,19 +13,19 @@ public enum EAssessStatus {
|
|||
/**
|
||||
* 0=考核通过 1=免考通过 2=考核不通过 3=不考核
|
||||
*/
|
||||
EXAMINE_PASS(0, "考核通过", 0, EnumsPrefixConstants.ASSESS_STATUS + 0),
|
||||
EXAMINE_PASS(0, "考核通过", 0),
|
||||
/**
|
||||
* 1=免考通过
|
||||
*/
|
||||
EXEMPT_PASS(1, "免考通过", 0, EnumsPrefixConstants.ASSESS_STATUS + 1),
|
||||
EXEMPT_PASS(1, "免考通过", 0),
|
||||
/**
|
||||
* 2=考核不通过
|
||||
*/
|
||||
EXAMINE_NO_PASS(2, "考核不通过", 0, EnumsPrefixConstants.ASSESS_STATUS + 2),
|
||||
EXAMINE_NO_PASS(2, "考核不通过", 0),
|
||||
/**
|
||||
* 3=不考核
|
||||
*/
|
||||
NO_EXAMINE(3, "不考核", 0, EnumsPrefixConstants.ASSESS_STATUS + 3),
|
||||
NO_EXAMINE(3, "不考核", 0),
|
||||
|
||||
;
|
||||
|
||||
|
@ -42,10 +41,6 @@ public enum EAssessStatus {
|
|||
* 是否启用(0=是,1=否) -- 来源EYesNo
|
||||
*/
|
||||
private final int enable;
|
||||
/**
|
||||
* 国际化翻译key值
|
||||
*/
|
||||
private final String key;
|
||||
|
||||
|
||||
public static String getLabelByValue(Integer value) {
|
||||
|
|
|
@ -5,11 +5,7 @@ import lombok.AllArgsConstructor;
|
|||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Description: 考核状态(会员端专用)
|
||||
* @Author: sui q
|
||||
* @Time: 2022/11/9 13:33
|
||||
* @Classname: EAssessStatus
|
||||
* @PackageName: com.hzs.common.core.enums
|
||||
* 考核状态(会员端专用)
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
|
|
|
@ -4,13 +4,6 @@ import com.hzs.common.core.constant.EnumsPrefixConstants;
|
|||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: yuhui
|
||||
* @Time: 2023/4/19 9:07
|
||||
* @Classname: ERepurchaseType
|
||||
* @PackageName: com.hzs.common.enums
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum ERepurchaseType {
|
||||
|
|
|
@ -8,8 +8,6 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 枚举统一返回实体
|
||||
*
|
||||
* @author: jiiangchao
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@Data
|
||||
|
@ -69,9 +67,9 @@ public class EnumEntity {
|
|||
/**
|
||||
* 需要翻译的构造函数
|
||||
*
|
||||
* @param value 值
|
||||
* @param label 标签
|
||||
* @param field 字段
|
||||
* @param value 值
|
||||
* @param label 标签
|
||||
* @param field 字段
|
||||
* @param transactionKey 翻译健
|
||||
*/
|
||||
public EnumEntity(int value, String label, String field, String transactionKey) {
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package com.hzs.common.domain.member.detail;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
@ -109,5 +110,16 @@ public class CuMemberAssess extends BaseEntity {
|
|||
@TableField("MONTH_SURPLUS")
|
||||
private BigDecimal monthSurplus;
|
||||
|
||||
/**
|
||||
* 免考开始时间
|
||||
*/
|
||||
@TableField("START_DATE")
|
||||
private Date startDate;
|
||||
|
||||
/**
|
||||
* 免考结束时间
|
||||
*/
|
||||
@TableField("END_DATE")
|
||||
private Date endDate;
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue