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.hzs.system.config.IBdBarCodeServiceApi; import com.xxl.job.core.handler.annotation.XxlJob; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Component; import java.time.temporal.ChronoUnit; import java.util.Date; /** * @BelongsProject: hzs_cloud * @BelongsPackage: com.hzs.third.job * @Author: yh * @CreateTime: 2023-04-27 09:31 * @Description: * @Version: 1.0 */ @ConditionalOnProperty(name = "xxl-job.start", havingValue = "true") @Component @Slf4j public class MemberJob { @DubboReference IMemberServiceApi memberServiceApi; @DubboReference ICuBonusStatisServiceApi iCuBonusStatisServiceApi; @DubboReference ICuBonusVertexStatisServiceApi iCuBonusVertexStatisServiceApi; @DubboReference IBdBarCodeServiceApi iBdBarCodeServiceApi; @DubboReference ICuMemberRetailRegionServiceApi iCuMemberRetailRegionServiceApi; @DubboReference IMemberRetailApi iMemberRetailApi; @DubboReference IAcRetailPickLogServiceApi iAcRetailPickLogServiceApi; @DubboReference IMemberReportServiceApi iMemberReportServiceApi; @DubboReference ICuRegionAssessApi iCuRegionAssessApi; /** * 定时统计奖金拨比 */ @XxlJob("bonus-statis") public void cuBonusStatis() { //查询前一天的订单和奖金 Date date = DateUtils.currentDate(); date = DateUtils.beforeDate(1, ChronoUnit.DAYS, date); String payTimeStr = (DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date)); R statis = iCuBonusStatisServiceApi.statisHistoryBonus(payTimeStr, payTimeStr); if (!statis.getData()) { log.info("{}-定时统计奖金拨统计失败", DateUtils.currentDate()); } } /** * 定时统计顶点奖金拨比 */ @XxlJob("bonus-vertex-statis") public void cuBonusVertexStatis() { //查询前一天的订单和奖金 Date date = DateUtils.currentDate(); date = DateUtils.beforeDate(1, ChronoUnit.DAYS, date); String payTimeStr = (DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date)); R statis = iCuBonusVertexStatisServiceApi.anewStatisHistoryBonus(payTimeStr, payTimeStr); if (!statis.getData()) { log.info("{}-定时统计奖金拨统计失败", DateUtils.currentDate()); } } /** * @description: 重算7天内奖金拨比 * @author: zhang jing * @date: 2023/12/11 10:45 * @param: [] * @return: void **/ @XxlJob("rerun-bonus-statis") public void rerunCuBonusStatis() { //查询前一天的订单和奖金 Date date = DateUtils.currentDate(); date = DateUtils.beforeDate(2, ChronoUnit.DAYS, date); Date endDate = DateUtils.beforeDate(5, ChronoUnit.DAYS, date); String endDateStr = (DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date)); String startDateStr = (DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, endDate)); //删除前6天的数据 R delstatis = iCuBonusStatisServiceApi.delStatis(startDateStr, endDateStr); if (delstatis.getData()) { //重算前6天的数据 R statis = iCuBonusStatisServiceApi.statisHistoryBonus(startDateStr, endDateStr); if (!statis.getData()) { log.info("{}-重算7天定时统计奖金拨统计失败", DateUtils.currentDate()); } } } /** * @description: 7天重算顶点奖金拨比统计 * @author: zhang jing * @date: 2024/8/15 10:29 * @param: [] * @return: void **/ @XxlJob("rerun-bonus-vertex-statis") public void rerunCuBonusVertexStatis() { //查询前一天的订单和奖金 Date date = DateUtils.currentDate(); date = DateUtils.beforeDate(2, ChronoUnit.DAYS, date); Date endDate = DateUtils.beforeDate(5, ChronoUnit.DAYS, date); String endDateStr = (DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date)); String startDateStr = (DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, endDate)); //删除前6天的数据 R delstatis = iCuBonusVertexStatisServiceApi.delStatis(startDateStr, endDateStr); if (delstatis.getData()) { //重算前6天的数据 R statis = iCuBonusVertexStatisServiceApi.anewStatisHistoryBonus(startDateStr, endDateStr); if (!statis.getData()) { log.info("{}-重算7天定时统计顶点奖金拨统计失败", DateUtils.currentDate()); } } } /** * 定时清除未使用的会员编号 */ @XxlJob("clear-member-empty-code") public void clearMemberEmptyCode() { log.info("clear-member-empty-code 开始执行!"); Integer dataCount = memberServiceApi.clearMemberEmptyCode().getData(); log.info("clear-member-empty-code 开始结束! 共处理:{}", dataCount); } /** * 定时初始化条形码配置 */ @XxlJob("updatWarehouseLogJob") public void updatWarehouseLogJob() { /** * 查询初始化条形码配置,将当前尾号初始化为初始尾号 */ iBdBarCodeServiceApi.updatWarehouseLog(); } /** * @description: 定时修改到期的零售区域 * @author: zhang jing * @date: 2024/12/30 14:25 * @param: [] * @return: void **/ @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(); } /** * @description: 每月10号处理上个月提货赠送活动满足活动规则的数据 * @author: zhang jing * @date: 2025/2/6 10:59 * @param: [] * @return: void **/ @XxlJob("deliveryLog") public void deliveryLog() { iAcRetailPickLogServiceApi.deliveryLog(); } /** * @description: 统计直推会员金额业绩盒数 * @author: zhang jing * @date: 2025/2/12 16:09 * @param: [] * @return: void **/ @XxlJob("sta-smount-box") public void pushAmountBoxmethod() { iMemberReportServiceApi.pushAmountBoxmethod(); } /** * @description: 重算7天统计直推会员金额业绩盒数 * @author: zhang jing * @date: 2023/12/11 10:45 * @param: [] * @return: void **/ @XxlJob("repeat-sta-smount-box") public void repeatPushAmountBoxmethod() { //查询前一天的订单和奖金 Date date = DateUtils.currentDate(); date = DateUtils.beforeDate(2, ChronoUnit.DAYS, date); Date endDate = DateUtils.beforeDate(5, ChronoUnit.DAYS, date); String endDateStr = (DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date)); String startDateStr = (DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, endDate)); //重算前6天的数据 iMemberReportServiceApi.repeatPushAmountBoxmethod(startDateStr, endDateStr); } }