diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java index 6f0d3454..0ab5195f 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java @@ -337,4 +337,239 @@ public class SendMessageServiceImpl implements SendMessageService { } } } + + void sendEmail(SendMessageDTO sendMessageDTO, LoginUser loginUser, String title, String content){ + String email = loginUser.getEmail(); + String emailPassword = loginUser.getEmailPassword(); + //如果发件人没有邮箱或邮箱密码则使用admin账户的邮箱密码 + if (StringUtils.isBlank(email) || StringUtils.isBlank(emailPassword)) { + loginUser = sysBaseAPI.getUserByName("admin"); + email = loginUser.getEmail(); + emailPassword = loginUser.getEmailPassword(); + } + email = PasswordUtil.decrypt(email); + emailPassword = PasswordUtil.decrypt(emailPassword); + EmailSendMsgHandle emailHandle = new EmailSendMsgHandle(email,emailPassword); + // 发送带附件邮箱 + if(!CollectionUtils.isEmpty(sendMessageDTO.getListFile())){ + emailHandle.SendMsgAndFile(sendMessageDTO.getEmail(), title, content,sendMessageDTO.getListFile()); + }else{ + emailHandle.SendMsg(sendMessageDTO.getEmail(), title, content); + } + } + void sendMessage(SendMessageDTO sendMessageDTO, SysMessageTemplate sysSmsTemplate, String content, String fromUser, String title){ + String toUser = sendMessageDTO.getToUser(); + String busId = sendMessageDTO.getBusId(); + String busType = sendMessageDTO.getBusType(); + + SysAnnouncement announcement = new SysAnnouncement(); + announcement.setTitile(sysSmsTemplate.getTemplateName()); + announcement.setMsgContent(content); + announcement.setSender(fromUser); + announcement.setPriority(CommonConstant.PRIORITY_M); + announcement.setMsgType(CommonConstant.MSG_TYPE_UESR); + announcement.setSendStatus(CommonConstant.HAS_SEND); + announcement.setSendTime(new Date()); + announcement.setMsgCategory(CommonConstant.MSG_CATEGORY_2); + announcement.setDelFlag(String.valueOf(CommonConstant.DEL_FLAG_0)); + announcement.setBusId(busId); + announcement.setBusType(busType); + if(!StringUtils.isEmpty(busType)){ + announcement.setOpenType(MessageUrlEnums.getByType(busType).getOpenType()); + announcement.setOpenPage(MessageUrlEnums.getByType(busType).getOpenPage()); + } + announcement.setTemplateCode(sendMessageDTO.getTemplateCode()); + sysAnnouncementService.save(announcement); + // 2.插入用户通告阅读标记表记录 + String userId = toUser; + String[] userIds = userId.split(","); + String anntId = announcement.getId(); + for(int i=0;i map){ + String sender = ""; + String signature = ""; + String templateId = ""; + String codeType = sendMessageDTO.getTemplateCode(); + switch (codeType) { + case "GL_1_HTTZ_CREATE_PROJECT": + //中汽中心标准所-管理端-项目通知-1 + sender = "8821092414406"; + signature = "中汽中心标准所"; + templateId = "7ffc2ce832a1408383b933702277f866"; + //通知类短信,不需要存redis + break; + case "GL_2_HTTZ_SUBMIT": + //中汽中心标准所-管理端-合同通知-2 + sender = "8821092414406"; + signature = "中汽中心标准所"; + templateId = "8f080f2c0b334f93af5219f76c0b5dc3"; + break; + case "GL_3_HTTZ_AUDIT": + //中汽中心标准所-管理端-合同通知-3 + sender = "8821092414406"; + signature = "中汽中心标准所"; + templateId = "488e5a176aca4eea8472a6a7b8cd2911"; + break; + case "GL_4_HTTZ_NOT_AUDIT": + //中汽中心标准所-管理端-合同通知-4 + sender = "8821092414406"; + signature = "中汽中心标准所"; + templateId = "0596842946244aa9b5c5a1d16d9a1d0a"; + //通知类短信,不需要存redis + break; + case "GL_5_HYTZ_SIGN_UP_UPLOAD": + // 中汽中心标准所-管理端-会议通知-5 + sender = "8821092414406"; + signature = "中汽中心标准所"; + templateId = "ef7374b862e3442e9ea6f84c3e626e9c"; + break; + case "GL_6_DBTZ_ADD": + // 中汽中心标准所-管理端-打包通知-6 + sender = "8821092414406"; + signature = "中汽中心标准所"; + templateId = "0f62447b46ed4dcb88f3b8d9fa38a549"; + break; + case "GL_7_DBTZ_CONTRACT": + //中汽中心标准所-管理端-打包通知-7 + sender = "8821092414406"; + signature = "中汽中心标准所"; + templateId = "7705a7180c644b028839af77fc51d371"; + //通知类短信,不需要存redis + break; + case "GL_8_HYTZ_ON_ACCESS_UPDATE": + // 中汽中心标准所-管理端-会议通知-8 + sender = "8821092414406"; + signature = "中汽中心标准所"; + templateId = "bfc6abc5bf3347029e9079214eb54868"; + break; + case "GL_9_QYTZ_CREATE": + //中汽中心标准所-管理端-企业通知-9 + sender = "8821092414406"; + signature = "中汽中心标准所"; + templateId = "1b9dd79bb217420fa25725feb1ffaef4"; + break; + case "QY_1_HYTZ_WORK_GROUP_CREATE": + //中汽中心标准所-企业端-会议通知-1 + sender = "8821092414406"; + signature = "中汽中心标准所"; + templateId = "b477be3ced93438a930675b2998d841d"; + //通知类短信,不需要存redis + break; + case "QY_2_HYTZ_WORK_GROUP_SIGN_UP": + //中汽中心标准所-企业端-会议通知-2 + sender = "8821092414406"; + signature = "中汽中心标准所"; + templateId = ""; //todo 审核不通过 + break; + case "QY_3_HYTZ_WORK_GROUP_UPLOAD": + //中汽中心标准所-企业端-会议通知-3 + sender = "8821092414406"; + signature = "中汽中心标准所"; + templateId = "";//todo 审核不通过 + break; + case "QY_4_HYTZ_WORK_GROUP_NOT_UPLOAD": + //中汽中心标准所-企业端-会议通知-4 + sender = "8821092414406"; + signature = "中汽中心标准所"; + templateId = "";//todo 审核不通过 + //通知类短信,不需要存redis + break; + case "QY_5_HYTZ_NOT_AUDIT": + //中汽中心标准所-企业端-会议通知-5 + sender = "8821092414406"; + signature = "中汽中心标准所"; + templateId = "b564769d75ea43bda281ba4e26936fb6"; + break; + case "QY_6_HYTZ_AUDIT": + //中汽中心标准所-企业端-会议通知-6 + sender = "8821092414406"; + signature = "中汽中心标准所"; + templateId = "";//todo 审核不通过 + break; + case "QY_7_WJTZ_MEETING_SEND": + //中汽中心标准所-企业端-文件通知-7 + sender = "8821092414406"; + signature = "中汽中心标准所"; + templateId = "";//todo 审核不通过 + //通知类短信,不需要存redis + break; + case "QY_8_HTTZ_PHASE": + //中汽中心标准所-企业端-合同通知-8 + sender = "8821092414406"; + signature = "中汽中心标准所"; + templateId = "891d3236a8034a0c8ef266bb287a9ffa"; + break; + case "QY_9_YJTZ_MAIL": + //中汽中心标准所-企业端-邮寄通知-9 + sender = "8821092414406"; + signature = "中汽中心标准所"; + templateId = "1003b89133e04cd7922cee64451813d4"; + break; + case "QY_10_YJTZ_MAIL_CONTRACT": + // 中汽中心标准所-企业端-邮寄通知-10 + sender = "8821092414406"; + signature = "中汽中心标准所"; + templateId = "203aa025094e401b9f144b9a66e3c52e"; + //通知类短信,不需要存redis + break; + case "QY_11_CKTZ_PAY": + // 中汽中心标准所-企业端-催款通知-1 + sender = "8821092414406"; + signature = "中汽中心标准所"; + templateId = "c139886b751943feb6fd8aad46a3abbe"; + break; + case "QY_12_WJTZ_WORK_GROUP_SEND": + //中汽中心标准所-企业端-文件通知-12 + sender = "8821092414406"; + signature = "中汽中心标准所"; + templateId = "077964a02a814149bb01900e43c9a04e"; + break; + default: + throw new JeroBootException("codeType flase."); + } + + String str = ""; + // 管理端 + if(Objects.equals(sendMessageDTO.getTemplateCode().substring(0,2),"GL")){ + str = ManagementMessageEnums.getByCode(sendMessageDTO.getTemplateCode()).getField(); + } + // 企业端 + if(Objects.equals(sendMessageDTO.getTemplateCode().substring(0,2),"QY")){ + str = CompanyMessageEnums.getByCode(sendMessageDTO.getTemplateCode()).getField(); + } + String templateParas = ""; + if(!StringUtils.isEmpty(str)){ + StringBuilder sb = new StringBuilder(); + sb.append("["); + String[] s = str.split(","); + for (int i = 0; i < s.length; i++) { + sb.append("\"" + map.get(s[i]) + "\""); + if(i < (s.length - 1)){ + sb.append(","); + } + } + sb.append("]"); + templateParas = sb.toString(); + } + sysBaseAPI.sendMessage(sendMessageDTO.getPhone(),sender,templateId,signature,templateParas); + } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/config/ThreadPoolConfig.java b/jero-boot-incoming-payment/src/main/java/com/jero/config/ThreadPoolConfig.java new file mode 100644 index 00000000..00b0e25b --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/config/ThreadPoolConfig.java @@ -0,0 +1,38 @@ +package com.jero.config; + + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +import java.util.concurrent.ThreadPoolExecutor; + +@Configuration +public class ThreadPoolConfig { + /** + * 默认线程池 + * + * @return Executor + */ + @Bean + public ThreadPoolTaskExecutor defaultThreadPool() { + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //核心线程数目 + executor.setCorePoolSize(16); + //指定最大线程数 + executor.setMaxPoolSize(64); + //队列中最大的数目 + executor.setQueueCapacity(16); + //线程名称前缀 + executor.setThreadNamePrefix("defaultThreadPool_"); + //rejection-policy:当pool已经达到max size的时候,如何处理新任务 + //CALLER_RUNS:不在新线程中执行任务,而是由调用者所在的线程来执行 + //对拒绝task的处理策略 + executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); + //线程空闲后的最大存活时间 + executor.setKeepAliveSeconds(60); + //加载 + executor.initialize(); + return executor; + } +} \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/PayMailBillMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/PayMailBillMapper.java index 8f8713a5..13a52b17 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/PayMailBillMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/PayMailBillMapper.java @@ -54,4 +54,15 @@ public interface PayMailBillMapper extends BaseMapper { List pageList( @org.apache.ibatis.annotations.Param(Constants.WRAPPER) QueryWrapper queryWrapper); + + /** + * @Description 获取更用户相关的项目id + * @Author lqt + * @Date 2021/9/29 + * @Param projectType 项目类型 + * @Param userId 用户id + * @Return + * @Exception + */ + List getCompanyCommonProject(@Param("projectType") String projectType,@Param("userId") String userId); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyController.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyController.java index af893ae5..aefaf0a4 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyController.java @@ -4,6 +4,7 @@ import java.math.BigDecimal; import java.util.Arrays; import java.util.List; import java.util.Objects; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -50,13 +51,13 @@ import io.swagger.annotations.ApiOperation; @RequestMapping("/pack/payPackCompany") @Slf4j public class PayPackCompanyController extends JeroController { - @Autowired + @Resource private IPayPackCompanyService payPackCompanyService; - @Autowired + @Resource private IPayPackCompanyProjectService payPackCompanyProjectService; - @Autowired + @Resource private IPayContactsManagementTemporaryService payContactsManagementTemporaryService; - @Autowired + @Resource private IPayMailBillProjectService payMailBillProjectService; /** diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java index 8826bfce..e59e737e 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java @@ -6,32 +6,38 @@ import java.util.Arrays; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; -import com.jero.common.common.ProjectCommon; -import com.jero.common.exception.JeroBootException; import com.jero.common.service.ProjectDetailService; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.base.controller.JeroController; +import com.jero.common.system.query.QueryGenerator; +import com.jero.common.system.vo.LoginUser; import com.jero.common.util.ValidUtil; import com.jero.common.vo.ProjectDetailVO; import com.jero.contract.entity.PayIncomeContract; import com.jero.contract.entity.PayIncomeContractAssociated; import com.jero.contract.service.IPayIncomeContractAssociatedService; import com.jero.contract.service.IPayIncomeContractService; +import com.jero.mail.entity.PayMailBill; +import com.jero.mail.entity.PayMailBillProject; +import com.jero.mail.service.IPayMailBillProjectService; +import com.jero.mail.service.IPayMailBillService; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.service.ISysUserService; +import com.jero.pack.entity.PayPackCompany; import com.jero.pack.entity.PayPackCompanyProject; import com.jero.pack.service.IPayPackCompanyProjectService; +import com.jero.pack.service.IPayPackCompanyService; import com.jero.project.common.PayProjectCommon; -import com.jero.project.entity.PayWorkingGroupSubItem; import com.jero.project.service.IPayCommonProjectService; import com.jero.project.entity.PayCommonProject; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -40,6 +46,7 @@ import com.jero.project.vo.PayCommonProjectOutput; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -58,20 +65,26 @@ import io.swagger.annotations.ApiOperation; @RequestMapping("/project/payCommonProject") @Slf4j public class PayCommonProjectController extends JeroController { - @Autowired + @Resource private IPayCommonProjectService payCommonProjectService; - @Autowired + @Resource private ProjectDetailService projectDetailService; - @Autowired + @Resource private ISysBaseAPI sysBaseAPI; - @Autowired + @Resource private IPayIncomeContractAssociatedService payIncomeContractAssociatedService; - @Autowired + @Resource private IPayIncomeContractService payIncomeContractService; - @Autowired + @Resource private ISysUserService sysUserService; - @Autowired + @Resource private IPayPackCompanyProjectService payPackCompanyProjectService; + @Resource + private IPayMailBillService payMailBillService; + @Resource + private IPayPackCompanyService payPackCompanyService; + @Resource + private IPayMailBillProjectService payMailBillProjectService; /** * 分页列表查询 * @@ -111,6 +124,102 @@ public class PayCommonProjectController extends JeroController queryCompanyPageList(PayCommonProject payCommonProject, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if(Objects.isNull(sysUser)){ + return Result.error("没有查到用户信息!"); + } + List listUser = new ArrayList<>(); + // 项目的企业联系人 + LambdaQueryWrapper queryPayCommonProject = new LambdaQueryWrapper<>(); + queryPayCommonProject.eq(PayCommonProject::getContactsId,sysUser.getId()); + List listPayCommonProject = payCommonProjectService.list(queryPayCommonProject); + if(!CollectionUtils.isEmpty(listPayCommonProject)){ + List list = listPayCommonProject.stream().map(PayCommonProject::getId).collect(Collectors.toList()); + listUser.addAll(list); + } + LambdaQueryWrapper queryPayMailBill = new LambdaQueryWrapper<>(); + queryPayMailBill.eq(PayMailBill::getContactId,sysUser.getId()); + List listPayMailBill = payMailBillService.list(queryPayMailBill); + // 邮寄联系人 + if(!CollectionUtils.isEmpty(listPayMailBill)){ + List listId = listPayMailBill.stream().map(PayMailBill::getId).collect(Collectors.toList()); + LambdaQueryWrapper queryPayMailBillProject = new LambdaQueryWrapper<>(); + queryPayMailBillProject.in(PayMailBillProject::getBillId,listId); + List listPayMailBillProject = payMailBillProjectService.list(queryPayMailBillProject); + if(!CollectionUtils.isEmpty(listPayMailBillProject)){ + List listProjectId = listPayMailBillProject.stream().map(PayMailBillProject::getProjectId).collect(Collectors.toList()); + listUser.addAll(listProjectId); + } + } + // 打包的企业联系人和打包联系人 + LambdaQueryWrapper queryPayPackCompany = new LambdaQueryWrapper<>(); + queryPayPackCompany.eq(PayPackCompany::getCompanyContactId,sysUser.getId()).or() + .eq(PayPackCompany::getPackContactId,sysUser.getId()); + List listPayPackCompany = payPackCompanyService.list(queryPayPackCompany); + if(!CollectionUtils.isEmpty(listPayPackCompany)){ + List listPayPackCompanyId = listPayPackCompany.stream().map(PayPackCompany::getId).collect(Collectors.toList()); + LambdaQueryWrapper queryPayPackCompanyProject = new LambdaQueryWrapper<>(); + queryPayPackCompanyProject.in(PayPackCompanyProject::getProjectId,listPayPackCompanyId); + queryPayPackCompanyProject.eq(PayPackCompanyProject::getCome,PayProjectCommon.PROJECT_TYPE1); + List listPayPackCompanyProject = payPackCompanyProjectService.list(queryPayPackCompanyProject); + if(!CollectionUtils.isEmpty(listPayPackCompanyProject)){ + List listId = listPayPackCompanyProject.stream().map(PayPackCompanyProject::getProjectId).collect(Collectors.toList()); + listUser.addAll(listId); + } + } + // 关联合同的签订单位联系人 + LambdaQueryWrapper queryPayIncomeContract = new LambdaQueryWrapper<>(); + queryPayIncomeContract.eq(PayIncomeContract::getSignedContactsId,sysUser.getId()); + List listPayIncomeContract = payIncomeContractService.list(queryPayIncomeContract); + if(!CollectionUtils.isEmpty(listPayIncomeContract)){ + List listId = listPayIncomeContract.stream().map(PayIncomeContract::getId).collect(Collectors.toList()); + LambdaQueryWrapper queryPayIncomeContractAssociated = new LambdaQueryWrapper<>(); + queryPayIncomeContractAssociated.in(PayIncomeContractAssociated::getProjectId,listId); + queryPayIncomeContractAssociated.eq(PayIncomeContractAssociated::getProjectType,PayProjectCommon.PROJECT_TYPE1); + List listPayIncomeContractAssociated = payIncomeContractAssociatedService.list(queryPayIncomeContractAssociated); + if(!CollectionUtils.isEmpty(listPayIncomeContractAssociated)){ + List listProjectId = listPayIncomeContractAssociated.stream().map(PayIncomeContractAssociated::getProjectId).collect(Collectors.toList()); + listUser.addAll(listProjectId); + } + } + listUser.stream().distinct(); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(payCommonProject, req.getParameterMap()); + if(!CollectionUtils.isEmpty(listUser)){ + queryWrapper.in("id",listUser); + }else{ + queryWrapper.in("id", Arrays.asList("")); + } + Page page = new Page(pageNo, pageSize); + IPage pageList = payCommonProjectService.page(page, queryWrapper); + if(!CollectionUtils.isEmpty(pageList.getRecords())){ + List list = pageList.getRecords(); + list.forEach(p->{ + if(Objects.isNull(p.getReceivableAmount())){ + p.setReceivableAmount(new BigDecimal("0.00")); + } + if(Objects.isNull(p.getPaidAmount())){ + p.setPaidAmount(new BigDecimal("0.00")); + } + }); + pageList.setRecords(list); + } + return Result.OK(pageList); + } + /** * 收入合同-列表 * diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/quartz/job/PayIncomeContractJob.java b/jero-boot-incoming-payment/src/main/java/com/jero/quartz/job/PayIncomeContractJob.java deleted file mode 100644 index 5e562372..00000000 --- a/jero-boot-incoming-payment/src/main/java/com/jero/quartz/job/PayIncomeContractJob.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.jero.quartz.job; - -import com.jero.contract.service.IPayIncomeContractInstallmentService; -import lombok.extern.slf4j.Slf4j; -import org.quartz.Job; -import org.quartz.JobExecutionContext; -import org.quartz.JobExecutionException; -import org.springframework.beans.factory.annotation.Autowired; - -@Slf4j -public class PayIncomeContractJob implements Job { - - @Autowired - private IPayIncomeContractInstallmentService payIncomeContractInstallmentService; - - @Override - public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { - log.info("收入合同调用!"); - payIncomeContractInstallmentService.sendSMSIncomeContract(); - } -} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/quartz/job/PaySpendingContractJob.java b/jero-boot-incoming-payment/src/main/java/com/jero/quartz/job/PaySpendingContractJob.java deleted file mode 100644 index c544a11b..00000000 --- a/jero-boot-incoming-payment/src/main/java/com/jero/quartz/job/PaySpendingContractJob.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.jero.quartz.job; - -import com.jero.contract.service.IPaySpendingContractInstallmentService; -import lombok.extern.slf4j.Slf4j; -import org.quartz.Job; -import org.quartz.JobExecutionContext; -import org.quartz.JobExecutionException; -import org.springframework.beans.factory.annotation.Autowired; - -@Slf4j -public class PaySpendingContractJob implements Job { - - @Autowired - private IPaySpendingContractInstallmentService paySpendingContractInstallmentService; - - @Override - public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { - log.info("支出合同调用!"); - paySpendingContractInstallmentService.sendSMSSpendingContract(); - } -}