flower_city/src/main/java/com/dg/core/db/gen/entity/GuideRepairOrder.java
@@ -194,6 +194,13 @@ @ApiModelProperty("是否推送过(1 是 2 否)") private Integer isPush; /** * 是否提醒推送过(1 是 2 否) */ @ApiModelProperty("是否提醒推送过(1 是 2 否)") private Integer isRemindPush; /** * 是否隐藏评论(1 是 2 否) */ flower_city/src/main/java/com/dg/core/db/gen/mapper/GuideRepairOrderMapper.java
@@ -133,4 +133,11 @@ List<GuideRepairOrder> selectEvaluate(); /** * 获取需要通知的单据 * @return */ List<GuideRepairOrder> selectNoticeTime(@Param("minute") Integer minute); } flower_city/src/main/java/com/dg/core/service/IGuideRepairOrderService.java
@@ -140,4 +140,11 @@ */ ResultData deleteComment(Integer id, SysUser sysUser); /** * 发送工单提醒信息 * @return */ ResultData pushNoticeTimeRepairOrder(); } flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java
@@ -403,13 +403,13 @@ throw new RuntimeException(e); } for (GuideRepairOrder guideRepairOrder : guideRepairOrders) { List<SysUser> sysUsers = sysUserMapper.selectList(new QueryWrapper<SysUser>().lambda().eq(SysUser::getDepartmentId, guideRepairOrder.getGuideUserPhone()).eq(SysUser::getIsDivisionHead, 1)); List<SysUser> sysUsers = sysUserMapper.selectList(new QueryWrapper<SysUser>().lambda().eq(SysUser::getDepartmentId, guideRepairOrder.getGuideDepartmentId()).eq(SysUser::getIsDivisionHead, 1)); if (sysUsers != null && sysUsers.size() > 0) { for (SysUser sysUser : sysUsers) { // transactionEventMapper.selectOne(new QueryWrapper<TransactionEvent>().lambda().eq(TransactionEvent::getId, guideRepairOrder.getMatterId())); // SysUser sysUser = sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, guideRepairOrder.getGuideUserId())); if (sysUser != null) { smsUtil.sendSmsOvertime(sysUser.getPhonenumber(), sysUser.getUserName()); smsUtil.sendSmsOvertimeNew(sysUser.getPhonenumber(), sysUser.getUserName()); wxUtil.sendGuideRepairOrderOvertime(sysUser.getOpenid(), accessToken, "86JgWHhR8b1XxD72WYqMnndyfkiMtSSoCk9NFMwLEZ8", sysUser); guideRepairOrder.setIsPush(1); guideRepairOrder.setIsTimeout("2"); @@ -417,6 +417,25 @@ } } } } return ResultData.success(); } @Override public ResultData pushNoticeTimeRepairOrder(){ AutomessageSysSettings automessageSysSettings = iSysSettingsMapper.selectOne( new QueryWrapper<AutomessageSysSettings>().lambda() .eq(AutomessageSysSettings::getSettingName, "系统超时基础设置")); Integer timeoutRemindNum = automessageSysSettings.getTimeoutRemindNum(); List<GuideRepairOrder> guideRepairOrders = baseMapper.selectNoticeTime(timeoutRemindNum); for (GuideRepairOrder guideRepairOrder:guideRepairOrders){ SysUser sysUser = sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, guideRepairOrder.getGuideUserId())); if (sysUser != null) { smsUtil.sendSmsOvertimeRemind(sysUser.getPhonenumber(), sysUser.getUserName()); guideRepairOrder.setIsRemindPush(1); baseMapper.updateById(guideRepairOrder); } } return ResultData.success(); } flower_city/src/main/java/com/dg/core/service/impl/TransactionEventImpl.java
@@ -300,10 +300,14 @@ // 获取excel的sheet页数 int numberOfSheets = wb.getNumberOfSheets(); for (int j = 0; j < numberOfSheets; j++) { int i = 2; //获取excel字段名称进行比较 Sheet sheetAt = wb.getSheetAt(j); if(sheetAt.getRow(2)!=null){ Row row1 = sheetAt.getRow(2); if (new DataFormatter().formatCellValue(sheetAt.getRow(1).getCell(1)).length()>=3){ i--; } Row row1 = sheetAt.getRow(i); TransactionEvent transactionEvent = baseMapper.selectOne(new QueryWrapper<TransactionEvent>().lambda().eq(TransactionEvent::getMatterName, new DataFormatter().formatCellValue(row1.getCell(1)))); boolean isAdd = false; if (transactionEvent == null) { @@ -311,15 +315,15 @@ isAdd = true; } transactionEvent.setMatterName(new DataFormatter().formatCellValue(row1.getCell(1))); Row row2 = sheetAt.getRow(3); Row row2 = sheetAt.getRow(i+1); transactionEvent.setSetGist("<p>" + new DataFormatter().formatCellValue(row2.getCell(1)) + "</p>"); Row row3 = sheetAt.getRow(4); Row row4 = sheetAt.getRow(5); Row row3 = sheetAt.getRow(i+2); Row row4 = sheetAt.getRow(i+3); transactionEvent.setBasicInformation("<p> 事项名称:" + new DataFormatter().formatCellValue(row1.getCell(1)) + "<br />" + new DataFormatter().formatCellValue(row3.getCell(0)) + ":" + new DataFormatter().formatCellValue(row3.getCell(1))+ "<br />" + new DataFormatter().formatCellValue(row3.getCell(3)) + ":" + new DataFormatter().formatCellValue(row3.getCell(4)) + "<br />" + new DataFormatter().formatCellValue(row4.getCell(0)) + ":" + new DataFormatter().formatCellValue(row4.getCell(1)) + "</p>"); int i = 7; i = i+5; String applicationMaterial = "<p>"; while (true) { Row row = sheetAt.getRow(i); flower_city/src/main/java/com/dg/core/task/SendWsListener.java
@@ -2,6 +2,7 @@ import com.dg.core.service.IGuideRepairOrderService; import com.dg.core.util.TestDate; import lombok.extern.slf4j.Slf4j; import org.springframework.data.redis.core.RedisTemplate; import javax.annotation.Resource; @@ -11,6 +12,7 @@ import java.util.*; @WebListener @Slf4j public class SendWsListener implements ServletContextListener { @Resource @@ -21,7 +23,7 @@ @Override public void contextDestroyed(ServletContextEvent arg0) { System.out.println("定时发送Xml信息监听--已关闭!"); log.info("定时发送Xml信息监听--已关闭!"); } @Override @@ -55,18 +57,20 @@ @Override public void run() { System.out.println("每刻任务已执行"); log.info("每刻任务已执行"); //定时更新超时状态 iGuideRepairOrderService.pushOvertimeGuideRepairOrder(); //定时更新未评价的单据评价状态 iGuideRepairOrderService.updateEvaluate(); //定时发送工单提醒信息 iGuideRepairOrderService.pushNoticeTimeRepairOrder(); TestDate td = new TestDate(); Map weather = td.getWeather("510400"); redisTemplate.opsForValue().set("weather",weather); // TODO 写你的逻辑 } }, defaultdate, 1 * 60 * 1000);// 定时每15分钟 System.out.println("每刻定时发送Xml信息监听--已启动!"); log.info("每刻定时发送Xml信息监听--已启动!"); /** * ----------------每日任务 ---------------- flower_city/src/main/java/com/dg/core/util/SmsUtil.java
@@ -399,4 +399,41 @@ } return ResultData.success("短信发送成功"); } /** * 发送工单提交短信(电信平台) * * @param tel * 电话 * @param name * 工单名 */ public ResultData<Object> sendSmsOvertimeRemind(String tel,String name) { String url = "https://dxsdk.028lk.com:8082/Api/SendSms?"+"LoginName="+LoginName+"&Pwd="+Pwd+"&FeeType="+FeeType+"&Mobile="+tel+"&Content="; Random rd = new Random(); String content="您的待处理导办工单已超时,请 "+name+"尽快处理。"; url=url+content; OkHttpClient client = new OkHttpClient(); Response response; //解密数据 String rsa = null; Request request = new Request.Builder() .url(url) .get() .addHeader("Content-Type", "application/x-www-form-urlencoded") .build(); try { response = client.newCall(request).execute(); rsa = response.message(); if (!rsa.equals("OK")){ return ResultData.success("短信发送失败"); } } catch (IOException e) { e.printStackTrace(); return ResultData.success("短信发送失败"); } return ResultData.success("短信发送成功"); } } flower_city/src/main/resources/mapper/GuideRepairOrderMapper.xml
@@ -33,6 +33,8 @@ <id property="timeoutTime" column="timeout_time" /> <id property="isPush" column="is_push" /> <id property="isHideComments" column="is_hide_comments" /> <id property="isRemindPush" column="is_remind_push" /> </resultMap> <sql id="selectGuideRepairOrderVo"> @@ -291,6 +293,12 @@ </where> </select> <select id="selectNoticeTime" resultMap="GuideRepairOrderResult"> <include refid="selectGuideRepairOrderVo"/> <where> state=2 and is_remind_push=2 and SYSDATE()>subdate(timeout_time, interval ${minute} minute ) and 1>(select count(*) from automessage_guide_evolve where state=9 and a.id=guide_id ) </where> </select> <select id="selectEvaluate" resultMap="GuideRepairOrderResult"> <include refid="selectGuideRepairOrderVo"/> <where>