From 6c84eff9302df57bc41a5200c2f88f67b669c460 Mon Sep 17 00:00:00 2001 From: fengjin <1435304038@qq.com> Date: 星期二, 06 十二月 2022 10:46:49 +0800 Subject: [PATCH] Merge branch 'zigonggao_dev' into huacheng_test --- flower_city/src/main/java/com/dg/core/db/gen/entity/GuideRepairOrder.java | 7 +++ flower_city/src/main/java/com/dg/core/service/IGuideRepairOrderService.java | 7 +++ flower_city/src/main/resources/mapper/GuideRepairOrderMapper.xml | 8 ++++ flower_city/src/main/java/com/dg/core/task/SendWsListener.java | 10 +++- flower_city/src/main/java/com/dg/core/util/SmsUtil.java | 37 ++++++++++++++++++ flower_city/src/main/java/com/dg/core/db/gen/mapper/GuideRepairOrderMapper.java | 7 +++ flower_city/src/main/java/com/dg/core/service/impl/TransactionEventImpl.java | 14 ++++-- flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java | 23 ++++++++++- 8 files changed, 103 insertions(+), 10 deletions(-) diff --git a/flower_city/src/main/java/com/dg/core/db/gen/entity/GuideRepairOrder.java b/flower_city/src/main/java/com/dg/core/db/gen/entity/GuideRepairOrder.java index a4caaf6..eabd2c6 100644 --- a/flower_city/src/main/java/com/dg/core/db/gen/entity/GuideRepairOrder.java +++ b/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 否) */ diff --git a/flower_city/src/main/java/com/dg/core/db/gen/mapper/GuideRepairOrderMapper.java b/flower_city/src/main/java/com/dg/core/db/gen/mapper/GuideRepairOrderMapper.java index 3e74bdc..a5e2982 100644 --- a/flower_city/src/main/java/com/dg/core/db/gen/mapper/GuideRepairOrderMapper.java +++ b/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); + + } diff --git a/flower_city/src/main/java/com/dg/core/service/IGuideRepairOrderService.java b/flower_city/src/main/java/com/dg/core/service/IGuideRepairOrderService.java index 0e57c8c..ced70b5 100644 --- a/flower_city/src/main/java/com/dg/core/service/IGuideRepairOrderService.java +++ b/flower_city/src/main/java/com/dg/core/service/IGuideRepairOrderService.java @@ -140,4 +140,11 @@ */ ResultData deleteComment(Integer id, SysUser sysUser); + + /** + * 发送工单提醒信息 + * @return + */ + ResultData pushNoticeTimeRepairOrder(); + } diff --git a/flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java b/flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java index 683e8a6..b8c7614 100644 --- a/flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java +++ b/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(); } diff --git a/flower_city/src/main/java/com/dg/core/service/impl/TransactionEventImpl.java b/flower_city/src/main/java/com/dg/core/service/impl/TransactionEventImpl.java index 56fc15b..d235426 100644 --- a/flower_city/src/main/java/com/dg/core/service/impl/TransactionEventImpl.java +++ b/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); diff --git a/flower_city/src/main/java/com/dg/core/task/SendWsListener.java b/flower_city/src/main/java/com/dg/core/task/SendWsListener.java index 33780a3..492c6ef 100644 --- a/flower_city/src/main/java/com/dg/core/task/SendWsListener.java +++ b/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信息监听--已启动!"); /** * ----------------每日任务 ---------------- diff --git a/flower_city/src/main/java/com/dg/core/util/SmsUtil.java b/flower_city/src/main/java/com/dg/core/util/SmsUtil.java index 483471c..cde4fd0 100644 --- a/flower_city/src/main/java/com/dg/core/util/SmsUtil.java +++ b/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("短信发送成功"); + } } \ No newline at end of file diff --git a/flower_city/src/main/resources/mapper/GuideRepairOrderMapper.xml b/flower_city/src/main/resources/mapper/GuideRepairOrderMapper.xml index aa728cd..730bb4a 100644 --- a/flower_city/src/main/resources/mapper/GuideRepairOrderMapper.xml +++ b/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> -- Gitblit v1.7.1