## 复购配送收益;复购分公司级差收益;
This commit is contained in:
parent
50b9786a33
commit
22963fd03c
|
@ -5,6 +5,7 @@ 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.CuMemberExt;
|
||||
import com.hzs.common.domain.retail.member.CuMemberRetailRegion;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||
import com.hzs.common.domain.sale.order.SaOrder;
|
||||
import com.hzs.member.account.dto.BusinessCommissionDTO;
|
||||
|
@ -14,6 +15,7 @@ import com.hzs.member.base.dto.ZeroElementRevokeDTO;
|
|||
import com.hzs.member.handlebusiness.dto.AnalysisBusinessAppealParam;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
@ -381,4 +383,12 @@ public interface IMemberServiceApi {
|
|||
*/
|
||||
R<?> otherRetailMember(CuMember cuMember, SaOrderExt saOrder, CuMemberAccountExt cuMemberAccountExt, Boolean activateFlag);
|
||||
|
||||
/**
|
||||
* 有效区域列表
|
||||
*
|
||||
* @param queryDate
|
||||
* @return
|
||||
*/
|
||||
R<Map<Integer, CuMemberRetailRegion>> listEffectiveRegion(Date queryDate);
|
||||
|
||||
}
|
||||
|
|
|
@ -10,14 +10,11 @@ import com.hzs.bonus.bonus.vo.MemberBonusDetailSerVO;
|
|||
import com.hzs.common.core.annotation.AccessPermissions;
|
||||
import com.hzs.common.core.annotation.ColumnAuthority;
|
||||
import com.hzs.common.core.annotation.Log;
|
||||
import com.hzs.common.core.constant.BonusFieldConstants;
|
||||
import com.hzs.common.core.constant.EnumsPrefixConstants;
|
||||
import com.hzs.common.core.enums.*;
|
||||
import com.hzs.common.core.utils.ComputeUtil;
|
||||
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.utils.reflect.ReflectUtils;
|
||||
import com.hzs.common.core.web.controller.BaseController;
|
||||
import com.hzs.common.core.web.page.TableDataInfo;
|
||||
import com.hzs.common.domain.member.ext.CuMemberBonusExt;
|
||||
|
@ -46,14 +43,14 @@ import java.util.stream.Collectors;
|
|||
public class CuMemberBonusController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private ICuMemberBonusService cuMemberBonusService;
|
||||
private ICuMemberBonusService iCuMemberBonusService;
|
||||
@Autowired
|
||||
private ITransactionCommonService transactionCommonService;
|
||||
private ITransactionCommonService iTransactionCommonService;
|
||||
|
||||
@DubboReference
|
||||
IUserServiceApi userServiceApi;
|
||||
IUserServiceApi iUserServiceApi;
|
||||
@DubboReference
|
||||
IMenuColumnServiceApi menuColumnServiceApi;
|
||||
IMenuColumnServiceApi iMenuColumnServiceApi;
|
||||
|
||||
/**
|
||||
* 分页查询会员某个时间段内的奖金汇总
|
||||
|
@ -73,7 +70,7 @@ public class CuMemberBonusController extends BaseController {
|
|||
bonusParam.setPkCountry(SecurityUtils.getPkCountry());
|
||||
packageBonusParam(bonusParam);
|
||||
startPage();
|
||||
List<CuMemberBonusExt> cuMemberBonusList = cuMemberBonusService.queryBonusTotalVoByConditionForServer(bonusParam);
|
||||
List<CuMemberBonusExt> cuMemberBonusList = iCuMemberBonusService.queryBonusTotalVoByConditionForServer(bonusParam);
|
||||
TableDataInfo dataTable = getDataTable(cuMemberBonusList);
|
||||
dataTable.setRows(getBonusTotalVoS(cuMemberBonusList));
|
||||
return dataTable;
|
||||
|
@ -94,9 +91,9 @@ public class CuMemberBonusController extends BaseController {
|
|||
bonusParam.setPkVertexList(pkVertex);
|
||||
bonusParam.setPkCountry(SecurityUtils.getPkCountry());
|
||||
packageBonusParam(bonusParam);
|
||||
List<CuMemberBonusExt> cuMemberBonusList = cuMemberBonusService.queryBonusTotalVoByConditionForServer(bonusParam);
|
||||
List<CuMemberBonusExt> cuMemberBonusList = iCuMemberBonusService.queryBonusTotalVoByConditionForServer(bonusParam);
|
||||
List<BonusTotalVO> bonusTotalVoList = getBonusTotalVoS(cuMemberBonusList);
|
||||
Map<String, Integer> sourceBonusList = menuColumnServiceApi.queryMenuColumn("totalBonus", SecurityUtils.getUserId()).getData();
|
||||
Map<String, Integer> sourceBonusList = iMenuColumnServiceApi.queryMenuColumn("totalBonus", SecurityUtils.getUserId()).getData();
|
||||
ExcelUtil<BonusTotalVO> util = new ExcelUtil<>(BonusTotalVO.class, sourceBonusList);
|
||||
util.exportExcel(response, bonusTotalVoList, "奖金汇总导出");
|
||||
}
|
||||
|
@ -105,9 +102,6 @@ public class CuMemberBonusController extends BaseController {
|
|||
List<BonusTotalVO> totalVoList = new ArrayList<>();
|
||||
cuMemberBonusList.forEach(cuMemberBonus -> {
|
||||
BonusTotalVO bonusTotalVO = BeanUtil.copyProperties(cuMemberBonus, BonusTotalVO.class);
|
||||
for (String key : CuMemberBonusVO.INCOME_ARRAY) {
|
||||
ReflectUtils.invokeSetter(bonusTotalVO, key + BonusFieldConstants.INCOME_SUFFIX, ComputeUtil.computeMultiply(ReflectUtils.invokeGetter(cuMemberBonus, key), cuMemberBonus.getOutExchangeRate()));
|
||||
}
|
||||
totalVoList.add(bonusTotalVO);
|
||||
});
|
||||
return totalVoList;
|
||||
|
@ -136,8 +130,8 @@ public class CuMemberBonusController extends BaseController {
|
|||
}
|
||||
packageBonusParam(bonusParam);
|
||||
startPage();
|
||||
List<CuMemberBonusExt> cuMemberBonusExtList = cuMemberBonusService.queryMemberBonusVoByConditionForServer(bonusParam);
|
||||
CuMemberBonusExt cmb = cuMemberBonusService.queryMemberBonusByConditionForServerSum(bonusParam);
|
||||
List<CuMemberBonusExt> cuMemberBonusExtList = iCuMemberBonusService.queryMemberBonusVoByConditionForServer(bonusParam);
|
||||
CuMemberBonusExt cmb = iCuMemberBonusService.queryMemberBonusByConditionForServerSum(bonusParam);
|
||||
if (cmb != null) {
|
||||
cmb.setMemberCode("合计");
|
||||
cuMemberBonusExtList.add(cmb);
|
||||
|
@ -163,18 +157,18 @@ public class CuMemberBonusController extends BaseController {
|
|||
bonusParam.setPkVertexList(pkVertex);
|
||||
bonusParam.setPkCountry(SecurityUtils.getPkCountry());
|
||||
packageBonusParam(bonusParam);
|
||||
List<CuMemberBonusExt> cuMemberBonusExtList = cuMemberBonusService.queryMemberBonusVoByConditionForServer(bonusParam);
|
||||
CuMemberBonusExt cuMemberBonusExt = cuMemberBonusService.initCuMemberBonus();
|
||||
cuMemberBonusExt.setMemberCode("小计:");
|
||||
List<CuMemberBonusExt> cuMemberBonusExtList = iCuMemberBonusService.queryMemberBonusVoByConditionForServer(bonusParam);
|
||||
CuMemberBonusExt cuMemberBonusExt = iCuMemberBonusService.initCuMemberBonus();
|
||||
cuMemberBonusExt.setMemberCode("合计:");
|
||||
if (CollectionUtil.isNotEmpty(cuMemberBonusExtList)) {
|
||||
cuMemberBonusExt.setOutExchangeRate(cuMemberBonusExtList.get(0).getOutExchangeRate());
|
||||
for (CuMemberBonusExt memberBonusExt : cuMemberBonusExtList) {
|
||||
cuMemberBonusService.calculateBonusTotal(cuMemberBonusExt, memberBonusExt);
|
||||
iCuMemberBonusService.calculateBonusTotal(cuMemberBonusExt, memberBonusExt);
|
||||
}
|
||||
}
|
||||
cuMemberBonusExtList.add(cuMemberBonusExt);
|
||||
List<CuMemberBonusVO> cuMemberBonusVoList = getBonusDetail(cuMemberBonusExtList);
|
||||
Map<String, Integer> bonusDetail = menuColumnServiceApi.queryMenuColumn("BonusDetail", SecurityUtils.getUserId()).getData();
|
||||
Map<String, Integer> bonusDetail = iMenuColumnServiceApi.queryMenuColumn("BonusDetail", SecurityUtils.getUserId()).getData();
|
||||
ExcelUtil<CuMemberBonusVO> util = new ExcelUtil<>(CuMemberBonusVO.class, bonusDetail);
|
||||
util.exportExcel(response, cuMemberBonusVoList, "奖金明细导出");
|
||||
}
|
||||
|
@ -183,13 +177,8 @@ public class CuMemberBonusController extends BaseController {
|
|||
List<CuMemberBonusVO> cuMemberBonusVoList = new ArrayList<>(cuMemberBonusExtList.size());
|
||||
for (CuMemberBonusExt cuMemberBonusExt : cuMemberBonusExtList) {
|
||||
CuMemberBonusVO cuMemberBonusVO = BeanUtil.copyProperties(cuMemberBonusExt, CuMemberBonusVO.class);
|
||||
|
||||
cuMemberBonusVO.setMemberCode(cuMemberBonusExt.getMemberCode());
|
||||
cuMemberBonusVO.setMemberName(cuMemberBonusExt.getMemberName());
|
||||
|
||||
for (String key : CuMemberBonusVO.INCOME_ARRAY) {
|
||||
ReflectUtils.invokeSetter(cuMemberBonusVO, key + BonusFieldConstants.INCOME_SUFFIX, ComputeUtil.computeMultiply(ReflectUtils.invokeGetter(cuMemberBonusExt, key), cuMemberBonusExt.getOutExchangeRate()));
|
||||
}
|
||||
cuMemberBonusVoList.add(cuMemberBonusVO);
|
||||
}
|
||||
return cuMemberBonusVoList;
|
||||
|
@ -205,7 +194,7 @@ public class CuMemberBonusController extends BaseController {
|
|||
bonusParam.setPkCountry(SecurityUtils.getPkCountry());
|
||||
packageBonusParam(bonusParam);
|
||||
startPage();
|
||||
return cuMemberBonusService.queryMemberBonusDetailSerVoByCondition(bonusParam);
|
||||
return iCuMemberBonusService.queryMemberBonusDetailSerVoByCondition(bonusParam);
|
||||
}
|
||||
|
||||
|
||||
|
@ -217,18 +206,14 @@ public class CuMemberBonusController extends BaseController {
|
|||
public void exportBonusSource(HttpServletResponse response, BonusParam bonusParam) {
|
||||
bonusParam.setPkCountry(SecurityUtils.getPkCountry());
|
||||
packageBonusParam(bonusParam);
|
||||
TableDataInfo tableDataInfo = cuMemberBonusService.queryMemberBonusDetailSerVoByCondition(bonusParam);
|
||||
TableDataInfo tableDataInfo = iCuMemberBonusService.queryMemberBonusDetailSerVoByCondition(bonusParam);
|
||||
List<MemberBonusDetailSerVO> memberBonusDetailSerVOList = (List<MemberBonusDetailSerVO>) tableDataInfo.getRows();
|
||||
// 获取需要翻译的枚举翻译
|
||||
Map<String, String> transactionMap = transactionCommonService.exportEnumTransaction(EOrderType.values(), EBonusIncomeStatus.values());
|
||||
Map<Integer, String> transactionLongMap = transactionCommonService.exportEnumTransactionByDB(EnumsPrefixConstants.KEY_GRADE, EnumsPrefixConstants.KEY_AWARD);
|
||||
Map<Integer, String> transactionLongMap = iTransactionCommonService.exportEnumTransactionByDB(EnumsPrefixConstants.KEY_GRADE, EnumsPrefixConstants.KEY_AWARD);
|
||||
for (MemberBonusDetailSerVO memberBonusDetailSerVO : memberBonusDetailSerVOList) {
|
||||
if (transactionMap.containsKey(EnumsPrefixConstants.ORDER_TYPE + memberBonusDetailSerVO.getOrderType().toString())) {
|
||||
memberBonusDetailSerVO.setOrderTypeVal(transactionMap.get(EnumsPrefixConstants.ORDER_TYPE + memberBonusDetailSerVO.getOrderType()));
|
||||
}
|
||||
if (transactionMap.containsKey(EnumsPrefixConstants.BONUS_INCOME_STATUS + memberBonusDetailSerVO.getIncomeStatus())) {
|
||||
memberBonusDetailSerVO.setIncomeStatusVal(transactionMap.get(EnumsPrefixConstants.BONUS_INCOME_STATUS + memberBonusDetailSerVO.getIncomeStatus()));
|
||||
}
|
||||
memberBonusDetailSerVO.setOrderTypeVal(EOrderType.getLabelByValue(memberBonusDetailSerVO.getOrderType()));
|
||||
memberBonusDetailSerVO.setIncomeStatusVal(EBonusIncomeStatus.getLabelByValue(memberBonusDetailSerVO.getIncomeStatus()));
|
||||
|
||||
if (transactionLongMap.containsKey(memberBonusDetailSerVO.getPkSettleGrade())) {
|
||||
memberBonusDetailSerVO.setPkSettleGradeVal(transactionLongMap.get(memberBonusDetailSerVO.getPkSettleGrade()));
|
||||
}
|
||||
|
@ -236,12 +221,12 @@ public class CuMemberBonusController extends BaseController {
|
|||
memberBonusDetailSerVO.setPkAwardsVal(transactionLongMap.get(memberBonusDetailSerVO.getPkAwards()));
|
||||
}
|
||||
}
|
||||
ExcelUtil<MemberBonusDetailSerVO> util = new ExcelUtil<>(MemberBonusDetailSerVO.class, menuColumnServiceApi.queryMenuColumn("sourceBonus", SecurityUtils.getUserId()).getData());
|
||||
ExcelUtil<MemberBonusDetailSerVO> util = new ExcelUtil<>(MemberBonusDetailSerVO.class, iMenuColumnServiceApi.queryMenuColumn("sourceBonus", SecurityUtils.getUserId()).getData());
|
||||
util.exportExcel(response, memberBonusDetailSerVOList, "奖金来源导出");
|
||||
}
|
||||
|
||||
private void packageBonusParam(BonusParam bonusParam) {
|
||||
UserAuthorityDTO userAuthorityDto = userServiceApi.getUserAuthority(SecurityUtils.getUserId()).getData();
|
||||
UserAuthorityDTO userAuthorityDto = iUserServiceApi.getUserAuthority(SecurityUtils.getUserId()).getData();
|
||||
bonusParam.setVertexList(userAuthorityDto.getUserVertexList());
|
||||
bonusParam.setTeamList(userAuthorityDto.getUserTeamList());
|
||||
bonusParam.setSystemType(SecurityUtils.getSystemType());
|
||||
|
|
|
@ -57,7 +57,7 @@ public abstract class BonusSettleHandle {
|
|||
* 获得 复购级差收益的备注
|
||||
*
|
||||
* @param saOrderExt 订单编号
|
||||
* @param cuMemberBonusRange 报单服务费
|
||||
* @param cuMemberBonusRange
|
||||
* @param sourceMemberRangeExt 提供奖金的人
|
||||
* @param targetMemberRangeExt 获得奖金的人
|
||||
*/
|
||||
|
@ -70,6 +70,22 @@ public abstract class BonusSettleHandle {
|
|||
cuMemberBonusRange.setRemark(remark);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得 复购配送收益的备注
|
||||
*
|
||||
* @param saOrderExt 订单编号
|
||||
* @param cuMemberBonusDetail
|
||||
* @param sourceMemberRangeExt 提供奖金的人
|
||||
* @param targetMemberRangeExt 获得奖金的人
|
||||
*/
|
||||
protected void regionRepurRetailRemark(SaOrderExt saOrderExt, CuMemberBonusDetail cuMemberBonusDetail, CuMemberRetailRangeExt sourceMemberRangeExt,
|
||||
CuMemberRetailRangeExt targetMemberRangeExt) {
|
||||
String remark = String.format(BonusMsgConstants.REPUR_REGION, saOrderExt.getOrderCode(),
|
||||
sourceMemberRangeExt.getMemberCode() + sourceMemberRangeExt.getMemberName(),
|
||||
targetMemberRangeExt.getMemberCode() + targetMemberRangeExt.getMemberName());
|
||||
cuMemberBonusDetail.setRemark(remark);
|
||||
}
|
||||
|
||||
protected CuMemberBonus getCuMemberBonus(Integer period, Map<Long, CuMemberBonus> cuMemberBonusMap,
|
||||
Long pkMember, Integer incomeStatus, Integer pkCountry, Integer pkRate) {
|
||||
if (cuMemberBonusMap.containsKey(pkMember)) {
|
||||
|
|
|
@ -15,9 +15,12 @@ import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
|
|||
import com.hzs.common.domain.member.bonus.*;
|
||||
import com.hzs.common.domain.member.detail.CuMemberLevel;
|
||||
import com.hzs.common.domain.member.detail.CuMemberServiceLog;
|
||||
import com.hzs.common.domain.retail.member.CuMemberRetailRegion;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderWaresExt;
|
||||
import com.hzs.common.domain.sale.order.SaOrder;
|
||||
import com.hzs.common.domain.system.config.BdGrade;
|
||||
import com.hzs.member.base.IMemberServiceApi;
|
||||
import com.hzs.member.detail.ICuMemberServiceLogServiceApi;
|
||||
import com.hzs.system.config.dto.BonusConfigDTO;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
@ -46,6 +49,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
|
||||
@DubboReference
|
||||
ICuMemberServiceLogServiceApi iCuMemberServiceLogServiceApi;
|
||||
@DubboReference
|
||||
IMemberServiceApi iMemberServiceApi;
|
||||
|
||||
/**
|
||||
* 日结:
|
||||
|
@ -94,18 +99,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
List<CuMemberLevel> autoLevelList = iCuMemberGradeService.listAutoLevel(settleStartDate, settleEndDate);
|
||||
autoLevelList.forEach(tmpLevel -> autoLevelMap.put(tmpLevel.getPkOrder(), tmpLevel));
|
||||
|
||||
// 按照血缘,查询该会员所有伞上会员
|
||||
List<CuMemberRetailRangeExt> memberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeParent(rangeTableName, retailOrderList);
|
||||
|
||||
// 会员结算map(key:会员ID,value:结算扩展)
|
||||
Map<Long, CuMemberRetailRangeExt> memberRangeExtMap = new HashMap<>();
|
||||
// 等级map(key:等级ID,value:等级对象)
|
||||
Map<Integer, BdGrade> gradeIdMap = new HashMap<>();
|
||||
// 等级列表
|
||||
List<BdGrade> retaiGradeList = bonusConfigDTO.getRetaiGradeList();
|
||||
for (BdGrade bdGrade : retaiGradeList) {
|
||||
gradeIdMap.put(bdGrade.getPkId(), bdGrade);
|
||||
}
|
||||
// 按照血缘,查询该会员所有伞上会员
|
||||
List<CuMemberRetailRangeExt> memberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeParent(rangeTableName, retailOrderList);
|
||||
// 结算会员map处理
|
||||
for (CuMemberRetailRangeExt cuMemberRetailRangeExt : memberRetailRangeExtList) {
|
||||
if (!memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
|
||||
|
@ -113,8 +110,21 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
}
|
||||
}
|
||||
|
||||
// 级差收益
|
||||
// 等级map(key:等级ID,value:等级对象)
|
||||
Map<Integer, BdGrade> gradeIdMap = new HashMap<>();
|
||||
// 等级列表
|
||||
List<BdGrade> retaiGradeList = bonusConfigDTO.getRetaiGradeList();
|
||||
for (BdGrade bdGrade : retaiGradeList) {
|
||||
gradeIdMap.put(bdGrade.getPkId(), bdGrade);
|
||||
}
|
||||
// 配送收益配置
|
||||
Map<Integer, CuMemberRetailRegion> regionMap = iMemberServiceApi.listEffectiveRegion(settleStartDate).getData();
|
||||
|
||||
|
||||
// 直推、复购级差收益
|
||||
List<CuMemberBonusRange> cuMemberBonusRangeList = new ArrayList<>();
|
||||
// 复购配送收益
|
||||
List<CuMemberBonusDetail> cuMemberBonusDetailList = new ArrayList<>();
|
||||
|
||||
// 上面更新网体,按会员表是否激活进行处理
|
||||
for (SaOrderExt saOrderExt : retailOrderList) {
|
||||
|
@ -181,10 +191,18 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
tmpMemberRetailRange.setGradeName(bdGrade.getGradeName());
|
||||
}
|
||||
}
|
||||
} else if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType()
|
||||
&& boxNum > 0) {
|
||||
// 复购订单,计算复购级差
|
||||
cuMemberBonusRangeList.addAll(calculateRetailRepurRangeBonus(memberRangeExtMap, cuMemberBonusMap, bonusConfigDTO, period, saOrderExt));
|
||||
} else if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType()) {
|
||||
// 复购订单
|
||||
if (boxNum > 0) {
|
||||
// 存在盒数商品,计算复购级差
|
||||
cuMemberBonusRangeList.addAll(calculateRetailRepurRangeBonus(memberRangeExtMap, cuMemberBonusMap,
|
||||
bonusConfigDTO, period, saOrderExt));
|
||||
}
|
||||
// 计算配送收益
|
||||
if (regionMap.size() != 0) {
|
||||
cuMemberBonusDetailList.addAll(calculateRetailRepurRegionBonus(memberRangeExtMap, cuMemberBonusMap,
|
||||
bonusConfigDTO, period, saOrderExt, regionMap));
|
||||
}
|
||||
}
|
||||
}
|
||||
if (cuMemberBonusRangeList.size() > 0) {
|
||||
|
@ -194,6 +212,13 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
bonusRecordDetailVO.getCuMemberBonusRangeList().addAll(cuMemberBonusRangeList);
|
||||
}
|
||||
}
|
||||
if (cuMemberBonusDetailList.size() > 0) {
|
||||
if (bonusRecordDetailVO.getCuMemberBonusDetailList() == null) {
|
||||
bonusRecordDetailVO.setCuMemberBonusDetailList(cuMemberBonusDetailList);
|
||||
} else {
|
||||
bonusRecordDetailVO.getCuMemberBonusDetailList().addAll(cuMemberBonusDetailList);
|
||||
}
|
||||
}
|
||||
// 更新网体
|
||||
iCuMemberRetailRangeService.updateCuMemberRetailRange(rangeTableName, memberRangeExtMap);
|
||||
}
|
||||
|
@ -563,6 +588,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
// 商品盒数
|
||||
BigDecimal boxNum = new BigDecimal(saOrderExt.getBoxNum());
|
||||
|
||||
// 2025.08.13 添加分公司级差收益,每1盒(4个产品)第一分公司4元,第二分公司4元,公司6元,总拨出14元
|
||||
int branch = 0;
|
||||
|
||||
// 前一个会员等级
|
||||
int beforeGradeValue = 0;
|
||||
// 前面累计奖金
|
||||
|
@ -678,21 +706,72 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
}
|
||||
memberBonusRangeList.add(cuMemberBonusRange);
|
||||
}
|
||||
|
||||
// 2025.08.13 添加分公司级差收益,每1盒(4个产品)第一分公司4元,第二分公司4元,公司6元,总拨出14元
|
||||
if (EGrade.BRANCH_COMPANY.getValue() == targetMemberRangeExt.getGradeValue() && branch < 2) {
|
||||
// 等级是分公司 并且 发放次数小于2
|
||||
this.calculateRetailRepurCompanyRangeBonus(sourceMemberRangeExt, targetMemberRangeExt, cuMemberBonusMap, bonusConfigDTO,
|
||||
period, saOrderExt, boxNum, memberBonusRangeList, branch);
|
||||
branch++;
|
||||
} else if (EGrade.COMPANY.getValue() == targetGradeValue && branch != 3) {
|
||||
// 等级是总公司
|
||||
this.calculateRetailRepurCompanyRangeBonus(sourceMemberRangeExt, targetMemberRangeExt, cuMemberBonusMap, bonusConfigDTO,
|
||||
period, saOrderExt, boxNum, memberBonusRangeList, branch);
|
||||
branch = 3;
|
||||
}
|
||||
}
|
||||
return memberBonusRangeList;
|
||||
}
|
||||
|
||||
private void calculateRetailRepurCompanyRangeBonus(CuMemberRetailRangeExt sourceMemberRangeExt, CuMemberRetailRangeExt targetMemberRangeExt,
|
||||
Map<Long, CuMemberBonus> cuMemberBonusMap, BonusConfigDTO bonusConfigDTO, Integer period,
|
||||
SaOrderExt saOrderExt, BigDecimal boxNum, List<CuMemberBonusRange> memberBonusRangeList,
|
||||
int branch) {
|
||||
// 2025.08.13 二级分公司,一级总公司复购级差
|
||||
BigDecimal calValue = BigDecimal.ZERO;
|
||||
if (EGrade.BRANCH_COMPANY.getValue() == targetMemberRangeExt.getGradeValue()) {
|
||||
// 分公司奖金
|
||||
calValue = RetailConstants.BRANCH;
|
||||
} else if (EGrade.COMPANY.getValue() == targetMemberRangeExt.getGradeValue()) {
|
||||
// 总公司奖金 = 总拨出奖金 - (分公司奖金 * 分公司数量)
|
||||
calValue = RetailConstants.COMPANY_TOTAL.subtract(RetailConstants.BRANCH.multiply(new BigDecimal(branch)));
|
||||
}
|
||||
BigDecimal bonusIncome = calValue.multiply(boxNum);
|
||||
|
||||
CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, targetMemberRangeExt.getPkMember(),
|
||||
targetMemberRangeExt.getIncomeStatus(), targetMemberRangeExt.getPkSettleCountry(), targetMemberRangeExt.getPkRate() == null ? saOrderExt.getPkRate() : targetMemberRangeExt.getPkRate());
|
||||
int pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_REPURCHASE_INCOME.getValue());
|
||||
// 会员级差
|
||||
CuMemberBonusRange cuMemberBonusRange = getCuMemberRetailBonusRange(saOrderExt, targetMemberRangeExt, cuMemberBonus, pkBonusItems);
|
||||
cuMemberBonusRange.setCalAchieve(saOrderExt.getOrderAmount());
|
||||
cuMemberBonusRange.setCalValue(calValue);
|
||||
cuMemberBonusRange.setPretaxIncome(bonusIncome);
|
||||
cuMemberBonusRange.setPkRange(targetMemberRangeExt.getPkGrade());
|
||||
cuMemberBonusRange.setPkBeforeRange(sourceMemberRangeExt.getPkGrade());
|
||||
cuMemberBonusRange.setPkOrder(saOrderExt.getPkId());
|
||||
cuMemberBonusRange.setPkOrderItems(0L);
|
||||
rangeRepurRetailRemark(saOrderExt, cuMemberBonusRange, sourceMemberRangeExt, targetMemberRangeExt);
|
||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusRange, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate());
|
||||
if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusRange.getIncomeStatus()) {
|
||||
cuMemberBonus.setRepurRangeIncome(ComputeUtil.computeAdd(cuMemberBonus.getRepurRangeIncome(), cuMemberBonusRange.getPretaxIncome()));
|
||||
setRetailTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusRange);
|
||||
}
|
||||
memberBonusRangeList.add(cuMemberBonusRange);
|
||||
}
|
||||
|
||||
private CuMemberBonusRange getCuMemberRetailBonusRange(SaOrder saOrderExt, CuMemberRetailRangeExt targetMemberRangeExt,
|
||||
CuMemberBonus cuMemberBonus, Integer pkBonusItems) {
|
||||
CuMemberBonusRange cuMemberBonusRange = CuMemberBonusRange.builder()
|
||||
.incomeStatus(targetMemberRangeExt.getIncomeStatus())
|
||||
.pkOrder(saOrderExt.getPkId())
|
||||
.pkBonusItems(pkBonusItems)
|
||||
.pkBonus(cuMemberBonus.getPkId())
|
||||
// 正常还是烧伤
|
||||
.incomeStatus(targetMemberRangeExt.getIncomeStatus())
|
||||
.calAchieve(saOrderExt.getOrderAchieve())
|
||||
.calType(ECalType.VALUE.getValue())
|
||||
.calValue(BigDecimal.ZERO)
|
||||
.pretaxIncome(BigDecimal.ZERO)
|
||||
.incomeTax(BigDecimal.ZERO)
|
||||
.realIncome(BigDecimal.ZERO)
|
||||
.incomeRatio(BigDecimal.ZERO)
|
||||
.incomeDialRatio(BigDecimal.ZERO)
|
||||
.orderDialRatio(BigDecimal.ZERO)
|
||||
|
@ -702,6 +781,83 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
return cuMemberBonusRange;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 计算复购配送区域收益
|
||||
*/
|
||||
List<CuMemberBonusDetail> calculateRetailRepurRegionBonus(Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, Map<Long, CuMemberBonus> cuMemberBonusMap,
|
||||
BonusConfigDTO bonusConfigDTO, Integer period, SaOrderExt saOrderExt, Map<Integer, CuMemberRetailRegion> regionMap) {
|
||||
// 复购配送区域返回数据
|
||||
List<CuMemberBonusDetail> memberBonusDetailList = new ArrayList<>();
|
||||
|
||||
// 订单下单人自己
|
||||
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
|
||||
|
||||
// 配送区域配置
|
||||
CuMemberRetailRegion retailRegion = regionMap.get(saOrderExt.getRecCounty());
|
||||
if (null != retailRegion) {
|
||||
CuMemberRetailRangeExt targetMemberRangeExt = memberRangeExtMap.get(retailRegion.getPkMember());
|
||||
// 复购配送区域收益
|
||||
BigDecimal bonusIncome = BigDecimal.ZERO;
|
||||
|
||||
List<Integer> pkWaresList = new ArrayList<>();
|
||||
for (SaOrderWaresExt saOrderWaresExt : saOrderExt.getOrderWaresExtList()) {
|
||||
if (!pkWaresList.contains(saOrderWaresExt.getPkWares())) {
|
||||
// 商品没有处理过,则进行处理
|
||||
pkWaresList.add(saOrderWaresExt.getPkWares());
|
||||
// 复购区分收益 * 商品数量
|
||||
bonusIncome = bonusIncome.add(saOrderWaresExt.getAreaIncome().multiply(new BigDecimal(saOrderWaresExt.getWaresQuantity())));
|
||||
}
|
||||
}
|
||||
|
||||
if (bonusIncome.compareTo(BigDecimal.ZERO) > 0) {
|
||||
// 处理复购级差收益
|
||||
// 会员奖金
|
||||
CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, targetMemberRangeExt.getPkMember(),
|
||||
targetMemberRangeExt.getIncomeStatus(), targetMemberRangeExt.getPkSettleCountry(), targetMemberRangeExt.getPkRate() == null ? saOrderExt.getPkRate() : targetMemberRangeExt.getPkRate());
|
||||
int pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_REPURCHASE_DELIVERY_INCOME.getValue());
|
||||
// 会员配送区域收益
|
||||
CuMemberBonusDetail cuMemberBonusDetail = getCuMemberBonusDetail(saOrderExt, targetMemberRangeExt, cuMemberBonus, pkBonusItems);
|
||||
cuMemberBonusDetail.setCalValue(BigDecimal.ZERO);
|
||||
cuMemberBonusDetail.setCalAchieve(BigDecimal.ZERO);
|
||||
cuMemberBonusDetail.setPretaxIncome(bonusIncome);
|
||||
cuMemberBonusDetail.setPkOrder(saOrderExt.getPkId());
|
||||
// 备注
|
||||
regionRepurRetailRemark(saOrderExt, cuMemberBonusDetail, sourceMemberRangeExt, targetMemberRangeExt);
|
||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusDetail, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate());
|
||||
if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusDetail.getIncomeStatus()) {
|
||||
cuMemberBonus.setRetailAreaIncome(ComputeUtil.computeAdd(cuMemberBonus.getRetailAreaIncome(), cuMemberBonusDetail.getPretaxIncome()));
|
||||
setRetailTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusDetail);
|
||||
}
|
||||
memberBonusDetailList.add(cuMemberBonusDetail);
|
||||
}
|
||||
}
|
||||
return memberBonusDetailList;
|
||||
}
|
||||
|
||||
private CuMemberBonusDetail getCuMemberBonusDetail(SaOrder saOrderExt, CuMemberRetailRangeExt targetMemberRangeExt,
|
||||
CuMemberBonus cuMemberBonus, Integer pkBonusItems) {
|
||||
CuMemberBonusDetail cuMemberBonusDetail = CuMemberBonusDetail.builder()
|
||||
.pkOrder(saOrderExt.getPkId())
|
||||
.pkBonusItems(pkBonusItems)
|
||||
.pkBonus(cuMemberBonus.getPkId())
|
||||
.incomeStatus(targetMemberRangeExt.getIncomeStatus())
|
||||
.calAchieve(saOrderExt.getOrderAchieve())
|
||||
.calType(ECalType.VALUE.getValue())
|
||||
.calValue(BigDecimal.ZERO)
|
||||
.pretaxIncome(BigDecimal.ZERO)
|
||||
.incomeTax(BigDecimal.ZERO)
|
||||
.realIncome(BigDecimal.ZERO)
|
||||
.incomeRatio(BigDecimal.ZERO)
|
||||
.incomeDialRatio(BigDecimal.ZERO)
|
||||
.orderDialRatio(BigDecimal.ZERO)
|
||||
.build();
|
||||
cuMemberBonusDetail.setPkCountry(targetMemberRangeExt.getPkSettleCountry());
|
||||
cuMemberBonusDetail.setPkCreator(MagicNumberConstants.PK_ADMIN);
|
||||
return cuMemberBonusDetail;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取手动激活map
|
||||
*
|
||||
|
|
|
@ -140,6 +140,7 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
|||
cuMemberBonusExt.setRealIncomeTotal(ComputeUtil.computeAdd(cuMemberBonusExt.getRealIncomeTotal(), memberBonusExt.getRealIncomeTotal()));
|
||||
cuMemberBonusExt.setStoreIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getStoreIncome(), memberBonusExt.getStoreIncome()));
|
||||
cuMemberBonusExt.setRetailRangeIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRetailRangeIncome(), memberBonusExt.getRetailRangeIncome()));
|
||||
cuMemberBonusExt.setRetailAreaIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRetailAreaIncome(), memberBonusExt.getRetailAreaIncome()));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -180,6 +181,7 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
|||
cuMemberBonusExt.setHiFunIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setHaiFunIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRetailRangeIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRetailAreaIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRealIncomeTotal(BigDecimal.ZERO);
|
||||
return cuMemberBonusExt;
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ public class BonusRecordDetailVO implements Serializable {
|
|||
private List<CuMemberBonusCoach> cuMemberBonusCoachList;
|
||||
|
||||
/**
|
||||
* 服务奖 嗨粉推荐奖金 创客空间直推 创客空间分享
|
||||
* 服务奖
|
||||
*/
|
||||
private List<CuMemberBonusDetail> cuMemberBonusDetailList;
|
||||
|
||||
|
|
|
@ -31,149 +31,29 @@ public class BonusTotalVO implements Serializable {
|
|||
*/
|
||||
private Integer pkCountry;
|
||||
|
||||
/**
|
||||
* 直推收益
|
||||
*/
|
||||
private BigDecimal directIncomeOri;
|
||||
|
||||
/**
|
||||
* 拓展收益
|
||||
*/
|
||||
private BigDecimal expandIncomeOri;
|
||||
|
||||
/**
|
||||
* 拓展无封 (拓展收益按等级正常比例结算,并 拓展收益按等级正常比例结算 无封顶)
|
||||
*/
|
||||
private BigDecimal expandNoCappingOri;
|
||||
|
||||
/**
|
||||
* 拓展封顶 (拓展收益按等级正常比例结算,不按4-N结算,根据配置的封顶值限制最大收益)
|
||||
*/
|
||||
private BigDecimal expandCappingOri;
|
||||
|
||||
/**
|
||||
* 辅导收益
|
||||
*/
|
||||
private BigDecimal coachIncomeOri;
|
||||
|
||||
/**
|
||||
* 分红收益
|
||||
*/
|
||||
private BigDecimal shareIncomeOri;
|
||||
|
||||
/**
|
||||
* 报单收益
|
||||
*/
|
||||
private BigDecimal serviceIncomeOri;
|
||||
|
||||
|
||||
/**
|
||||
* 云代直推收益
|
||||
*/
|
||||
private BigDecimal cloudDirectIncomeOri;
|
||||
|
||||
/**
|
||||
* 云代首购收益
|
||||
*/
|
||||
private BigDecimal cloudPurIncomeOri;
|
||||
|
||||
/**
|
||||
* 云代复购收益
|
||||
*/
|
||||
private BigDecimal cloudRepurIncomeOri;
|
||||
|
||||
private BigDecimal repurPushIncomeOri;
|
||||
|
||||
/**
|
||||
* 直推级差收益
|
||||
*/
|
||||
private BigDecimal retailRangeIncome;
|
||||
/**
|
||||
* 直推级差收益
|
||||
*/
|
||||
@Excel(name = "直推级差收益", scale = 2)
|
||||
private BigDecimal retailRangeIncomeOri;
|
||||
private BigDecimal retailRangeIncome;
|
||||
|
||||
/**
|
||||
* 复购级差收益
|
||||
*/
|
||||
private BigDecimal repurRangeIncome;
|
||||
/**
|
||||
* 复购级差收益
|
||||
*/
|
||||
@Excel(name = "复购级差收益", scale = 2)
|
||||
private BigDecimal repurRangeIncomeOri;
|
||||
private BigDecimal repurRangeIncome;
|
||||
|
||||
/**
|
||||
* 复购拓展收益
|
||||
* 复购配送收益
|
||||
*/
|
||||
private BigDecimal repurExpandIncomeOri;
|
||||
|
||||
/**
|
||||
* 复购券
|
||||
*/
|
||||
private BigDecimal repurCouponOri;
|
||||
|
||||
/**
|
||||
* 复购券均分收益
|
||||
*/
|
||||
private BigDecimal repurCouponShareOri;
|
||||
|
||||
/**
|
||||
* 商城重消
|
||||
*/
|
||||
private BigDecimal backPointsOri;
|
||||
|
||||
/**
|
||||
* 平台服务费
|
||||
*/
|
||||
private BigDecimal serviceSpendOri;
|
||||
|
||||
/**
|
||||
* 环球积分
|
||||
*/
|
||||
private BigDecimal globalPointsOri;
|
||||
|
||||
/**
|
||||
* 车奖积分
|
||||
*/
|
||||
private BigDecimal carAwardPointsOri;
|
||||
|
||||
/**
|
||||
* 店铺收益
|
||||
*/
|
||||
private BigDecimal storeIncomeOri;
|
||||
|
||||
/**
|
||||
* 嗨粉推荐收益
|
||||
*/
|
||||
private BigDecimal hiFunIncomeOri;
|
||||
|
||||
/**
|
||||
* 首购实发小计
|
||||
*/
|
||||
private BigDecimal purRealSubtotalOri;
|
||||
|
||||
/**
|
||||
* 云代实发小计
|
||||
*/
|
||||
private BigDecimal cloudRealSubtotalOri;
|
||||
|
||||
/**
|
||||
* 复购实发小计
|
||||
*/
|
||||
private BigDecimal repurRealSubtotalOri;
|
||||
|
||||
/**
|
||||
* 复购券小计
|
||||
*/
|
||||
private BigDecimal repurCouponSubtotalOri;
|
||||
@Excel(name = "复购配送收益", scale = 2)
|
||||
private BigDecimal retailAreaIncome;
|
||||
|
||||
/**
|
||||
* 实发收益总计
|
||||
*/
|
||||
@Excel(name = "实发收益总计", scale = 2)
|
||||
private BigDecimal realIncomeTotalOri;
|
||||
private BigDecimal realIncomeTotal;
|
||||
|
||||
/**
|
||||
* 直推收益
|
||||
|
@ -293,10 +173,6 @@ public class BonusTotalVO implements Serializable {
|
|||
*/
|
||||
private BigDecimal repurCouponSubtotal;
|
||||
|
||||
/**
|
||||
* 实发收益总计
|
||||
*/
|
||||
private BigDecimal realIncomeTotal;
|
||||
|
||||
/**
|
||||
* 结算日期
|
||||
|
|
|
@ -86,67 +86,41 @@ public class CuMemberBonusVO implements Serializable {
|
|||
*/
|
||||
private Integer grantStatus;
|
||||
|
||||
/**
|
||||
* 需要转换人民币的
|
||||
*/
|
||||
public static final String[] INCOME_ARRAY = new String[]{
|
||||
"backPoints", "retailRangeIncome", "retailSameLevelIncome", "retailAreaIncome",
|
||||
"retailBenefitRangeIncome", "retailBenefitAvgIncome", "repurRangeIncome",
|
||||
"retailBenefitIncome", "retailRealSubtotal", "realIncomeTotal"};
|
||||
|
||||
/**
|
||||
* 直推级差收益
|
||||
*/
|
||||
private BigDecimal retailRangeIncome;
|
||||
@Excel(name = "直推级差收益", scale = 2)
|
||||
private BigDecimal retailRangeIncomeOri;
|
||||
private BigDecimal retailRangeIncome;
|
||||
|
||||
/**
|
||||
* 复购级差收益
|
||||
*/
|
||||
private BigDecimal repurRangeIncome;
|
||||
@Excel(name = "复购级差收益", scale = 2)
|
||||
private BigDecimal repurRangeIncomeOri;
|
||||
private BigDecimal repurRangeIncome;
|
||||
|
||||
/**
|
||||
* 复购配送收益
|
||||
*/
|
||||
@Excel(name = "复购配送收益", scale = 2)
|
||||
private BigDecimal retailAreaIncome;
|
||||
|
||||
private BigDecimal retailSameLevelIncome;
|
||||
|
||||
/**
|
||||
* 平级收益
|
||||
*/
|
||||
private BigDecimal retailSameLevelIncomeOri;
|
||||
|
||||
private BigDecimal retailAreaIncome;
|
||||
/**
|
||||
* 区域分红
|
||||
*/
|
||||
private BigDecimal retailAreaIncomeOri;
|
||||
|
||||
/**
|
||||
* 新零售福利极差收益
|
||||
*/
|
||||
private BigDecimal retailBenefitRangeIncome;
|
||||
|
||||
private BigDecimal retailBenefitRangeIncomeOri;
|
||||
|
||||
/**
|
||||
* 新零售福利平均收益
|
||||
*/
|
||||
private BigDecimal retailBenefitAvgIncome;
|
||||
|
||||
private BigDecimal retailBenefitAvgIncomeOri;
|
||||
|
||||
/**
|
||||
* 新零售福利加权收益
|
||||
*/
|
||||
private BigDecimal retailBenefitIncome;
|
||||
|
||||
private BigDecimal retailBenefitIncomeOri;
|
||||
|
||||
/**
|
||||
* 商城重消
|
||||
*/
|
||||
private BigDecimal backPointsOri;
|
||||
|
||||
/**
|
||||
* 商城重消
|
||||
*/
|
||||
|
@ -157,16 +131,10 @@ public class CuMemberBonusVO implements Serializable {
|
|||
*/
|
||||
private BigDecimal retailRealSubtotal;
|
||||
|
||||
private BigDecimal retailRealSubtotalOri;
|
||||
|
||||
/**
|
||||
* 实发收益总计
|
||||
*/
|
||||
@Excel(name = "实发收益总计", scale = 2)
|
||||
private BigDecimal realIncomeTotalOri;
|
||||
|
||||
/**
|
||||
* 实发收益总计
|
||||
*/
|
||||
private BigDecimal realIncomeTotal;
|
||||
|
||||
}
|
||||
|
|
|
@ -83,12 +83,12 @@ public class MemberBonusFirstPurchaseVO extends PubMemberBonusVO {
|
|||
// */
|
||||
// @BigDecimalFormat
|
||||
// private BigDecimal retailSameLevelIncome;
|
||||
//
|
||||
// /**
|
||||
// * 新零售区域分红
|
||||
// */
|
||||
// @BigDecimalFormat
|
||||
// private BigDecimal retailAreaIncome;
|
||||
|
||||
/**
|
||||
* 复购配送收益
|
||||
*/
|
||||
@BigDecimalFormat
|
||||
private BigDecimal retailAreaIncome;
|
||||
|
||||
/**
|
||||
* 新零售收益小计
|
||||
|
|
|
@ -61,6 +61,9 @@
|
|||
<result column="PK_VERTEX" property="pkVertex"/>
|
||||
<result column="SERVICE_CODE" property="serviceCode"/>
|
||||
<result column="NICK_NAME" property="nickName"/>
|
||||
<result column="retail_range_income" property="retailRangeIncome"/>
|
||||
<result column="retail_area_income" property="retailAreaIncome"/>
|
||||
<result column="retail_real_subtotal" property="retailRealSubtotal"/>
|
||||
</resultMap>
|
||||
|
||||
<update id="updateCuMemberBonusStatus">
|
||||
|
@ -83,7 +86,7 @@
|
|||
|
||||
<insert id="batchInsertCuMemberBonus">
|
||||
merge into cu_member_bonus cb
|
||||
using(
|
||||
using (
|
||||
select pk_id,pk_member,period,pk_rate,direct_income,expand_income,expand_no_capping,
|
||||
expand_capping,coach_income,share_income,service_income,back_points,service_spend,
|
||||
pur_real_subtotal,repur_push_income,repur_range_income,repur_expand_income,repur_real_subtotal,
|
||||
|
@ -92,8 +95,10 @@
|
|||
car_award_points,store_income,hi_fun_income,hai_fun_income,
|
||||
maker_direct_income,maker_share_income,maker_real_subtotal,real_income_total,
|
||||
pk_country,pk_creator,grant_status,income_status,retail_range_income,retail_same_level_income,
|
||||
retail_area_income,retail_benefit_range_income,retail_benefit_avg_income,retail_benefit_income,
|
||||
retail_real_subtotal from(
|
||||
retail_area_income,
|
||||
retail_benefit_range_income,retail_benefit_avg_income,retail_benefit_income,
|
||||
retail_real_subtotal
|
||||
from (
|
||||
<foreach item="item" index="index" collection="cuMemberBonusList" separator=" union ">
|
||||
select #{item.pkId} pk_id,#{item.pkMember} pk_member,#{item.period} period,#{item.pkRate,jdbcType=INTEGER} pk_rate,
|
||||
#{item.directIncome} direct_income,#{item.expandIncome} expand_income,#{item.expandNoCapping} expand_no_capping,
|
||||
|
@ -110,13 +115,14 @@
|
|||
#{item.makerShareIncome} maker_share_income,#{item.makerRealSubtotal} maker_real_subtotal,#{item.realIncomeTotal} real_income_total,
|
||||
#{item.pkCountry} pk_country,#{item.pkCreator} pk_creator,#{item.grantStatus} grant_status,#{item.incomeStatus} income_status,
|
||||
#{item.retailRangeIncome} retail_range_income,#{item.retailSameLevelIncome} retail_same_level_income,
|
||||
#{item.retailAreaIncome} retail_area_income,#{item.retailBenefitRangeIncome} retail_benefit_range_income,
|
||||
#{item.retailAreaIncome} retail_area_income,
|
||||
#{item.retailBenefitRangeIncome} retail_benefit_range_income,
|
||||
#{item.retailBenefitAvgIncome} retail_benefit_avg_income,#{item.retailBenefitIncome} retail_benefit_income,
|
||||
#{item.retailRealSubtotal} retail_real_subtotal from dual
|
||||
</foreach>) )b
|
||||
on (cb.pk_member=b.pk_member and cb.period=b.period)
|
||||
WHEN NOT MATCHED THEN
|
||||
insert(pk_id,pk_member,period,pk_rate,direct_income,expand_income,expand_no_capping,
|
||||
insert (pk_id,pk_member,period,pk_rate,direct_income,expand_income,expand_no_capping,
|
||||
expand_capping,coach_income,share_income,service_income,back_points,service_spend,
|
||||
pur_real_subtotal,repur_push_income,repur_range_income,repur_expand_income,repur_real_subtotal,
|
||||
cloud_direct_income,cloud_pur_income,cloud_repur_income,cloud_real_subtotal,
|
||||
|
@ -124,9 +130,10 @@
|
|||
car_award_points,store_income,hi_fun_income,hai_fun_income,
|
||||
maker_direct_income,maker_share_income,maker_real_subtotal,real_income_total,
|
||||
pk_country,pk_creator,grant_status,income_status,retail_range_income,retail_same_level_income,
|
||||
retail_area_income,retail_benefit_range_income,retail_benefit_avg_income,retail_benefit_income,
|
||||
retail_area_income,
|
||||
retail_benefit_range_income,retail_benefit_avg_income,retail_benefit_income,
|
||||
retail_real_subtotal)
|
||||
values(b.pk_id,b.pk_member,b.period,b.pk_rate,b.direct_income,b.expand_income,b.expand_no_capping,
|
||||
values (b.pk_id,b.pk_member,b.period,b.pk_rate,b.direct_income,b.expand_income,b.expand_no_capping,
|
||||
b.expand_capping,b.coach_income,b.share_income,b.service_income,b.back_points,b.service_spend,
|
||||
b.pur_real_subtotal,b.repur_push_income,b.repur_range_income,b.repur_expand_income,b.repur_real_subtotal,
|
||||
b.cloud_direct_income,b.cloud_pur_income,b.cloud_repur_income,b.cloud_real_subtotal,
|
||||
|
@ -134,7 +141,8 @@
|
|||
b.car_award_points,b.store_income,b.hi_fun_income,b.hai_fun_income,
|
||||
b.maker_direct_income,b.maker_share_income,b.maker_real_subtotal,b.real_income_total,
|
||||
b.pk_country,b.pk_creator,b.grant_status,b.income_status,b.retail_range_income,b.retail_same_level_income,
|
||||
b.retail_area_income,b.retail_benefit_range_income,b.retail_benefit_avg_income,b.retail_benefit_income,
|
||||
b.retail_area_income,
|
||||
b.retail_benefit_range_income,b.retail_benefit_avg_income,b.retail_benefit_income,
|
||||
b.retail_real_subtotal)
|
||||
</insert>
|
||||
|
||||
|
@ -190,6 +198,7 @@
|
|||
select tmp.settle_date,
|
||||
sum(tmp.repur_range_income) repur_range_income,
|
||||
sum(tmp.retail_range_income) retail_range_income,
|
||||
sum(tmp.retail_area_income) retail_area_income,
|
||||
sum(tmp.retail_real_subtotal) retail_real_subtotal,
|
||||
sum(tmp.real_income_total) real_income_total
|
||||
from (select case
|
||||
|
@ -202,6 +211,7 @@
|
|||
end settle_date,
|
||||
cb.repur_range_income,
|
||||
cb.retail_range_income,
|
||||
cb.retail_area_income,
|
||||
cb.retail_real_subtotal,
|
||||
cb.real_income_total
|
||||
from CU_MEMBER_BONUS cb
|
||||
|
@ -230,12 +240,16 @@
|
|||
bv.vertex_name, ct.team_name,
|
||||
cb.period,cp.settle_date,cb.direct_income,cb.expand_income,cb.expand_no_capping,
|
||||
cb.expand_capping,cb.coach_income,cb.share_income,cb.service_income,cb.back_points,cb.service_spend,
|
||||
cb.pur_real_subtotal,cb.repur_push_income,cb.repur_range_income,cb.repur_expand_income,cb.repur_real_subtotal,
|
||||
cb.pur_real_subtotal,cb.repur_push_income,
|
||||
cb.repur_range_income,
|
||||
cb.repur_expand_income,cb.repur_real_subtotal,
|
||||
cb.cloud_direct_income,cb.cloud_pur_income,cb.cloud_repur_income,cb.cloud_real_subtotal,
|
||||
cb.repur_coupon,cb.repur_coupon_share,cb.repur_coupon_subtotal,cb.store_income,
|
||||
cb.maker_direct_income,cb.maker_share_income,cb.maker_real_subtotal,cb.hai_fun_income,
|
||||
cb.global_points,cb.car_award_points,cb.hi_fun_income,cb.pk_rate,bc.out_exchange_rate,
|
||||
cb.retail_range_income,cb.retail_same_level_income,cb.retail_area_income,
|
||||
cb.retail_range_income,
|
||||
cb.retail_area_income,
|
||||
cb.retail_same_level_income,
|
||||
cb.retail_benefit_range_income,cb.retail_benefit_avg_income,
|
||||
cb.retail_benefit_income,cb.retail_real_subtotal,
|
||||
cb.real_income_total,
|
||||
|
@ -324,7 +338,6 @@
|
|||
nvl(sum(cb.service_spend),0) service_spend,
|
||||
nvl(sum(cb.pur_real_subtotal),0) pur_real_subtotal,
|
||||
nvl(sum(cb.repur_push_income),0) repur_push_income,
|
||||
nvl(sum(cb.repur_range_income),0) repur_range_income,
|
||||
nvl(sum(cb.repur_expand_income),0) repur_expand_income,
|
||||
nvl(sum(cb.repur_real_subtotal),0) repur_real_subtotal,
|
||||
nvl(sum(cb.cloud_direct_income),0) cloud_direct_income,
|
||||
|
@ -342,7 +355,9 @@
|
|||
nvl(sum(cb.global_points),0) global_points,
|
||||
nvl(sum(cb.car_award_points),0) car_award_points,
|
||||
nvl(sum(cb.hi_fun_income),0) hi_fun_income,
|
||||
nvl(sum(cb.repur_range_income),0) repur_range_income,
|
||||
nvl(sum(cb.retail_range_income),0) retail_range_income,
|
||||
nvl(sum(cb.retail_area_income),0) retail_area_income,
|
||||
bc.out_exchange_rate,
|
||||
nvl(sum(cb.real_income_total),0) real_income_total
|
||||
from cu_member_bonus cb
|
||||
|
@ -419,17 +434,18 @@
|
|||
sum(cb.expand_no_capping) expand_no_capping,sum(cb.expand_capping) expand_capping,sum(cb.coach_income) coach_income,
|
||||
sum(cb.share_income) share_income,sum(cb.service_income) service_income,sum(cb.back_points) back_points,
|
||||
sum(cb.service_spend) service_spend,sum(cb.pur_real_subtotal) pur_real_subtotal,
|
||||
sum(cb.repur_push_income) repur_push_income,sum(cb.repur_range_income) repur_range_income,
|
||||
sum(cb.repur_expand_income) repur_expand_income,sum(cb.repur_real_subtotal) repur_real_subtotal,sum(cb.cloud_direct_income)
|
||||
cloud_direct_income,
|
||||
sum(cb.repur_push_income) repur_push_income,
|
||||
sum(cb.repur_range_income) repur_range_income,
|
||||
sum(cb.repur_expand_income) repur_expand_income,sum(cb.repur_real_subtotal) repur_real_subtotal,sum(cb.cloud_direct_income) cloud_direct_income,
|
||||
sum(cb.cloud_pur_income) cloud_pur_income,sum(cb.cloud_repur_income) cloud_repur_income,sum(cb.cloud_real_subtotal) cloud_real_subtotal,
|
||||
sum(cb.repur_coupon) repur_coupon,sum(repur_coupon_share) repur_coupon_share,
|
||||
sum(cb.repur_coupon_subtotal) repur_coupon_subtotal,sum(cb.global_points) global_points,
|
||||
sum(cb.car_award_points) car_award_points,sum(cb.hi_fun_income) hi_fun_income,
|
||||
sum(store_income) store_income,sum(cb.maker_direct_income) maker_direct_income,
|
||||
sum(cb.maker_share_income) maker_share_income,sum(cb.maker_real_subtotal) maker_real_subtotal,
|
||||
sum(cb.retail_range_income) retail_range_income,sum(cb.retail_same_level_income) retail_same_level_income,
|
||||
sum(cb.retail_range_income) retail_range_income,
|
||||
sum(cb.retail_area_income) retail_area_income,
|
||||
sum(cb.retail_same_level_income) retail_same_level_income,
|
||||
sum(cb.retail_benefit_range_income) retail_benefit_range_income,sum(cb.retail_benefit_avg_income) retail_benefit_avg_income,
|
||||
sum(cb.retail_benefit_income) retail_benefit_income,sum(cb.retail_real_subtotal) retail_real_subtotal,
|
||||
sum(cb.real_income_total) real_income_total from cu_member_bonus cb
|
||||
|
|
|
@ -124,6 +124,67 @@
|
|||
left join bd_wares bw
|
||||
on bw.pk_id = st.pk_wares and bw.del_flag = 0
|
||||
where so.order_status = 1
|
||||
and so.order_type in (41, 42)
|
||||
<if test="orderCode != null and orderCode != ''">
|
||||
and so.order_code=#{orderCode}
|
||||
</if>
|
||||
and so.pay_time >= #{startDate}
|
||||
and so.pay_time < #{endDate}
|
||||
union
|
||||
select so.pk_id,
|
||||
so.pk_member,
|
||||
so.order_code,
|
||||
so.order_type,
|
||||
so.pk_rate,
|
||||
so.rec_province,
|
||||
so.rec_city,
|
||||
so.rec_county,
|
||||
so.order_amount,
|
||||
so.order_achieve,
|
||||
so.order_ass_achieve,
|
||||
so.upload_achieve,
|
||||
so.pk_reference,
|
||||
so.pk_vertex,
|
||||
so.pk_country,
|
||||
so.del_flag,
|
||||
so.pay_time,
|
||||
so.pk_creator,
|
||||
so.consume_amount,
|
||||
so.box_num,
|
||||
0 pk_grade,
|
||||
soi.items_id,
|
||||
soi.pk_order,
|
||||
soi.pk_wares,
|
||||
soi.wares_price,
|
||||
nvl(bw.wares_code, '~') wares_code,
|
||||
soi.wares_quantity,
|
||||
nvl(bw.area_income, 0) area_income
|
||||
from sa_order so
|
||||
left join (
|
||||
select max(soi.pk_id) items_id,
|
||||
nvl(soi.pk_order, 0) pk_order,
|
||||
nvl(soi.pk_wares, 0) pk_wares,
|
||||
sum(soi.achievement * soi.quantity) wares_price,
|
||||
max(soi.wares_quantity) wares_quantity
|
||||
from sa_order so
|
||||
left join sa_order_items soi
|
||||
on soi.pk_order = so.pk_id
|
||||
and soi.is_gift = 1
|
||||
where so.order_status = 1
|
||||
and so.order_type in (43)
|
||||
<if test="orderCode != null and orderCode != ''">
|
||||
and so.order_code=#{orderCode}
|
||||
</if>
|
||||
and so.pay_time >= #{startDate}
|
||||
and so.pay_time < #{endDate}
|
||||
group by soi.pk_order, soi.pk_wares
|
||||
) soi
|
||||
on soi.pk_order = so.pk_id
|
||||
left join bd_wares bw
|
||||
on bw.pk_id = soi.pk_wares
|
||||
and bw.del_flag = 0
|
||||
where so.order_status = 1
|
||||
and so.order_type in (43)
|
||||
<if test="orderCode != null and orderCode != ''">
|
||||
and so.order_code=#{orderCode}
|
||||
</if>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.hzs.member.base.provider;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.common.core.enums.ELoginType;
|
||||
import com.hzs.common.core.utils.StringUtils;
|
||||
|
@ -7,6 +8,7 @@ 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.CuMemberExt;
|
||||
import com.hzs.common.domain.retail.member.CuMemberRetailRegion;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||
import com.hzs.common.domain.sale.order.SaOrder;
|
||||
import com.hzs.member.account.dto.BusinessCommissionDTO;
|
||||
|
@ -17,11 +19,14 @@ import com.hzs.member.base.service.*;
|
|||
import com.hzs.member.base.IMemberServiceApi;
|
||||
import com.hzs.member.empty.service.ICuMemberEmptyCodeService;
|
||||
import com.hzs.member.handlebusiness.dto.AnalysisBusinessAppealParam;
|
||||
import com.hzs.retail.member.service.ICuMemberRetailRegionService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
@ -40,6 +45,8 @@ public class MemberServiceProvider implements IMemberServiceApi {
|
|||
private ICuMemberRegisterService iCuMemberRegisterService;
|
||||
@Autowired
|
||||
private ICuMemberEmptyCodeService iCuMemberEmptyCodeService;
|
||||
@Autowired
|
||||
private ICuMemberRetailRegionService iCuMemberRetailRegionService;
|
||||
|
||||
@Override
|
||||
public R<LoginMember> getMemberInfo(String memberCode) {
|
||||
|
@ -362,4 +369,18 @@ public class MemberServiceProvider implements IMemberServiceApi {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<Map<Integer, CuMemberRetailRegion>> listEffectiveRegion(Date queryDate) {
|
||||
Map<Integer, CuMemberRetailRegion> regionMap = new HashMap<>();
|
||||
|
||||
List<CuMemberRetailRegion> retailRegionList = iCuMemberRetailRegionService.listEffectiveRegion(queryDate);
|
||||
if (CollectionUtil.isNotEmpty(retailRegionList)) {
|
||||
for (CuMemberRetailRegion retailRegion : retailRegionList) {
|
||||
regionMap.put(retailRegion.getCounty(), retailRegion);
|
||||
}
|
||||
}
|
||||
|
||||
return R.ok(regionMap);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ import com.hzs.common.domain.system.base.BdArea;
|
|||
import com.hzs.retail.member.vo.UnboundAreaVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
@ -25,9 +26,11 @@ public interface CuMemberRetailRegionMapper extends BaseMapper<CuMemberRetailReg
|
|||
CuMemberRetailRegionExt getRegionByMember(@Param("pkMember") Long pkMember,
|
||||
@Param("gradeValue") Integer gradeValue,
|
||||
@Param("systemType") Integer systemType);
|
||||
|
||||
List<CuMemberRetailRegionExt> getRegionByMemberList(@Param("pkMember") Long pkMember,
|
||||
@Param("gradeValue") Integer gradeValue,
|
||||
@Param("systemType") Integer systemType);
|
||||
@Param("gradeValue") Integer gradeValue,
|
||||
@Param("systemType") Integer systemType);
|
||||
|
||||
/**
|
||||
* 插入收益区域
|
||||
*
|
||||
|
@ -47,18 +50,6 @@ public interface CuMemberRetailRegionMapper extends BaseMapper<CuMemberRetailReg
|
|||
**/
|
||||
List<CuMemberRetailRegionExt> memberretailRegList(CuMemberRetailRegionExt mrrExt);
|
||||
|
||||
/**
|
||||
* 会员购买订单数量
|
||||
*
|
||||
* @param pkMember 会员ID
|
||||
* @param systemType 系统类型
|
||||
* @param waresCodeList 商品列表
|
||||
* @return
|
||||
*/
|
||||
int getOrderCount(@Param("pkMember") Long pkMember,
|
||||
@Param("systemType") Integer systemType,
|
||||
@Param("waresCodeList") List<String> waresCodeList);
|
||||
|
||||
List<BdArea> getRegionTreeList(@Param("queryType") String queryType, @Param("userId") Long userId);
|
||||
|
||||
/**
|
||||
|
@ -69,4 +60,12 @@ public interface CuMemberRetailRegionMapper extends BaseMapper<CuMemberRetailReg
|
|||
*/
|
||||
int mergeMemberRetailRegion(@Param("retailRegion") CuMemberRetailRegion retailRegion);
|
||||
|
||||
/**
|
||||
* 有效区域列表
|
||||
*
|
||||
* @param queryDate
|
||||
* @return
|
||||
*/
|
||||
List<CuMemberRetailRegion> listEffectiveRegion(@Param("queryDate") Date queryDate);
|
||||
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@ import com.hzs.common.domain.system.base.BdArea;
|
|||
import com.hzs.retail.member.param.RetailMemberRegionParam;
|
||||
import com.hzs.retail.member.vo.UnboundAreaVO;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
@ -44,16 +45,6 @@ public interface ICuMemberRetailRegionService extends IService<CuMemberRetailReg
|
|||
**/
|
||||
List<CuMemberRetailRegionExt> memberretailRegList(CuMemberRetailRegionExt mrrExt);
|
||||
|
||||
/**
|
||||
* 会员购买订单数量
|
||||
*
|
||||
* @param pkMember 会员ID
|
||||
* @param systemType 系统类型
|
||||
* @param waresCodeList 商品列表
|
||||
* @return
|
||||
*/
|
||||
int getOrderCount(Long pkMember, Integer systemType, List<String> waresCodeList);
|
||||
|
||||
/**
|
||||
* 查询可选收益区域树结构 入参常量为 RetailRegionTreeQueryConstants
|
||||
*
|
||||
|
@ -72,4 +63,12 @@ public interface ICuMemberRetailRegionService extends IService<CuMemberRetailReg
|
|||
*/
|
||||
int mergeMemberRetailRegion(CuMemberRetailRegion retailRegion);
|
||||
|
||||
/**
|
||||
* 有效区域列表
|
||||
*
|
||||
* @param queryDate
|
||||
* @return
|
||||
*/
|
||||
List<CuMemberRetailRegion> listEffectiveRegion(Date queryDate);
|
||||
|
||||
}
|
||||
|
|
|
@ -22,7 +22,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
@ -97,11 +96,6 @@ public class CuMemberRetailRegionServiceImpl extends ServiceImpl<CuMemberRetailR
|
|||
return baseMapper.memberretailRegList(mrrExt);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getOrderCount(Long pkMember, Integer systemType, List<String> waresCodeList) {
|
||||
return baseMapper.getOrderCount(pkMember, systemType, waresCodeList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Tree<String>> getRegionTreeList(String queryType, Long pkMember) {
|
||||
List<BdArea> areaList = baseMapper.getRegionTreeList(queryType, pkMember);
|
||||
|
@ -173,4 +167,9 @@ public class CuMemberRetailRegionServiceImpl extends ServiceImpl<CuMemberRetailR
|
|||
return baseMapper.mergeMemberRetailRegion(retailRegion);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CuMemberRetailRegion> listEffectiveRegion(Date queryDate) {
|
||||
return baseMapper.listEffectiveRegion(queryDate);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -175,29 +175,6 @@
|
|||
order by CRR.CREATION_TIME desc
|
||||
</select>
|
||||
|
||||
<!-- 会员购买订单数量 -->
|
||||
<select id="getOrderCount" resultType="int">
|
||||
select count(1)
|
||||
from sa_order so
|
||||
left join sa_order_items soi
|
||||
on soi.pk_order = so.pk_id
|
||||
and soi.del_flag = 0
|
||||
and soi.is_gift = 1
|
||||
left join bd_wares bw
|
||||
on bw.pk_id = soi.pk_wares
|
||||
and bw.del_flag = 0
|
||||
and bw.system_type = so.system_type
|
||||
where so.del_flag = 0
|
||||
and so.order_status = 1
|
||||
and so.pk_member = #{pkMember}
|
||||
and so.order_type in (41, 42, 43)
|
||||
and so.system_type = #{systemType}
|
||||
and bw.wares_code in
|
||||
<foreach collection="waresCodeList" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<select id="getRegionTreeList" resultType="com.hzs.common.domain.system.base.BdArea">
|
||||
SELECT
|
||||
pr.*,
|
||||
|
@ -307,4 +284,14 @@
|
|||
tmp.pk_member)
|
||||
</update>
|
||||
|
||||
<!-- 有效区域列表 -->
|
||||
<select id="listEffectiveRegion" resultType="com.hzs.common.domain.retail.member.CuMemberRetailRegion">
|
||||
select cmrr.*
|
||||
from CU_MEMBER_RETAIL_REGION cmrr
|
||||
where cmrr.del_flag = 0
|
||||
and cmrr.effective = 0
|
||||
and cmrr.business_type = 2
|
||||
and cmrr.effective_end_date >= #{queryDate}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
@ -665,7 +665,7 @@ public class ApiOrderController extends BaseController {
|
|||
myOrder.setRecCounty(recCounty);
|
||||
}
|
||||
myOrder.setAddress(saOrder.getRecAddress());
|
||||
myOrder.setOrderTypeVal(EOrderType.getEnumLabelByValue(myOrder.getOrderType()));
|
||||
myOrder.setOrderTypeVal(EOrderType.getLabelByValue(myOrder.getOrderType()));
|
||||
myOrder.setOrderStatusVal(EOrderStatus.getLabelByValue(saOrderItems.getOrderStatus()));
|
||||
|
||||
// 处理订单明细
|
||||
|
|
|
@ -561,10 +561,6 @@ public class EnumsInitController {
|
|||
initList.add(this.createData(value.getKey(), value.getLabel()));
|
||||
}
|
||||
|
||||
for (EBonusIncomeStatus value : EBonusIncomeStatus.values()) {
|
||||
initList.add(this.createData(value.getKey(), value.getLabel()));
|
||||
}
|
||||
|
||||
// 数据类型(推荐)
|
||||
for (ERecommendDadaType value : ERecommendDadaType.values()) {
|
||||
initList.add(this.createData(value.getKey(), value.getLabel()));
|
||||
|
|
|
@ -44,9 +44,4 @@ public class BonusFieldConstants {
|
|||
|
||||
public static final String IS_WITHDRAWAL = "IS_WITHDRAWAL";
|
||||
|
||||
/**
|
||||
* 人民币收益后缀
|
||||
*/
|
||||
public static final String INCOME_SUFFIX = "Ori";
|
||||
|
||||
}
|
||||
|
|
|
@ -14,6 +14,17 @@ public class RetailConstants {
|
|||
*/
|
||||
public static final Integer PICK_BASE = 4;
|
||||
|
||||
/**
|
||||
* 2025.08.13 添加分公司级差收益,每1盒(4个产品)
|
||||
* 第一分公司4元
|
||||
* 第二分公司4元
|
||||
* 公司6元
|
||||
* 总拨出14元
|
||||
*/
|
||||
public static final BigDecimal BRANCH = new BigDecimal("4");
|
||||
public static final BigDecimal COMPANY_TOTAL = new BigDecimal("14");
|
||||
|
||||
|
||||
/**
|
||||
* 会员 推 会员 60
|
||||
* VIP 推 会员 80
|
||||
|
|
|
@ -20,6 +20,11 @@ public class BonusMsgConstants {
|
|||
*/
|
||||
public static String REPUR_RANGE = "订单编号%s,%s为%s贡献了复购级差收益,计算金额%f,前一级差等级名称%s,当前级差等级名称%s。";
|
||||
|
||||
/**
|
||||
* 复购配送收益说明
|
||||
*/
|
||||
public static String REPUR_REGION = "订单编号%s,%s为%s贡献了复购配送收益。";
|
||||
|
||||
/**
|
||||
* 奖金重算 -- 只能重算7天内的奖金!
|
||||
*/
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.hzs.common.core.enums;
|
||||
|
||||
import com.hzs.common.core.constant.EnumsPrefixConstants;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
|
@ -14,17 +13,17 @@ public enum EBonusIncomeStatus {
|
|||
/**
|
||||
* 正常
|
||||
*/
|
||||
NORMAL(0, "正常", 0, EnumsPrefixConstants.BONUS_INCOME_STATUS + "0"),
|
||||
NORMAL(0, "正常", 0),
|
||||
|
||||
/**
|
||||
* 停收
|
||||
*/
|
||||
STOP_INCOME(1, "停收", 0, EnumsPrefixConstants.BONUS_INCOME_STATUS + "1"),
|
||||
STOP_INCOME(1, "停收", 0),
|
||||
|
||||
/**
|
||||
* 烧伤
|
||||
*/
|
||||
FIRE_BURN(2, "烧伤", 0, EnumsPrefixConstants.BONUS_INCOME_STATUS + "2"),
|
||||
FIRE_BURN(2, "烧伤", 0),
|
||||
|
||||
;
|
||||
|
||||
|
@ -40,8 +39,17 @@ public enum EBonusIncomeStatus {
|
|||
* 是否启用(0=是,1=否) -- 来源EYesNo
|
||||
*/
|
||||
private final int enable;
|
||||
/**
|
||||
* 国际化翻译key值
|
||||
*/
|
||||
private final String key;
|
||||
|
||||
public static String getLabelByValue(Integer value) {
|
||||
if (null == value) {
|
||||
return "";
|
||||
}
|
||||
for (EOrderType enums : EOrderType.values()) {
|
||||
if (enums.getValue() == value) {
|
||||
return enums.getLabel();
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.hzs.common.core.enums;
|
||||
|
||||
import com.hzs.common.core.constant.EnumsPrefixConstants;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
|
@ -59,13 +58,17 @@ public enum EBonusItems {
|
|||
////////////////////////////////////////////////// 新奖项 //////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* 直推级差收益 -- 秒结,日奖
|
||||
* 直推级差收益 -- 日奖
|
||||
*/
|
||||
RETAIL_RANGE_INCOME(25, "直推级差收益", 0),
|
||||
/**
|
||||
* 复购级差收益 -- 秒结,日奖
|
||||
* 复购级差收益 -- 日奖
|
||||
*/
|
||||
RETAIL_REPURCHASE_INCOME(35, "复购级差收益", 0),
|
||||
/**
|
||||
* 复购配送收益 -- 日奖
|
||||
*/
|
||||
RETAIL_REPURCHASE_DELIVERY_INCOME(36, "复购配送收益", 0),
|
||||
|
||||
;
|
||||
|
||||
|
|
|
@ -6,12 +6,6 @@ import lombok.Getter;
|
|||
|
||||
/**
|
||||
* 计算类型
|
||||
*
|
||||
* @author: sui q
|
||||
* @time: 2022/8/25 15:09
|
||||
* @description:
|
||||
* @classname: ECalType
|
||||
* @package_name: com.hzs.common.core.enums
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
|
|
|
@ -104,21 +104,6 @@ public enum EOrderType {
|
|||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据值返回显示
|
||||
*
|
||||
* @param value
|
||||
* @return
|
||||
*/
|
||||
public static String getEnumLabelByValue(int value) {
|
||||
for (EOrderType eOrderType : EOrderType.values()) {
|
||||
if (eOrderType.getValue() == value) {
|
||||
return eOrderType.getLabel();
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
public static List<EOrderType> getOrderTypeSpecial() {
|
||||
List<EOrderType> resultList = new ArrayList<>();
|
||||
resultList.add(EOrderType.REGISTER_ORDER);
|
||||
|
@ -126,6 +111,7 @@ public enum EOrderType {
|
|||
resultList.add(EOrderType.REPURCHASE_ORDER);
|
||||
return resultList;
|
||||
}
|
||||
|
||||
public static String getLabelByValue(Integer value) {
|
||||
if (null == value) {
|
||||
return "";
|
||||
|
|
|
@ -236,7 +236,7 @@ public class CuMemberBonus extends BaseEntity {
|
|||
private BigDecimal retailSameLevelIncome;
|
||||
|
||||
/**
|
||||
* 新零售区域分红
|
||||
* 复购配送收益
|
||||
*/
|
||||
@TableField("RETAIL_AREA_INCOME")
|
||||
private BigDecimal retailAreaIncome;
|
||||
|
|
Loading…
Reference in New Issue