forked from angelo/java-retail-app
## 去掉部分不用的业绩、区域考核等;调整部分接口参数;
This commit is contained in:
parent
0ab028638d
commit
a423df3ec8
|
@ -1,29 +0,0 @@
|
|||
package com.hzs.bonus.detail;
|
||||
|
||||
import com.hzs.common.core.domain.R;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description: 新零售会员区域考核dubbo服务
|
||||
* @author: zhang jing
|
||||
* @date: 2025/3/7 10:36
|
||||
* @param:
|
||||
* @return:
|
||||
**/
|
||||
public interface ICuRegionAssessApi {
|
||||
|
||||
|
||||
/**
|
||||
* @description: 定时处理会员收益区域(处理前三天)
|
||||
* @author: zhang jing
|
||||
* @date: 2025/3/7 10:45
|
||||
* @param: [startDate]
|
||||
* @return: com.hzs.common.core.domain.R<?>
|
||||
**/
|
||||
R<?> validateHandAreaAssess(Date startDate,Date endDate);
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -1,30 +0,0 @@
|
|||
package com.hzs.member.base;
|
||||
|
||||
import com.hzs.common.core.domain.R;
|
||||
|
||||
/**
|
||||
* @description: 会员收益区域服务接口
|
||||
* @author: zhang jing
|
||||
* @date: 2024/12/30 15:01
|
||||
* @param:
|
||||
* @return:
|
||||
**/
|
||||
public interface ICuMemberRetailRegionServiceApi {
|
||||
|
||||
/**
|
||||
* @description: 批量修改已到期的会员收益区域
|
||||
* @author: zhang jing
|
||||
* @date: 2024/12/30 15:22
|
||||
* @param: []
|
||||
* @return: com.hzs.common.core.domain.R<?>
|
||||
**/
|
||||
R<?> batchUpdateRetailRegion();
|
||||
|
||||
/**
|
||||
* 处理重复区域
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
R<?> handleRepeatRegion();
|
||||
|
||||
}
|
|
@ -1,31 +0,0 @@
|
|||
package com.hzs.retail.member;
|
||||
|
||||
import com.hzs.common.core.domain.R;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 新零售会员dubbo服务
|
||||
* @Author: jiang chao
|
||||
* @Time: 2024/12/31 13:40
|
||||
* @Classname: IMemberRetailApi
|
||||
* @PackageName: com.hzs.retail.member
|
||||
*/
|
||||
public interface IMemberRetailApi {
|
||||
|
||||
/**
|
||||
* 定时处理收益区域
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
R<?> checkRegion();
|
||||
|
||||
|
||||
/**
|
||||
* 取消收益区域
|
||||
*
|
||||
* @param pkIdList 收益区域ID列表
|
||||
*/
|
||||
R<?> cancelRegion(List<Long> pkIdList);
|
||||
|
||||
}
|
|
@ -1,35 +0,0 @@
|
|||
package com.hzs.bonus.detail.controller.api;
|
||||
|
||||
import com.hzs.bonus.detail.service.ICuRegionAssessService;
|
||||
import com.hzs.bonus.param.CuRegionAssessParam;
|
||||
import com.hzs.common.core.web.controller.BaseController;
|
||||
import com.hzs.common.core.web.page.TableDataInfo;
|
||||
import com.hzs.common.domain.member.detail.ext.CuRegionAssessExt;
|
||||
import com.hzs.common.security.utils.SecurityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 考核会员端
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/api/region")
|
||||
public class ApiCuRegionAssessController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private ICuRegionAssessService regionAssessService;
|
||||
|
||||
/**
|
||||
* 查询会员昨天奖金的值
|
||||
*/
|
||||
@GetMapping("/query")
|
||||
public TableDataInfo listRegionAssess() {
|
||||
CuRegionAssessParam cuRegionAssessParam = new CuRegionAssessParam();
|
||||
cuRegionAssessParam.setPkCountry(SecurityUtils.getPkCountry());
|
||||
cuRegionAssessParam.setPkMember(SecurityUtils.getUserId());
|
||||
List<CuRegionAssessExt> cuRegionAssessExtList = regionAssessService.queryRegionAssessByCondition(cuRegionAssessParam);
|
||||
return getDataTable(regionAssessService.getCuRegionAssessVoS(cuRegionAssessExtList));
|
||||
}
|
||||
}
|
|
@ -1,65 +0,0 @@
|
|||
package com.hzs.bonus.detail.controller.manage;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.hzs.bonus.detail.service.ICuRegionAssessService;
|
||||
import com.hzs.bonus.detail.vo.CuRegionAssessExcelVO;
|
||||
import com.hzs.bonus.detail.vo.CuRegionAssessVO;
|
||||
import com.hzs.bonus.param.CuRegionAssessParam;
|
||||
import com.hzs.common.core.utils.poi.ExcelUtil;
|
||||
import com.hzs.common.core.web.controller.BaseController;
|
||||
import com.hzs.common.core.web.page.TableDataInfo;
|
||||
import com.hzs.common.domain.member.detail.CuRegionAssessDetail;
|
||||
import com.hzs.common.domain.member.detail.ext.CuRegionAssessExt;
|
||||
import com.hzs.common.security.utils.SecurityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 新零售会员区域考核 前端控制器
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/manage/region")
|
||||
public class CuRegionAssessController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private ICuRegionAssessService regionAssessService;
|
||||
|
||||
/**
|
||||
* 查询会员昨天奖金的值
|
||||
*/
|
||||
@PostMapping("/query")
|
||||
public TableDataInfo listRegionAssess(@RequestBody CuRegionAssessParam cuRegionAssessParam) {
|
||||
startPage();
|
||||
cuRegionAssessParam.setPkCountry(SecurityUtils.getPkCountry());
|
||||
List<CuRegionAssessExt> cuRegionAssessExtList = regionAssessService.queryRegionAssessByCondition(cuRegionAssessParam);
|
||||
List<CuRegionAssessVO> cuRegionAssessVoList = regionAssessService.getCuRegionAssessVoS(cuRegionAssessExtList);
|
||||
TableDataInfo dataTable = getDataTable(cuRegionAssessExtList);
|
||||
dataTable.setRows(cuRegionAssessVoList);
|
||||
return dataTable;
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询会员某个时间段内的奖金汇总
|
||||
*/
|
||||
@PostMapping("/export")
|
||||
public void exportRegionAssess(HttpServletResponse response, CuRegionAssessParam cuRegionAssessParam) {
|
||||
List<CuRegionAssessExt> cuRegionAssessExtList = regionAssessService.queryRegionAssessByCondition(cuRegionAssessParam);
|
||||
List<CuRegionAssessExcelVO> cuRegionAssessVoList = new ArrayList<>();
|
||||
for (CuRegionAssessExt cuRegionAssessExt : cuRegionAssessExtList) {
|
||||
for (CuRegionAssessDetail cuRegionAssessDetail : cuRegionAssessExt.getCuRegionAssessDetailList()) {
|
||||
CuRegionAssessExcelVO regionAssessExcelVO = BeanUtil.copyProperties(cuRegionAssessExt, CuRegionAssessExcelVO.class);
|
||||
regionAssessExcelVO.setAssessDate(cuRegionAssessDetail.getAssessDate());
|
||||
regionAssessExcelVO.setTeamMonthPv(cuRegionAssessDetail.getTeamMonthPv());
|
||||
regionAssessExcelVO.setSmallAreaPv(cuRegionAssessDetail.getSmallAreaPv());
|
||||
regionAssessExcelVO.setAssessStatus(cuRegionAssessDetail.getAssessStatus());
|
||||
cuRegionAssessVoList.add(regionAssessExcelVO);
|
||||
}
|
||||
}
|
||||
ExcelUtil<CuRegionAssessExcelVO> util = new ExcelUtil<>(CuRegionAssessExcelVO.class);
|
||||
util.exportExcel(response, cuRegionAssessVoList, "区域考核导出");
|
||||
}
|
||||
}
|
|
@ -1,85 +0,0 @@
|
|||
package com.hzs.bonus.detail.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.hzs.common.domain.member.detail.CuRegionAssessDetail;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 新零售会员区域考核明细表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2025-01-13
|
||||
*/
|
||||
public interface CuRegionAssessDetailMapper extends BaseMapper<CuRegionAssessDetail> {
|
||||
|
||||
/*
|
||||
* @description: 考核开始日期
|
||||
* @author: sui q
|
||||
* @date: 2025/1/13 17:13
|
||||
* @param: null null
|
||||
**/
|
||||
void deleteAssessRegionDetailByDate(@Param("assessStartDate") Date assessStartDate, @Param("assessPeriod") Integer assessPeriod);
|
||||
|
||||
/*
|
||||
* @description: 删除重复的数据
|
||||
* @author: sui q
|
||||
* @date: 2025/1/15 16:11
|
||||
* @param: null null
|
||||
**/
|
||||
void updateAssessRegionDetailByDate(@Param("assessStartDate") Date assessStartDate, @Param("assessEndDate") Date assessEndDate);
|
||||
|
||||
List<Long> batchQueryCuRegionAssessDetailSeq(Integer rowNum);
|
||||
|
||||
/*
|
||||
* @description: 批量插入区域考核数据
|
||||
* @author: sui q
|
||||
* @date: 2025/1/14 14:31
|
||||
* @param: null null
|
||||
**/
|
||||
void batchInsertCuRegionAssessDetail(@Param("cuRegionAssessDetailList") List<?> cuRegionAssessDetailList);
|
||||
|
||||
/*
|
||||
* @description: 根据上月数据更新考核明细数据
|
||||
* @author: sui q
|
||||
* @date: 2025/1/14 16:44
|
||||
* @param: null null
|
||||
**/
|
||||
void mergeCuRegionAssessDetailTeamPv(@Param("rangeTableName") String rangeTableName, @Param("assessDate") Date assessDate);
|
||||
|
||||
/*
|
||||
* @description: 根据上月数据更新考核明细数据
|
||||
* @author: sui q
|
||||
* @date: 2025/1/14 16:44
|
||||
* @param: null null
|
||||
**/
|
||||
void mergeCuRegionAssessDetailSmallAreaPv(@Param("rangeTableName") String rangeTableName, @Param("assessDate") Date assessDate);
|
||||
|
||||
/*
|
||||
* @description: 初始化考核,先置为考核失败
|
||||
* @author: sui q
|
||||
* @date: 2025/1/14 17:30
|
||||
* @param: null null
|
||||
**/
|
||||
void updateCuRegionAssessDetailInit(@Param("assessDate") Date assessDate);
|
||||
|
||||
/*
|
||||
* @description: 根据月后业绩考核,汇总满足30w,小区10w
|
||||
* @author: sui q
|
||||
* @date: 2025/1/14 17:36
|
||||
* @param: null null
|
||||
**/
|
||||
void updateCuRegionAssessDetailByPv(@Param("assessDate") Date assessDate);
|
||||
|
||||
/*
|
||||
* @description: 根据月后业绩考核,汇总满足30w,小区10w
|
||||
* @author: sui q
|
||||
* @date: 2025/1/14 17:36
|
||||
* @param: null null
|
||||
**/
|
||||
void updateCuRegionAssessDetailByHand(@Param("assessDate") Date assessDate);
|
||||
}
|
|
@ -1,49 +1,12 @@
|
|||
package com.hzs.bonus.detail.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.hzs.bonus.param.CuRegionAssessParam;
|
||||
import com.hzs.common.domain.member.detail.CuRegionAssess;
|
||||
import com.hzs.common.domain.member.detail.ext.CuRegionAssessExt;
|
||||
import com.hzs.common.domain.retail.member.CuMemberRetailRegion;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 新零售会员区域考核 Mapper 接口
|
||||
*/
|
||||
public interface CuRegionAssessMapper extends BaseMapper<CuRegionAssess> {
|
||||
|
||||
/*
|
||||
* 查询考核结果
|
||||
**/
|
||||
List<CuRegionAssessExt> queryRegionAssessByCondition(@Param("regionAssessParam") CuRegionAssessParam regionAssessParam);
|
||||
|
||||
/*
|
||||
* 考核开始日期
|
||||
**/
|
||||
void deleteAssessRegionByDate(@Param("assessStartDate") Date assessStartDate, @Param("assessPeriod") Integer assessPeriod);
|
||||
|
||||
/**
|
||||
* 批量获取cuMemberBonus主键
|
||||
*
|
||||
* @param rowNum 数量
|
||||
*/
|
||||
List<Long> batchQueryCuRegionAssessSeq(Integer rowNum);
|
||||
|
||||
/*
|
||||
* 批量插入区域考核数据
|
||||
**/
|
||||
void batchInsertCuRegionAssess(@Param("cuRegionAssessList") List<?> cuRegionAssessList);
|
||||
|
||||
/*
|
||||
* 查询到期日期是上个月的区域
|
||||
**/
|
||||
List<CuMemberRetailRegion> queryDueCuMemberRetailRegion(@Param("startDate") Date startDate, @Param("endDate") Date endDate);
|
||||
|
||||
/*
|
||||
* 查询手动设置考核的近6个月考核记录
|
||||
**/
|
||||
List<CuRegionAssessExt> queryRegionAssessByDate(@Param("memberRetailRegionList") List<CuMemberRetailRegion> memberRetailRegionList, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
|
||||
}
|
||||
|
|
|
@ -1,46 +0,0 @@
|
|||
package com.hzs.bonus.detail.provider;
|
||||
|
||||
import com.hzs.bonus.detail.ICuRegionAssessApi;
|
||||
import com.hzs.bonus.detail.service.ICuRegionAssessService;
|
||||
import com.hzs.common.core.domain.R;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Description: 新零售会员dubbo服务
|
||||
* @Author: jiang chao
|
||||
* @Time: 2024/12/31 13:40
|
||||
* @Classname: MemberRetailProvider
|
||||
* @PackageName: com.hzs.retail.member.provider
|
||||
*/
|
||||
@Slf4j
|
||||
@DubboService
|
||||
public class CuRegionAssessProvider implements ICuRegionAssessApi {
|
||||
|
||||
@Autowired
|
||||
private ICuRegionAssessService iCuRegionAssessService;
|
||||
|
||||
|
||||
/**
|
||||
* @description: 定时处理会员收益区域(处理前三天)
|
||||
* @author: zhang jing
|
||||
* @date: 2025/3/7 10:45
|
||||
* @param: [startDate]
|
||||
* @return: com.hzs.common.core.domain.R<?>
|
||||
**/
|
||||
@Override
|
||||
public R<?> validateHandAreaAssess(Date startDate,Date endDate) {
|
||||
try {
|
||||
iCuRegionAssessService.validateHandAreaAssess(startDate,endDate);
|
||||
return R.ok();
|
||||
} catch (Exception e) {
|
||||
log.error("定时任务处理前3天收益区域异常", e);
|
||||
return R.fail(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -1,52 +0,0 @@
|
|||
package com.hzs.bonus.detail.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.hzs.common.domain.member.detail.CuRegionAssessDetail;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 新零售会员区域考核明细表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2025-01-13
|
||||
*/
|
||||
public interface ICuRegionAssessDetailService extends IService<CuRegionAssessDetail> {
|
||||
|
||||
/*
|
||||
* @description: 考核开始日期
|
||||
* @author: sui q
|
||||
* @date: 2025/1/13 17:13
|
||||
* @param: null null
|
||||
**/
|
||||
void deleteAssessRegionDetailByDate(Date assessStartDate, Integer assessPeriod);
|
||||
|
||||
/*
|
||||
* @description: 删除重复的数据
|
||||
* @author: sui q
|
||||
* @date: 2025/1/15 16:11
|
||||
* @param: null null
|
||||
**/
|
||||
void updateAssessRegionDetailByDate(Date assessStartDate, Date assessEndDate);
|
||||
|
||||
List<Long> batchQueryCuRegionAssessDetailSeq(Integer rowNum);
|
||||
|
||||
/*
|
||||
* @description: 批量插入区域考核数据
|
||||
* @author: sui q
|
||||
* @date: 2025/1/14 14:31
|
||||
* @param: null null
|
||||
**/
|
||||
void batchInsertCuRegionAssessDetail(List<?> cuRegionAssessDetailList);
|
||||
|
||||
/*
|
||||
* @description: 根据上月数据考核区域
|
||||
* @author: sui q
|
||||
* @date: 2025/1/14 16:44
|
||||
* @param: null null
|
||||
**/
|
||||
void assessCuRegionAssessDetail(String rangeTableName, Date assessDate);
|
||||
}
|
|
@ -1,33 +1,11 @@
|
|||
package com.hzs.bonus.detail.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.hzs.bonus.detail.vo.CuRegionAssessVO;
|
||||
import com.hzs.bonus.param.CuRegionAssessParam;
|
||||
import com.hzs.common.domain.member.detail.CuRegionAssess;
|
||||
import com.hzs.common.domain.member.detail.ext.CuRegionAssessExt;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 新零售会员区域考核 服务类
|
||||
*/
|
||||
public interface ICuRegionAssessService extends IService<CuRegionAssess> {
|
||||
|
||||
/**
|
||||
* 定时处理会员收益区域(处理前三天)
|
||||
**/
|
||||
void validateHandAreaAssess(Date startDate, Date endDate);
|
||||
|
||||
/*
|
||||
* 考核开始日期
|
||||
**/
|
||||
void deleteAssessRegionByDate(Date assessStartDate, Integer assessPeriod);
|
||||
|
||||
/*
|
||||
* 查询考核结果
|
||||
**/
|
||||
List<CuRegionAssessExt> queryRegionAssessByCondition(CuRegionAssessParam regionAssessParam);
|
||||
|
||||
List<CuRegionAssessVO> getCuRegionAssessVoS(List<CuRegionAssessExt> cuRegionAssessExtList);
|
||||
}
|
||||
|
|
|
@ -1,57 +0,0 @@
|
|||
package com.hzs.bonus.detail.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hzs.bonus.detail.mapper.CuRegionAssessDetailMapper;
|
||||
import com.hzs.bonus.detail.service.ICuRegionAssessDetailService;
|
||||
import com.hzs.common.domain.member.detail.CuRegionAssessDetail;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 新零售会员区域考核明细表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2025-01-13
|
||||
*/
|
||||
@Service
|
||||
public class CuRegionAssessDetailServiceImpl extends ServiceImpl<CuRegionAssessDetailMapper, CuRegionAssessDetail> implements ICuRegionAssessDetailService {
|
||||
|
||||
@Override
|
||||
public void deleteAssessRegionDetailByDate(Date assessStartDate, Integer assessPeriod) {
|
||||
baseMapper.deleteAssessRegionDetailByDate(assessStartDate, assessPeriod);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAssessRegionDetailByDate(Date assessStartDate, Date assessEndDate) {
|
||||
baseMapper.updateAssessRegionDetailByDate(assessStartDate, assessEndDate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Long> batchQueryCuRegionAssessDetailSeq(Integer rowNum) {
|
||||
return baseMapper.batchQueryCuRegionAssessDetailSeq(rowNum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void batchInsertCuRegionAssessDetail(List<?> cuRegionAssessDetailList) {
|
||||
baseMapper.batchInsertCuRegionAssessDetail(cuRegionAssessDetailList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void assessCuRegionAssessDetail(String rangeTableName, Date assessDate) {
|
||||
// 处理考核明细的汇总值
|
||||
baseMapper.mergeCuRegionAssessDetailTeamPv(rangeTableName, assessDate);
|
||||
// 处理考核明细的小区
|
||||
baseMapper.mergeCuRegionAssessDetailSmallAreaPv(rangeTableName, assessDate);
|
||||
// 所有考核先变为考核失败
|
||||
baseMapper.updateCuRegionAssessDetailInit(assessDate);
|
||||
// 验证汇总业绩和小区业绩是否满足条件,汇总业绩满足30000,小区满足100000,变更为考核通过
|
||||
baseMapper.updateCuRegionAssessDetailByPv(assessDate);
|
||||
// 手动开区域由免考修改为正常考核。到期后,验证近6个月的考核结果,达标3次,继续有奖衔,否则没有
|
||||
// baseMapper.updateCuRegionAssessDetailByHand(assessDate);
|
||||
// 更新主表,更新达标次数
|
||||
}
|
||||
}
|
|
@ -1,135 +1,14 @@
|
|||
package com.hzs.bonus.detail.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hzs.bonus.achieve.service.impl.CuMemberBonusSettle;
|
||||
import com.hzs.bonus.detail.mapper.CuRegionAssessMapper;
|
||||
import com.hzs.bonus.detail.service.ICuRegionAssessDetailService;
|
||||
import com.hzs.bonus.detail.service.ICuRegionAssessService;
|
||||
import com.hzs.bonus.detail.vo.CuRegionAssessDetailVO;
|
||||
import com.hzs.bonus.detail.vo.CuRegionAssessVO;
|
||||
import com.hzs.bonus.param.CuRegionAssessParam;
|
||||
import com.hzs.common.core.utils.DateUtils;
|
||||
import com.hzs.common.domain.member.detail.CuRegionAssess;
|
||||
import com.hzs.common.domain.member.detail.CuRegionAssessDetail;
|
||||
import com.hzs.common.domain.member.detail.ext.CuRegionAssessExt;
|
||||
import com.hzs.common.domain.retail.member.CuMemberRetailRegion;
|
||||
import com.hzs.retail.member.IMemberRetailApi;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 新零售会员区域考核 服务实现类
|
||||
*/
|
||||
@Service
|
||||
public class CuRegionAssessServiceImpl extends ServiceImpl<CuRegionAssessMapper, CuRegionAssess> implements ICuRegionAssessService {
|
||||
|
||||
@DubboReference
|
||||
IMemberRetailApi iMemberRetailApi;
|
||||
|
||||
@Autowired
|
||||
private ICuRegionAssessDetailService iCuRegionAssessDetailService;
|
||||
@Autowired
|
||||
private CuMemberBonusSettle cuMemberBonusSettle;
|
||||
|
||||
|
||||
@Override
|
||||
public void validateHandAreaAssess(Date startDate, Date endDate) {
|
||||
List<Long> cancelRegionList = new ArrayList<>();
|
||||
List<CuMemberRetailRegion> dueRetailRegionList = baseMapper.queryDueCuMemberRetailRegion(startDate, endDate);
|
||||
if (dueRetailRegionList.size() > 0) {
|
||||
Date assessDate = DateUtils.currentMonthFirstDate(startDate);
|
||||
// 查询期初日期 beforeMonthFirstDate startDate 考核期间结束日期
|
||||
Date assMonthStartDate = DateUtils.beforeMonthFirstDate(5, assessDate);
|
||||
// assessDate assessDate 查询考核记录
|
||||
Map<Long, CuRegionAssessExt> regionAssessExtMap = new HashMap<>();
|
||||
List<CuRegionAssessExt> cuRegionAssessExtList = baseMapper.queryRegionAssessByDate(dueRetailRegionList, assMonthStartDate, assessDate);
|
||||
cuRegionAssessExtList.forEach(cuRegionAssessExt -> regionAssessExtMap.put(cuRegionAssessExt.getPkMember(), cuRegionAssessExt));
|
||||
for (CuMemberRetailRegion cuMemberRetailRegion : dueRetailRegionList) {
|
||||
if (regionAssessExtMap.containsKey(cuMemberRetailRegion.getPkMember())) {
|
||||
CuRegionAssessExt cuRegionAssessExt = regionAssessExtMap.get(cuMemberRetailRegion.getPkMember());
|
||||
if (cuRegionAssessExt.getPkId() >= 3) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
cancelRegionList.add(cuMemberRetailRegion.getPkId());
|
||||
}
|
||||
}
|
||||
if (cancelRegionList.size() > 0) {
|
||||
if (!iMemberRetailApi.cancelRegion(cancelRegionList).isSuccess()) {
|
||||
throw new RuntimeException("区域更新失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void saveCuRegionAssess(Map<Long, CuRegionAssess> regionAssessMap, List<CuRegionAssessDetail> regionAssessDetailList) {
|
||||
List<Long> longs = baseMapper.batchQueryCuRegionAssessSeq(regionAssessMap.size());
|
||||
int i = 0;
|
||||
List<CuRegionAssess> cuRegionAssessList = new ArrayList<>();
|
||||
for (Long pkMember : regionAssessMap.keySet()) {
|
||||
CuRegionAssess cuRegionAssess = regionAssessMap.get(pkMember);
|
||||
cuRegionAssess.setPkId(longs.get(i));
|
||||
cuRegionAssessList.add(cuRegionAssess);
|
||||
i++;
|
||||
}
|
||||
for (CuRegionAssessDetail cuRegionAssessDetail : regionAssessDetailList) {
|
||||
if (regionAssessMap.containsKey(cuRegionAssessDetail.getPkRegionAssess())) {
|
||||
CuRegionAssess cuRegionAssess = regionAssessMap.get(cuRegionAssessDetail.getPkRegionAssess());
|
||||
cuRegionAssessDetail.setPkRegionAssess(cuRegionAssess.getPkId());
|
||||
}
|
||||
}
|
||||
// 主表
|
||||
List<List<?>> lists = cuMemberBonusSettle.handleCutList(cuRegionAssessList);
|
||||
lists.forEach(list ->
|
||||
baseMapper.batchInsertCuRegionAssess(list));
|
||||
List<Long> idList = iCuRegionAssessDetailService.batchQueryCuRegionAssessDetailSeq(regionAssessDetailList.size());
|
||||
for (int j = 0; j < regionAssessDetailList.size(); j++) {
|
||||
regionAssessDetailList.get(j).setPkId(idList.get(j));
|
||||
}
|
||||
// 明细表
|
||||
List<List<?>> detailList = cuMemberBonusSettle.handleCutList(regionAssessDetailList);
|
||||
detailList.forEach(detail ->
|
||||
iCuRegionAssessDetailService.batchInsertCuRegionAssessDetail(detail));
|
||||
}
|
||||
|
||||
List<CuRegionAssess> queryCuRegionAssessByEndDate(Date settleDate) {
|
||||
QueryWrapper<CuRegionAssess> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("ASSESS_END_DATE", settleDate);
|
||||
return baseMapper.selectList(queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void deleteAssessRegionByDate(Date assessStartDate, Integer assessPeriod) {
|
||||
// 7天内重算
|
||||
iCuRegionAssessDetailService.deleteAssessRegionDetailByDate(assessStartDate, assessPeriod);
|
||||
baseMapper.deleteAssessRegionByDate(assessStartDate, assessPeriod);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CuRegionAssessExt> queryRegionAssessByCondition(CuRegionAssessParam regionAssessParam) {
|
||||
regionAssessParam.setAssessDate(DateUtils.currentMonthFirstDate());
|
||||
return baseMapper.queryRegionAssessByCondition(regionAssessParam);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CuRegionAssessVO> getCuRegionAssessVoS(List<CuRegionAssessExt> cuRegionAssessExtList) {
|
||||
List<CuRegionAssessVO> cuRegionAssessVoList = new ArrayList<>();
|
||||
for (CuRegionAssessExt cuRegionAssessExt : cuRegionAssessExtList) {
|
||||
CuRegionAssessVO cuRegionAssessVO = BeanUtil.copyProperties(cuRegionAssessExt, CuRegionAssessVO.class);
|
||||
List<CuRegionAssessDetailVO> regionAssessDetailVoList = new ArrayList<>();
|
||||
for (CuRegionAssessDetail cuRegionAssessDetail : cuRegionAssessExt.getCuRegionAssessDetailList()) {
|
||||
CuRegionAssessDetailVO cuRegionAssessDetailVO = BeanUtil.copyProperties(cuRegionAssessDetail, CuRegionAssessDetailVO.class);
|
||||
regionAssessDetailVoList.add(cuRegionAssessDetailVO);
|
||||
}
|
||||
cuRegionAssessVO.setRegionAssessDetailVoList(regionAssessDetailVoList);
|
||||
cuRegionAssessVoList.add(cuRegionAssessVO);
|
||||
}
|
||||
return cuRegionAssessVoList;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,51 +0,0 @@
|
|||
package com.hzs.bonus.detail.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.hzs.common.core.annotation.Transaction;
|
||||
import com.hzs.common.core.constant.EnumsPrefixConstants;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 考核区域明细
|
||||
*/
|
||||
@Data
|
||||
public class CuRegionAssessDetailVO implements Serializable {
|
||||
|
||||
/**
|
||||
* 会员主键
|
||||
*/
|
||||
private Long pkMember;
|
||||
|
||||
/**
|
||||
* 考核日期
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date assessDate;
|
||||
|
||||
/**
|
||||
* 会员等级
|
||||
*/
|
||||
private Integer pkAwards;
|
||||
|
||||
/**
|
||||
* 团队月消费pv
|
||||
*/
|
||||
private BigDecimal teamMonthPv;
|
||||
|
||||
/**
|
||||
* 团队月消费pv
|
||||
*/
|
||||
private BigDecimal smallAreaPv;
|
||||
|
||||
/**
|
||||
* 考核状态 (0=考核通过,1=免考通过,2=考核不通过,3=不考核)
|
||||
*/
|
||||
@Transaction(transactionKey = EnumsPrefixConstants.ASSESS_STATUS)
|
||||
private Integer assessStatus;
|
||||
|
||||
private String assessStatusVal;
|
||||
}
|
|
@ -1,56 +0,0 @@
|
|||
package com.hzs.bonus.detail.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.hzs.common.core.annotation.Transaction;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 区域考核结果
|
||||
*/
|
||||
@Data
|
||||
public class CuRegionAssessVO implements Serializable {
|
||||
|
||||
/**
|
||||
* 会员编号
|
||||
*/
|
||||
private String memberCode;
|
||||
|
||||
/**
|
||||
* 会员姓名
|
||||
*/
|
||||
private String memberName;
|
||||
|
||||
/**
|
||||
* 考核区域 省+市+县
|
||||
*/
|
||||
private String assessAddress;
|
||||
|
||||
/**
|
||||
* 考核期
|
||||
*/
|
||||
private Integer assessPeriod;
|
||||
|
||||
/**
|
||||
* 考核开始日期
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date assessStartDate;
|
||||
|
||||
/**
|
||||
* 考核期结束日期
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date assessEndDate;
|
||||
|
||||
/**
|
||||
* 达标次数
|
||||
*/
|
||||
private Integer reachNum;
|
||||
|
||||
@Transaction
|
||||
private List<CuRegionAssessDetailVO> regionAssessDetailVoList;
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
package com.hzs.bonus.param;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 查询参数
|
||||
*/
|
||||
@Data
|
||||
public class CuRegionAssessParam implements Serializable {
|
||||
|
||||
private Date assessDate;
|
||||
|
||||
private Long pkMember;
|
||||
|
||||
private Integer pkCountry;
|
||||
|
||||
private String memberCode;
|
||||
|
||||
private String memberName;
|
||||
}
|
|
@ -1,104 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.hzs.bonus.detail.mapper.CuRegionAssessDetailMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="CuRegionAssessDetail" type="com.hzs.common.domain.member.detail.CuRegionAssessDetail">
|
||||
<id column="PK_ID" property="pkId" />
|
||||
<result column="PK_MEMBER" property="pkMember" />
|
||||
<result column="DEL_FLAG" property="delFlag" />
|
||||
<result column="PK_COUNTRY" property="pkCountry" />
|
||||
<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_REGION_ASSESS" property="pkRegionAssess" />
|
||||
<result column="ASSESS_DATE" property="assessDate" />
|
||||
<result column="PK_AWARDS" property="pkAwards" />
|
||||
<result column="TEAM_MONTH_PV" property="teamMonthPv" />
|
||||
<result column="SMALL_AREA_PV" property="smallAreaPv" />
|
||||
<result column="ASSESS_STATUS" property="assessStatus" />
|
||||
</resultMap>
|
||||
<insert id="batchInsertCuRegionAssessDetail">
|
||||
insert ALL
|
||||
<foreach item="item" index="index" collection="cuRegionAssessDetailList" separator=" " >
|
||||
into cu_region_assess_detail(pk_id,pk_member,pk_region_assess,assess_date,pk_creator,pk_country) values
|
||||
(
|
||||
#{item.pkId},#{item.pkMember},#{item.pkRegionAssess},#{item.assessDate},#{item.pkCreator},#{item.pkCountry}
|
||||
)
|
||||
</foreach>
|
||||
SELECT 1 FROM dual
|
||||
</insert>
|
||||
<update id="mergeCuRegionAssessDetailTeamPv">
|
||||
merge into cu_region_assess_detail a
|
||||
using(
|
||||
select cd.pk_id,cr.pk_member,cr.pk_awards,
|
||||
(cr.month_consume_pv+cr.team_month_pv) team_month_pv from cu_region_assess_detail cd
|
||||
inner join ${rangeTableName} cr
|
||||
on cd.pk_member=cr.pk_member
|
||||
where cd.del_flag=0 and cd.assess_date = #{assessDate, jdbcType=DATE}
|
||||
) b
|
||||
on(a.pk_id=b.pk_id)
|
||||
when matched then
|
||||
update set a.pk_awards=b.pk_awards,a.team_month_pv=b.team_month_pv
|
||||
WHERE a.pk_awards != b.pk_awards OR a.team_month_pv != b.team_month_pv
|
||||
</update>
|
||||
<update id="mergeCuRegionAssessDetailSmallAreaPv">
|
||||
merge into cu_region_assess_detail a
|
||||
using(
|
||||
select pk_id,max(big_area_pv) big_area_pv from(
|
||||
select cd.pk_id,b.* from cu_region_assess_detail cd
|
||||
inner join(
|
||||
select pk_parent pk_member,(month_consume_pv+team_month_pv) big_area_pv from ${rangeTableName}
|
||||
union
|
||||
select pk_member,month_consume_pv big_area_pv from ${rangeTableName}) b
|
||||
on cd.pk_member=b.pk_member
|
||||
where cd.del_flag=0 and cd.assess_date = #{assessDate, jdbcType=DATE}
|
||||
)
|
||||
group by pk_id
|
||||
) b
|
||||
on(a.pk_id=b.pk_id)
|
||||
when matched then
|
||||
update set a.small_area_pv=a.team_month_pv-b.big_area_pv
|
||||
</update>
|
||||
<update id="updateCuRegionAssessDetailInit">
|
||||
update cu_region_assess_detail set assess_status=2 where del_flag=0 and assess_date=#{assessDate, jdbcType=DATE}
|
||||
</update>
|
||||
<update id="updateCuRegionAssessDetailByPv">
|
||||
update cu_region_assess_detail set assess_status=0
|
||||
where del_flag=0 and team_month_pv>=46875 and small_area_pv>=15625
|
||||
and assess_date = #{assessDate, jdbcType=DATE}
|
||||
</update>
|
||||
<update id="updateCuRegionAssessDetailByHand">
|
||||
update cu_region_assess_detail set assess_status=0
|
||||
where del_flag=0 and assess_date = #{assessDate, jdbcType=DATE}
|
||||
and pk_region_assess in(select pk_id from cu_region_assess where del_flag=0 and source=2)
|
||||
</update>
|
||||
<update id="updateAssessRegionDetailByDate">
|
||||
update cu_region_assess_detail set del_flag=1,modified_time=sysdate where pk_region_assess in(
|
||||
select ca.pk_id from cu_region_assess ca
|
||||
inner join (
|
||||
select pk_id from cu_member_retail_region
|
||||
where effective=0 and del_flag=0
|
||||
and nvl(modified_time,creation_time)>= #{assessStartDate,jdbcType=DATE}
|
||||
and nvl(modified_time,creation_time) < #{assessEndDate,jdbcType=DATE}
|
||||
) b
|
||||
on ca.pk_region =b.pk_id
|
||||
where ca.del_flag=0 and ca.assess_start_date !=#{assessEndDate,jdbcType=DATE})
|
||||
</update>
|
||||
<delete id="deleteAssessRegionDetailByDate">
|
||||
delete from cu_region_assess_detail where del_flag=0 and
|
||||
pk_region_assess in(
|
||||
select pk_id from cu_region_assess where del_flag=0 and
|
||||
assess_start_date=#{assessStartDate, jdbcType=DATE}
|
||||
<choose>
|
||||
<when test="assessPeriod == 1">and assess_period=#{assessPeriod}</when>
|
||||
<otherwise>and assess_period >= #{assessPeriod}</otherwise>
|
||||
</choose>
|
||||
)
|
||||
</delete>
|
||||
<select id="batchQueryCuRegionAssessDetailSeq" resultType="java.lang.Long">
|
||||
select cu_region_assess_detail_seq.nextval from dual connect by rownum <= #{rowNum}
|
||||
</select>
|
||||
|
||||
</mapper>
|
|
@ -2,111 +2,5 @@
|
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.hzs.bonus.detail.mapper.CuRegionAssessMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="CuRegionAssessExt" type="com.hzs.common.domain.member.detail.ext.CuRegionAssessExt">
|
||||
<id column="PK_ID" property="pkId" />
|
||||
<result column="DEL_FLAG" property="delFlag" />
|
||||
<result column="PK_COUNTRY" property="pkCountry" />
|
||||
<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_MEMBER" property="pkMember" />
|
||||
<result column="PK_REGION" property="pkRegion" />
|
||||
<result column="ASSESS_PERIOD" property="assessPeriod" />
|
||||
<result column="ASSESS_START_DATE" property="assessStartDate" />
|
||||
<result column="ASSESS_END_DATE" property="assessEndDate" />
|
||||
<result column="REACH_NUM" property="reachNum" />
|
||||
<result column="SOURCE" property="source" />
|
||||
<result column="MEMBER_CODE" property="memberCode" />
|
||||
<result column="MEMBER_NAME" property="memberName" />
|
||||
<result column="PROVINCE_NAME" property="provinceName" />
|
||||
<result column="CITY_NAME" property="cityName" />
|
||||
<result column="COUNTY_NAME" property="countyName" />
|
||||
<result column="ASSESS_ADDRESS" property="assessAddress" />
|
||||
<collection property="cuRegionAssessDetailList" ofType="com.hzs.common.domain.member.detail.CuRegionAssessDetail">
|
||||
<result column="ASSESS_DATE" property="assessDate" />
|
||||
<result column="PK_AWARDS" property="pkAwards" />
|
||||
<result column="TEAM_MONTH_PV" property="teamMonthPv" />
|
||||
<result column="SMALL_AREA_PV" property="smallAreaPv" />
|
||||
<result column="ASSESS_STATUS" property="assessStatus" />
|
||||
</collection>
|
||||
</resultMap>
|
||||
<insert id="batchInsertCuRegionAssess">
|
||||
insert ALL
|
||||
<foreach item="item" index="index" collection="cuRegionAssessList" separator=" " >
|
||||
into cu_region_assess(pk_id,pk_member,assess_period,pk_region,assess_start_date,assess_end_date,
|
||||
source,pk_creator,pk_country) values
|
||||
(
|
||||
#{item.pkId},#{item.pkMember},#{item.assessPeriod},#{item.pkRegion},#{item.assessStartDate},#{item.assessEndDate},
|
||||
#{item.source},#{item.pkCreator},#{item.pkCountry}
|
||||
)
|
||||
</foreach>
|
||||
SELECT 1 FROM dual
|
||||
</insert>
|
||||
|
||||
<delete id="deleteAssessRegionByDate">
|
||||
delete from cu_region_assess where del_flag=0 and
|
||||
assess_start_date=#{assessStartDate, jdbcType=DATE}
|
||||
<choose>
|
||||
<when test="assessPeriod == 1">and assess_period=#{assessPeriod}</when>
|
||||
<otherwise>and assess_period >= #{assessPeriod}</otherwise>
|
||||
</choose>
|
||||
</delete>
|
||||
|
||||
<select id="batchQueryCuRegionAssessSeq" resultType="java.lang.Long">
|
||||
select cu_region_assess_seq.nextval from dual connect by rownum <= #{rowNum}
|
||||
</select>
|
||||
<select id="queryRegionAssessByCondition" resultMap="CuRegionAssessExt">
|
||||
select cm.member_code,cm.member_name,ca.reach_num,ca.assess_period,
|
||||
ca.assess_start_date,ca.assess_end_date,ca.reach_num,
|
||||
(province.name||city.name||county.name) assess_address,
|
||||
cd.assess_date,cd.assess_status,cd.team_month_pv,cd.small_area_pv,
|
||||
cd.assess_status /* province.name,city.name,county.name,*/
|
||||
from cu_region_assess ca
|
||||
inner join cu_region_assess_detail cd
|
||||
on ca.pk_id=cd.pk_region_assess
|
||||
inner join cu_member cm
|
||||
on cm.pk_id=ca.pk_member
|
||||
inner join cu_member_retail_region cr
|
||||
on cr.pk_id=ca.pk_region
|
||||
left join bd_area province on province.PK_ID=cr.province
|
||||
left join bd_area city on city.PK_ID=cr.city
|
||||
left join bd_area county on county.PK_ID=cr.county
|
||||
where ca.del_flag=0 and cd.del_flag=0 and cm.del_flag=0 and cr.del_flag=0
|
||||
<if test="regionAssessParam.assessDate != null">
|
||||
and cd.assess_date <= #{regionAssessParam.assessDate,jdbcType=DATE}
|
||||
</if>
|
||||
<if test="regionAssessParam.pkMember != null">
|
||||
and ca.pk_member = #{regionAssessParam.pkMember}
|
||||
</if>
|
||||
<if test="regionAssessParam.pkCountry != null">
|
||||
and ca.pk_country = #{regionAssessParam.pkCountry}
|
||||
</if>
|
||||
<if test="regionAssessParam.memberCode != null and regionAssessParam.memberCode != ''">
|
||||
and cm.member_code = #{regionAssessParam.memberCode}
|
||||
</if>
|
||||
<if test="regionAssessParam.memberName != null and regionAssessParam.memberName != ''">
|
||||
and cm.member_name = #{regionAssessParam.memberName}
|
||||
</if>
|
||||
</select>
|
||||
<select id="queryDueCuMemberRetailRegion" resultType="com.hzs.common.domain.retail.member.CuMemberRetailRegion">
|
||||
select * from cu_member_retail_region where effective=0 and del_flag=0
|
||||
and effective_end_date>= #{startDate, jdbcType=DATE}
|
||||
and effective_end_date < #{endDate, jdbcType=DATE}
|
||||
</select>
|
||||
<select id="queryRegionAssessByDate"
|
||||
resultType="com.hzs.common.domain.member.detail.ext.CuRegionAssessExt">
|
||||
select cd.pk_member,count(cd.pk_id) pk_id from cu_region_assess ca
|
||||
inner join cu_region_assess_detail cd
|
||||
on ca.pk_id=cd.pk_region_assess
|
||||
where ca.del_flag=0 and cd.del_flag=0
|
||||
and cd.assess_date>=#{startDate, jdbcType=DATE} and cd.assess_date <=#{endDate, jdbcType=DATE}
|
||||
and assess_status=0 and ca.pk_member in
|
||||
<foreach collection="memberRetailRegionList" item="item" open="(" close=")" separator=",">
|
||||
#{item.pkMember}
|
||||
</foreach>
|
||||
group by cd.pk_member
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
@ -1,53 +0,0 @@
|
|||
package com.hzs.member.base.provider;
|
||||
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.member.base.ICuMemberRetailRegionServiceApi;
|
||||
import com.hzs.retail.member.service.ICuMemberRetailRegionService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
/**
|
||||
* @description: 会员收益区域dubbo服务
|
||||
* @author: zhang jing
|
||||
* @date: 2024/12/30 15:05
|
||||
* @param:
|
||||
* @return:
|
||||
**/
|
||||
@Slf4j
|
||||
@DubboService
|
||||
public class CuMemberRetailRegionServiceProvider implements ICuMemberRetailRegionServiceApi {
|
||||
|
||||
@Autowired
|
||||
private ICuMemberRetailRegionService iCuMemberRetailRegionService;
|
||||
|
||||
/**
|
||||
* @description: 批量修改已到期的会员收益区域
|
||||
* @author: zhang jing
|
||||
* @date: 2024/12/30 15:20
|
||||
* @param: []
|
||||
* @return: com.hzs.common.core.domain.R<?>
|
||||
**/
|
||||
@Override
|
||||
public R<?> batchUpdateRetailRegion() {
|
||||
try {
|
||||
iCuMemberRetailRegionService.batchUpdateRetailRegion();
|
||||
} catch (Exception e) {
|
||||
log.error("batchUpdateRetailRegion error:", e);
|
||||
return R.fail();
|
||||
}
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<?> handleRepeatRegion() {
|
||||
try {
|
||||
iCuMemberRetailRegionService.handleRepeatRegion();
|
||||
return R.ok();
|
||||
} catch (Exception e) {
|
||||
log.error("handleRepeatRegion error:", e);
|
||||
return R.fail();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -17,23 +17,15 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 会员首页
|
||||
*
|
||||
* @Description:
|
||||
* @Author: ljc
|
||||
* @Time: 2023/5/4 21:06
|
||||
* @Classname: ApiHomePageController
|
||||
* @Package_name: com.hzs.member.base.controller.api
|
||||
*/
|
||||
@Slf4j
|
||||
@RequestMapping("/api/retail-member")
|
||||
@RestController
|
||||
public class ApiRetailHomePageController extends BaseController {
|
||||
|
||||
|
||||
@Autowired
|
||||
private ICuMemberRetailAchieveService retailAchieveService;
|
||||
|
||||
|
||||
/**
|
||||
* 查询会员盒数
|
||||
*
|
||||
|
@ -54,7 +46,6 @@ public class ApiRetailHomePageController extends BaseController {
|
|||
.smallAreaPv(result.getSmallRangeTotalPv())
|
||||
.build();
|
||||
return AjaxResult.success(vo);
|
||||
// return AjaxResult.success(retailAchieveService.selectMemberSmallBox(pkMember, pkCountry, systemType));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -2,44 +2,20 @@ package com.hzs.retail.member.controller.api;
|
|||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.lang.tree.Tree;
|
||||
import cn.hutool.core.lang.tree.TreeNodeConfig;
|
||||
import cn.hutool.core.lang.tree.TreeUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.hzs.common.core.annotation.RepeatSubmitSimple;
|
||||
import com.hzs.common.core.constant.RetailRegionTreeQueryConstants;
|
||||
import com.hzs.common.core.constant.SysConstants;
|
||||
import com.hzs.common.core.constant.msg.AreaConstants;
|
||||
import com.hzs.common.core.enums.EGrade;
|
||||
import com.hzs.common.core.enums.ENoticeWebsiteType;
|
||||
import com.hzs.common.core.enums.EYesNo;
|
||||
import com.hzs.common.core.utils.PageUtils;
|
||||
import com.hzs.common.core.web.controller.BaseController;
|
||||
import com.hzs.common.core.web.domain.AjaxResult;
|
||||
import com.hzs.common.core.web.page.TableDataInfo;
|
||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||
import com.hzs.common.domain.retail.member.CuMemberRetailRegion;
|
||||
import com.hzs.common.domain.retail.member.ext.CuMemberRetailRegionExt;
|
||||
import com.hzs.common.domain.system.base.BdArea;
|
||||
import com.hzs.common.security.utils.SecurityUtils;
|
||||
import com.hzs.member.base.service.ICuMemberService;
|
||||
import com.hzs.retail.member.param.RetailMemberRegionParam;
|
||||
import com.hzs.retail.member.service.ICuMemberRetailAchieveService;
|
||||
import com.hzs.retail.member.service.ICuMemberRetailRegionService;
|
||||
import com.hzs.retail.member.service.IMemberRetailService;
|
||||
import com.hzs.retail.member.vo.CuMemberRetailAchieveVO;
|
||||
import com.hzs.retail.member.vo.RecommendListVO;
|
||||
import com.hzs.retail.member.vo.RetailMemberInfoVO;
|
||||
import com.hzs.retail.member.vo.RetailMemberRegionVO;
|
||||
import com.hzs.system.base.IAreaServiceApi;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
@ -57,11 +33,6 @@ public class RetailMemberController extends BaseController {
|
|||
private IMemberRetailService iMemberRetailService;
|
||||
@Autowired
|
||||
private ICuMemberRetailRegionService iCuMemberRetailRegionService;
|
||||
@Autowired
|
||||
private ICuMemberRetailAchieveService iCuMemberRetailAchieveService;
|
||||
|
||||
@DubboReference
|
||||
IAreaServiceApi iAreaServiceApi;
|
||||
|
||||
/**
|
||||
* 获取登录会员信息
|
||||
|
@ -310,4 +281,15 @@ public class RetailMemberController extends BaseController {
|
|||
return tableDataInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询选择区域
|
||||
*
|
||||
* @param type -- city:省市,county:省市区
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/query-region")
|
||||
public AjaxResult queryRegion(@RequestParam("type") String type) {
|
||||
return AjaxResult.success(iCuMemberRetailRegionService.getRegionTreeList(type, SecurityUtils.getUserId()));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@ import java.util.List;
|
|||
* Mapper 接口
|
||||
*/
|
||||
public interface CuMemberRetailRangeMapper extends BaseMapper<CuMemberRetailRange> {
|
||||
|
||||
/**
|
||||
* 查询会员直推会员
|
||||
*
|
||||
|
@ -22,65 +23,6 @@ public interface CuMemberRetailRangeMapper extends BaseMapper<CuMemberRetailRang
|
|||
*/
|
||||
List<Long> selectDirectPushByPkMember(@Param("pkMember") Long pkMember, @Param("systemType") Integer systemType);
|
||||
|
||||
/**
|
||||
* 查询大区用户信息
|
||||
*
|
||||
* @param cuMemberAchieveVO
|
||||
* @return
|
||||
*/
|
||||
CuMemberRetailAchieveVO selectBigAreaByPkMember(CuMemberRetailAchieveVO cuMemberAchieveVO);
|
||||
|
||||
/**
|
||||
* 查询表名是否存在
|
||||
*
|
||||
* @param tableNames 表名
|
||||
* @return List<String>
|
||||
*/
|
||||
List<String> selectTableNameIsExist(@Param("tableNames") List<String> tableNames);
|
||||
|
||||
/**
|
||||
* 查询会员当天是否下订单
|
||||
*
|
||||
* @param pkMember 会员
|
||||
* @return Integer
|
||||
*/
|
||||
CuMemberRetailAchieveVO selectMemberOrderByPkMember(@Param("pkMember") Long pkMember);
|
||||
|
||||
|
||||
/**
|
||||
* 查询会员的极差业绩
|
||||
*
|
||||
* @param cuMemberAchieveVO 入参
|
||||
* @return CuMemberAchieveVO
|
||||
*/
|
||||
List<CuMemberRetailAchieveVO> selectMemberParentByPkMember(CuMemberRetailAchieveVO cuMemberAchieveVO);
|
||||
|
||||
/**
|
||||
* 查询会员没有注水的大区盒数
|
||||
*
|
||||
* @param cuMemberAchieveVO 入参
|
||||
* @return CuMemberRetailAchieveVO
|
||||
*/
|
||||
Integer selectMemberBoxNoWaterInjection(CuMemberRetailAchieveVO cuMemberAchieveVO);
|
||||
|
||||
|
||||
/**
|
||||
* 查询会员注水的大区盒数
|
||||
*
|
||||
* @param cuMemberAchieveVO 入参
|
||||
* @return CuMemberRetailAchieveVO
|
||||
*/
|
||||
Integer selectMemberBoxWaterInjection(CuMemberRetailAchieveVO cuMemberAchieveVO);
|
||||
|
||||
|
||||
/**
|
||||
* 查询会员最大盒数
|
||||
*
|
||||
* @param cuMemberAchieveVO 入参
|
||||
* @return CuMemberRetailAchieveVO
|
||||
*/
|
||||
Integer selectMemberTotalBox(CuMemberRetailAchieveVO cuMemberAchieveVO);
|
||||
|
||||
/**
|
||||
* 查询会员业绩
|
||||
*
|
||||
|
@ -129,22 +71,6 @@ public interface CuMemberRetailRangeMapper extends BaseMapper<CuMemberRetailRang
|
|||
*/
|
||||
CuMemberRetailAchieveVO selectMemberBigSmallAchieveDetail(CuMemberRetailAchieveVO cuMemberAchieveVO);
|
||||
|
||||
/**
|
||||
* 根据会员编号查询注水
|
||||
*
|
||||
* @param memberCode 会员编号
|
||||
* @return Integer
|
||||
*/
|
||||
Integer selectWaterInjection(@Param("memberCode") String memberCode);
|
||||
|
||||
/**
|
||||
* 查询会员的激活状态
|
||||
*
|
||||
* @param cuMemberAchieveVO 入参
|
||||
* @return Integer
|
||||
*/
|
||||
Integer selectMemberActiveState(CuMemberRetailAchieveVO cuMemberAchieveVO);
|
||||
|
||||
/**
|
||||
* 根据会员ID查询上月业绩
|
||||
*
|
||||
|
@ -153,24 +79,9 @@ public interface CuMemberRetailRangeMapper extends BaseMapper<CuMemberRetailRang
|
|||
*/
|
||||
CuMemberRetailAchieveVO selectUpMonthAchieveByPkMember(CuMemberRetailAchieveVO cuMemberAchieveVO);
|
||||
|
||||
/**
|
||||
* 查询会员累计业绩
|
||||
*
|
||||
* @param cuMemberAchieveVO 入参
|
||||
* @return CuMemberRetailAchieveVO
|
||||
*/
|
||||
CuMemberRetailAchieveVO selectMemberOrderSumAchieveByPkMember(CuMemberRetailAchieveVO cuMemberAchieveVO);
|
||||
|
||||
/**
|
||||
* 查询会员直推业绩(日结+秒结)
|
||||
* orderType in (41,42,43,44)
|
||||
* @param cuMemberAchieveVO 入参
|
||||
* @return List<CuMemberRetailAchieveVO>
|
||||
*/
|
||||
List<CuMemberRetailAchieveVO> selectMemberSumAchieve(CuMemberRetailAchieveVO cuMemberAchieveVO);
|
||||
|
||||
/**
|
||||
* 获取会员结算明细
|
||||
*
|
||||
* @param cuMemberAchieveVO
|
||||
* @return
|
||||
*/
|
||||
|
@ -194,7 +105,6 @@ public interface CuMemberRetailRangeMapper extends BaseMapper<CuMemberRetailRang
|
|||
*/
|
||||
CuMemberRetailAchieveVO selectMemberBigSmallBox(CuMemberRetailAchieveVO param);
|
||||
|
||||
|
||||
/**
|
||||
* 查询大区盒数列表(市场动态)
|
||||
*
|
||||
|
@ -211,5 +121,4 @@ public interface CuMemberRetailRangeMapper extends BaseMapper<CuMemberRetailRang
|
|||
*/
|
||||
List<CuMemberRetailAchieveVO> selectMemberSmallBoxList(CuMemberRetailAchieveVO param);
|
||||
|
||||
List<Long> selectSubMemberIdByRootMember(@Param("pkMember") Long pkMember, @Param("systemType") Integer systemType);
|
||||
}
|
||||
|
|
|
@ -26,14 +26,6 @@ public interface CuMemberRetailRegionMapper extends BaseMapper<CuMemberRetailReg
|
|||
@Param("gradeValue") Integer gradeValue,
|
||||
@Param("systemType") Integer systemType);
|
||||
|
||||
/**
|
||||
* 可选择的收益区域
|
||||
*
|
||||
* @param systemType 系统类型
|
||||
* @return
|
||||
*/
|
||||
List<BdArea> listChooseRegion(@Param("systemType") Integer systemType);
|
||||
|
||||
/**
|
||||
* 插入收益区域
|
||||
*
|
||||
|
@ -53,18 +45,6 @@ public interface CuMemberRetailRegionMapper extends BaseMapper<CuMemberRetailReg
|
|||
**/
|
||||
List<CuMemberRetailRegionExt> memberretailRegList(CuMemberRetailRegionExt mrrExt);
|
||||
|
||||
/**
|
||||
* 批量修改已到期的会员收益区域
|
||||
**/
|
||||
void batchUpdateRetailRegion();
|
||||
|
||||
/**
|
||||
* 重新判断收益区域数据
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
List<CuMemberRetailRegionExt> listCheckRegionMember();
|
||||
|
||||
/**
|
||||
* 会员购买订单数量
|
||||
*
|
||||
|
@ -77,28 +57,5 @@ public interface CuMemberRetailRegionMapper extends BaseMapper<CuMemberRetailReg
|
|||
@Param("systemType") Integer systemType,
|
||||
@Param("waresCodeList") List<String> waresCodeList);
|
||||
|
||||
/**
|
||||
* 获取重复数据
|
||||
*
|
||||
* @param systemType 系统类型
|
||||
* @return
|
||||
*/
|
||||
List<CuMemberRetailRegion> listRepeatData(@Param("systemType") Integer systemType);
|
||||
|
||||
/**
|
||||
* 更新非最新区域其它数据
|
||||
*
|
||||
* @param province 省
|
||||
* @param city 市
|
||||
* @param county 区
|
||||
* @param systemType 系统类型
|
||||
* @return
|
||||
*/
|
||||
int updateRepeatDate(@Param("province") Integer province,
|
||||
@Param("city") Integer city,
|
||||
@Param("county") Integer county,
|
||||
@Param("systemType") Integer systemType);
|
||||
|
||||
|
||||
List<BdArea> getRegionTreeList(@Param("queryType") String queryType, @Param("userId") Long userId);
|
||||
}
|
||||
|
|
|
@ -1,48 +0,0 @@
|
|||
package com.hzs.retail.member.provider;
|
||||
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.retail.member.IMemberRetailApi;
|
||||
import com.hzs.retail.member.service.ICuMemberRetailRegionService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 新零售会员dubbo服务
|
||||
* @Author: jiang chao
|
||||
* @Time: 2024/12/31 13:40
|
||||
* @Classname: MemberRetailProvider
|
||||
* @PackageName: com.hzs.retail.member.provider
|
||||
*/
|
||||
@Slf4j
|
||||
@DubboService
|
||||
public class MemberRetailProvider implements IMemberRetailApi {
|
||||
|
||||
@Autowired
|
||||
private ICuMemberRetailRegionService iCuMemberRetailRegionService;
|
||||
|
||||
@Override
|
||||
public R<?> checkRegion() {
|
||||
try {
|
||||
iCuMemberRetailRegionService.checkRegion();
|
||||
return R.ok();
|
||||
} catch (Exception e) {
|
||||
log.error("定时任务处理收益区域异常", e);
|
||||
return R.fail(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<?> cancelRegion(List<Long> pkIdList) {
|
||||
try {
|
||||
iCuMemberRetailRegionService.cancelRegion(pkIdList);
|
||||
return R.ok();
|
||||
} catch (Exception e) {
|
||||
log.error("区域失效操作异常,pkIdList:{}", pkIdList, e);
|
||||
return R.fail(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -5,23 +5,13 @@ import com.hzs.common.domain.member.achieve.CuMemberRetailRange;
|
|||
import com.hzs.retail.member.param.MarketDynamicsQueryDateParam;
|
||||
import com.hzs.retail.member.utils.PageResult;
|
||||
import com.hzs.retail.member.vo.CuMemberRetailAchieveVO;
|
||||
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO;
|
||||
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO;
|
||||
import com.hzs.retail.member.vo.MarketDynamicsDetailVO;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface ICuMemberRetailAchieveService extends IService<CuMemberRetailRange> {
|
||||
|
||||
/**
|
||||
* 查询会员盒数
|
||||
*
|
||||
* @param pkMember 会员ID
|
||||
* @return CuMemberRetailAchieveVO
|
||||
*/
|
||||
CuMemberRetailAchieveVO selectMemberSmallBox(Long pkMember, Integer pkCountry, Integer systemType);
|
||||
|
||||
/**
|
||||
* 查询会员大小区业绩
|
||||
*
|
||||
|
@ -81,15 +71,6 @@ public interface ICuMemberRetailAchieveService extends IService<CuMemberRetailRa
|
|||
*/
|
||||
CuMemberRetailAchieveVO selectMemberBigSmallAchieveDetail(Long pkMember, Integer pkCountry, Integer systemType);
|
||||
|
||||
/**
|
||||
* 为区域查询提供接口(大小区接口)
|
||||
*
|
||||
* @param pkMember 会员ID
|
||||
* @param pkCountry 国家ID
|
||||
* @return CuMemberRetailAchieveVO
|
||||
*/
|
||||
CuMemberRetailAchieveVO selectMemberSumAchieve(Long pkMember, Integer pkCountry, Integer systemType);
|
||||
|
||||
/**
|
||||
* 查询大区盒数列表(市场动态)
|
||||
*
|
||||
|
|
|
@ -4,7 +4,6 @@ import cn.hutool.core.lang.tree.Tree;
|
|||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.hzs.common.domain.retail.member.CuMemberRetailRegion;
|
||||
import com.hzs.common.domain.retail.member.ext.CuMemberRetailRegionExt;
|
||||
import com.hzs.common.domain.system.base.BdArea;
|
||||
import com.hzs.retail.member.param.RetailMemberRegionParam;
|
||||
import com.hzs.retail.member.vo.UnboundAreaVO;
|
||||
|
||||
|
@ -33,14 +32,6 @@ public interface ICuMemberRetailRegionService extends IService<CuMemberRetailReg
|
|||
*/
|
||||
String setRegion(RetailMemberRegionParam param);
|
||||
|
||||
/**
|
||||
* 可选择的收益区域
|
||||
*
|
||||
* @param systemType 系统类型
|
||||
* @return
|
||||
*/
|
||||
List<BdArea> listChooseRegion(Integer systemType);
|
||||
|
||||
/**
|
||||
* 未绑定收益区域
|
||||
**/
|
||||
|
@ -51,23 +42,6 @@ public interface ICuMemberRetailRegionService extends IService<CuMemberRetailReg
|
|||
**/
|
||||
List<CuMemberRetailRegionExt> memberretailRegList(CuMemberRetailRegionExt mrrExt);
|
||||
|
||||
/**
|
||||
* 批量修改已到期的会员收益区域
|
||||
**/
|
||||
void batchUpdateRetailRegion();
|
||||
|
||||
/**
|
||||
* 定时处理收益区域
|
||||
*/
|
||||
void checkRegion();
|
||||
|
||||
/**
|
||||
* 取消收益区域
|
||||
*
|
||||
* @param pkIdList 收益区域ID
|
||||
*/
|
||||
void cancelRegion(List<Long> pkIdList);
|
||||
|
||||
/**
|
||||
* 会员购买订单数量
|
||||
*
|
||||
|
@ -78,17 +52,12 @@ public interface ICuMemberRetailRegionService extends IService<CuMemberRetailReg
|
|||
*/
|
||||
int getOrderCount(Long pkMember, Integer systemType, List<String> waresCodeList);
|
||||
|
||||
/**
|
||||
* 处理重复区域
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
void handleRepeatRegion();
|
||||
|
||||
/**
|
||||
* 查询可选收益区域树结构 入参常量为 RetailRegionTreeQueryConstants
|
||||
*
|
||||
* @param queryType
|
||||
* @param pkMember
|
||||
* @return
|
||||
*/
|
||||
List<Tree<String>> getRegionTreeList(String queryType);
|
||||
List<Tree<String>> getRegionTreeList(String queryType, Long pkMember);
|
||||
}
|
||||
|
|
|
@ -5,7 +5,6 @@ import cn.hutool.core.util.ObjectUtil;
|
|||
import cn.hutool.json.JSONUtil;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
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.utils.DateUtils;
|
||||
import com.hzs.common.domain.member.achieve.CuMemberRetailRange;
|
||||
|
@ -24,10 +23,7 @@ import com.hzs.retail.member.vo.CuMemberRetailAchieveVO;
|
|||
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO;
|
||||
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO;
|
||||
import com.hzs.retail.member.vo.MarketDynamicsDetailVO;
|
||||
import com.hzs.system.config.IGradeServiceApi;
|
||||
import com.hzs.system.config.dto.GradeDTO;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
@ -52,62 +48,6 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
|
|||
@Autowired
|
||||
private ICuMemberSettlePeriodService iCuMemberSettlePeriodService;
|
||||
|
||||
@DubboReference
|
||||
IGradeServiceApi gradeServiceApi;
|
||||
|
||||
@Override
|
||||
public CuMemberRetailAchieveVO selectMemberSmallBox(Long pkMember, Integer pkCountry, Integer systemType) {
|
||||
CuMember cuMember = iCuMemberService.queryMember(pkMember);
|
||||
//等级为最高等级时不显示盒数
|
||||
GradeDTO grade = gradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData();
|
||||
if (grade.getGradeValue().equals(EGrade.S_VIP.getValue())) {
|
||||
return CuMemberRetailAchieveVO.builder().message("当前已是最高等级").build();
|
||||
}
|
||||
|
||||
|
||||
CuMemberRetailAchieveVO memberRetailAchieveVO;
|
||||
//查询会员昨日业绩
|
||||
String memberRetailTable = getTableName();
|
||||
//查询直推会员
|
||||
List<Long> pkMemberList = baseMapper.selectDirectPushByPkMember(pkMember, systemType);
|
||||
CuMemberRetailAchieveVO memberAchieveVO = CuMemberRetailAchieveVO.builder().memberRetailTable(memberRetailTable)
|
||||
.memberRetailSTable(getTableSName()).memberCode(cuMember.getMemberCode())
|
||||
.pkMember(pkMember).pkMemberList(pkMemberList).build();
|
||||
|
||||
//查询会员是否激活
|
||||
// Integer enableStatus = baseMapper.selectMemberActiveState(memberAchieveVO);
|
||||
Integer enableStatus = cuMember.getIsActivate();
|
||||
if (null != enableStatus && enableStatus.equals(EYesNo.YES.getIntValue())) {
|
||||
//查询总盒数
|
||||
Integer totalBox = baseMapper.selectMemberTotalBox(memberAchieveVO);
|
||||
if (null != totalBox) {
|
||||
Integer maxBox = 0;
|
||||
//查询是否配置注水
|
||||
Integer total = baseMapper.selectWaterInjection(cuMember.getMemberCode());
|
||||
if (null != total && total > 0) {
|
||||
//查询注水最大盒数
|
||||
maxBox = baseMapper.selectMemberBoxWaterInjection(memberAchieveVO);
|
||||
} else {
|
||||
//查询无注水最大盒数
|
||||
maxBox = baseMapper.selectMemberBoxNoWaterInjection(memberAchieveVO);
|
||||
}
|
||||
memberRetailAchieveVO = CuMemberRetailAchieveVO.builder().totalBox(totalBox).smallAreaBox(totalBox - maxBox).build();
|
||||
//总盒数大于2800的时候显示2800
|
||||
GradeDTO lastGrate = gradeServiceApi.getGradeByGradeValue(EGrade.S_VIP.getValue(), pkCountry).getData();
|
||||
//配置中的总盒数
|
||||
Integer totalBoxConfig = lastGrate.getBoxTotal();
|
||||
Integer totalBoxMax = memberRetailAchieveVO.getTotalBox() > totalBoxConfig ? totalBoxConfig : memberRetailAchieveVO.getTotalBox();
|
||||
memberRetailAchieveVO.setTotalBox(totalBoxMax);
|
||||
} else {
|
||||
memberRetailAchieveVO = CuMemberRetailAchieveVO.builder().totalBox(0).smallAreaBox(0).build();
|
||||
}
|
||||
} else {
|
||||
memberRetailAchieveVO = CuMemberRetailAchieveVO.builder().totalBox(0).smallAreaBox(0).build();
|
||||
}
|
||||
return memberRetailAchieveVO;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public CuMemberRetailAchieveVO selectMemberAchieve(Long pkMember, Integer pkCountry, Integer systemType) {
|
||||
//查询会员昨日业绩
|
||||
|
@ -142,18 +82,6 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
|
|||
return getMemberBigAndSmallAchieve(memberSelfAchieveList, rate);
|
||||
}
|
||||
|
||||
/**
|
||||
* 月初第一天赋值
|
||||
*
|
||||
* @param memberAchieveVO 入参
|
||||
* @return CuMemberRetailAchieveVO
|
||||
*/
|
||||
private CuMemberRetailAchieveVO setIsFirst(CuMemberRetailAchieveVO memberAchieveVO) {
|
||||
memberAchieveVO.setIsFirst(isFirstDayOfMonth() ? EYesNo.NO.getIntValue() : EYesNo.YES.getIntValue());
|
||||
return memberAchieveVO;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public CuMemberRetailAchieveVO selectExcludeWaterSmallAchieve(Long pkMember, Integer pkCountry, Integer systemType) {
|
||||
//查询会员昨日业绩表
|
||||
|
@ -176,10 +104,8 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
|
|||
} else {
|
||||
return CuMemberRetailAchieveVO.builder().smallAreaPv(BigDecimal.ZERO).build();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public CuMemberRetailAchieveVO selectMemberBigAchieve(Long pkMember, Integer pkCountry, Integer systemType) {
|
||||
//查询会员昨日业绩表
|
||||
|
@ -277,19 +203,6 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
|
|||
.build();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询会员直推大区信息
|
||||
*
|
||||
* @param pkMemberList 直推会员ID
|
||||
* @return CuMemberAchieveVO
|
||||
*/
|
||||
private CuMemberRetailAchieveVO getMemberBigArea(List<Long> pkMemberList, String memberRangeTable) {
|
||||
CuMemberRetailAchieveVO memberAchieveVO = CuMemberRetailAchieveVO.builder().memberRetailTable(memberRangeTable).pkMemberList(pkMemberList).build();
|
||||
return baseMapper.selectBigAreaByPkMember(memberAchieveVO);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询会员直推业绩
|
||||
*
|
||||
|
@ -308,17 +221,18 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
|
|||
*/
|
||||
private String getTableName() {
|
||||
String localDate = LocalDate.now().minus(1, ChronoUnit.DAYS).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||
CuMemberSettlePeriod cuMemberSettlePeriod =iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate);
|
||||
if(ObjectUtil.isEmpty(cuMemberSettlePeriod)){
|
||||
CuMemberSettlePeriod cuMemberSettlePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate);
|
||||
if (ObjectUtil.isEmpty(cuMemberSettlePeriod)) {
|
||||
return null;
|
||||
}
|
||||
int period = cuMemberSettlePeriod.getPkId();
|
||||
return TableNameConstants.CU_MEMBER_RETAIL_RANGE + period;
|
||||
}
|
||||
|
||||
private String getDayTableName() {
|
||||
String localDate = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||
CuMemberSettlePeriod cuMemberSettlePeriod =iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate);
|
||||
if(ObjectUtil.isEmpty(cuMemberSettlePeriod)){
|
||||
CuMemberSettlePeriod cuMemberSettlePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate);
|
||||
if (ObjectUtil.isEmpty(cuMemberSettlePeriod)) {
|
||||
return null;
|
||||
}
|
||||
int period = cuMemberSettlePeriod.getPkId();
|
||||
|
@ -350,11 +264,6 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
|
|||
return TableNameConstants.CU_MEMBER_RETAIL_S + period;
|
||||
}
|
||||
|
||||
public List<String> selectTableNameIsExist(List<String> tableNames) {
|
||||
return baseMapper.selectTableNameIsExist(tableNames);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 转化万单位、汇率换算
|
||||
*
|
||||
|
@ -393,63 +302,6 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* 为区域查询提供接口
|
||||
*
|
||||
* @param pkMember 会员ID
|
||||
* @param pkCountry 国家ID
|
||||
* @return CuMemberRetailAchieveVO
|
||||
*/
|
||||
@Override
|
||||
public CuMemberRetailAchieveVO selectMemberSumAchieve(Long pkMember, Integer pkCountry, Integer systemType) {
|
||||
//查询会员昨日业绩
|
||||
String memberRetailTable = getTableName();
|
||||
String memberSecondTable = getDayTableName();
|
||||
//查询直推会员
|
||||
List<Long> pkMemberList = baseMapper.selectDirectPushByPkMember(pkMember, systemType);
|
||||
// 2025年6月11日 取伞下 + 自己的ID
|
||||
// List<Long> pkMemberList = baseMapper.selectSubMemberIdByRootMember(pkMember, systemType);
|
||||
//根据国家查汇率
|
||||
BigDecimal rate = iCuMemberBaseService.getCurrency(pkCountry).getInExchangeRate();
|
||||
//查询自己业绩
|
||||
List<CuMemberRetailAchieveVO> memberSelfAchieveList = new ArrayList<>();
|
||||
|
||||
//会员业绩
|
||||
CuMemberRetailAchieveVO memberAchieveVO = CuMemberRetailAchieveVO.builder().memberRetailTable(memberRetailTable).pkMember(pkMember).systemType(systemType).build();
|
||||
CuMemberRetailAchieveVO orderAchieveVO = baseMapper.selectMemberOrderSumAchieveByPkMember(memberAchieveVO);
|
||||
if (null != orderAchieveVO && orderAchieveVO.getArealPv().compareTo(BigDecimal.ZERO) > 0) {
|
||||
orderAchieveVO.setPkMember(pkMember);
|
||||
memberSelfAchieveList.add(orderAchieveVO);
|
||||
}
|
||||
//查询伞下业绩
|
||||
if (CollUtil.isNotEmpty(pkMemberList)) {
|
||||
List<CuMemberRetailAchieveVO> memberPushAchieveList = getMemberPushSumAchieve(pkMemberList, memberRetailTable, memberSecondTable, systemType);
|
||||
if (CollUtil.isNotEmpty(memberPushAchieveList)) {
|
||||
memberSelfAchieveList.addAll(memberPushAchieveList);
|
||||
}
|
||||
}
|
||||
if (CollUtil.isEmpty(memberSelfAchieveList)) {
|
||||
return CuMemberRetailAchieveVO.builder().smallAreaPv(BigDecimal.ZERO).bigArealPv(BigDecimal.ZERO).build();
|
||||
}
|
||||
return getMemberBigAndSmallAchieve(memberSelfAchieveList, rate);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询会员直推业绩(累计)
|
||||
*
|
||||
* @param pkMemberList 直推会员ID
|
||||
* @return CuMemberAchieveVO
|
||||
*/
|
||||
private List<CuMemberRetailAchieveVO> getMemberPushSumAchieve(List<Long> pkMemberList, String memberRangeTable,String memberSecondTable, Integer systemType) {
|
||||
CuMemberRetailAchieveVO memberAchieveVO = CuMemberRetailAchieveVO.builder()
|
||||
.memberRetailTable(memberRangeTable)
|
||||
.memberRetailSTable(memberSecondTable)
|
||||
.pkMemberList(pkMemberList).systemType(systemType).build();
|
||||
return baseMapper.selectMemberSumAchieve(memberAchieveVO);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询不前时间是否是本月第一天
|
||||
*
|
||||
|
@ -505,7 +357,7 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
|
|||
*/
|
||||
private String getAchieveAndBoxTableName(String date) {
|
||||
CuMemberSettlePeriod cuMemberSettlePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(date);
|
||||
if(ObjectUtil.isNotEmpty(cuMemberSettlePeriod)){
|
||||
if (ObjectUtil.isNotEmpty(cuMemberSettlePeriod)) {
|
||||
int period = cuMemberSettlePeriod.getPkId();
|
||||
return TableNameConstants.CU_MEMBER_AMOUNT_BOX + period;
|
||||
}
|
||||
|
@ -607,7 +459,7 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
|
|||
|
||||
private String getDayTableName(String localDate) {
|
||||
CuMemberSettlePeriod cuMemberSettlePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate);
|
||||
if(ObjectUtil.isEmpty(cuMemberSettlePeriod)){
|
||||
if (ObjectUtil.isEmpty(cuMemberSettlePeriod)) {
|
||||
return TableNameConstants.CU_MEMBER_RETAIL_RANGE;
|
||||
}
|
||||
int period = cuMemberSettlePeriod.getPkId();
|
||||
|
|
|
@ -10,14 +10,11 @@ import com.hzs.common.core.constant.*;
|
|||
import com.hzs.common.core.enums.*;
|
||||
import com.hzs.common.core.exception.ServiceException;
|
||||
import com.hzs.common.core.service.RedisService;
|
||||
import com.hzs.common.core.web.domain.AjaxResult;
|
||||
import com.hzs.common.domain.retail.member.CuMemberRetailRegion;
|
||||
import com.hzs.common.domain.retail.member.ext.CuMemberRetailRegionExt;
|
||||
import com.hzs.common.domain.system.base.BdArea;
|
||||
import com.hzs.common.security.utils.SecurityUtils;
|
||||
import com.hzs.retail.member.mapper.CuMemberRetailRegionMapper;
|
||||
import com.hzs.retail.member.param.RetailMemberRegionParam;
|
||||
import com.hzs.retail.member.service.ICuMemberRetailAchieveService;
|
||||
import com.hzs.retail.member.service.ICuMemberRetailRegionService;
|
||||
import com.hzs.retail.member.vo.UnboundAreaVO;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
@ -25,7 +22,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
@ -36,9 +32,6 @@ import java.util.List;
|
|||
@Service
|
||||
public class CuMemberRetailRegionServiceImpl extends ServiceImpl<CuMemberRetailRegionMapper, CuMemberRetailRegion> implements ICuMemberRetailRegionService {
|
||||
|
||||
@Autowired
|
||||
private ICuMemberRetailAchieveService iCuMemberRetailAchieveService;
|
||||
|
||||
@Autowired
|
||||
private RedisService redisService;
|
||||
|
||||
|
@ -88,11 +81,6 @@ public class CuMemberRetailRegionServiceImpl extends ServiceImpl<CuMemberRetailR
|
|||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BdArea> listChooseRegion(Integer systemType) {
|
||||
return baseMapper.listChooseRegion(systemType);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<UnboundAreaVO> unboundAreaList(Integer pkCountry, Integer systemType) {
|
||||
return baseMapper.unboundAreaList(pkCountry, systemType);
|
||||
|
@ -103,122 +91,20 @@ public class CuMemberRetailRegionServiceImpl extends ServiceImpl<CuMemberRetailR
|
|||
return baseMapper.memberretailRegList(mrrExt);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void batchUpdateRetailRegion() {
|
||||
baseMapper.batchUpdateRetailRegion();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void checkRegion() {
|
||||
// 需要处理的会员列表
|
||||
List<CuMemberRetailRegionExt> memberList = baseMapper.listCheckRegionMember();
|
||||
|
||||
if (CollectionUtil.isNotEmpty(memberList)) {
|
||||
memberList.parallelStream().forEach(tmpMember -> {
|
||||
if (ENoticeWebsiteType.ADMIN.getValue() == tmpMember.getSource()) {
|
||||
log.info("定时任务区域有效, 会员 {} 后台配置,不取消收益区域", tmpMember.getPkId());
|
||||
return;
|
||||
}
|
||||
|
||||
// 当前时间
|
||||
Date nowDate = new Date();
|
||||
|
||||
if (tmpMember.getGradeValue() < EGrade.S_VIP.getValue()) {
|
||||
// 会员等级不足V5,需要关掉收益区域
|
||||
log.info("定时任务区域有效, 会员 {} 等级 {} 不足取消收益区域", tmpMember.getPkId(), tmpMember.getGradeValue());
|
||||
this.update(Wrappers.<CuMemberRetailRegion>lambdaUpdate()
|
||||
.eq(CuMemberRetailRegion::getPkMember, tmpMember.getPkId())
|
||||
.eq(CuMemberRetailRegion::getEffective, EYesNo.YES.getIntValue())
|
||||
.set(CuMemberRetailRegion::getEffective, EYesNo.NO.getIntValue())
|
||||
.set(CuMemberRetailRegion::getPkModified, tmpMember.getPkId())
|
||||
.set(CuMemberRetailRegion::getModifiedTime, nowDate)
|
||||
);
|
||||
} else {
|
||||
// // 获取小市场业绩
|
||||
// CuMemberRetailAchieveVO retailAchieve = iCuMemberRetailAchieveService.selectMemberSumAchieve(tmpMember.getPkId(), CountryConstants.CHINA_COUNTRY, tmpMember.getSystemType());
|
||||
// if (retailAchieve.getSmallAreaPv().compareTo(BigDecimal.ZERO) <= 0) {
|
||||
// // 正常有区域业绩肯定达标,由2万突然变0基本不可能,此处暂时不处理
|
||||
// log.info("定时任务区域有效, 会员 {} 小市场业绩归0,暂时不取消收益区域", tmpMember.getPkId());
|
||||
// return;
|
||||
// }
|
||||
// // 2025.02.07 确认需求,如果是历史已经升上去的,还是走老逻辑只校验小市场
|
||||
// String checkDate = "2025-02-10 00:00:00";
|
||||
// if (EEnv.TEST.getValue().equals(HzsConfig.getEnv())) {
|
||||
// checkDate = "2025-02-07 00:00:00";
|
||||
// }
|
||||
// if (tmpMember.getCreationTime().compareTo(DateUtils.parseDateOne(checkDate, DateUtils.YYYY_MM_DD_HH_MM_SS)) > 0) {
|
||||
// if (retailAchieve.getSmallAreaPv().multiply(new BigDecimal("10000")).compareTo(SysConstants.SMALL_AREA_PV) < 0
|
||||
// || retailAchieve.getBigArealPv().multiply(new BigDecimal("10000")).compareTo(SysConstants.SMALL_AREA_PV) < 0
|
||||
// ) {
|
||||
// // 大市场、小市场业绩小于2万,需要取消收益区域
|
||||
// log.info("2.定时任务区域有效, 会员 {} 小市场业绩 {} 取消收益区域", tmpMember.getPkId(), retailAchieve.getSmallAreaPv());
|
||||
// if (EEnv.TEST.getValue().equals(HzsConfig.getEnv())) {
|
||||
// this.update(Wrappers.<CuMemberRetailRegion>lambdaUpdate()
|
||||
// .eq(CuMemberRetailRegion::getPkMember, tmpMember.getPkId())
|
||||
// .eq(CuMemberRetailRegion::getEffective, EYesNo.YES.getIntValue())
|
||||
// .set(CuMemberRetailRegion::getEffective, EYesNo.NO.getIntValue())
|
||||
// .set(CuMemberRetailRegion::getPkModified, tmpMember.getPkId())
|
||||
// .set(CuMemberRetailRegion::getModifiedTime, nowDate)
|
||||
// );
|
||||
// }
|
||||
// }
|
||||
// } else {
|
||||
// if (retailAchieve.getSmallAreaPv().multiply(new BigDecimal("10000")).compareTo(SysConstants.SMALL_AREA_PV) < 0) {
|
||||
// // 小市场业绩小于2万,需要取消收益区域
|
||||
// log.info("1.定时任务区域有效, 会员 {} 小市场业绩 {} 取消收益区域", tmpMember.getPkId(), retailAchieve.getSmallAreaPv());
|
||||
// if (EEnv.TEST.getValue().equals(HzsConfig.getEnv())) {
|
||||
// this.update(Wrappers.<CuMemberRetailRegion>lambdaUpdate()
|
||||
// .eq(CuMemberRetailRegion::getPkMember, tmpMember.getPkId())
|
||||
// .eq(CuMemberRetailRegion::getEffective, EYesNo.YES.getIntValue())
|
||||
// .set(CuMemberRetailRegion::getEffective, EYesNo.NO.getIntValue())
|
||||
// .set(CuMemberRetailRegion::getPkModified, tmpMember.getPkId())
|
||||
// .set(CuMemberRetailRegion::getModifiedTime, nowDate)
|
||||
// );
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cancelRegion(List<Long> pkIdList) {
|
||||
this.update(Wrappers.<CuMemberRetailRegion>lambdaUpdate()
|
||||
.in(CuMemberRetailRegion::getPkId, pkIdList)
|
||||
.eq(CuMemberRetailRegion::getEffective, EYesNo.YES.getIntValue())
|
||||
.set(CuMemberRetailRegion::getEffective, EYesNo.NO.getIntValue())
|
||||
.set(CuMemberRetailRegion::getPkModified, MagicNumberConstants.PK_ADMIN)
|
||||
.set(CuMemberRetailRegion::getModifiedTime, new Date())
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getOrderCount(Long pkMember, Integer systemType, List<String> waresCodeList) {
|
||||
return baseMapper.getOrderCount(pkMember, systemType, waresCodeList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleRepeatRegion() {
|
||||
for (ESystemType eSystemType : ESystemType.getEnableList()) {
|
||||
List<CuMemberRetailRegion> retailRegionList = baseMapper.listRepeatData(eSystemType.getValue());
|
||||
if (CollectionUtil.isNotEmpty(retailRegionList)) {
|
||||
retailRegionList.parallelStream().forEach(retailRegion -> {
|
||||
baseMapper.updateRepeatDate(retailRegion.getProvince(), retailRegion.getCity(), retailRegion.getCounty(), eSystemType.getValue());
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Tree<String>> getRegionTreeList(String queryType) {
|
||||
List<BdArea> areaList = baseMapper.getRegionTreeList(queryType, SecurityUtils.getUserId());
|
||||
public List<Tree<String>> getRegionTreeList(String queryType, Long pkMember) {
|
||||
List<BdArea> areaList = baseMapper.getRegionTreeList(queryType, pkMember);
|
||||
if (CollectionUtil.isEmpty(areaList)) {
|
||||
return null;
|
||||
}
|
||||
TreeNodeConfig treeNodeConfig = new TreeNodeConfig();
|
||||
treeNodeConfig.setDeep(3);
|
||||
if(RetailRegionTreeQueryConstants.CITY.equals(queryType)){
|
||||
if (RetailRegionTreeQueryConstants.CITY.equals(queryType)) {
|
||||
treeNodeConfig.setDeep(2);
|
||||
}
|
||||
return TreeUtil.build(areaList, "0", treeNodeConfig,
|
||||
|
|
|
@ -10,14 +10,6 @@
|
|||
AND m.pk_parent = #{pkMember}
|
||||
</select>
|
||||
|
||||
<select id="selectBigAreaByPkMember" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
||||
select * from (
|
||||
<include refid="selectSmallAreaAchieve"/>
|
||||
ORDER BY arealPv desc
|
||||
) t2
|
||||
where rownum =1
|
||||
</select>
|
||||
|
||||
<sql id="selectSmallAreaAchieve">
|
||||
<foreach collection="pkMemberList" item="pkMember" separator="union all">
|
||||
SELECT SUM(t1.arealPv) arealPv ,#{pkMember} pkMember
|
||||
|
@ -68,138 +60,10 @@
|
|||
</foreach>
|
||||
</sql>
|
||||
|
||||
|
||||
<select id="selectMemberBoxNoWaterInjection" resultType="integer">
|
||||
SELECT nvl(max(smallAreaBox), 0) smallareabox
|
||||
from
|
||||
(
|
||||
<if test="pkMemberList != null and pkMemberList.size > 0">
|
||||
<include refid="selectMemberDirectPushBox"/>
|
||||
union all
|
||||
</if>
|
||||
SELECT nvl(sum(smallAreaBox), 0) smallAreaBox
|
||||
FROM (SELECT NVL(mr.consume_box_num, 0) smallAreaBox
|
||||
FROM ${memberRetailTable} mr
|
||||
WHERE mr.category = 0
|
||||
AND mr.pk_member = #{pkMember}
|
||||
union all
|
||||
select rs.new_box_num smallAreaBox
|
||||
from ${memberRetailSTable} rs
|
||||
where rs.pk_member = #{pkMember})
|
||||
)
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectMemberBoxWaterInjection" resultType="integer">
|
||||
SELECT NVL(mr.big_box_num, 0) smallAreaBox
|
||||
FROM ${memberRetailTable} mr
|
||||
WHERE mr.category = 0
|
||||
AND mr.pk_member = #{pkMember}
|
||||
</select>
|
||||
|
||||
<select id="selectMemberTotalBox" resultType="integer">
|
||||
SELECT nvl(sum(totalAreaBox), 0) totalAreaBox
|
||||
FROM (SELECT NVL(mr.team_box_num + mr.consume_box_num, 0) totalAreaBox
|
||||
FROM ${memberRetailTable} mr
|
||||
WHERE mr.category = 0
|
||||
AND mr.pk_member = #{pkMember}
|
||||
union all
|
||||
select NVL(rs.new_box_num + rs.team_new_box_num, 0) totalAreaBox
|
||||
from ${memberRetailSTable} rs
|
||||
where rs.pk_member = #{pkMember})
|
||||
</select>
|
||||
|
||||
<select id="selectMemberOrderByPkMember" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
||||
SELECT t0.payTime
|
||||
FROM (SELECT so.pay_time payTime
|
||||
FROM sa_order so
|
||||
WHERE so.del_flag = 0
|
||||
AND so.order_status = 1
|
||||
AND so.order_type = 40
|
||||
AND so.pay_time >= TRUNC(SYSDATE)
|
||||
AND so.pk_member = #{pkMember}
|
||||
ORDER BY so.pay_time) t0
|
||||
WHERE ROWNUM = 1
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectMemberParentByPkMember" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
||||
<foreach collection="pkMemberList" item="pkMember" separator="union all">
|
||||
SELECT SUM(t1.arealPv) arealPv , SUM(t1.welfarelPv) welfarelPv,#{pkMember} pkMember
|
||||
FROM (
|
||||
SELECT NVL(SUM(so.order_achieve) + SUM(so.order_ass_achieve), 0) arealPv,
|
||||
NVL(SUM(so.order_achieve) + SUM(so.order_ass_achieve), 0) welfarelPv
|
||||
FROM sa_order so
|
||||
WHERE so.del_flag = 0
|
||||
AND so.order_status = 1
|
||||
AND so.order_type =40
|
||||
AND so.pay_time >= #{payTime}
|
||||
AND so.pk_member IN (
|
||||
SELECT t0.pk_id
|
||||
FROM (SELECT m.pk_id,
|
||||
m.del_flag,
|
||||
m.category,
|
||||
m.pay_status,
|
||||
m.system_type
|
||||
FROM cu_member m
|
||||
START WITH m.pk_id = #{pkMember}
|
||||
CONNECT BY PRIOR m.pk_id = m.pk_parent) t0
|
||||
WHERE t0.del_flag = 0
|
||||
AND t0.category = 0)
|
||||
) t1
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<select id="selectTableNameIsExist" resultType="string">
|
||||
SELECT table_name FROM user_tables WHERE table_name in
|
||||
<foreach item="table" collection="tableNames" open="(" separator="," close=")">
|
||||
#{table}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectMemberAchieve" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
||||
<include refid="selectSmallAreaAchieve"/>
|
||||
</select>
|
||||
|
||||
<select id="selectMemberAchieveDetail_bak" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
||||
SELECT mr.member_code memberCode,
|
||||
mr.member_name memberName,
|
||||
mr.new_consume_pv + mr.team_new_pv yesterdayPv,
|
||||
mr.consume_pv + mr.team_consume_pv sumPv,
|
||||
mr.month_consume_pv + mr.team_month_pv monthPv
|
||||
FROM ${memberRetailTable} mr
|
||||
WHERE mr.category = 0
|
||||
AND mr.pay_status = 1
|
||||
AND mr.pk_member = #{pkMember}
|
||||
<if test="pkMemberList != null and pkMemberList.size > 0">
|
||||
union all
|
||||
SELECT mr.member_code memberCode,
|
||||
mr.member_name memberName,
|
||||
mr.new_consume_pv + mr.team_new_pv yesterdayPv,
|
||||
mr.consume_pv + mr.team_consume_pv sumPv,
|
||||
mr.month_consume_pv + mr.team_month_pv monthPv
|
||||
FROM ${memberRetailTable} mr
|
||||
WHERE mr.category = 0
|
||||
AND mr.pay_status = 1
|
||||
<if test="memberName != null and memberName != ''">
|
||||
and (mr.member_code like #{memberName} || '%' or mr.member_name like #{memberName} || '%')
|
||||
</if>
|
||||
AND mr.pk_member in
|
||||
<foreach collection="pkMemberList" item="item" index="index" open="(" close=")">
|
||||
<if test="index != 0">
|
||||
<choose>
|
||||
<when test="index % 999 == 0">) or mr.pk_member IN (</when>
|
||||
<otherwise>,</otherwise>
|
||||
</choose>
|
||||
</if>
|
||||
#{item}
|
||||
</foreach>
|
||||
ORDER BY sumPv desc
|
||||
</if>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectMemberAchieveDetail" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
||||
SELECT cm.member_code memberCode, cm.member_name memberName,cm.nick_name nickName, t2.yesterdayPv, t2.sumPv,
|
||||
t2.monthPv,t2.realTimePv, t2.upMonthPv,bg.grade_name grade, ba.awards_name award
|
||||
|
@ -417,50 +281,6 @@
|
|||
)
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectWaterInjection" resultType="integer">
|
||||
SELECT count(1)
|
||||
FROM (SELECT sr.team_box_num, sr.small_box_num, sr.period_date
|
||||
FROM cu_member_spe_retail sr
|
||||
where sr.del_flag = 0
|
||||
and sr.pk_country = 1
|
||||
and sr.period_date < TRUNC(SYSDATE)
|
||||
and sr.member_code = #{memberCode}
|
||||
ORDER BY sr.period_date desc) t0
|
||||
where rownum = 1
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectMemberActiveState" resultType="integer">
|
||||
SELECT min(t0.enable_status) enable_status
|
||||
FROM (SELECT mr.enable_status
|
||||
FROM ${memberRetailTable} mr
|
||||
where mr.pk_member = #{pkMember}
|
||||
union all
|
||||
SELECT mrs.enable_status
|
||||
FROM ${memberRetailSTable} mrs
|
||||
where mrs.pk_member = #{pkMember}) t0
|
||||
</select>
|
||||
|
||||
<!--开始大小区业绩 以累计为准 -->
|
||||
<select id="selectMemberOrderSumAchieveByPkMember" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
||||
SELECT sum(arealPv) arealPv
|
||||
FROM (SELECT NVL(mr.CONSUME_PV, 0) arealPv
|
||||
FROM ${memberRetailTable} mr
|
||||
WHERE mr.category = 0
|
||||
AND mr.pk_member = #{pkMember}
|
||||
union all
|
||||
SELECT NVL(SUM(so.order_achieve), 0) arealPv
|
||||
FROM sa_order so
|
||||
WHERE so.del_flag = 0
|
||||
AND so.order_status = 1
|
||||
AND so.order_type in (41, 42, 43, 44)
|
||||
AND so.system_type = #{systemType}
|
||||
AND so.pay_time >= TRUNC(SYSDATE)
|
||||
AND so.pk_member = #{pkMember})
|
||||
</select>
|
||||
|
||||
|
||||
<sql id="selectSmallAreaSumAchieveBak">
|
||||
<foreach collection="pkMemberList" item="pkMember" separator="union all">
|
||||
SELECT SUM(t1.arealPv) arealPv ,#{pkMember} pkMember
|
||||
|
@ -510,14 +330,6 @@
|
|||
</foreach>
|
||||
</sql>
|
||||
|
||||
|
||||
<select id="selectMemberSumAchieve" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
||||
<include refid="selectSmallAreaSumAchieve"/>
|
||||
</select>
|
||||
|
||||
<!--结束 大小区业绩 以累计为准 -->
|
||||
|
||||
|
||||
<!--市场动态盒数 开始-->
|
||||
<select id="selectMemberBigSmallBox" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
||||
SELECT nvl(sum(bigAreaBox), 0) bigAreaBox, nvl(sum(smallAreaBox), 0) smallAreaBox
|
||||
|
@ -635,7 +447,7 @@
|
|||
#{item}
|
||||
</foreach>
|
||||
union all
|
||||
SELECT ab.team_sum_box * -1 + ab.sum_box * -1 yesterdayBox,
|
||||
SELECT ab.team_sum_box * -1 + ab.sum_box * -1 yesterdayBox,
|
||||
0 realTimeBox,
|
||||
0 upMonthBox,
|
||||
0 monthBox,
|
||||
|
@ -827,42 +639,33 @@
|
|||
</select>
|
||||
<!--市场动态盒数 结束-->
|
||||
|
||||
|
||||
<select id="selectSubMemberIdByRootMember" resultType="java.lang.Long">
|
||||
select cm.pk_id, cm.MEMBER_NAME
|
||||
from cu_member cm
|
||||
where cm.SYSTEM_TYPE = #{systemType}
|
||||
start with cm.pk_id = #{pkMember}
|
||||
connect by prior cm.pk_id = cm.pk_parent
|
||||
order by level
|
||||
</select>
|
||||
<select id="getRetailDataStatisticsDetail"
|
||||
resultType="com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO">
|
||||
SELECT
|
||||
cu.pk_id,
|
||||
cu.MEMBER_CODE,
|
||||
mr.ENABLE_STATUS,
|
||||
NVL( mr.CONSUME_PV, 0 ) consumePv,
|
||||
NVL( mr.NEW_CONSUME_PV, 0 ) newConsumePv,
|
||||
NVL( mr.TEAM_CONSUME_PV, 0 ) teamConsumePv,
|
||||
NVL( mr.TEAM_NEW_PV, 0 ) teamNewPv,
|
||||
cu.pk_id,
|
||||
cu.MEMBER_CODE,
|
||||
mr.ENABLE_STATUS,
|
||||
NVL( mr.CONSUME_PV, 0 ) consumePv,
|
||||
NVL( mr.NEW_CONSUME_PV, 0 ) newConsumePv,
|
||||
NVL( mr.TEAM_CONSUME_PV, 0 ) teamConsumePv,
|
||||
NVL( mr.TEAM_NEW_PV, 0 ) teamNewPv,
|
||||
|
||||
NVL( mr.CONSUME_BOX_NUM, 0 ) consumeBoxNum,
|
||||
NVL( mr.NEW_BOX_NUM, 0 ) newBoxNum,
|
||||
NVL( mr.TEAM_BOX_NUM, 0 ) teamBoxNum,
|
||||
NVL( mr.TEAM_NEW_BOX_NUM, 0 ) teamNewBoxNum,
|
||||
NVL( mr.BIG_BOX_NUM, 0 ) bigBoxNum,
|
||||
NVL( mr.SMALL_BOX_NUM, 0 ) smallBoxNum,
|
||||
NVL( mr.CONSUME_BOX_NUM, 0 ) consumeBoxNum,
|
||||
NVL( mr.NEW_BOX_NUM, 0 ) newBoxNum,
|
||||
NVL( mr.TEAM_BOX_NUM, 0 ) teamBoxNum,
|
||||
NVL( mr.TEAM_NEW_BOX_NUM, 0 ) teamNewBoxNum,
|
||||
NVL( mr.BIG_BOX_NUM, 0 ) bigBoxNum,
|
||||
NVL( mr.SMALL_BOX_NUM, 0 ) smallBoxNum,
|
||||
|
||||
|
||||
NVL( mrs.NEW_BOX_NUM, 0 ) sNewBoxNum,
|
||||
NVL( mrs.TEAM_NEW_BOX_NUM, 0 ) sTeamNewBoxNum,
|
||||
NVL( mrs.NEW_CONSUME_PV, 0 ) sNewConsumePv,
|
||||
NVL( mrs.TEAM_NEW_PV, 0 ) sTeamNewPv
|
||||
NVL( mrs.NEW_BOX_NUM, 0 ) sNewBoxNum,
|
||||
NVL( mrs.TEAM_NEW_BOX_NUM, 0 ) sTeamNewBoxNum,
|
||||
NVL( mrs.NEW_CONSUME_PV, 0 ) sNewConsumePv,
|
||||
NVL( mrs.TEAM_NEW_PV, 0 ) sTeamNewPv
|
||||
FROM
|
||||
cu_member cu
|
||||
left join ${memberRetailTable} mr on cu.PK_ID = mr.PK_MEMBER and mr.CATEGORY = 0
|
||||
left JOIN ${memberRetailSTable} mrs on cu.PK_ID = mrs.PK_MEMBER
|
||||
cu_member cu
|
||||
left join ${memberRetailTable} mr on cu.PK_ID = mr.PK_MEMBER and mr.CATEGORY = 0
|
||||
left JOIN ${memberRetailSTable} mrs on cu.PK_ID = mrs.PK_MEMBER
|
||||
<where>
|
||||
<if test="pkMemberList != null and pkMemberList.size > 0">
|
||||
cu.pk_id in
|
||||
|
@ -874,30 +677,31 @@
|
|||
</select>
|
||||
<select id="getMarketDynamicsDetail" resultType="com.hzs.retail.member.vo.MarketDynamicsDetailVO">
|
||||
SELECT
|
||||
cu.pk_id,
|
||||
cu.MEMBER_CODE,
|
||||
cu.MEMBER_NAME,
|
||||
cu.PK_SETTLE_GRADE,
|
||||
grade.GRADE_NAME,
|
||||
cu.PK_AWARDS,
|
||||
awards.AWARDS_NAME,
|
||||
currentMonth.ENABLE_STATUS,
|
||||
NVL( NVL( currentDay.NEW_CONSUME_PV, 0 ) + NVL( currentDay.TEAM_NEW_PV, 0 ), 0 ) todayPv,
|
||||
NVL( NVL( currentDay.NEW_BOX_NUM, 0 ) + NVL( currentDay.TEAM_NEW_BOX_NUM, 0 ), 0 ) todayBoxNum,
|
||||
NVL( NVL( currentMonth.NEW_CONSUME_PV, 0 ) + NVL( currentMonth.TEAM_NEW_PV, 0 ), 0 ) yesterdayPv,
|
||||
NVL( NVL( currentMonth.NEW_BOX_NUM, 0 ) + NVL( currentMonth.TEAM_NEW_BOX_NUM, 0 ), 0 ) yesterdayBoxNum,
|
||||
NVL( NVL( currentMonth.MONTH_CONSUME_PV, 0 ) + NVL( currentDay.NEW_CONSUME_PV, 0 ) + NVL( currentDay.TEAM_NEW_PV, 0 ), 0 ) currentMonthPv,
|
||||
NVL( NVL( currentMonth.MONTH_BOX_NUM, 0 ) + NVL( currentMonth.TEAM_MONTH_BOX_NUM, 0 ) + NVL( currentDay.NEW_BOX_NUM, 0 ) + NVL( currentDay.TEAM_NEW_BOX_NUM, 0 ), 0 ) currentMonthBoxNum,
|
||||
NVL( lastMonth.MONTH_CONSUME_PV, 0 ) lastMonthPv,
|
||||
NVL( lastMonth.MONTH_BOX_NUM, 0 ) lastMonthBoxNum,
|
||||
NVL( NVL( currentMonth.CONSUME_BOX_NUM, 0 ) + NVL( currentDay.NEW_BOX_NUM, 0 ) + NVL( currentDay.TEAM_NEW_BOX_NUM, 0 ), 0 ) totalBoxNum
|
||||
cu.pk_id,
|
||||
cu.MEMBER_CODE,
|
||||
cu.MEMBER_NAME,
|
||||
cu.PK_SETTLE_GRADE,
|
||||
grade.GRADE_NAME,
|
||||
cu.PK_AWARDS,
|
||||
awards.AWARDS_NAME,
|
||||
currentMonth.ENABLE_STATUS,
|
||||
NVL( NVL( currentDay.NEW_CONSUME_PV, 0 ) + NVL( currentDay.TEAM_NEW_PV, 0 ), 0 ) todayPv,
|
||||
NVL( NVL( currentDay.NEW_BOX_NUM, 0 ) + NVL( currentDay.TEAM_NEW_BOX_NUM, 0 ), 0 ) todayBoxNum,
|
||||
NVL( NVL( currentMonth.NEW_CONSUME_PV, 0 ) + NVL( currentMonth.TEAM_NEW_PV, 0 ), 0 ) yesterdayPv,
|
||||
NVL( NVL( currentMonth.NEW_BOX_NUM, 0 ) + NVL( currentMonth.TEAM_NEW_BOX_NUM, 0 ), 0 ) yesterdayBoxNum,
|
||||
NVL( NVL( currentMonth.MONTH_CONSUME_PV, 0 ) + NVL( currentDay.NEW_CONSUME_PV, 0 ) + NVL( currentDay.TEAM_NEW_PV, 0 ), 0 ) currentMonthPv,
|
||||
NVL( NVL( currentMonth.MONTH_BOX_NUM, 0 ) + NVL( currentMonth.TEAM_MONTH_BOX_NUM, 0 ) + NVL( currentDay.NEW_BOX_NUM, 0 ) + NVL(
|
||||
currentDay.TEAM_NEW_BOX_NUM, 0 ), 0 ) currentMonthBoxNum,
|
||||
NVL( lastMonth.MONTH_CONSUME_PV, 0 ) lastMonthPv,
|
||||
NVL( lastMonth.MONTH_BOX_NUM, 0 ) lastMonthBoxNum,
|
||||
NVL( NVL( currentMonth.CONSUME_BOX_NUM, 0 ) + NVL( currentDay.NEW_BOX_NUM, 0 ) + NVL( currentDay.TEAM_NEW_BOX_NUM, 0 ), 0 ) totalBoxNum
|
||||
FROM
|
||||
cu_member cu
|
||||
LEFT JOIN ${param.currentDayTableName} currentDay ON cu.PK_ID = currentDay.PK_MEMBER
|
||||
LEFT JOIN ${param.currentMonthTableName} currentMonth ON cu.PK_ID = currentMonth.PK_MEMBER AND cu.CATEGORY = 0
|
||||
LEFT JOIN ${param.lastMonthTableName} lastMonth ON cu.PK_ID = lastMonth.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
|
||||
cu_member cu
|
||||
LEFT JOIN ${param.currentDayTableName} currentDay ON cu.PK_ID = currentDay.PK_MEMBER
|
||||
LEFT JOIN ${param.currentMonthTableName} currentMonth ON cu.PK_ID = currentMonth.PK_MEMBER AND cu.CATEGORY = 0
|
||||
LEFT JOIN ${param.lastMonthTableName} lastMonth ON cu.PK_ID = lastMonth.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
|
||||
<where>
|
||||
<if test="param.pkIdList != null and param.pkIdList.size > 0">
|
||||
cu.pk_id in
|
||||
|
|
|
@ -31,26 +31,9 @@
|
|||
and bax.del_flag = 0
|
||||
where cm.del_flag = 0
|
||||
and cm.pk_id = #{pkMember}
|
||||
-- and cm.IS_ACTIVATE=0
|
||||
and bg.grade_value >= #{gradeValue}
|
||||
</select>
|
||||
|
||||
<!-- 可选择的收益区域 -->
|
||||
<select id="listChooseRegion" resultType="com.hzs.common.domain.system.base.BdArea">
|
||||
select ba.PK_ID, ba.PARENT, ba.NAME
|
||||
from bd_area ba
|
||||
where ba.del_flag = 0
|
||||
and ba.pk_country = 1
|
||||
and ba.ENABLE_STATE = 0
|
||||
and ba.pk_id not in (select cmrr.county
|
||||
from cu_member_retail_region cmrr
|
||||
where cmrr.del_flag = 0
|
||||
and cmrr.pk_country = 1
|
||||
and cmrr.effective = 0
|
||||
and cmrr.system_type = #{systemType}
|
||||
)
|
||||
</select>
|
||||
|
||||
<!-- 插入收益区域 -->
|
||||
<insert id="insertData">
|
||||
insert into cu_member_retail_region cmrr (
|
||||
|
@ -184,28 +167,6 @@
|
|||
order by CRR.CREATION_TIME desc
|
||||
</select>
|
||||
|
||||
<!-- 批量修改已到期的会员收益区域-->
|
||||
<update id="batchUpdateRetailRegion" parameterType="java.lang.Long">
|
||||
UPDATE CU_MEMBER_RETAIL_REGION
|
||||
SET EFFECTIVE=1,
|
||||
MODIFIED_TIME=sysdate
|
||||
WHERE EFFECTIVE = 0
|
||||
AND DEL_FLAG = 0
|
||||
AND EFFECTIVE_END_DATE < = sysdate
|
||||
</update>
|
||||
|
||||
<!-- 重新判断收益区域数据 -->
|
||||
<select id="listCheckRegionMember" resultType="com.hzs.common.domain.retail.member.ext.CuMemberRetailRegionExt">
|
||||
select cmrr.pk_member, cmrr.source, bg.grade_value, cmrr.creation_time, cmrr.system_type
|
||||
from cu_member_retail_region cmrr
|
||||
inner join cu_member cm
|
||||
on cm.pk_id = cmrr.pk_member
|
||||
left join bd_grade bg
|
||||
on bg.pk_id = cm.pk_settle_grade
|
||||
where cmrr.del_flag = 0
|
||||
and cmrr.effective = 0
|
||||
</select>
|
||||
|
||||
<!-- 会员购买订单数量 -->
|
||||
<select id="getOrderCount" resultType="int">
|
||||
select count(1)
|
||||
|
@ -229,16 +190,6 @@
|
|||
</foreach>
|
||||
</select>
|
||||
|
||||
<!-- 获取重复数据 -->
|
||||
<select id="listRepeatData" resultType="com.hzs.common.domain.retail.member.CuMemberRetailRegion">
|
||||
select cmrr.province, cmrr.city, cmrr.county
|
||||
from cu_member_retail_region cmrr
|
||||
where cmrr.del_flag = 0
|
||||
and cmrr.effective = 0
|
||||
and cmrr.system_type = #{systemType}
|
||||
group by cmrr.province, cmrr.city, cmrr.county
|
||||
having count(1) > 1
|
||||
</select>
|
||||
<select id="getRegionTreeList" resultType="com.hzs.common.domain.system.base.BdArea">
|
||||
SELECT
|
||||
pr.*,
|
||||
|
@ -284,28 +235,4 @@
|
|||
nvl( region.num, 0 ) DESC
|
||||
</select>
|
||||
|
||||
<!-- 更新非最新区域其它数据 -->
|
||||
<update id="updateRepeatDate">
|
||||
update cu_member_retail_region cmrr
|
||||
set cmrr.effective = 1,
|
||||
cmrr.modified_time = sysdate
|
||||
where cmrr.del_flag = 0
|
||||
and cmrr.effective = 0
|
||||
and cmrr.province = #{province}
|
||||
and cmrr.city = #{city}
|
||||
and cmrr.county = #{county}
|
||||
and cmrr.system_type = #{systemType}
|
||||
and cmrr.pk_id not in (select pk_id
|
||||
from (select cmrr.pk_id
|
||||
from cu_member_retail_region cmrr
|
||||
where cmrr.del_flag = 0
|
||||
and cmrr.effective = 0
|
||||
and cmrr.province = #{province}
|
||||
and cmrr.city = #{city}
|
||||
and cmrr.county = #{county}
|
||||
and cmrr.system_type = #{systemType}
|
||||
order by cmrr.creation_time)
|
||||
where rownum = 1)
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
|
|
|
@ -99,6 +99,7 @@ public class ApiRetailOrderController {
|
|||
if (null != bdGrade) {
|
||||
orderLevelVO.setIsEnough(true);
|
||||
orderLevelVO.setPkGradeVal(bdGrade.getGradeName());
|
||||
orderLevelVO.setGradeValue(bdGrade.getGradeValue());
|
||||
} else {
|
||||
orderLevelVO.setMsg("会员不满足升级条件");
|
||||
}
|
||||
|
|
|
@ -8,11 +8,7 @@ import lombok.NoArgsConstructor;
|
|||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @Description: 新零售订单等级返回VO
|
||||
* @Author: jiang chao
|
||||
* @Time: 2024/12/12 17:31
|
||||
* @Classname: RetailerOrderLevelVO
|
||||
* @PackageName: com.hzs.retail.sale.vo
|
||||
* 新零售订单等级返回VO
|
||||
*/
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
|
@ -30,6 +26,11 @@ public class RetailerOrderLevelVO implements Serializable {
|
|||
*/
|
||||
private String pkGradeVal;
|
||||
|
||||
/**
|
||||
* 等级值
|
||||
*/
|
||||
private Integer gradeValue;
|
||||
|
||||
/**
|
||||
* 返回信息
|
||||
*/
|
||||
|
|
|
@ -292,7 +292,6 @@ public enum EOperationBusiness {
|
|||
PRODUCT_GIVE("商品赠送"),
|
||||
|
||||
CONSUME_GIVE("消费赠送"),
|
||||
PLANTING_PUBLIC_WELFARE("种植公益配置"),
|
||||
|
||||
RECHARGE_PICK("充值提货卡"),
|
||||
|
||||
|
@ -350,27 +349,6 @@ public enum EOperationBusiness {
|
|||
STOREHOUSE_AREA_MIDDLE("地区仓库"),
|
||||
PRODUCT_STOREHOUSE("产品绑定仓库配置"),
|
||||
|
||||
//////////////////// 站点配置 ////////////////////
|
||||
|
||||
INDEX_BACKGROUND("首页背景"),
|
||||
|
||||
CORPORATE_MISSION("企业使命"),
|
||||
COMPANY_NEWS("公司新闻"),
|
||||
|
||||
COMPANY_SHOW("公司风采"),
|
||||
|
||||
VR_ZONE("VR专区"),
|
||||
|
||||
HONOR("荣誉资质"),
|
||||
|
||||
DEVELOP("发展历程"),
|
||||
|
||||
GLOBAL_DISTRIBUTION("全球分布"),
|
||||
|
||||
WEBSITE_BANNER("官网Banner"),
|
||||
|
||||
PRODUCT_CONFIG("商品配置"),
|
||||
|
||||
//////////////////// 自助服务 ////////////////////
|
||||
DOMICILE_CHANGE("户籍变更"),
|
||||
MODIFY_ADDRESS("修改地址"),
|
||||
|
@ -423,7 +401,6 @@ public enum EOperationBusiness {
|
|||
PRODUCT_SHIPPING_DETAILS_LIST("出货明细汇总统计"),
|
||||
PRODUCT_SHIPPING_DETAILS_INFO_LIST("出货明细汇总统计详情"),
|
||||
REPORT_SUMMARY_LIST("报单汇总"),
|
||||
PLACE_PEG("安置反查"),
|
||||
PARENT_PEG("推荐反查"),
|
||||
PRODUCT_DETAIL_QUERY_LIST("产品明细查询"),
|
||||
MONTHLY_JOB_LEVEL("月度职级名单查询"),
|
||||
|
|
|
@ -232,26 +232,6 @@ public enum EOperationModule {
|
|||
|
||||
WHITE_LIST("白名单"),
|
||||
|
||||
//////////////////// 站点配置 ////////////////////
|
||||
|
||||
INDEX_BACKGROUND("首页背景"),
|
||||
|
||||
CORPORATE_MISSION("企业使命"),
|
||||
|
||||
COMPANY_NEWS("公司新闻"),
|
||||
COMPANY_SHOW("公司风采"),
|
||||
VR_ZONE("VR专区"),
|
||||
|
||||
MEMORABILIA("大事记"),
|
||||
|
||||
GLOBAL_DISTRIBUTION("全球分布"),
|
||||
|
||||
WEBSITE_BANNER("官网Banner"),
|
||||
|
||||
PRODUCT_CONFIG("商品配置"),
|
||||
COMPANY_STYLE("公司风采"),
|
||||
DEVELOP("发展历程"),
|
||||
|
||||
//////////////////// 公用 ////////////////////
|
||||
|
||||
COMMON_FILE("文件操作"),
|
||||
|
@ -412,8 +392,6 @@ public enum EOperationModule {
|
|||
|
||||
CU_MEMBER_TEAM("隶属团队"),
|
||||
|
||||
HO_GLOBAL_COMPANY("全球分布"),
|
||||
|
||||
BONUS_DETAIL("奖金明细"),
|
||||
|
||||
AC_RECOMMEEND_CONFIG("直推赠送"),
|
||||
|
@ -428,8 +406,6 @@ public enum EOperationModule {
|
|||
///////////////////////////统计分析////////////////////////////
|
||||
STATISTIC_ANALYSIS("统计分析"),
|
||||
|
||||
SUPPLIER_GOODS("供应商商品"),
|
||||
|
||||
;
|
||||
|
||||
/**
|
||||
|
|
|
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
|||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.hzs.common.core.web.domain.BaseEntity;
|
||||
|
@ -12,12 +13,7 @@ import lombok.*;
|
|||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 新零售会员区域考核明细表
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2025-01-13
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
|
|
@ -1,35 +0,0 @@
|
|||
package com.hzs.common.domain.member.detail.ext;
|
||||
|
||||
import com.hzs.common.domain.member.detail.CuRegionAssess;
|
||||
import com.hzs.common.domain.member.detail.CuRegionAssessDetail;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description: 区域考核结果
|
||||
* @author: sui q
|
||||
* @time: 2025/1/15 17:14
|
||||
* @classname: CuRegionAssessExt
|
||||
* @package_name: com.hzs.common.domain.member.detail.ext
|
||||
* version 1.0.0
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class CuRegionAssessExt extends CuRegionAssess {
|
||||
|
||||
private String memberCode;
|
||||
|
||||
private String memberName;
|
||||
|
||||
private String provinceName;
|
||||
|
||||
private String cityName;
|
||||
|
||||
private String countyName;
|
||||
|
||||
private String assessAddress;
|
||||
|
||||
private List<CuRegionAssessDetail> cuRegionAssessDetailList;
|
||||
}
|
|
@ -1,15 +1,12 @@
|
|||
package com.hzs.third.job;
|
||||
|
||||
import com.hzs.activity.pick.IAcRetailPickLogServiceApi;
|
||||
import com.hzs.bonus.detail.ICuRegionAssessApi;
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.common.core.utils.DateUtils;
|
||||
import com.hzs.member.base.ICuMemberRetailRegionServiceApi;
|
||||
import com.hzs.member.base.IMemberServiceApi;
|
||||
import com.hzs.member.statis.ICuBonusStatisServiceApi;
|
||||
import com.hzs.member.statis.ICuBonusVertexStatisServiceApi;
|
||||
import com.hzs.report.stat.IMemberReportServiceApi;
|
||||
import com.hzs.retail.member.IMemberRetailApi;
|
||||
import com.xxl.job.core.handler.annotation.XxlJob;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
|
@ -27,19 +24,13 @@ public class MemberJob {
|
|||
@DubboReference
|
||||
IMemberServiceApi iMemberServiceApi;
|
||||
@DubboReference
|
||||
IMemberRetailApi iMemberRetailApi;
|
||||
@DubboReference
|
||||
ICuBonusStatisServiceApi iCuBonusStatisServiceApi;
|
||||
@DubboReference
|
||||
ICuBonusVertexStatisServiceApi iCuBonusVertexStatisServiceApi;
|
||||
@DubboReference
|
||||
ICuMemberRetailRegionServiceApi iCuMemberRetailRegionServiceApi;
|
||||
@DubboReference
|
||||
IAcRetailPickLogServiceApi iAcRetailPickLogServiceApi;
|
||||
@DubboReference
|
||||
IMemberReportServiceApi iMemberReportServiceApi;
|
||||
@DubboReference
|
||||
ICuRegionAssessApi iCuRegionAssessApi;
|
||||
|
||||
/**
|
||||
* 定时统计奖金拨比
|
||||
|
@ -125,35 +116,6 @@ public class MemberJob {
|
|||
log.info("clear-member-empty-code 开始结束! 共处理:{}", dataCount);
|
||||
}
|
||||
|
||||
/**
|
||||
* 定时修改到期的零售区域
|
||||
**/
|
||||
@XxlJob("retail-region")
|
||||
public void retailRegion() {
|
||||
Date date = new Date();
|
||||
Date startDate = DateUtils.beforeDate(2, ChronoUnit.DAYS, date);
|
||||
Date endDate = DateUtils.afterDate(1, ChronoUnit.DAYS, date);
|
||||
//批量修改已到期的会员收益区域
|
||||
iCuRegionAssessApi.validateHandAreaAssess(startDate, endDate);
|
||||
}
|
||||
|
||||
/**
|
||||
* 定时校验会员收益区域
|
||||
*/
|
||||
@XxlJob("checkRegion")
|
||||
public void checkRegion() {
|
||||
// 定时校验会员收益区域
|
||||
iMemberRetailApi.checkRegion();
|
||||
}
|
||||
|
||||
/**
|
||||
* 定时任务重复收益区域数据
|
||||
*/
|
||||
@XxlJob("handleRepeatRegion")
|
||||
public void handleRepeatRegion() {
|
||||
iCuMemberRetailRegionServiceApi.handleRepeatRegion();
|
||||
}
|
||||
|
||||
/**
|
||||
* 每月10号处理上个月提货赠送活动满足活动规则的数据
|
||||
**/
|
||||
|
|
Loading…
Reference in New Issue