Compare commits
	
		
			No commits in common. "d96583d316ecbb4dbcdd85e7004ef834145c465d" and "07ff5cd199df501638e7b0099fd5a559b043dd26" have entirely different histories.
		
	
	
		
			d96583d316
			...
			07ff5cd199
		
	
		|  | @ -1,20 +1,37 @@ | |||
| package com.hzs.report.stat; | ||||
| 
 | ||||
| import com.hzs.common.core.domain.R; | ||||
| import com.hzs.common.core.enums.EApprovalBusiness; | ||||
| import com.hzs.report.stat.dto.StatisticalLogDTO; | ||||
| import com.hzs.system.sys.dto.ApprovalBusinessResultDTO; | ||||
| 
 | ||||
| import java.util.List; | ||||
| 
 | ||||
| /** | ||||
|  * 统计分析 | ||||
|  * @description: 统计分析 | ||||
|  * @author: zhang jing | ||||
|  * @date: 2025/2/12 15:22 | ||||
|  * @param: | ||||
|  * @return: | ||||
|  **/ | ||||
| public interface IMemberReportServiceApi { | ||||
| 
 | ||||
|     /** | ||||
|      * 定时任务批量处理统计会员以及伞下金额业绩盒数 | ||||
|      **/ | ||||
|     R<?> pushAmountBoxmethod(); | ||||
| 
 | ||||
|     /** | ||||
|      * 定时任务7天重算直推会员金额业绩盒数 | ||||
|      * @description: 定时任务批量处理统计会员以及伞下金额业绩盒数 | ||||
|      * @author: zhang jing | ||||
|      * @date: 2025/2/13 10:41 | ||||
|      * @param: [] | ||||
|      * @return: com.hzs.common.core.domain.R | ||||
|      **/ | ||||
|     R<?> repeatPushAmountBoxmethod(String startDateStr, String endDateStr); | ||||
|     R pushAmountBoxmethod(); | ||||
|     /** | ||||
|      * @description: 定时任务7天重算直推会员金额业绩盒数 | ||||
|      * @author: zhang jing | ||||
|      * @date: 2025/2/13 10:41 | ||||
|      * @param: [startDateStr, endDateStr] | ||||
|      * @return: com.hzs.common.core.domain.R | ||||
|      **/ | ||||
|     R repeatPushAmountBoxmethod(String startDateStr, String endDateStr); | ||||
| 
 | ||||
| } | ||||
|  |  | |||
|  | @ -30,22 +30,27 @@ import java.util.List; | |||
| public class MemberSettleBonusProvider implements IMemberSettleBonusApi { | ||||
| 
 | ||||
|     @Autowired | ||||
|     private ICuMemberMonthAchieveService iCuMemberMonthAchieveService; | ||||
|     private ICuMemberMonthAchieveService cuMemberMonthAchieveService; | ||||
| 
 | ||||
|     @Autowired | ||||
|     private IBonusSettleService iBonusSettleService; | ||||
|     private IBonusSettleService bonusSettleService; | ||||
| 
 | ||||
|     @Autowired | ||||
|     private IBonusGrantService iBonusGrantService; | ||||
|     private ICuMemberBonusService cuMemberBonusService; | ||||
| 
 | ||||
|     @Autowired | ||||
|     private ICuMemberBonusService iCuMemberBonusService; | ||||
|     private IBonusGrantService bonusGrantService; | ||||
| 
 | ||||
|     @Autowired | ||||
|     private ICuMemberAchieveService iCuMemberAchieveService; | ||||
|     private ICuMemberAchieveService cuMemberAchieveService; | ||||
| 
 | ||||
|     @Autowired | ||||
|     private ICuMemberRetailLogService iCuMemberRetailLogService; | ||||
|     private ICuMemberRetailLogService cuMemberRetailLogService; | ||||
| 
 | ||||
|     @Override | ||||
|     public R<Boolean> calculateCumberBonusBySecond(String orderCode) { | ||||
|         try { | ||||
|             iBonusSettleService.calculateCumberBonusBySecond(orderCode); | ||||
|             bonusSettleService.calculateCumberBonusBySecond(orderCode); | ||||
|         } catch (Exception e) { | ||||
|             return R.fail(); | ||||
|         } | ||||
|  | @ -64,7 +69,7 @@ public class MemberSettleBonusProvider implements IMemberSettleBonusApi { | |||
| 
 | ||||
|     @Override | ||||
|     public void backupsSettleBonusEveryday() { | ||||
|         iCuMemberBonusService.backupsSettleBonusEveryday(); | ||||
|         cuMemberBonusService.backupsSettleBonusEveryday(); | ||||
|     } | ||||
| 
 | ||||
|     class BonusCalculateBonus extends Thread { | ||||
|  | @ -77,53 +82,55 @@ public class MemberSettleBonusProvider implements IMemberSettleBonusApi { | |||
| 
 | ||||
|         @Override | ||||
|         public void run() { | ||||
|             if (DateUtils.compareDateBefore(settleDate, DateUtils.parseStringToDate("2023-09-04"))) { | ||||
|                 return; | ||||
|             } | ||||
|             Date settleEndDate = DateUtils.afterDate(1, ChronoUnit.DAYS, settleDate); | ||||
|             log.info("奖金结算开始, 结算时间:{}", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, settleDate)); | ||||
|             log.info("奖金结算完成,结算时间:{}", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, settleDate)); | ||||
|             // 奖金结算 | ||||
|             try { | ||||
|                 iCuMemberBonusService.autoCalculateBonus(settleDate, settleEndDate); | ||||
|                 log.info("奖金结算结束"); | ||||
|                 cuMemberBonusService.autoCalculateBonus(settleDate, settleEndDate); | ||||
|             } catch (Exception e) { | ||||
|                 log.error("奖金结算异常,结算时间:{}", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, settleDate), e); | ||||
|                 log.info("BonusCalculateBonus error: ", e); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     public void insertCuMemberAchieveByEveryDay() { | ||||
|         iCuMemberMonthAchieveService.insertCuMemberAchieveByEveryDay(DateUtils.beforeDate(1, ChronoUnit.DAYS)); | ||||
|         cuMemberMonthAchieveService.insertCuMemberAchieveByEveryDay(DateUtils.beforeDate(1, ChronoUnit.DAYS)); | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     public void autoPublishBonus() { | ||||
|         iBonusGrantService.publishBonusByPeriodEveryDay(); | ||||
|         bonusGrantService.publishBonusByPeriodEveryDay(); | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     public void autoGrantBonus() { | ||||
|         iBonusGrantService.grantWithdrawBonusByPeriodEveryDay(); | ||||
|         bonusGrantService.grantWithdrawBonusByPeriodEveryDay(); | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     public Boolean chargeBackSaOrder(SaOrder saOrder) { | ||||
|         return iCuMemberAchieveService.chargeBackSaOrder(saOrder); | ||||
|         return cuMemberAchieveService.chargeBackSaOrder(saOrder); | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     public void calculateCuMemberRetailRangeBonusBySaOrder() { | ||||
|         List<CuMemberRetailLog> cuMemberRetailLogs = iCuMemberRetailLogService.queryCuMemberRetailLog(); | ||||
|         List<CuMemberRetailLog> cuMemberRetailLogs = cuMemberRetailLogService.queryCuMemberRetailLog(); | ||||
|         if (cuMemberRetailLogs.size() > 0) { | ||||
|             List<CuMemberRetailLog> successLogList = new ArrayList<>(); | ||||
|             try { | ||||
|                 for (CuMemberRetailLog cuMemberRetailLog : cuMemberRetailLogs) { | ||||
|                     iBonusSettleService.calculateCuMemberRetailRangeBonusBySaOrder(cuMemberRetailLog.getOrderCode()); | ||||
|                     bonusSettleService.calculateCuMemberRetailRangeBonusBySaOrder(cuMemberRetailLog.getOrderCode()); | ||||
|                     successLogList.add(cuMemberRetailLog); | ||||
|                 } | ||||
|             } catch (Exception e) { | ||||
|                 e.printStackTrace(); | ||||
|             } finally { | ||||
|                 if (successLogList.size() > 0) { | ||||
|                     iCuMemberRetailLogService.updateCuMemberRetailLogByList(successLogList); | ||||
|                     cuMemberRetailLogService.updateCuMemberRetailLogByList(successLogList); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|  | @ -131,6 +138,6 @@ public class MemberSettleBonusProvider implements IMemberSettleBonusApi { | |||
| 
 | ||||
|     @Override | ||||
|     public R<CuMemberRetail> queryValidateBoxOrAchieve(Long pkMember) { | ||||
|         return R.ok(iBonusSettleService.queryValidateBoxOrAchieve(pkMember)); | ||||
|         return R.ok(bonusSettleService.queryValidateBoxOrAchieve(pkMember)); | ||||
|     } | ||||
| } | ||||
|  |  | |||
|  | @ -1,7 +1,10 @@ | |||
| package com.hzs.retail.login.service.impl; | ||||
| 
 | ||||
| import cn.hutool.core.codec.Base64Decoder; | ||||
| import cn.hutool.core.collection.CollectionUtil; | ||||
| import cn.hutool.core.lang.Validator; | ||||
| import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; | ||||
| import com.hzs.common.core.constant.SysConstants; | ||||
| import com.hzs.common.core.constant.msg.SystemMsgConstants; | ||||
| import com.hzs.common.core.enums.EAccountStatus; | ||||
| import com.hzs.common.core.enums.ECategory; | ||||
|  | @ -27,6 +30,7 @@ import org.springframework.stereotype.Service; | |||
| 
 | ||||
| import javax.servlet.http.HttpServletRequest; | ||||
| import java.util.Date; | ||||
| import java.util.List; | ||||
| 
 | ||||
| /** | ||||
|  * 新零售会员登录服务 | ||||
|  | @ -48,27 +52,27 @@ public class RetailMemberLoginServiceImpl implements IRetailMemberLoginService { | |||
|             throw new ServiceException("会员账号或联系方式必须填写"); | ||||
|         } | ||||
| 
 | ||||
|         CuMemberExt member = iCuMemberService.getRetailMemberByCode(userName); | ||||
|         CuMemberExt member; | ||||
| 
 | ||||
| //        if (userName.startsWith(SysConstants.RETAIL_PREFIX)) { | ||||
| //            // 会员编号登录 | ||||
| //            member = iCuMemberService.getRetailMemberByCode(userName); | ||||
| //        } else if ((userName.length() == 11 && userName.startsWith("1")) | ||||
| //                || Validator.isEmail(userName)) { | ||||
| //            // 手机号 或 邮箱 登录 | ||||
| //            List<CuMemberExt> memberList = iCuMemberService.listMemberByPhone(userName); | ||||
| //            if (CollectionUtil.isEmpty(memberList)) { | ||||
| //                throw new ServiceException("会员账号或联系方式填写有误,请检查后重试"); | ||||
| //            } | ||||
| //            if (memberList.size() > 1) { | ||||
| //                // 联系方式超过两个,只能使用会员编号进行登录 | ||||
| //                throw new ServiceException("当前会员需要使用会员编号进行登录"); | ||||
| //            } | ||||
| //            member = memberList.get(0); | ||||
| //        } else { | ||||
| //            // 用户/密码必须填写 | ||||
| //            throw new ServiceException("会员账号或联系方式填写有误,请检查后重试"); | ||||
| //        } | ||||
|         if (userName.startsWith(SysConstants.RETAIL_PREFIX)) { | ||||
|             // 会员编号登录 | ||||
|             member = iCuMemberService.getRetailMemberByCode(userName); | ||||
|         } else if ((userName.length() == 11 && userName.startsWith("1")) | ||||
|                 || Validator.isEmail(userName)) { | ||||
|             // 手机号 或 邮箱 登录 | ||||
|             List<CuMemberExt> memberList = iCuMemberService.listMemberByPhone(userName); | ||||
|             if (CollectionUtil.isEmpty(memberList)) { | ||||
|                 throw new ServiceException("会员账号或联系方式填写有误,请检查后重试"); | ||||
|             } | ||||
|             if (memberList.size() > 1) { | ||||
|                 // 联系方式超过两个,只能使用会员编号进行登录 | ||||
|                 throw new ServiceException("当前会员需要使用会员编号进行登录"); | ||||
|             } | ||||
|             member = memberList.get(0); | ||||
|         } else { | ||||
|             // 用户/密码必须填写 | ||||
|             throw new ServiceException("会员账号或联系方式填写有误,请检查后重试"); | ||||
|         } | ||||
| 
 | ||||
|         if (null == member) { | ||||
|             recordLoginLog(null, EStatus.NO, userName + " 登录会员不存在"); | ||||
|  | @ -118,20 +122,20 @@ public class RetailMemberLoginServiceImpl implements IRetailMemberLoginService { | |||
|                     updateFlag = true; | ||||
|                 } | ||||
|             } | ||||
| //            if (null == member.getPkTeamCode()) { | ||||
| //                // 空单注册会员,如果团队为空处理 | ||||
| //                CuMemberExt teamMember = iCuMemberService.queryParentTeam(member.getPkId()); | ||||
| //                if (null != teamMember) { | ||||
| //                    updateWrapper.set(CuMember::getPkTeamCode, teamMember.getPkTeamCode()); | ||||
| //                    updateFlag = true; | ||||
| //                } | ||||
| //            } | ||||
|             if (null == member.getPkTeamCode()) { | ||||
|                 // 空单注册会员,如果团队为空处理 | ||||
|                 CuMemberExt teamMember = iCuMemberService.queryParentTeam(member.getPkId()); | ||||
|                 if (null != teamMember) { | ||||
|                     updateWrapper.set(CuMember::getPkTeamCode, teamMember.getPkTeamCode()); | ||||
|                     updateFlag = true; | ||||
|                 } | ||||
|             } | ||||
|             if (updateFlag) { | ||||
|                 updateWrapper.eq(CuMember::getPkId, member.getPkId()); | ||||
|                 iCuMemberService.update(updateWrapper); | ||||
|             } | ||||
|         } catch (Exception e) { | ||||
|             log.error("会员 {} 补全【体系】错误", member.getMemberCode()); | ||||
|             log.error("会员 {} 补全【体系】或【团队】错误", member.getMemberCode()); | ||||
|         } | ||||
| 
 | ||||
|         recordLoginLog(loginMember.getPkId(), EStatus.YES, "登录成功"); | ||||
|  |  | |||
|  | @ -166,8 +166,10 @@ public class RetailMemberController extends BaseController { | |||
| 
 | ||||
|                 // 达到条件,但是没有选择区域,需要弹窗选择区域 | ||||
|                 CuMemberRetailAchieveVO retailAchieve = iCuMemberRetailAchieveService.selectMemberSumAchieve(userId, pkCountry, systemType); | ||||
|                 // TODO 2025.06.09 新需求,选择区域判断等级达到合伙人,血缘累计业绩达到30万,可以选择 | ||||
|                 if (retailAchieve.getSmallAreaPv().add(retailAchieve.getBigArealPv()).compareTo(SysConstants.TOTAL_AREA_PV) < 0) { | ||||
|                 // 2024.12.30 添加需求,存在手动V0升V5,需要判断小市场业绩达到2万以上才可以进行开通 | ||||
|                 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 | ||||
|                 ) { | ||||
|                     return AjaxResult.error("还未达到选择收益区域条件"); | ||||
|                 } | ||||
|             } | ||||
|  |  | |||
|  | @ -8,7 +8,11 @@ import org.apache.dubbo.config.annotation.DubboService; | |||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| 
 | ||||
| /** | ||||
|  * 统计分析相关dubbo服务 | ||||
|  * @description: 统计分析相关dubbo服务 | ||||
|  * @author: zhang jing | ||||
|  * @date: 2025/2/12 15:23 | ||||
|  * @param: | ||||
|  * @return: | ||||
|  **/ | ||||
| @Slf4j | ||||
| @DubboService | ||||
|  | @ -17,15 +21,30 @@ public class MemberReportServiceProvider implements IMemberReportServiceApi { | |||
|     @Autowired | ||||
|     private MemberReportService iMemberReportService; | ||||
| 
 | ||||
| 
 | ||||
|     /** | ||||
|      * @description: 定时任务批量处理统计会员以及伞下金额业绩盒数 | ||||
|      * @author: zhang jing | ||||
|      * @date: 2025/2/12 15:28 | ||||
|      * @param: [] | ||||
|      * @return: com.hzs.common.core.domain.R | ||||
|      **/ | ||||
|     @Override | ||||
|     public R<?> pushAmountBoxmethod() { | ||||
|         iMemberReportService.pushAmountBoxmethod(); | ||||
|         return R.ok(); | ||||
|     public R pushAmountBoxmethod() { | ||||
|          iMemberReportService.pushAmountBoxmethod(); | ||||
|          return R.ok(); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * @description: 定时任务7天重算直推会员金额业绩盒数 | ||||
|      * @author: zhang jing | ||||
|      * @date: '2025/2/12' 16:10 | ||||
|      * @param: [startDateStr, endDateStr] | ||||
|      * @return: com.hzs.common.core.domain.R | ||||
|      **/ | ||||
|     @Override | ||||
|     public R<?> repeatPushAmountBoxmethod(String startDateStr, String endDateStr) { | ||||
|         iMemberReportService.repeatPushAmountBoxmethod(startDateStr, endDateStr); | ||||
|     public R repeatPushAmountBoxmethod(String startDateStr, String endDateStr) { | ||||
|         iMemberReportService.repeatPushAmountBoxmethod(startDateStr,endDateStr); | ||||
|         return R.ok(); | ||||
|     } | ||||
| 
 | ||||
|  |  | |||
|  | @ -29,13 +29,13 @@ public class SysConstants { | |||
|     public static final String PAY_PASSWORD = "222222"; | ||||
| 
 | ||||
|     /** | ||||
|      * 血缘累计业绩30万 | ||||
|      * 小市场2万业绩(人民币) | ||||
|      */ | ||||
|     public static final BigDecimal TOTAL_AREA_PV = new BigDecimal("300000"); | ||||
|     public static final BigDecimal SMALL_AREA_PV = new BigDecimal("20000"); | ||||
| 
 | ||||
|     /** | ||||
|      * 开放使用会员编号(用于支付登录查看数据) | ||||
|      */ | ||||
|     public static final List<String> CONTROL_MEMBER_LIST = Arrays.asList("RE20240001", "RE20240002"); | ||||
|     public static final List<String> CONTROL_MEMBER_LIST = Arrays.asList("HZS20240001", "HZS20240002"); | ||||
| 
 | ||||
| } | ||||
|  |  | |||
|  | @ -15,6 +15,9 @@ import java.util.Date; | |||
| 
 | ||||
| /** | ||||
|  * 短信发送记录 | ||||
|  * | ||||
|  * @author hzs | ||||
|  * @since 2023-03-08 | ||||
|  */ | ||||
| @Data | ||||
| @EqualsAndHashCode(callSuper = true) | ||||
|  |  | |||
|  | @ -22,6 +22,8 @@ import java.util.concurrent.TimeUnit; | |||
| 
 | ||||
| /** | ||||
|  * token验证处理 | ||||
|  * | ||||
|  * @author hzs | ||||
|  */ | ||||
| @Slf4j | ||||
| @Component | ||||
|  |  | |||
|  | @ -6,13 +6,19 @@ 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.scheduling.annotation.Scheduled; | ||||
| import org.springframework.stereotype.Component; | ||||
| 
 | ||||
| import java.time.temporal.ChronoUnit; | ||||
| import java.util.Date; | ||||
| 
 | ||||
| /** | ||||
|  * 每日奖金计算定时任务 | ||||
|  * @description: 每日奖金计算定时任务 | ||||
|  * @author: sui q | ||||
|  * @time: 2023/4/10 14:19 | ||||
|  * @classname: BonusSettleJob | ||||
|  * @package_name: com.hzs.third.job | ||||
|  * version 1.0.0 | ||||
|  */ | ||||
| @Component | ||||
| @Slf4j | ||||
|  | @ -20,124 +26,173 @@ import java.util.Date; | |||
| public class BonusSettleJob { | ||||
| 
 | ||||
|     @DubboReference | ||||
|     IMemberSettleBonusApi iMemberSettleBonusApi; | ||||
|     private IMemberSettleBonusApi memberBonusSettleApi; | ||||
| 
 | ||||
|     /** | ||||
|      * 奖金每天自动结算,计算前一天奖金 | ||||
|      * | ||||
|      * @return: void | ||||
|      * @Author: sui q | ||||
|      * @Date: 2023/3/4 13:48 | ||||
|      */ | ||||
|     @XxlJob("backSettleBonus") | ||||
| //    @Scheduled(cron = "10 8 10 * * ?") | ||||
|     public void backupsSettleBonusEveryday() { | ||||
|         log.info("开始进行奖金结算"); | ||||
|         iMemberSettleBonusApi.backupsSettleBonusEveryday(); | ||||
|         memberBonusSettleApi.backupsSettleBonusEveryday(); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 奖金每天自动结算,计算前一天奖金 | ||||
|      * | ||||
|      * @return: void | ||||
|      * @Author: sui q | ||||
|      * @Date: 2023/3/4 13:48 | ||||
|      */ | ||||
|     @XxlJob("autoSettleBonus") | ||||
| //    @Scheduled(cron = "10 8 10 * * ?") | ||||
|     public void autoSettleBonusEveryday() { | ||||
|         Date startDate = DateUtils.beforeDate(7, ChronoUnit.DAYS, DateUtils.currentDate()); | ||||
|         log.info("开始进行奖金结算"); | ||||
|         iMemberSettleBonusApi.autoCalculateBonus(startDate); | ||||
|         memberBonusSettleApi.autoCalculateBonus(startDate); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     /** | ||||
|      * 奖金每天自动结算,计算前一天奖金 | ||||
|      * | ||||
|      * @return: void | ||||
|      * @Author: sui q | ||||
|      * @Date: 2023/3/4 13:48 | ||||
|      */ | ||||
|     @XxlJob("autoSettleBonus1") | ||||
|     public void autoSettleBonusEveryday1() { | ||||
|         Date startDate = DateUtils.beforeDate(6, ChronoUnit.DAYS, DateUtils.currentDate()); | ||||
|         log.info("开始进行奖金结算"); | ||||
|         iMemberSettleBonusApi.autoCalculateBonus(startDate); | ||||
|         memberBonusSettleApi.autoCalculateBonus(startDate); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 奖金每天自动结算,计算前一天奖金 | ||||
|      * | ||||
|      * @return: void | ||||
|      * @Author: sui q | ||||
|      * @Date: 2023/3/4 13:48 | ||||
|      */ | ||||
|     @XxlJob("autoSettleBonus2") | ||||
|     public void autoSettleBonusEveryday2() { | ||||
|         Date startDate = DateUtils.beforeDate(5, ChronoUnit.DAYS, DateUtils.currentDate()); | ||||
|         log.info("开始进行奖金结算"); | ||||
|         iMemberSettleBonusApi.autoCalculateBonus(startDate); | ||||
|         memberBonusSettleApi.autoCalculateBonus(startDate); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 奖金每天自动结算,计算前一天奖金 | ||||
|      * | ||||
|      * @return: void | ||||
|      * @Author: sui q | ||||
|      * @Date: 2023/3/4 13:48 | ||||
|      */ | ||||
|     @XxlJob("autoSettleBonus3") | ||||
|     public void autoSettleBonusEveryday3() { | ||||
|         Date startDate = DateUtils.beforeDate(4, ChronoUnit.DAYS, DateUtils.currentDate()); | ||||
|         log.info("开始进行奖金结算"); | ||||
|         iMemberSettleBonusApi.autoCalculateBonus(startDate); | ||||
|         memberBonusSettleApi.autoCalculateBonus(startDate); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 奖金每天自动结算,计算前一天奖金 | ||||
|      * | ||||
|      * @return: void | ||||
|      * @Author: sui q | ||||
|      * @Date: 2023/3/4 13:48 | ||||
|      */ | ||||
|     @XxlJob("autoSettleBonus4") | ||||
| //    @Scheduled(cron = "10 6 11 * * ?") | ||||
|     public void autoSettleBonusEveryday4() { | ||||
|         Date startDate = DateUtils.beforeDate(3, ChronoUnit.DAYS, DateUtils.currentDate()); | ||||
|         log.info("开始进行奖金结算"); | ||||
|         iMemberSettleBonusApi.autoCalculateBonus(startDate); | ||||
|         memberBonusSettleApi.autoCalculateBonus(startDate); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 奖金每天自动结算,计算前一天奖金 | ||||
|      * | ||||
|      * @return: void | ||||
|      * @Author: sui q | ||||
|      * @Date: 2023/3/4 13:48 | ||||
|      */ | ||||
|     @XxlJob("autoSettleBonus5") | ||||
|     public void autoSettleBonusEveryday5() { | ||||
|         Date startDate = DateUtils.beforeDate(2, ChronoUnit.DAYS, DateUtils.currentDate()); | ||||
|         log.info("开始进行奖金结算"); | ||||
|         iMemberSettleBonusApi.autoCalculateBonus(startDate); | ||||
|         memberBonusSettleApi.autoCalculateBonus(startDate); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 奖金每天自动结算,计算前一天奖金 | ||||
|      * | ||||
|      * @return: void | ||||
|      * @Author: sui q | ||||
|      * @Date: 2023/3/4 13:48 | ||||
|      */ | ||||
|     @XxlJob("autoSettleBonus6") | ||||
|     public void autoSettleBonusEveryday6() { | ||||
|         Date startDate = DateUtils.beforeDate(1, ChronoUnit.DAYS, DateUtils.currentDate()); | ||||
|         log.info("开始进行奖金结算"); | ||||
|         iMemberSettleBonusApi.autoCalculateBonus(startDate); | ||||
|         memberBonusSettleApi.autoCalculateBonus(startDate); | ||||
|     } | ||||
| 
 | ||||
|     /* | ||||
|      * 自动公布奖金 | ||||
|      * @description: 自动公布奖金 | ||||
|      * @author: sui q | ||||
|      * @date: 2023/4/24 14:26 | ||||
|      * @param: null null | ||||
|      **/ | ||||
|     @XxlJob("autoPublishBonus") | ||||
|     public void autoPublishBonusEveryday() { | ||||
|         log.info("开始进行奖金公布"); | ||||
|         iMemberSettleBonusApi.autoPublishBonus(); | ||||
|         memberBonusSettleApi.autoPublishBonus(); | ||||
|         log.info("奖金公布完成"); | ||||
|     } | ||||
| 
 | ||||
|     /* | ||||
|      * 自动发放奖金 | ||||
|      * @description: 自动发放奖金 | ||||
|      * @author: sui q | ||||
|      * @date: 2023/4/24 14:26 | ||||
|      * @param: null null | ||||
|      **/ | ||||
|     @XxlJob("autoGrantBonus") | ||||
| //    @Scheduled(cron = "10 42 13 * * ?") | ||||
|     public void autoGrantBonusEveryday() { | ||||
|         log.info("开始进行奖金发放"); | ||||
|         iMemberSettleBonusApi.autoGrantBonus(); | ||||
|         memberBonusSettleApi.autoGrantBonus(); | ||||
|         log.info("奖金发放完成"); | ||||
|     } | ||||
| 
 | ||||
|     /* | ||||
|      * 自动结算每日业绩,每月业绩,用于统计分析 | ||||
|      * @description: 自动结算每日业绩,每月业绩,用于统计分析 | ||||
|      * @author: sui q | ||||
|      * @date: 2023/9/1 9:53 | ||||
|      * @param: null null | ||||
|      **/ | ||||
|     @XxlJob("autoSettleMember") | ||||
| //    @Scheduled(cron = "50 55 15 * * ?") | ||||
|     public void autoSettleMemberAchieveEveryday() { | ||||
|         log.info("开始进行会员业绩计算"); | ||||
|         iMemberSettleBonusApi.insertCuMemberAchieveByEveryDay(); | ||||
|         memberBonusSettleApi.insertCuMemberAchieveByEveryDay(); | ||||
|     } | ||||
| 
 | ||||
|     /* | ||||
|      *  自动结算每日业绩,每月业绩,用于统计分析 | ||||
|      * @description: 自动结算每日业绩,每月业绩,用于统计分析 | ||||
|      * @author: sui q | ||||
|      * @date: 2023/9/1 9:53 | ||||
|      * @param: null null | ||||
|      **/ | ||||
|     @XxlJob("autoSecondBonus") | ||||
|     public void autoSettleMemberBonusBySecond() { | ||||
|         log.info("开始进行会员业绩计算"); | ||||
|         iMemberSettleBonusApi.calculateCuMemberRetailRangeBonusBySaOrder(); | ||||
|         memberBonusSettleApi.calculateCuMemberRetailRangeBonusBySaOrder(); | ||||
|     } | ||||
| 
 | ||||
| } | ||||
|  |  | |||
|  | @ -9,6 +9,12 @@ import org.springframework.stereotype.Component; | |||
| 
 | ||||
| /** | ||||
|  * 会员模块定时任务 | ||||
|  * | ||||
|  * @Description: | ||||
|  * @Author: ljc | ||||
|  * @Time: 2023/4/11 19:11 | ||||
|  * @Classname: CuMemberJob | ||||
|  * @Package_name: com.hzs.member.job | ||||
|  */ | ||||
| @ConditionalOnProperty(name = "xxl-job.start", havingValue = "true") | ||||
| @Component | ||||
|  | @ -16,22 +22,23 @@ import org.springframework.stereotype.Component; | |||
| public class CuMemberJob { | ||||
| 
 | ||||
|     @DubboReference | ||||
|     IMemberJobServiceApi iMemberJobServiceApi; | ||||
|     IMemberJobServiceApi memberJobServiceApi; | ||||
| 
 | ||||
|     /** | ||||
|      * 定时插入账户详情数据 | ||||
|      */ | ||||
|     @XxlJob("insertAccountDetail") | ||||
|     public void insertAccountDetail() { | ||||
|         iMemberJobServiceApi.insertAccountDetail(); | ||||
|         memberJobServiceApi.insertAccountDetail(); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     /** | ||||
|      * 自动提现 | ||||
|      */ | ||||
|     @XxlJob("automaticWithdrawal") | ||||
|     public void automaticWithdrawal() { | ||||
|         iMemberJobServiceApi.automaticWithdrawal(); | ||||
|         memberJobServiceApi.automaticWithdrawal(); | ||||
|     } | ||||
| 
 | ||||
| } | ||||
|  |  | |||
|  | @ -10,6 +10,7 @@ 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; | ||||
|  | @ -19,22 +20,32 @@ 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 iMemberServiceApi; | ||||
|     @DubboReference | ||||
|     IMemberRetailApi iMemberRetailApi; | ||||
|     IMemberServiceApi memberServiceApi; | ||||
|     @DubboReference | ||||
|     ICuBonusStatisServiceApi iCuBonusStatisServiceApi; | ||||
|     @DubboReference | ||||
|     ICuBonusVertexStatisServiceApi iCuBonusVertexStatisServiceApi; | ||||
|     @DubboReference | ||||
|     IBdBarCodeServiceApi iBdBarCodeServiceApi; | ||||
|     @DubboReference | ||||
|     ICuMemberRetailRegionServiceApi iCuMemberRetailRegionServiceApi; | ||||
|     @DubboReference | ||||
|     IMemberRetailApi iMemberRetailApi; | ||||
|     @DubboReference | ||||
|     IAcRetailPickLogServiceApi iAcRetailPickLogServiceApi; | ||||
|     @DubboReference | ||||
|     IMemberReportServiceApi iMemberReportServiceApi; | ||||
|  | @ -72,7 +83,11 @@ public class MemberJob { | |||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 重算7天内奖金拨比 | ||||
|      * @description: 重算7天内奖金拨比 | ||||
|      * @author: zhang jing | ||||
|      * @date: 2023/12/11 10:45 | ||||
|      * @param: [] | ||||
|      * @return: void | ||||
|      **/ | ||||
|     @XxlJob("rerun-bonus-statis") | ||||
|     public void rerunCuBonusStatis() { | ||||
|  | @ -94,7 +109,11 @@ public class MemberJob { | |||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 7天重算顶点奖金拨比统计 | ||||
|      * @description: 7天重算顶点奖金拨比统计 | ||||
|      * @author: zhang jing | ||||
|      * @date: 2024/8/15 10:29 | ||||
|      * @param: [] | ||||
|      * @return: void | ||||
|      **/ | ||||
|     @XxlJob("rerun-bonus-vertex-statis") | ||||
|     public void rerunCuBonusVertexStatis() { | ||||
|  | @ -115,26 +134,43 @@ public class MemberJob { | |||
|         } | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     /** | ||||
|      * 定时清除未使用的会员编号 | ||||
|      */ | ||||
|     @XxlJob("clear-member-empty-code") | ||||
|     public void clearMemberEmptyCode() { | ||||
|         log.info("clear-member-empty-code 开始执行!"); | ||||
|         Integer dataCount = iMemberServiceApi.clearMemberEmptyCode().getData(); | ||||
|         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 date=new Date(); | ||||
|         Date startDate= DateUtils.beforeDate(2, ChronoUnit.DAYS, date); | ||||
|         Date endDate = DateUtils.afterDate(1, ChronoUnit.DAYS, date); | ||||
|         //批量修改已到期的会员收益区域 | ||||
|         iCuRegionAssessApi.validateHandAreaAssess(startDate, endDate); | ||||
|         iCuRegionAssessApi.validateHandAreaAssess(startDate,endDate); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|  | @ -155,7 +191,11 @@ public class MemberJob { | |||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 每月10号处理上个月提货赠送活动满足活动规则的数据 | ||||
|      * @description: 每月10号处理上个月提货赠送活动满足活动规则的数据 | ||||
|      * @author: zhang jing | ||||
|      * @date: 2025/2/6 10:59 | ||||
|      * @param: [] | ||||
|      * @return: void | ||||
|      **/ | ||||
|     @XxlJob("deliveryLog") | ||||
|     public void deliveryLog() { | ||||
|  | @ -163,7 +203,11 @@ public class MemberJob { | |||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 统计直推会员金额业绩盒数 | ||||
|      * @description: 统计直推会员金额业绩盒数 | ||||
|      * @author: zhang jing | ||||
|      * @date: 2025/2/12 16:09 | ||||
|      * @param: [] | ||||
|      * @return: void | ||||
|      **/ | ||||
|     @XxlJob("sta-smount-box") | ||||
|     public void pushAmountBoxmethod() { | ||||
|  | @ -171,7 +215,11 @@ public class MemberJob { | |||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 重算7天统计直推会员金额业绩盒数 | ||||
|      * @description: 重算7天统计直推会员金额业绩盒数 | ||||
|      * @author: zhang jing | ||||
|      * @date: 2023/12/11 10:45 | ||||
|      * @param: [] | ||||
|      * @return: void | ||||
|      **/ | ||||
|     @XxlJob("repeat-sta-smount-box") | ||||
|     public void repeatPushAmountBoxmethod() { | ||||
|  | @ -183,7 +231,9 @@ public class MemberJob { | |||
|         String startDateStr = (DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, endDate)); | ||||
|         //重算前6天的数据 | ||||
|         iMemberReportServiceApi.repeatPushAmountBoxmethod(startDateStr, endDateStr); | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
|  |  | |||
|  | @ -1,6 +1,8 @@ | |||
| package com.hzs.third.job; | ||||
| 
 | ||||
| import com.hzs.member.account.IMemberJobServiceApi; | ||||
| import com.hzs.sale.order.ISaOrderServiceApi; | ||||
| import com.hzs.system.base.ICurrencyServiceApi; | ||||
| import com.xxl.job.core.handler.annotation.XxlJob; | ||||
| import lombok.extern.slf4j.Slf4j; | ||||
| import org.apache.dubbo.config.annotation.DubboReference; | ||||
|  | @ -13,14 +15,14 @@ import org.springframework.stereotype.Component; | |||
| public class OrderJob { | ||||
| 
 | ||||
|     @DubboReference | ||||
|     ISaOrderServiceApi iSaOrderServiceApi; | ||||
|     ISaOrderServiceApi orderServiceApi; | ||||
| 
 | ||||
|     /** | ||||
|      * 定时关单  订单三十分钟未支付自动关闭 | ||||
|      */ | ||||
|     @XxlJob("autoCloseOrder") | ||||
|     public void timingCloseOrder() { | ||||
|         iSaOrderServiceApi.closeOrder(); | ||||
|         orderServiceApi.closeOrder(); | ||||
|     } | ||||
| 
 | ||||
| } | ||||
|  |  | |||
|  | @ -8,7 +8,12 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; | |||
| import org.springframework.stereotype.Component; | ||||
| 
 | ||||
| /** | ||||
|  * 供应链定时任务 | ||||
|  * @description: 供应链定时任务 | ||||
|  * @author: sui q | ||||
|  * @time: 2024/2/21 15:45 | ||||
|  * @classname: ScmJob | ||||
|  * @package_name: com.hzs.third.job | ||||
|  * version 1.0.0 | ||||
|  */ | ||||
| @Slf4j | ||||
| @ConditionalOnProperty(name = "xxl-job.start", havingValue = "true") | ||||
|  | @ -16,13 +21,14 @@ import org.springframework.stereotype.Component; | |||
| public class ScmJob { | ||||
| 
 | ||||
|     @DubboReference | ||||
|     IScmBillServiceApi iScmBillServiceApi; | ||||
|     private IScmBillServiceApi scmBillServiceApi; | ||||
| 
 | ||||
|     /** | ||||
|      * 更新单据号初始化值 | ||||
|      */ | ||||
| //    @Scheduled(cron = "0 54 15 * * ?") | ||||
|     @XxlJob("updateBillNo") | ||||
|     public void updateBillNo() { | ||||
|         iScmBillServiceApi.updateScmBillNoNextValue(); | ||||
|         scmBillServiceApi.updateScmBillNoNextValue(); | ||||
|     } | ||||
| } | ||||
|  |  | |||
|  | @ -0,0 +1,76 @@ | |||
| package com.hzs.third.job; | ||||
| 
 | ||||
| import cn.hutool.core.collection.CollectionUtil; | ||||
| import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | ||||
| import com.hzs.common.core.constant.MagicNumberConstants; | ||||
| import com.hzs.common.core.constant.SystemFieldConstants; | ||||
| import com.hzs.common.core.enums.ESmsSendResult; | ||||
| import com.hzs.common.core.enums.ESmsSendStatus; | ||||
| import com.hzs.common.core.enums.ESmsSendType; | ||||
| import com.hzs.common.domain.third.sms.TSmsRecord; | ||||
| import com.hzs.third.sms.service.ITSmsRecordService; | ||||
| import com.hzs.third.sms.util.SmsUtil; | ||||
| import com.xxl.job.core.handler.annotation.XxlJob; | ||||
| import lombok.extern.slf4j.Slf4j; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; | ||||
| import org.springframework.stereotype.Component; | ||||
| 
 | ||||
| import java.util.Date; | ||||
| import java.util.List; | ||||
| 
 | ||||
| /** | ||||
|  * @Description: 短信定时任务 | ||||
|  * @Author: jiang chao | ||||
|  * @Time: 2023/3/11 16:22 | ||||
|  * @Classname: SmsJob | ||||
|  * @PackageName: com.hzs.third.job | ||||
|  */ | ||||
| @Slf4j | ||||
| @ConditionalOnProperty(name = "xxl-job.start", havingValue = "true") | ||||
| @Component | ||||
| public class SmsJob { | ||||
| 
 | ||||
|     @Autowired | ||||
|     private ITSmsRecordService itSmsRecordService; | ||||
| 
 | ||||
|     /** | ||||
|      * 定时发送短信 | ||||
|      */ | ||||
| //    @Scheduled(cron = "0 * * * * ?") | ||||
|     @XxlJob("sendSms") | ||||
|     public void sendSms() { | ||||
|         log.info("定时发送短信任务开始!"); | ||||
| 
 | ||||
|         Date date = new Date(); | ||||
| 
 | ||||
|         QueryWrapper<TSmsRecord> queryWrapper = new QueryWrapper<>(); | ||||
|         queryWrapper.eq("SEND_TYPE", ESmsSendType.SCHEDULED.getValue()); | ||||
|         queryWrapper.eq("SEND_STATUS", ESmsSendStatus.NOT_SEND.getValue()); | ||||
|         queryWrapper.le("SEND_TIME", date); | ||||
|         queryWrapper.orderByAsc(SystemFieldConstants.CREATION_TIME); | ||||
|         List<TSmsRecord> list = itSmsRecordService.list(queryWrapper); | ||||
|         if (CollectionUtil.isNotEmpty(list)) { | ||||
|             log.info("本次共需要发送短信{}条", list.size()); | ||||
| 
 | ||||
|             for (TSmsRecord tSmsRecord : list) { | ||||
|                 String str = SmsUtil.sendSms(tSmsRecord.getPhone(), tSmsRecord.getContent()); | ||||
|                 if (null == str) { | ||||
|                     // 发送成功 | ||||
|                     tSmsRecord.setSendResult(ESmsSendResult.SUCCESS.getValue()); | ||||
|                 } else { | ||||
|                     tSmsRecord.setSendResult(ESmsSendResult.FAIL.getValue()); | ||||
|                 } | ||||
|                 tSmsRecord.setSendStatus(ESmsSendStatus.SEND.getValue()); | ||||
|                 tSmsRecord.setPkModified(MagicNumberConstants.PK_ADMIN); | ||||
|                 tSmsRecord.setModifiedTime(date); | ||||
|                 itSmsRecordService.updateById(tSmsRecord); | ||||
|             } | ||||
|         } else { | ||||
|             log.info("本次没有需要发送的短信"); | ||||
|         } | ||||
| 
 | ||||
|         log.info("定时发送短信任务结束!"); | ||||
|     } | ||||
| 
 | ||||
| } | ||||
|  | @ -4,18 +4,27 @@ import com.hzs.sale.wares.IWaresServiceApi; | |||
| import com.xxl.job.core.handler.annotation.XxlJob; | ||||
| import lombok.extern.slf4j.Slf4j; | ||||
| import org.apache.dubbo.config.annotation.DubboReference; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; | ||||
| import org.springframework.stereotype.Component; | ||||
| 
 | ||||
| import java.util.Date; | ||||
| 
 | ||||
| /** | ||||
|  * @BelongsProject: hzs_cloud | ||||
|  * @BelongsPackage: com.hzs.third.job | ||||
|  * @Author: yh | ||||
|  * @CreateTime: 2023-06-01  10:44 | ||||
|  * @Description: TODO | ||||
|  * @Version: 1.0 | ||||
|  */ | ||||
| @Slf4j | ||||
| @ConditionalOnProperty(name = "xxl-job.start", havingValue = "true") | ||||
| @Component | ||||
| public class WaresJob { | ||||
| 
 | ||||
|     @DubboReference | ||||
|     IWaresServiceApi iWaresServiceApi; | ||||
|     private IWaresServiceApi waresServiceApi; | ||||
| 
 | ||||
|     /** | ||||
|      * 商品自动上下架 | ||||
|  | @ -23,12 +32,14 @@ public class WaresJob { | |||
|     @XxlJob("waresAutoLoadingJob") | ||||
|     public void waresAutoLoadingJob() { | ||||
|         // 修改符合 时间条件商品上架 | ||||
|         // 获取当前时间 | ||||
|         /** | ||||
|          * 获取当前时间 | ||||
|          */ | ||||
|         Date currentTime = new Date(); | ||||
|         // 自动上架 | ||||
|         iWaresServiceApi.updateByAutoStartAndAutoStart(currentTime); | ||||
|         waresServiceApi.updateByAutoStartAndAutoStart(currentTime); | ||||
|         // 定时自动下架 | ||||
|         iWaresServiceApi.updateByAutoStartAndAutoEnd(currentTime); | ||||
|         waresServiceApi.updateByAutoStartAndAutoEnd(currentTime); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|  | @ -37,6 +48,6 @@ public class WaresJob { | |||
|     @XxlJob("waresPreSaleJob") | ||||
|     public void waresPreSaleJob() { | ||||
|         // 修改商品预售状态 | ||||
|         iWaresServiceApi.waresPreSale(); | ||||
|         waresServiceApi.waresPreSale(); | ||||
|     } | ||||
| } | ||||
|  |  | |||
|  | @ -20,7 +20,11 @@ import javax.servlet.http.HttpServletResponse; | |||
| import java.util.List; | ||||
| 
 | ||||
| /** | ||||
|  * 短信发送记录 | ||||
|  * @Description: 短信发送记录 | ||||
|  * @Author: jiang chao | ||||
|  * @Time: 2023/3/9 16:10 | ||||
|  * @Classname: SmsRecordController | ||||
|  * @PackageName: com.hzs.third.sms.controller | ||||
|  */ | ||||
| @RestController | ||||
| @RequestMapping("/manage/sms-record/") | ||||
|  | @ -35,7 +39,7 @@ public class SmsRecordController extends BaseController { | |||
|      * @param param | ||||
|      * @return | ||||
|      */ | ||||
|     @Log(module = EOperationModule.SMS_CONFIG, business = EOperationBusiness.SMS_RECORD, method = EOperationMethod.SELECT) | ||||
|     @Log(module = EOperationModule.SMS_CONFIG, business = EOperationBusiness.SMS_RECORD ,method = EOperationMethod.SELECT) | ||||
|     @GetMapping("/list") | ||||
|     public TableDataInfo list(SmsRecordQueryParam param) { | ||||
|         startPage(); | ||||
|  | @ -54,7 +58,7 @@ public class SmsRecordController extends BaseController { | |||
|      * @param response | ||||
|      * @param param | ||||
|      */ | ||||
|     @Log(module = EOperationModule.SMS_CONFIG, business = EOperationBusiness.SMS_RECORD, method = EOperationMethod.EXPORT) | ||||
|     @Log(module = EOperationModule.SMS_CONFIG, business = EOperationBusiness.SMS_RECORD ,method = EOperationMethod.EXPORT) | ||||
|     @PostMapping("/export") | ||||
|     public void export(HttpServletResponse response, SmsRecordQueryParam param) { | ||||
|         List<TSmsRecordExt> list = itSmsRecordService.queryList(param, SecurityUtils.getPkCountry()); | ||||
|  | @ -74,7 +78,7 @@ public class SmsRecordController extends BaseController { | |||
|      * @param param | ||||
|      * @return | ||||
|      */ | ||||
|     @Log(module = EOperationModule.SMS_CONFIG, business = EOperationBusiness.SMS_CREATE, method = EOperationMethod.INSERT) | ||||
|     @Log(module = EOperationModule.SMS_CONFIG, business = EOperationBusiness.SMS_CREATE ,method = EOperationMethod.INSERT) | ||||
|     @PostMapping("/create") | ||||
|     public AjaxResult create(@RequestBody SmsCreateParam param) { | ||||
|         if (null == param.getTemplateId() || null == param.getSendScope() || null == param.getSendType()) { | ||||
|  |  | |||
|  | @ -10,6 +10,9 @@ import java.util.List; | |||
| 
 | ||||
| /** | ||||
|  * 短信发送记录 Mapper 接口 | ||||
|  * | ||||
|  * @author hzs | ||||
|  * @since 2023-03-08 | ||||
|  */ | ||||
| public interface TSmsRecordMapper extends BaseMapper<TSmsRecord> { | ||||
| 
 | ||||
|  |  | |||
|  | @ -10,6 +10,9 @@ import java.util.List; | |||
| 
 | ||||
| /** | ||||
|  * 短信发送记录 服务类 | ||||
|  * | ||||
|  * @author hzs | ||||
|  * @since 2023-03-08 | ||||
|  */ | ||||
| public interface ITSmsRecordService extends IService<TSmsRecord> { | ||||
| 
 | ||||
|  |  | |||
|  | @ -26,6 +26,9 @@ import java.util.*; | |||
| 
 | ||||
| /** | ||||
|  * 短信发送记录 服务实现类 | ||||
|  * | ||||
|  * @author hzs | ||||
|  * @since 2023-03-08 | ||||
|  */ | ||||
| @Service | ||||
| public class TSmsRecordServiceImpl extends ServiceImpl<TSmsRecordMapper, TSmsRecord> implements ITSmsRecordService { | ||||
|  | @ -34,9 +37,9 @@ public class TSmsRecordServiceImpl extends ServiceImpl<TSmsRecordMapper, TSmsRec | |||
|     private ITSmsTemplateService itSmsTemplateService; | ||||
| 
 | ||||
|     @DubboReference | ||||
|     IMemberServiceApi iMemberServiceApi; | ||||
|     private IMemberServiceApi iMemberServiceApi; | ||||
|     @DubboReference | ||||
|     ISaOrderServiceApi iSaOrderServiceApi; | ||||
|     private ISaOrderServiceApi iSaOrderServiceApi; | ||||
| 
 | ||||
|     @Override | ||||
|     public List<TSmsRecordExt> queryList(SmsRecordQueryParam param, Integer pkCountry) { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue