## 定时任务整体调整;
This commit is contained in:
parent
25852c9fc3
commit
7748af02ae
|
@ -1,21 +0,0 @@
|
|||
package com.hzs.report.perk;
|
||||
|
||||
import com.hzs.common.core.domain.R;
|
||||
|
||||
/**
|
||||
* @Description: 会员补贴dubbo服务接口
|
||||
* @Author: jiang chao
|
||||
* @Time: 2024/4/22 16:38
|
||||
* @Classname: MemberPerkServiceApi
|
||||
* @PackageName: com.hzs.report.stat
|
||||
*/
|
||||
public interface IMemberPerkServiceApi {
|
||||
|
||||
/**
|
||||
* 会员补贴处理
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
R memberPerkHandle();
|
||||
|
||||
}
|
|
@ -1,13 +1,8 @@
|
|||
package com.hzs.sale.wares;
|
||||
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.common.domain.sale.ext.BdWaresDetailExt;
|
||||
import com.hzs.sale.wares.dto.WaresDTO;
|
||||
import com.hzs.sale.wares.dto.WaresPreSaleDTO;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Description: 商品对外提供接口
|
||||
|
@ -49,13 +44,4 @@ public interface IWaresServiceApi {
|
|||
*/
|
||||
void updateByAutoStartAndAutoEnd(Date currentTime);
|
||||
|
||||
/**
|
||||
* 根据条件查询商品信息
|
||||
*
|
||||
* @param specialArea 专区
|
||||
* @return: List<BdWaresExt>
|
||||
* @Author: sui q
|
||||
* @Date: 2022/9/16 11:13
|
||||
*/
|
||||
R<List<BdWaresDetailExt>> queryWaresDetailBySkuCodeList(Integer specialArea, List<String> skuCodeList);
|
||||
}
|
||||
|
|
|
@ -103,7 +103,6 @@ public interface IAccountServiceApi {
|
|||
*/
|
||||
R<BdAccount> queryPostageAccount(Integer pkCountry);
|
||||
|
||||
|
||||
/**
|
||||
* @description: 会员端账户查询
|
||||
* @author: zhang jing
|
||||
|
@ -113,5 +112,4 @@ public interface IAccountServiceApi {
|
|||
**/
|
||||
R<List<BdAccount>> memberAccountByType(Integer pkCountry);
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -23,7 +23,6 @@ public interface IEmailServiceApi {
|
|||
* @param eMailType 邮件类型
|
||||
* @return
|
||||
*/
|
||||
R sendMail(List<String> recipientList, String title, String content, EMailType eMailType);
|
||||
R<?> sendMail(List<String> recipientList, String title, String content, EMailType eMailType);
|
||||
|
||||
R sendMessage();
|
||||
}
|
||||
|
|
|
@ -12,9 +12,7 @@ import java.util.Date;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员网体历史记录 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-10-31
|
||||
|
@ -157,7 +155,8 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
|||
* @param: null null
|
||||
**/
|
||||
void mergeCuMemberTreeBySettleDate(@Param("targetTableName") String targetTableName,
|
||||
@Param("sourceTableName") String sourceTableName, @Param("period") Integer period);
|
||||
@Param("sourceTableName") String sourceTableName, @Param("period") Integer period);
|
||||
|
||||
/**
|
||||
* 迁移月表数据,先删除
|
||||
*
|
||||
|
@ -274,6 +273,7 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
|||
* @Date: 2022/11/4 17:41
|
||||
*/
|
||||
List<CuMemberSettleExt> queryCuMemberSettleEnoughAwardAchieve(String settleTableName);
|
||||
|
||||
/*
|
||||
* @description: 回退会员奖衔
|
||||
* @author: sui q
|
||||
|
@ -313,7 +313,8 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
|||
|
||||
/**
|
||||
* 根据订单,查询出网体中记录的会员数据及推荐人
|
||||
* @param settleTableName 结算表
|
||||
*
|
||||
* @param settleTableName 结算表
|
||||
* @param serviceMemberSet 会员编号
|
||||
* @return: List<CuMemberSettleExt>
|
||||
* @Author: sui q
|
||||
|
@ -333,15 +334,15 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
|||
* @Date: 2022/11/4 18:21
|
||||
*/
|
||||
Integer queryCuMemberSettlePlaceUnderUmbrella(@Param("settleTableName") String settleTableName,
|
||||
@Param("awardsValue") Integer awardsValue,
|
||||
@Param("placeDept") Integer placeDept,
|
||||
@Param("pkMember") Long pkMember);
|
||||
@Param("awardsValue") Integer awardsValue,
|
||||
@Param("placeDept") Integer placeDept,
|
||||
@Param("pkMember") Long pkMember);
|
||||
|
||||
/**
|
||||
* 查询会员结算表,查询出结算表中会员血缘关系满足等级
|
||||
*
|
||||
* @param settleTableName 结算表
|
||||
* @param pkMember 会员
|
||||
* @param settleTableName 结算表
|
||||
* @param pkMember 会员
|
||||
* @return: List<CuMemberSettleExt>
|
||||
* @Author: sui q
|
||||
* @Date: 2022/11/4 18:21
|
||||
|
@ -385,7 +386,7 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
|||
* @Date: 2022/11/15 13:43
|
||||
*/
|
||||
List<CuMemberSettleExt> batchQuerySpecialCuMemberSettleParent(@Param("settleTableName") String settleTableName,
|
||||
@Param("pkMemberList") List<?> pkMemberList);
|
||||
@Param("pkMemberList") List<?> pkMemberList);
|
||||
|
||||
|
||||
/*
|
||||
|
@ -406,7 +407,8 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
|||
* @Date: 2022/11/15 13:43
|
||||
*/
|
||||
List<CuMemberSettleExt> batchQueryCuMemberSettleParentForSpecial(@Param("settleTableName") String settleTableName,
|
||||
@Param("pkMemberList") List<?> pkMemberList);
|
||||
@Param("pkMemberList") List<?> pkMemberList);
|
||||
|
||||
/**
|
||||
* 更新会员网体奖衔数据,更新月表、结算表
|
||||
*
|
||||
|
@ -480,8 +482,8 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
|||
/**
|
||||
* 根据会员编号查询会员伞上安置人秒结数据
|
||||
*
|
||||
* @param secondTableName 秒接
|
||||
* @param pkMember 会员
|
||||
* @param secondTableName 秒接
|
||||
* @param pkMember 会员
|
||||
* @return: List<CuMemberSettleExt>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/2/2 21:01
|
||||
|
@ -491,8 +493,8 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
|||
/**
|
||||
* 根据会员编号查询会员伞上安置人秒结数据
|
||||
*
|
||||
* @param secondTableName 秒接
|
||||
* @param pkMember 会员
|
||||
* @param secondTableName 秒接
|
||||
* @param pkMember 会员
|
||||
* @return: List<CuMemberSettleExt>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/2/2 21:01
|
||||
|
@ -530,7 +532,7 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
|||
* @param pkMember
|
||||
* @return
|
||||
*/
|
||||
List<CuMemberSettleExt> queryCuMemberTreePlaceParentTable(@Param("tableName") String tableName, @Param("pkMember") Long pkMember, @Param("memberIdList") List<Long> memberIdList,@Param("level") Integer level);
|
||||
List<CuMemberSettleExt> queryCuMemberTreePlaceParentTable(@Param("tableName") String tableName, @Param("pkMember") Long pkMember, @Param("memberIdList") List<Long> memberIdList, @Param("level") Integer level);
|
||||
|
||||
/**
|
||||
* 根据pkmember查询
|
||||
|
@ -548,7 +550,7 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
|||
* @param pkMember
|
||||
* @return
|
||||
*/
|
||||
List<CuMemberSettleExt> queryCuMemberTreeParentTable(@Param("tableName") String settleTableName, @Param("pkMember") Long pkMember, @Param("level") Integer level);
|
||||
List<CuMemberSettleExt> queryCuMemberTreeParentTable(@Param("tableName") String settleTableName, @Param("pkMember") Long pkMember, @Param("level") Integer level);
|
||||
|
||||
/**
|
||||
* 查询直推人数
|
||||
|
@ -566,7 +568,7 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
|||
* @param pkMember
|
||||
* @return
|
||||
*/
|
||||
List<CuMemberSettleExt> queryCuMemberTreePlaceParentHistoryTable(@Param("tableName") String settleTableName, @Param("pkMember") Long pkMember, @Param("memberIdList") List<Long> memberIdList,@Param("level") Integer level);
|
||||
List<CuMemberSettleExt> queryCuMemberTreePlaceParentHistoryTable(@Param("tableName") String settleTableName, @Param("pkMember") Long pkMember, @Param("memberIdList") List<Long> memberIdList, @Param("level") Integer level);
|
||||
|
||||
/**
|
||||
* 查询每一期汇总
|
||||
|
@ -574,7 +576,7 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
|||
* @param settleTableName
|
||||
* @return
|
||||
*/
|
||||
CensusSummaryVo queryCuMemberTreeParentSumTable(@Param("tableName") String settleTableName,@Param("censusSummaryParam") CensusSummaryParam censusSummaryParam);
|
||||
CensusSummaryVo queryCuMemberTreeParentSumTable(@Param("tableName") String settleTableName, @Param("censusSummaryParam") CensusSummaryParam censusSummaryParam);
|
||||
|
||||
/*
|
||||
* description: 查询历史网体的最末安置人,左右区一起查出来
|
||||
|
@ -592,100 +594,123 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
|||
* @param: pkMember 会员
|
||||
**/
|
||||
List<CuMemberSettleExt> queryCuMemberTree(@Param("tableName") String settleTableName, @Param("pkMember") Long pkMember, @Param("pkPlaceParent") Long pkPlaceParent);
|
||||
|
||||
/**
|
||||
* 查询秒结表会员信息
|
||||
*
|
||||
* @param pkMember
|
||||
* @param settleTableName
|
||||
* @return
|
||||
*/
|
||||
List<CuMemberSettleExt> selectByTreeMemberList(@Param("pkMember") Long pkMember,@Param("tableName") String settleTableName,@Param("level") Integer level);
|
||||
List<CuMemberSettleExt> selectByTreeMemberList(@Param("pkMember") Long pkMember, @Param("tableName") String settleTableName, @Param("level") Integer level);
|
||||
|
||||
/**
|
||||
* 查询会员真实业绩
|
||||
*
|
||||
* @param pkMember
|
||||
* @return
|
||||
*/
|
||||
CuMemberSettleExt getCuMemberRealPerformanceByMemberId(@Param("pkMember") Long pkMember,@Param("tableName") String tableName);
|
||||
CuMemberSettleExt getCuMemberRealPerformanceByMemberId(@Param("pkMember") Long pkMember, @Param("tableName") String tableName);
|
||||
|
||||
/**
|
||||
* 查询安置左右区人数
|
||||
*
|
||||
* @param memberId 会员id
|
||||
* @param placeDept
|
||||
* @return
|
||||
*/
|
||||
Long queryPlaceParentPeopleNumber(@Param("memberId") Long memberId,@Param("placeDept") Integer placeDept);
|
||||
Long queryPlaceParentPeopleNumber(@Param("memberId") Long memberId, @Param("placeDept") Integer placeDept);
|
||||
|
||||
/**
|
||||
* 查询推荐大小区人数
|
||||
*
|
||||
* @param memberId
|
||||
* @param placeDept
|
||||
* @return
|
||||
*/
|
||||
Long queryParentPeopleNumber(@Param("memberId") Long memberId,@Param("placeDept") Integer placeDept);
|
||||
Long queryParentPeopleNumber(@Param("memberId") Long memberId, @Param("placeDept") Integer placeDept);
|
||||
|
||||
/**
|
||||
* 查询秒结表是否有值
|
||||
*
|
||||
* @param settleTableName
|
||||
* @return
|
||||
*/
|
||||
Long selectByselectByTreeMemberCount(@Param("tableName") String settleTableName,@Param("pkMember") Long pkMember);
|
||||
Long selectByselectByTreeMemberCount(@Param("tableName") String settleTableName, @Param("pkMember") Long pkMember);
|
||||
|
||||
/**
|
||||
* 查询伞下安置新增业绩
|
||||
*
|
||||
* @param settleTableName
|
||||
* @param pkMember
|
||||
* @return
|
||||
*/
|
||||
List<CuMemberSettleExt> brollyBelowResettle(@Param("tableName") String settleTableName,@Param("pkMember") Long pkMember);
|
||||
List<CuMemberSettleExt> brollyBelowResettle(@Param("tableName") String settleTableName, @Param("pkMember") Long pkMember);
|
||||
|
||||
/**
|
||||
* 根据pkmember查询 关联parent
|
||||
*
|
||||
* @param settleTableName
|
||||
* @param pkMember
|
||||
* @return
|
||||
*/
|
||||
CuMemberSettleExt queryCuMemberTreeByPlacePkMemberTable(@Param("tableName") String settleTableName,@Param("pkMember") Long pkMember);
|
||||
CuMemberSettleExt queryCuMemberTreeByPlacePkMemberTable(@Param("tableName") String settleTableName, @Param("pkMember") Long pkMember);
|
||||
|
||||
/**
|
||||
* 查询会员直推人数
|
||||
*
|
||||
* @param memberIds
|
||||
* @return
|
||||
*/
|
||||
List<MemberParentCountParam> queryByMemberParentCount(@Param("memberIds") List<Long> memberIds);
|
||||
|
||||
/**
|
||||
* 查询会员直推业绩
|
||||
*
|
||||
* @param settleTableName
|
||||
* @param memberIds
|
||||
* @return
|
||||
*/
|
||||
List<MemberParentCountParam> queryByMemberParentSumPv(@Param("tableName") String settleTableName,@Param("memberIds") List<Long> memberIds);
|
||||
List<MemberParentCountParam> queryByMemberParentSumPv(@Param("tableName") String settleTableName, @Param("memberIds") List<Long> memberIds);
|
||||
|
||||
/**
|
||||
* 查询历史安置架构
|
||||
*
|
||||
* @param settleTableName
|
||||
* @param pkMember
|
||||
* @param memberIdList
|
||||
* @param level
|
||||
* @return
|
||||
*/
|
||||
List<CuMemberSettleExt> queryCuMemberTreePlaceParentHistoryFramework(@Param("tableName") String settleTableName, @Param("pkMember") Long pkMember, @Param("memberIdList") List<Long> memberIdList,@Param("level") Integer level);
|
||||
List<CuMemberSettleExt> queryCuMemberTreePlaceParentHistoryFramework(@Param("tableName") String settleTableName, @Param("pkMember") Long pkMember, @Param("memberIdList") List<Long> memberIdList, @Param("level") Integer level);
|
||||
|
||||
/**
|
||||
* 查询历史推荐上下架
|
||||
*
|
||||
* @param settleTableName
|
||||
* @param pkMember
|
||||
* @param level
|
||||
* @return
|
||||
*/
|
||||
List<CuMemberSettleExt> queryCuMemberTreeParentHistoryFramework(@Param("tableName") String settleTableName, @Param("pkMember") Long pkMember, @Param("level") Integer level);
|
||||
List<CuMemberSettleExt> queryCuMemberTreeParentHistoryFramework(@Param("tableName") String settleTableName, @Param("pkMember") Long pkMember, @Param("level") Integer level);
|
||||
|
||||
/**
|
||||
* 查询历史会员直推人数
|
||||
*
|
||||
* @param memberIds
|
||||
* @param settleTableName
|
||||
* @return
|
||||
*/
|
||||
List<MemberParentCountParam> queryByMemberParentAndMemberSettleCount(@Param("memberIds") List<Long> memberIds,@Param("settleTableName") String settleTableName);
|
||||
List<MemberParentCountParam> queryByMemberParentAndMemberSettleCount(@Param("memberIds") List<Long> memberIds, @Param("settleTableName") String settleTableName);
|
||||
|
||||
/**
|
||||
* 查询会员历史直推业绩
|
||||
*
|
||||
* @param settleTableName
|
||||
* @param memberIds
|
||||
* @return
|
||||
*/
|
||||
List<MemberParentCountParam> queryByMemberParentSettleSumPv(@Param("tableName") String settleTableName,@Param("memberIds") List<Long> memberIds);
|
||||
List<MemberParentCountParam> queryByMemberParentSettleSumPv(@Param("tableName") String settleTableName, @Param("memberIds") List<Long> memberIds);
|
||||
|
||||
/*
|
||||
* @description: 每月初初始化奖衔为会员
|
||||
|
|
|
@ -77,44 +77,44 @@ public class CuMemberMonthAchieveServiceImpl extends ServiceImpl<CuMemberMonthAc
|
|||
// 计算当前月
|
||||
String settleMonth = DateUtils.getMonth(currentMonthDate);
|
||||
baseMapper.insertCuMemberMonthAchieve(table, cuMemberSettlePeriod.getPkId(), settleMonth);
|
||||
// 每月7号发放徽章,发放上个月的
|
||||
if (day == 7) {
|
||||
// 查询徽章
|
||||
List<CuHonorWall> cuHonorWallList = cuHonorWallService.queryCuHonorWall();
|
||||
Map<String, CuHonorWall> honorWallMap = new HashMap<>();
|
||||
cuHonorWallList.forEach(cuHonorWall -> {
|
||||
String key = cuHonorWall.getPkCountry().toString() + cuHonorWall.getType() + cuHonorWall.getValue();
|
||||
honorWallMap.put(key, cuHonorWall);
|
||||
});
|
||||
List<CuMemberHonorWall> cuMemberHonorWallList = new ArrayList<>();
|
||||
// 上月期间,作为结束期间
|
||||
String beforeFirstMonthDate = DateUtils.beforeMonthFirstDateStr(settleDate);
|
||||
CuMemberSettlePeriod beforePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeFirstMonthDate);
|
||||
// 月徽章
|
||||
grantHonorWall(beforePeriod.getPkId(), cuMemberSettlePeriod.getPkId(), settleMonth,
|
||||
HonorWallType.RECOMMEND_MONTH.getValue(), HonorWallType.ANTIFADING_MONTH.getValue(), honorWallMap, cuMemberHonorWallList);
|
||||
// 再发季度徽章
|
||||
if (month == 1 || month == 4 || month == 7 || month == 10) {
|
||||
// 3个月期间,作为开始期间
|
||||
String quarterFirstMonthDate = DateUtils.beforeMonthFirstDateStr(3, settleDate);
|
||||
CuMemberSettlePeriod quarterPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(quarterFirstMonthDate);
|
||||
grantHonorWall(quarterPeriod.getPkId(), cuMemberSettlePeriod.getPkId(), settleMonth,
|
||||
HonorWallType.RECOMMEND_QUARTER.getValue(), HonorWallType.ANTIFADING_QUARTER.getValue(), honorWallMap, cuMemberHonorWallList);
|
||||
if (month == 1) {
|
||||
// 再发年度徽章
|
||||
// 3个月期间,作为开始期间
|
||||
String yearFirstMonthDate = DateUtils.beforeMonthFirstDateStr(12, settleDate);
|
||||
CuMemberSettlePeriod yearPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yearFirstMonthDate);
|
||||
if (yearPeriod != null) {
|
||||
grantHonorWall(yearPeriod.getPkId(), cuMemberSettlePeriod.getPkId(), settleMonth,
|
||||
HonorWallType.RECOMMEND_QUARTER.getValue(), HonorWallType.ANTIFADING_QUARTER.getValue(), honorWallMap, cuMemberHonorWallList);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (cuMemberHonorWallList.size() > 0) {
|
||||
cuMemberHonorWallService.saveBatch(cuMemberHonorWallList);
|
||||
}
|
||||
}
|
||||
// // 每月7号发放徽章,发放上个月的
|
||||
// if (day == 7) {
|
||||
// // 查询徽章
|
||||
// List<CuHonorWall> cuHonorWallList = cuHonorWallService.queryCuHonorWall();
|
||||
// Map<String, CuHonorWall> honorWallMap = new HashMap<>();
|
||||
// cuHonorWallList.forEach(cuHonorWall -> {
|
||||
// String key = cuHonorWall.getPkCountry().toString() + cuHonorWall.getType() + cuHonorWall.getValue();
|
||||
// honorWallMap.put(key, cuHonorWall);
|
||||
// });
|
||||
// List<CuMemberHonorWall> cuMemberHonorWallList = new ArrayList<>();
|
||||
// // 上月期间,作为结束期间
|
||||
// String beforeFirstMonthDate = DateUtils.beforeMonthFirstDateStr(settleDate);
|
||||
// CuMemberSettlePeriod beforePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeFirstMonthDate);
|
||||
// // 月徽章
|
||||
// grantHonorWall(beforePeriod.getPkId(), cuMemberSettlePeriod.getPkId(), settleMonth,
|
||||
// HonorWallType.RECOMMEND_MONTH.getValue(), HonorWallType.ANTIFADING_MONTH.getValue(), honorWallMap, cuMemberHonorWallList);
|
||||
// // 再发季度徽章
|
||||
// if (month == 1 || month == 4 || month == 7 || month == 10) {
|
||||
// // 3个月期间,作为开始期间
|
||||
// String quarterFirstMonthDate = DateUtils.beforeMonthFirstDateStr(3, settleDate);
|
||||
// CuMemberSettlePeriod quarterPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(quarterFirstMonthDate);
|
||||
// grantHonorWall(quarterPeriod.getPkId(), cuMemberSettlePeriod.getPkId(), settleMonth,
|
||||
// HonorWallType.RECOMMEND_QUARTER.getValue(), HonorWallType.ANTIFADING_QUARTER.getValue(), honorWallMap, cuMemberHonorWallList);
|
||||
// if (month == 1) {
|
||||
// // 再发年度徽章
|
||||
// // 3个月期间,作为开始期间
|
||||
// String yearFirstMonthDate = DateUtils.beforeMonthFirstDateStr(12, settleDate);
|
||||
// CuMemberSettlePeriod yearPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yearFirstMonthDate);
|
||||
// if (yearPeriod != null) {
|
||||
// grantHonorWall(yearPeriod.getPkId(), cuMemberSettlePeriod.getPkId(), settleMonth,
|
||||
// HonorWallType.RECOMMEND_QUARTER.getValue(), HonorWallType.ANTIFADING_QUARTER.getValue(), honorWallMap, cuMemberHonorWallList);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// if (cuMemberHonorWallList.size() > 0) {
|
||||
// cuMemberHonorWallService.saveBatch(cuMemberHonorWallList);
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -505,11 +505,11 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
|
|||
*/
|
||||
@Override
|
||||
public List<CuMemberSettleExt> queryCuMemberTreeParentTable(String settleTableName, Long pkMember, Integer level) {
|
||||
Long b = System.currentTimeMillis();
|
||||
long b = System.currentTimeMillis();
|
||||
System.out.println("开始时间:" + b);
|
||||
List<CuMemberSettleExt> memberSettleExtList = baseMapper.queryCuMemberTreeParentTable(settleTableName, pkMember, level);
|
||||
System.out.println("结束时间:" + (System.currentTimeMillis() - b));
|
||||
List<Long> ids = memberSettleExtList.stream().map(a -> a.getPkMember()).collect(Collectors.toList());
|
||||
List<Long> ids = memberSettleExtList.stream().map(CuMemberTree::getPkMember).collect(Collectors.toList());
|
||||
// 查询会员直推人数
|
||||
List<MemberParentCountParam> memberParentCountParamList = new ArrayList<>();
|
||||
if (ids.size() > 0) {
|
||||
|
@ -519,14 +519,10 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
|
|||
} else {
|
||||
memberParentCountParamList = baseMapper.queryByMemberParentAndMemberSettleCount(ids, settleTableName);
|
||||
}
|
||||
|
||||
}
|
||||
Map<Long, Long> memberParentCountMap = memberParentCountParamList.stream().collect(Collectors.toMap(MemberParentCountParam::getPkMember, MemberParentCountParam::getParentMemberCount));
|
||||
// 查询直推人数
|
||||
memberSettleExtList.stream().map(a -> {
|
||||
a.setDirectPushNumber(memberParentCountMap.getOrDefault(a.getPkMember(), 0L));
|
||||
return a;
|
||||
}).collect(Collectors.toList());
|
||||
memberSettleExtList.stream().peek(a -> a.setDirectPushNumber(memberParentCountMap.getOrDefault(a.getPkMember(), 0L))).collect(Collectors.toList());
|
||||
//查询直推业绩
|
||||
if (StringUtils.isNotBlank(settleTableName) && ids.size() > 0) {
|
||||
List<MemberParentCountParam> memberParentCountParamPvList = new ArrayList<>();
|
||||
|
@ -539,14 +535,8 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
|
|||
|
||||
Map<Long, BigDecimal> memberParentPvMap = memberParentCountParamPvList.stream().collect(Collectors.toMap(MemberParentCountParam::getPkMember, MemberParentCountParam::getParentMemberSumPv));
|
||||
// 查询直推业绩
|
||||
memberSettleExtList.stream().map(a -> {
|
||||
a.setHistoryPerformancePv(memberParentPvMap.getOrDefault(a.getPkMember(), BigDecimal.ZERO));
|
||||
return a;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
memberSettleExtList.stream().peek(a -> a.setHistoryPerformancePv(memberParentPvMap.getOrDefault(a.getPkMember(), BigDecimal.ZERO))).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
|
||||
return memberSettleExtList;
|
||||
}
|
||||
|
||||
|
@ -714,7 +704,7 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
|
|||
@Override
|
||||
public CuMemberSettleExt queryCuMemberTreeByPlacePkMemberTable(String settleTableName, Long pkMember) {
|
||||
CuMemberSettleExt cuMemberSettleExt = baseMapper.queryCuMemberTreeByPlacePkMemberTable(settleTableName, pkMember);
|
||||
List<Long> memberIds = Arrays.asList(cuMemberSettleExt.getPkMember());
|
||||
List<Long> memberIds = Collections.singletonList(cuMemberSettleExt.getPkMember());
|
||||
// 查询会员直推人数
|
||||
List<MemberParentCountParam> memberParentCountParamList = baseMapper.queryByMemberParentCount(memberIds);
|
||||
Map<Long, Long> memberParentCountMap = memberParentCountParamList.stream().collect(Collectors.toMap(MemberParentCountParam::getPkMember, MemberParentCountParam::getParentMemberCount));
|
||||
|
|
|
@ -8,7 +8,6 @@ import com.hzs.bonus.bonus.service.ICuMemberBonusService;
|
|||
import com.hzs.bonus.settle.IMemberSettleBonusApi;
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.common.core.utils.DateUtils;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||
import com.hzs.common.domain.sale.order.SaOrder;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboService;
|
||||
|
@ -31,16 +30,12 @@ public class MemberSettleBonusProvider implements IMemberSettleBonusApi {
|
|||
|
||||
@Autowired
|
||||
private ICuMemberMonthAchieveService cuMemberMonthAchieveService;
|
||||
|
||||
@Autowired
|
||||
private IBonusSettleService bonusSettleService;
|
||||
|
||||
@Autowired
|
||||
private ICuMemberBonusService cuMemberBonusService;
|
||||
|
||||
@Autowired
|
||||
private IBonusGrantService bonusGrantService;
|
||||
|
||||
@Autowired
|
||||
private ICuMemberAchieveService cuMemberAchieveService;
|
||||
|
||||
|
@ -48,7 +43,7 @@ public class MemberSettleBonusProvider implements IMemberSettleBonusApi {
|
|||
public R<Boolean> calculateCumberBonusBySecond(String orderCode) {
|
||||
try {
|
||||
bonusSettleService.calculateCumberBonusBySecond(orderCode);
|
||||
}catch (Exception e){
|
||||
} catch (Exception e) {
|
||||
return R.fail();
|
||||
}
|
||||
return R.ok();
|
||||
|
@ -59,7 +54,7 @@ public class MemberSettleBonusProvider implements IMemberSettleBonusApi {
|
|||
try {
|
||||
new BonusCalculateBonus(settleDate).start();
|
||||
return R.ok();
|
||||
}catch (Exception e){
|
||||
} catch (Exception e) {
|
||||
return R.fail();
|
||||
}
|
||||
}
|
||||
|
@ -69,10 +64,11 @@ public class MemberSettleBonusProvider implements IMemberSettleBonusApi {
|
|||
cuMemberBonusService.backupsSettleBonusEveryday();
|
||||
}
|
||||
|
||||
class BonusCalculateBonus extends Thread{
|
||||
class BonusCalculateBonus extends Thread {
|
||||
|
||||
private final Date settleDate;
|
||||
public BonusCalculateBonus(Date settleDate){
|
||||
|
||||
public BonusCalculateBonus(Date settleDate) {
|
||||
this.settleDate = settleDate;
|
||||
}
|
||||
|
||||
|
@ -86,8 +82,8 @@ public class MemberSettleBonusProvider implements IMemberSettleBonusApi {
|
|||
// 奖金结算
|
||||
try {
|
||||
cuMemberBonusService.autoCalculateBonus(settleDate, settleEndDate);
|
||||
}catch (Exception e){
|
||||
log.info("11111111", e);
|
||||
} catch (Exception e) {
|
||||
log.error("奖金结算异常,结算时间:{}", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, settleDate), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,7 +7,6 @@ import com.hzs.common.domain.member.bonus.CuMemberBonus;
|
|||
import com.hzs.common.domain.member.ext.CuMemberBonusExt;
|
||||
import com.hzs.bonus.bonus.param.BonusParam;
|
||||
import com.hzs.bonus.bonus.vo.MemberBonusVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
@ -15,9 +14,7 @@ import java.util.Map;
|
|||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-会员奖金汇总表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-11-11
|
||||
|
@ -26,6 +23,7 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
|||
|
||||
/**
|
||||
* 批量获取cuMemberBonus主键
|
||||
*
|
||||
* @param rowNum 数量
|
||||
* @return: List<Integer>
|
||||
* @Author: sui q
|
||||
|
@ -35,6 +33,7 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
|||
|
||||
/**
|
||||
* 根据查询条件查询每日奖金汇总
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
* @return: List<MemberBonusVO>
|
||||
* @Author: sui q
|
||||
|
@ -44,15 +43,17 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
|||
|
||||
/**
|
||||
* 根据查询条件查询会员奖金
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
* @return: List<MemberBonusVO>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/13 11:27
|
||||
*/
|
||||
* @return: List<MemberBonusVO>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/13 11:27
|
||||
*/
|
||||
List<CuMemberBonusExt> queryMemberBonusVoByCondition(BonusParam bonusParam);
|
||||
|
||||
/**
|
||||
* 根据查询条件查询会员秒接奖金
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
* @return: List<MemberBonusVO>
|
||||
* @Author: sui q
|
||||
|
@ -62,6 +63,7 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
|||
|
||||
/**
|
||||
* 根据查询条件查询会员奖金
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
* @return: List<MemberBonusVO>
|
||||
* @Author: sui q
|
||||
|
@ -71,6 +73,7 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
|||
|
||||
/**
|
||||
* 根据查询条件查询会员奖金
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
* @return: List<MemberBonusVO>
|
||||
* @Author: sui q
|
||||
|
@ -89,20 +92,22 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
|||
|
||||
/**
|
||||
* 根据条件查询查询每天奖金汇总
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
* @return: List<BonusTotalVO>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/3/6 9:26
|
||||
*/
|
||||
* @return: List<BonusTotalVO>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/3/6 9:26
|
||||
*/
|
||||
List<CuMemberBonusExt> queryBonusTotalVoByConditionForServer(BonusParam bonusParam);
|
||||
|
||||
/**
|
||||
* 根据查询条件查询会员明细奖金
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
* @return: List<MemberBonusDetailVO>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/13 17:27
|
||||
*/
|
||||
* @return: List<MemberBonusDetailVO>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/13 17:27
|
||||
*/
|
||||
TableDataInfo queryMemberBonusDetailVoByCondition(BonusParam bonusParam);
|
||||
|
||||
/*
|
||||
|
@ -115,15 +120,17 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
|||
|
||||
/**
|
||||
* 后台根据查询条件查询会员奖金明细
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
* @return: List<MemberBonusDetailSerVO>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/23 14:41
|
||||
*/
|
||||
* @return: List<MemberBonusDetailSerVO>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/23 14:41
|
||||
*/
|
||||
TableDataInfo queryMemberBonusDetailSerVoByCondition(BonusParam bonusParam);
|
||||
|
||||
/**
|
||||
* 删除会员奖金汇总表
|
||||
*
|
||||
* @param period 结算期间
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
|
@ -133,6 +140,7 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
|||
|
||||
/**
|
||||
* 批量插入会员奖金主表
|
||||
*
|
||||
* @param cuMemberBonusList 会员奖金
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
|
@ -142,6 +150,7 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
|||
|
||||
/**
|
||||
* 批量插入会员奖金主表
|
||||
*
|
||||
* @param cuMemberBonusList 会员奖金
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
|
@ -159,34 +168,37 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
|||
|
||||
/**
|
||||
* 根据国家、期间查询存在首购奖金的会员
|
||||
* @param period 期间
|
||||
*
|
||||
* @param period 期间
|
||||
* @param pkCountryList 国家
|
||||
* @return: List<CuMemberBonus>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/3/14 9:56
|
||||
*/
|
||||
* @return: List<CuMemberBonus>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/3/14 9:56
|
||||
*/
|
||||
List<CuMemberBonus> queryExistsPurchaseBonusMember(Integer period, List<Integer> pkCountryList);
|
||||
|
||||
/**
|
||||
* 更新奖金状态
|
||||
* @param grantStatus 发放状态
|
||||
*
|
||||
* @param grantStatus 发放状态
|
||||
* @param oldGrantStatus 原来的发放状态
|
||||
* @param startPeriod 期间
|
||||
* @return: Boolean
|
||||
* @Author: sui q
|
||||
* @Date: 2023/3/20 17:21
|
||||
*/
|
||||
* @param startPeriod 期间
|
||||
* @return: Boolean
|
||||
* @Author: sui q
|
||||
* @Date: 2023/3/20 17:21
|
||||
*/
|
||||
Boolean updateCuMemberBonusStatus(Integer pkCountry, Integer grantStatus, Integer oldGrantStatus, Integer startPeriod, Integer endPeriod);
|
||||
|
||||
/**
|
||||
* 根据发放状态查询某一期的奖金
|
||||
*
|
||||
* @param grantStatus 发放状态
|
||||
* @param startPeriod 期间
|
||||
* @param endPeriod 期间
|
||||
* @return: List<CuMemberBonus>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/3/21 9:44
|
||||
*/
|
||||
* @param endPeriod 期间
|
||||
* @return: List<CuMemberBonus>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/3/21 9:44
|
||||
*/
|
||||
List<CuMemberBonus> queryCuMemberBonusByCondition(Integer pkCountry, Integer grantStatus, Integer startPeriod, Integer endPeriod);
|
||||
|
||||
/*
|
||||
|
@ -206,14 +218,6 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
|||
**/
|
||||
void backupsSettleBonusEveryday();
|
||||
|
||||
/*
|
||||
* @description: 结算极差奖金
|
||||
* @author: sui q
|
||||
* @date: 2024/10/15 10:12
|
||||
* @param: null null
|
||||
**/
|
||||
void autoCalculateRangeBonus(Date settleDate);
|
||||
|
||||
/*
|
||||
* @description: 查询会员奖金根据期间
|
||||
* @author: sui q
|
||||
|
|
|
@ -58,7 +58,6 @@ import com.hzs.system.config.IRangeServiceApi;
|
|||
import com.hzs.system.config.dto.BonusConfigDTO;
|
||||
import com.hzs.system.config.dto.GradeDTO;
|
||||
import com.hzs.system.config.dto.RangeDTO;
|
||||
import com.hzs.third.email.IEmailServiceApi;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -80,12 +79,20 @@ import java.util.*;
|
|||
@Slf4j
|
||||
public class BonusSettleServiceImpl implements IBonusSettleService {
|
||||
|
||||
@DubboReference
|
||||
ISystemConfigServiceApi systemConfigServiceApi;
|
||||
@DubboReference
|
||||
IGradeServiceApi gradeServiceApi;
|
||||
@DubboReference
|
||||
IAwardsServiceApi awardsServiceApi;
|
||||
@DubboReference
|
||||
IRangeServiceApi rangeServiceApi;
|
||||
@DubboReference
|
||||
IMemberServiceApi memberServiceApi;
|
||||
@DubboReference
|
||||
IEmailServiceApi emailServiceApi;
|
||||
IBonusItemsServiceApi bonusItemsServiceApi;
|
||||
@DubboReference
|
||||
IAcPickServiceApi acPickServiceApi;
|
||||
|
||||
private ICuMemberTreeService cuMemberTreeService;
|
||||
|
||||
|
@ -154,21 +161,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
@Autowired
|
||||
private BonusSettleStoreHandle bonusSettleStoreHandle;
|
||||
|
||||
@DubboReference
|
||||
private ISystemConfigServiceApi systemConfigServiceApi;
|
||||
|
||||
@DubboReference
|
||||
private IRangeServiceApi rangeServiceApi;
|
||||
|
||||
@DubboReference
|
||||
private IAwardsServiceApi awardsServiceApi;
|
||||
|
||||
@DubboReference
|
||||
private IBonusItemsServiceApi bonusItemsServiceApi;
|
||||
|
||||
@DubboReference
|
||||
private IAcPickServiceApi acPickServiceApi;
|
||||
|
||||
private ICuMemberBonusService cuMemberBonusService;
|
||||
|
||||
private ICuMemberBonusPushService cuMemberBonusPushService;
|
||||
|
@ -648,7 +640,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
emailServiceApi.sendMessage();
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
@ -1438,25 +1429,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param settleDateStr 结算日期
|
||||
* @Desccription: 计算云代的奖金
|
||||
* @return: Map<Long, CuMemberSettleExt> 需要更新的
|
||||
* @Author: sui q
|
||||
* @Date: 2022/11/10 17:40
|
||||
*/
|
||||
private void calculateRetailShareBonus(String settleDateStr, BonusConfigDTO bonusConfigDTO,
|
||||
Integer period, BonusRecordDetailVO bonusRecordDetailVO, Map<Long, CuMemberBonus> cuMemberBonusMap) {
|
||||
// List<CuMemberBonusDetail> cuMemberBonusDetailList = bonusSettleFirstPurchaseHandle.calculateShareBonus(settleDateStr, bonusConfigDTO, period, cuMemberBonusMap, cuAwardsControlMap);
|
||||
// if (CollectionUtil.isNotEmpty(cuMemberBonusDetailList)) {
|
||||
// if (bonusRecordDetailVO.getCuMemberBonusDetailList() != null) {
|
||||
// bonusRecordDetailVO.getCuMemberBonusDetailList().addAll(cuMemberBonusDetailList);
|
||||
// } else {
|
||||
// bonusRecordDetailVO.setCuMemberBonusDetailList(cuMemberBonusDetailList);
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
/**
|
||||
* @param settleDateStr 结算日期
|
||||
* @param bonusConfigDTO 各个国家奖金参数
|
||||
|
|
|
@ -90,7 +90,6 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
|||
this.cuMemberTreeService = cuMemberTreeService;
|
||||
}
|
||||
|
||||
|
||||
@Autowired
|
||||
public void setCuMemberBonusSettle(CuMemberBonusSettle cuMemberBonusSettle) {
|
||||
this.cuMemberBonusSettle = cuMemberBonusSettle;
|
||||
|
@ -695,11 +694,6 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
|||
cuMemberTreeService.createCuMemberTree(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void autoCalculateRangeBonus(Date settleDate) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<Long> queryMemberBonusByPeriod(Integer period) {
|
||||
LambdaQueryWrapper<CuMemberBonus> queryWrapper = new LambdaQueryWrapper<>();
|
||||
|
@ -716,4 +710,5 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
|||
cuMemberBonusList.forEach(cuMemberBonus -> cuMemberBonusMap.put(cuMemberBonus.getPkMember(), cuMemberBonus));
|
||||
return cuMemberBonusMap;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -4,61 +4,81 @@
|
|||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="CuMemberMonthAchieve" type="com.hzs.common.domain.member.ext.CuMemberMonthAchieveExt">
|
||||
<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="PK_MEMBER" property="pkMember" />
|
||||
<result column="PERIOD" property="period" />
|
||||
<result column="SETTLE_MONTH" property="settleMonth" />
|
||||
<result column="RECOMMEND_MONEY" property="recommendMoney" />
|
||||
<result column="RECOMMEND_ACHIEVE" property="recommendAchieve" />
|
||||
<result column="REPURCHASE_MONEY" property="repurchaseMoney" />
|
||||
<result column="REPURCHASE_ACHIEVE" property="repurchaseAchieve" />
|
||||
<result column="WALL_TYPE" property="wallType" />
|
||||
<result column="MONEY" property="money" />
|
||||
<result column="MEMBER_NAME" property="memberName" />
|
||||
<result column="HEAD_PATH" property="headPath" />
|
||||
<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="PK_MEMBER" property="pkMember"/>
|
||||
<result column="PERIOD" property="period"/>
|
||||
<result column="SETTLE_MONTH" property="settleMonth"/>
|
||||
<result column="RECOMMEND_MONEY" property="recommendMoney"/>
|
||||
<result column="RECOMMEND_ACHIEVE" property="recommendAchieve"/>
|
||||
<result column="REPURCHASE_MONEY" property="repurchaseMoney"/>
|
||||
<result column="REPURCHASE_ACHIEVE" property="repurchaseAchieve"/>
|
||||
<result column="WALL_TYPE" property="wallType"/>
|
||||
<result column="MONEY" property="money"/>
|
||||
<result column="MEMBER_NAME" property="memberName"/>
|
||||
<result column="HEAD_PATH" property="headPath"/>
|
||||
</resultMap>
|
||||
|
||||
<insert id="insertCuMemberMonthAchieve">
|
||||
merge into CU_MEMBER_MONTH_ACHIEVE a
|
||||
using(
|
||||
select pk_member,#{period} period,RECOMMEND_MONEY,RECOMMEND_ACHIEVE,REPURCHASE_MONEY,REPURCHASE_ACHIEVE,pk_country from(
|
||||
select pk_member,pk_country,sum(REGISTER_NEW_AMOUNT+UPGRADE_NEW_AMOUNT) RECOMMEND_MONEY,sum(REGISTER_NEW_PV+UPGRADE_NEW_PV) RECOMMEND_ACHIEVE,
|
||||
sum(REPURCHASE_NEW_AMOUNT+HI_FUN_NEW_AMOUNT+MALL_NEW_AMOUNT) REPURCHASE_MONEY,sum(REPURCHASE_PV+HI_FUN_NEW_PV+MALL_NEW_PV) REPURCHASE_ACHIEVE from ${tableName}
|
||||
where REGISTER_NEW_AMOUNT+UPGRADE_NEW_AMOUNT>0 or REPURCHASE_NEW_AMOUNT+HI_FUN_NEW_AMOUNT+MALL_NEW_AMOUNT>0
|
||||
group by pk_member,pk_country)
|
||||
using (
|
||||
select pk_member, #{period} period, RECOMMEND_MONEY, RECOMMEND_ACHIEVE, REPURCHASE_MONEY, REPURCHASE_ACHIEVE, pk_country
|
||||
from (
|
||||
select pk_member,
|
||||
pk_country,
|
||||
sum(REGISTER_NEW_AMOUNT + UPGRADE_NEW_AMOUNT) RECOMMEND_MONEY,
|
||||
sum(REGISTER_NEW_PV + UPGRADE_NEW_PV) RECOMMEND_ACHIEVE,
|
||||
sum(REPURCHASE_NEW_AMOUNT + HI_FUN_NEW_AMOUNT + MALL_NEW_AMOUNT) REPURCHASE_MONEY,
|
||||
sum(REPURCHASE_PV + HI_FUN_NEW_PV + MALL_NEW_PV) REPURCHASE_ACHIEVE
|
||||
from ${tableName}
|
||||
where REGISTER_NEW_AMOUNT + UPGRADE_NEW_AMOUNT > 0
|
||||
or REPURCHASE_NEW_AMOUNT + HI_FUN_NEW_AMOUNT + MALL_NEW_AMOUNT > 0
|
||||
group by pk_member, pk_country)
|
||||
) b
|
||||
on (a.pk_member=b.pk_member and a.period=b.period)
|
||||
on (a.pk_member = b.pk_member and a.period = b.period)
|
||||
when matched then
|
||||
update set a.RECOMMEND_MONEY = b.RECOMMEND_MONEY, a.RECOMMEND_ACHIEVE=b.RECOMMEND_ACHIEVE,
|
||||
a.REPURCHASE_MONEY=b.REPURCHASE_MONEY,a.REPURCHASE_ACHIEVE=b.REPURCHASE_ACHIEVE
|
||||
update set a.RECOMMEND_MONEY = b.RECOMMEND_MONEY, a.RECOMMEND_ACHIEVE = b.RECOMMEND_ACHIEVE,
|
||||
a.REPURCHASE_MONEY = b.REPURCHASE_MONEY,a.REPURCHASE_ACHIEVE = b.REPURCHASE_ACHIEVE
|
||||
WHEN NOT MATCHED THEN
|
||||
insert(PK_ID, PK_MEMBER, PERIOD, SETTLE_MONTH, RECOMMEND_MONEY,RECOMMEND_ACHIEVE,REPURCHASE_MONEY,
|
||||
REPURCHASE_ACHIEVE,PK_COUNTRY,PK_CREATOR)
|
||||
insert (PK_ID, PK_MEMBER, PERIOD, SETTLE_MONTH, RECOMMEND_MONEY, RECOMMEND_ACHIEVE, REPURCHASE_MONEY,
|
||||
REPURCHASE_ACHIEVE, PK_COUNTRY, PK_CREATOR)
|
||||
values (CU_MEMBER_MONTH_ACHIEVE_SEQ.NEXTVAL,
|
||||
b.pk_member,b.period,#{month},b.RECOMMEND_MONEY,b.RECOMMEND_ACHIEVE,b.REPURCHASE_MONEY,
|
||||
b.REPURCHASE_ACHIEVE,b.PK_COUNTRY,1)
|
||||
b.pk_member, b.period, #{month}, b.RECOMMEND_MONEY, b.RECOMMEND_ACHIEVE, b.REPURCHASE_MONEY,
|
||||
b.REPURCHASE_ACHIEVE, b.PK_COUNTRY, 1)
|
||||
</insert>
|
||||
|
||||
<select id="queryCuMemberMonthAchieveByDate" resultMap="CuMemberMonthAchieve">
|
||||
select * from(
|
||||
select * from (
|
||||
select pk_member,pk_country,${recommend} wall_type,sum(recommend_money) money from CU_MEMBER_MONTH_ACHIEVE
|
||||
where del_flag=0 and period >= #{startPeriod} and period < #{endPeriod}
|
||||
group by pk_member,pk_country
|
||||
order by sum(recommend_money) desc
|
||||
) where rownum <= 3
|
||||
union
|
||||
select * from (
|
||||
select pk_member,pk_country,${repurchase} wall_type,sum(repurchase_money) money from CU_MEMBER_MONTH_ACHIEVE
|
||||
where del_flag=0 and period >= #{startPeriod} and period < #{endPeriod}
|
||||
group by pk_member,pk_country
|
||||
order by sum(repurchase_money) desc
|
||||
) where rownum <= 3) a
|
||||
order by wall_type,a.money desc
|
||||
select *
|
||||
from (
|
||||
select *
|
||||
from (
|
||||
select pk_member, pk_country, ${recommend} wall_type, sum(recommend_money) money
|
||||
from CU_MEMBER_MONTH_ACHIEVE
|
||||
where del_flag = 0
|
||||
and period >= #{startPeriod}
|
||||
and period < #{endPeriod}
|
||||
group by pk_member, pk_country
|
||||
order by sum(recommend_money) desc
|
||||
)
|
||||
where rownum <= 3
|
||||
union
|
||||
select *
|
||||
from (
|
||||
select pk_member, pk_country, ${repurchase} wall_type, sum(repurchase_money) money
|
||||
from CU_MEMBER_MONTH_ACHIEVE
|
||||
where del_flag = 0
|
||||
and period >= #{startPeriod}
|
||||
and period < #{endPeriod}
|
||||
group by pk_member, pk_country
|
||||
order by sum(repurchase_money) desc
|
||||
)
|
||||
where rownum <= 3) a
|
||||
order by wall_type, a.money desc
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,12 +1,7 @@
|
|||
package com.hzs.report.member.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.hzs.common.domain.report.member.CuMemberPerk;
|
||||
import com.hzs.common.domain.report.member.CuMemberPerkDetail;
|
||||
import com.hzs.common.domain.report.member.ext.CuMemberPerkDetailExt;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 会员补贴明细 Mapper 接口
|
||||
|
@ -16,33 +11,4 @@ import java.util.Collection;
|
|||
*/
|
||||
public interface CuMemberPerkDetailMapper extends BaseMapper<CuMemberPerkDetail> {
|
||||
|
||||
/**
|
||||
* 删除补贴明细(物理)
|
||||
*
|
||||
* @param pkMemberPerk 会员补贴配置ID
|
||||
* @param calculateDate 计算日期
|
||||
* @return
|
||||
*/
|
||||
int clearDetail(@Param("pkMemberPerk") Long pkMemberPerk, @Param("calculateDate") String calculateDate);
|
||||
|
||||
/**
|
||||
* 查询血缘上第一个补贴配置(统计条件全部相同,必须去重的)
|
||||
*
|
||||
* @param queryMemberPerk 会员配置
|
||||
* @param calculateDateStr 查询日期
|
||||
* @param period 查询期数
|
||||
* @return
|
||||
*/
|
||||
CuMemberPerkDetail queryFirstParentPerk(@Param("queryMemberPerk") CuMemberPerk queryMemberPerk,
|
||||
@Param("calculateDateStr") String calculateDateStr,
|
||||
@Param("period") Integer period);
|
||||
|
||||
/**
|
||||
* 批量更新去重数据
|
||||
*
|
||||
* @param detailList 补贴明细数据列表
|
||||
* @return
|
||||
*/
|
||||
int updateDistinctDataBatch(@Param("detailList") Collection<CuMemberPerkDetailExt> detailList);
|
||||
|
||||
}
|
||||
|
|
|
@ -15,22 +15,6 @@ import java.util.List;
|
|||
*/
|
||||
public interface CuMemberPerkDetailMemberMapper extends BaseMapper<CuMemberPerkDetailMember> {
|
||||
|
||||
/**
|
||||
* 删除补贴明细会员(物理)
|
||||
*
|
||||
* @param perkDetailMemberList 补贴明细会员列表
|
||||
* @return
|
||||
*/
|
||||
int clearMember(@Param("perkDetailMemberList") List<CuMemberPerkDetailMember> perkDetailMemberList);
|
||||
|
||||
/**
|
||||
* 批量插入补贴明细会员
|
||||
*
|
||||
* @param perkDetailMemberList 补贴明细会员列表
|
||||
* @return
|
||||
*/
|
||||
int insertBatch(@Param("perkDetailMemberList") List<CuMemberPerkDetailMember> perkDetailMemberList);
|
||||
|
||||
/**
|
||||
* 查询明细会员列表
|
||||
*
|
||||
|
|
|
@ -15,27 +15,6 @@ import java.util.List;
|
|||
*/
|
||||
public interface CuMemberPerkDetailOrderMapper extends BaseMapper<CuMemberPerkDetailOrder> {
|
||||
|
||||
/**
|
||||
* 删除补贴订单明细(物理)
|
||||
*
|
||||
* @param pkMemberPerk 会员补贴配置ID
|
||||
* @param calculateDate 计算日期
|
||||
* @return
|
||||
*/
|
||||
int clearOrder(@Param("pkMemberPerk") Long pkMemberPerk, @Param("calculateDate") String calculateDate);
|
||||
|
||||
/**
|
||||
* 批量插入补贴明细订单
|
||||
*
|
||||
* @param pkMemberPerk 补贴配置ID
|
||||
* @param pkMemberPerkDetail 补贴配置明细ID
|
||||
* @param orderList 订单列表
|
||||
* @return
|
||||
*/
|
||||
int insertBatch(@Param("pkMemberPerk") Long pkMemberPerk,
|
||||
@Param("pkMemberPerkDetail") Long pkMemberPerkDetail,
|
||||
@Param("orderList") List<SaOrderExt> orderList);
|
||||
|
||||
/**
|
||||
* 查询明细订单列表
|
||||
*
|
||||
|
|
|
@ -1,14 +1,11 @@
|
|||
package com.hzs.report.member.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod;
|
||||
import com.hzs.common.domain.report.member.CuMemberPerk;
|
||||
import com.hzs.common.domain.report.member.ext.CuMemberPerkExt;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||
import com.hzs.report.member.param.MemberPerkQueryParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
@ -19,48 +16,6 @@ import java.util.List;
|
|||
*/
|
||||
public interface CuMemberPerkMapper extends BaseMapper<CuMemberPerk> {
|
||||
|
||||
/**
|
||||
* 查询需要处理的补贴配置数据
|
||||
*
|
||||
* @param nowDate 当前时间
|
||||
* @param pkCountry 所属国家 (可为空,默认为中国)
|
||||
* @return
|
||||
*/
|
||||
List<CuMemberPerk> queryHandleData(@Param("nowDate") Date nowDate, @Param("pkCountry") Integer pkCountry);
|
||||
|
||||
/**
|
||||
* 查询时间范围时间ID
|
||||
*
|
||||
* @param startDate 开始时间
|
||||
* @param endDate 结束时间
|
||||
* @return
|
||||
*/
|
||||
List<CuMemberSettlePeriod> queryPeriodIdByDate(@Param("startDate") Date startDate, @Param("endDate") Date endDate);
|
||||
|
||||
/**
|
||||
* 查询需要统计的订单数据
|
||||
*
|
||||
* @param pkMember 会员ID
|
||||
* @param queryDate 查询日期
|
||||
* @param period 查询期数
|
||||
* @param notProductList 不包含产品ID列表
|
||||
* @param pkCountry 所属国家
|
||||
* @return
|
||||
*/
|
||||
List<SaOrderExt> queryOrderData(@Param("pkMember") Long pkMember,
|
||||
@Param("queryDate") Date queryDate,
|
||||
@Param("period") Integer period,
|
||||
@Param("notProductList") List<Long> notProductList,
|
||||
@Param("pkCountry") Integer pkCountry);
|
||||
|
||||
/**
|
||||
* 更新会员补贴数据
|
||||
*
|
||||
* @param pkId 补贴配置ID
|
||||
* @return
|
||||
*/
|
||||
int updateMemberPerkData(@Param("pkId") Long pkId);
|
||||
|
||||
/**
|
||||
* 补贴配置列表
|
||||
*
|
||||
|
|
|
@ -1,53 +0,0 @@
|
|||
package com.hzs.report.member.provider;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.common.domain.report.member.CuMemberPerk;
|
||||
import com.hzs.report.member.service.ICuMemberPerkBusinessService;
|
||||
import com.hzs.report.member.service.ICuMemberPerkService;
|
||||
import com.hzs.report.perk.IMemberPerkServiceApi;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 会员补贴dubbo服务
|
||||
* @Author: jiang chao
|
||||
* @Time: 2024/4/22 16:41
|
||||
* @Classname: MemberPerkServiceProvider
|
||||
* @PackageName: com.hzs.report.member.provider
|
||||
*/
|
||||
@Slf4j
|
||||
@DubboService
|
||||
public class MemberPerkServiceProvider implements IMemberPerkServiceApi {
|
||||
|
||||
@Autowired
|
||||
private ICuMemberPerkService iCuMemberPerkService;
|
||||
@Autowired
|
||||
private ICuMemberPerkBusinessService iCuMemberPerkBusinessService;
|
||||
|
||||
@Override
|
||||
public R memberPerkHandle() {
|
||||
try {
|
||||
String str = null;
|
||||
|
||||
// 需要处理数据的补贴配置
|
||||
List<CuMemberPerk> memberPerkList = iCuMemberPerkService.queryHandleData(new Date(), null);
|
||||
if (CollectionUtil.isNotEmpty(memberPerkList)) {
|
||||
str = iCuMemberPerkBusinessService.memberPerkHandle(memberPerkList);
|
||||
}
|
||||
|
||||
if (null == str) {
|
||||
return R.ok();
|
||||
}
|
||||
return R.fail(str);
|
||||
} catch (Exception e) {
|
||||
log.error("会员补贴处理异常:{}", e.getMessage(), e);
|
||||
return R.fail(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1,9 +1,5 @@
|
|||
package com.hzs.report.member.service;
|
||||
|
||||
import com.hzs.common.domain.report.member.CuMemberPerk;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 会员补贴配置业务处理服务
|
||||
* @Author: jiang chao
|
||||
|
@ -13,12 +9,5 @@ import java.util.List;
|
|||
*/
|
||||
public interface ICuMemberPerkBusinessService {
|
||||
|
||||
/**
|
||||
* 会员补贴处理
|
||||
*
|
||||
* @param memberPerkList 会员补贴数据
|
||||
* @return
|
||||
*/
|
||||
String memberPerkHandle(List<CuMemberPerk> memberPerkList);
|
||||
|
||||
}
|
||||
|
|
|
@ -14,22 +14,6 @@ import java.util.List;
|
|||
*/
|
||||
public interface ICuMemberPerkDetailMemberService extends IService<CuMemberPerkDetailMember> {
|
||||
|
||||
/**
|
||||
* 删除补贴明细会员(物理)
|
||||
*
|
||||
* @param perkDetailMemberList 补贴明细会员
|
||||
* @return
|
||||
*/
|
||||
int clearMember(List<CuMemberPerkDetailMember> perkDetailMemberList);
|
||||
|
||||
/**
|
||||
* 批量插入补贴明细会员
|
||||
*
|
||||
* @param perkDetailMemberList 补贴明细会员列表
|
||||
* @return
|
||||
*/
|
||||
int insertBatch(List<CuMemberPerkDetailMember> perkDetailMemberList);
|
||||
|
||||
/**
|
||||
* 查询明细会员列表
|
||||
*
|
||||
|
|
|
@ -14,25 +14,6 @@ import java.util.List;
|
|||
*/
|
||||
public interface ICuMemberPerkDetailOrderService extends IService<CuMemberPerkDetailOrder> {
|
||||
|
||||
/**
|
||||
* 删除补贴订单明细(物理)
|
||||
*
|
||||
* @param pkMemberPerk 会员补贴配置ID
|
||||
* @param calculateDate 计算日期
|
||||
* @return
|
||||
*/
|
||||
int clearOrder(Long pkMemberPerk, String calculateDate);
|
||||
|
||||
/**
|
||||
* 批量插入补贴订单明细
|
||||
*
|
||||
* @param pkMemberPerk 补贴配置ID
|
||||
* @param pkMemberPerkDetail 补贴配置明细ID
|
||||
* @param orderList 订单列表
|
||||
* @return
|
||||
*/
|
||||
int insertBatch(Long pkMemberPerk, Long pkMemberPerkDetail, List<SaOrderExt> orderList);
|
||||
|
||||
/**
|
||||
* 查询明细订单列表
|
||||
*
|
||||
|
|
|
@ -1,11 +1,7 @@
|
|||
package com.hzs.report.member.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.hzs.common.domain.report.member.CuMemberPerk;
|
||||
import com.hzs.common.domain.report.member.CuMemberPerkDetail;
|
||||
import com.hzs.common.domain.report.member.ext.CuMemberPerkDetailExt;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 会员补贴明细 服务类
|
||||
|
@ -15,31 +11,4 @@ import java.util.Collection;
|
|||
*/
|
||||
public interface ICuMemberPerkDetailService extends IService<CuMemberPerkDetail> {
|
||||
|
||||
/**
|
||||
* 删除补贴明细(物理)
|
||||
*
|
||||
* @param pkMemberPerk 会员补贴配置ID
|
||||
* @param calculateDate 计算日期
|
||||
* @return
|
||||
*/
|
||||
int clearDetail(Long pkMemberPerk, String calculateDate);
|
||||
|
||||
/**
|
||||
* 查询血缘上第一个补贴配置(统计条件全部相同,必须去重的)
|
||||
*
|
||||
* @param queryMemberPerk 会员配置
|
||||
* @param calculateDateStr 查询日期
|
||||
* @param period 查询期数
|
||||
* @return
|
||||
*/
|
||||
CuMemberPerkDetail queryFirstParentPerk(CuMemberPerk queryMemberPerk, String calculateDateStr, Integer period);
|
||||
|
||||
/**
|
||||
* 批量更新去重数据
|
||||
*
|
||||
* @param detailList 补贴明细数据列表
|
||||
* @return
|
||||
*/
|
||||
int updateDistinctDataBatch(Collection<CuMemberPerkDetailExt> detailList);
|
||||
|
||||
}
|
||||
|
|
|
@ -3,8 +3,6 @@ package com.hzs.report.member.service;
|
|||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.hzs.common.domain.report.member.CuMemberPerkProduct;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 会员补贴产品配置 服务类
|
||||
*
|
||||
|
@ -13,12 +11,4 @@ import java.util.List;
|
|||
*/
|
||||
public interface ICuMemberPerkProductService extends IService<CuMemberPerkProduct> {
|
||||
|
||||
/**
|
||||
* 查询补贴产品
|
||||
*
|
||||
* @param type 参与考核(0=是,1=否)
|
||||
* @return
|
||||
*/
|
||||
List<Long> queryPerkProductList(Integer type);
|
||||
|
||||
}
|
||||
|
|
|
@ -1,13 +1,10 @@
|
|||
package com.hzs.report.member.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod;
|
||||
import com.hzs.common.domain.report.member.CuMemberPerk;
|
||||
import com.hzs.common.domain.report.member.ext.CuMemberPerkExt;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||
import com.hzs.report.member.param.MemberPerkQueryParam;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
@ -18,44 +15,6 @@ import java.util.List;
|
|||
*/
|
||||
public interface ICuMemberPerkService extends IService<CuMemberPerk> {
|
||||
|
||||
/**
|
||||
* 查询需要处理的补贴配置数据
|
||||
*
|
||||
* @param nowDate 当前时间
|
||||
* @param pkCountry 所属国家 (可为空,默认为中国)
|
||||
* @return
|
||||
*/
|
||||
List<CuMemberPerk> queryHandleData(Date nowDate, Integer pkCountry);
|
||||
|
||||
/**
|
||||
* 查询时间范围时间ID
|
||||
*
|
||||
* @param startDate 开始时间
|
||||
* @param endDate 结束时间
|
||||
* @return
|
||||
*/
|
||||
List<CuMemberSettlePeriod> queryPeriodIdByDate(Date startDate, Date endDate);
|
||||
|
||||
/**
|
||||
* 查询需要统计的订单数据
|
||||
*
|
||||
* @param pkMember 会员ID
|
||||
* @param queryDate 查询日期
|
||||
* @param period 查询期数
|
||||
* @param notProductList 不包含产品ID列表
|
||||
* @param pkCountry 所属国家
|
||||
* @return
|
||||
*/
|
||||
List<SaOrderExt> queryOrderData(Long pkMember, Date queryDate, Integer period, List<Long> notProductList, Integer pkCountry);
|
||||
|
||||
/**
|
||||
* 更新会员补贴数据
|
||||
*
|
||||
* @param pkId 补贴配置ID
|
||||
* @return
|
||||
*/
|
||||
int updateMemberPerkData(Long pkId);
|
||||
|
||||
/**
|
||||
* 补贴配置列表
|
||||
*
|
||||
|
|
|
@ -1,31 +1,8 @@
|
|||
package com.hzs.report.member.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.hzs.common.core.constant.CountryConstants;
|
||||
import com.hzs.common.core.constant.MagicNumberConstants;
|
||||
import com.hzs.common.core.enums.EAccount;
|
||||
import com.hzs.common.core.enums.EOrderType;
|
||||
import com.hzs.common.core.enums.EYesNo;
|
||||
import com.hzs.common.core.utils.DateUtils;
|
||||
import com.hzs.common.domain.member.account.CuMemberTrade;
|
||||
import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod;
|
||||
import com.hzs.common.domain.report.member.CuMemberPerk;
|
||||
import com.hzs.common.domain.report.member.CuMemberPerkDetail;
|
||||
import com.hzs.common.domain.report.member.CuMemberPerkDetailMember;
|
||||
import com.hzs.common.domain.report.member.ext.CuMemberPerkDetailExt;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||
import com.hzs.common.domain.system.config.BdAccount;
|
||||
import com.hzs.report.member.service.*;
|
||||
import com.hzs.system.config.IAccountServiceApi;
|
||||
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.math.BigDecimal;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @Description: 会员补贴配置业务处理服务
|
||||
|
@ -38,257 +15,4 @@ import java.util.*;
|
|||
@Service
|
||||
public class CuMemberPerkBusinessServiceImpl implements ICuMemberPerkBusinessService {
|
||||
|
||||
@Autowired
|
||||
private ICuMemberPerkService iCuMemberPerkService;
|
||||
@Autowired
|
||||
private ICuMemberPerkDetailService iCuMemberPerkDetailService;
|
||||
@Autowired
|
||||
private ICuMemberPerkDetailOrderService iCuMemberPerkDetailOrderService;
|
||||
@Autowired
|
||||
private ICuMemberPerkDetailMemberService iCuMemberPerkDetailMemberService;
|
||||
@Autowired
|
||||
private ICuMemberPerkProductService iCuMemberPerkProductService;
|
||||
|
||||
@DubboReference
|
||||
IAccountServiceApi iAccountServiceApi;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public String memberPerkHandle(List<CuMemberPerk> memberPerkList) {
|
||||
if (CollectionUtil.isNotEmpty(memberPerkList)) {
|
||||
// 当前时间
|
||||
Date nowDate = new Date();
|
||||
// 创建人
|
||||
Long pkCreator = MagicNumberConstants.PK_ADMIN;
|
||||
// 所属国家(默认中国)
|
||||
Integer pkCountry = CountryConstants.CHINA_COUNTRY;
|
||||
|
||||
// 开始时间(7天前0点)
|
||||
Date startDate = DateUtils.getStartTime(DateUtils.addDays(nowDate, -7));
|
||||
// 结束时间(今天0点)
|
||||
Date endDate = DateUtils.getStartTime(nowDate);
|
||||
|
||||
// 拉取奖金期间(需要跑数据的7天)
|
||||
List<CuMemberSettlePeriod> periodList = iCuMemberPerkService.queryPeriodIdByDate(startDate, endDate);
|
||||
|
||||
// 国家下所有币种
|
||||
Map<Integer, BdAccount> accountMap = iAccountServiceApi.getAccountMapByCountry(pkCountry).getData();
|
||||
// 政策币ID
|
||||
Integer pkPolicy = accountMap.get(EAccount.POLICY.getValue()).getPkId();
|
||||
// 复购券ID
|
||||
Integer pkRepurchase = accountMap.get(EAccount.REPURCHASE.getValue()).getPkId();
|
||||
|
||||
// 查询需要排除的产品(2024.04.23 沟通暂时先全去舱)
|
||||
List<Long> notProductList = iCuMemberPerkProductService.queryPerkProductList(EYesNo.NO.getIntValue());
|
||||
// 记录重算的补贴每天明细map(key:补贴配置ID + 日期 ,value:补贴明细数据)
|
||||
Map<String, CuMemberPerkDetail> perkDetailMap = new HashMap<>();
|
||||
|
||||
// 遍历补贴配置(计算累计的金额、业绩)
|
||||
for (CuMemberPerk cuMemberPerk : memberPerkList) {
|
||||
// 补贴配置ID
|
||||
Long pkMemberPerk = cuMemberPerk.getPkId();
|
||||
|
||||
// 遍历更新期数
|
||||
for (CuMemberSettlePeriod settlePeriod : periodList) {
|
||||
// 查询数据时间
|
||||
Date calculateDate = settlePeriod.getSettleDate();
|
||||
// 查询数据时间字符串
|
||||
String calculateDateStr = DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD, calculateDate);
|
||||
|
||||
if (cuMemberPerk.getCalculateStartDate().compareTo(calculateDate) <= 0
|
||||
&& cuMemberPerk.getCalculateEndDate().compareTo(calculateDate) >= 0) {
|
||||
// 本次循环处理时间在本条补贴配置的执行时间之内,则需要重新计算数据
|
||||
|
||||
// 查询会员血缘伞下订单相关数据
|
||||
List<SaOrderExt> orderList = iCuMemberPerkService.queryOrderData(cuMemberPerk.getPkMember(), calculateDate, settlePeriod.getPkId(), notProductList, pkCountry);
|
||||
if (CollectionUtil.isNotEmpty(orderList)) {
|
||||
// 有当天的订单需要处理
|
||||
// 首购金额
|
||||
BigDecimal firstAmount = BigDecimal.ZERO;
|
||||
// 首购业绩
|
||||
BigDecimal firstAchieve = BigDecimal.ZERO;
|
||||
// 复购金额
|
||||
BigDecimal repurchaseAmount = BigDecimal.ZERO;
|
||||
// 复购业绩
|
||||
BigDecimal repurchaseAchieve = BigDecimal.ZERO;
|
||||
// 使用政策币
|
||||
BigDecimal policyAmount = null;
|
||||
// 使用复购券
|
||||
BigDecimal repurchaseCouponAmount = null;
|
||||
|
||||
for (SaOrderExt saOrderExt : orderList) {
|
||||
switch (EOrderType.getEnumByValue(saOrderExt.getOrderType())) {
|
||||
case REGISTER_ORDER:
|
||||
case UPGRADE_ORDER:
|
||||
case SPECIAL_REGISTER_ORDER:
|
||||
case SPECIAL_UPGRADE_ORDER:
|
||||
// 首购(注册、升级、特殊注册、特殊升级、虚拟订单)
|
||||
firstAmount = firstAmount.add(saOrderExt.getOrderAmount());
|
||||
firstAchieve = firstAchieve.add(saOrderExt.getOrderAchieve());
|
||||
break;
|
||||
case REPURCHASE_ORDER:
|
||||
case WELFARE_ORDER:
|
||||
case SPECIAL_REPURCHASE_ORDER:
|
||||
}
|
||||
|
||||
// 订单支付流水
|
||||
List<CuMemberTrade> tradeList = saOrderExt.getTradeList();
|
||||
for (CuMemberTrade cuMemberTrade : tradeList) {
|
||||
if (cuMemberTrade.getPkAccount().equals(pkPolicy)) {
|
||||
// 政策币
|
||||
if (null == policyAmount) {
|
||||
policyAmount = cuMemberTrade.getTradeAmount().abs();
|
||||
}
|
||||
} else if (cuMemberTrade.getPkAccount().equals(pkRepurchase)) {
|
||||
// 复购券
|
||||
if (null == repurchaseCouponAmount) {
|
||||
repurchaseCouponAmount = cuMemberTrade.getTradeAmount().abs();
|
||||
}
|
||||
}
|
||||
if (null != policyAmount && null != repurchaseCouponAmount) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 会员补贴明细
|
||||
CuMemberPerkDetail cuMemberPerkDetail = new CuMemberPerkDetail();
|
||||
cuMemberPerkDetail.setPolicyAmount(policyAmount);
|
||||
cuMemberPerkDetail.setRepurchaseCouponAmount(repurchaseCouponAmount);
|
||||
cuMemberPerkDetail.setFirstAmount(firstAmount);
|
||||
cuMemberPerkDetail.setFirstAchieve(firstAchieve);
|
||||
cuMemberPerkDetail.setRepurchaseAmount(repurchaseAmount);
|
||||
cuMemberPerkDetail.setRepurchaseAchieve(repurchaseAchieve);
|
||||
cuMemberPerkDetail.setDistinctFirstAmount(BigDecimal.ZERO);
|
||||
cuMemberPerkDetail.setDistinctFirstAchieve(BigDecimal.ZERO);
|
||||
cuMemberPerkDetail.setDistinctRepurchaseAmount(BigDecimal.ZERO);
|
||||
cuMemberPerkDetail.setDistinctRepurchaseAchieve(BigDecimal.ZERO);
|
||||
|
||||
QueryWrapper<CuMemberPerkDetail> memberPerkDetailQueryWrapper = new QueryWrapper<>();
|
||||
memberPerkDetailQueryWrapper.eq("PK_MEMBER_PERK", pkMemberPerk);
|
||||
memberPerkDetailQueryWrapper.eq("CALCULATE_DATE", calculateDateStr);
|
||||
CuMemberPerkDetail memberPerkDetail = iCuMemberPerkDetailService.getOne(memberPerkDetailQueryWrapper);
|
||||
if (null == memberPerkDetail) {
|
||||
// 没有补贴明细,需要新増
|
||||
cuMemberPerkDetail.setPkMemberPerk(pkMemberPerk);
|
||||
cuMemberPerkDetail.setCalculateDate(calculateDateStr);
|
||||
cuMemberPerkDetail.setCreationTime(nowDate);
|
||||
cuMemberPerkDetail.setPkCreator(pkCreator);
|
||||
cuMemberPerkDetail.setPkCountry(pkCountry);
|
||||
iCuMemberPerkDetailService.save(cuMemberPerkDetail);
|
||||
} else {
|
||||
// 有补贴明细,需要更新
|
||||
cuMemberPerkDetail.setPkId(memberPerkDetail.getPkId());
|
||||
cuMemberPerkDetail.setModifiedTime(nowDate);
|
||||
cuMemberPerkDetail.setPkModified(pkCreator);
|
||||
iCuMemberPerkDetailService.updateById(cuMemberPerkDetail);
|
||||
// 删除补贴订单明细(物理)
|
||||
iCuMemberPerkDetailOrderService.clearOrder(pkMemberPerk, calculateDateStr);
|
||||
}
|
||||
|
||||
// 记录重算的补贴每天明细
|
||||
perkDetailMap.put(pkMemberPerk + calculateDateStr, cuMemberPerkDetail);
|
||||
|
||||
// 批量插入补贴明细订单
|
||||
iCuMemberPerkDetailOrderService.insertBatch(pkMemberPerk, cuMemberPerkDetail.getPkId(), orderList);
|
||||
} else {
|
||||
// 没有当天的订单
|
||||
// 删除补贴订单明细(物理)
|
||||
iCuMemberPerkDetailOrderService.clearOrder(pkMemberPerk, calculateDateStr);
|
||||
// 删除补贴明细(物理)
|
||||
iCuMemberPerkDetailService.clearDetail(pkMemberPerk, calculateDateStr);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 需要更新去重的补贴配置明细map(key:需要更新的补贴配置, value:更新补贴配置数据明细)
|
||||
Map<Long, CuMemberPerkDetailExt> distinctMemberPerkMap = new HashMap<>();
|
||||
// 需要入库的补贴明细会员
|
||||
List<CuMemberPerkDetailMember> perkDetailMemberList = new ArrayList<>();
|
||||
// 遍历补贴配置(计算血缘上去重业绩)
|
||||
for (CuMemberPerk cuMemberPerk : memberPerkList) {
|
||||
// 补贴配置ID
|
||||
Long pkMemberPerk = cuMemberPerk.getPkId();
|
||||
|
||||
// 遍历更新期数
|
||||
for (CuMemberSettlePeriod settlePeriod : periodList) {
|
||||
// 查询数据时间
|
||||
Date calculateDate = settlePeriod.getSettleDate();
|
||||
// 查询数据时间字符串
|
||||
String calculateDateStr = DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD, calculateDate);
|
||||
|
||||
if (cuMemberPerk.getCalculateStartDate().compareTo(calculateDate) <= 0
|
||||
&& cuMemberPerk.getCalculateEndDate().compareTo(calculateDate) >= 0) {
|
||||
// 本次循环处理时间在本条补贴配置的执行时间之内,则需要重新计算数据
|
||||
|
||||
// 当前配置当前天,计算的数据(需要把金额、业绩去重)
|
||||
CuMemberPerkDetail nowPerkDetail = perkDetailMap.get(pkMemberPerk + calculateDateStr);
|
||||
if (null != nowPerkDetail
|
||||
&& nowPerkDetail.getFirstAmount().compareTo(BigDecimal.ZERO) > 0
|
||||
&& nowPerkDetail.getFirstAchieve().compareTo(BigDecimal.ZERO) > 0
|
||||
&& nowPerkDetail.getRepurchaseAmount().compareTo(BigDecimal.ZERO) > 0
|
||||
&& nowPerkDetail.getRepurchaseAchieve().compareTo(BigDecimal.ZERO) > 0
|
||||
) {
|
||||
// 当存在数据,并且 首购金额、业绩,复购金额、业绩 都不为0时才进行处理
|
||||
|
||||
// 查询血缘上第一个补贴配置(这个是需要进行去重的数据,找到的人必须各种条件与当前配置一致,并且需要去重)
|
||||
CuMemberPerkDetail tmpPerkDetail = iCuMemberPerkDetailService.queryFirstParentPerk(cuMemberPerk, calculateDateStr, settlePeriod.getPkId());
|
||||
if (null != tmpPerkDetail) {
|
||||
// 需要去重的数据
|
||||
CuMemberPerkDetailExt distinctPerkDetailExt = distinctMemberPerkMap.get(tmpPerkDetail.getPkId());
|
||||
if (null == distinctPerkDetailExt) {
|
||||
// 如果不存在,直接初始化去重金额、业绩
|
||||
distinctPerkDetailExt = new CuMemberPerkDetailExt();
|
||||
distinctPerkDetailExt.setPkId(tmpPerkDetail.getPkId());
|
||||
distinctPerkDetailExt.setDistinctFirstAmount(nowPerkDetail.getFirstAmount());
|
||||
distinctPerkDetailExt.setDistinctFirstAchieve(nowPerkDetail.getFirstAchieve());
|
||||
distinctPerkDetailExt.setDistinctRepurchaseAmount(nowPerkDetail.getRepurchaseAmount());
|
||||
distinctPerkDetailExt.setDistinctRepurchaseAchieve(nowPerkDetail.getRepurchaseAchieve());
|
||||
distinctPerkDetailExt.setDistinctPkMember(cuMemberPerk.getPkMember());
|
||||
distinctMemberPerkMap.put(tmpPerkDetail.getPkId(), distinctPerkDetailExt);
|
||||
} else {
|
||||
// 如果已经存在,则累加去重金额、业绩
|
||||
// 同一会员,时间范围内,配置了多条,去重金额、业绩只需要记录一份,实际业务不会发生
|
||||
if (!distinctPerkDetailExt.getDistinctPkMember().equals(cuMemberPerk.getPkMember())) {
|
||||
distinctPerkDetailExt.setDistinctFirstAmount(distinctPerkDetailExt.getDistinctFirstAmount().add(nowPerkDetail.getFirstAmount()));
|
||||
distinctPerkDetailExt.setDistinctFirstAchieve(distinctPerkDetailExt.getDistinctFirstAchieve().add(nowPerkDetail.getFirstAchieve()));
|
||||
distinctPerkDetailExt.setDistinctRepurchaseAmount(distinctPerkDetailExt.getDistinctRepurchaseAmount().add(nowPerkDetail.getRepurchaseAmount()));
|
||||
distinctPerkDetailExt.setDistinctRepurchaseAchieve(distinctPerkDetailExt.getDistinctRepurchaseAchieve().add(nowPerkDetail.getRepurchaseAchieve()));
|
||||
}
|
||||
}
|
||||
|
||||
// 补贴明细会员
|
||||
CuMemberPerkDetailMember cuMemberPerkDetailMember = new CuMemberPerkDetailMember();
|
||||
cuMemberPerkDetailMember.setPkMemberPerk(tmpPerkDetail.getPkMemberPerk());
|
||||
cuMemberPerkDetailMember.setPkMemberPerkDetail(tmpPerkDetail.getPkId());
|
||||
cuMemberPerkDetailMember.setDistinctPkMember(cuMemberPerk.getPkMember());
|
||||
cuMemberPerkDetailMember.setDistinctPkMemberPerk(cuMemberPerk.getPkId());
|
||||
perkDetailMemberList.add(cuMemberPerkDetailMember);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (distinctMemberPerkMap.size() > 0) {
|
||||
// 更新补贴明细的去重相关数据
|
||||
iCuMemberPerkDetailService.updateDistinctDataBatch(distinctMemberPerkMap.values());
|
||||
}
|
||||
if (perkDetailMemberList.size() > 0) {
|
||||
// 处理补贴明细会员数据
|
||||
// 删除补贴明细会员(物理)
|
||||
iCuMemberPerkDetailMemberService.clearMember(perkDetailMemberList);
|
||||
// 批量插入补贴明细会员
|
||||
iCuMemberPerkDetailMemberService.insertBatch(perkDetailMemberList);
|
||||
}
|
||||
|
||||
// 遍历补贴配置(计算血缘上去重业绩)
|
||||
for (CuMemberPerk cuMemberPerk : memberPerkList) {
|
||||
// 更新补贴配置表中数据
|
||||
iCuMemberPerkService.updateMemberPerkData(cuMemberPerk.getPkId());
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -18,16 +18,6 @@ import java.util.List;
|
|||
@Service
|
||||
public class CuMemberPerkDetailMemberServiceImpl extends ServiceImpl<CuMemberPerkDetailMemberMapper, CuMemberPerkDetailMember> implements ICuMemberPerkDetailMemberService {
|
||||
|
||||
@Override
|
||||
public int clearMember(List<CuMemberPerkDetailMember> perkDetailMemberList) {
|
||||
return baseMapper.clearMember(perkDetailMemberList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insertBatch(List<CuMemberPerkDetailMember> perkDetailMemberList) {
|
||||
return baseMapper.insertBatch(perkDetailMemberList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CuMemberPerkDetailMemberExt> queryMemberList(Long pkMemberPerk) {
|
||||
return baseMapper.queryMemberList(pkMemberPerk);
|
||||
|
|
|
@ -18,16 +18,6 @@ import java.util.List;
|
|||
@Service
|
||||
public class CuMemberPerkDetailOrderServiceImpl extends ServiceImpl<CuMemberPerkDetailOrderMapper, CuMemberPerkDetailOrder> implements ICuMemberPerkDetailOrderService {
|
||||
|
||||
@Override
|
||||
public int clearOrder(Long pkMemberPerk, String calculateDate) {
|
||||
return baseMapper.clearOrder(pkMemberPerk, calculateDate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insertBatch(Long pkMemberPerk, Long pkMemberPerkDetail, List<SaOrderExt> orderList) {
|
||||
return baseMapper.insertBatch(pkMemberPerk, pkMemberPerkDetail, orderList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SaOrderExt> queryOrderList(Long pkMemberPerk) {
|
||||
return baseMapper.queryOrderList(pkMemberPerk);
|
||||
|
|
|
@ -1,15 +1,11 @@
|
|||
package com.hzs.report.member.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hzs.common.domain.report.member.CuMemberPerk;
|
||||
import com.hzs.common.domain.report.member.CuMemberPerkDetail;
|
||||
import com.hzs.common.domain.report.member.ext.CuMemberPerkDetailExt;
|
||||
import com.hzs.report.member.mapper.CuMemberPerkDetailMapper;
|
||||
import com.hzs.report.member.service.ICuMemberPerkDetailService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 会员补贴明细 服务实现类
|
||||
*
|
||||
|
@ -19,19 +15,4 @@ import java.util.Collection;
|
|||
@Service
|
||||
public class CuMemberPerkDetailServiceImpl extends ServiceImpl<CuMemberPerkDetailMapper, CuMemberPerkDetail> implements ICuMemberPerkDetailService {
|
||||
|
||||
@Override
|
||||
public int clearDetail(Long pkMemberPerk, String calculateDate) {
|
||||
return baseMapper.clearDetail(pkMemberPerk, calculateDate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CuMemberPerkDetail queryFirstParentPerk(CuMemberPerk queryMemberPerk, String calculateDateStr, Integer period) {
|
||||
return baseMapper.queryFirstParentPerk(queryMemberPerk, calculateDateStr, period);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateDistinctDataBatch(Collection<CuMemberPerkDetailExt> detailList) {
|
||||
return baseMapper.updateDistinctDataBatch(detailList);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,17 +1,11 @@
|
|||
package com.hzs.report.member.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hzs.common.domain.report.member.CuMemberPerkProduct;
|
||||
import com.hzs.report.member.mapper.CuMemberPerkProductMapper;
|
||||
import com.hzs.report.member.service.ICuMemberPerkProductService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 会员补贴产品配置 服务实现类
|
||||
*
|
||||
|
@ -21,15 +15,4 @@ import java.util.stream.Collectors;
|
|||
@Service
|
||||
public class CuMemberPerkProductServiceImpl extends ServiceImpl<CuMemberPerkProductMapper, CuMemberPerkProduct> implements ICuMemberPerkProductService {
|
||||
|
||||
@Override
|
||||
public List<Long> queryPerkProductList(Integer type) {
|
||||
QueryWrapper<CuMemberPerkProduct> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("TYPE", type);
|
||||
List<CuMemberPerkProduct> perkProductList = this.list(queryWrapper);
|
||||
if (CollectionUtil.isNotEmpty(perkProductList)) {
|
||||
return perkProductList.stream().map(CuMemberPerkProduct::getPkProduct).collect(Collectors.toList());
|
||||
}
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -5,11 +5,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||
import com.hzs.common.core.constant.SystemFieldConstants;
|
||||
import com.hzs.common.core.enums.EDelFlag;
|
||||
import com.hzs.common.core.utils.DateUtils;
|
||||
import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod;
|
||||
import com.hzs.common.domain.report.member.CuMemberPerk;
|
||||
import com.hzs.common.domain.report.member.CuMemberPerkDetail;
|
||||
import com.hzs.common.domain.report.member.ext.CuMemberPerkExt;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||
import com.hzs.report.member.mapper.CuMemberPerkMapper;
|
||||
import com.hzs.report.member.param.MemberPerkQueryParam;
|
||||
import com.hzs.report.member.service.ICuMemberPerkDetailService;
|
||||
|
@ -34,26 +32,6 @@ public class CuMemberPerkServiceImpl extends ServiceImpl<CuMemberPerkMapper, CuM
|
|||
@Autowired
|
||||
private ICuMemberPerkDetailService iCuMemberPerkDetailService;
|
||||
|
||||
@Override
|
||||
public List<CuMemberPerk> queryHandleData(Date nowDate, Integer pkCountry) {
|
||||
return baseMapper.queryHandleData(nowDate, pkCountry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CuMemberSettlePeriod> queryPeriodIdByDate(Date startDate, Date endDate) {
|
||||
return baseMapper.queryPeriodIdByDate(startDate, endDate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SaOrderExt> queryOrderData(Long pkMember, Date queryDate, Integer period, List<Long> notProductList, Integer pkCountry) {
|
||||
return baseMapper.queryOrderData(pkMember, queryDate, period, notProductList, pkCountry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateMemberPerkData(Long pkId) {
|
||||
return baseMapper.updateMemberPerkData(pkId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CuMemberPerkExt> queryList(MemberPerkQueryParam param, Integer pkCountry) {
|
||||
return baseMapper.queryList(param, pkCountry);
|
||||
|
|
|
@ -2,88 +2,4 @@
|
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.hzs.report.member.mapper.CuMemberPerkDetailMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.hzs.common.domain.report.member.CuMemberPerkDetail">
|
||||
<id column="PK_ID" property="pkId"/>
|
||||
<result column="DEL_FLAG" property="delFlag"/>
|
||||
<result column="CREATION_TIME" property="creationTime"/>
|
||||
<result column="PK_CREATOR" property="pkCreator"/>
|
||||
<result column="MODIFIED_TIME" property="modifiedTime"/>
|
||||
<result column="PK_MODIFIED" property="pkModified"/>
|
||||
<result column="PK_COUNTRY" property="pkCountry"/>
|
||||
<result column="PK_MEMBER_PERK" property="pkMemberPerk"/>
|
||||
<result column="CALCULATE_DATE" property="calculateDate"/>
|
||||
<result column="POLICY_AMOUNT" property="policyAmount"/>
|
||||
<result column="REPURCHASE_COUPON_AMOUNT" property="repurchaseCouponAmount"/>
|
||||
<result column="FIRST_AMOUNT" property="firstAmount"/>
|
||||
<result column="FIRST_ACHIEVE" property="firstAchieve"/>
|
||||
<result column="REPURCHASE_AMOUNT" property="repurchaseAmount"/>
|
||||
<result column="REPURCHASE_ACHIEVE" property="repurchaseAchieve"/>
|
||||
<result column="DISTINCT_FIRST_AMOUNT" property="distinctFirstAmount"/>
|
||||
<result column="DISTINCT_FIRST_ACHIEVE" property="distinctFirstAchieve"/>
|
||||
<result column="DISTINCT_REPURCHASE_AMOUNT" property="distinctRepurchaseAmount"/>
|
||||
<result column="DISTINCT_REPURCHASE_ACHIEVE" property="distinctRepurchaseAchieve"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 删除补贴明细(物理) -->
|
||||
<delete id="clearDetail">
|
||||
delete
|
||||
from CU_MEMBER_PERK_DETAIL cmpd
|
||||
where cmpd.del_flag = 0
|
||||
and cmpd.pk_member_perk = #{pkMemberPerk}
|
||||
and cmpd.calculate_date = #{calculateDate}
|
||||
</delete>
|
||||
|
||||
<!-- 查询血缘上第一个补贴配置(统计条件全部相同,必须去重的) -->
|
||||
<select id="queryFirstParentPerk" resultMap="BaseResultMap">
|
||||
select t.*
|
||||
from (select cmpd.*, rownum
|
||||
from (select cms.pk_member, level top
|
||||
from CU_MEMBER_SETTLE${period} cms
|
||||
where cms.pk_member != #{queryMemberPerk.pkMember}
|
||||
start with cms.pk_member = #{queryMemberPerk.pkMember}
|
||||
connect by prior cms.pk_parent = cms.pk_member
|
||||
order by level) t
|
||||
left join CU_MEMBER_PERK cmp
|
||||
on cmp.pk_member = t.pk_member
|
||||
and cmp.del_flag = 0
|
||||
and to_char(cmp.CALCULATE_START_DATE, 'yyyy-mm-dd') >= #{calculateDateStr}
|
||||
and to_char(cmp.CALCULATE_END_DATE, 'yyyy-mm-dd') >= #{calculateDateStr}
|
||||
left join CU_MEMBER_PERK_DETAIL cmpd
|
||||
on cmpd.pk_member_perk = cmp.pk_id
|
||||
and cmpd.del_flag = 0
|
||||
where cmpd.calculate_date = #{calculateDateStr}
|
||||
and cmp.check_amount = #{queryMemberPerk.checkAmount}
|
||||
and cmp.check_achieve = #{queryMemberPerk.checkAchieve}
|
||||
and cmp.check_type = #{queryMemberPerk.checkType}
|
||||
and cmp.contain_cabin = #{queryMemberPerk.containCabin}
|
||||
and cmp.deduction_policy = #{queryMemberPerk.deductionPolicy}
|
||||
and cmp.deduction_repurchase = #{queryMemberPerk.deductionRepurchase}
|
||||
and cmp.deduplication = 0
|
||||
order by t.top) t
|
||||
where rownum = 1
|
||||
</select>
|
||||
|
||||
<!-- 批量更新去重数据 -->
|
||||
<update id="updateDistinctDataBatch">
|
||||
MERGE INTO CU_MEMBER_PERK_DETAIL cmpd
|
||||
USING (
|
||||
<foreach collection="detailList" item="item" separator=" UNION ALL ">
|
||||
select #{item.pkId} pk_id,
|
||||
#{item.distinctFirstAmount} distinct_first_amount,
|
||||
#{item.distinctFirstAchieve} distinct_first_achieve,
|
||||
#{item.distinctRepurchaseAmount} distinct_repurchase_amount,
|
||||
#{item.distinctRepurchaseAchieve} distinct_repurchase_achieve
|
||||
from dual
|
||||
</foreach>
|
||||
) tmp
|
||||
on (tmp.pk_id = cmpd.pk_id)
|
||||
WHEN MATCHED THEN
|
||||
update
|
||||
set cmpd.distinct_first_amount = tmp.distinct_first_amount,
|
||||
cmpd.distinct_first_achieve = tmp.distinct_first_achieve,
|
||||
cmpd.distinct_repurchase_amount = tmp.distinct_repurchase_amount,
|
||||
cmpd.distinct_repurchase_achieve = tmp.distinct_repurchase_achieve
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
|
|
|
@ -2,32 +2,6 @@
|
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.hzs.report.member.mapper.CuMemberPerkDetailMemberMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.hzs.common.domain.report.member.CuMemberPerkDetailMember">
|
||||
<result column="PK_MEMBER_PERK" property="pkMemberPerk"/>
|
||||
<result column="PK_MEMBER_PERK_DETAIL" property="pkMemberPerkDetail"/>
|
||||
<result column="DISTINCT_PK_MEMBER" property="distinctPkMember"/>
|
||||
<result column="DISTINCT_PK_MEMBER_PERK" property="distinctPkMemberPerk"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 删除补贴会员明细(物理) -->
|
||||
<delete id="clearMember">
|
||||
delete from cu_member_perk_detail_member cmpdm
|
||||
where (cmpdm.pk_member_perk, cmpdm.pk_member_perk_detail) in
|
||||
<foreach collection="perkDetailMemberList" item="item" open="(" separator=" union " close=")">
|
||||
select #{item.pkMemberPerk}, #{item.pkMemberPerkDetail} from dual
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<!-- 批量插入补贴明细会员 -->
|
||||
<insert id="insertBatch">
|
||||
insert into cu_member_perk_detail_member
|
||||
(pk_member_perk, pk_member_perk_detail, distinct_pk_member, distinct_pk_member_perk)
|
||||
<foreach collection="perkDetailMemberList" item="item" separator="UNION ALL">
|
||||
select #{item.pkMemberPerk}, #{item.pkMemberPerkDetail}, #{item.distinctPkMember}, #{item.distinctPkMemberPerk} from dual
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<!-- 查询明细会员列表 -->
|
||||
<select id="queryMemberList" resultType="com.hzs.common.domain.report.member.ext.CuMemberPerkDetailMemberExt">
|
||||
select distinct cmpdm.pk_member_perk,
|
||||
|
|
|
@ -2,35 +2,6 @@
|
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.hzs.report.member.mapper.CuMemberPerkDetailOrderMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.hzs.common.domain.report.member.CuMemberPerkDetailOrder">
|
||||
<result column="PK_MEMBER_PERK" property="pkMemberPerk"/>
|
||||
<result column="PK_MEMBER_PERK_DETAIL" property="pkMemberPerkDetail"/>
|
||||
<result column="PK_ORDER" property="pkOrder"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 删除补贴订单明细(物理) -->
|
||||
<delete id="clearOrder">
|
||||
delete
|
||||
from cu_member_perk_detail_order cmpo
|
||||
where (cmpo.pk_member_perk, cmpo.pk_member_perk_detail) in
|
||||
(select cmpd.pk_member_perk, cmpd.pk_id
|
||||
from CU_MEMBER_PERK_DETAIL cmpd
|
||||
where cmpd.del_flag = 0
|
||||
and cmpd.pk_member_perk = #{pkMemberPerk}
|
||||
and cmpd.calculate_date = #{calculateDate})
|
||||
</delete>
|
||||
|
||||
<!-- 批量插入补贴明细订单 -->
|
||||
<insert id="insertBatch">
|
||||
insert into cu_member_perk_detail_order
|
||||
(pk_member_perk, pk_member_perk_detail, pk_order)
|
||||
<foreach collection="orderList" item="item" separator="UNION ALL">
|
||||
select #{pkMemberPerk}, #{pkMemberPerkDetail}, #{item.pkId} from dual
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
|
||||
<!-- 订单 + 详情返回映射 -->
|
||||
<resultMap id="saOrderExtResultMap" type="com.hzs.common.domain.sale.ext.SaOrderExt">
|
||||
<result column="MEMBER_CODE" property="memberCode"/>
|
||||
|
|
|
@ -2,161 +2,6 @@
|
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.hzs.report.member.mapper.CuMemberPerkMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.hzs.common.domain.report.member.CuMemberPerk">
|
||||
<id column="PK_ID" property="pkId"/>
|
||||
<result column="DEL_FLAG" property="delFlag"/>
|
||||
<result column="CREATION_TIME" property="creationTime"/>
|
||||
<result column="PK_CREATOR" property="pkCreator"/>
|
||||
<result column="MODIFIED_TIME" property="modifiedTime"/>
|
||||
<result column="PK_MODIFIED" property="pkModified"/>
|
||||
<result column="PK_COUNTRY" property="pkCountry"/>
|
||||
<result column="PK_MEMBER" property="pkMember"/>
|
||||
<result column="CHECK_AMOUNT" property="checkAmount"/>
|
||||
<result column="CHECK_ACHIEVE" property="checkAchieve"/>
|
||||
<result column="CHECK_TYPE" property="checkType"/>
|
||||
<result column="CONTAIN_CABIN" property="containCabin"/>
|
||||
<result column="DEDUCTION_POLICY" property="deductionPolicy"/>
|
||||
<result column="DEDUCTION_REPURCHASE" property="deductionRepurchase"/>
|
||||
<result column="DEDUPLICATION" property="deduplication"/>
|
||||
<result column="START_DATE" property="startDate"/>
|
||||
<result column="END_DATE" property="endDate"/>
|
||||
<result column="STATUS" property="status"/>
|
||||
<result column="CALCULATE_START_DATE" property="calculateStartDate"/>
|
||||
<result column="CALCULATE_END_DATE" property="calculateEndDate"/>
|
||||
<result column="FIRST_AMOUNT" property="firstAmount"/>
|
||||
<result column="FIRST_ACHIEVE" property="firstAchieve"/>
|
||||
<result column="REPURCHASE_AMOUNT" property="repurchaseAmount"/>
|
||||
<result column="REPURCHASE_ACHIEVE" property="repurchaseAchieve"/>
|
||||
<result column="USED_POLICY" property="usedPolicy"/>
|
||||
<result column="USED_REPURCHASE" property="usedRepurchase"/>
|
||||
<result column="DISTINCT_FIRST_AMOUNT" property="distinctFirstAmount"/>
|
||||
<result column="DISTINCT_FIRST_ACHIEVE" property="distinctFirstAchieve"/>
|
||||
<result column="DISTINCT_REPURCHASE_AMOUNT" property="distinctRepurchaseAmount"/>
|
||||
<result column="DISTINCT_REPURCHASE_ACHIEVE" property="distinctRepurchaseAchieve"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 查询需要处理的补贴配置数据 -->
|
||||
<select id="queryHandleData" resultMap="BaseResultMap">
|
||||
select cmp.*
|
||||
from CU_MEMBER_PERK cmp
|
||||
where cmp.del_flag = 0
|
||||
and cmp.status = 3
|
||||
<choose>
|
||||
<when test="pkCountry != null">
|
||||
and cmp.pk_country = #{pkCountry}
|
||||
</when>
|
||||
<otherwise>
|
||||
and cmp.pk_country = 1
|
||||
</otherwise>
|
||||
</choose>
|
||||
and #{nowDate} >= cmp.CALCULATE_START_DATE
|
||||
and cmp.CALCULATE_END_DATE >= #{nowDate}
|
||||
</select>
|
||||
|
||||
<!-- 查询时间范围时间ID -->
|
||||
<select id="queryPeriodIdByDate" resultType="com.hzs.common.domain.member.achieve.CuMemberSettlePeriod">
|
||||
select pk_id, settle_date
|
||||
from CU_MEMBER_SETTLE_PERIOD cmsr
|
||||
where cmsr.del_flag = 0
|
||||
and cmsr.settle_date >= #{startDate}
|
||||
and #{endDate} > cmsr.settle_date
|
||||
order by cmsr.settle_date
|
||||
</select>
|
||||
|
||||
<!-- 订单数据映射map -->
|
||||
<resultMap id="orderDataMap" type="com.hzs.common.domain.sale.ext.SaOrderExt">
|
||||
<result column="pk_id" property="pkId"/>
|
||||
<result column="order_code" property="orderCode"/>
|
||||
<result column="order_amount" property="orderAmount"/>
|
||||
<result column="order_achieve" property="orderAchieve"/>
|
||||
<collection property="tradeList" ofType="com.hzs.common.domain.member.account.CuMemberTrade">
|
||||
<result column="creation_time" property="creationTime"/>
|
||||
<result column="pk_account" property="pkAccount"/>
|
||||
<result column="trade_amount" property="tradeAmount"/>
|
||||
</collection>
|
||||
</resultMap>
|
||||
|
||||
<!-- 查询需要统计的订单数据 -->
|
||||
<select id="queryOrderData" resultMap="orderDataMap">
|
||||
select so.*, cmt.creation_time, cmt.pk_account, cmt.trade_amount
|
||||
from (
|
||||
select so.pk_id,
|
||||
so.order_code,
|
||||
so.order_type,
|
||||
so.pk_member,
|
||||
so.pk_creator,
|
||||
sum(soi.price * soi.quantity) order_amount,
|
||||
sum(soi.achievement * soi.quantity) order_achieve
|
||||
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
|
||||
<!-- 是否含舱 -->
|
||||
<if test="notProductList != null and notProductList.size > 0">
|
||||
and soi.pk_product not in
|
||||
<foreach collection="notProductList" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
inner join (
|
||||
select cms.pk_member
|
||||
from CU_MEMBER_SETTLE${period} cms
|
||||
where cms.pk_member != #{pkMember}
|
||||
start with cms.pk_member = #{pkMember}
|
||||
connect by cms.pk_parent = prior cms.pk_member
|
||||
) cms
|
||||
on cms.pk_member = so.pk_member
|
||||
where so.del_flag = 0
|
||||
and so.pk_country = #{pkCountry}
|
||||
and so.order_status = 1
|
||||
and so.order_type in (1, 2, 24, 25, 20, 3, 12, 13, 14, 18, 19, 22, 26, 28, 7, 27)
|
||||
and to_char(so.pay_time, 'yyyy-mm-dd') = to_char(#{queryDate}, 'yyyy-mm-dd')
|
||||
group by so.pk_id, so.order_code, so.order_type, so.pk_member, so.pk_creator
|
||||
) so
|
||||
<!-- 订单支付明细:使用政策币、使用复购券 -->
|
||||
left join cu_member_trade cmt
|
||||
on cmt.pk_member = so.pk_creator
|
||||
and cmt.source_code = so.order_code
|
||||
where so.order_amount != 0
|
||||
and so.order_achieve != 0
|
||||
order by so.order_code, cmt.creation_time desc
|
||||
</select>
|
||||
|
||||
<!-- 更新会员补贴数据 -->
|
||||
<update id="updateMemberPerkData">
|
||||
update CU_MEMBER_PERK cmp
|
||||
set (
|
||||
cmp.USED_POLICY,
|
||||
cmp.USED_REPURCHASE,
|
||||
FIRST_AMOUNT,
|
||||
FIRST_ACHIEVE,
|
||||
REPURCHASE_AMOUNT,
|
||||
REPURCHASE_ACHIEVE,
|
||||
DISTINCT_FIRST_AMOUNT,
|
||||
DISTINCT_FIRST_ACHIEVE,
|
||||
DISTINCT_REPURCHASE_AMOUNT,
|
||||
DISTINCT_REPURCHASE_ACHIEVE,
|
||||
MODIFIED_TIME
|
||||
) = (
|
||||
select nvl(sum(POLICY_AMOUNT), 0) POLICY_AMOUNT,
|
||||
nvl(sum(REPURCHASE_COUPON_AMOUNT), 0) REPURCHASE_COUPON_AMOUNT,
|
||||
nvl(sum(FIRST_AMOUNT), 0) FIRST_AMOUNT,
|
||||
nvl(sum(FIRST_ACHIEVE), 0) FIRST_ACHIEVE,
|
||||
nvl(sum(REPURCHASE_AMOUNT), 0) REPURCHASE_AMOUNT,
|
||||
nvl(sum(REPURCHASE_ACHIEVE), 0) REPURCHASE_ACHIEVE,
|
||||
nvl(sum(DISTINCT_FIRST_AMOUNT), 0) DISTINCT_FIRST_AMOUNT,
|
||||
nvl(sum(DISTINCT_FIRST_ACHIEVE), 0) DISTINCT_FIRST_ACHIEVE,
|
||||
nvl(sum(DISTINCT_REPURCHASE_AMOUNT), 0) DISTINCT_REPURCHASE_AMOUNT,
|
||||
nvl(sum(DISTINCT_REPURCHASE_ACHIEVE), 0) DISTINCT_REPURCHASE_ACHIEVE,
|
||||
sysdate
|
||||
from CU_MEMBER_PERK_DETAIL cmpd
|
||||
where cmpd.pk_member_perk = #{pkId}
|
||||
and cmpd.del_flag = 0)
|
||||
where cmp.pk_id = #{pkId}
|
||||
</update>
|
||||
|
||||
<!-- 补贴配置列表 -->
|
||||
<select id="queryList" resultType="com.hzs.common.domain.report.member.ext.CuMemberPerkExt">
|
||||
select cmp.*,
|
||||
|
|
|
@ -2,11 +2,4 @@
|
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.hzs.report.member.mapper.CuMemberPerkProductMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.hzs.common.domain.report.member.CuMemberPerkProduct">
|
||||
<id column="PK_ID" property="pkId"/>
|
||||
<result column="PK_PRODUCT" property="pkProduct"/>
|
||||
<result column="TYPE" property="type"/>
|
||||
</resultMap>
|
||||
|
||||
</mapper>
|
||||
|
|
|
@ -33,17 +33,6 @@ public interface BdWaresDetailMapper extends BaseMapper<BdWaresDetail> {
|
|||
@Param("transType") Integer transType,
|
||||
@Param("orderItemsParams") List<OrderItemsParam> orderItemsParams);
|
||||
|
||||
/**
|
||||
* 根据条件查询商品信息
|
||||
*
|
||||
* @param specialArea 专区
|
||||
* @return: List<BdWaresExt>
|
||||
* @Author: sui q
|
||||
* @Date: 2022/9/16 11:13
|
||||
*/
|
||||
List<BdWaresDetailExt> queryWaresDetailBySkuCodeList(@Param("specialArea") Integer specialArea,
|
||||
@Param("skuCodeList") List<String> skuCodeList);
|
||||
|
||||
/**
|
||||
* 根据条件查询商品信息
|
||||
*
|
||||
|
|
|
@ -2,17 +2,14 @@ package com.hzs.sale.wares.provider;
|
|||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.common.domain.sale.ext.BdWaresDetailExt;
|
||||
import com.hzs.common.domain.sale.wares.BdWaresLabel;
|
||||
import com.hzs.sale.wares.IWaresServiceApi;
|
||||
import com.hzs.sale.wares.service.IBdWaresDetailService;
|
||||
import com.hzs.sale.wares.service.IBdWaresLabelService;
|
||||
import com.hzs.sale.wares.service.IBdWaresService;
|
||||
import org.apache.dubbo.config.annotation.DubboService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @BelongsProject: hzs_cloud
|
||||
|
@ -30,9 +27,6 @@ public class WaresServiceProvider implements IWaresServiceApi {
|
|||
@Autowired
|
||||
private IBdWaresLabelService waresLabelService;
|
||||
|
||||
@Autowired
|
||||
private IBdWaresDetailService bdWaresDetailService;
|
||||
|
||||
/**
|
||||
* 校验标签是否使用
|
||||
*
|
||||
|
@ -73,7 +67,6 @@ public class WaresServiceProvider implements IWaresServiceApi {
|
|||
waresService.waresPreSale();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 修改自动上下架状态(自动下架)
|
||||
*
|
||||
|
@ -84,8 +77,4 @@ public class WaresServiceProvider implements IWaresServiceApi {
|
|||
waresService.updateByAutoStartAndAutoEnd(currentTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<List<BdWaresDetailExt>> queryWaresDetailBySkuCodeList(Integer specialArea, List<String> skuCodeList) {
|
||||
return R.ok(bdWaresDetailService.queryWaresDetailBySkuCodeList(specialArea, skuCodeList));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,16 +31,6 @@ public interface IBdWaresDetailService extends IService<BdWaresDetail> {
|
|||
*/
|
||||
List<BdWaresDetailExt> queryWaresDetailByCondition(Integer specialArea, Integer transType, List<OrderItemsParam> orderItemsParams);
|
||||
|
||||
/**
|
||||
* 根据条件查询商品信息
|
||||
*
|
||||
* @param specialArea 专区
|
||||
* @return: List<BdWaresExt>
|
||||
* @Author: sui q
|
||||
* @Date: 2022/9/16 11:13
|
||||
*/
|
||||
List<BdWaresDetailExt> queryWaresDetailBySkuCodeList(Integer specialArea, List<String> skuCodeList);
|
||||
|
||||
/**
|
||||
* 根据条件查询商品信息
|
||||
*
|
||||
|
|
|
@ -89,11 +89,6 @@ public class BdWaresDetailServiceImpl extends ServiceImpl<BdWaresDetailMapper, B
|
|||
return bdWaresDetailExtList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BdWaresDetailExt> queryWaresDetailBySkuCodeList(Integer specialArea, List<String> skuCodeList) {
|
||||
return baseMapper.queryWaresDetailBySkuCodeList(specialArea, skuCodeList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<IcAvailableNum> queryWaresDetailSpecsByCondition(Integer specialArea, Integer pkCountry, Integer pkCorp, Integer pkStorehouse, Integer province,
|
||||
String parentCode, CuMember cuMember, List<OrderItemsParam> orderItemsParams) {
|
||||
|
|
|
@ -116,46 +116,6 @@
|
|||
</foreach>
|
||||
</select>
|
||||
|
||||
<select id="queryWaresDetailBySkuCodeList" resultMap="BdWaresDetailExt">
|
||||
select bd.pk_id,bs.pk_id pk_wares_specs_sku,bs.sku_code,bw.is_free_mail,be.pk_land_postage,
|
||||
be.pk_air_postage,be.pk_ocean_postage,bw.pk_id pk_wares,be.is_maker_gift,be.pre_sale_status,
|
||||
be.pk_special_currency,bw.wares_code, bw.wares_name,
|
||||
1 is_gift,bd.pk_product,bs.price,bs.achieve,bp.pk_supplier,bp.shipping_channel,bp.product_code,
|
||||
bs.ass_achieve,b.specs_name,b.specs_name_id from bd_wares bw
|
||||
inner join bd_wares_extend be
|
||||
on bw.pk_id = be.pk_wares
|
||||
inner join bd_wares_detail bd
|
||||
on bw.pk_id = bd.pk_wares
|
||||
left join bd_wares_specs_sku bs
|
||||
on bd.pk_id = bs.pk_wares_detail and bs.del_flag=0
|
||||
left join bd_product bp
|
||||
on bd.pk_product=bp.pk_id and bp.del_flag=0
|
||||
left join (
|
||||
select pk_wares_specs_sku,wmsys.wm_concat(distinct(sc.specs_name)) specs_name,wmsys.wm_concat(distinct(sc.pk_id)) specs_name_id
|
||||
from bd_wares_specs_sku bs
|
||||
inner join bd_wares_specs_relation br
|
||||
on bs.pk_id = br.pk_wares_specs_sku
|
||||
left join bd_wares_specs bp
|
||||
on br.pk_wares_specs= bp.pk_id
|
||||
left join bd_specs sc
|
||||
on bp.pk_specs = sc.pk_id
|
||||
<where>
|
||||
bs.sku_code in
|
||||
<foreach collection="skuCodeList" item="param" open="(" separator="," close=")">
|
||||
#{param}
|
||||
</foreach>
|
||||
</where>
|
||||
group by pk_wares_specs_sku) b
|
||||
on bs.pk_id = b.pk_wares_specs_sku
|
||||
where bw.del_flag=0 and be.del_flag=0
|
||||
and bd.del_flag=0
|
||||
and bw.special_area = #{specialArea}
|
||||
and bs.sku_code in
|
||||
<foreach collection="skuCodeList" item="param" open="(" separator="," close=")">
|
||||
#{param}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<select id="queryWaresDetailSpecsByCondition" resultMap="BdWaresDetailExt">
|
||||
select * from (
|
||||
<foreach collection="orderItemsParams" item="item" index="index" separator="union">
|
||||
|
|
|
@ -320,6 +320,7 @@
|
|||
where to_char(PUT_OFF_TIME, 'yyyy-mm-dd hh24:mi:ss') <= to_char(#{currentTime}, 'yyyy-mm-dd hh24:mi:ss')
|
||||
and IS_PUT_ON = '0'
|
||||
</update>
|
||||
|
||||
<!-- 修改商品预售状态-->
|
||||
<update id="waresPreSale">
|
||||
update BD_WARES_EXTEND
|
||||
|
@ -328,7 +329,6 @@
|
|||
where SYSDATE >= ARRIVAL_TIME
|
||||
and PRE_SALE_STATUS = 1
|
||||
and DEL_FLAG = 0
|
||||
|
||||
</update>
|
||||
|
||||
|
||||
|
|
|
@ -4,12 +4,10 @@ import com.hzs.common.core.domain.R;
|
|||
import com.hzs.common.core.enums.EMailType;
|
||||
import com.hzs.third.email.IEmailServiceApi;
|
||||
import com.hzs.third.email.service.ITEmailService;
|
||||
import com.hzs.third.sms.util.SmsUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
@ -20,12 +18,12 @@ import java.util.List;
|
|||
public class EmailProvider implements IEmailServiceApi {
|
||||
|
||||
@Autowired
|
||||
private ITEmailService iTEmailService;
|
||||
private ITEmailService itEmailService;
|
||||
|
||||
@Override
|
||||
public R sendMail(List<String> recipientList, String title, String content, EMailType eMailType) {
|
||||
public R<?> sendMail(List<String> recipientList, String title, String content, EMailType eMailType) {
|
||||
try {
|
||||
if (iTEmailService.sendMail(recipientList, title, content, true, eMailType)) {
|
||||
if (itEmailService.sendMail(recipientList, title, content, true, eMailType)) {
|
||||
return R.ok();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
@ -34,14 +32,4 @@ public class EmailProvider implements IEmailServiceApi {
|
|||
return R.fail("邮件发送失败");
|
||||
}
|
||||
|
||||
@Override
|
||||
public R sendMessage() {
|
||||
List<String> phoneList = new ArrayList<>();
|
||||
phoneList.add("18310333172");
|
||||
phoneList.forEach(phone -> {
|
||||
String smsStr = SmsUtil.sendSms(phone, "奖金结算错误,安置有问题");
|
||||
log.info("发送短信{}", smsStr);
|
||||
});
|
||||
return R.ok();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,7 +35,6 @@ public class BonusSettleJob {
|
|||
* @Date: 2023/3/4 13:48
|
||||
*/
|
||||
@XxlJob("backSettleBonus")
|
||||
// @Scheduled(cron = "10 8 10 * * ?")
|
||||
public void backupsSettleBonusEveryday() {
|
||||
log.info("开始进行奖金结算");
|
||||
memberBonusSettleApi.backupsSettleBonusEveryday();
|
||||
|
@ -49,14 +48,12 @@ public class BonusSettleJob {
|
|||
* @Date: 2023/3/4 13:48
|
||||
*/
|
||||
@XxlJob("autoSettleBonus")
|
||||
// @Scheduled(cron = "10 8 10 * * ?")
|
||||
public void autoSettleBonusEveryday() {
|
||||
Date startDate = DateUtils.beforeDate(7, ChronoUnit.DAYS, DateUtils.currentDate());
|
||||
log.info("开始进行奖金结算");
|
||||
memberBonusSettleApi.autoCalculateBonus(startDate);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 奖金每天自动结算,计算前一天奖金
|
||||
*
|
||||
|
@ -107,7 +104,6 @@ public class BonusSettleJob {
|
|||
* @Date: 2023/3/4 13:48
|
||||
*/
|
||||
@XxlJob("autoSettleBonus4")
|
||||
// @Scheduled(cron = "10 6 11 * * ?")
|
||||
public void autoSettleBonusEveryday4() {
|
||||
Date startDate = DateUtils.beforeDate(3, ChronoUnit.DAYS, DateUtils.currentDate());
|
||||
log.info("开始进行奖金结算");
|
||||
|
@ -162,7 +158,6 @@ public class BonusSettleJob {
|
|||
* @param: null null
|
||||
**/
|
||||
@XxlJob("autoGrantBonus")
|
||||
// @Scheduled(cron = "10 42 13 * * ?")
|
||||
public void autoGrantBonusEveryday() {
|
||||
log.info("开始进行奖金发放");
|
||||
memberBonusSettleApi.autoGrantBonus();
|
||||
|
@ -176,7 +171,6 @@ public class BonusSettleJob {
|
|||
* @param: null null
|
||||
**/
|
||||
@XxlJob("autoSettleMember")
|
||||
// @Scheduled(cron = "50 55 15 * * ?")
|
||||
public void autoSettleMemberAchieveEveryday() {
|
||||
log.info("开始进行会员业绩计算");
|
||||
memberBonusSettleApi.insertCuMemberAchieveByEveryDay();
|
||||
|
|
|
@ -139,7 +139,7 @@ public class MemberJob {
|
|||
*/
|
||||
@XxlJob("member-expire-data")
|
||||
public void memberExpireData() {
|
||||
R resultR = memberServiceApi.handleExpireDate(MagicNumberConstants.PK_ADMIN, CountryConstants.CHINA_COUNTRY);
|
||||
R<?> resultR = memberServiceApi.handleExpireDate(MagicNumberConstants.PK_ADMIN, CountryConstants.CHINA_COUNTRY);
|
||||
if (!resultR.isSuccess()) {
|
||||
log.error("处理会员续约状态出现异常,{}", resultR.getMsg());
|
||||
}
|
||||
|
@ -150,9 +150,7 @@ public class MemberJob {
|
|||
*/
|
||||
@XxlJob("updatWarehouseLogJob")
|
||||
public void updatWarehouseLogJob() {
|
||||
/**
|
||||
* 查询初始化条形码配置,将当前尾号初始化为初始尾号
|
||||
*/
|
||||
// 查询初始化条形码配置,将当前尾号初始化为初始尾号
|
||||
iBdBarCodeServiceApi.updatWarehouseLog();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,40 +0,0 @@
|
|||
package com.hzs.third.job;
|
||||
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.report.perk.IMemberPerkServiceApi;
|
||||
import com.xxl.job.core.handler.annotation.XxlJob;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* @Description: 报表服务定时任务
|
||||
* @Author: jiang chao
|
||||
* @Time: 2024/4/22 16:34
|
||||
* @Classname: ReportJob
|
||||
* @PackageName: com.hzs.third.job
|
||||
*/
|
||||
@Slf4j
|
||||
@ConditionalOnProperty(name = "xxl-job.start", havingValue = "true")
|
||||
@Component
|
||||
public class ReportJob {
|
||||
|
||||
@DubboReference
|
||||
private IMemberPerkServiceApi iMemberPerkServiceApi;
|
||||
|
||||
/**
|
||||
* 定时执行会员补贴计算
|
||||
*/
|
||||
@XxlJob("memberPerkHandle")
|
||||
public void memberPerkHandle() {
|
||||
log.info("会员补贴计算定时任务开始执行");
|
||||
R resultR = iMemberPerkServiceApi.memberPerkHandle();
|
||||
if (resultR.isSuccess()) {
|
||||
log.info("会员补贴计算定时任务执行成功");
|
||||
} else {
|
||||
log.error("会员补贴计算定时任务执行失败:{}", resultR.getMsg());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1,45 +1,35 @@
|
|||
package com.hzs.third.job;/**
|
||||
* @Description:
|
||||
* @Author: yuhui
|
||||
* @Time: 2023/6/1 10:44
|
||||
* @Classname: WaresJob
|
||||
* @PackageName: com.hzs.third.job
|
||||
*/
|
||||
package com.hzs.third.job;
|
||||
|
||||
import com.hzs.sale.wares.IWaresServiceApi;
|
||||
import com.xxl.job.core.handler.annotation.XxlJob;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
*@BelongsProject: hzs_cloud
|
||||
*@BelongsPackage: com.hzs.third.job
|
||||
*@Author: yh
|
||||
*@CreateTime: 2023-06-01 10:44
|
||||
*@Description: TODO
|
||||
*@Version: 1.0
|
||||
* @BelongsProject: hzs_cloud
|
||||
* @BelongsPackage: com.hzs.third.job
|
||||
* @Author: yh
|
||||
* @CreateTime: 2023-06-01 10:44
|
||||
* @Version: 1.0
|
||||
*/
|
||||
@Slf4j
|
||||
@ConditionalOnProperty(name = "xxl-job.start", havingValue = "true")
|
||||
@Component
|
||||
public class WaresJob {
|
||||
|
||||
@DubboReference
|
||||
private IWaresServiceApi waresServiceApi;
|
||||
IWaresServiceApi waresServiceApi;
|
||||
|
||||
/**
|
||||
* 商品自动上下架
|
||||
*/
|
||||
@XxlJob("waresAutoLoadingJob")
|
||||
public void waresAutoLoadingJob(){
|
||||
public void waresAutoLoadingJob() {
|
||||
// 修改符合 时间条件商品上架
|
||||
/**
|
||||
* 获取当前时间
|
||||
*/
|
||||
Date currentTime = new Date();
|
||||
// 自动上架
|
||||
waresServiceApi.updateByAutoStartAndAutoStart(currentTime);
|
||||
|
@ -51,7 +41,7 @@ public class WaresJob {
|
|||
* 商品预售状态修改
|
||||
*/
|
||||
@XxlJob("waresPreSaleJob")
|
||||
public void waresPreSaleJob(){
|
||||
public void waresPreSaleJob() {
|
||||
// 修改商品预售状态
|
||||
waresServiceApi.waresPreSale();
|
||||
}
|
||||
|
|
|
@ -7,7 +7,6 @@ import cn.hutool.json.JSONUtil;
|
|||
import com.hzs.activity.tourism.IAcTourismServiceApi;
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.common.core.web.domain.AjaxResult;
|
||||
import com.hzs.report.perk.IMemberPerkServiceApi;
|
||||
import com.hzs.system.base.IAreaServiceApi;
|
||||
import com.hzs.system.base.dto.AreaDTO;
|
||||
import com.hzs.third.job.OrderJob;
|
||||
|
@ -33,11 +32,9 @@ import java.util.*;
|
|||
public class JobTestController {
|
||||
|
||||
@DubboReference
|
||||
private IAcTourismServiceApi iAcTourismServiceApi;
|
||||
IAcTourismServiceApi iAcTourismServiceApi;
|
||||
@DubboReference
|
||||
private IAreaServiceApi iAreaServiceApi;
|
||||
@DubboReference
|
||||
private IMemberPerkServiceApi iMemberPerkServiceApi;
|
||||
IAreaServiceApi iAreaServiceApi;
|
||||
|
||||
/**
|
||||
* 测试旅游活动定时任务
|
||||
|
@ -59,22 +56,6 @@ public class JobTestController {
|
|||
@Autowired
|
||||
private OrderJob orderJob;
|
||||
|
||||
/**
|
||||
* 测试会员补贴
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/test-perk")
|
||||
public AjaxResult testPerk() {
|
||||
R resultR = iMemberPerkServiceApi.memberPerkHandle();
|
||||
if (resultR.isSuccess()) {
|
||||
log.info("会员补贴计算定时任务执行成功");
|
||||
} else {
|
||||
log.error("会员补贴计算定时任务执行失败:{}", resultR.getMsg());
|
||||
}
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试行政区划更新
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue