From 0b1fa8b0dde10c3edc1ac750c7924a1245d1f4c6 Mon Sep 17 00:00:00 2001 From: gaoxq <376340421@qq.com> Date: Sat, 3 Jan 2026 12:23:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=BE=85=E5=8A=9E=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jeesite/modules/app/Job/appJob.java | 18 ++++++++++ .../modules/app/Job/{ => biz}/dataJob.java | 23 ++++++++----- .../modules/app/Job/{ => biz}/hostJob.java | 14 ++++++-- .../modules/app/Job/{ => biz}/mailJob.java | 13 ++++++-- .../jeesite/modules/app/Job/biz/msgJob.java | 24 ++++++++++++++ .../modules/app/service/MsgService.java | 33 +++++++++++++++++++ .../jeesite/modules/app/utils/MyUtils.java | 11 +++++++ .../modules/biz/entity/BizListItem.java | 17 +++++++++- .../web/BizCalendarScheduleController.java | 9 +++++ .../biz/web/BizListItemController.java | 8 ++--- .../packages/biz/views/biz/listItem/form.vue | 2 +- 11 files changed, 152 insertions(+), 20 deletions(-) create mode 100644 web-api/src/main/java/com/jeesite/modules/app/Job/appJob.java rename web-api/src/main/java/com/jeesite/modules/app/Job/{ => biz}/dataJob.java (93%) rename web-api/src/main/java/com/jeesite/modules/app/Job/{ => biz}/hostJob.java (97%) rename web-api/src/main/java/com/jeesite/modules/app/Job/{ => biz}/mailJob.java (92%) create mode 100644 web-api/src/main/java/com/jeesite/modules/app/Job/biz/msgJob.java create mode 100644 web-api/src/main/java/com/jeesite/modules/app/service/MsgService.java diff --git a/web-api/src/main/java/com/jeesite/modules/app/Job/appJob.java b/web-api/src/main/java/com/jeesite/modules/app/Job/appJob.java new file mode 100644 index 00000000..8c63dcb6 --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/app/Job/appJob.java @@ -0,0 +1,18 @@ +package com.jeesite.modules.app.Job; + +import com.jeesite.modules.app.utils.LoggerUtils; +import org.springframework.stereotype.Controller; + +@Controller +public class appJob { + + private static final LoggerUtils logger = LoggerUtils.getInstance(); + + public void initJob() { + try { + System.out.println("appJob"); + } catch (Exception e) { + logger.error(e.getMessage()); + } + } +} diff --git a/web-api/src/main/java/com/jeesite/modules/app/Job/dataJob.java b/web-api/src/main/java/com/jeesite/modules/app/Job/biz/dataJob.java similarity index 93% rename from web-api/src/main/java/com/jeesite/modules/app/Job/dataJob.java rename to web-api/src/main/java/com/jeesite/modules/app/Job/biz/dataJob.java index a2be05f4..70e63582 100644 --- a/web-api/src/main/java/com/jeesite/modules/app/Job/dataJob.java +++ b/web-api/src/main/java/com/jeesite/modules/app/Job/biz/dataJob.java @@ -1,9 +1,8 @@ -package com.jeesite.modules.app.Job; +package com.jeesite.modules.app.Job.biz; import com.jeesite.modules.app.dao.TableTree; import com.jeesite.modules.app.utils.LoggerUtils; -import com.jeesite.modules.app.utils.MyFileUtils; import com.jeesite.modules.app.utils.MysqlUtils; import com.jeesite.modules.app.utils.vDate; import com.jeesite.modules.biz.entity.BizDbConfig; @@ -19,10 +18,8 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Controller; -import java.io.File; import java.util.ArrayList; import java.util.List; -import java.util.Objects; import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeUnit; @@ -47,11 +44,22 @@ public class dataJob { private static final LoggerUtils logger = LoggerUtils.getInstance(); + + @Scheduled(cron = "10 30 2 * * ?") + public void initJob() { + try { + ExecScript(); + DataManager(); + } catch (Exception e) { + logger.error(e.getMessage()); + } + } + + /** * 数据字典更新 */ - @Scheduled(cron = "10 30 2 * * ?") - public void getDataManager() { + public void DataManager() { BizDbConfig dbConfig = new BizDbConfig(); dbConfig.setIsEnabled("1"); List configList = dbConfigService.findList(dbConfig); @@ -83,8 +91,7 @@ public class dataJob { } - @Scheduled(cron = "0 30 0 * * ?") - public void getExecScript() { + public void ExecScript() { BizExecScript execScript = new BizExecScript(); execScript.setDataStatus("1"); List bizExecScriptList = bizExecScriptService.findList(execScript); diff --git a/web-api/src/main/java/com/jeesite/modules/app/Job/hostJob.java b/web-api/src/main/java/com/jeesite/modules/app/Job/biz/hostJob.java similarity index 97% rename from web-api/src/main/java/com/jeesite/modules/app/Job/hostJob.java rename to web-api/src/main/java/com/jeesite/modules/app/Job/biz/hostJob.java index 52798ba8..35932d77 100644 --- a/web-api/src/main/java/com/jeesite/modules/app/Job/hostJob.java +++ b/web-api/src/main/java/com/jeesite/modules/app/Job/biz/hostJob.java @@ -1,4 +1,4 @@ -package com.jeesite.modules.app.Job; +package com.jeesite.modules.app.Job.biz; import com.jeesite.common.config.Global; import com.jeesite.modules.app.dao.info.CpuInfo; @@ -40,11 +40,19 @@ public class hostJob { private static final double DISK_RATE = Double.parseDouble(Global.getConfig("biz.host.Disk", "60")); private static final LoggerUtils logger = LoggerUtils.getInstance(); + @Scheduled(cron = "0 0/15 * * * ?") + public void initJob() { + try { + HostStatus(); + } catch (Exception e) { + logger.error(e.getMessage()); + } + } + /** * 主机运行与磁盘监测 */ - @Scheduled(cron = "0 0/15 * * * ?") - public void getHostStatus() { + public void HostStatus() { List hosts = monitorHostService.findList(new BizMonitorHost()); List> futures = new ArrayList<>(hosts.size()); for (BizMonitorHost monitorHost : hosts) { diff --git a/web-api/src/main/java/com/jeesite/modules/app/Job/mailJob.java b/web-api/src/main/java/com/jeesite/modules/app/Job/biz/mailJob.java similarity index 92% rename from web-api/src/main/java/com/jeesite/modules/app/Job/mailJob.java rename to web-api/src/main/java/com/jeesite/modules/app/Job/biz/mailJob.java index 59089ce3..92236f8d 100644 --- a/web-api/src/main/java/com/jeesite/modules/app/Job/mailJob.java +++ b/web-api/src/main/java/com/jeesite/modules/app/Job/biz/mailJob.java @@ -1,4 +1,4 @@ -package com.jeesite.modules.app.Job; +package com.jeesite.modules.app.Job.biz; import com.jeesite.common.config.Global; import com.jeesite.modules.app.dao.MailReceived; @@ -42,7 +42,16 @@ public class mailJob { private static final String CRON_JOB = Global.getConfig("biz.cron.MailJob", "false"); @Scheduled(cron = "10 0/15 * * * ?") - public void getMailReceived() { + public void initJob() { + try { + MailReceived(); + } catch (Exception e) { + logger.error(e.getMessage()); + } + } + + + public void MailReceived() { if (CRON_JOB.equals("true")) { List accounts = bizMailAccountService.findList(new BizMailAccount()); List> futures = new ArrayList<>(accounts.size()); diff --git a/web-api/src/main/java/com/jeesite/modules/app/Job/biz/msgJob.java b/web-api/src/main/java/com/jeesite/modules/app/Job/biz/msgJob.java new file mode 100644 index 00000000..aaa4f08b --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/app/Job/biz/msgJob.java @@ -0,0 +1,24 @@ +package com.jeesite.modules.app.Job.biz; + +import com.jeesite.modules.app.utils.LoggerUtils; +import com.jeesite.modules.biz.service.BizListItemService; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Controller; + +@Controller +public class msgJob { + + @Resource + private BizListItemService bizListItemService; + + + private static final LoggerUtils logger = LoggerUtils.getInstance(); + + public void initJob() { + try { + + } catch (Exception e) { + logger.error(e.getMessage()); + } + } +} diff --git a/web-api/src/main/java/com/jeesite/modules/app/service/MsgService.java b/web-api/src/main/java/com/jeesite/modules/app/service/MsgService.java new file mode 100644 index 00000000..25205e97 --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/app/service/MsgService.java @@ -0,0 +1,33 @@ +package com.jeesite.modules.app.service; + +import com.jeesite.common.config.Global; +import com.jeesite.modules.app.utils.MyUtils; +import com.jeesite.modules.biz.entity.BizCalendarSchedule; +import com.jeesite.modules.biz.entity.BizListItem; +import com.jeesite.modules.biz.service.BizListItemService; +import com.jeesite.modules.sys.entity.User; +import com.jeesite.modules.sys.utils.UserUtils; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; + +@Service +public class MsgService { + + @Resource + private BizListItemService bizListItemService; + + private static final String HTTP_URL = Global.getConfig("biz.http.url", ""); + + + /** + * 日程待办 + */ + public void addSchedule(BizCalendarSchedule bizCalendarSchedule) { + User user = UserUtils.getUser(); + User fUser = UserUtils.getByLoginCode(bizCalendarSchedule.getParticipantUser()); + String title = MyUtils.concatParams("您有一条:[", bizCalendarSchedule.getTitle(), "]日程消息,请及时处理."); + BizListItem listItem = new BizListItem(title, bizCalendarSchedule.getEndTime(), bizCalendarSchedule.getContent(), fUser.getLoginCode(), fUser.getUserName(), user.getLoginCode()); + listItem.setAvatar(HTTP_URL + user.getAvatar()); + bizListItemService.save(listItem); + } +} diff --git a/web-api/src/main/java/com/jeesite/modules/app/utils/MyUtils.java b/web-api/src/main/java/com/jeesite/modules/app/utils/MyUtils.java index 94a803b9..76c23679 100644 --- a/web-api/src/main/java/com/jeesite/modules/app/utils/MyUtils.java +++ b/web-api/src/main/java/com/jeesite/modules/app/utils/MyUtils.java @@ -9,6 +9,17 @@ import java.util.Map; public class MyUtils { + public static String concatParams(String... args) { + StringBuilder sb = new StringBuilder(); + for (String param : args) { + if (param != null) { + sb.append(param); + } + } + return sb.toString(); + } + + public static Map convertToTreeNode(BizFolders folder, String parentName) { Map node = new HashMap<>(); node.put("folderId", folder.getFolderId()); diff --git a/web-api/src/main/java/com/jeesite/modules/biz/entity/BizListItem.java b/web-api/src/main/java/com/jeesite/modules/biz/entity/BizListItem.java index f7cf719f..32f69a43 100644 --- a/web-api/src/main/java/com/jeesite/modules/biz/entity/BizListItem.java +++ b/web-api/src/main/java/com/jeesite/modules/biz/entity/BizListItem.java @@ -65,7 +65,7 @@ public class BizListItem extends DataEntity implements Serializable private String avatar; // 头像图标 private String title; // 通知标题 private String titleDelete; // 是否删除 - private String datetime; // 发送时间 + private Date datetime; // 发送时间 private String type; // 类型标识 private String readFlag; // 是否已读 private String description; // 描述信息 @@ -105,6 +105,21 @@ public class BizListItem extends DataEntity implements Serializable super(id); } + public BizListItem(String title, Date datetime, String description, String loginUser, String userName, String createUser) { + this.createTime = new Date(); + this.title = title; + this.titleDelete = "0"; + this.datetime = datetime; + this.type = "2"; + this.readFlag = "0"; + this.description = description; + this.clickClose = "0"; + this.ustatus = "1"; + this.loginUser = loginUser; + this.userName = userName; + this.createUser = createUser; + } + public Date getCreateTime_gte() { return sqlMap.getWhere().getValue("create_time", QueryType.GTE); } diff --git a/web-api/src/main/java/com/jeesite/modules/biz/web/BizCalendarScheduleController.java b/web-api/src/main/java/com/jeesite/modules/biz/web/BizCalendarScheduleController.java index af556cd8..3f73cda0 100644 --- a/web-api/src/main/java/com/jeesite/modules/biz/web/BizCalendarScheduleController.java +++ b/web-api/src/main/java/com/jeesite/modules/biz/web/BizCalendarScheduleController.java @@ -2,9 +2,12 @@ package com.jeesite.modules.biz.web; import java.util.List; +import com.jeesite.modules.app.service.MsgService; import com.jeesite.modules.app.utils.vDate; import com.jeesite.modules.biz.entity.BizCalendarFlow; +import com.jeesite.modules.biz.entity.BizListItem; import com.jeesite.modules.biz.service.BizCalendarFlowService; +import com.jeesite.modules.biz.service.BizListItemService; import com.jeesite.modules.sys.entity.User; import com.jeesite.modules.sys.utils.DictUtils; import com.jeesite.modules.sys.utils.UserUtils; @@ -46,8 +49,13 @@ public class BizCalendarScheduleController extends BaseController { @Resource private BizCalendarFlowService flowService; + + @Resource + private MsgService msgService; + private final BizCalendarScheduleService bizCalendarScheduleService; + public BizCalendarScheduleController(BizCalendarScheduleService bizCalendarScheduleService) { this.bizCalendarScheduleService = bizCalendarScheduleService; } @@ -104,6 +112,7 @@ public class BizCalendarScheduleController extends BaseController { if (!bizCalendarSchedule.getIsNewRecord()) { getScheduleFlow(bizCalendarSchedule, user); } + msgService.addSchedule(bizCalendarSchedule); bizCalendarSchedule.setCreatorUser(user.getLoginCode()); bizCalendarSchedule.setParticipantName(fUser.getUserName()); bizCalendarScheduleService.save(bizCalendarSchedule); diff --git a/web-api/src/main/java/com/jeesite/modules/biz/web/BizListItemController.java b/web-api/src/main/java/com/jeesite/modules/biz/web/BizListItemController.java index 10909984..9288252d 100644 --- a/web-api/src/main/java/com/jeesite/modules/biz/web/BizListItemController.java +++ b/web-api/src/main/java/com/jeesite/modules/biz/web/BizListItemController.java @@ -1,9 +1,6 @@ package com.jeesite.modules.biz.web; -import java.util.Arrays; -import java.util.Date; -import java.util.List; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; import com.jeesite.modules.app.dao.TabItem; @@ -188,6 +185,7 @@ public class BizListItemController extends BaseController { @ResponseBody public List getTabListData() { User user = UserUtils.getUser(); + Set targetCodes = new HashSet<>(Arrays.asList("2", "3")); return Arrays.stream(NotifyType.values()) .map(type -> { BizListItem listItem = new BizListItem(); @@ -196,7 +194,7 @@ public class BizListItemController extends BaseController { listItem.setUstatus("1"); listItem.setType(type.getCode()); listItem.setDateTime_gte(new Date()); - if (type.getCode().equals("3")) { + if (targetCodes.contains(type.getCode())) { listItem.setLoginUser(user.getLoginCode()); } List dataList = bizListItemService.findList(listItem); diff --git a/web-vue/packages/biz/views/biz/listItem/form.vue b/web-vue/packages/biz/views/biz/listItem/form.vue index aa4cbd4c..46bcdd0d 100644 --- a/web-vue/packages/biz/views/biz/listItem/form.vue +++ b/web-vue/packages/biz/views/biz/listItem/form.vue @@ -86,7 +86,7 @@ componentProps: { selectType: 'userSelect', }, - ifShow: () => types.value === '3', + ifShow: () => ['2', '3'].includes(types.value), required: true, colProps: { md: 24, lg: 24 }, },