Просмотр исходного кода

Merge branch 'master' of http://192.168.1.43:3000/git/sass-lab-distributed-java

zhuchangxue лет назад: 3
Родитель
Сommit
caeb8c276a
24 измененных файлов с 304 добавлено и 59 удалено
  1. BIN
      test.jpg
  2. 4 5
      zd-api/zd-api-system/src/main/java/com/zd/system/api/RemoteUserService.java
  3. 4 5
      zd-api/zd-api-system/src/main/java/com/zd/system/api/factory/RemoteUserFallbackFactory.java
  4. 23 0
      zd-api/zd-api-system/src/main/java/com/zd/system/api/smartlock/RemoteSmartlockService.java
  5. 27 0
      zd-api/zd-api-system/src/main/java/com/zd/system/api/smartlock/factory/RemoteSmartlockFallbackFactory.java
  6. 5 0
      zd-common/zd-common-core/src/main/java/com/zd/common/core/constant/ServiceNameConstants.java
  7. 2 2
      zd-modules/zd-bottle-parent/zd-bottle-api/src/main/java/com/zd/bottle/domain/UsegasApply.java
  8. 13 0
      zd-modules/zd-bottle-parent/zd-bottle/src/main/java/com/zd/bottle/mapper/RfidTagMapper.java
  9. 14 0
      zd-modules/zd-bottle-parent/zd-bottle/src/main/java/com/zd/bottle/service/RfidTagService.java
  10. 29 17
      zd-modules/zd-bottle-parent/zd-bottle/src/main/java/com/zd/bottle/service/impl/AlarmRecordServiceImpl.java
  11. 21 1
      zd-modules/zd-bottle-parent/zd-bottle/src/main/java/com/zd/bottle/service/impl/BottleStorageOutServiceImpl.java
  12. 20 1
      zd-modules/zd-bottle-parent/zd-bottle/src/main/java/com/zd/bottle/service/impl/BottleStorageServiceImpl.java
  13. 25 0
      zd-modules/zd-bottle-parent/zd-bottle/src/main/java/com/zd/bottle/service/impl/RfidTagServiceImpl.java
  14. 1 0
      zd-modules/zd-bottle-parent/zd-bottle/src/main/resources/mapper/BottleStorageMapper.xml
  15. 15 0
      zd-modules/zd-bottle-parent/zd-bottle/src/main/resources/mapper/RfidTagMapper.xml
  16. 16 13
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabSubjectManagerService.java
  17. 1 1
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabHardwareMapper.xml
  18. 13 0
      zd-modules/zd-modules-system/src/main/java/com/zd/system/controller/SysUserController.java
  19. 7 0
      zd-modules/zd-modules-system/src/main/java/com/zd/system/service/ISysUserService.java
  20. 10 0
      zd-modules/zd-modules-system/src/main/java/com/zd/system/service/impl/SysUserServiceImpl.java
  21. 20 0
      zd-modules/zd-smartlock/src/main/java/com/zd/smartlock/controller/SlApplyApprovalController.java
  22. 7 0
      zd-modules/zd-smartlock/src/main/java/com/zd/smartlock/service/ISlApplyApprovalService.java
  23. 26 13
      zd-modules/zd-smartlock/src/main/java/com/zd/smartlock/service/impl/SlApplyApprovalServiceImpl.java
  24. 1 1
      zd-modules/zd-smartlock/src/main/resources/logback.xml

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

+ 2 - 2
zd-modules/zd-bottle-parent/zd-bottle-api/src/main/java/com/zd/bottle/domain/UsegasApply.java

@@ -46,11 +46,11 @@ public class UsegasApply extends BaseBean {
     @NotNull(message = "联系方式不能为空!")
     private String phone;
 
-    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")
+    @JsonFormat(pattern = "yyyy-MM-dd")
     @ApiModelProperty("期限开始")
     private Date startTime;
 
-    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")
+    @JsonFormat(pattern = "yyyy-MM-dd")
     @ApiModelProperty("期限结束")
     @NotNull(message = "使用期限不能为空!")
     private Date endTime;

+ 13 - 0
zd-modules/zd-bottle-parent/zd-bottle/src/main/java/com/zd/bottle/mapper/RfidTagMapper.java

@@ -13,4 +13,17 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface RfidTagMapper extends BaseMapper<RfidTag> {
 
+    /***
+     * 根据标签码查询
+     * @param tagCode
+     * @return
+     */
+    RfidTag getRfidByTagCode(String tagCode);
+
+    /***
+     * 修改标签
+     * @param rfidTag
+     * @return
+     */
+    int updateQpRfidTag(RfidTag rfidTag);
 }

+ 14 - 0
zd-modules/zd-bottle-parent/zd-bottle/src/main/java/com/zd/bottle/service/RfidTagService.java

@@ -19,4 +19,18 @@ public interface RfidTagService extends IService<RfidTag> {
      * @return boolean
      */
     RfidTag add(RfidTag rfidTag);
+
+    /***
+     * 根据标签码查询
+     * @param tagCode
+     * @return
+     */
+    RfidTag getRfidByTagCode(String tagCode);
+
+    /***
+     * 修改标签
+     * @param rfidTag
+     * @return
+     */
+    int updateQpRfidTag(RfidTag rfidTag);
 }

+ 29 - 17
zd-modules/zd-bottle-parent/zd-bottle/src/main/java/com/zd/bottle/service/impl/AlarmRecordServiceImpl.java

@@ -5,11 +5,13 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.zd.bottle.domain.AlarmRecord;
 import com.zd.bottle.domain.BottleStorage;
 import com.zd.bottle.domain.RfidTag;
+import com.zd.bottle.domain.UsegasApply;
 import com.zd.bottle.mapper.AlarmRecordMapper;
 import com.zd.bottle.service.AlarmRecordService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zd.bottle.service.BottleStorageService;
 import com.zd.bottle.service.RfidTagService;
+import com.zd.bottle.service.UsegasApplyService;
 import com.zd.bottle.vo.AlarmRecordVo;
 import com.zd.bottle.vo.BottleStorageVo;
 import com.zd.common.core.constant.HttpStatus;
@@ -74,6 +76,9 @@ public class AlarmRecordServiceImpl extends ServiceImpl<AlarmRecordMapper, Alarm
     @Resource
     private RfidTagService tagService;
 
+    @Resource
+    private UsegasApplyService applyService;
+
     private static final String MSG_MATCH = "==================>{},{}";
 
     @Override
@@ -119,29 +124,36 @@ public class AlarmRecordServiceImpl extends ServiceImpl<AlarmRecordMapper, Alarm
         wrapper.eq(BottleStorage::getElectronicTag, rfidTag.getId());
         BottleStorage bottleStorage = storageService.getOne(wrapper);
         if (bottleStorage != null) {
-            Long id = bottleStorage.getId();
-            String key = FRID_CODE + electronicTag + id;
-            String frid = redisService.getCacheObject(key);
-            if (frid != null) {
-                return true;
+            String airName = bottleStorage.getAirName();
+            LambdaQueryWrapper<UsegasApply> lambdaQuery = Wrappers.lambdaQuery(UsegasApply.class);
+            lambdaQuery.eq(UsegasApply::getUseGasName,airName)
+                    .eq(UsegasApply::getEndTime,Calendar.getInstance().getTime()).eq(UsegasApply::getLeadAuditStaus,1);
+            List<UsegasApply> applies = applyService.list(lambdaQuery);
+            if (applies.isEmpty()){
+                Long id = bottleStorage.getId();
+                String key = FRID_CODE + electronicTag + id;
+                String frid = redisService.getCacheObject(key);
+                if (frid != null) {
+                    return true;
+                }
+                // 发送报警消息
+                sendAlarm(bottleStorage);
+                redisService.setCacheObject(key, electronicTag, 300L, TimeUnit.SECONDS);
+                AlarmRecord alarmRecord = new AlarmRecord();
+                alarmRecord.setElectronicTag(electronicTag)
+                        .setAlarmTime(Calendar.getInstance().getTime())
+                        .setMasterId(id)
+                        .setType(1)
+                        .setProductType(1)
+                        .setDeptId(bottleStorage.getDeptId());
+                return save(alarmRecord);
             }
-            // 发送报警消息
-            sendAlarm(bottleStorage);
-            redisService.setCacheObject(key, electronicTag, 300L, TimeUnit.SECONDS);
-            AlarmRecord alarmRecord = new AlarmRecord();
-            alarmRecord.setElectronicTag(electronicTag)
-                    .setAlarmTime(Calendar.getInstance().getTime())
-                    .setMasterId(id)
-                    .setType(1)
-                    .setProductType(1)
-                    .setDeptId(bottleStorage.getDeptId());
-            return save(alarmRecord);
         } else {
             if (hardware != null) {
                 log.info(MSG_MATCH, electronicTag, "标签未绑定气瓶");
             }
-            return false;
         }
+        return false;
     }
 
     private void sendAlarm(BottleStorage storage) {

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

@@ -2,11 +2,13 @@ package com.zd.bottle.service.impl;
 
 import com.zd.bottle.domain.BottleStorage;
 import com.zd.bottle.domain.BottleStorageOut;
+import com.zd.bottle.domain.RfidTag;
 import com.zd.bottle.domain.UseRecord;
 import com.zd.bottle.mapper.BottleStorageOutMapper;
 import com.zd.bottle.service.BottleStorageOutService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zd.bottle.service.BottleStorageService;
+import com.zd.bottle.service.RfidTagService;
 import com.zd.bottle.service.UseRecordService;
 import com.zd.bottle.vo.BottleStorageOutVo;
 import com.zd.bottle.vo.UseRecordVo;
@@ -16,6 +18,7 @@ import com.zd.common.security.service.TokenService;
 import com.zd.system.api.domain.SysUser;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.util.Date;
@@ -44,7 +47,11 @@ public class BottleStorageOutServiceImpl extends ServiceImpl<BottleStorageOutMap
     @Autowired
     private UseRecordService useRecordService;
 
+    @Autowired
+    private RfidTagService rfidTagService;
+
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public boolean add(BottleStorageOut bottleStorageOut) {
         if(StringUtils.isNull(bottleStorageOut.getStorageId())){
             throw new ServiceException("入库ID不能为空。");
@@ -59,11 +66,24 @@ public class BottleStorageOutServiceImpl extends ServiceImpl<BottleStorageOutMap
         //查询是否存在未归还记录
         List<UseRecord> useRecordVoList = useRecordService.getListNotReturn(bottleStorageOut.getStorageId());
         if(useRecordVoList.size()>0){
-            throw new ServiceException("请先归还后出库。");
+            throw new ServiceException("请先归还后出库。");
         }
 
+        //查询标签码
+        RfidTag rfidTag = rfidTagService.getRfidByTagCode(bottleStorage.getElectronicTag());
+        if(rfidTag!=null){
+            //修改标签码状态
+            RfidTag rfid = new RfidTag();
+            rfid.setIsBind((short) 0);
+            rfid.setId(rfidTag.getId());
+            rfidTagService.updateQpRfidTag(rfid);
+        }
+
+
         //出库状态
         bottleStorage.setStorageStatus(3);
+        //标签码
+        bottleStorage.setElectronicTag("--");
         //刷新入库状态
         bottleStorageService.updateById(bottleStorage);
 

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

@@ -1,12 +1,15 @@
 package com.zd.bottle.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.zd.bottle.domain.BottleStorage;
+import com.zd.bottle.domain.RfidTag;
 import com.zd.bottle.domain.UsegasAuditRecord;
 import com.zd.bottle.mapper.BottleStorageMapper;
 import com.zd.bottle.service.BottleStorageService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zd.bottle.service.RfidTagService;
 import com.zd.bottle.vo.BottleStorageVo;
 import com.zd.bottle.vo.BottleStorageUseVo;
 import com.zd.bottle.vo.BottleStorageVo;
@@ -17,6 +20,7 @@ import com.zd.common.security.service.TokenService;
 import com.zd.system.api.domain.SysUser;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.util.Date;
@@ -42,6 +46,8 @@ public class BottleStorageServiceImpl extends ServiceImpl<BottleStorageMapper, B
     @Autowired
     private TokenService tokenService;
 
+    @Autowired
+    private RfidTagService rfidTagService;
 
     /**
      * 新增入库信息
@@ -50,15 +56,28 @@ public class BottleStorageServiceImpl extends ServiceImpl<BottleStorageMapper, B
      * @return boolean
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public boolean add(BottleStorage bottleStorage) {
 
         BottleStorageVo bsVo = new BottleStorageVo();
         bsVo.setElectronicTag(bottleStorage.getElectronicTag());
         List<BottleStorageVo> list =  bottleStorageMapper.getListVo(bsVo);
         if(list.size()>0){
-            throw  new ServiceException("该标签码已存在!");
+            throw  new ServiceException("该识别码已存在!");
+        }
+
+        //查询标签码
+        RfidTag rfidTag = rfidTagService.getRfidByTagCode(bottleStorage.getElectronicTag());
+        if(rfidTag==null){
+            throw  new ServiceException("未查询到相关识别码!");
         }
 
+        //刷新识别码状态
+        RfidTag rfid = new RfidTag();
+        rfid.setIsBind((short) 1);
+        rfid.setId(rfidTag.getId());
+        rfidTagService.updateQpRfidTag(rfid);
+
         SysUser sysUser = tokenService.getLoginUser().getSysUser();
         bottleStorage.setUserId(sysUser.getUserId());
         bottleStorage.setUserName(sysUser.getNickName());

+ 25 - 0
zd-modules/zd-bottle-parent/zd-bottle/src/main/java/com/zd/bottle/service/impl/RfidTagServiceImpl.java

@@ -28,6 +28,9 @@ public class RfidTagServiceImpl extends ServiceImpl<RfidTagMapper, RfidTag> impl
     private TokenService tokenService;
     private static final Integer DATA_LENGTH=8;
 
+    @Resource
+    private RfidTagMapper rfidTagMapper;
+
     protected static final String[] CHARS = new String[] { "a", "b", "c", "d", "e", "f",
             "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s",
             "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5",
@@ -67,4 +70,26 @@ public class RfidTagServiceImpl extends ServiceImpl<RfidTagMapper, RfidTag> impl
         }
         throw new ServiceException("存储失败");
     }
+
+    /***
+     * 根据标签码查询
+     * @param tagCode
+     * @return
+     */
+    @Override
+    public RfidTag getRfidByTagCode(String tagCode) {
+        return rfidTagMapper.getRfidByTagCode(tagCode);
+    }
+
+    /***
+     * 修改标签
+     * @param rfidTag
+     * @return
+     */
+    @Override
+    public int updateQpRfidTag(RfidTag rfidTag) {
+        return rfidTagMapper.updateQpRfidTag(rfidTag);
+    }
+
+
 }

+ 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>

+ 15 - 0
zd-modules/zd-bottle-parent/zd-bottle/src/main/resources/mapper/RfidTagMapper.xml

@@ -21,4 +21,19 @@
         tag_code, is_bind
     </sql>
 
+    <!-- 根据标签码查询-->
+    <select id="getRfidByTagCode" parameterType="java.lang.String"
+            resultType="com.zd.bottle.domain.RfidTag">
+         select * from ab_rfid_tag where tag_code=#{tagCode}
+    </select>
+
+
+    <update id="updateQpRfidTag" parameterType="com.zd.bottle.domain.RfidTag">
+        update ab_rfid_tag
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="isBind != null">is_bind = #{isBind},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
 </mapper>

+ 16 - 13
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabSubjectManagerService.java

@@ -515,21 +515,24 @@ public class LabSubjectManagerService {
 
 
         });
-        // 实验室化学品临界量计算
-        R r = remoteChemicalService.queryCriticaliBySubId(subIds);
-        if(r.getCode() == HttpStatus.SUCCESS){
-            List<Map<String, Object>> list = (List<Map<String, Object>>) r.getData();
-            list.forEach(map -> {
-                for (LabSubjectVO s : labSubjects) {
-                    if (Objects.equals(s.getId(), Long.parseLong(map.get("subId") + ""))) {
-                        s.setRiskIndicator(map.get("criticali") + "");
-                        break;
+        try {
+            // 实验室化学品临界量计算
+            R r = remoteChemicalService.queryCriticaliBySubId(subIds);
+            if(r.getCode() == HttpStatus.SUCCESS){
+                List<Map<String, Object>> list = (List<Map<String, Object>>) r.getData();
+                list.forEach(map -> {
+                    for (LabSubjectVO s : labSubjects) {
+                        if (Objects.equals(s.getId(), Long.parseLong(map.get("subId") + ""))) {
+                            s.setRiskIndicator(map.get("criticali") + "");
+                            break;
+                        }
                     }
-                }
-            });
+                });
 
-        }
+            }
+        }catch (Exception e){
 
+        }
 
         // 2.5 页面改变,接口加分页,并拆成两部分
         return labSubjects;
@@ -908,7 +911,7 @@ public class LabSubjectManagerService {
                             return sensorFunctionStatus;
                         }
 
-                    }).collect(Collectors.toList());
+                    }).distinct().collect(Collectors.toList());
                 }).filter(a -> CollUtil.isNotEmpty(a)).flatMap(List::stream)
                 .sorted((c, d) -> NumberUtil.compare(c.getOrder(), d.getOrder()))
                 .collect(Collectors.toList());

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

@@ -108,7 +108,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <include refid="selectLabHardwareVo"/>
         <where>
             <if test="ipAddress != null "> and xx.ip_address = #{ipAddress}</if>
-            <if test="deviceStatus != null "> and xx.device_status = #{deviceStatus}</if>
+            <if test="deviceStatus != null "> and xx.deviceStatus = #{deviceStatus}</if>
             <if test="subjectId != null "> and xx.subject_id = #{subjectId}</if>
             <if test="deptId != null ">
                 AND (xx.dept_id = #{deptId} OR xx.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId},

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

+ 20 - 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,17 @@ public class SlApplyApprovalController extends BaseController
         Map<String,Object> map = slApplyApprovalService.sysMsgApprova(phone,content,lockApplyId);
         return AjaxResult.success(map);
     }
+
+    /***
+     * 重新授权
+     * @param id
+     * @return
+     */
+    @ApiOperation(value = "重新授权")
+    @GetMapping("/auth/{id}")
+    public AjaxResult againAuth(@PathVariable Long id)
+    {
+        return AjaxResult.success(slApplyApprovalService.againAuth(id));
+    }
+
 }

+ 7 - 0
zd-modules/zd-smartlock/src/main/java/com/zd/smartlock/service/ISlApplyApprovalService.java

@@ -77,4 +77,11 @@ public interface ISlApplyApprovalService
      * @return
      */
     Map<String,Object> sysMsgApprova(String phone, String content, Long lockApplyId);
+
+    /***
+     * 门锁申请重新授权
+     * @param id
+     * @return
+     */
+    String againAuth(Long id);
 }

+ 26 - 13
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);
             }
 
             //查询申请记录
@@ -260,12 +255,12 @@ public class SlApplyApprovalServiceImpl implements ISlApplyApprovalService
                     opendoorApply.setApplyStatus(2L);
 
                     //审核通过后,添加人员并且授权、短信发送
-                    /*String str =  authPower(opendoorApply.getId());
+                    String str =  authPower(opendoorApply.getId());
                     if(!"ok".equals(str)){
                         map.put("msg",str);
                         map.put("status","error");
                         return map;
-                    }*/
+                    }
                 }
             }else if( "0".equals(content)){
                 approvalStatus=2L;
@@ -275,11 +270,11 @@ public class SlApplyApprovalServiceImpl implements ISlApplyApprovalService
                 opendoorApply.setApplyStatus(3L);
 
                 //申请人1短信发送通知
-                /*R r1= remoteStockService.sendSydSms("【实验室安全系统】"+opendoorApply.getSubjectName()+"-门禁远程授权申请已拒绝,请联系实验室管理人员。",3,opendoorApply.getId(),opendoorApply.getPhonenumber());
-                log.info("开门申请拒绝,人员1短信通知结果:"+r1);
+                R r1= remoteStockService.sendSydSms("【实验室安全系统】"+opendoorApply.getSubjectName()+"-门禁远程授权申请已拒绝,请联系实验室管理人员。",3,opendoorApply.getId(),opendoorApply.getPhonenumber());
+                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());
@@ -307,6 +303,23 @@ public class SlApplyApprovalServiceImpl implements ISlApplyApprovalService
     }
 
     /***
+     * 门锁申请重新授权
+     * @param id
+     * @return
+     */
+    @Override
+    public String againAuth(Long id) {
+        String str="";
+        try {
+            str =  authPower(id);
+        }catch (Exception e) {
+            e.printStackTrace();
+            log.error("重新授权失败:"+e);
+        }
+        return str;
+    }
+
+    /***
      * 审批通过后人员密码授权处理
      * @param applyId 申请id
      */

+ 1 - 1
zd-modules/zd-smartlock/src/main/resources/logback.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="60 seconds" debug="false">
     <!-- 日志存放路径 -->
-    <property name="log.path" value="logs/zd-alarm"/>
+    <property name="log.path" value="logs/zd-smartlock"/>
     <!-- 日志输出格式 -->
     <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/>