From 4e2174176f2f4a2641ae945485ec43889199e951 Mon Sep 17 00:00:00 2001 From: YXY <932687738@qq.com> Date: Tue, 15 Aug 2023 23:30:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=85=8D=E7=BD=AE=E5=8C=BA?= =?UTF-8?q?=E5=88=86=E4=B8=8D=E5=90=8C=E7=8E=AF=E5=A2=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application.yml | 6 ++ .../com/ruoyi/common/constant/Constants.java | 1 + .../com/ruoyi/flyingbook/aop/ErrorLogAop.java | 11 ++- .../consumer/LarkApplicationRunner.java | 52 +++++------ .../quartz/controller/MailInfoController.java | 86 +++++++++++++------ .../task/CJT/CJTCreateLarkTableJob.java | 5 ++ .../quartz/task/CJT/RetryErrorSyncJob.java | 9 ++ .../task/CJT/SyncAccountsJobAbstract.java | 8 ++ .../com/ruoyi/quartz/task/MailSyncTask.java | 6 ++ .../com/ruoyi/quartz/task/MonitorJobTask.java | 9 +- .../quartz/task/ScheduledRemindersTask.java | 7 +- .../quartz/task/odoo/CJTOdooLarkTableJob.java | 6 +- .../quartz/task/odoo/OdooAbstrackob.java | 6 +- 13 files changed, 149 insertions(+), 63 deletions(-) diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 92fa828..07fe32e 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -111,3 +111,9 @@ attachment: lark: robot: group: https://open.feishu.cn/open-apis/bot/v2/hook/cf432ef4-e526-4595-8330-2d2a361f7a29 +pdf: + generate: + path: /data/biz_file/ +# path: D:\test\ +sync: + flag: true diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java b/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java index 6e13ac1..8289eea 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java @@ -126,4 +126,5 @@ public class Constants * 资源映射路径 前缀 */ public static final String RESOURCE_PREFIX = "/profile"; + public static final String FOLDER_SPLIT = "/"; } diff --git a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/aop/ErrorLogAop.java b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/aop/ErrorLogAop.java index 3709457..1f57d88 100644 --- a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/aop/ErrorLogAop.java +++ b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/aop/ErrorLogAop.java @@ -37,6 +37,9 @@ public class ErrorLogAop { @Value("${lark.robot.group}") private String ROBOT_GROUP; + @Value("${sync.flag}") + private Boolean syncFlag; + /** * 创建对象填充默认参数 */ @@ -49,7 +52,9 @@ public class ErrorLogAop { LarkRequest larkRequest = new LarkRequest("a", "b"); LarkException larkException = new LarkException("", errorMessage, larkRequest); String errorMessageBody = larkException.getErrorMessageBody(); - larkRobotHelper.sendMessageByBot(ROBOT_GROUP, errorMessageBody); + if (Boolean.TRUE.equals(syncFlag)) { + larkRobotHelper.sendMessageByBot(ROBOT_GROUP, errorMessageBody); + } } } } @@ -84,7 +89,9 @@ public class ErrorLogAop { .map(EventLog::getErrorMessage) .collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(errorList)) { - larkRobotHelper.sendMessageByBot(ROBOT_GROUP,String.join(",",errorList)); + if (Boolean.TRUE.equals(syncFlag)) { + larkRobotHelper.sendMessageByBot(ROBOT_GROUP, String.join(",", errorList)); + } } } diff --git a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/consumer/LarkApplicationRunner.java b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/consumer/LarkApplicationRunner.java index 93cf42b..fce8f70 100644 --- a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/consumer/LarkApplicationRunner.java +++ b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/consumer/LarkApplicationRunner.java @@ -8,6 +8,7 @@ import com.ruoyi.flyingbook.mapper.EventMapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.stereotype.Component; @@ -50,6 +51,8 @@ public class LarkApplicationRunner implements ApplicationRunner { @Autowired private EventMapper eventMapper; + @Value("${sync.flag}") + private Boolean syncFlag; @Autowired private LarkOperateFactory larkOperateFactory; @@ -59,35 +62,32 @@ public class LarkApplicationRunner implements ApplicationRunner { @Override public void run(ApplicationArguments args) throws Exception { - //这里用线程池,后续如果出现量大的情况下可以调整 - new Thread(new Runnable() { - @Override - public void run() { - while (true) { - List eventList = eventMapper.queryEventList(EventOperateStatus.PENDING.getCode(), FlagStatus.OK.getCode()); - if (CollectionUtils.isEmpty(eventList)) { - try { - // 没有订单,休息一下 - Thread.sleep(WAIT_TIME); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } else { - try { - for (Event event : eventList) { - larkOperateFactory.execute(event); + if (Boolean.TRUE.equals(syncFlag)) { + //这里用线程池,后续如果出现量大的情况下可以调整 + new Thread(new Runnable() { + @Override + public void run() { + while (true) { + List eventList = eventMapper.queryEventList(EventOperateStatus.PENDING.getCode(), FlagStatus.OK.getCode()); + if (CollectionUtils.isEmpty(eventList)) { + try { + // 没有订单,休息一下 + Thread.sleep(WAIT_TIME); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } else { + try { + for (Event event : eventList) { + larkOperateFactory.execute(event); + } + } catch (Exception e) { + e.printStackTrace(); } - } catch (Exception e) { - e.printStackTrace(); } } } - } - }).start(); -// threadPool.execute(() -> { -// -// -// }); + }).start(); + } } - } diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/MailInfoController.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/MailInfoController.java index 5fd6330..98c8638 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/MailInfoController.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/MailInfoController.java @@ -5,6 +5,9 @@ import com.ruoyi.quartz.task.CJT.*; import com.ruoyi.quartz.task.MailSyncTask; import com.ruoyi.quartz.task.MonitorJobTask; import com.ruoyi.quartz.task.ScheduledRemindersTask; +import com.ruoyi.quartz.task.odoo.AccountMoveLineJob; +import com.ruoyi.quartz.task.odoo.ProductProductJob; +import com.ruoyi.quartz.task.odoo.StockQuantJob; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -36,8 +39,14 @@ public class MailInfoController extends BaseController { private SaleDispatchSyncJob saleDispatchSyncJob; @Autowired private SaleOrderSyncJob saleOrderSyncJob; -// @Autowired -// private ProductJob productJob; + @Autowired + private CJTCreateLarkTableJob cjtCreateLarkTableJob; + @Autowired + private ProductProductJob productProductJob; + @Autowired + private AccountMoveLineJob accountMoveLineJob; + @Autowired + private StockQuantJob stockQuantJob; // @PostMapping("/syncEmail") // public void syncEmail(Boolean readFlag) { @@ -46,33 +55,54 @@ public class MailInfoController extends BaseController { @SneakyThrows @PostMapping("/scheduledReminders") - public void scheduledReminders(Integer number) { -// System.out.println(number); -// Integer userId = productJob.getUserId(); -// System.out.println(userId); -// productJob.testProduct(); -// switch (number){ -// case 1: -// manufactureOrderSyncJob.executeSync(null); -// break; -// case 2: -// purchaseArrivalOpenSyncJob.executeSync(null); -// break; -// case 3: -// purchaseOrderSyncJob.executeSync(null); -// break; -// case 4: -// saleDeliverySyncJob.executeSync(null); -// break; -// case 5: -// saleDispatchSyncJob.executeSync(null); -// break; -// case 6: -// saleOrderSyncJob.executeSync(null); -// break; + public void scheduledReminders(Integer number,String cjt) { +// odoo(number); +// if (number > 10){ +// cjtCreateLarkTableJob.execute(); +// }else { + cjt(number,cjt); // } -// monitorJobTask.monitor(); -// scheduledRemindersTask.scheduledReminders(); + } + + private void odoo(Integer number){ + switch (number){ + case 0: + accountMoveLineJob.execute(number); + break; + case 1: + case 6: + case 8: + productProductJob.execute(number); + break; + default: + break; + } + } + + private void cjt(Integer number,String cjt){ + switch (number){ + case 1: + manufactureOrderSyncJob.executeSync(cjt,"2023-08-01 00:00:00","2023-08-08 23:00:00"); + break; + case 2: + purchaseArrivalOpenSyncJob.executeSync(cjt,"2023-08-01 00:00:00","2023-08-08 23:00:00"); + break; + case 3: + purchaseOrderSyncJob.executeSync(cjt,"2023-06-07 00:00:00","2023-06-07 23:00:00"); + break; + case 4: + saleDeliverySyncJob.executeSync(cjt,"2023-08-01 00:00:00","2023-08-08 23:00:00"); + break; + case 5: + saleDispatchSyncJob.executeSync(cjt,"2023-08-02 16:46:00","2023-08-02 16:47:00"); + break; + case 6: + saleOrderSyncJob.executeSync(cjt,"2023-08-01 00:00:00","2023-08-08 23:00:00"); + break; + case 7: + retryErrorSyncJob.execute(); + break; + } } } diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/CJT/CJTCreateLarkTableJob.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/CJT/CJTCreateLarkTableJob.java index 31f7df4..3120c1c 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/CJT/CJTCreateLarkTableJob.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/CJT/CJTCreateLarkTableJob.java @@ -48,9 +48,14 @@ public class CJTCreateLarkTableJob{ private LarkRobotHelper larkRobotHelper; @Value("${lark.robot.group}") private String ROBOT_GROUP; + @Value("${sync.flag}") + private Boolean syncFlag; public void execute(){ + if (Boolean.FALSE.equals(syncFlag)) { + return; + } Map waitCreatMap = getWaitCreateMap(); Map tableNameMap = getTableNameMap(); String currentDate = DateUtils.ldt2str(LocalDateTime.now(), DateUtils.YYYYMM); diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/CJT/RetryErrorSyncJob.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/CJT/RetryErrorSyncJob.java index 64d676e..90abb6d 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/CJT/RetryErrorSyncJob.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/CJT/RetryErrorSyncJob.java @@ -6,6 +6,7 @@ import com.ruoyi.common.enums.CjtAccountEnum; import com.ruoyi.quartz.domain.CJTRetryRequest; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import java.util.Arrays; @@ -32,8 +33,13 @@ public class RetryErrorSyncJob { private SaleDispatchSyncJob saleDispatchSyncJob; @Autowired private SaleOrderSyncJob saleOrderSyncJob; + @Value("${sync.flag}") + private Boolean syncFlag; public void execute(String appTypeCode,String cjt) { + if (Boolean.FALSE.equals(syncFlag)) { + return; + } AppType appType = AppType.getByCode(appTypeCode); if (appType != null) { executeDetail(appType,cjt); @@ -41,6 +47,9 @@ public class RetryErrorSyncJob { } public void execute() { + if (Boolean.FALSE.equals(syncFlag)) { + return; + } for (CjtAccountEnum value : CjtAccountEnum.values()) { try { List retryJobList = retryJobList(); diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/CJT/SyncAccountsJobAbstract.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/CJT/SyncAccountsJobAbstract.java index 690f844..2575931 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/CJT/SyncAccountsJobAbstract.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/CJT/SyncAccountsJobAbstract.java @@ -52,6 +52,8 @@ public abstract class SyncAccountsJobAbstract { private LarkRobotHelper larkRobotHelper; @Value("${lark.robot.group}") private String ROBOT_GROUP; + @Value("${sync.flag}") + private Boolean syncFlag; /** * 分页条数 */ @@ -88,6 +90,9 @@ public abstract class SyncAccountsJobAbstract { } public void execute(CJTRetryRequest request) { + if (Boolean.FALSE.equals(syncFlag)) { + return; + } if (request == null){ return; } @@ -117,6 +122,9 @@ public abstract class SyncAccountsJobAbstract { } public void executeSync(String cjt,String queryFromTime,String queryToTime) { + if (Boolean.FALSE.equals(syncFlag)) { + return; + } LocalDateTime now = LocalDateTime.now(); CJTJobContext context = initContext(queryFromTime,queryToTime,now,cjt); try { diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/MailSyncTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/MailSyncTask.java index fba5f54..c48c6b4 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/MailSyncTask.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/MailSyncTask.java @@ -13,6 +13,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import java.util.HashMap; @@ -37,8 +38,13 @@ public class MailSyncTask { private IMailInfoService iMailInfoService; @Autowired private LarkTableRelationMapper larkTableRelationMapper; + @Value("${sync.flag}") + private Boolean syncFlag; public void syncMail(Boolean readFlag) { + if (Boolean.FALSE.equals(syncFlag)) { + return; + } log.info("MailSyncTask start readFlag:{}",readFlag); MailInfo mailInfo = new MailInfo(); mailInfo.setFlag(FlagStatus.OK.getCode()); diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/MonitorJobTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/MonitorJobTask.java index e6ffd6e..f12111e 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/MonitorJobTask.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/MonitorJobTask.java @@ -4,13 +4,9 @@ import com.ruoyi.common.enums.EventOperateType; import com.ruoyi.flyingbook.LarkHelper.LarkRobotHelper; import com.ruoyi.flyingbook.domain.LogCount; import com.ruoyi.flyingbook.mapper.EventLogMapper; -import com.ruoyi.flyingbook.mapper.EventMapper; -import com.ruoyi.flyingbook.service.IEventLogService; -import com.ruoyi.flyingbook.service.IEventService; import com.ruoyi.quartz.domain.JobLogCount; import com.ruoyi.quartz.domain.SysJobLog; import com.ruoyi.quartz.mapper.SysJobLogMapper; -import com.ruoyi.quartz.service.ISysJobService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -37,8 +33,13 @@ public class MonitorJobTask { @Value("${lark.robot.group}") private String robotGroup; + @Value("${sync.flag}") + private Boolean syncFlag; public void monitor() { + if (Boolean.FALSE.equals(syncFlag)) { + return; + } log.info("scheduledRemindersTask start"); Date todayStartTime = this.getTodayStartTime(); Date endTime = new Date(); diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/ScheduledRemindersTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/ScheduledRemindersTask.java index 43dc4a6..e3b1e6f 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/ScheduledRemindersTask.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/ScheduledRemindersTask.java @@ -22,6 +22,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import java.math.BigDecimal; @@ -60,7 +61,8 @@ public class ScheduledRemindersTask { private EventLogMapper eventLogMapper; @Autowired private LarkRobotHelper larkRobotHelper; - + @Value("${sync.flag}") + private Boolean syncFlag; /** * 查询分页大小 */ @@ -72,6 +74,9 @@ public class ScheduledRemindersTask { public void scheduledReminders() { + if (Boolean.FALSE.equals(syncFlag)) { + return; + } log.info("scheduledRemindersTask start"); List larkList = this.getLarkList(); if (CollectionUtils.isEmpty(larkList)) { diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/odoo/CJTOdooLarkTableJob.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/odoo/CJTOdooLarkTableJob.java index 94d2410..56e41e4 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/odoo/CJTOdooLarkTableJob.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/odoo/CJTOdooLarkTableJob.java @@ -45,10 +45,14 @@ public class CJTOdooLarkTableJob { private LarkRobotHelper larkRobotHelper; @Value("${lark.robot.group}") private String ROBOT_GROUP; - + @Value("${sync.flag}") + private Boolean syncFlag; private static final List enableExecuteMonth = Arrays.asList(1,4,7,10); public void execute() { + if (Boolean.FALSE.equals(syncFlag)) { + return; + } Map waitCreatMap = getWaitCreateMap(); Map tableNameMap = getTableNameMap(); LocalDateTime now = LocalDateTime.now(); diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/odoo/OdooAbstrackob.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/odoo/OdooAbstrackob.java index 495876b..96a4682 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/odoo/OdooAbstrackob.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/odoo/OdooAbstrackob.java @@ -54,7 +54,8 @@ public abstract class OdooAbstrackob { private LarkRobotHelper larkRobotHelper; @Value("${lark.robot.group}") private String ROBOT_GROUP; - + @Value("${sync.flag}") + private Boolean syncFlag; private static final String GET_DATA_DB = "Fortune_test0716"; private static final String GET_DATA_NAME = "test"; @@ -69,6 +70,9 @@ public abstract class OdooAbstrackob { public void execute(Integer warehouseId) { try { + if (Boolean.FALSE.equals(syncFlag)) { + return; + } log.info("===================== {} strat ======================", this.getClassName()); //初始化调用对象 OdooContext context = initContext(warehouseId);