From bab67d03c5d77190001f2f06b2104b12dbfcbcdf Mon Sep 17 00:00:00 2001 From: cuilei <ray_tsu1@163.com> Date: 星期五, 11 七月 2025 14:51:28 +0800 Subject: [PATCH] H5首页待执行工单数量统计接口优化 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/WeekMaintenanceOrderWxMessageSendJob.java | 123 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 123 insertions(+), 0 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/WeekMaintenanceOrderWxMessageSendJob.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/WeekMaintenanceOrderWxMessageSendJob.java new file mode 100644 index 0000000..c654ffc --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/WeekMaintenanceOrderWxMessageSendJob.java @@ -0,0 +1,123 @@ +package org.jeecg.modules.eam.job; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.util.DateUtils; +import org.jeecg.modules.eam.constant.BusinessCodeConst; +import org.jeecg.modules.eam.constant.WeekMaintenanceStatusEnum; +import org.jeecg.modules.eam.entity.EamWeekMaintenanceOrder; +import org.jeecg.modules.eam.service.IEamWeekMaintenanceOrderService; +import org.jeecg.modules.mdc.util.ThrowableUtil; +import org.jeecg.modules.quartz.entity.QuartzJob; +import org.jeecg.modules.quartz.entity.SysQuartzLog; +import org.jeecg.modules.quartz.service.IQuartzJobService; +import org.jeecg.modules.quartz.service.ISysQuartzLogService; +import org.jeecg.modules.qywx.message.vo.TemplateCard; +import org.jeecg.modules.qywx.message.vo.TemplateCardEntity; +import org.jeecg.modules.system.entity.SysUser; +import org.jeecg.modules.system.service.ISysUserService; +import org.jeecg.modules.system.service.impl.ThirdAppWechatEnterpriseServiceImpl; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 寰呴鍙栧懆淇濆伐鍗曚紒涓氬井淇℃秷鎭帹閫佸畾鏃朵换鍔� + */ +@Slf4j +@Component +public class WeekMaintenanceOrderWxMessageSendJob implements Job { + + @Autowired + private IEamWeekMaintenanceOrderService eamWeekMaintenanceOrderService; + @Autowired + private ISysUserService sysUserService; + @Autowired + private ThirdAppWechatEnterpriseServiceImpl wechatEnterpriseService; + @Autowired + private ISysQuartzLogService sysQuartzLogService; + @Autowired + private IQuartzJobService quartzJobService; + + @Value("${wechatEnterprise.cardActionUrl}") + private String cardActionUrl; + + @Override + public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + log.info("寰呭懆淇濆伐鍗曚紒涓氬井淇℃秷鎭帹閫佷换鍔″紑濮嬫墽琛岋紝鏃堕棿锛歿}", DateUtils.now()); + //浠诲姟鏃ュ織 + SysQuartzLog quartzLog = new SysQuartzLog(); + quartzLog.setCreateTime(new Date()); + List<QuartzJob> byJobClassName = quartzJobService.findByJobClassName(this.getClass().getName()); + if (byJobClassName != null && !byJobClassName.isEmpty()) { + quartzLog.setJobId(byJobClassName.get(0).getId()); + } + long startTime = System.currentTimeMillis(); + try { + //鏌ヨ鎵�鏈夊緟淇濆吇鐨勫懆淇濆伐鍗� + List<EamWeekMaintenanceOrder> waitOrderList = eamWeekMaintenanceOrderService.list(new LambdaQueryWrapper<EamWeekMaintenanceOrder>() + .eq(EamWeekMaintenanceOrder::getMaintenanceStatus, WeekMaintenanceStatusEnum.WAIT_MAINTENANCE.name()) + .eq(EamWeekMaintenanceOrder::getDelFlag, CommonConstant.DEL_FLAG_0)); + if (!waitOrderList.isEmpty()) { + //鏈夊緟淇濆吇鐨勫伐鍗曪紝鎺ㄩ�佷紒涓氬井淇℃秷鎭� + //鏌ヨ鎵�鏈夋搷浣滃伐 + List<SysUser> userList = sysUserService.list(new LambdaQueryWrapper<SysUser>() + .eq(SysUser::getPost, BusinessCodeConst.PCR0001) + .eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0) + .eq(SysUser::getStatus, CommonConstant.USER_UNFREEZE)); + if (userList.isEmpty()) { + log.error("绯荤粺鏈缃搷浣滃伐鐢ㄦ埛锛屾棤娉曟帹閫佸伐鍗曢鍙栨彁閱掓秷鎭�"); + quartzLog.setIsSuccess(0); + quartzLog.setParams("绯荤粺鏈缃搷浣滃伐鐢ㄦ埛锛屾棤娉曟帹閫佸伐鍗曢鍙栨彁閱掓秷鎭�"); + } else { + TemplateCard templateCard = new TemplateCard(); + String toUsers = userList.stream().map(SysUser::getUsername).collect(Collectors.joining(",")); + String touser = wechatEnterpriseService.getTouser(toUsers, false); + templateCard.setTouser(touser); + TemplateCardEntity templateCardEntity = new TemplateCardEntity(); + templateCard.setTemplate_card(templateCardEntity); + templateCardEntity.setTask_id(waitOrderList.get(0).getId()); + TemplateCardEntity.MainTitle mainTitle = new TemplateCardEntity.MainTitle(); + mainTitle.setTitle("璁惧鍛ㄤ繚"); + templateCardEntity.setMain_title(mainTitle); + templateCardEntity.setSub_title_text("鎮ㄦ湁寰呴鍙栧懆淇濆伐鍗曪紝璇疯繘鍏ョ郴缁熼鍙�"); + TemplateCardEntity.CardAction cardAction = new TemplateCardEntity.CardAction(); + cardAction.setType(1); + cardAction.setUrl(cardActionUrl); + templateCardEntity.setCard_action(cardAction); + JSONObject jsonObject = wechatEnterpriseService.sendTemplateCardMsg(templateCard, true); + Integer errcode = (Integer) jsonObject.get("errcode"); + if (errcode == 0) { + log.info("鎺ㄩ�佸緟棰嗗彇鍛ㄤ繚宸ュ崟浼佷笟寰俊娑堟伅鎴愬姛锛寋}", jsonObject.toJSONString()); + quartzLog.setIsSuccess(0); + quartzLog.setParams(jsonObject.toJSONString()); + } else { + log.error("鎺ㄩ�佸緟棰嗗彇鍛ㄤ繚宸ュ崟浼佷笟寰俊娑堟伅澶辫触锛寋}", jsonObject.toJSONString()); + quartzLog.setIsSuccess(-1); + quartzLog.setExceptionDetail(jsonObject.toJSONString()); + } + } + } else { + log.info("鏃犲緟棰嗗彇鍛ㄤ繚宸ュ崟锛屾棤闇�鎺ㄩ�佸伐鍗曢鍙栨彁閱掓秷鎭�"); + quartzLog.setIsSuccess(0); + quartzLog.setParams("鏃犲緟棰嗗彇鍛ㄤ繚宸ュ崟锛屾棤闇�鎺ㄩ�佸伐鍗曢鍙栨彁閱掓秷鎭�"); + } + } catch (Exception e) { + log.error("寰呭懆淇濆伐鍗曚紒涓氬井淇℃秷鎭帹閫佷换鍔℃墽琛屽け璐ワ紝{}", e.getMessage(), e); + quartzLog.setIsSuccess(-1); + quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e)); + } + long endTime = System.currentTimeMillis(); + quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime))); + sysQuartzLogService.save(quartzLog); + } +} -- Gitblit v1.9.3