## Opt - 业绩列表
This commit is contained in:
parent
03d42eb912
commit
de89067c08
|
@ -2,9 +2,11 @@ package com.hzs.member.achieve.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.member.achieve.CuMemberSettlePeriod;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员结算期间 Mapper 接口
|
* 会员结算期间 Mapper 接口
|
||||||
*/
|
*/
|
||||||
public interface CuMemberSettlePeriodMapper extends BaseMapper<CuMemberSettlePeriod> {
|
public interface CuMemberSettlePeriodMapper extends BaseMapper<CuMemberSettlePeriod> {
|
||||||
|
CuMemberSettlePeriod getLastDayCuMemberSettlePeriod(@Param("date") String date);
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,4 +22,8 @@ public interface ICuMemberSettlePeriodService extends IService<CuMemberSettlePer
|
||||||
*/
|
*/
|
||||||
List<CuMemberSettlePeriod> queryCuMemberSettlePeriod();
|
List<CuMemberSettlePeriod> queryCuMemberSettlePeriod();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取指定年月最后一天的期间配置
|
||||||
|
*/
|
||||||
|
CuMemberSettlePeriod getLastDayCuMemberSettlePeriod(String date);
|
||||||
}
|
}
|
||||||
|
|
|
@ -165,4 +165,9 @@ public class CuMemberSettlePeriodServiceImpl extends ServiceImpl<CuMemberSettleP
|
||||||
return baseMapper.selectList(queryWrapper);
|
return baseMapper.selectList(queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CuMemberSettlePeriod getLastDayCuMemberSettlePeriod(String date) {
|
||||||
|
return baseMapper.getLastDayCuMemberSettlePeriod(date);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@ import com.hzs.common.core.web.domain.AjaxResult;
|
||||||
import com.hzs.common.core.web.page.TableDataInfo;
|
import com.hzs.common.core.web.page.TableDataInfo;
|
||||||
import com.hzs.common.security.utils.SecurityUtils;
|
import com.hzs.common.security.utils.SecurityUtils;
|
||||||
import com.hzs.retail.member.param.MarketDynamicsQueryDateParam;
|
import com.hzs.retail.member.param.MarketDynamicsQueryDateParam;
|
||||||
|
import com.hzs.retail.member.param.PerformanceQueryParam;
|
||||||
import com.hzs.retail.member.service.ICuMemberRetailAchieveService;
|
import com.hzs.retail.member.service.ICuMemberRetailAchieveService;
|
||||||
import com.hzs.retail.member.vo.CuMemberRetailAchieveVO;
|
import com.hzs.retail.member.vo.CuMemberRetailAchieveVO;
|
||||||
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO;
|
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO;
|
||||||
|
@ -174,4 +175,12 @@ public class ApiRetailHomePageController extends BaseController {
|
||||||
public AjaxResult getMarketDynamics(@RequestBody MarketDynamicsQueryDateParam param) {
|
public AjaxResult getMarketDynamics(@RequestBody MarketDynamicsQueryDateParam param) {
|
||||||
return AjaxResult.success(retailAchieveService.getMarketDynamics(param));
|
return AjaxResult.success(retailAchieveService.getMarketDynamics(param));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 业绩列表
|
||||||
|
*/
|
||||||
|
@PostMapping("/performance-List")
|
||||||
|
public TableDataInfo performanceList(@RequestBody PerformanceQueryParam param) {
|
||||||
|
return getDataTable(retailAchieveService.getPerformanceList(param));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,8 +6,10 @@ import com.hzs.retail.member.param.MarketDynamicsQueryDateParam;
|
||||||
import com.hzs.retail.member.vo.CuMemberRetailAchieveVO;
|
import com.hzs.retail.member.vo.CuMemberRetailAchieveVO;
|
||||||
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO;
|
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO;
|
||||||
import com.hzs.retail.member.vo.MarketDynamicsDetailVO;
|
import com.hzs.retail.member.vo.MarketDynamicsDetailVO;
|
||||||
|
import com.hzs.retail.member.vo.PerformanceVO;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -121,4 +123,20 @@ public interface CuMemberRetailRangeMapper extends BaseMapper<CuMemberRetailRang
|
||||||
*/
|
*/
|
||||||
List<CuMemberRetailAchieveVO> selectMemberSmallBoxList(CuMemberRetailAchieveVO param);
|
List<CuMemberRetailAchieveVO> selectMemberSmallBoxList(CuMemberRetailAchieveVO param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 按等级值获取伞下会员id
|
||||||
|
* @param userId
|
||||||
|
* @param gradeValueList
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<Long> getUmbrellaMemberListWithGradeValue(@Param("userId") Long userId, @Param("gradeValueList") List<Integer> gradeValueList);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 业绩列表
|
||||||
|
* @param memberIdList
|
||||||
|
* @param targetDayStart
|
||||||
|
* @param targetDayEnd
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<PerformanceVO> getPerformanceList(@Param("tableName") String tableName, @Param("memberIdList") List<Long> memberIdList, @Param("targetDayStart") Date targetDayStart, @Param("targetDayEnd") Date targetDayEnd);
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
package com.hzs.retail.member.param;
|
||||||
|
|
||||||
|
import lombok.*;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@ToString
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class PerformanceQueryParam implements Serializable {
|
||||||
|
private String year;
|
||||||
|
private String month;
|
||||||
|
|
||||||
|
private Integer pageNum = 1;
|
||||||
|
private Integer pageSize = 10;
|
||||||
|
}
|
|
@ -3,10 +3,12 @@ package com.hzs.retail.member.service;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.hzs.common.domain.member.achieve.CuMemberRetailRange;
|
import com.hzs.common.domain.member.achieve.CuMemberRetailRange;
|
||||||
import com.hzs.retail.member.param.MarketDynamicsQueryDateParam;
|
import com.hzs.retail.member.param.MarketDynamicsQueryDateParam;
|
||||||
|
import com.hzs.retail.member.param.PerformanceQueryParam;
|
||||||
import com.hzs.retail.member.utils.PageResult;
|
import com.hzs.retail.member.utils.PageResult;
|
||||||
import com.hzs.retail.member.vo.CuMemberRetailAchieveVO;
|
import com.hzs.retail.member.vo.CuMemberRetailAchieveVO;
|
||||||
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO;
|
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO;
|
||||||
import com.hzs.retail.member.vo.MarketDynamicsDetailVO;
|
import com.hzs.retail.member.vo.MarketDynamicsDetailVO;
|
||||||
|
import com.hzs.retail.member.vo.PerformanceVO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -99,5 +101,5 @@ public interface ICuMemberRetailAchieveService extends IService<CuMemberRetailRa
|
||||||
PageResult<MarketDynamicsDetailVO> getMarketDynamics(MarketDynamicsQueryDateParam param);
|
PageResult<MarketDynamicsDetailVO> getMarketDynamics(MarketDynamicsQueryDateParam param);
|
||||||
|
|
||||||
|
|
||||||
|
List<PerformanceVO> getPerformanceList(PerformanceQueryParam param);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,25 +5,30 @@ import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.hzs.common.core.constant.TableNameConstants;
|
import com.hzs.common.core.constant.TableNameConstants;
|
||||||
|
import com.hzs.common.core.enums.EGrade;
|
||||||
import com.hzs.common.core.enums.EYesNo;
|
import com.hzs.common.core.enums.EYesNo;
|
||||||
import com.hzs.common.core.utils.DateUtils;
|
import com.hzs.common.core.utils.DateUtils;
|
||||||
|
import com.hzs.common.core.utils.PageUtils;
|
||||||
import com.hzs.common.domain.member.achieve.CuMemberRetailRange;
|
import com.hzs.common.domain.member.achieve.CuMemberRetailRange;
|
||||||
import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod;
|
import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod;
|
||||||
import com.hzs.common.domain.member.base.CuMember;
|
import com.hzs.common.domain.member.base.CuMember;
|
||||||
import com.hzs.common.security.utils.SecurityUtils;
|
import com.hzs.common.security.utils.SecurityUtils;
|
||||||
import com.hzs.member.account.service.ICuMemberBaseService;
|
import com.hzs.member.account.service.ICuMemberBaseService;
|
||||||
import com.hzs.member.achieve.service.ICuMemberSettlePeriodService;
|
import com.hzs.member.achieve.service.ICuMemberSettlePeriodService;
|
||||||
|
import com.hzs.member.achieve.service.ICuMemberTreeService;
|
||||||
import com.hzs.member.base.service.ICuMemberService;
|
import com.hzs.member.base.service.ICuMemberService;
|
||||||
|
import com.hzs.member.base.service.impl.CuMemberServiceImpl;
|
||||||
import com.hzs.retail.member.mapper.CuMemberRetailRangeMapper;
|
import com.hzs.retail.member.mapper.CuMemberRetailRangeMapper;
|
||||||
import com.hzs.retail.member.param.MarketDynamicsQueryDateParam;
|
import com.hzs.retail.member.param.MarketDynamicsQueryDateParam;
|
||||||
|
import com.hzs.retail.member.param.PerformanceQueryParam;
|
||||||
import com.hzs.retail.member.service.ICuMemberRetailAchieveService;
|
import com.hzs.retail.member.service.ICuMemberRetailAchieveService;
|
||||||
import com.hzs.retail.member.utils.DataStatisticsUtil;
|
import com.hzs.retail.member.utils.DataStatisticsUtil;
|
||||||
import com.hzs.retail.member.utils.PageResult;
|
import com.hzs.retail.member.utils.PageResult;
|
||||||
import com.hzs.retail.member.vo.CuMemberRetailAchieveVO;
|
import com.hzs.retail.member.vo.*;
|
||||||
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO;
|
import com.hzs.system.config.IGradeServiceApi;
|
||||||
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO;
|
import com.hzs.system.config.dto.GradeDTO;
|
||||||
import com.hzs.retail.member.vo.MarketDynamicsDetailVO;
|
|
||||||
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.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
@ -47,6 +52,14 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
|
||||||
private ICuMemberBaseService iCuMemberBaseService;
|
private ICuMemberBaseService iCuMemberBaseService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberSettlePeriodService iCuMemberSettlePeriodService;
|
private ICuMemberSettlePeriodService iCuMemberSettlePeriodService;
|
||||||
|
@Autowired
|
||||||
|
private ICuMemberTreeService memberTreeService;
|
||||||
|
@Autowired
|
||||||
|
private CuMemberServiceImpl cuMemberService;
|
||||||
|
|
||||||
|
|
||||||
|
@DubboReference
|
||||||
|
private IGradeServiceApi gradeServiceApi;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CuMemberRetailAchieveVO selectMemberAchieve(Long pkMember, Integer pkCountry, Integer systemType) {
|
public CuMemberRetailAchieveVO selectMemberAchieve(Long pkMember, Integer pkCountry, Integer systemType) {
|
||||||
|
@ -457,6 +470,91 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
|
||||||
return DataStatisticsUtil.getMarketDynamicsAssemblyData(detailVOList, param);
|
return DataStatisticsUtil.getMarketDynamicsAssemblyData(detailVOList, param);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<PerformanceVO> getPerformanceList(PerformanceQueryParam param) {
|
||||||
|
// 1.拼年月
|
||||||
|
Date targetDate = null;
|
||||||
|
Date targetDayStart = null;
|
||||||
|
Date targetDayEnd = null;
|
||||||
|
CuMemberSettlePeriod settlePeriod = null;
|
||||||
|
if(isCurrentMonth(param.getYear(), param.getMonth())) {
|
||||||
|
targetDate = DateUtils.beforeDate(1, ChronoUnit.DAYS, DateUtils.currentDate());
|
||||||
|
targetDayStart = DateUtils.getFirstDayOfMonth(targetDate);
|
||||||
|
targetDayEnd = DateUtils.getLastDayOfMonth(targetDate);
|
||||||
|
settlePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, targetDate));
|
||||||
|
}else{
|
||||||
|
settlePeriod = iCuMemberSettlePeriodService.getLastDayCuMemberSettlePeriod(param.getYear() + "-" + param.getMonth());
|
||||||
|
targetDayStart = DateUtils.getFirstDayOfMonth(settlePeriod.getSettleDate());
|
||||||
|
targetDayEnd = DateUtils.getLastDayOfMonth(settlePeriod.getSettleDate());
|
||||||
|
|
||||||
|
}
|
||||||
|
if(ObjectUtil.isEmpty(settlePeriod)){
|
||||||
|
return Collections.emptyList();
|
||||||
|
}
|
||||||
|
String settleTable = TableNameConstants.CU_MEMBER_RETAIL_RANGE + settlePeriod.getPkId();
|
||||||
|
Integer num = memberTreeService.queryExistOracleTable(settleTable);
|
||||||
|
if (ObjectUtil.isEmpty(num) || num <= 0) {
|
||||||
|
return Collections.emptyList();
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 获取当前用户的等级
|
||||||
|
* 总公司 -> 查看自己 + 伞下代理、店主,以业绩大排序(会员姓名、会员等级、销售业绩、销售盒数、复购业绩、复购盒数)
|
||||||
|
* 代理 -> 查看自己 + 伞下代理、店主
|
||||||
|
* 店主 -> 查看自己 + 直推
|
||||||
|
*/
|
||||||
|
CuMember member = cuMemberService.getMember(SecurityUtils.getUserId());
|
||||||
|
GradeDTO gradeDTO = gradeServiceApi.getGrade(member.getPkSettleGrade()).getData();
|
||||||
|
List<Long> pkMemberList = null;
|
||||||
|
List<Integer> gradeValueList = null;
|
||||||
|
if(
|
||||||
|
EGrade.COMPANY.getValue() == gradeDTO.getGradeValue() // 总公司
|
||||||
|
||
|
||||||
|
(EGrade.DIRECTOR.getValue() == gradeDTO.getGradeValue()
|
||||||
|
|| EGrade.REGION.getValue() == gradeDTO.getGradeValue()) // 代理
|
||||||
|
){
|
||||||
|
gradeValueList = Arrays.asList(EGrade.DIRECTOR.getValue(), EGrade.REGION.getValue(), EGrade.S_VIP.getValue(), EGrade.VIP.getValue());
|
||||||
|
pkMemberList = baseMapper.getUmbrellaMemberListWithGradeValue(member.getPkId(), gradeValueList);
|
||||||
|
}else if (
|
||||||
|
EGrade.S_VIP.getValue() == gradeDTO.getGradeValue()
|
||||||
|
|| EGrade.VIP.getValue() == gradeDTO.getGradeValue()
|
||||||
|
){
|
||||||
|
pkMemberList = baseMapper.selectDirectPushByPkMember(member.getPkId(), SecurityUtils.getSystemType());
|
||||||
|
}
|
||||||
|
List<PerformanceVO> meList = baseMapper.getPerformanceList(settleTable, Collections.singletonList(member.getPkId()), targetDayStart, targetDayEnd);
|
||||||
|
PageUtils.startPage(param.getPageNum(), param.getPageSize());
|
||||||
|
List<PerformanceVO> otherList = new ArrayList<>();
|
||||||
|
if(CollUtil.isNotEmpty(pkMemberList)){
|
||||||
|
otherList = baseMapper.getPerformanceList(settleTable, pkMemberList, targetDayStart, targetDayEnd);
|
||||||
|
}
|
||||||
|
PageUtils.clearPage();
|
||||||
|
if(param.getPageNum() == 1){
|
||||||
|
meList.addAll(otherList);
|
||||||
|
return meList;
|
||||||
|
}else{
|
||||||
|
return otherList;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static boolean isCurrentMonth(String yearStr, String monthStr) {
|
||||||
|
if (yearStr == null || monthStr == null || yearStr.trim().isEmpty() || monthStr.trim().isEmpty()) {
|
||||||
|
throw new IllegalArgumentException("年份和月份不能为空");
|
||||||
|
}
|
||||||
|
int year;
|
||||||
|
int month;
|
||||||
|
try {
|
||||||
|
year = Integer.parseInt(yearStr.trim());
|
||||||
|
month = Integer.parseInt(monthStr.trim());
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
throw new IllegalArgumentException("年份和月份必须是有效的数字字符串", e);
|
||||||
|
}
|
||||||
|
if (year < 0 || month < 1 || month > 12) {
|
||||||
|
throw new IllegalArgumentException("年份不能为负数,月份必须在1-12之间");
|
||||||
|
}
|
||||||
|
LocalDate currentDate = LocalDate.now();
|
||||||
|
int currentYear = currentDate.getYear();
|
||||||
|
int currentMonth = currentDate.getMonthValue();
|
||||||
|
return (year == currentYear && month == currentMonth);
|
||||||
|
}
|
||||||
|
|
||||||
private String getDayTableName(String localDate) {
|
private String getDayTableName(String localDate) {
|
||||||
CuMemberSettlePeriod cuMemberSettlePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate);
|
CuMemberSettlePeriod cuMemberSettlePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate);
|
||||||
if (ObjectUtil.isEmpty(cuMemberSettlePeriod)) {
|
if (ObjectUtil.isEmpty(cuMemberSettlePeriod)) {
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
package com.hzs.retail.member.vo;
|
||||||
|
|
||||||
|
import com.hzs.common.core.annotation.BigDecimalFormat;
|
||||||
|
import lombok.*;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@ToString
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class PerformanceVO implements Serializable {
|
||||||
|
/**
|
||||||
|
* 用户id
|
||||||
|
*/
|
||||||
|
private Long id;
|
||||||
|
/**
|
||||||
|
* 用户名称
|
||||||
|
*/
|
||||||
|
private String memberName;
|
||||||
|
/**
|
||||||
|
* 用户等级
|
||||||
|
*/
|
||||||
|
private String memberLevel;
|
||||||
|
/**
|
||||||
|
* 当月业绩
|
||||||
|
*/
|
||||||
|
@BigDecimalFormat
|
||||||
|
private BigDecimal currentMonthPv;
|
||||||
|
/**
|
||||||
|
* 当月盒数
|
||||||
|
*/
|
||||||
|
private Integer currentMonthBoxNum;
|
||||||
|
/**
|
||||||
|
* 复购业绩
|
||||||
|
*/
|
||||||
|
@BigDecimalFormat
|
||||||
|
private BigDecimal repurchasePv;
|
||||||
|
/**
|
||||||
|
* 复购盒数
|
||||||
|
*/
|
||||||
|
private Integer repurchaseBox;
|
||||||
|
}
|
|
@ -712,4 +712,65 @@
|
||||||
</where>
|
</where>
|
||||||
order by totalBoxNum desc, todayPv desc, cu.CREATION_TIME desc, cu.pk_id asc
|
order by totalBoxNum desc, todayPv desc, cu.CREATION_TIME desc, cu.pk_id asc
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getUmbrellaMemberListWithGradeValue" resultType="java.lang.Long">
|
||||||
|
SELECT
|
||||||
|
r.pk_id
|
||||||
|
<!--
|
||||||
|
r.MEMBER_CODE,
|
||||||
|
r.PK_SETTLE_GRADE,
|
||||||
|
bg.GRADE_name
|
||||||
|
-->
|
||||||
|
FROM
|
||||||
|
( SELECT * FROM cu_member cm START WITH cm.pk_id = #{userId} CONNECT BY PRIOR cm.pk_id = cm.pk_parent ORDER BY LEVEL ) r
|
||||||
|
RIGHT JOIN BD_GRADE bg ON bg.PK_ID = r.PK_SETTLE_GRADE
|
||||||
|
where
|
||||||
|
r.DEL_FLAG = 0
|
||||||
|
and r.CATEGORY = 0
|
||||||
|
and r.pk_id != #{userId}
|
||||||
|
and bg.GRADE_VALUE in
|
||||||
|
<foreach collection="gradeValueList" item="gradeValue" separator="," open="(" close=")">
|
||||||
|
#{gradeValue}
|
||||||
|
</foreach>
|
||||||
|
</select>
|
||||||
|
<select id="getPerformanceList" resultType="com.hzs.retail.member.vo.PerformanceVO">
|
||||||
|
SELECT
|
||||||
|
cu.pk_id as id,
|
||||||
|
cu.MEMBER_CODE,
|
||||||
|
cu.MEMBER_NAME,
|
||||||
|
cu.PK_SETTLE_GRADE,
|
||||||
|
grade.GRADE_NAME as memberLevel,
|
||||||
|
cu.PK_AWARDS,
|
||||||
|
awards.AWARDS_NAME,
|
||||||
|
currentMonth.ENABLE_STATUS,
|
||||||
|
NVL( currentMonth.MONTH_CONSUME_PV + currentMonth.TEAM_MONTH_PV, 0 ) currentMonthPv,
|
||||||
|
NVL( currentMonth.MONTH_BOX_NUM + currentMonth.TEAM_MONTH_BOX_NUM, 0 ) currentMonthBoxNum,
|
||||||
|
NVL( repurchasePv, 0 ) repurchasePv,
|
||||||
|
NVL( repurchaseBox, 0 ) repurchaseBox
|
||||||
|
FROM
|
||||||
|
cu_member cu
|
||||||
|
LEFT JOIN ${tableName} currentMonth ON cu.PK_ID = currentMonth.PK_MEMBER
|
||||||
|
AND cu.CATEGORY = 0
|
||||||
|
LEFT JOIN BD_GRADE grade ON grade.PK_ID = cu.PK_SETTLE_GRADE
|
||||||
|
LEFT JOIN BD_AWARDS awards ON awards.PK_ID = cu.PK_AWARDS
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT
|
||||||
|
PK_MEMBER,
|
||||||
|
sum( ORDER_ACHIEVE ) repurchasePv,
|
||||||
|
sum( BOX_NUM ) repurchaseBox
|
||||||
|
FROM
|
||||||
|
sa_order
|
||||||
|
WHERE
|
||||||
|
ORDER_TYPE = 43
|
||||||
|
AND DEL_FLAG = 0
|
||||||
|
AND ORDER_STATUS = 1
|
||||||
|
AND PAY_TIME BETWEEN #{targetDayStart} and #{targetDayEnd}
|
||||||
|
GROUP BY
|
||||||
|
PK_MEMBER
|
||||||
|
) fg ON fg.pk_member = cu.pk_id
|
||||||
|
WHERE cu.pk_id in
|
||||||
|
<foreach collection="memberIdList" item="memberId" separator="," open="(" close=")">
|
||||||
|
#{memberId}
|
||||||
|
</foreach>
|
||||||
|
order by currentMonthPv desc
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -22,5 +22,14 @@
|
||||||
<result column="IS_RETRY" property="isRetry"/>
|
<result column="IS_RETRY" property="isRetry"/>
|
||||||
<result column="PK_COUNTRY" property="pkCountry"/>
|
<result column="PK_COUNTRY" property="pkCountry"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
<select id="getLastDayCuMemberSettlePeriod"
|
||||||
|
resultType="com.hzs.common.domain.member.achieve.CuMemberSettlePeriod">
|
||||||
|
SELECT
|
||||||
|
*
|
||||||
|
FROM
|
||||||
|
( SELECT * FROM CU_MEMBER_SETTLE_PERIOD WHERE to_char( SETTLE_DATE, 'yyyy-mm-dd' ) LIKE #{date} || '%' ORDER BY SETTLE_DATE DESC )
|
||||||
|
WHERE
|
||||||
|
ROWNUM = 1
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -6,6 +6,7 @@ import com.hzs.common.core.web.controller.BaseController;
|
||||||
import com.hzs.common.core.web.domain.AjaxResult;
|
import com.hzs.common.core.web.domain.AjaxResult;
|
||||||
import com.hzs.common.core.web.page.TableDataInfo;
|
import com.hzs.common.core.web.page.TableDataInfo;
|
||||||
import com.hzs.common.domain.system.config.BdAdvertBanner;
|
import com.hzs.common.domain.system.config.BdAdvertBanner;
|
||||||
|
import com.hzs.common.security.utils.SecurityUtils;
|
||||||
import com.hzs.system.config.service.IBdAdvertBannerService;
|
import com.hzs.system.config.service.IBdAdvertBannerService;
|
||||||
import com.hzs.system.config.vo.ApiAdvertBannerVO;
|
import com.hzs.system.config.vo.ApiAdvertBannerVO;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
@ -31,7 +32,7 @@ public class ApiBdAdvertBannerController extends BaseController {
|
||||||
**/
|
**/
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
public TableDataInfo list(BdAdvertBanner banner) {
|
public TableDataInfo list(BdAdvertBanner banner) {
|
||||||
List<BdAdvertBanner> list = iBdAdvertBannerService.listData(banner);
|
List<BdAdvertBanner> list = iBdAdvertBannerService.listData(banner, SecurityUtils.getUserId());
|
||||||
return getDataTable(list);
|
return getDataTable(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -45,7 +46,7 @@ public class ApiBdAdvertBannerController extends BaseController {
|
||||||
// 返回结果
|
// 返回结果
|
||||||
List<ApiAdvertBannerVO> resultList = new ArrayList<>();
|
List<ApiAdvertBannerVO> resultList = new ArrayList<>();
|
||||||
|
|
||||||
List<BdAdvertBanner> list = iBdAdvertBannerService.listData(null);
|
List<BdAdvertBanner> list = iBdAdvertBannerService.listData(null, SecurityUtils.getUserId());
|
||||||
if (CollectionUtil.isNotEmpty(list)) {
|
if (CollectionUtil.isNotEmpty(list)) {
|
||||||
resultList = BeanUtil.copyToList(list, ApiAdvertBannerVO.class);
|
resultList = BeanUtil.copyToList(list, ApiAdvertBannerVO.class);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.hzs.system.config.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.hzs.common.domain.system.config.BdAdvertBanner;
|
import com.hzs.common.domain.system.config.BdAdvertBanner;
|
||||||
|
import com.hzs.common.domain.system.config.ext.BdAdvertBannerExt;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.hzs.system.config.service.impl;
|
package com.hzs.system.config.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.hzs.common.core.constant.CountryConstants;
|
import com.hzs.common.core.constant.CountryConstants;
|
||||||
|
|
Loading…
Reference in New Issue