Compare commits
No commits in common. "91fac644d346a4ba8edfd238fde430604d1920ee" and "637aca701dd01116950eb79a77d4a9d25881c13d" have entirely different histories.
91fac644d3
...
637aca701d
|
|
@ -40,7 +40,7 @@ public interface ICuMemberBonusStageService extends IService<CuMemberBonusStage>
|
||||||
/**
|
/**
|
||||||
* 填充指定点位
|
* 填充指定点位
|
||||||
*/
|
*/
|
||||||
void fillRetailDetail(CuMemberRetailDetail targetRetailDetail, String point,
|
boolean fillRetailDetail(CuMemberRetailDetail targetRetailDetail, String point,
|
||||||
CuMemberRetailDetail sourceRetailDetail, Date settleDate, EBonusStage eBonusStage,
|
CuMemberRetailDetail sourceRetailDetail, Date settleDate, EBonusStage eBonusStage,
|
||||||
List<BonusStageData> bonusStageDataList);
|
List<BonusStageData> bonusStageDataList);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1114,7 +1114,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
cuMemberBonusStage.setChildNode(bonusStageData.getTargetChildNode());
|
cuMemberBonusStage.setChildNode(bonusStageData.getTargetChildNode());
|
||||||
cuMemberBonusStage.setStage(bonusStageData.getStage());
|
cuMemberBonusStage.setStage(bonusStageData.getStage());
|
||||||
cuMemberBonusStage.setStageNum(bonusStageData.getStageNum());
|
cuMemberBonusStage.setStageNum(bonusStageData.getStageNum());
|
||||||
cuMemberBonusStage.setPkSourceMember(sourceMember.getPkMember());
|
|
||||||
stageIncomeRemark(saOrderExt, cuMemberBonusStage, sourceMember, targetMember);
|
stageIncomeRemark(saOrderExt, cuMemberBonusStage, sourceMember, targetMember);
|
||||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusStage, saOrderExt != null ? saOrderExt.getOrderAmount() : null, saOrderExt != null ? saOrderExt.getInExchangeRate() : null);
|
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusStage, saOrderExt != null ? saOrderExt.getOrderAmount() : null, saOrderExt != null ? saOrderExt.getInExchangeRate() : null);
|
||||||
if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusStage.getIncomeStatus()) {
|
if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusStage.getIncomeStatus()) {
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,6 @@ import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
|
||||||
import com.hzs.common.domain.member.bonus.CuMemberBonus;
|
import com.hzs.common.domain.member.bonus.CuMemberBonus;
|
||||||
import com.hzs.common.domain.member.bonus.CuMemberBonusStage;
|
import com.hzs.common.domain.member.bonus.CuMemberBonusStage;
|
||||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
|
@ -30,7 +29,6 @@ import java.util.*;
|
||||||
/**
|
/**
|
||||||
* 会员奖金-阶段收益明细表 服务实现类
|
* 会员奖金-阶段收益明细表 服务实现类
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
|
||||||
@Service
|
@Service
|
||||||
public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStageMapper, CuMemberBonusStage> implements ICuMemberBonusStageService {
|
public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStageMapper, CuMemberBonusStage> implements ICuMemberBonusStageService {
|
||||||
|
|
||||||
|
|
@ -73,7 +71,7 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
||||||
public CuMemberBonusStage getCuMemberBonusStage(SaOrderExt saOrderExt, CuMemberRetailRangeExt cuMemberRetailRange, CuMemberBonus cuMemberBonus, Integer pkBonusItems) {
|
public CuMemberBonusStage getCuMemberBonusStage(SaOrderExt saOrderExt, CuMemberRetailRangeExt cuMemberRetailRange, CuMemberBonus cuMemberBonus, Integer pkBonusItems) {
|
||||||
CuMemberBonusStage cuMemberBonusStage = CuMemberBonusStage.builder()
|
CuMemberBonusStage cuMemberBonusStage = CuMemberBonusStage.builder()
|
||||||
.pkBonus(cuMemberBonus.getPkId())
|
.pkBonus(cuMemberBonus.getPkId())
|
||||||
.pkOrder(null != saOrderExt ? saOrderExt.getPkId() : 0)
|
.pkOrder(saOrderExt.getPkId())
|
||||||
.pkBonusItems(pkBonusItems)
|
.pkBonusItems(pkBonusItems)
|
||||||
.incomeStatus(cuMemberRetailRange.getIncomeStatus())
|
.incomeStatus(cuMemberRetailRange.getIncomeStatus())
|
||||||
.calType(ECalType.VALUE.getValue())
|
.calType(ECalType.VALUE.getValue())
|
||||||
|
|
@ -119,8 +117,8 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
||||||
for (String suffix : BonusConstants.FIELD_LIST) {
|
for (String suffix : BonusConstants.FIELD_LIST) {
|
||||||
Field pointMemberField = BonusConstants.FIELD_MAP.get(BonusConstants.POINT_MEMBER_FIELD_NAME + suffix);
|
Field pointMemberField = BonusConstants.FIELD_MAP.get(BonusConstants.POINT_MEMBER_FIELD_NAME + suffix);
|
||||||
Field pointField = BonusConstants.FIELD_MAP.get(BonusConstants.POINT_FIELD_NAME + suffix);
|
Field pointField = BonusConstants.FIELD_MAP.get(BonusConstants.POINT_FIELD_NAME + suffix);
|
||||||
if (newParentRetailDetail.getPkMember().equals(ReflectUtil.getFieldValue(targetRetailDetail, pointMemberField))
|
if (ReflectUtil.getFieldValue(targetRetailDetail, pointMemberField).equals(newParentRetailDetail.getPkMember())
|
||||||
&& newParentRetailDetail.getChildNode().equals(ReflectUtil.getFieldValue(targetRetailDetail, pointField))) {
|
&& ReflectUtil.getFieldValue(targetRetailDetail, pointField).equals(newParentRetailDetail.getChildNode())) {
|
||||||
// 中间点位在目标点位的位置,根据位置获取新点位填充的位置
|
// 中间点位在目标点位的位置,根据位置获取新点位填充的位置
|
||||||
switch (suffix) {
|
switch (suffix) {
|
||||||
case BonusConstants.POINT_11:
|
case BonusConstants.POINT_11:
|
||||||
|
|
@ -259,95 +257,88 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
||||||
* 填充点位
|
* 填充点位
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void fillRetailDetail(CuMemberRetailDetail targetRetailDetail, String point,
|
public boolean fillRetailDetail(CuMemberRetailDetail targetRetailDetail, String point,
|
||||||
CuMemberRetailDetail sourceRetailDetail, Date settleDate, EBonusStage eBonusStage,
|
CuMemberRetailDetail sourceRetailDetail, Date settleDate, EBonusStage eBonusStage,
|
||||||
List<BonusStageData> bonusStageDataList) {
|
List<BonusStageData> bonusStageDataList) {
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + point, sourceRetailDetail.getPkMember());
|
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + point, sourceRetailDetail.getPkMember());
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_FIELD_NAME + point, sourceRetailDetail.getChildNode());
|
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_FIELD_NAME + point, sourceRetailDetail.getChildNode());
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.UPDATE_FLAG, 0);
|
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.UPDATE_FLAG, 0);
|
||||||
|
|
||||||
if (EBonusStage.ONE.getValue() == eBonusStage.getValue()
|
switch (point) {
|
||||||
|| EBonusStage.TWO.getValue() == eBonusStage.getValue()) {
|
case BonusConstants.POINT_31:
|
||||||
switch (point) {
|
case BonusConstants.POINT_32:
|
||||||
case BonusConstants.POINT_31:
|
case BonusConstants.POINT_33:
|
||||||
case BonusConstants.POINT_32:
|
case BonusConstants.POINT_34:
|
||||||
case BonusConstants.POINT_33:
|
case BonusConstants.POINT_35:
|
||||||
case BonusConstants.POINT_34:
|
case BonusConstants.POINT_36:
|
||||||
case BonusConstants.POINT_35:
|
case BonusConstants.POINT_37:
|
||||||
case BonusConstants.POINT_36:
|
case BonusConstants.POINT_38:
|
||||||
case BonusConstants.POINT_37:
|
// 如果填充的点位是第三层,理论上有可能已经全部填满,需要判断是否已经完成
|
||||||
case BonusConstants.POINT_38:
|
boolean isFinish = true;
|
||||||
// 如果填充的点位是第三层,理论上有可能已经全部填满,需要判断是否已经完成
|
for (String suffix : BonusConstants.FIELD_LIST) {
|
||||||
boolean isFinish = true;
|
if (null == ReflectUtil.getFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + suffix)) {
|
||||||
for (String suffix : BonusConstants.FIELD_LIST) {
|
isFinish = false;
|
||||||
if (null == ReflectUtil.getFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + suffix)) {
|
break;
|
||||||
isFinish = false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (isFinish) {
|
}
|
||||||
targetRetailDetail.setStageStatus(EBonusStageStatus.YES.getValue());
|
if (isFinish) {
|
||||||
targetRetailDetail.setStageDate(settleDate);
|
targetRetailDetail.setStageStatus(EBonusStageStatus.YES.getValue());
|
||||||
if (EBonusStage.ONE.getValue() == eBonusStage.getValue()) {
|
targetRetailDetail.setStageDate(settleDate);
|
||||||
// 一阶段,全满发放阶段奖
|
if (EBonusStage.ONE.getValue() == eBonusStage.getValue()) {
|
||||||
// 返回奖金收益处理数据
|
// 一阶段,全满发放阶段奖
|
||||||
BonusStageData bonusStageData = BonusStageData.builder()
|
// 返回奖金收益处理数据
|
||||||
.bonusIncome(BonusConstants.ONE_BONUS)
|
BonusStageData bonusStageData = BonusStageData.builder()
|
||||||
.targetPkMember(targetRetailDetail.getPkMember())
|
.bonusIncome(BonusConstants.ONE_BONUS)
|
||||||
.targetChildNode(targetRetailDetail.getChildNode())
|
.targetPkMember(targetRetailDetail.getPkMember())
|
||||||
.stage(eBonusStage.getValue())
|
.targetChildNode(targetRetailDetail.getChildNode())
|
||||||
.stageNum(14)
|
.stage(eBonusStage.getValue())
|
||||||
.build();
|
.stageNum(14)
|
||||||
// 生成二阶段点位
|
.build();
|
||||||
bonusStageData.setTwoRetailDetail(CuMemberRetailDetail.builder()
|
// 生成二阶段点位
|
||||||
.pkMember(targetRetailDetail.getPkMember())
|
bonusStageData.setTwoRetailDetail(CuMemberRetailDetail.builder()
|
||||||
.childNode(targetRetailDetail.getChildNode())
|
.pkMember(targetRetailDetail.getPkMember())
|
||||||
.pkParent(targetRetailDetail.getPkParent())
|
.childNode(targetRetailDetail.getChildNode())
|
||||||
.stage(EBonusStage.TWO.getValue())
|
.pkParent(targetRetailDetail.getPkParent())
|
||||||
.stageStatus(EBonusStageStatus.NO.getValue())
|
.stage(EBonusStage.TWO.getValue())
|
||||||
.pointType(targetRetailDetail.getPointType())
|
.stageStatus(EBonusStageStatus.NO.getValue())
|
||||||
.pointGift(targetRetailDetail.getPointGift())
|
.pointType(targetRetailDetail.getPointType())
|
||||||
.creationTime(settleDate)
|
.pointGift(targetRetailDetail.getPointGift())
|
||||||
.updateBool(0)
|
.creationTime(settleDate)
|
||||||
.build());
|
.updateBool(0)
|
||||||
bonusStageDataList.add(bonusStageData);
|
.build());
|
||||||
} else {
|
bonusStageDataList.add(bonusStageData);
|
||||||
// 二阶段,全满发放阶段奖
|
} else if (EBonusStage.TWO.getValue() == eBonusStage.getValue()) {
|
||||||
// 返回奖金收益处理数据
|
// 二阶段,全满发放阶段奖
|
||||||
BonusStageData bonusStageData = BonusStageData.builder()
|
// 返回奖金收益处理数据
|
||||||
.bonusIncome(BonusConstants.TWO_BONUS)
|
BonusStageData bonusStageData = BonusStageData.builder()
|
||||||
.targetPkMember(targetRetailDetail.getPkMember())
|
.bonusIncome(BonusConstants.TWO_BONUS)
|
||||||
.targetChildNode(targetRetailDetail.getChildNode())
|
.targetPkMember(targetRetailDetail.getPkMember())
|
||||||
.stage(eBonusStage.getValue())
|
.targetChildNode(targetRetailDetail.getChildNode())
|
||||||
.stageNum(14)
|
.stage(eBonusStage.getValue())
|
||||||
.build();
|
.stageNum(14)
|
||||||
bonusStageData.setThreeRetailDetail(CuMemberRetailDetail.builder()
|
.build();
|
||||||
.pkMember(targetRetailDetail.getPkMember())
|
bonusStageData.setThreeRetailDetail(CuMemberRetailDetail.builder()
|
||||||
.childNode(targetRetailDetail.getChildNode())
|
.pkMember(targetRetailDetail.getPkMember())
|
||||||
.pkParent(targetRetailDetail.getPkParent())
|
.childNode(targetRetailDetail.getChildNode())
|
||||||
.stage(EBonusStage.THREE.getValue())
|
.pkParent(targetRetailDetail.getPkParent())
|
||||||
.stageStatus(EBonusStageStatus.NO.getValue())
|
.stage(EBonusStage.THREE.getValue())
|
||||||
.pointType(targetRetailDetail.getPointType())
|
.stageStatus(EBonusStageStatus.NO.getValue())
|
||||||
.pointGift(targetRetailDetail.getPointGift())
|
.pointType(targetRetailDetail.getPointType())
|
||||||
.creationTime(settleDate)
|
.pointGift(targetRetailDetail.getPointGift())
|
||||||
.updateBool(0)
|
.creationTime(settleDate)
|
||||||
.build());
|
.updateBool(0)
|
||||||
bonusStageDataList.add(bonusStageData);
|
.build());
|
||||||
}
|
bonusStageDataList.add(bonusStageData);
|
||||||
return;
|
} else if (EBonusStage.THREE.getValue() == eBonusStage.getValue()) {
|
||||||
}
|
// TODO 三阶段发放特殊处理
|
||||||
break;
|
// TODO 三阶段填充满,判断是否需要赠送点位
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// TODO 三阶段发放特殊处理
|
|
||||||
// TODO 三阶段填充满,判断是否需要赠送点位
|
|
||||||
switch (point) {
|
|
||||||
case BonusConstants.POINT_11:
|
|
||||||
case BonusConstants.POINT_12:
|
|
||||||
|
|
||||||
break;
|
}
|
||||||
}
|
return true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,6 @@
|
||||||
#{items}
|
#{items}
|
||||||
</foreach>
|
</foreach>
|
||||||
and cmrd.stage = #{stage}
|
and cmrd.stage = #{stage}
|
||||||
and cmrd.stage_status = 1
|
|
||||||
order by cmrd.pk_member, cmrd.child_node
|
order by cmrd.pk_member, cmrd.child_node
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,13 +22,13 @@
|
||||||
cal_type, cal_achieve, cal_value,
|
cal_type, cal_achieve, cal_value,
|
||||||
pretax_income, income_tax, real_income, remark,
|
pretax_income, income_tax, real_income, remark,
|
||||||
income_ratio, income_dial_ratio, order_dial_ratio,
|
income_ratio, income_dial_ratio, order_dial_ratio,
|
||||||
pk_creator, child_node, stage, stage_num, pk_source_member)
|
pk_creator, child_node, stage, stage_num)
|
||||||
values (
|
values (
|
||||||
#{item.pkBonus}, #{item.pkOrder}, #{item.pkBonusItems}, #{item.incomeStatus},
|
#{item.pkBonus}, #{item.pkOrder}, #{item.pkBonusItems}, #{item.incomeStatus},
|
||||||
#{item.calType}, #{item.calAchieve}, #{item.calValue},
|
#{item.calType}, #{item.calAchieve}, #{item.calValue},
|
||||||
#{item.pretaxIncome}, #{item.incomeTax}, #{item.realIncome}, #{item.remark},
|
#{item.pretaxIncome}, #{item.incomeTax}, #{item.realIncome}, #{item.remark},
|
||||||
#{item.incomeRatio}, #{item.incomeDialRatio}, #{item.orderDialRatio},
|
#{item.incomeRatio}, #{item.incomeDialRatio}, #{item.orderDialRatio},
|
||||||
#{item.pkCreator}, #{item.childNode}, #{item.stage}, #{item.stageNum}, #{item.pkSourceMember})
|
#{item.pkCreator}, #{item.childNode}, #{item.stage}, #{item.stageNum})
|
||||||
</foreach>
|
</foreach>
|
||||||
SELECT 1 FROM dual
|
SELECT 1 FROM dual
|
||||||
</insert>
|
</insert>
|
||||||
|
|
|
||||||
|
|
@ -133,11 +133,5 @@ public class CuMemberBonusStage extends BaseEntity {
|
||||||
@TableField("STAGE_NUM")
|
@TableField("STAGE_NUM")
|
||||||
private Integer stageNum;
|
private Integer stageNum;
|
||||||
|
|
||||||
/**
|
|
||||||
* 来源会员ID
|
|
||||||
*/
|
|
||||||
@TableField("PK_SOURCE_MEMBER")
|
|
||||||
private Long pkSourceMember;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue