liujh пре 3 година
родитељ
комит
58fcd50128

+ 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";
 }

+ 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());