## 定时任务整体调整;
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;
|
package com.hzs.sale.wares;
|
||||||
|
|
||||||
import com.hzs.common.core.domain.R;
|
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.Date;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 商品对外提供接口
|
* @Description: 商品对外提供接口
|
||||||
|
@ -49,13 +44,4 @@ public interface IWaresServiceApi {
|
||||||
*/
|
*/
|
||||||
void updateByAutoStartAndAutoEnd(Date currentTime);
|
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);
|
R<BdAccount> queryPostageAccount(Integer pkCountry);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 会员端账户查询
|
* @description: 会员端账户查询
|
||||||
* @author: zhang jing
|
* @author: zhang jing
|
||||||
|
@ -113,5 +112,4 @@ public interface IAccountServiceApi {
|
||||||
**/
|
**/
|
||||||
R<List<BdAccount>> memberAccountByType(Integer pkCountry);
|
R<List<BdAccount>> memberAccountByType(Integer pkCountry);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,6 @@ public interface IEmailServiceApi {
|
||||||
* @param eMailType 邮件类型
|
* @param eMailType 邮件类型
|
||||||
* @return
|
* @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;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
|
||||||
* 会员网体历史记录 Mapper 接口
|
* 会员网体历史记录 Mapper 接口
|
||||||
* </p>
|
|
||||||
*
|
*
|
||||||
* @author hzs
|
* @author hzs
|
||||||
* @since 2022-10-31
|
* @since 2022-10-31
|
||||||
|
@ -158,6 +156,7 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
||||||
**/
|
**/
|
||||||
void mergeCuMemberTreeBySettleDate(@Param("targetTableName") String targetTableName,
|
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
|
* @Date: 2022/11/4 17:41
|
||||||
*/
|
*/
|
||||||
List<CuMemberSettleExt> queryCuMemberSettleEnoughAwardAchieve(String settleTableName);
|
List<CuMemberSettleExt> queryCuMemberSettleEnoughAwardAchieve(String settleTableName);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @description: 回退会员奖衔
|
* @description: 回退会员奖衔
|
||||||
* @author: sui q
|
* @author: sui q
|
||||||
|
@ -313,6 +313,7 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据订单,查询出网体中记录的会员数据及推荐人
|
* 根据订单,查询出网体中记录的会员数据及推荐人
|
||||||
|
*
|
||||||
* @param settleTableName 结算表
|
* @param settleTableName 结算表
|
||||||
* @param serviceMemberSet 会员编号
|
* @param serviceMemberSet 会员编号
|
||||||
* @return: List<CuMemberSettleExt>
|
* @return: List<CuMemberSettleExt>
|
||||||
|
@ -407,6 +408,7 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
||||||
*/
|
*/
|
||||||
List<CuMemberSettleExt> batchQueryCuMemberSettleParentForSpecial(@Param("settleTableName") String settleTableName,
|
List<CuMemberSettleExt> batchQueryCuMemberSettleParentForSpecial(@Param("settleTableName") String settleTableName,
|
||||||
@Param("pkMemberList") List<?> pkMemberList);
|
@Param("pkMemberList") List<?> pkMemberList);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新会员网体奖衔数据,更新月表、结算表
|
* 更新会员网体奖衔数据,更新月表、结算表
|
||||||
*
|
*
|
||||||
|
@ -592,48 +594,62 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
||||||
* @param: pkMember 会员
|
* @param: pkMember 会员
|
||||||
**/
|
**/
|
||||||
List<CuMemberSettleExt> queryCuMemberTree(@Param("tableName") String settleTableName, @Param("pkMember") Long pkMember, @Param("pkPlaceParent") Long pkPlaceParent);
|
List<CuMemberSettleExt> queryCuMemberTree(@Param("tableName") String settleTableName, @Param("pkMember") Long pkMember, @Param("pkPlaceParent") Long pkPlaceParent);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询秒结表会员信息
|
* 查询秒结表会员信息
|
||||||
|
*
|
||||||
* @param pkMember
|
* @param pkMember
|
||||||
* @param settleTableName
|
* @param settleTableName
|
||||||
* @return
|
* @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
|
* @param pkMember
|
||||||
* @return
|
* @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 memberId 会员id
|
||||||
* @param placeDept
|
* @param placeDept
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
Long queryPlaceParentPeopleNumber(@Param("memberId") Long memberId, @Param("placeDept") Integer placeDept);
|
Long queryPlaceParentPeopleNumber(@Param("memberId") Long memberId, @Param("placeDept") Integer placeDept);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询推荐大小区人数
|
* 查询推荐大小区人数
|
||||||
|
*
|
||||||
* @param memberId
|
* @param memberId
|
||||||
* @param placeDept
|
* @param placeDept
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
Long queryParentPeopleNumber(@Param("memberId") Long memberId, @Param("placeDept") Integer placeDept);
|
Long queryParentPeopleNumber(@Param("memberId") Long memberId, @Param("placeDept") Integer placeDept);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询秒结表是否有值
|
* 查询秒结表是否有值
|
||||||
|
*
|
||||||
* @param settleTableName
|
* @param settleTableName
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
Long selectByselectByTreeMemberCount(@Param("tableName") String settleTableName, @Param("pkMember") Long pkMember);
|
Long selectByselectByTreeMemberCount(@Param("tableName") String settleTableName, @Param("pkMember") Long pkMember);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询伞下安置新增业绩
|
* 查询伞下安置新增业绩
|
||||||
|
*
|
||||||
* @param settleTableName
|
* @param settleTableName
|
||||||
* @param pkMember
|
* @param pkMember
|
||||||
* @return
|
* @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
|
* 根据pkmember查询 关联parent
|
||||||
|
*
|
||||||
* @param settleTableName
|
* @param settleTableName
|
||||||
* @param pkMember
|
* @param pkMember
|
||||||
* @return
|
* @return
|
||||||
|
@ -642,19 +658,24 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询会员直推人数
|
* 查询会员直推人数
|
||||||
|
*
|
||||||
* @param memberIds
|
* @param memberIds
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<MemberParentCountParam> queryByMemberParentCount(@Param("memberIds") List<Long> memberIds);
|
List<MemberParentCountParam> queryByMemberParentCount(@Param("memberIds") List<Long> memberIds);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询会员直推业绩
|
* 查询会员直推业绩
|
||||||
|
*
|
||||||
* @param settleTableName
|
* @param settleTableName
|
||||||
* @param memberIds
|
* @param memberIds
|
||||||
* @return
|
* @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 settleTableName
|
||||||
* @param pkMember
|
* @param pkMember
|
||||||
* @param memberIdList
|
* @param memberIdList
|
||||||
|
@ -665,6 +686,7 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询历史推荐上下架
|
* 查询历史推荐上下架
|
||||||
|
*
|
||||||
* @param settleTableName
|
* @param settleTableName
|
||||||
* @param pkMember
|
* @param pkMember
|
||||||
* @param level
|
* @param level
|
||||||
|
@ -674,13 +696,16 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询历史会员直推人数
|
* 查询历史会员直推人数
|
||||||
|
*
|
||||||
* @param memberIds
|
* @param memberIds
|
||||||
* @param settleTableName
|
* @param settleTableName
|
||||||
* @return
|
* @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 settleTableName
|
||||||
* @param memberIds
|
* @param memberIds
|
||||||
* @return
|
* @return
|
||||||
|
|
|
@ -77,44 +77,44 @@ public class CuMemberMonthAchieveServiceImpl extends ServiceImpl<CuMemberMonthAc
|
||||||
// 计算当前月
|
// 计算当前月
|
||||||
String settleMonth = DateUtils.getMonth(currentMonthDate);
|
String settleMonth = DateUtils.getMonth(currentMonthDate);
|
||||||
baseMapper.insertCuMemberMonthAchieve(table, cuMemberSettlePeriod.getPkId(), settleMonth);
|
baseMapper.insertCuMemberMonthAchieve(table, cuMemberSettlePeriod.getPkId(), settleMonth);
|
||||||
// 每月7号发放徽章,发放上个月的
|
// // 每月7号发放徽章,发放上个月的
|
||||||
if (day == 7) {
|
// if (day == 7) {
|
||||||
// 查询徽章
|
// // 查询徽章
|
||||||
List<CuHonorWall> cuHonorWallList = cuHonorWallService.queryCuHonorWall();
|
// List<CuHonorWall> cuHonorWallList = cuHonorWallService.queryCuHonorWall();
|
||||||
Map<String, CuHonorWall> honorWallMap = new HashMap<>();
|
// Map<String, CuHonorWall> honorWallMap = new HashMap<>();
|
||||||
cuHonorWallList.forEach(cuHonorWall -> {
|
// cuHonorWallList.forEach(cuHonorWall -> {
|
||||||
String key = cuHonorWall.getPkCountry().toString() + cuHonorWall.getType() + cuHonorWall.getValue();
|
// String key = cuHonorWall.getPkCountry().toString() + cuHonorWall.getType() + cuHonorWall.getValue();
|
||||||
honorWallMap.put(key, cuHonorWall);
|
// honorWallMap.put(key, cuHonorWall);
|
||||||
});
|
// });
|
||||||
List<CuMemberHonorWall> cuMemberHonorWallList = new ArrayList<>();
|
// List<CuMemberHonorWall> cuMemberHonorWallList = new ArrayList<>();
|
||||||
// 上月期间,作为结束期间
|
// // 上月期间,作为结束期间
|
||||||
String beforeFirstMonthDate = DateUtils.beforeMonthFirstDateStr(settleDate);
|
// String beforeFirstMonthDate = DateUtils.beforeMonthFirstDateStr(settleDate);
|
||||||
CuMemberSettlePeriod beforePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeFirstMonthDate);
|
// CuMemberSettlePeriod beforePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeFirstMonthDate);
|
||||||
// 月徽章
|
// // 月徽章
|
||||||
grantHonorWall(beforePeriod.getPkId(), cuMemberSettlePeriod.getPkId(), settleMonth,
|
// grantHonorWall(beforePeriod.getPkId(), cuMemberSettlePeriod.getPkId(), settleMonth,
|
||||||
HonorWallType.RECOMMEND_MONTH.getValue(), HonorWallType.ANTIFADING_MONTH.getValue(), honorWallMap, cuMemberHonorWallList);
|
// HonorWallType.RECOMMEND_MONTH.getValue(), HonorWallType.ANTIFADING_MONTH.getValue(), honorWallMap, cuMemberHonorWallList);
|
||||||
// 再发季度徽章
|
// // 再发季度徽章
|
||||||
if (month == 1 || month == 4 || month == 7 || month == 10) {
|
// if (month == 1 || month == 4 || month == 7 || month == 10) {
|
||||||
// 3个月期间,作为开始期间
|
// // 3个月期间,作为开始期间
|
||||||
String quarterFirstMonthDate = DateUtils.beforeMonthFirstDateStr(3, settleDate);
|
// String quarterFirstMonthDate = DateUtils.beforeMonthFirstDateStr(3, settleDate);
|
||||||
CuMemberSettlePeriod quarterPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(quarterFirstMonthDate);
|
// CuMemberSettlePeriod quarterPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(quarterFirstMonthDate);
|
||||||
grantHonorWall(quarterPeriod.getPkId(), cuMemberSettlePeriod.getPkId(), settleMonth,
|
// grantHonorWall(quarterPeriod.getPkId(), cuMemberSettlePeriod.getPkId(), settleMonth,
|
||||||
HonorWallType.RECOMMEND_QUARTER.getValue(), HonorWallType.ANTIFADING_QUARTER.getValue(), honorWallMap, cuMemberHonorWallList);
|
// HonorWallType.RECOMMEND_QUARTER.getValue(), HonorWallType.ANTIFADING_QUARTER.getValue(), honorWallMap, cuMemberHonorWallList);
|
||||||
if (month == 1) {
|
// if (month == 1) {
|
||||||
// 再发年度徽章
|
// // 再发年度徽章
|
||||||
// 3个月期间,作为开始期间
|
// // 3个月期间,作为开始期间
|
||||||
String yearFirstMonthDate = DateUtils.beforeMonthFirstDateStr(12, settleDate);
|
// String yearFirstMonthDate = DateUtils.beforeMonthFirstDateStr(12, settleDate);
|
||||||
CuMemberSettlePeriod yearPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yearFirstMonthDate);
|
// CuMemberSettlePeriod yearPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yearFirstMonthDate);
|
||||||
if (yearPeriod != null) {
|
// if (yearPeriod != null) {
|
||||||
grantHonorWall(yearPeriod.getPkId(), cuMemberSettlePeriod.getPkId(), settleMonth,
|
// grantHonorWall(yearPeriod.getPkId(), cuMemberSettlePeriod.getPkId(), settleMonth,
|
||||||
HonorWallType.RECOMMEND_QUARTER.getValue(), HonorWallType.ANTIFADING_QUARTER.getValue(), honorWallMap, cuMemberHonorWallList);
|
// HonorWallType.RECOMMEND_QUARTER.getValue(), HonorWallType.ANTIFADING_QUARTER.getValue(), honorWallMap, cuMemberHonorWallList);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
if (cuMemberHonorWallList.size() > 0) {
|
// if (cuMemberHonorWallList.size() > 0) {
|
||||||
cuMemberHonorWallService.saveBatch(cuMemberHonorWallList);
|
// cuMemberHonorWallService.saveBatch(cuMemberHonorWallList);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -505,11 +505,11 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<CuMemberSettleExt> queryCuMemberTreeParentTable(String settleTableName, Long pkMember, Integer level) {
|
public List<CuMemberSettleExt> queryCuMemberTreeParentTable(String settleTableName, Long pkMember, Integer level) {
|
||||||
Long b = System.currentTimeMillis();
|
long b = System.currentTimeMillis();
|
||||||
System.out.println("开始时间:" + b);
|
System.out.println("开始时间:" + b);
|
||||||
List<CuMemberSettleExt> memberSettleExtList = baseMapper.queryCuMemberTreeParentTable(settleTableName, pkMember, level);
|
List<CuMemberSettleExt> memberSettleExtList = baseMapper.queryCuMemberTreeParentTable(settleTableName, pkMember, level);
|
||||||
System.out.println("结束时间:" + (System.currentTimeMillis() - b));
|
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<>();
|
List<MemberParentCountParam> memberParentCountParamList = new ArrayList<>();
|
||||||
if (ids.size() > 0) {
|
if (ids.size() > 0) {
|
||||||
|
@ -519,14 +519,10 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
|
||||||
} else {
|
} else {
|
||||||
memberParentCountParamList = baseMapper.queryByMemberParentAndMemberSettleCount(ids, settleTableName);
|
memberParentCountParamList = baseMapper.queryByMemberParentAndMemberSettleCount(ids, settleTableName);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Map<Long, Long> memberParentCountMap = memberParentCountParamList.stream().collect(Collectors.toMap(MemberParentCountParam::getPkMember, MemberParentCountParam::getParentMemberCount));
|
Map<Long, Long> memberParentCountMap = memberParentCountParamList.stream().collect(Collectors.toMap(MemberParentCountParam::getPkMember, MemberParentCountParam::getParentMemberCount));
|
||||||
// 查询直推人数
|
// 查询直推人数
|
||||||
memberSettleExtList.stream().map(a -> {
|
memberSettleExtList.stream().peek(a -> a.setDirectPushNumber(memberParentCountMap.getOrDefault(a.getPkMember(), 0L))).collect(Collectors.toList());
|
||||||
a.setDirectPushNumber(memberParentCountMap.getOrDefault(a.getPkMember(), 0L));
|
|
||||||
return a;
|
|
||||||
}).collect(Collectors.toList());
|
|
||||||
//查询直推业绩
|
//查询直推业绩
|
||||||
if (StringUtils.isNotBlank(settleTableName) && ids.size() > 0) {
|
if (StringUtils.isNotBlank(settleTableName) && ids.size() > 0) {
|
||||||
List<MemberParentCountParam> memberParentCountParamPvList = new ArrayList<>();
|
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));
|
Map<Long, BigDecimal> memberParentPvMap = memberParentCountParamPvList.stream().collect(Collectors.toMap(MemberParentCountParam::getPkMember, MemberParentCountParam::getParentMemberSumPv));
|
||||||
// 查询直推业绩
|
// 查询直推业绩
|
||||||
memberSettleExtList.stream().map(a -> {
|
memberSettleExtList.stream().peek(a -> a.setHistoryPerformancePv(memberParentPvMap.getOrDefault(a.getPkMember(), BigDecimal.ZERO))).collect(Collectors.toList());
|
||||||
a.setHistoryPerformancePv(memberParentPvMap.getOrDefault(a.getPkMember(), BigDecimal.ZERO));
|
|
||||||
return a;
|
|
||||||
}).collect(Collectors.toList());
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return memberSettleExtList;
|
return memberSettleExtList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -714,7 +704,7 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
|
||||||
@Override
|
@Override
|
||||||
public CuMemberSettleExt queryCuMemberTreeByPlacePkMemberTable(String settleTableName, Long pkMember) {
|
public CuMemberSettleExt queryCuMemberTreeByPlacePkMemberTable(String settleTableName, Long pkMember) {
|
||||||
CuMemberSettleExt cuMemberSettleExt = baseMapper.queryCuMemberTreeByPlacePkMemberTable(settleTableName, 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);
|
List<MemberParentCountParam> memberParentCountParamList = baseMapper.queryByMemberParentCount(memberIds);
|
||||||
Map<Long, Long> memberParentCountMap = memberParentCountParamList.stream().collect(Collectors.toMap(MemberParentCountParam::getPkMember, MemberParentCountParam::getParentMemberCount));
|
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.bonus.settle.IMemberSettleBonusApi;
|
||||||
import com.hzs.common.core.domain.R;
|
import com.hzs.common.core.domain.R;
|
||||||
import com.hzs.common.core.utils.DateUtils;
|
import com.hzs.common.core.utils.DateUtils;
|
||||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
|
||||||
import com.hzs.common.domain.sale.order.SaOrder;
|
import com.hzs.common.domain.sale.order.SaOrder;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.dubbo.config.annotation.DubboService;
|
import org.apache.dubbo.config.annotation.DubboService;
|
||||||
|
@ -31,16 +30,12 @@ public class MemberSettleBonusProvider implements IMemberSettleBonusApi {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberMonthAchieveService cuMemberMonthAchieveService;
|
private ICuMemberMonthAchieveService cuMemberMonthAchieveService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBonusSettleService bonusSettleService;
|
private IBonusSettleService bonusSettleService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberBonusService cuMemberBonusService;
|
private ICuMemberBonusService cuMemberBonusService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBonusGrantService bonusGrantService;
|
private IBonusGrantService bonusGrantService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberAchieveService cuMemberAchieveService;
|
private ICuMemberAchieveService cuMemberAchieveService;
|
||||||
|
|
||||||
|
@ -72,6 +67,7 @@ public class MemberSettleBonusProvider implements IMemberSettleBonusApi {
|
||||||
class BonusCalculateBonus extends Thread {
|
class BonusCalculateBonus extends Thread {
|
||||||
|
|
||||||
private final Date settleDate;
|
private final Date settleDate;
|
||||||
|
|
||||||
public BonusCalculateBonus(Date settleDate) {
|
public BonusCalculateBonus(Date settleDate) {
|
||||||
this.settleDate = settleDate;
|
this.settleDate = settleDate;
|
||||||
}
|
}
|
||||||
|
@ -87,7 +83,7 @@ public class MemberSettleBonusProvider implements IMemberSettleBonusApi {
|
||||||
try {
|
try {
|
||||||
cuMemberBonusService.autoCalculateBonus(settleDate, settleEndDate);
|
cuMemberBonusService.autoCalculateBonus(settleDate, settleEndDate);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.info("11111111", 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.common.domain.member.ext.CuMemberBonusExt;
|
||||||
import com.hzs.bonus.bonus.param.BonusParam;
|
import com.hzs.bonus.bonus.param.BonusParam;
|
||||||
import com.hzs.bonus.bonus.vo.MemberBonusVO;
|
import com.hzs.bonus.bonus.vo.MemberBonusVO;
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -15,9 +14,7 @@ import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
|
||||||
* 会员奖金-会员奖金汇总表 服务类
|
* 会员奖金-会员奖金汇总表 服务类
|
||||||
* </p>
|
|
||||||
*
|
*
|
||||||
* @author hzs
|
* @author hzs
|
||||||
* @since 2022-11-11
|
* @since 2022-11-11
|
||||||
|
@ -26,6 +23,7 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量获取cuMemberBonus主键
|
* 批量获取cuMemberBonus主键
|
||||||
|
*
|
||||||
* @param rowNum 数量
|
* @param rowNum 数量
|
||||||
* @return: List<Integer>
|
* @return: List<Integer>
|
||||||
* @Author: sui q
|
* @Author: sui q
|
||||||
|
@ -35,6 +33,7 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据查询条件查询每日奖金汇总
|
* 根据查询条件查询每日奖金汇总
|
||||||
|
*
|
||||||
* @param bonusParam 查询条件
|
* @param bonusParam 查询条件
|
||||||
* @return: List<MemberBonusVO>
|
* @return: List<MemberBonusVO>
|
||||||
* @Author: sui q
|
* @Author: sui q
|
||||||
|
@ -44,6 +43,7 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据查询条件查询会员奖金
|
* 根据查询条件查询会员奖金
|
||||||
|
*
|
||||||
* @param bonusParam 查询条件
|
* @param bonusParam 查询条件
|
||||||
* @return: List<MemberBonusVO>
|
* @return: List<MemberBonusVO>
|
||||||
* @Author: sui q
|
* @Author: sui q
|
||||||
|
@ -53,6 +53,7 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据查询条件查询会员秒接奖金
|
* 根据查询条件查询会员秒接奖金
|
||||||
|
*
|
||||||
* @param bonusParam 查询条件
|
* @param bonusParam 查询条件
|
||||||
* @return: List<MemberBonusVO>
|
* @return: List<MemberBonusVO>
|
||||||
* @Author: sui q
|
* @Author: sui q
|
||||||
|
@ -62,6 +63,7 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据查询条件查询会员奖金
|
* 根据查询条件查询会员奖金
|
||||||
|
*
|
||||||
* @param bonusParam 查询条件
|
* @param bonusParam 查询条件
|
||||||
* @return: List<MemberBonusVO>
|
* @return: List<MemberBonusVO>
|
||||||
* @Author: sui q
|
* @Author: sui q
|
||||||
|
@ -71,6 +73,7 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据查询条件查询会员奖金
|
* 根据查询条件查询会员奖金
|
||||||
|
*
|
||||||
* @param bonusParam 查询条件
|
* @param bonusParam 查询条件
|
||||||
* @return: List<MemberBonusVO>
|
* @return: List<MemberBonusVO>
|
||||||
* @Author: sui q
|
* @Author: sui q
|
||||||
|
@ -89,6 +92,7 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据条件查询查询每天奖金汇总
|
* 根据条件查询查询每天奖金汇总
|
||||||
|
*
|
||||||
* @param bonusParam 查询条件
|
* @param bonusParam 查询条件
|
||||||
* @return: List<BonusTotalVO>
|
* @return: List<BonusTotalVO>
|
||||||
* @Author: sui q
|
* @Author: sui q
|
||||||
|
@ -98,6 +102,7 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据查询条件查询会员明细奖金
|
* 根据查询条件查询会员明细奖金
|
||||||
|
*
|
||||||
* @param bonusParam 查询条件
|
* @param bonusParam 查询条件
|
||||||
* @return: List<MemberBonusDetailVO>
|
* @return: List<MemberBonusDetailVO>
|
||||||
* @Author: sui q
|
* @Author: sui q
|
||||||
|
@ -115,6 +120,7 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 后台根据查询条件查询会员奖金明细
|
* 后台根据查询条件查询会员奖金明细
|
||||||
|
*
|
||||||
* @param bonusParam 查询条件
|
* @param bonusParam 查询条件
|
||||||
* @return: List<MemberBonusDetailSerVO>
|
* @return: List<MemberBonusDetailSerVO>
|
||||||
* @Author: sui q
|
* @Author: sui q
|
||||||
|
@ -124,6 +130,7 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除会员奖金汇总表
|
* 删除会员奖金汇总表
|
||||||
|
*
|
||||||
* @param period 结算期间
|
* @param period 结算期间
|
||||||
* @return: void
|
* @return: void
|
||||||
* @Author: sui q
|
* @Author: sui q
|
||||||
|
@ -133,6 +140,7 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量插入会员奖金主表
|
* 批量插入会员奖金主表
|
||||||
|
*
|
||||||
* @param cuMemberBonusList 会员奖金
|
* @param cuMemberBonusList 会员奖金
|
||||||
* @return: void
|
* @return: void
|
||||||
* @Author: sui q
|
* @Author: sui q
|
||||||
|
@ -142,6 +150,7 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量插入会员奖金主表
|
* 批量插入会员奖金主表
|
||||||
|
*
|
||||||
* @param cuMemberBonusList 会员奖金
|
* @param cuMemberBonusList 会员奖金
|
||||||
* @return: void
|
* @return: void
|
||||||
* @Author: sui q
|
* @Author: sui q
|
||||||
|
@ -159,6 +168,7 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据国家、期间查询存在首购奖金的会员
|
* 根据国家、期间查询存在首购奖金的会员
|
||||||
|
*
|
||||||
* @param period 期间
|
* @param period 期间
|
||||||
* @param pkCountryList 国家
|
* @param pkCountryList 国家
|
||||||
* @return: List<CuMemberBonus>
|
* @return: List<CuMemberBonus>
|
||||||
|
@ -169,6 +179,7 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新奖金状态
|
* 更新奖金状态
|
||||||
|
*
|
||||||
* @param grantStatus 发放状态
|
* @param grantStatus 发放状态
|
||||||
* @param oldGrantStatus 原来的发放状态
|
* @param oldGrantStatus 原来的发放状态
|
||||||
* @param startPeriod 期间
|
* @param startPeriod 期间
|
||||||
|
@ -180,6 +191,7 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据发放状态查询某一期的奖金
|
* 根据发放状态查询某一期的奖金
|
||||||
|
*
|
||||||
* @param grantStatus 发放状态
|
* @param grantStatus 发放状态
|
||||||
* @param startPeriod 期间
|
* @param startPeriod 期间
|
||||||
* @param endPeriod 期间
|
* @param endPeriod 期间
|
||||||
|
@ -206,14 +218,6 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
||||||
**/
|
**/
|
||||||
void backupsSettleBonusEveryday();
|
void backupsSettleBonusEveryday();
|
||||||
|
|
||||||
/*
|
|
||||||
* @description: 结算极差奖金
|
|
||||||
* @author: sui q
|
|
||||||
* @date: 2024/10/15 10:12
|
|
||||||
* @param: null null
|
|
||||||
**/
|
|
||||||
void autoCalculateRangeBonus(Date settleDate);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @description: 查询会员奖金根据期间
|
* @description: 查询会员奖金根据期间
|
||||||
* @author: sui q
|
* @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.BonusConfigDTO;
|
||||||
import com.hzs.system.config.dto.GradeDTO;
|
import com.hzs.system.config.dto.GradeDTO;
|
||||||
import com.hzs.system.config.dto.RangeDTO;
|
import com.hzs.system.config.dto.RangeDTO;
|
||||||
import com.hzs.third.email.IEmailServiceApi;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.dubbo.config.annotation.DubboReference;
|
import org.apache.dubbo.config.annotation.DubboReference;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
@ -80,12 +79,20 @@ import java.util.*;
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class BonusSettleServiceImpl implements IBonusSettleService {
|
public class BonusSettleServiceImpl implements IBonusSettleService {
|
||||||
|
|
||||||
|
@DubboReference
|
||||||
|
ISystemConfigServiceApi systemConfigServiceApi;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
IGradeServiceApi gradeServiceApi;
|
IGradeServiceApi gradeServiceApi;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
|
IAwardsServiceApi awardsServiceApi;
|
||||||
|
@DubboReference
|
||||||
|
IRangeServiceApi rangeServiceApi;
|
||||||
|
@DubboReference
|
||||||
IMemberServiceApi memberServiceApi;
|
IMemberServiceApi memberServiceApi;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
IEmailServiceApi emailServiceApi;
|
IBonusItemsServiceApi bonusItemsServiceApi;
|
||||||
|
@DubboReference
|
||||||
|
IAcPickServiceApi acPickServiceApi;
|
||||||
|
|
||||||
private ICuMemberTreeService cuMemberTreeService;
|
private ICuMemberTreeService cuMemberTreeService;
|
||||||
|
|
||||||
|
@ -154,21 +161,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private BonusSettleStoreHandle bonusSettleStoreHandle;
|
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 ICuMemberBonusService cuMemberBonusService;
|
||||||
|
|
||||||
private ICuMemberBonusPushService cuMemberBonusPushService;
|
private ICuMemberBonusPushService cuMemberBonusPushService;
|
||||||
|
@ -648,7 +640,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
emailServiceApi.sendMessage();
|
|
||||||
throw new RuntimeException(e);
|
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 settleDateStr 结算日期
|
||||||
* @param bonusConfigDTO 各个国家奖金参数
|
* @param bonusConfigDTO 各个国家奖金参数
|
||||||
|
|
|
@ -90,7 +90,6 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
||||||
this.cuMemberTreeService = cuMemberTreeService;
|
this.cuMemberTreeService = cuMemberTreeService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public void setCuMemberBonusSettle(CuMemberBonusSettle cuMemberBonusSettle) {
|
public void setCuMemberBonusSettle(CuMemberBonusSettle cuMemberBonusSettle) {
|
||||||
this.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)));
|
cuMemberTreeService.createCuMemberTree(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void autoCalculateRangeBonus(Date settleDate) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Set<Long> queryMemberBonusByPeriod(Integer period) {
|
public Set<Long> queryMemberBonusByPeriod(Integer period) {
|
||||||
LambdaQueryWrapper<CuMemberBonus> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<CuMemberBonus> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
@ -716,4 +710,5 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
||||||
cuMemberBonusList.forEach(cuMemberBonus -> cuMemberBonusMap.put(cuMemberBonus.getPkMember(), cuMemberBonus));
|
cuMemberBonusList.forEach(cuMemberBonus -> cuMemberBonusMap.put(cuMemberBonus.getPkMember(), cuMemberBonus));
|
||||||
return cuMemberBonusMap;
|
return cuMemberBonusMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,13 +23,21 @@
|
||||||
<result column="MEMBER_NAME" property="memberName"/>
|
<result column="MEMBER_NAME" property="memberName"/>
|
||||||
<result column="HEAD_PATH" property="headPath"/>
|
<result column="HEAD_PATH" property="headPath"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<insert id="insertCuMemberMonthAchieve">
|
<insert id="insertCuMemberMonthAchieve">
|
||||||
merge into CU_MEMBER_MONTH_ACHIEVE a
|
merge into CU_MEMBER_MONTH_ACHIEVE a
|
||||||
using (
|
using (
|
||||||
select pk_member,#{period} period,RECOMMEND_MONEY,RECOMMEND_ACHIEVE,REPURCHASE_MONEY,REPURCHASE_ACHIEVE,pk_country from(
|
select pk_member, #{period} period, RECOMMEND_MONEY, RECOMMEND_ACHIEVE, REPURCHASE_MONEY, REPURCHASE_ACHIEVE, pk_country
|
||||||
select pk_member,pk_country,sum(REGISTER_NEW_AMOUNT+UPGRADE_NEW_AMOUNT) RECOMMEND_MONEY,sum(REGISTER_NEW_PV+UPGRADE_NEW_PV) RECOMMEND_ACHIEVE,
|
from (
|
||||||
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}
|
select pk_member,
|
||||||
where REGISTER_NEW_AMOUNT+UPGRADE_NEW_AMOUNT>0 or REPURCHASE_NEW_AMOUNT+HI_FUN_NEW_AMOUNT+MALL_NEW_AMOUNT>0
|
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)
|
group by pk_member, pk_country)
|
||||||
) b
|
) 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)
|
||||||
|
@ -43,21 +51,33 @@
|
||||||
b.pk_member, b.period, #{month}, b.RECOMMEND_MONEY, b.RECOMMEND_ACHIEVE, b.REPURCHASE_MONEY,
|
b.pk_member, b.period, #{month}, b.RECOMMEND_MONEY, b.RECOMMEND_ACHIEVE, b.REPURCHASE_MONEY,
|
||||||
b.REPURCHASE_ACHIEVE, b.PK_COUNTRY, 1)
|
b.REPURCHASE_ACHIEVE, b.PK_COUNTRY, 1)
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<select id="queryCuMemberMonthAchieveByDate" resultMap="CuMemberMonthAchieve">
|
<select id="queryCuMemberMonthAchieveByDate" resultMap="CuMemberMonthAchieve">
|
||||||
select * from(
|
select *
|
||||||
select * from (
|
from (
|
||||||
select pk_member,pk_country,${recommend} wall_type,sum(recommend_money) money from CU_MEMBER_MONTH_ACHIEVE
|
select *
|
||||||
where del_flag=0 and period >= #{startPeriod} and period < #{endPeriod}
|
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
|
group by pk_member, pk_country
|
||||||
order by sum(recommend_money) desc
|
order by sum(recommend_money) desc
|
||||||
) where rownum <= 3
|
)
|
||||||
|
where rownum <= 3
|
||||||
union
|
union
|
||||||
select * from (
|
select *
|
||||||
select pk_member,pk_country,${repurchase} wall_type,sum(repurchase_money) money from CU_MEMBER_MONTH_ACHIEVE
|
from (
|
||||||
where del_flag=0 and period >= #{startPeriod} and period < #{endPeriod}
|
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
|
group by pk_member, pk_country
|
||||||
order by sum(repurchase_money) desc
|
order by sum(repurchase_money) desc
|
||||||
) where rownum <= 3) a
|
)
|
||||||
|
where rownum <= 3) a
|
||||||
order by wall_type, a.money desc
|
order by wall_type, a.money desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,12 +1,7 @@
|
||||||
package com.hzs.report.member.mapper;
|
package com.hzs.report.member.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
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.CuMemberPerkDetail;
|
||||||
import com.hzs.common.domain.report.member.ext.CuMemberPerkDetailExt;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员补贴明细 Mapper 接口
|
* 会员补贴明细 Mapper 接口
|
||||||
|
@ -16,33 +11,4 @@ import java.util.Collection;
|
||||||
*/
|
*/
|
||||||
public interface CuMemberPerkDetailMapper extends BaseMapper<CuMemberPerkDetail> {
|
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> {
|
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> {
|
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;
|
package com.hzs.report.member.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
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.CuMemberPerk;
|
||||||
import com.hzs.common.domain.report.member.ext.CuMemberPerkExt;
|
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 com.hzs.report.member.param.MemberPerkQueryParam;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,48 +16,6 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
public interface CuMemberPerkMapper extends BaseMapper<CuMemberPerk> {
|
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;
|
package com.hzs.report.member.service;
|
||||||
|
|
||||||
import com.hzs.common.domain.report.member.CuMemberPerk;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 会员补贴配置业务处理服务
|
* @Description: 会员补贴配置业务处理服务
|
||||||
* @Author: jiang chao
|
* @Author: jiang chao
|
||||||
|
@ -13,12 +9,5 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
public interface ICuMemberPerkBusinessService {
|
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> {
|
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> {
|
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;
|
package com.hzs.report.member.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
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.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> {
|
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.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.hzs.common.domain.report.member.CuMemberPerkProduct;
|
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> {
|
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;
|
package com.hzs.report.member.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
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.CuMemberPerk;
|
||||||
import com.hzs.common.domain.report.member.ext.CuMemberPerkExt;
|
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 com.hzs.report.member.param.MemberPerkQueryParam;
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -18,44 +15,6 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
public interface ICuMemberPerkService extends IService<CuMemberPerk> {
|
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;
|
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.report.member.service.*;
|
||||||
import com.hzs.system.config.IAccountServiceApi;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
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.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.util.*;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 会员补贴配置业务处理服务
|
* @Description: 会员补贴配置业务处理服务
|
||||||
|
@ -38,257 +15,4 @@ import java.util.*;
|
||||||
@Service
|
@Service
|
||||||
public class CuMemberPerkBusinessServiceImpl implements ICuMemberPerkBusinessService {
|
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
|
@Service
|
||||||
public class CuMemberPerkDetailMemberServiceImpl extends ServiceImpl<CuMemberPerkDetailMemberMapper, CuMemberPerkDetailMember> implements ICuMemberPerkDetailMemberService {
|
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
|
@Override
|
||||||
public List<CuMemberPerkDetailMemberExt> queryMemberList(Long pkMemberPerk) {
|
public List<CuMemberPerkDetailMemberExt> queryMemberList(Long pkMemberPerk) {
|
||||||
return baseMapper.queryMemberList(pkMemberPerk);
|
return baseMapper.queryMemberList(pkMemberPerk);
|
||||||
|
|
|
@ -18,16 +18,6 @@ import java.util.List;
|
||||||
@Service
|
@Service
|
||||||
public class CuMemberPerkDetailOrderServiceImpl extends ServiceImpl<CuMemberPerkDetailOrderMapper, CuMemberPerkDetailOrder> implements ICuMemberPerkDetailOrderService {
|
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
|
@Override
|
||||||
public List<SaOrderExt> queryOrderList(Long pkMemberPerk) {
|
public List<SaOrderExt> queryOrderList(Long pkMemberPerk) {
|
||||||
return baseMapper.queryOrderList(pkMemberPerk);
|
return baseMapper.queryOrderList(pkMemberPerk);
|
||||||
|
|
|
@ -1,15 +1,11 @@
|
||||||
package com.hzs.report.member.service.impl;
|
package com.hzs.report.member.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
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.CuMemberPerkDetail;
|
||||||
import com.hzs.common.domain.report.member.ext.CuMemberPerkDetailExt;
|
|
||||||
import com.hzs.report.member.mapper.CuMemberPerkDetailMapper;
|
import com.hzs.report.member.mapper.CuMemberPerkDetailMapper;
|
||||||
import com.hzs.report.member.service.ICuMemberPerkDetailService;
|
import com.hzs.report.member.service.ICuMemberPerkDetailService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员补贴明细 服务实现类
|
* 会员补贴明细 服务实现类
|
||||||
*
|
*
|
||||||
|
@ -19,19 +15,4 @@ import java.util.Collection;
|
||||||
@Service
|
@Service
|
||||||
public class CuMemberPerkDetailServiceImpl extends ServiceImpl<CuMemberPerkDetailMapper, CuMemberPerkDetail> implements ICuMemberPerkDetailService {
|
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;
|
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.hzs.common.domain.report.member.CuMemberPerkProduct;
|
import com.hzs.common.domain.report.member.CuMemberPerkProduct;
|
||||||
import com.hzs.report.member.mapper.CuMemberPerkProductMapper;
|
import com.hzs.report.member.mapper.CuMemberPerkProductMapper;
|
||||||
import com.hzs.report.member.service.ICuMemberPerkProductService;
|
import com.hzs.report.member.service.ICuMemberPerkProductService;
|
||||||
import org.springframework.stereotype.Service;
|
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
|
@Service
|
||||||
public class CuMemberPerkProductServiceImpl extends ServiceImpl<CuMemberPerkProductMapper, CuMemberPerkProduct> implements ICuMemberPerkProductService {
|
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.constant.SystemFieldConstants;
|
||||||
import com.hzs.common.core.enums.EDelFlag;
|
import com.hzs.common.core.enums.EDelFlag;
|
||||||
import com.hzs.common.core.utils.DateUtils;
|
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.CuMemberPerk;
|
||||||
import com.hzs.common.domain.report.member.CuMemberPerkDetail;
|
import com.hzs.common.domain.report.member.CuMemberPerkDetail;
|
||||||
import com.hzs.common.domain.report.member.ext.CuMemberPerkExt;
|
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.mapper.CuMemberPerkMapper;
|
||||||
import com.hzs.report.member.param.MemberPerkQueryParam;
|
import com.hzs.report.member.param.MemberPerkQueryParam;
|
||||||
import com.hzs.report.member.service.ICuMemberPerkDetailService;
|
import com.hzs.report.member.service.ICuMemberPerkDetailService;
|
||||||
|
@ -34,26 +32,6 @@ public class CuMemberPerkServiceImpl extends ServiceImpl<CuMemberPerkMapper, CuM
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberPerkDetailService iCuMemberPerkDetailService;
|
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
|
@Override
|
||||||
public List<CuMemberPerkExt> queryList(MemberPerkQueryParam param, Integer pkCountry) {
|
public List<CuMemberPerkExt> queryList(MemberPerkQueryParam param, Integer pkCountry) {
|
||||||
return baseMapper.queryList(param, 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">
|
<!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">
|
<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>
|
</mapper>
|
||||||
|
|
|
@ -2,32 +2,6 @@
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.hzs.report.member.mapper.CuMemberPerkDetailMemberMapper">
|
<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 id="queryMemberList" resultType="com.hzs.common.domain.report.member.ext.CuMemberPerkDetailMemberExt">
|
||||||
select distinct cmpdm.pk_member_perk,
|
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">
|
<!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">
|
<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">
|
<resultMap id="saOrderExtResultMap" type="com.hzs.common.domain.sale.ext.SaOrderExt">
|
||||||
<result column="MEMBER_CODE" property="memberCode"/>
|
<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">
|
<!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">
|
<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 id="queryList" resultType="com.hzs.common.domain.report.member.ext.CuMemberPerkExt">
|
||||||
select cmp.*,
|
select cmp.*,
|
||||||
|
|
|
@ -2,11 +2,4 @@
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.hzs.report.member.mapper.CuMemberPerkProductMapper">
|
<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>
|
</mapper>
|
||||||
|
|
|
@ -33,17 +33,6 @@ public interface BdWaresDetailMapper extends BaseMapper<BdWaresDetail> {
|
||||||
@Param("transType") Integer transType,
|
@Param("transType") Integer transType,
|
||||||
@Param("orderItemsParams") List<OrderItemsParam> orderItemsParams);
|
@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.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.hzs.common.core.domain.R;
|
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.common.domain.sale.wares.BdWaresLabel;
|
||||||
import com.hzs.sale.wares.IWaresServiceApi;
|
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.IBdWaresLabelService;
|
||||||
import com.hzs.sale.wares.service.IBdWaresService;
|
import com.hzs.sale.wares.service.IBdWaresService;
|
||||||
import org.apache.dubbo.config.annotation.DubboService;
|
import org.apache.dubbo.config.annotation.DubboService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @BelongsProject: hzs_cloud
|
* @BelongsProject: hzs_cloud
|
||||||
|
@ -30,9 +27,6 @@ public class WaresServiceProvider implements IWaresServiceApi {
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBdWaresLabelService waresLabelService;
|
private IBdWaresLabelService waresLabelService;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private IBdWaresDetailService bdWaresDetailService;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 校验标签是否使用
|
* 校验标签是否使用
|
||||||
*
|
*
|
||||||
|
@ -73,7 +67,6 @@ public class WaresServiceProvider implements IWaresServiceApi {
|
||||||
waresService.waresPreSale();
|
waresService.waresPreSale();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改自动上下架状态(自动下架)
|
* 修改自动上下架状态(自动下架)
|
||||||
*
|
*
|
||||||
|
@ -84,8 +77,4 @@ public class WaresServiceProvider implements IWaresServiceApi {
|
||||||
waresService.updateByAutoStartAndAutoEnd(currentTime);
|
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);
|
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;
|
return bdWaresDetailExtList;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<BdWaresDetailExt> queryWaresDetailBySkuCodeList(Integer specialArea, List<String> skuCodeList) {
|
|
||||||
return baseMapper.queryWaresDetailBySkuCodeList(specialArea, skuCodeList);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<IcAvailableNum> queryWaresDetailSpecsByCondition(Integer specialArea, Integer pkCountry, Integer pkCorp, Integer pkStorehouse, Integer province,
|
public List<IcAvailableNum> queryWaresDetailSpecsByCondition(Integer specialArea, Integer pkCountry, Integer pkCorp, Integer pkStorehouse, Integer province,
|
||||||
String parentCode, CuMember cuMember, List<OrderItemsParam> orderItemsParams) {
|
String parentCode, CuMember cuMember, List<OrderItemsParam> orderItemsParams) {
|
||||||
|
|
|
@ -116,46 +116,6 @@
|
||||||
</foreach>
|
</foreach>
|
||||||
</select>
|
</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 id="queryWaresDetailSpecsByCondition" resultMap="BdWaresDetailExt">
|
||||||
select * from (
|
select * from (
|
||||||
<foreach collection="orderItemsParams" item="item" index="index" separator="union">
|
<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')
|
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'
|
and IS_PUT_ON = '0'
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<!-- 修改商品预售状态-->
|
<!-- 修改商品预售状态-->
|
||||||
<update id="waresPreSale">
|
<update id="waresPreSale">
|
||||||
update BD_WARES_EXTEND
|
update BD_WARES_EXTEND
|
||||||
|
@ -328,7 +329,6 @@
|
||||||
where SYSDATE >= ARRIVAL_TIME
|
where SYSDATE >= ARRIVAL_TIME
|
||||||
and PRE_SALE_STATUS = 1
|
and PRE_SALE_STATUS = 1
|
||||||
and DEL_FLAG = 0
|
and DEL_FLAG = 0
|
||||||
|
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,12 +4,10 @@ import com.hzs.common.core.domain.R;
|
||||||
import com.hzs.common.core.enums.EMailType;
|
import com.hzs.common.core.enums.EMailType;
|
||||||
import com.hzs.third.email.IEmailServiceApi;
|
import com.hzs.third.email.IEmailServiceApi;
|
||||||
import com.hzs.third.email.service.ITEmailService;
|
import com.hzs.third.email.service.ITEmailService;
|
||||||
import com.hzs.third.sms.util.SmsUtil;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.dubbo.config.annotation.DubboService;
|
import org.apache.dubbo.config.annotation.DubboService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -20,12 +18,12 @@ import java.util.List;
|
||||||
public class EmailProvider implements IEmailServiceApi {
|
public class EmailProvider implements IEmailServiceApi {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ITEmailService iTEmailService;
|
private ITEmailService itEmailService;
|
||||||
|
|
||||||
@Override
|
@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 {
|
try {
|
||||||
if (iTEmailService.sendMail(recipientList, title, content, true, eMailType)) {
|
if (itEmailService.sendMail(recipientList, title, content, true, eMailType)) {
|
||||||
return R.ok();
|
return R.ok();
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
@ -34,14 +32,4 @@ public class EmailProvider implements IEmailServiceApi {
|
||||||
return R.fail("邮件发送失败");
|
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
|
* @Date: 2023/3/4 13:48
|
||||||
*/
|
*/
|
||||||
@XxlJob("backSettleBonus")
|
@XxlJob("backSettleBonus")
|
||||||
// @Scheduled(cron = "10 8 10 * * ?")
|
|
||||||
public void backupsSettleBonusEveryday() {
|
public void backupsSettleBonusEveryday() {
|
||||||
log.info("开始进行奖金结算");
|
log.info("开始进行奖金结算");
|
||||||
memberBonusSettleApi.backupsSettleBonusEveryday();
|
memberBonusSettleApi.backupsSettleBonusEveryday();
|
||||||
|
@ -49,14 +48,12 @@ public class BonusSettleJob {
|
||||||
* @Date: 2023/3/4 13:48
|
* @Date: 2023/3/4 13:48
|
||||||
*/
|
*/
|
||||||
@XxlJob("autoSettleBonus")
|
@XxlJob("autoSettleBonus")
|
||||||
// @Scheduled(cron = "10 8 10 * * ?")
|
|
||||||
public void autoSettleBonusEveryday() {
|
public void autoSettleBonusEveryday() {
|
||||||
Date startDate = DateUtils.beforeDate(7, ChronoUnit.DAYS, DateUtils.currentDate());
|
Date startDate = DateUtils.beforeDate(7, ChronoUnit.DAYS, DateUtils.currentDate());
|
||||||
log.info("开始进行奖金结算");
|
log.info("开始进行奖金结算");
|
||||||
memberBonusSettleApi.autoCalculateBonus(startDate);
|
memberBonusSettleApi.autoCalculateBonus(startDate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 奖金每天自动结算,计算前一天奖金
|
* 奖金每天自动结算,计算前一天奖金
|
||||||
*
|
*
|
||||||
|
@ -107,7 +104,6 @@ public class BonusSettleJob {
|
||||||
* @Date: 2023/3/4 13:48
|
* @Date: 2023/3/4 13:48
|
||||||
*/
|
*/
|
||||||
@XxlJob("autoSettleBonus4")
|
@XxlJob("autoSettleBonus4")
|
||||||
// @Scheduled(cron = "10 6 11 * * ?")
|
|
||||||
public void autoSettleBonusEveryday4() {
|
public void autoSettleBonusEveryday4() {
|
||||||
Date startDate = DateUtils.beforeDate(3, ChronoUnit.DAYS, DateUtils.currentDate());
|
Date startDate = DateUtils.beforeDate(3, ChronoUnit.DAYS, DateUtils.currentDate());
|
||||||
log.info("开始进行奖金结算");
|
log.info("开始进行奖金结算");
|
||||||
|
@ -162,7 +158,6 @@ public class BonusSettleJob {
|
||||||
* @param: null null
|
* @param: null null
|
||||||
**/
|
**/
|
||||||
@XxlJob("autoGrantBonus")
|
@XxlJob("autoGrantBonus")
|
||||||
// @Scheduled(cron = "10 42 13 * * ?")
|
|
||||||
public void autoGrantBonusEveryday() {
|
public void autoGrantBonusEveryday() {
|
||||||
log.info("开始进行奖金发放");
|
log.info("开始进行奖金发放");
|
||||||
memberBonusSettleApi.autoGrantBonus();
|
memberBonusSettleApi.autoGrantBonus();
|
||||||
|
@ -176,7 +171,6 @@ public class BonusSettleJob {
|
||||||
* @param: null null
|
* @param: null null
|
||||||
**/
|
**/
|
||||||
@XxlJob("autoSettleMember")
|
@XxlJob("autoSettleMember")
|
||||||
// @Scheduled(cron = "50 55 15 * * ?")
|
|
||||||
public void autoSettleMemberAchieveEveryday() {
|
public void autoSettleMemberAchieveEveryday() {
|
||||||
log.info("开始进行会员业绩计算");
|
log.info("开始进行会员业绩计算");
|
||||||
memberBonusSettleApi.insertCuMemberAchieveByEveryDay();
|
memberBonusSettleApi.insertCuMemberAchieveByEveryDay();
|
||||||
|
|
|
@ -139,7 +139,7 @@ public class MemberJob {
|
||||||
*/
|
*/
|
||||||
@XxlJob("member-expire-data")
|
@XxlJob("member-expire-data")
|
||||||
public void memberExpireData() {
|
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()) {
|
if (!resultR.isSuccess()) {
|
||||||
log.error("处理会员续约状态出现异常,{}", resultR.getMsg());
|
log.error("处理会员续约状态出现异常,{}", resultR.getMsg());
|
||||||
}
|
}
|
||||||
|
@ -150,9 +150,7 @@ public class MemberJob {
|
||||||
*/
|
*/
|
||||||
@XxlJob("updatWarehouseLogJob")
|
@XxlJob("updatWarehouseLogJob")
|
||||||
public void updatWarehouseLogJob() {
|
public void updatWarehouseLogJob() {
|
||||||
/**
|
// 查询初始化条形码配置,将当前尾号初始化为初始尾号
|
||||||
* 查询初始化条形码配置,将当前尾号初始化为初始尾号
|
|
||||||
*/
|
|
||||||
iBdBarCodeServiceApi.updatWarehouseLog();
|
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,16 +1,9 @@
|
||||||
package com.hzs.third.job;/**
|
package com.hzs.third.job;
|
||||||
* @Description:
|
|
||||||
* @Author: yuhui
|
|
||||||
* @Time: 2023/6/1 10:44
|
|
||||||
* @Classname: WaresJob
|
|
||||||
* @PackageName: com.hzs.third.job
|
|
||||||
*/
|
|
||||||
|
|
||||||
import com.hzs.sale.wares.IWaresServiceApi;
|
import com.hzs.sale.wares.IWaresServiceApi;
|
||||||
import com.xxl.job.core.handler.annotation.XxlJob;
|
import com.xxl.job.core.handler.annotation.XxlJob;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.dubbo.config.annotation.DubboReference;
|
import org.apache.dubbo.config.annotation.DubboReference;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
@ -21,15 +14,15 @@ import java.util.Date;
|
||||||
* @BelongsPackage: com.hzs.third.job
|
* @BelongsPackage: com.hzs.third.job
|
||||||
* @Author: yh
|
* @Author: yh
|
||||||
* @CreateTime: 2023-06-01 10:44
|
* @CreateTime: 2023-06-01 10:44
|
||||||
*@Description: TODO
|
|
||||||
* @Version: 1.0
|
* @Version: 1.0
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@ConditionalOnProperty(name = "xxl-job.start", havingValue = "true")
|
@ConditionalOnProperty(name = "xxl-job.start", havingValue = "true")
|
||||||
@Component
|
@Component
|
||||||
public class WaresJob {
|
public class WaresJob {
|
||||||
|
|
||||||
@DubboReference
|
@DubboReference
|
||||||
private IWaresServiceApi waresServiceApi;
|
IWaresServiceApi waresServiceApi;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品自动上下架
|
* 商品自动上下架
|
||||||
|
@ -37,9 +30,6 @@ public class WaresJob {
|
||||||
@XxlJob("waresAutoLoadingJob")
|
@XxlJob("waresAutoLoadingJob")
|
||||||
public void waresAutoLoadingJob() {
|
public void waresAutoLoadingJob() {
|
||||||
// 修改符合 时间条件商品上架
|
// 修改符合 时间条件商品上架
|
||||||
/**
|
|
||||||
* 获取当前时间
|
|
||||||
*/
|
|
||||||
Date currentTime = new Date();
|
Date currentTime = new Date();
|
||||||
// 自动上架
|
// 自动上架
|
||||||
waresServiceApi.updateByAutoStartAndAutoStart(currentTime);
|
waresServiceApi.updateByAutoStartAndAutoStart(currentTime);
|
||||||
|
|
|
@ -7,7 +7,6 @@ import cn.hutool.json.JSONUtil;
|
||||||
import com.hzs.activity.tourism.IAcTourismServiceApi;
|
import com.hzs.activity.tourism.IAcTourismServiceApi;
|
||||||
import com.hzs.common.core.domain.R;
|
import com.hzs.common.core.domain.R;
|
||||||
import com.hzs.common.core.web.domain.AjaxResult;
|
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.IAreaServiceApi;
|
||||||
import com.hzs.system.base.dto.AreaDTO;
|
import com.hzs.system.base.dto.AreaDTO;
|
||||||
import com.hzs.third.job.OrderJob;
|
import com.hzs.third.job.OrderJob;
|
||||||
|
@ -33,11 +32,9 @@ import java.util.*;
|
||||||
public class JobTestController {
|
public class JobTestController {
|
||||||
|
|
||||||
@DubboReference
|
@DubboReference
|
||||||
private IAcTourismServiceApi iAcTourismServiceApi;
|
IAcTourismServiceApi iAcTourismServiceApi;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
private IAreaServiceApi iAreaServiceApi;
|
IAreaServiceApi iAreaServiceApi;
|
||||||
@DubboReference
|
|
||||||
private IMemberPerkServiceApi iMemberPerkServiceApi;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 测试旅游活动定时任务
|
* 测试旅游活动定时任务
|
||||||
|
@ -59,22 +56,6 @@ public class JobTestController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private OrderJob orderJob;
|
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