Преглед изворни кода

Merge remote-tracking branch 'origin/master'

hecheng пре 3 година
родитељ
комит
d090ff9cc9

+ 4 - 5
zd-api/zd-api-system/src/main/java/com/zd/system/api/RemoteUserService.java

@@ -190,11 +190,10 @@ public interface RemoteUserService {
     R<Long> getLoginUserSchoolDeptid();
 
     /***
-     * 获取用户列表
-     * @param sysUser
-     * @param source
+     * 根据电话查询用户信息
+     * @param phone
      * @return
      */
-    @GetMapping("/user/getNotAuthList")
-    R<List<SysUser>> getNotAuthList(@RequestBody SysUser sysUser, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
+    @RequestMapping("/user/getUserByPhone/{phone}")
+    R<SysUser> getUserByPhone(@PathVariable("phone") String phone);
 }

+ 4 - 5
zd-api/zd-api-system/src/main/java/com/zd/system/api/factory/RemoteUserFallbackFactory.java

@@ -180,14 +180,13 @@ public class RemoteUserFallbackFactory implements FallbackFactory<RemoteUserServ
             }
 
             /***
-             * 获取用户列表
-             * @param sysUser
-             * @param source
+             * 根据电话查询用户信息
+             * @param phone
              * @return
              */
             @Override
-            public R<List<SysUser>> getNotAuthList(SysUser sysUser, String source) {
-                return R.fail("获取用户信息失败:" + throwable.getMessage());
+            public R<SysUser> getUserByPhone(String phone) {
+                return R.fail("根据电话查询用户信息失败:" + throwable.getMessage());
             }
 
 

+ 23 - 0
zd-api/zd-api-system/src/main/java/com/zd/system/api/smartlock/RemoteSmartlockService.java

@@ -0,0 +1,23 @@
+package com.zd.system.api.smartlock;
+
+import com.zd.common.core.constant.ServiceNameConstants;
+import com.zd.common.core.domain.R;
+import com.zd.system.api.speak.factory.RemoteSpeakFallbackFactory;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+
+
+/***
+ *
+ * 智能锁远程调用
+ */
+@FeignClient(contextId = "remoteSmartlockService",value = ServiceNameConstants.SMARTLOCK_SERVICE,fallbackFactory = RemoteSpeakFallbackFactory.class)
+public interface RemoteSmartlockService {
+
+    @GetMapping(value = "/approval/sysMsgApprova")
+    public R sysMsgApprova(@RequestParam(value = "phone", required = true) String phone,
+                        @RequestParam(value = "content", required = true) String content,
+                        @RequestParam(value = "lockApplyId",required = true) Long lockApplyId);
+}

+ 27 - 0
zd-api/zd-api-system/src/main/java/com/zd/system/api/smartlock/factory/RemoteSmartlockFallbackFactory.java

@@ -0,0 +1,27 @@
+package com.zd.system.api.smartlock.factory;
+
+import com.zd.common.core.domain.R;
+import com.zd.system.api.smartlock.RemoteSmartlockService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.cloud.openfeign.FallbackFactory;
+import org.springframework.stereotype.Component;
+
+@Component
+public class RemoteSmartlockFallbackFactory implements FallbackFactory<RemoteSmartlockService> {
+
+    private static final Logger log = LoggerFactory.getLogger(RemoteSmartlockFallbackFactory.class);
+
+
+    @Override
+    public RemoteSmartlockService create(Throwable cause) {
+        return new RemoteSmartlockService() {
+            @Override
+            public R sysMsgApprova(String phone, String content, Long lockApplyId) {
+                log.info("短信审核处理失败:" + cause.getMessage());
+                return R.fail("短信审核处理失败:"+ cause.getMessage());
+            }
+        };
+
+    }
+}

+ 5 - 0
zd-common/zd-common-core/src/main/java/com/zd/common/core/constant/ServiceNameConstants.java

@@ -76,4 +76,9 @@ public class ServiceNameConstants {
      * netty
      */
     public static final String NETTY_SERVICE = "zd-netty";
+
+    /**
+     * 智能门锁
+     */
+    public static final String SMARTLOCK_SERVICE = "zd-smartlock";
 }

+ 1 - 1
zd-modules/zd-bottle-parent/zd-bottle/src/main/java/com/zd/bottle/service/impl/BottleStorageOutServiceImpl.java

@@ -59,7 +59,7 @@ public class BottleStorageOutServiceImpl extends ServiceImpl<BottleStorageOutMap
         //查询是否存在未归还记录
         List<UseRecord> useRecordVoList = useRecordService.getListNotReturn(bottleStorageOut.getStorageId());
         if(useRecordVoList.size()>0){
-            throw new ServiceException("请先归还后出库。");
+            throw new ServiceException("请先归还后出库。");
         }
 
         //出库状态

+ 1 - 0
zd-modules/zd-bottle-parent/zd-bottle/src/main/resources/mapper/BottleStorageMapper.xml

@@ -89,6 +89,7 @@
                 bs.electronic_tag like concat('%', #{searchValue}, '%')
                 or bs.air_number like concat('%', #{searchValue}, '%')
                 or bs.user_name like concat('%', #{searchValue}, '%')
+                or bs.air_name like concat('%', #{searchValue}, '%')
                 )
             </if>
             <if test="storageStatus != null ">and storage_status = #{storageStatus}</if>

+ 47 - 34
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabMessageContentServiceImpl.java

@@ -29,6 +29,7 @@ import com.zd.system.api.RemoteUserService;
 import com.zd.system.api.alarm.RemoteAlarmService;
 import com.zd.system.api.alarm.domain.AlarmEntrty;
 import com.zd.system.api.alarm.domain.Routes;
+import com.zd.system.api.chemical.RemoteStockService;
 import com.zd.system.api.laboratory.domain.LabMessageContent;
 import com.zd.system.api.laboratory.domain.SubAddrr;
 import org.apache.commons.collections4.CollectionUtils;
@@ -37,6 +38,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -84,6 +86,12 @@ public class LabMessageContentServiceImpl implements ILabMessageContentService {
     @Autowired
     private LabContentMachineMsgMapper labContentMachineMsgMapper;
 
+    @Value("${phoneMode:0}")
+    public static Integer phoneMode;
+
+    @Autowired
+    RemoteStockService remoteStockService;
+
 
     private final String smsFormat="{}: {},发生风险预案,{}";
     /**
@@ -225,49 +233,54 @@ public class LabMessageContentServiceImpl implements ILabMessageContentService {
 
         logger.info("%%%%%%%%%%%%%%%%%%%%strings:"+strings);
         //todo 发送最多支持200个电话号码 , 这里不会超过200人 所以没有验证, 切割
-        if(strings!=null)
-        {
-            AlarmEntrty alarmEntrty = new AlarmEntrty(Routes.NoticePush,strings,format);
-            MessageBody messageBody = new MessageBody();
-            messageBody.setData(alarmEntrty);
-            commonSend.send("alarm/"+newRiskPlan.getId()+"/"+subject.getId(),messageBody, SendMode.DISTINCT);
-            logger.info("&&&&"+"alarm/"+newRiskPlan.getId()+"/"+subject.getId());
-            logger.info("&&&&"+JSON.toJSONString(messageBody));
+        //todo 这里判断电话类型,如果是0,发送短信,如果是1,是四医大内部短信接口。
+        if(phoneMode == 0){
+            if(strings!=null)
+            {
+                AlarmEntrty alarmEntrty = new AlarmEntrty(Routes.NoticePush,strings,format);
+                MessageBody messageBody = new MessageBody();
+                messageBody.setData(alarmEntrty);
+                commonSend.send("alarm/"+newRiskPlan.getId()+"/"+subject.getId(),messageBody, SendMode.DISTINCT);
+                logger.info("&&&&"+"alarm/"+newRiskPlan.getId()+"/"+subject.getId());
+                logger.info("&&&&"+JSON.toJSONString(messageBody));
 //           改用mqtt
 //           AjaxResult send = remoteAlarmService.send(alarmEntrty);
-            try {
-                if(subject.getAdminId()!=null)
-                {
-                    //发送预案消息(预案指挥中心) 没什么卵用 lab_warn_push_message
-                    labWarnPushMessageService.insertLabWarnPushMessage(subject.getId(),subject.getAdminId().toString(),groupId,newRiskPlan, WarnUserAttrEnum.ADMIN);
+                try {
+                    if(subject.getAdminId()!=null)
+                    {
+                        //发送预案消息(预案指挥中心) 没什么卵用 lab_warn_push_message
+                        labWarnPushMessageService.insertLabWarnPushMessage(subject.getId(),subject.getAdminId().toString(),groupId,newRiskPlan, WarnUserAttrEnum.ADMIN);
+                    }
+                    //发送预案消息(预案指挥中心) 没什么卵用 lab_warn_push_message 保持实验室内部人员发送记录  ?安全的要不要保存展示?
+                    labWarnPushMessageService.insertLabWarnPushMessage(subject.getId(),userids,groupId,newRiskPlan, WarnUserAttrEnum.NONE);
+                } catch (Exception e) {
+                    logger.error("发送预案消息失败!");
                 }
-                //发送预案消息(预案指挥中心) 没什么卵用 lab_warn_push_message 保持实验室内部人员发送记录  ?安全的要不要保存展示?
-                labWarnPushMessageService.insertLabWarnPushMessage(subject.getId(),userids,groupId,newRiskPlan, WarnUserAttrEnum.NONE);
-            } catch (Exception e) {
-                logger.error("发送预案消息失败!");
             }
-        }
 
-        //发送消息
-        if(StrUtil.isNotBlank(newRiskPlan.getInformation()))
-        {
-            String collect = Stream.of(new String[]{subject.getAdminId()==null?null:subject.getAdminId().toString(), subject.getSafeUserId()})
-                    .filter(a -> StrUtil.isNotBlank(a))
-                    .collect(Collectors.joining(","));
-            if(StrUtil.isNotBlank(collect))
+            //发送消息
+            if(StrUtil.isNotBlank(newRiskPlan.getInformation()))
             {
-                LabMessageContentDTO labMessageContentDTO = new LabMessageContentDTO();
-                labMessageContentDTO.setUserIds(collect);
-                labMessageContentDTO.setSendMode(2);
-                labMessageContentDTO.setSendRange(3);
-                labMessageContentDTO.setContent(newRiskPlan.getMessage());
-                labMessageContentDTO.setUserId(-2L);
-                sendMessageWarn(labMessageContentDTO);
-            }
+                String collect = Stream.of(new String[]{subject.getAdminId()==null?null:subject.getAdminId().toString(), subject.getSafeUserId()})
+                        .filter(a -> StrUtil.isNotBlank(a))
+                        .collect(Collectors.joining(","));
+                if(StrUtil.isNotBlank(collect))
+                {
+                    LabMessageContentDTO labMessageContentDTO = new LabMessageContentDTO();
+                    labMessageContentDTO.setUserIds(collect);
+                    labMessageContentDTO.setSendMode(2);
+                    labMessageContentDTO.setSendRange(3);
+                    labMessageContentDTO.setContent(newRiskPlan.getMessage());
+                    labMessageContentDTO.setUserId(-2L);
+                    sendMessageWarn(labMessageContentDTO);
+                }
 
+            }
+        }else if(phoneMode == 1){
+            //走四医大发送短信服务接口
+            remoteStockService.sendSydSms(newRiskPlan.getMessage(),5,null,strings);
         }
 
-
     }
 
     private String getDoingUserId(LabSubjectVO subject) {

+ 13 - 0
zd-modules/zd-modules-system/src/main/java/com/zd/system/controller/SysUserController.java

@@ -101,6 +101,19 @@ public class SysUserController extends BaseController {
         return getDataTable(list);
     }
 
+    /**
+     * 根据电话号码查询用户信息
+     */
+    @ApiOperation("根据电话号码查询用户信息")
+    @RequestMapping("/getUserByPhone/{phone}")
+    public R<SysUser> getUserByPhone(@PathVariable("phone") String phone) {
+        SysUser sysUser = null;
+        if(StringUtils.isNotEmpty(phone)){
+            Long userId= userService.selectUserIdByPhone(phone).getUserId();
+            sysUser = userService.selectUserById(userId);
+        }
+        return R.ok(sysUser);
+    }
 
     /**
      * 获取用户-下拉列表(只展示名字和ID以及部门信息,不分页) "system:user:list"

+ 7 - 0
zd-modules/zd-modules-system/src/main/java/com/zd/system/service/ISysUserService.java

@@ -341,4 +341,11 @@ public interface ISysUserService {
      * @return
      */
     public List<Long> getLogingUserDeptids();
+
+    /***
+     * 根据电话号码查询用户id
+     * @param phone
+     * @return
+     */
+    public SysUser selectUserIdByPhone(String  phone);
 }

+ 10 - 0
zd-modules/zd-modules-system/src/main/java/com/zd/system/service/impl/SysUserServiceImpl.java

@@ -1163,4 +1163,14 @@ public class SysUserServiceImpl implements ISysUserService {
         }
         return deptids;
     }
+
+    /***
+     * 根据电话号码查询用户id
+     * @param phone
+     * @return
+     */
+    @Override
+    public SysUser selectUserIdByPhone(String phone) {
+        return userMapper.checkPhoneUnique(phone);
+    }
 }

+ 8 - 0
zd-modules/zd-smartlock/src/main/java/com/zd/smartlock/controller/SlApplyApprovalController.java

@@ -1,5 +1,6 @@
 package com.zd.smartlock.controller;
 
+import com.zd.common.core.domain.R;
 import com.zd.common.core.utils.poi.ExcelUtil;
 import com.zd.common.core.web.controller.BaseController;
 import com.zd.common.core.web.domain.AjaxResult;
@@ -14,6 +15,8 @@ import com.zd.smartlock.domain.api.SlUser;
 import com.zd.smartlock.service.ISlApplyApprovalService;
 import com.zd.smartlock.service.ISlUserRelationService;
 import com.zd.smartlock.utils.SmartlockUtil;
+import com.zd.system.api.domain.SysUser;
+import com.zd.system.api.smartlock.RemoteSmartlockService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -38,6 +41,10 @@ public class SlApplyApprovalController extends BaseController
     @Autowired
     private ISlApplyApprovalService slApplyApprovalService;
 
+    @Autowired
+    private RemoteSmartlockService remoteSmartlockService;
+
+
     /**
      * 查询申请审核列表
      */
@@ -126,4 +133,5 @@ public class SlApplyApprovalController extends BaseController
         Map<String,Object> map = slApplyApprovalService.sysMsgApprova(phone,content,lockApplyId);
         return AjaxResult.success(map);
     }
+
 }

+ 6 - 10
zd-modules/zd-smartlock/src/main/java/com/zd/smartlock/service/impl/SlApplyApprovalServiceImpl.java

@@ -216,16 +216,11 @@ public class SlApplyApprovalServiceImpl implements ISlApplyApprovalService
         try {
             //审核状态 1通过 2驳回
             Long approvalStatus=1L ;
-            SysUser sysUser = new SysUser();
-            sysUser.setPhonenumber(phone);
-            sysUser.setUserType("11");
-            List<SysUser> list =  remoteUserService.getNotAuthList(sysUser, SecurityConstants.INNER).getData();
-            if(list==null){
+            SysUser sysUser =  remoteUserService.getUserByPhone(phone).getData();
+            if(sysUser==null){
                 map.put("msg","未查询到相关人信息");
                 map.put("status","error");
                 return map;
-            }else{
-                sysUser = list.get(0);
             }
 
             //查询申请记录
@@ -276,10 +271,10 @@ public class SlApplyApprovalServiceImpl implements ISlApplyApprovalService
 
                 //申请人1短信发送通知
                 /*R r1= remoteStockService.sendSydSms("【实验室安全系统】"+opendoorApply.getSubjectName()+"-门禁远程授权申请已拒绝,请联系实验室管理人员。",3,opendoorApply.getId(),opendoorApply.getPhonenumber());
-                log.info("开门申请拒绝,人员1短信通知结果:"+r1);
+                log.info("短信开门申请拒绝,人员1短信通知结果:"+r1);
                 //申请人2短信发送通知
                 R r2= remoteStockService.sendSydSms("【实验室安全系统】"+opendoorApply.getSubjectName()+"-门禁远程授权申请已拒绝,请联系实验室管理人员。",3,opendoorApply.getId(),opendoorApply.getPhonenumber2());
-                log.info("开门申请拒绝,人员2短信通知结果:"+r2);*/
+                log.info("短信开门申请拒绝,人员2短信通知结果:"+r2);*/
             }
             //申请表操作
             opendoorApply.setApprovalTime(new Date());
@@ -287,7 +282,8 @@ public class SlApplyApprovalServiceImpl implements ISlApplyApprovalService
 
             slOpendoorApplyMapper.updateSlOpendoorApply(opendoorApply);
             SlApplyApproval approval = new SlApplyApproval();
-            approval.setApprovaId(lockApplyId);
+            approval.setApplyId(lockApplyId);
+            approval.setApprovaId(sysUser.getUserId());
             approval.setDeptId(sysUser.getDept().getDeptId());
             approval.setDeptName(sysUser.getDept().getDeptName());
             approval.setApprovaId(sysUser.getUserId());