forked from angelo/java-retail-app
## 去掉旧抗衰达人,调整推荐相关列表;
This commit is contained in:
parent
b371c4e4b3
commit
2d8ca9919f
|
@ -28,62 +28,26 @@ import org.springframework.web.bind.annotation.*;
|
|||
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: sui q
|
||||
* @Time: 2022/11/2 16:21
|
||||
* @Classname: CuMemberSettleController
|
||||
* @PackageName: com.hzs.member.achieve.controller
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/manage/settle")
|
||||
public class CuMemberSettleController extends BaseController {
|
||||
|
||||
private ICuMemberBonusService cuMemberBonusService;
|
||||
|
||||
private IBonusSettleService bonusSettleService;
|
||||
|
||||
private ICuMemberTreeService cuMemberTreeService;
|
||||
|
||||
private ICuMemberSettlePeriodService cuMemberSettlePeriodService;
|
||||
|
||||
private IBonusGrantService bonusGrantService;
|
||||
|
||||
private ICuMemberMonthAchieveService cuMemberMonthAchieveService;
|
||||
|
||||
@Autowired
|
||||
public void setCuMemberBonusService(ICuMemberBonusService cuMemberBonusService) {
|
||||
this.cuMemberBonusService = cuMemberBonusService;
|
||||
}
|
||||
|
||||
private ICuMemberBonusService iCuMemberBonusService;
|
||||
@Autowired
|
||||
public void setCuMemberMonthAchieveService(ICuMemberMonthAchieveService cuMemberMonthAchieveService) {
|
||||
this.cuMemberMonthAchieveService = cuMemberMonthAchieveService;
|
||||
}
|
||||
|
||||
private IBonusSettleService iBonusSettleService;
|
||||
@Autowired
|
||||
public void setBonusGrantService(IBonusGrantService bonusGrantService) {
|
||||
this.bonusGrantService = bonusGrantService;
|
||||
}
|
||||
|
||||
private ICuMemberTreeService iCuMemberTreeService;
|
||||
@Autowired
|
||||
public void setCuMemberSettlePeriodService(ICuMemberSettlePeriodService cuMemberSettlePeriodService) {
|
||||
this.cuMemberSettlePeriodService = cuMemberSettlePeriodService;
|
||||
}
|
||||
|
||||
private ICuMemberSettlePeriodService iCuMemberSettlePeriodService;
|
||||
@Autowired
|
||||
public void setCuMemberTreeService(ICuMemberTreeService cuMemberTreeService) {
|
||||
this.cuMemberTreeService = cuMemberTreeService;
|
||||
}
|
||||
|
||||
private IBonusGrantService iBonusGrantService;
|
||||
@Autowired
|
||||
public void setBonusSettleService(IBonusSettleService bonusSettleService) {
|
||||
this.bonusSettleService = bonusSettleService;
|
||||
}
|
||||
private ICuMemberMonthAchieveService iCuMemberMonthAchieveService;
|
||||
|
||||
|
||||
/**
|
||||
* 初始化奖金结算表
|
||||
|
@ -92,7 +56,7 @@ public class CuMemberSettleController extends BaseController {
|
|||
*/
|
||||
@GetMapping("/init-table")
|
||||
public AjaxResult initTable(String settleDate) {
|
||||
cuMemberTreeService.createCuMemberTree(settleDate);
|
||||
iCuMemberTreeService.createCuMemberTree(settleDate);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
|
@ -103,7 +67,7 @@ public class CuMemberSettleController extends BaseController {
|
|||
*/
|
||||
@GetMapping("/init-period")
|
||||
public AjaxResult initPeriod(String settleDate) {
|
||||
cuMemberSettlePeriodService.initCuMemberPeriod(settleDate);
|
||||
iCuMemberSettlePeriodService.initCuMemberPeriod(settleDate);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
|
@ -116,17 +80,11 @@ public class CuMemberSettleController extends BaseController {
|
|||
@Log(module = EOperationModule.BONUS_SETTLE, business = EOperationBusiness.BONUS_SETTLE, method = EOperationMethod.INSERT)
|
||||
public AjaxResult settleBonus(String settleDate) {
|
||||
// initTable(settleDate);
|
||||
// settleDate = "2024-04-29";
|
||||
Date startDate = DateUtils.parseStringToDate(settleDate);
|
||||
if (DateUtils.compareDateAfter(DateUtils.beforeDate(6, ChronoUnit.DAYS, DateUtils.currentDate()), startDate)) {
|
||||
return AjaxResult.error(TransactionUtils.getContent(BonusMsgConstants.SETTLE_VALIDATE_DATE));
|
||||
}
|
||||
// List<SaOrderExt> saOrderExtList = saOrderServiceApi.querySaOrderByDay(startDate,
|
||||
// DateUtils.afterDate(1, ChronoUnit.DAYS, startDate)).getData();
|
||||
// for(int i=0;i<=92;i++) {
|
||||
// startDate=DateUtils.afterDate(1,ChronoUnit.DAYS, startDate);
|
||||
cuMemberBonusService.autoCalculateBonus(startDate, startDate);
|
||||
// }
|
||||
iCuMemberBonusService.autoCalculateBonus(startDate, startDate);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
|
@ -142,7 +100,7 @@ public class CuMemberSettleController extends BaseController {
|
|||
if (DateUtils.compareDate(DateUtils.beforeDate(6, ChronoUnit.DAYS, DateUtils.currentDate()), startDate) > 0) {
|
||||
return AjaxResult.error(TransactionUtils.getContent(BonusMsgConstants.PUBLISH_VALIDATE_DATE));
|
||||
}
|
||||
bonusGrantService.publishBonusByPeriod(SecurityUtils.getPkCountry(), settleDate);
|
||||
iBonusGrantService.publishBonusByPeriod(SecurityUtils.getPkCountry(), settleDate);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
|
@ -158,7 +116,7 @@ public class CuMemberSettleController extends BaseController {
|
|||
if (!DateUtils.compareDateEqual(DateUtils.beforeDate(1, ChronoUnit.DAYS, DateUtils.currentDate()), startDate)) {
|
||||
return AjaxResult.error(TransactionUtils.getContent(BonusMsgConstants.NO_PUBLISH_VALIDATE_DATE));
|
||||
}
|
||||
bonusGrantService.publishBonusByPeriod(SecurityUtils.getPkCountry(), settleDate);
|
||||
iBonusGrantService.publishBonusByPeriod(SecurityUtils.getPkCountry(), settleDate);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
|
@ -174,7 +132,7 @@ public class CuMemberSettleController extends BaseController {
|
|||
if (DateUtils.compareDateBefore(DateUtils.beforeDate(7, ChronoUnit.DAYS, DateUtils.currentDate()), startDate)) {
|
||||
return AjaxResult.error(TransactionUtils.getContent(BonusMsgConstants.GRANT_VALIDATE_DATE));
|
||||
}
|
||||
bonusGrantService.grantBonusByPeriod(SecurityUtils.getPkCountry(), settleDate);
|
||||
iBonusGrantService.grantBonusByPeriod(SecurityUtils.getPkCountry(), settleDate);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
|
@ -185,7 +143,7 @@ public class CuMemberSettleController extends BaseController {
|
|||
*/
|
||||
@GetMapping("/grant-temp-bonus")
|
||||
public AjaxResult grantTempBonus(Integer pkCountry, String settleDate) {
|
||||
bonusGrantService.grantBonusByTempPeriod(pkCountry, settleDate);
|
||||
iBonusGrantService.grantBonusByTempPeriod(pkCountry, settleDate);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
|
@ -196,7 +154,7 @@ public class CuMemberSettleController extends BaseController {
|
|||
*/
|
||||
@GetMapping("/grant-bonus_all")
|
||||
public AjaxResult grantBonusAll() {
|
||||
bonusGrantService.grantWithdrawBonusByPeriodEveryDay();
|
||||
iBonusGrantService.grantWithdrawBonusByPeriodEveryDay();
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
|
@ -212,13 +170,12 @@ public class CuMemberSettleController extends BaseController {
|
|||
if (DateUtils.compareDateBefore(DateUtils.beforeDate(7, ChronoUnit.DAYS, DateUtils.currentDate()), startDate)) {
|
||||
return AjaxResult.error(TransactionUtils.getContent(BonusMsgConstants.WITHDRAW_VALIDATE_DATE));
|
||||
}
|
||||
bonusGrantService.withdrawalBonusByPeriod(SecurityUtils.getPkCountry(), settleDate);
|
||||
iBonusGrantService.withdrawalBonusByPeriod(SecurityUtils.getPkCountry(), settleDate);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 秒接结算业绩,仅用于测试
|
||||
* w
|
||||
*
|
||||
* @return AjaxResult
|
||||
*/
|
||||
|
@ -227,8 +184,8 @@ public class CuMemberSettleController extends BaseController {
|
|||
if (StringUtils.isEmpty(orderCode)) {
|
||||
return AjaxResult.error();
|
||||
}
|
||||
// bonusSettleService.calculateCumberBonusBySecond(orderCode);
|
||||
bonusSettleService.calculateCuMemberRetailRangeBonusBySaOrder(orderCode);
|
||||
// iBonusSettleService.calculateCumberBonusBySecond(orderCode);
|
||||
iBonusSettleService.calculateCuMemberRetailRangeBonusBySaOrder(orderCode);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
|
@ -239,28 +196,12 @@ public class CuMemberSettleController extends BaseController {
|
|||
*/
|
||||
@GetMapping("/settle-month")
|
||||
public AjaxResult settleMonth() {
|
||||
cuMemberMonthAchieveService.insertCuMemberAchieveByEveryDay(DateUtils.beforeDate(1, ChronoUnit.DAYS));
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 发放直推达人、抗衰达人
|
||||
* w
|
||||
*
|
||||
* @return AjaxResult
|
||||
*/
|
||||
@GetMapping("/settle-wall")
|
||||
public AjaxResult settleMemberHonorWall(String startDate) {
|
||||
cuMemberMonthAchieveService.insertCuMemberMonthAchieve(DateUtils.parseStringToDate(startDate));
|
||||
cuMemberMonthAchieveService.insertCuMemberCuMemberMonthYearAchieve(DateUtils.parseStringToDate(startDate));
|
||||
iCuMemberMonthAchieveService.insertCuMemberAchieveByEveryDay(DateUtils.beforeDate(1, ChronoUnit.DAYS));
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/*
|
||||
* @description: 查询奖金计算期数列表
|
||||
* @author: sui q
|
||||
* @date: 2023/4/26 17:10
|
||||
* @param: null null
|
||||
* 查询奖金计算期数列表
|
||||
**/
|
||||
@AccessPermissions("bonusCount")
|
||||
@Log(module = EOperationModule.BONUS_SETTLE, business = EOperationBusiness.BONUS_SETTLE, method = EOperationMethod.SELECT)
|
||||
|
@ -268,7 +209,7 @@ public class CuMemberSettleController extends BaseController {
|
|||
public TableDataInfo list(@RequestBody MemberPeriodParam periodParam) {
|
||||
startPage();
|
||||
periodParam.setPkCountry(SecurityUtils.getPkCountry());
|
||||
List<CuMemberSettlePeriodExt> cuMemberSettlePeriods = cuMemberSettlePeriodService.queryCuMemberSettlePeriod(periodParam);
|
||||
List<CuMemberSettlePeriodExt> cuMemberSettlePeriods = iCuMemberSettlePeriodService.queryCuMemberSettlePeriod(periodParam);
|
||||
List<MemberSettlePeriodVO> list = new ArrayList<>();
|
||||
cuMemberSettlePeriods.forEach(cuMemberSettlePeriod ->
|
||||
list.add(BeanUtil.copyProperties(cuMemberSettlePeriod, MemberSettlePeriodVO.class))
|
||||
|
|
|
@ -8,30 +8,21 @@ import org.apache.ibatis.annotations.Param;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员月数据 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-06-06
|
||||
*/
|
||||
public interface CuMemberMonthAchieveMapper extends BaseMapper<CuMemberMonthAchieve> {
|
||||
|
||||
/*
|
||||
* @description: 根据时间查询月业绩
|
||||
* @author: sui q
|
||||
* @date: 2023/6/7 14:37
|
||||
* @param: null null
|
||||
**/
|
||||
List<CuMemberMonthAchieveExt> queryCuMemberMonthAchieveByDate(@Param("startPeriod") Integer startPeriod, @Param("endPeriod") Integer endPeriod,
|
||||
@Param("recommend") Integer recommend, @Param("repurchase") Integer repurchase);
|
||||
/**
|
||||
* 根据时间查询月业绩
|
||||
*/
|
||||
List<CuMemberMonthAchieveExt> queryCuMemberMonthAchieveByDate(@Param("startPeriod") Integer startPeriod,
|
||||
@Param("endPeriod") Integer endPeriod,
|
||||
@Param("recommend") Integer recommend,
|
||||
@Param("repurchase") Integer repurchase);
|
||||
|
||||
|
||||
/*
|
||||
* @description: 每天插入会员月表,计算推荐业绩,复购业绩,1-6号计算前7天
|
||||
* @author: sui q
|
||||
* @date: 2023/6/6 14:15
|
||||
* @param: null null
|
||||
**/
|
||||
/**
|
||||
* 每天插入会员月表,计算推荐业绩,复购业绩,1-6号计算前7天
|
||||
*/
|
||||
void insertCuMemberMonthAchieve(@Param("tableName") String tableName, @Param("period") Integer period, @Param("month") String month);
|
||||
|
||||
}
|
||||
|
|
|
@ -6,36 +6,22 @@ import com.hzs.common.domain.member.achieve.CuMemberMonthAchieve;
|
|||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员月数据 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-06-06
|
||||
*/
|
||||
public interface ICuMemberMonthAchieveService extends IService<CuMemberMonthAchieve> {
|
||||
|
||||
/*
|
||||
* @description: 每日生成业绩、月表统计数据
|
||||
* @author: sui q
|
||||
* @date: 2023/9/1 9:50
|
||||
* @param: null null
|
||||
**/
|
||||
/**
|
||||
* 每日生成业绩、月表统计数据
|
||||
*/
|
||||
void insertCuMemberAchieveByEveryDay(Date settleDate);
|
||||
|
||||
/*
|
||||
* @description: 每天插入会员月表,计算推荐业绩,复购业绩,1-6号计算前7天
|
||||
* @author: sui q
|
||||
* @date: 2023/6/6 14:15
|
||||
* @param: null null
|
||||
**/
|
||||
/**
|
||||
* 每天插入会员月表,计算推荐业绩,复购业绩,1-6号计算前7天
|
||||
*/
|
||||
void insertCuMemberMonthAchieve(Date settleDate);
|
||||
|
||||
/*
|
||||
* @description: 每天统计月表数据
|
||||
* @author: sui q
|
||||
* @date: 2023/8/29 10:31
|
||||
* @param: null null
|
||||
**/
|
||||
/**
|
||||
* 每天统计月表数据
|
||||
*/
|
||||
void insertCuMemberCuMemberMonthYearAchieve(Date settleDate);
|
||||
}
|
||||
|
|
|
@ -25,26 +25,21 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
import java.util.*;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员月数据 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-06-06
|
||||
*/
|
||||
@Service
|
||||
public class CuMemberMonthAchieveServiceImpl extends ServiceImpl<CuMemberMonthAchieveMapper, CuMemberMonthAchieve> implements ICuMemberMonthAchieveService {
|
||||
|
||||
@Autowired
|
||||
private ICuMemberSettlePeriodService cuMemberSettlePeriodService;
|
||||
private ICuMemberSettlePeriodService iCuMemberSettlePeriodService;
|
||||
@Autowired
|
||||
private ICuHonorWallService cuHonorWallService;
|
||||
private ICuHonorWallService iCuHonorWallService;
|
||||
@Autowired
|
||||
private ICuMemberHonorWallService cuMemberHonorWallService;
|
||||
private ICuMemberHonorWallService iCuMemberHonorWallService;
|
||||
@Autowired
|
||||
private ICuMemberTreeService cuMemberTreeService;
|
||||
private ICuMemberTreeService iCuMemberTreeService;
|
||||
@Autowired
|
||||
private ICuMemberAchieveService cuMemberAchieveService;
|
||||
private ICuMemberAchieveService iCuMemberAchieveService;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
|
@ -66,12 +61,12 @@ public class CuMemberMonthAchieveServiceImpl extends ServiceImpl<CuMemberMonthAc
|
|||
String table = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(settleDateStr);
|
||||
// 获得当前月第一天
|
||||
String currentMonthDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.currentMonthFirstDate(settleDate));
|
||||
CuMemberSettlePeriod cuMemberSettlePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(currentMonthDate);
|
||||
CuMemberSettlePeriod cuMemberSettlePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(currentMonthDate);
|
||||
if (day <= 6) {
|
||||
// 计算上月
|
||||
String beforeFirstMonthDate = DateUtils.beforeMonthFirstDateStr(settleDate);
|
||||
String beforeTable = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(beforeFirstMonthDate);
|
||||
CuMemberSettlePeriod beforePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeFirstMonthDate);
|
||||
CuMemberSettlePeriod beforePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeFirstMonthDate);
|
||||
baseMapper.insertCuMemberMonthAchieve(beforeTable, beforePeriod.getPkId(), DateUtils.getMonth(beforeFirstMonthDate));
|
||||
}
|
||||
// 计算当前月
|
||||
|
@ -80,7 +75,7 @@ public class CuMemberMonthAchieveServiceImpl extends ServiceImpl<CuMemberMonthAc
|
|||
// 每月7号发放徽章,发放上个月的
|
||||
if (day == 7) {
|
||||
// 查询徽章
|
||||
List<CuHonorWall> cuHonorWallList = cuHonorWallService.queryCuHonorWall();
|
||||
List<CuHonorWall> cuHonorWallList = iCuHonorWallService.queryCuHonorWall();
|
||||
Map<String, CuHonorWall> honorWallMap = new HashMap<>();
|
||||
cuHonorWallList.forEach(cuHonorWall -> {
|
||||
String key = cuHonorWall.getPkCountry().toString() + cuHonorWall.getType() + cuHonorWall.getValue();
|
||||
|
@ -89,7 +84,7 @@ public class CuMemberMonthAchieveServiceImpl extends ServiceImpl<CuMemberMonthAc
|
|||
List<CuMemberHonorWall> cuMemberHonorWallList = new ArrayList<>();
|
||||
// 上月期间,作为结束期间
|
||||
String beforeFirstMonthDate = DateUtils.beforeMonthFirstDateStr(settleDate);
|
||||
CuMemberSettlePeriod beforePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeFirstMonthDate);
|
||||
CuMemberSettlePeriod beforePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeFirstMonthDate);
|
||||
// 月徽章
|
||||
grantHonorWall(beforePeriod.getPkId(), cuMemberSettlePeriod.getPkId(), settleMonth,
|
||||
HonorWallType.RECOMMEND_MONTH.getValue(), HonorWallType.ANTIFADING_MONTH.getValue(), honorWallMap, cuMemberHonorWallList);
|
||||
|
@ -97,14 +92,14 @@ public class CuMemberMonthAchieveServiceImpl extends ServiceImpl<CuMemberMonthAc
|
|||
if (month == 1 || month == 4 || month == 7 || month == 10) {
|
||||
// 3个月期间,作为开始期间
|
||||
String quarterFirstMonthDate = DateUtils.beforeMonthFirstDateStr(3, settleDate);
|
||||
CuMemberSettlePeriod quarterPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(quarterFirstMonthDate);
|
||||
CuMemberSettlePeriod quarterPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(quarterFirstMonthDate);
|
||||
grantHonorWall(quarterPeriod.getPkId(), cuMemberSettlePeriod.getPkId(), settleMonth,
|
||||
HonorWallType.RECOMMEND_QUARTER.getValue(), HonorWallType.ANTIFADING_QUARTER.getValue(), honorWallMap, cuMemberHonorWallList);
|
||||
if (month == 1) {
|
||||
// 再发年度徽章
|
||||
// 3个月期间,作为开始期间
|
||||
String yearFirstMonthDate = DateUtils.beforeMonthFirstDateStr(12, settleDate);
|
||||
CuMemberSettlePeriod yearPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yearFirstMonthDate);
|
||||
CuMemberSettlePeriod yearPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yearFirstMonthDate);
|
||||
if (yearPeriod != null) {
|
||||
grantHonorWall(yearPeriod.getPkId(), cuMemberSettlePeriod.getPkId(), settleMonth,
|
||||
HonorWallType.RECOMMEND_QUARTER.getValue(), HonorWallType.ANTIFADING_QUARTER.getValue(), honorWallMap, cuMemberHonorWallList);
|
||||
|
@ -112,7 +107,7 @@ public class CuMemberMonthAchieveServiceImpl extends ServiceImpl<CuMemberMonthAc
|
|||
}
|
||||
}
|
||||
if (cuMemberHonorWallList.size() > 0) {
|
||||
cuMemberHonorWallService.saveBatch(cuMemberHonorWallList);
|
||||
iCuMemberHonorWallService.saveBatch(cuMemberHonorWallList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -124,18 +119,18 @@ public class CuMemberMonthAchieveServiceImpl extends ServiceImpl<CuMemberMonthAc
|
|||
// 月表
|
||||
int day = DateUtils.currentDay(settleDate);
|
||||
String monthTableName = TableNameConstants.CU_MEMBER_MONTH + DateUtils.getMonth(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, settleDate));
|
||||
Integer number = cuMemberTreeService.queryExistOracleTable(monthTableName);
|
||||
Integer number = iCuMemberTreeService.queryExistOracleTable(monthTableName);
|
||||
if (number == null || number <= 0) {
|
||||
// 创建表
|
||||
cuMemberAchieveService.createCuMemberMonthTable(monthTableName);
|
||||
cuMemberTreeService.createCuMemberTreeDayOnlyIndex(monthTableName);
|
||||
cuMemberTreeService.createCuMemberTreeParentIndex(monthTableName);
|
||||
cuMemberTreeService.createCuMemberTreePlaceIndex(monthTableName);
|
||||
iCuMemberAchieveService.createCuMemberMonthTable(monthTableName);
|
||||
iCuMemberTreeService.createCuMemberTreeDayOnlyIndex(monthTableName);
|
||||
iCuMemberTreeService.createCuMemberTreeParentIndex(monthTableName);
|
||||
iCuMemberTreeService.createCuMemberTreePlaceIndex(monthTableName);
|
||||
}
|
||||
if (day >= 1 && day <= 6) {
|
||||
cuMemberAchieveService.mergeCuMemberMonth(day, DateUtils.beforeMonthLastDateStr(settleDate));
|
||||
iCuMemberAchieveService.mergeCuMemberMonth(day, DateUtils.beforeMonthLastDateStr(settleDate));
|
||||
}
|
||||
cuMemberAchieveService.mergeCuMemberMonth(0, DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD, settleDate));
|
||||
iCuMemberAchieveService.mergeCuMemberMonth(0, DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD, settleDate));
|
||||
}
|
||||
|
||||
private void grantHonorWall(Integer startPeriod, Integer endPeriod, String settleMonth, Integer recommend, Integer repurchase,
|
||||
|
|
|
@ -245,10 +245,6 @@ public class BonusGrantServiceImpl implements IBonusGrantService {
|
|||
packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.REPEAT.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getBackPoints(), currencyDTO.getOutExchangeRate()), settleDate);
|
||||
// 复购券
|
||||
packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.REPURCHASE.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getRepurCouponSubtotal(), currencyDTO.getOutExchangeRate()), settleDate);
|
||||
// 环球积分
|
||||
// packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.GLOBAL_POINTS.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getGlobalPoints(), currencyDTO.getOutExchangeRate()), settleDate);
|
||||
// 车奖积分
|
||||
// packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.CAR_AWARD_POINTS.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getCarAwardPoints(), currencyDTO.getOutExchangeRate()), settleDate);
|
||||
});
|
||||
List<Long> seqList = iCuMemberTradeService.batchQueryCuMemberTradeSeq(cuMemberTradeList.size());
|
||||
// 新增流水明细,记录奖金明细的发放状态、消费明细
|
||||
|
|
|
@ -56,14 +56,14 @@ import java.util.*;
|
|||
public class ApiCuMemberAchieveDisController extends BaseController {
|
||||
|
||||
@DubboReference
|
||||
ICurrencyServiceApi currencyServiceApi;
|
||||
ICurrencyServiceApi iCurrencyServiceApi;
|
||||
|
||||
@Autowired
|
||||
private ICuMemberSettlePeriodService cuMemberSettlePeriodService;
|
||||
private ICuMemberSettlePeriodService iCuMemberSettlePeriodService;
|
||||
@Autowired
|
||||
private ICuMemberAchieveService cuMemberAchieveService;
|
||||
private ICuMemberAchieveService iCuMemberAchieveService;
|
||||
@Autowired
|
||||
private ICuMemberMonthAchieveService cuMemberMonthAchieveService;
|
||||
private ICuMemberMonthAchieveService iCuMemberMonthAchieveService;
|
||||
|
||||
/**
|
||||
* 用于查询会员市场动态
|
||||
|
@ -73,7 +73,7 @@ public class ApiCuMemberAchieveDisController extends BaseController {
|
|||
// 查询架构树
|
||||
MemberAchieveDisParam memberAchieveDisParam = new MemberAchieveDisParam();
|
||||
memberAchieveDisParam.setPkMember(SecurityUtils.getUserId());
|
||||
return AjaxResult.success(cuMemberAchieveService.queryCuMemberAchieveDis(memberAchieveDisParam));
|
||||
return AjaxResult.success(iCuMemberAchieveService.queryCuMemberAchieveDis(memberAchieveDisParam));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -88,7 +88,7 @@ public class ApiCuMemberAchieveDisController extends BaseController {
|
|||
return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.MEMBER_CODE_NOT_NULL));
|
||||
}
|
||||
memberAchieveDisParam.setPkCountry(SecurityUtils.getPkCountry());
|
||||
return AjaxResult.success(cuMemberAchieveService.queryCuMemberDis(memberAchieveDisParam));
|
||||
return AjaxResult.success(iCuMemberAchieveService.queryCuMemberDis(memberAchieveDisParam));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -100,7 +100,7 @@ public class ApiCuMemberAchieveDisController extends BaseController {
|
|||
public AjaxResult queryLastAchieve(@RequestBody MemberAchieveDisParam memberAchieveDisParam) {
|
||||
// 业绩分布 近7日业绩 左区、右区新增人数 血缘业绩 左区、右区新增业绩
|
||||
memberAchieveDisParam.setPkMember(SecurityUtils.getUserId());
|
||||
return AjaxResult.success(cuMemberAchieveService.queryCuMemberUnderBloodAchieveByPkMember(memberAchieveDisParam));
|
||||
return AjaxResult.success(iCuMemberAchieveService.queryCuMemberUnderBloodAchieveByPkMember(memberAchieveDisParam));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -112,7 +112,7 @@ public class ApiCuMemberAchieveDisController extends BaseController {
|
|||
public AjaxResult queryRealAchieve(@RequestBody MemberAchieveDisParam memberAchieveDisParam) {
|
||||
// 业绩分布 近7日业绩 左区、右区新增人数 血缘业绩 左区、右区新增业绩
|
||||
memberAchieveDisParam.setPkMember(SecurityUtils.getUserId());
|
||||
return AjaxResult.success(cuMemberAchieveService.queryCuMemberUnderBloodAchieveByPkMember(memberAchieveDisParam));
|
||||
return AjaxResult.success(iCuMemberAchieveService.queryCuMemberUnderBloodAchieveByPkMember(memberAchieveDisParam));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -120,7 +120,7 @@ public class ApiCuMemberAchieveDisController extends BaseController {
|
|||
*/
|
||||
@GetMapping("/query-real-performance")
|
||||
public AjaxResult queryRealPerformance(Integer month) {
|
||||
RealPerformanceVo realPerformanceVo = cuMemberAchieveService.queryRealPerformance(SecurityUtils.getUserId(), SecurityUtils.getPkCountry(), month);
|
||||
RealPerformanceVo realPerformanceVo = iCuMemberAchieveService.queryRealPerformance(SecurityUtils.getUserId(), SecurityUtils.getPkCountry(), month);
|
||||
return AjaxResult.success(realPerformanceVo);
|
||||
}
|
||||
|
||||
|
@ -134,7 +134,7 @@ public class ApiCuMemberAchieveDisController extends BaseController {
|
|||
public AjaxResult queryRealPerformancePic() {
|
||||
|
||||
int month = DateUtil.month(DateUtils.currentDate()) + 1;
|
||||
AzAchievementPie achievementPie = cuMemberAchieveService.queryRealPerformancePic(SecurityUtils.getUserId(), SecurityUtils.getPkCountry(), month);
|
||||
AzAchievementPie achievementPie = iCuMemberAchieveService.queryRealPerformancePic(SecurityUtils.getUserId(), SecurityUtils.getPkCountry(), month);
|
||||
|
||||
return AjaxResult.success(achievementPie);
|
||||
}
|
||||
|
@ -148,7 +148,7 @@ public class ApiCuMemberAchieveDisController extends BaseController {
|
|||
*/
|
||||
@GetMapping("/new-add-achieve-contrast")
|
||||
public AjaxResult queryNewAddAchieveContrast(Integer month) {
|
||||
return AjaxResult.success(cuMemberAchieveService.selectNewAddAchieveContrast(SecurityUtils.getUserId(), SecurityUtils.getPkCountry(), month));
|
||||
return AjaxResult.success(iCuMemberAchieveService.selectNewAddAchieveContrast(SecurityUtils.getUserId(), SecurityUtils.getPkCountry(), month));
|
||||
}
|
||||
|
||||
|
||||
|
@ -162,7 +162,7 @@ public class ApiCuMemberAchieveDisController extends BaseController {
|
|||
if (null == pna.getAchievementType()) {
|
||||
pna.setAchievementType(EAchievementType.WHOLE.getValue());
|
||||
}
|
||||
pna = cuMemberAchieveService.placeNewAddAchieveStat(pna);
|
||||
pna = iCuMemberAchieveService.placeNewAddAchieveStat(pna);
|
||||
|
||||
return AjaxResult.success(pna);
|
||||
}
|
||||
|
@ -177,7 +177,7 @@ public class ApiCuMemberAchieveDisController extends BaseController {
|
|||
LocalDate localDate;
|
||||
LocalDate startDate;
|
||||
if (StringUtils.isNotEmpty(pna.getYear())) {
|
||||
currentDate = cuMemberAchieveService.getDateFromYearAndMonth(pna.getYear(), pna.getMonthType().toString());
|
||||
currentDate = iCuMemberAchieveService.getDateFromYearAndMonth(pna.getYear(), pna.getMonthType().toString());
|
||||
LocalDate today = currentDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
|
||||
//当月第一天和最后一天
|
||||
localDate = null == pna.getMonthType() ? LocalDate.now() : LocalDate.of(today.getYear(), pna.getMonthType(), 1);
|
||||
|
@ -190,7 +190,7 @@ public class ApiCuMemberAchieveDisController extends BaseController {
|
|||
Date systemDate = DateUtils.currentDate();
|
||||
List<Integer> orderTypeList = new ArrayList<>();
|
||||
Integer pkCountry = SecurityUtils.getPkCountry();
|
||||
R<CurrencyDTO> currency = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
|
||||
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
|
||||
pna.setPkMember(SecurityUtils.getUserId());
|
||||
pna.setPkCountry(SecurityUtils.getPkCountry());
|
||||
pna.setPkCountry(pkCountry);
|
||||
|
@ -257,34 +257,34 @@ public class ApiCuMemberAchieveDisController extends BaseController {
|
|||
//查询左右区人列表最新数据
|
||||
if (pna.getMonthScoreType() == null || pna.getMonthScoreType() == EMonthScoreType.PEOPLE_NUMBER.getValue()) {
|
||||
if (DateUtils.compareDateBefore(systemDate, enddate)) {
|
||||
pnaList = cuMemberAchieveService.placeNewAddAchieveDetails(pna);
|
||||
pnaList = iCuMemberAchieveService.placeNewAddAchieveDetails(pna);
|
||||
} else {
|
||||
//查询左右区人列表历史数据
|
||||
int frontLastendperiod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
|
||||
int frontLastendperiod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
|
||||
DateUtils.parseDateToStr(endDateStr)).getPkId();
|
||||
String frontTreeTableNameEnd = TableNameConstants.CU_MEMBER_SETTLE + frontLastendperiod;
|
||||
pna.setAchieveTableName(frontTreeTableNameEnd);
|
||||
pnaList = cuMemberAchieveService.placeNewAddAchieveHistoryDetails(pna);
|
||||
pnaList = iCuMemberAchieveService.placeNewAddAchieveHistoryDetails(pna);
|
||||
}
|
||||
} else if (pna.getMonthScoreType() == EMonthScoreType.SCORE.getValue()) {
|
||||
//查询左右区业绩详情
|
||||
//查询最新期数
|
||||
int endperiod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
|
||||
int endperiod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
|
||||
DateUtils.parseDateToStr(endDateStr)).getPkId();
|
||||
pna.setPeriod(endperiod);
|
||||
String achieveTableName = TableNameConstants.CU_MEMBER_TREE + DateUtils.getMonth(startDateStr);
|
||||
pna.setAchieveTableName(achieveTableName);
|
||||
pnaList = cuMemberAchieveService.leftRightAchieveDetails(pna);
|
||||
pnaList = iCuMemberAchieveService.leftRightAchieveDetails(pna);
|
||||
} else if (pna.getMonthScoreType() == EMonthScoreType.BLOOD_SCORE.getValue()) {
|
||||
//查询左右区血缘业绩详情
|
||||
String achieveTableName = TableNameConstants.CU_MEMBER_MONTH + DateUtils.getMonth(startDateStr);
|
||||
pna.setAchieveTableName(achieveTableName);
|
||||
pnaList = cuMemberAchieveService.leftRightDirectAchieveDetails(pna);
|
||||
pnaList = iCuMemberAchieveService.leftRightDirectAchieveDetails(pna);
|
||||
} else if (pna.getMonthScoreType() == EMonthScoreType.DIRECT_SCORE.getValue()) {
|
||||
//查询血缘业绩详情
|
||||
String achieveTableName = TableNameConstants.CU_MEMBER_MONTH + DateUtils.getMonth(startDateStr);
|
||||
pna.setAchieveTableName(achieveTableName);
|
||||
pnaList = cuMemberAchieveService.directAchieveDetails(pna);
|
||||
pnaList = iCuMemberAchieveService.directAchieveDetails(pna);
|
||||
}
|
||||
|
||||
if (CollectionUtil.isNotEmpty(pnaList)) {
|
||||
|
@ -307,7 +307,7 @@ public class ApiCuMemberAchieveDisController extends BaseController {
|
|||
if (null == pna.getAchievementType()) {
|
||||
pna.setAchievementType(EAchievementType.WHOLE.getValue());
|
||||
}
|
||||
pna = cuMemberAchieveService.placeNewAddAchieveStat(pna);
|
||||
pna = iCuMemberAchieveService.placeNewAddAchieveStat(pna);
|
||||
List<PlaceNewAddAchieveVO> list = new ArrayList<>();
|
||||
list.add(pna);
|
||||
ExcelUtil<PlaceNewAddAchieveVO> util = new ExcelUtil<>(PlaceNewAddAchieveVO.class);
|
||||
|
@ -330,7 +330,7 @@ public class ApiCuMemberAchieveDisController extends BaseController {
|
|||
}
|
||||
pa.setPkMember(SecurityUtils.getUserId());
|
||||
pa.setPkCountry(SecurityUtils.getPkCountry());
|
||||
pa = cuMemberAchieveService.parentAchieveRight(pa);
|
||||
pa = iCuMemberAchieveService.parentAchieveRight(pa);
|
||||
return AjaxResult.success(pa);
|
||||
}
|
||||
|
||||
|
@ -350,16 +350,12 @@ public class ApiCuMemberAchieveDisController extends BaseController {
|
|||
}
|
||||
pa.setPkMember(SecurityUtils.getUserId());
|
||||
pa.setPkCountry(SecurityUtils.getPkCountry());
|
||||
List<ParentAchieveVO> paList = cuMemberAchieveService.parentAchieveLeft(pa);
|
||||
List<ParentAchieveVO> paList = iCuMemberAchieveService.parentAchieveLeft(pa);
|
||||
return AjaxResult.success(paList);
|
||||
}
|
||||
|
||||
/**
|
||||
* @description: 根据月查询该月的最后一天
|
||||
* @author: zhang jing
|
||||
* @date: 2023/9/5 19:40
|
||||
* @param: []
|
||||
* @return:
|
||||
* 根据月查询该月的最后一天
|
||||
**/
|
||||
public String lastDayByMonth(String endDate) {
|
||||
// 将月份字符串转换为 LocalDate 对象
|
||||
|
@ -376,7 +372,7 @@ public class ApiCuMemberAchieveDisController extends BaseController {
|
|||
}
|
||||
|
||||
/**
|
||||
* 推荐达人
|
||||
* 推荐分布
|
||||
**/
|
||||
@PostMapping("/recommend")
|
||||
public TableDataInfo recommendExperts(@RequestBody ParentAchieveVO parentAchieveVO) {
|
||||
|
@ -384,7 +380,7 @@ public class ApiCuMemberAchieveDisController extends BaseController {
|
|||
return new TableDataInfo();
|
||||
}
|
||||
parentAchieveVO.setPkCountry(SecurityUtils.getPkCountry());
|
||||
List<CuMemberMonthAchieveExt> cuMemberMonthAchieveExtList = cuMemberMonthAchieveService.queryCuMemberMonthAchieveRecommend(parentAchieveVO);
|
||||
List<CuMemberMonthAchieveExt> cuMemberMonthAchieveExtList = iCuMemberMonthAchieveService.queryCuMemberMonthAchieveRecommend(parentAchieveVO);
|
||||
cuMemberMonthAchieveExtList.forEach(cuMemberMonthAchieveExt -> {
|
||||
String memberName = cuMemberMonthAchieveExt.getMemberName();
|
||||
if (memberName.length() > 2) {
|
||||
|
@ -396,34 +392,14 @@ public class ApiCuMemberAchieveDisController extends BaseController {
|
|||
return getDataTable(cuMemberMonthAchieveExtList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 抗衰达人
|
||||
**/
|
||||
@PostMapping("/repurchase")
|
||||
public TableDataInfo repurchaseExperts(@RequestBody ParentAchieveVO parentAchieveVO) {
|
||||
if (parentAchieveVO.getWallType() == null) {
|
||||
return new TableDataInfo();
|
||||
}
|
||||
parentAchieveVO.setPkCountry(SecurityUtils.getPkCountry());
|
||||
List<CuMemberMonthAchieveExt> cuMemberMonthAchieveExtList = cuMemberMonthAchieveService.queryCuMemberMonthAchieveRepurchase(parentAchieveVO);
|
||||
cuMemberMonthAchieveExtList.forEach(cuMemberMonthAchieveExt -> {
|
||||
String memberName = cuMemberMonthAchieveExt.getMemberName();
|
||||
if (memberName.length() > 2) {
|
||||
cuMemberMonthAchieveExt.setMemberName(memberName.replaceFirst(memberName.substring(1, memberName.length() - 1), "*"));
|
||||
} else {
|
||||
cuMemberMonthAchieveExt.setMemberName(memberName.replaceFirst(memberName.substring(1), "*"));
|
||||
}
|
||||
});
|
||||
return getDataTable(cuMemberMonthAchieveExtList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 抗衰达人
|
||||
* 月度业绩
|
||||
**/
|
||||
@PostMapping("/month-achieve")
|
||||
public TableDataInfo memberMonthAchieve(@RequestBody MonthAchieveParam monthAchieveParam) {
|
||||
List<MemberMonthAchieveVO> memberMonthAchieveList = new ArrayList<>();
|
||||
List<CuMemberAchieveExt> cuMemberAchieveExtList = cuMemberAchieveService.queryMemberMonthAchieve(SecurityUtils.getUserId(), monthAchieveParam.getMonth());
|
||||
List<CuMemberAchieveExt> cuMemberAchieveExtList = iCuMemberAchieveService.queryMemberMonthAchieve(SecurityUtils.getUserId(), monthAchieveParam.getMonth());
|
||||
for (CuMemberAchieveExt cuMemberAchieveExt : cuMemberAchieveExtList) {
|
||||
MemberMonthAchieveVO memberMonthAchieveVO = BeanUtil.copyProperties(cuMemberAchieveExt, MemberMonthAchieveVO.class);
|
||||
setAchieve(cuMemberAchieveExt, memberMonthAchieveVO);
|
||||
|
@ -448,7 +424,7 @@ public class ApiCuMemberAchieveDisController extends BaseController {
|
|||
}
|
||||
|
||||
/**
|
||||
* 抗衰达人
|
||||
* 月度业绩详细
|
||||
**/
|
||||
@PostMapping("/month-achieve-detail")
|
||||
public TableDataInfo memberMonthAchieveDetail(@RequestBody MonthAchieveParam monthAchieveParam) {
|
||||
|
@ -463,9 +439,9 @@ public class ApiCuMemberAchieveDisController extends BaseController {
|
|||
List<CuMemberAchieveExt> cuMemberAchieveExtList;
|
||||
monthAchieveParam.setMonth(monthAchieveParam.getMonth().replace("-", ""));
|
||||
if (monthAchieveParam.getPlaceDept() == 0) {
|
||||
cuMemberAchieveExtList = cuMemberAchieveService.queryParentMemberMonthAchieve(monthAchieveParam);
|
||||
cuMemberAchieveExtList = iCuMemberAchieveService.queryParentMemberMonthAchieve(monthAchieveParam);
|
||||
} else {
|
||||
cuMemberAchieveExtList = cuMemberAchieveService.queryPlaceParentMemberMonthAchieve(monthAchieveParam);
|
||||
cuMemberAchieveExtList = iCuMemberAchieveService.queryPlaceParentMemberMonthAchieve(monthAchieveParam);
|
||||
}
|
||||
if (CollectionUtil.isNotEmpty(cuMemberAchieveExtList)) {
|
||||
for (CuMemberAchieveExt cuMemberAchieveExt : cuMemberAchieveExtList) {
|
||||
|
@ -505,7 +481,7 @@ public class ApiCuMemberAchieveDisController extends BaseController {
|
|||
*
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("get-data-info")
|
||||
@GetMapping("/get-data-info")
|
||||
public AjaxResult getDataInfo() {
|
||||
Date date = DateUtils.beforeDate(1, ChronoUnit.DAYS, DateUtils.currentDate());
|
||||
DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD, date);
|
||||
|
|
|
@ -8,12 +8,7 @@ import java.io.Serializable;
|
|||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @description: 会员月累计业绩统计
|
||||
* @author: sui q
|
||||
* @time: 2023/8/29 17:31
|
||||
* @classname: MemberMonthAchieve
|
||||
* @package_name: com.hzs.member.achieve.controller.vo
|
||||
* version 1.0.0
|
||||
* 会员月累计业绩统计
|
||||
*/
|
||||
@Data
|
||||
public class MemberMonthAchieveVO implements Serializable {
|
||||
|
|
|
@ -1,71 +1,41 @@
|
|||
package com.hzs.member.achieve.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.hzs.common.domain.member.achieve.CuMemberMonthAchieve;
|
||||
import com.hzs.common.domain.member.ext.CuMemberMonthAchieveExt;
|
||||
import com.hzs.member.achieve.controller.vo.ParentAchieveVO;
|
||||
import com.hzs.member.achieve.controller.vo.RealPerformanceVo;
|
||||
import com.hzs.member.achieve.vo.CuMemberMonthVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员月数据 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-06-06
|
||||
*/
|
||||
public interface CuMemberMonthAchieveMapper extends BaseMapper<CuMemberMonthAchieve> {
|
||||
|
||||
/*
|
||||
* @description: 根据时间查询月业绩
|
||||
* @author: sui q
|
||||
* @date: 2023/6/7 14:37
|
||||
* @param: null null
|
||||
**/
|
||||
/**
|
||||
* 根据时间查询月业绩
|
||||
*/
|
||||
List<CuMemberMonthAchieveExt> queryCuMemberMonthAchieveByDate(@Param("startPeriod") Integer startPeriod, @Param("endPeriod") Integer endPeriod,
|
||||
@Param("recommend") Integer recommend, @Param("repurchase") Integer repurchase);
|
||||
|
||||
/*
|
||||
* @description: 根据条件查询会员月业绩 推荐达人
|
||||
* @author: sui q
|
||||
* @date: 2023/6/7 16:00
|
||||
* @param: null null
|
||||
**/
|
||||
/**
|
||||
* 根据条件查询会员月业绩 推荐达人
|
||||
*/
|
||||
List<CuMemberMonthAchieveExt> queryCuMemberMonthAchieveRecommend(ParentAchieveVO parentAchieveVO);
|
||||
|
||||
/*
|
||||
* @description: 根据条件查询会员月业绩 推荐达人
|
||||
* @author: sui q
|
||||
* @date: 2023/6/7 16:00
|
||||
* @param: null null
|
||||
**/
|
||||
List<CuMemberMonthAchieveExt> queryCuMemberMonthAchieveRepurchase(ParentAchieveVO parentAchieveVO);
|
||||
|
||||
/*
|
||||
* @description: 每天插入会员月表,计算推荐业绩,复购业绩,1-6号计算前7天
|
||||
* @author: sui q
|
||||
* @date: 2023/6/6 14:15
|
||||
* @param: null null
|
||||
**/
|
||||
void insertCuMemberMonthAchieve(@Param("tableName") String tableName, @Param("period") Integer period, @Param("month") String month);
|
||||
/**
|
||||
*
|
||||
* @param pkMember 会员主键
|
||||
* @param achieveTable 表名
|
||||
* @return
|
||||
* 每天插入会员月表,计算推荐业绩,复购业绩,1-6号计算前7天
|
||||
*/
|
||||
CuMemberMonthVo queryCuMemberMonthInfo(@Param("pkMember") Long pkMember,@Param("achieveTable") String achieveTable);
|
||||
void insertCuMemberMonthAchieve(@Param("tableName") String tableName, @Param("period") Integer period, @Param("month") String month);
|
||||
|
||||
/**
|
||||
* 查询会员真实业绩
|
||||
*
|
||||
* @param pkMember
|
||||
* @param achieveTable
|
||||
* @return
|
||||
*/
|
||||
RealPerformanceVo queryCuMemberMonthAchieveInfo(@Param("pkMember") Long pkMember,@Param("achieveTable") String achieveTable);
|
||||
RealPerformanceVo queryCuMemberMonthAchieveInfo(@Param("pkMember") Long pkMember, @Param("achieveTable") String achieveTable);
|
||||
}
|
||||
|
|
|
@ -3,75 +3,40 @@ package com.hzs.member.achieve.service;
|
|||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.hzs.common.domain.member.achieve.CuMemberMonthAchieve;
|
||||
import com.hzs.common.domain.member.ext.CuMemberMonthAchieveExt;
|
||||
import com.hzs.member.achieve.controller.vo.MemberMonthAchieveVO;
|
||||
import com.hzs.member.achieve.controller.vo.ParentAchieveVO;
|
||||
import com.hzs.member.achieve.controller.vo.RealPerformanceVo;
|
||||
import com.hzs.member.achieve.vo.CuMemberMonthVo;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员月数据 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-06-06
|
||||
*/
|
||||
public interface ICuMemberMonthAchieveService extends IService<CuMemberMonthAchieve> {
|
||||
|
||||
|
||||
/*
|
||||
* @description: 每日生成业绩、月表统计数据
|
||||
* @author: sui q
|
||||
* @date: 2023/9/1 9:50
|
||||
* @param: null null
|
||||
**/
|
||||
/**
|
||||
* 每日生成业绩、月表统计数据
|
||||
*/
|
||||
void insertCuMemberAchieveByEveryDay(Date settleDate);
|
||||
|
||||
/*
|
||||
* @description: 每天插入会员月表,计算推荐业绩,复购业绩,1-6号计算前7天
|
||||
* @author: sui q
|
||||
* @date: 2023/6/6 14:15
|
||||
* @param: null null
|
||||
**/
|
||||
/**
|
||||
* 每天插入会员月表,计算推荐业绩,复购业绩,1-6号计算前7天
|
||||
*/
|
||||
void insertCuMemberMonthAchieve(Date settleDate);
|
||||
|
||||
/*
|
||||
* @description: 每天统计月表数据
|
||||
* @author: sui q
|
||||
* @date: 2023/8/29 10:31
|
||||
* @param: null null
|
||||
**/
|
||||
/**
|
||||
* 每天统计月表数据
|
||||
*/
|
||||
void insertCuMemberCuMemberMonthYearAchieve(Date settleDate);
|
||||
|
||||
/*
|
||||
* @description: 根据条件查询会员月业绩
|
||||
* @author: sui q
|
||||
* @date: 2023/6/7 16:00
|
||||
* @param: null null
|
||||
**/
|
||||
List<CuMemberMonthAchieveExt> queryCuMemberMonthAchieveRecommend(ParentAchieveVO parentAchieveVO);
|
||||
|
||||
/*
|
||||
* @description: 根据条件查询会员月业绩 推荐达人
|
||||
* @author: sui q
|
||||
* @date: 2023/6/7 16:00
|
||||
* @param: null null
|
||||
**/
|
||||
List<CuMemberMonthAchieveExt> queryCuMemberMonthAchieveRepurchase(ParentAchieveVO parentAchieveVO);
|
||||
|
||||
/**
|
||||
*
|
||||
* @param pkMember 会员主键
|
||||
* @param achieveTable 表名
|
||||
* @return
|
||||
* 根据条件查询会员月业绩
|
||||
*/
|
||||
CuMemberMonthVo queryCuMemberMonthInfo(Long pkMember, String achieveTable);
|
||||
List<CuMemberMonthAchieveExt> queryCuMemberMonthAchieveRecommend(ParentAchieveVO parentAchieveVO);
|
||||
|
||||
/**
|
||||
* 查询会员真实业绩
|
||||
*
|
||||
* @param pkMember
|
||||
* @param achieveTable
|
||||
* @return
|
||||
|
|
|
@ -18,7 +18,6 @@ import com.hzs.member.achieve.service.ICuMemberAchieveService;
|
|||
import com.hzs.member.achieve.service.ICuMemberMonthAchieveService;
|
||||
import com.hzs.member.achieve.service.ICuMemberSettlePeriodService;
|
||||
import com.hzs.member.achieve.service.ICuMemberTreeService;
|
||||
import com.hzs.member.achieve.vo.CuMemberMonthVo;
|
||||
import com.hzs.member.base.service.ICuHonorWallService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
@ -27,24 +26,19 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
import java.util.*;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员月数据 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-06-06
|
||||
*/
|
||||
@Service
|
||||
public class CuMemberMonthAchieveServiceImpl extends ServiceImpl<CuMemberMonthAchieveMapper, CuMemberMonthAchieve> implements ICuMemberMonthAchieveService {
|
||||
|
||||
@Autowired
|
||||
private ICuMemberSettlePeriodService cuMemberSettlePeriodService;
|
||||
private ICuMemberSettlePeriodService iCuMemberSettlePeriodService;
|
||||
@Autowired
|
||||
private ICuHonorWallService cuHonorWallService;
|
||||
private ICuHonorWallService iCuHonorWallService;
|
||||
@Autowired
|
||||
private ICuMemberTreeService cuMemberTreeService;
|
||||
private ICuMemberTreeService iCuMemberTreeService;
|
||||
@Autowired
|
||||
private ICuMemberAchieveService cuMemberAchieveService;
|
||||
private ICuMemberAchieveService iCuMemberAchieveService;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
|
@ -66,12 +60,12 @@ public class CuMemberMonthAchieveServiceImpl extends ServiceImpl<CuMemberMonthAc
|
|||
String table = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(settleDateStr);
|
||||
// 获得当前月第一天
|
||||
String currentMonthDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.currentMonthFirstDate(settleDate));
|
||||
CuMemberSettlePeriod cuMemberSettlePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(currentMonthDate);
|
||||
CuMemberSettlePeriod cuMemberSettlePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(currentMonthDate);
|
||||
if (day <= 6) {
|
||||
// 计算上月
|
||||
String beforeFirstMonthDate = DateUtils.beforeMonthFirstDateStr(settleDate);
|
||||
String beforeTable = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(beforeFirstMonthDate);
|
||||
CuMemberSettlePeriod beforePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeFirstMonthDate);
|
||||
CuMemberSettlePeriod beforePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeFirstMonthDate);
|
||||
baseMapper.insertCuMemberMonthAchieve(beforeTable, beforePeriod.getPkId(), DateUtils.getMonth(beforeFirstMonthDate));
|
||||
}
|
||||
// 计算当前月
|
||||
|
@ -80,7 +74,7 @@ public class CuMemberMonthAchieveServiceImpl extends ServiceImpl<CuMemberMonthAc
|
|||
// 每月7号发放徽章,发放上个月的
|
||||
if (day == 7) {
|
||||
// 查询徽章
|
||||
List<CuHonorWall> cuHonorWallList = cuHonorWallService.queryCuHonorWall();
|
||||
List<CuHonorWall> cuHonorWallList = iCuHonorWallService.queryCuHonorWall();
|
||||
Map<String, CuHonorWall> honorWallMap = new HashMap<>();
|
||||
cuHonorWallList.forEach(cuHonorWall -> {
|
||||
String key = cuHonorWall.getPkCountry().toString() + cuHonorWall.getType() + cuHonorWall.getValue();
|
||||
|
@ -89,7 +83,7 @@ public class CuMemberMonthAchieveServiceImpl extends ServiceImpl<CuMemberMonthAc
|
|||
List<CuMemberHonorWall> cuMemberHonorWallList = new ArrayList<>();
|
||||
// 上月期间,作为结束期间
|
||||
String beforeFirstMonthDate = DateUtils.beforeMonthFirstDateStr(settleDate);
|
||||
CuMemberSettlePeriod beforePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeFirstMonthDate);
|
||||
CuMemberSettlePeriod beforePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeFirstMonthDate);
|
||||
// 月徽章
|
||||
grantHonorWall(beforePeriod.getPkId(), cuMemberSettlePeriod.getPkId(), settleMonth,
|
||||
HonorWallType.RECOMMEND_MONTH.getValue(), HonorWallType.ANTIFADING_MONTH.getValue(), honorWallMap, cuMemberHonorWallList);
|
||||
|
@ -97,14 +91,14 @@ public class CuMemberMonthAchieveServiceImpl extends ServiceImpl<CuMemberMonthAc
|
|||
if (month == 1 || month == 4 || month == 7 || month == 10) {
|
||||
// 3个月期间,作为开始期间
|
||||
String quarterFirstMonthDate = DateUtils.beforeMonthFirstDateStr(3, settleDate);
|
||||
CuMemberSettlePeriod quarterPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(quarterFirstMonthDate);
|
||||
CuMemberSettlePeriod quarterPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(quarterFirstMonthDate);
|
||||
grantHonorWall(quarterPeriod.getPkId(), cuMemberSettlePeriod.getPkId(), settleMonth,
|
||||
HonorWallType.RECOMMEND_QUARTER.getValue(), HonorWallType.ANTIFADING_QUARTER.getValue(), honorWallMap, cuMemberHonorWallList);
|
||||
if (month == 1) {
|
||||
// 再发年度徽章
|
||||
// 3个月期间,作为开始期间
|
||||
String yearFirstMonthDate = DateUtils.beforeMonthFirstDateStr(12, settleDate);
|
||||
CuMemberSettlePeriod yearPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yearFirstMonthDate);
|
||||
CuMemberSettlePeriod yearPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yearFirstMonthDate);
|
||||
if (yearPeriod != null) {
|
||||
grantHonorWall(yearPeriod.getPkId(), cuMemberSettlePeriod.getPkId(), settleMonth,
|
||||
HonorWallType.RECOMMEND_QUARTER.getValue(), HonorWallType.ANTIFADING_QUARTER.getValue(), honorWallMap, cuMemberHonorWallList);
|
||||
|
@ -121,18 +115,18 @@ public class CuMemberMonthAchieveServiceImpl extends ServiceImpl<CuMemberMonthAc
|
|||
// 月表
|
||||
int day = DateUtils.currentDay(settleDate);
|
||||
String monthTableName = TableNameConstants.CU_MEMBER_MONTH + DateUtils.getMonth(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, settleDate));
|
||||
Integer number = cuMemberTreeService.queryExistOracleTable(monthTableName);
|
||||
Integer number = iCuMemberTreeService.queryExistOracleTable(monthTableName);
|
||||
if (number == null || number <= 0) {
|
||||
// 创建表
|
||||
cuMemberAchieveService.createCuMemberMonthTable(monthTableName);
|
||||
cuMemberTreeService.createCuMemberTreeDayOnlyIndex(monthTableName);
|
||||
cuMemberTreeService.createCuMemberTreeParentIndex(monthTableName);
|
||||
cuMemberTreeService.createCuMemberTreePlaceIndex(monthTableName);
|
||||
iCuMemberAchieveService.createCuMemberMonthTable(monthTableName);
|
||||
iCuMemberTreeService.createCuMemberTreeDayOnlyIndex(monthTableName);
|
||||
iCuMemberTreeService.createCuMemberTreeParentIndex(monthTableName);
|
||||
iCuMemberTreeService.createCuMemberTreePlaceIndex(monthTableName);
|
||||
}
|
||||
if (day >= 1 && day <= 6) {
|
||||
cuMemberAchieveService.mergeCuMemberMonth(day, DateUtils.beforeMonthLastDateStr(settleDate));
|
||||
iCuMemberAchieveService.mergeCuMemberMonth(day, DateUtils.beforeMonthLastDateStr(settleDate));
|
||||
}
|
||||
cuMemberAchieveService.mergeCuMemberMonth(0, DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD, settleDate));
|
||||
iCuMemberAchieveService.mergeCuMemberMonth(0, DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD, settleDate));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -153,52 +147,29 @@ public class CuMemberMonthAchieveServiceImpl extends ServiceImpl<CuMemberMonthAc
|
|||
date = DateUtils.beforeMonthFirstDate(settleDate);
|
||||
}
|
||||
String currentMonthDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date);
|
||||
CuMemberSettlePeriod cuMemberSettlePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(currentMonthDate);
|
||||
CuMemberSettlePeriod cuMemberSettlePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(currentMonthDate);
|
||||
parentAchieveVO.setStartPeriod(cuMemberSettlePeriod.getPkId());
|
||||
parentAchieveVO.setEndPeriod(cuMemberSettlePeriod.getPkId());
|
||||
} else {
|
||||
// 季度
|
||||
// 上月期间,作为结束期间
|
||||
String beforeFirstMonthDate = DateUtils.beforeMonthFirstDateStr(settleDate);
|
||||
CuMemberSettlePeriod beforePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeFirstMonthDate);
|
||||
CuMemberSettlePeriod beforePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeFirstMonthDate);
|
||||
parentAchieveVO.setEndPeriod(beforePeriod.getPkId());
|
||||
if (Objects.equals(HonorWallType.RECOMMEND_QUARTER.getValue(), parentAchieveVO.getWallType()) ||
|
||||
Objects.equals(HonorWallType.ANTIFADING_QUARTER.getValue(), parentAchieveVO.getWallType())) {
|
||||
// 3个月期间,作为开始期间
|
||||
String quarterFirstMonthDate = DateUtils.beforeMonthFirstDateStr(3, settleDate);
|
||||
CuMemberSettlePeriod quarterPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(quarterFirstMonthDate);
|
||||
CuMemberSettlePeriod quarterPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(quarterFirstMonthDate);
|
||||
parentAchieveVO.setStartPeriod(quarterPeriod.getPkId());
|
||||
} else {
|
||||
String yearFirstMonthDate = DateUtils.beforeMonthFirstDateStr(12, settleDate);
|
||||
CuMemberSettlePeriod yearPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yearFirstMonthDate);
|
||||
CuMemberSettlePeriod yearPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yearFirstMonthDate);
|
||||
parentAchieveVO.setStartPeriod(yearPeriod.getPkId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CuMemberMonthAchieveExt> queryCuMemberMonthAchieveRepurchase(ParentAchieveVO parentAchieveVO) {
|
||||
packageParamPeriod(parentAchieveVO);
|
||||
return baseMapper.queryCuMemberMonthAchieveRepurchase(parentAchieveVO);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param pkMember 会员主键
|
||||
* @param achieveTable 表名
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public CuMemberMonthVo queryCuMemberMonthInfo(Long pkMember, String achieveTable) {
|
||||
return baseMapper.queryCuMemberMonthInfo(pkMember, achieveTable);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询会员真实业绩
|
||||
*
|
||||
* @param pkMember
|
||||
* @param achieveTable
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public RealPerformanceVo queryCuMemberMonthAchieveInfo(Long pkMember, String achieveTable) {
|
||||
return baseMapper.queryCuMemberMonthAchieveInfo(pkMember, achieveTable);
|
||||
|
|
|
@ -1,133 +0,0 @@
|
|||
package com.hzs.member.achieve.vo;/**
|
||||
* @Description:
|
||||
* @Author: yuhui
|
||||
* @Time: 2023/8/30 10:41
|
||||
* @Classname: CuMemberMonthVo
|
||||
* @PackageName: com.hzs.member.achieve.vo
|
||||
*/
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
*@BelongsProject: hzs_cloud
|
||||
*@BelongsPackage: com.hzs.member.achieve.vo
|
||||
*@Author: yh
|
||||
*@CreateTime: 2023-08-30 10:41
|
||||
*@Description: TODO
|
||||
*@Version: 1.0
|
||||
*/
|
||||
@Data
|
||||
public class CuMemberMonthVo {
|
||||
|
||||
/**
|
||||
* 用户主键
|
||||
*/
|
||||
private Long pkMember;
|
||||
|
||||
/**
|
||||
* 会员推荐主键
|
||||
*/
|
||||
private Long pkParent;
|
||||
|
||||
/**
|
||||
* 会员安置主键
|
||||
*/
|
||||
private Long pkPlaceParent;
|
||||
|
||||
/**
|
||||
* 安置部门
|
||||
*/
|
||||
private Integer placeDept;
|
||||
|
||||
/**
|
||||
* 会员编号
|
||||
*/
|
||||
private String memberCode;
|
||||
|
||||
/**
|
||||
* 会员名称
|
||||
*/
|
||||
private String memberName;
|
||||
|
||||
/**
|
||||
* 会员类型
|
||||
*/
|
||||
private Integer customerType;
|
||||
|
||||
/**
|
||||
* 电话
|
||||
*/
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 等级
|
||||
*/
|
||||
private Integer pkGrade;
|
||||
|
||||
/**
|
||||
* 奖衔
|
||||
*/
|
||||
private Integer pkAwards;
|
||||
|
||||
|
||||
/**
|
||||
* 团队
|
||||
*/
|
||||
private Long pkCenterCode;
|
||||
|
||||
/**
|
||||
* 体系
|
||||
*/
|
||||
private Long pkVertex;
|
||||
|
||||
/**
|
||||
* 结算等级
|
||||
*/
|
||||
private Integer pkSettleCountry;
|
||||
|
||||
/**
|
||||
* A区首购累计业绩
|
||||
*/
|
||||
private BigDecimal aSumPv;
|
||||
|
||||
/**
|
||||
* B区首购累计业绩
|
||||
*/
|
||||
private BigDecimal bSumPv;
|
||||
|
||||
/**
|
||||
* A区复购累计业绩
|
||||
*/
|
||||
private BigDecimal repASumPv;
|
||||
|
||||
/**
|
||||
* B区复购累计业绩
|
||||
*/
|
||||
private BigDecimal repBSumPv;
|
||||
|
||||
/**
|
||||
* 注册累计业绩
|
||||
*/
|
||||
private BigDecimal registerPv;
|
||||
|
||||
/**
|
||||
* 升级累计业绩
|
||||
*/
|
||||
private BigDecimal upgradePv;
|
||||
/**
|
||||
* 复购累计业绩
|
||||
*/
|
||||
private BigDecimal repurchasePv;
|
||||
|
||||
/**
|
||||
* 嗨粉累计业绩
|
||||
*/
|
||||
private BigDecimal hiFunPv;
|
||||
|
||||
/**
|
||||
* 商城累计业绩
|
||||
*/
|
||||
private BigDecimal mallPv;
|
||||
}
|
|
@ -71,26 +71,6 @@
|
|||
on a.pk_member=cu.pk_id
|
||||
where rownum <= 3
|
||||
</select>
|
||||
<select id="queryCuMemberMonthAchieveRepurchase" resultMap="CuMemberMonthAchieve">
|
||||
select rownum rank, nvl(cu.nick_name, cu.member_name) member_name, cu.head_path,a.money from (
|
||||
select pk_member,sum(repurchase_money) money from CU_MEMBER_MONTH_ACHIEVE
|
||||
where del_flag = 0 and pk_country=#{pkCountry}
|
||||
and period between #{startPeriod} and #{endPeriod}
|
||||
group by pk_member
|
||||
order by sum(repurchase_money) desc) a
|
||||
inner join cu_member cu
|
||||
on a.pk_member=cu.pk_id
|
||||
where rownum <= 3
|
||||
</select>
|
||||
|
||||
|
||||
<select id="queryCuMemberMonthInfo" resultType="com.hzs.member.achieve.vo.CuMemberMonthVo">
|
||||
select PK_MEMBER pkMember,PK_PARENT pkParent,PK_PLACE_PARENT pkPlaceParent,PLACE_DEPT placeDept,MEMBER_CODE memberCode,MEMBER_NAME memberName,
|
||||
CUSTOMER_TYPE customerType, PHONE phone ,PK_GRADE pkGrade ,PK_AWARDS pkAwards,PK_TEAM_CODE pkTeamCode,PK_CENTER_CODE pkCenterCode,
|
||||
PK_VERTEX pkVertex ,PK_SETTLE_COUNTRY pkSettleCountry ,A_SUM_PV aSumPv,B_SUM_PV bSumPv,REP_A_SUM_PV repASumPv, REP_B_SUM_PV repBSumPv,
|
||||
REGISTER_PV registerPv, UPGRADE_PV upgradePv,REPURCHASE_PV repurchasePv,HI_FUN_PV hiFunPv,MALL_PV mallPv
|
||||
from ${achieveTable} where PK_MEMBER = #{pkMember}
|
||||
</select>
|
||||
|
||||
<select id="queryCuMemberMonthAchieveInfo" resultType="com.hzs.member.achieve.controller.vo.RealPerformanceVo">
|
||||
select nvl(sum(A_NEW_PV),0) firstLeftPurchaseTotal,nvl(sum(B_NEW_PV),0) firstRightPurchaseTotal,nvl(sum(REP_A_NEW_PV),0) firstLeftRepurchaseTotal,nvl(sum(REP_B_NEW_PV),0) firstRightRepurchaseTotal
|
||||
|
|
|
@ -12,12 +12,7 @@ import lombok.EqualsAndHashCode;
|
|||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员月数据
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-06-06
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
|
Loading…
Reference in New Issue