ソースを参照

预警合并代码

hanzhiwei 2 年 前
コミット
9e9a2e5927

+ 1 - 0
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/service/impl/AlarmRecordServiceImpl.java

@@ -477,6 +477,7 @@ public class AlarmRecordServiceImpl implements IAlarmRecordService {
             warningNoticeLogDto.setWarningSubType(2);
             warningNoticeLogDto.setWarningContent("气瓶超时未归还");
             warningNoticeLogDto.setApply(QpUseRecord.getContacts());
+            warningNoticeLogDto.setApplyTime(LocalDateTimeUtil.of(QpUseRecord.getUseTime()));
             warningNoticeLogDto.setHolder(qpBottleStorageVO.getStorageUser());
             warningNoticeLogDto.setDeposit(qpBottleStorageVO.getLocation());
             warningNoticeLogDto.setMargin(new BigDecimal(qpBottleStorageVO.getCurrentPressure()));

+ 4 - 4
zd-modules/zd-algorithm/src/main/java/com/zd/alg/alarm/controller/AlarmController.java

@@ -128,7 +128,7 @@ public class AlarmController extends BaseController {
                     alarmLog.setRoleName(userPhoneInfos.get(0).getRole());
                 }
                 alarmLog.setIsBack(0);
-                alarmLog.setMethod("电话");
+                alarmLog.setMethod(SendTypes.Call.name());
                 alarmLog.setStatus("成功");
                 alarmLog.setPhone(phone);
                 alarmLog.setNotice(alarmEntrty.getText());
@@ -149,7 +149,7 @@ public class AlarmController extends BaseController {
                 alarmLog.setIsBack(0);
                 alarmLog.setPhone(phone);
                 alarmLog.setNotice(alarmEntrty.getText());
-                alarmLog.setMethod("电话");
+                alarmLog.setMethod(SendTypes.Call.name());
                 alarmLog.setStatus("失败");
                 alarmLog.setCreateTime(DateUtils.getNowDate());
                 alarmLog.setUpdateTime(DateUtils.getNowDate());
@@ -185,7 +185,7 @@ public class AlarmController extends BaseController {
                     alarmLog.setRoleName(userPhoneInfos.get(0).getRole());
                 }
                 alarmLog.setIsBack(0);
-                alarmLog.setMethod("电话");
+                alarmLog.setMethod(SendTypes.SMS.name());
                 alarmLog.setStatus("成功");
                 alarmLog.setPhone(phone);
                 alarmLog.setNotice(alarmEntrty.getText());
@@ -201,7 +201,7 @@ public class AlarmController extends BaseController {
                 alarmLog.setIsBack(0);
                 alarmLog.setPhone(phone);
                 alarmLog.setNotice(alarmEntrty.getText());
-                alarmLog.setMethod("电话");
+                alarmLog.setMethod(SendTypes.SMS.name());
                 alarmLog.setStatus("失败");
                 alarmLog.setCreateTime(DateUtils.getNowDate());
                 alarmLog.setUpdateTime(DateUtils.getNowDate());

+ 11 - 5
zd-modules/zd-algorithm/src/main/java/com/zd/alg/alarm/utils/AlarmUtil.java

@@ -9,6 +9,7 @@ import com.zd.algorithm.api.alarm.entity.AlarmEntrty;
 import com.zd.algorithm.api.alarm.entity.AlarmLog;
 import com.zd.algorithm.api.alarm.entity.Routes;
 import com.zd.algorithm.api.alarm.entity.SendTypes;
+import com.zd.common.core.redis.RedisService;
 import com.zd.common.core.utils.DateUtils;
 import org.apache.commons.collections4.CollectionUtils;
 import org.slf4j.Logger;
@@ -22,6 +23,7 @@ import org.springframework.stereotype.Component;
 import javax.annotation.PostConstruct;
 import javax.validation.constraints.NotNull;
 import java.util.*;
+import java.util.concurrent.TimeUnit;
 
 /**
  * 报警工具类
@@ -41,6 +43,9 @@ public class AlarmUtil {
     @Autowired
     private IAlarmLogService alarmLogService;
 
+    @Autowired
+    private RedisService redisService;
+
 
     /**
      * 链接超时 项目启动会失败
@@ -78,9 +83,9 @@ public class AlarmUtil {
     /**
      * 定时检测 重试
      */
-    @Scheduled(fixedRate=60 * 1000)
+    @Scheduled(fixedDelay = 150 * 1000)
     public void timerCount(){
-
+        logger.info("电话短信重试机制!!");
         Map<String, Object> params = new HashMap<>();
         params.put("retryCount", retryCount);
         params.put("date", DateUtils.getNowDate());
@@ -107,12 +112,13 @@ public class AlarmUtil {
                                 alarmLog.setMethod(map.get("method")+"");
                                 alarmLog.setUpdateTime(DateUtils.getNowDate());
                                 alarmLogService.updateAlarmLog(alarmLog);
-
+                                logger.info("数据data: "+  alarmLog.toString());
                                 if("失败".equals(map.get("status"))){
-                                    System.out.println("重发数据: "+  alarmLog.toString());
+                                    logger.info("重发数据: "+  alarmLog.toString());
                                     // TODO 运行异常 需记录 重拨ID或手机号 避免一次运行多次拨号
-                                    if(!failPhones.contains(alarmLog.getPhone())){
+                                    if(!failPhones.contains(alarmLog.getPhone()) && redisService.getCacheObject("retry" + alarmLog.getPhone()) == null){
                                         failPhones.add(alarmLog.getPhone());
+                                        redisService.setCacheObject("retry" + alarmLog.getPhone(), alarmLog.getPhone(),150L, TimeUnit.SECONDS);
                                         sendPost(new AlarmEntrty(Routes.NoticePush, new String[]{alarmLog.getPhone()}, SendTypes.Call+"", alarmLog.getNotice()));
                                     }
                                 }

+ 11 - 1
zd-modules/zd-chemical/src/main/java/com/zd/chemical/service/impl/HxpStockServiceImpl.java

@@ -38,6 +38,7 @@ import com.zd.laboratory.api.feign.RemoteLabHardwareService;
 import com.zd.laboratory.api.feign.RemoteLaboratoryService;
 import com.zd.laboratory.api.feign.RemoteMessageContentService;
 import com.zd.model.constant.HttpStatus;
+import com.zd.model.constant.SecurityConstants;
 import com.zd.model.domain.AjaxResult;
 import com.zd.model.domain.DTO.UserPhoneInfo;
 import com.zd.model.domain.R;
@@ -45,7 +46,9 @@ import com.zd.model.domain.ResultData;
 import com.zd.model.domain.per.PerPrefix;
 import com.zd.model.entity.HardwareRfidDto;
 import com.zd.model.entity.InventoryTag;
+import com.zd.model.entity.LoginUser;
 import com.zd.system.api.entity.SysDictData;
+import com.zd.system.api.feign.RemoteUserService;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -142,6 +145,9 @@ public class HxpStockServiceImpl implements IHxpStockService {
     @Resource
     private RedisService redisService;
 
+    @Autowired
+    private RemoteUserService remoteUserService;
+
     /**
      * 查询库存管理
      *
@@ -1264,7 +1270,11 @@ public class HxpStockServiceImpl implements IHxpStockService {
                 warningNoticeLogDto.setWarningWay(warningConfigDto.getTimeout());
                 warningNoticeLogDto.setMargin(hxpStock.getOutUsages());
                 warningNoticeLogDto.setDeposit(hxpStock.getCabinetName());
-                warningNoticeLogDto.setApply(hxpUserecord.getCreateBy());
+                warningNoticeLogDto.setApplyTime(LocalDateTimeUtil.of(hxpUserecord.getCollectTime()));
+                R<LoginUser> userInfo = remoteUserService.getUserInfo(hxpUserecord.getCreateBy(), SecurityConstants.INNER);
+                if(HttpStatus.SUCCESS == userInfo.getCode()){
+                    warningNoticeLogDto.setApply(userInfo.getData().getNickName());
+                }
                 warningNoticeLogDto.setSpecification(hxpChemicalJoinCabinet.getChemicalAmount() + hxpChemicalJoinCabinet.getChemicalAmountUnit());
 
                 //查询到实验室负责人id 安全责任人id

+ 1 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabMessageContentServiceImpl.java

@@ -318,6 +318,7 @@ public class LabMessageContentServiceImpl implements ILabMessageContentService {
         //todo 这里判断电话类型,如果是0,发送短信,如果是1,是四医大内部短信接口。
         if (phoneMode == 0) {
             if (strings != null) {
+                logger.info("打印发送人电话号码!{}",JSON.toJSONString(strings));
                 AlarmEntrty alarmEntrty = new AlarmEntrty();
                 List<String> alarms = Arrays.asList(labRiskPlanLevel.getAlarmType().split(","));
                 if (alarms.contains(callType) && alarms.contains(smsType)) {

+ 1 - 1
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/AlarmLogMapper.xml

@@ -64,7 +64,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </select>
     <select id="selectAlarmLogByKeyId" resultType="com.zd.algorithm.api.alarm.entity.AlarmLog">
         <include refid="selectAlarmLogVo"/>
-        where key_id = #{keyId}
+        where key_id = #{keyId} and method = "SMS"
     </select>
 
     <insert id="insertAlarmLog" parameterType="com.zd.algorithm.api.alarm.entity.AlarmLog" useGeneratedKeys="true" keyProperty="id">