Kaynağa Gözat

下发数据

qzyReal 2 yıl önce
ebeveyn
işleme
3ae58a72a8

+ 23 - 16
business-system/filing-system/src/main/java/com/pj/api/WxController.java

@@ -62,21 +62,7 @@ public class WxController {
         return AjaxJson.getSuccessData(wxService.getOpenidByCode(code, openid));
     }
 
-    @GetMapping(value = "getInfoByOpenid")
-    public AjaxJson getInfoByOpenid(String openid) {
-        TbMiniUser tbMiniUser = tbMiniUserService.findByOpenid(openid);
-        if (tbMiniUser != null) {
-            StpUtil.login(tbMiniUser.getSpAdminId());
-            String tokenValue = StpUtil.getTokenValue();
-            tbMiniUser.setToken(tokenValue);
-            StpUserUtil.setDeptId(tbMiniUser.getDeptId() + "");
-            StpUserUtil.setAdmin(tbMiniUser.getName(), tbMiniUser.getPhone());
-            StpUserUtil.setMiniUserId(tbMiniUser.getId());
-            StpUserUtil.setMiniUserType(tbMiniUser.getType());
-            StpUserUtil.setAdminType(tbMiniUser.getSuperAdmin() + "");
-        }
-        return AjaxJson.getSuccessData(tbMiniUser);
-    }
+
 
     @GetMapping(value = "getWxConfig")
     public AjaxJson getWxConfig(String url) {
@@ -189,9 +175,30 @@ public class WxController {
         return AjaxJson.getSuccess();
     }
 
-
+    /**
+     * 绑定
+     * @param openid
+     * @param key
+     * @param password
+     * @param type
+     * @param name
+     * @return
+     */
     @PostMapping("bind")
     public AjaxJson bind(String openid, String key, String password, Integer type, String name) {
         return spAdminService.bindUser(openid, key, password, type, name);
     }
+
+    /**
+     * 登录
+     * @param openid
+     * @param key
+     * @param password
+     * @return
+     */
+    @PostMapping("login")
+    public AjaxJson login(String openid,String key, String password) {
+        return tbMiniUserService.login(openid,key, password);
+    }
+
 }

+ 2 - 0
business-system/venues-system/src/main/java/com/pj/api/TerminalApi.java

@@ -1,8 +1,10 @@
 package com.pj.api;
 
+import cn.hutool.core.util.HexUtil;
 import com.pj.project.tb_terminal.bo.CheckBO;
 import com.pj.project.tb_terminal.TbTerminalService;
 import com.pj.utils.sg.AjaxJson;
+import com.pj.utils.so.SoMap;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;

+ 7 - 0
business-system/venues-system/src/main/java/com/pj/biz/TbTerminalController.java

@@ -124,5 +124,12 @@ public class TbTerminalController {
         return AjaxJson.getSuccess();
     }
 
+ @RequestMapping("down")
+    @SaCheckPermission(TbTerminal.PERMISSION_CODE_DOWN_DATA)
+    public AjaxJson down(Long id) {
+        tbTerminalService.down(id);
+        return AjaxJson.getSuccess();
+    }
+
 
 }

+ 2 - 1
sp-core/src/main/java/com/pj/current/netty/command/handler/impl/HealthlogHandler.java

@@ -91,7 +91,7 @@ public class HealthlogHandler implements IHandler {
         HealthlogDTO dto = JSONUtil.toBean(str, HealthlogDTO.class);
         String idCard = dto.getIdentity_number();
         TbPersonFiling tbPersonFiling = tbPersonFilingService.findByIdCard(idCard);
-        boolean needJudge = (SpCfgUtil.fillingNeedJudge());
+
         if (tbPersonFiling == null) {
             if (!SpCfgUtil.termianlFilling()) {
                 log.error("系统不允许设备端进行备案============>删除设备端自动备份的信息,:{}",idCard);
@@ -103,6 +103,7 @@ public class HealthlogHandler implements IHandler {
             //增加人员信息
             Date now = new Date();
             TbDept dept = tbDeptService.findTheDept(TbDept.AdminTypeEnum.TEMP_TYPE.getType());
+            boolean needJudge = TbDept.NeedJudgeEnum.MAN_JUDGE.getType().equals(dept.getNeedJudge());
             tbPersonFiling = new TbPersonFiling();
             tbPersonFiling.setPin(idCard).setIdCard(dto.getIdentity_number())
                     .setName(dto.getName()).setCreateBy("设备上传")

+ 1 - 1
sp-core/src/main/java/com/pj/current/netty/command/handler/impl/UploadUserHandler.java

@@ -77,7 +77,7 @@ public class UploadUserHandler implements IHandler {
             TbPersonFiling tbPersonFiling = new TbPersonFiling();
             TbDept dept = tbDeptService.findTheDept(TbDept.AdminTypeEnum.TEMP_TYPE.getType());
             Date now = new Date();
-            boolean needJudge = SpCfgUtil.fillingNeedJudge();
+            boolean needJudge = TbDept.NeedJudgeEnum.MAN_JUDGE.getType().equals(dept.getNeedJudge());
             tbPersonFiling.setCreateTime(now)
                     .setUpdateTime(now)
                     .setPin(uploadUserDTO.getPin())

+ 33 - 20
sp-core/src/main/java/com/pj/project/sp_admin/SpAdminService.java

@@ -7,6 +7,8 @@ import com.pj.current.config.SystemObject;
 import com.pj.current.global.BusinessException;
 import com.pj.project.tb_dept.TbDept;
 import com.pj.project.tb_dept.TbDeptService;
+import com.pj.project.tb_manager.TbManager;
+import com.pj.project.tb_manager.TbManagerService;
 import com.pj.project.tb_mini_user.TbMiniUser;
 import com.pj.project.tb_mini_user.TbMiniUserService;
 import com.pj.utils.sg.AjaxJson;
@@ -20,7 +22,9 @@ import cn.dev33.satoken.stp.StpUtil;
 
 import javax.annotation.Resource;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * Service: admin管理员
@@ -42,6 +46,8 @@ public class SpAdminService {
 
     @Resource
     private TbMiniUserService tbMiniUserService;
+    @Resource
+    private TbManagerService tbManagerService;
 
 
     /**
@@ -89,16 +95,9 @@ public class SpAdminService {
         spAdmin.setDeptName(tbDept.getName()).setSuperAdmin(superAdmin);
     }
 
-    public void removeByPhone(String phone) {
-        spAdminMapper.removeByPhone(phone);
-    }
-
 
     public AjaxJson bindUser(String openid, String key, String password, Integer type, String name) {
-        TbMiniUser db = tbMiniUserService.findByOpenid(openid);
-        if (db != null) {
-            return AjaxJson.getError("您已绑定其他账户");
-        }
+        TbMiniUser tbMiniUser = tbMiniUserService.findByUsername(key);
         if (TbMiniUser.TypeEnum.INTERIOR_TYPE.getType().equals(type)) {
             SpAdmin spAdmin = spAdminMapper.getByName(key);
             if (spAdmin == null) {
@@ -112,25 +111,39 @@ public class SpAdminService {
             if (spAdmin.getStatus() == 2) {
                 return AjaxJson.getError("此账号已被禁用");
             }
-            if (spAdmin.getBind() == 1) {
-                return AjaxJson.getError("此账号已被占用");
+            if (tbMiniUser==null){
+                tbMiniUser = buildMiniUser(spAdmin, openid);
+                tbMiniUser.setPassword(md5Password).setPhone(key).setUsername(key);
+                tbMiniUserService.save(tbMiniUser);
+            }else {
+                tbMiniUser.setOpenid(openid);
+                tbMiniUserService.updateById(tbMiniUser);
             }
-            spAdmin.setOpenid(openid);
-            spAdminMapper.bindUser(spAdmin);
-            TbMiniUser tbMiniUser = buildMiniUser(spAdmin, openid);
-            tbMiniUserService.save(tbMiniUser);
-            return AjaxJson.getSuccessData(tbMiniUser);
+            if (PhoneUtil.isPhone(key)) {
+                List<TbManager> managers = tbManagerService.findByPhone(key);
+                managers.forEach(tbManager -> tbManager.setOpenid(openid));
+                tbManagerService.updateBatchById(managers);
+            }
+            return AjaxJson.getSuccessData(tbMiniUserService.buildToken(tbMiniUser));
         } else {
-            TbMiniUser tbMiniUser = createMiniUser(key, openid, name);
-            return AjaxJson.getSuccessData(tbMiniUser);
+            if (tbMiniUser==null){
+                 tbMiniUser = createMiniUser(key, openid, name);
+                String md5Password = SystemObject.getPasswordMd5(tbMiniUser.getSpAdminId(), password);
+                tbMiniUser.setPassword(md5Password).setUsername(key);
+            }else {
+                tbMiniUser.setOpenid(openid);
+            }
+            tbMiniUserService.updateById(tbMiniUser);
+            return AjaxJson.getSuccessData(tbMiniUserService.buildToken(tbMiniUser));
         }
     }
 
+
     private TbMiniUser createMiniUser(String key, String openid, String name) {
-       TbDept dept= tbDeptService.findTheDept(TbDept.AdminTypeEnum.TEMP_TYPE.getType());
+        TbDept dept = tbDeptService.findTheDept(TbDept.AdminTypeEnum.TEMP_TYPE.getType());
         TbMiniUser tbMiniUser = new TbMiniUser();
         tbMiniUser.setCreateTime(new Date()).setSpAdminId(RandomUtil.randomLong(100000, 999999))
-                .setOpenid(openid).setDeptId(dept.getId()+"").setSuperAdmin(0)
+                .setOpenid(openid).setDeptId(dept.getId() + "").setSuperAdmin(0)
                 .setPhone(key).setType(TbMiniUser.TypeEnum.TEMPORARY_TYPE.getType())
                 .setName(name);
         tbMiniUserService.save(tbMiniUser);
@@ -140,7 +153,7 @@ public class SpAdminService {
     private TbMiniUser buildMiniUser(SpAdmin spAdmin, String openid) {
         TbMiniUser tbMiniUser = new TbMiniUser();
         tbMiniUser.setCreateTime(new Date()).setSuperAdmin(spAdmin.getSuperAdmin())
-                .setDeptId(spAdmin.getDeptId()+"")
+                .setDeptId(spAdmin.getDeptId() + "")
                 .setOpenid(openid).setSpAdminId(spAdmin.getId())
                 .setPhone(spAdmin.getPhone())
                 .setType(2)

+ 13 - 1
sp-core/src/main/java/com/pj/project/tb_dept/TbDept.java

@@ -103,6 +103,10 @@ public class TbDept extends Model<TbDept> implements Serializable {
 	 * (0=临时,1=普通,2=管理组织)
 	 */
 	private Integer adminType=0;
+	/**
+	 * 是否自动审核
+	 */
+	private Integer needJudge=1;
 
 
 
@@ -125,7 +129,15 @@ public class TbDept extends Model<TbDept> implements Serializable {
 		private Integer type;
 		private String desc;
 	}
-
+	@Getter
+	@AllArgsConstructor
+	public static enum NeedJudgeEnum{
+		AUTO_JUDGE(0,"自动审核"),
+		MAN_JUDGE(1,"人工审核"),
+		;
+		private Integer type;
+		private String desc;
+	}
 
 	
 

+ 2 - 3
sp-core/src/main/java/com/pj/project/tb_manager/TbManager.java

@@ -117,12 +117,11 @@ public class TbManager extends Model<TbManager> implements Serializable {
 	private String updateBy;
 	private Integer alarm=0;
 
-
-	@TableField(exist = false)
 	private String openid;
 
 
-
+	@TableField(exist = false)
+	private final Long roleId=11L;
 	
 
 

+ 16 - 4
sp-core/src/main/java/com/pj/project/tb_manager/TbManagerService.java

@@ -39,6 +39,8 @@ public class TbManagerService extends ServiceImpl<TbManagerMapper, TbManager> im
     @Resource
     private TbMiniUserService tbMiniUserService;
 
+    @Resource
+    private SpAdminService spAdminService;
 
     /**
      * 增
@@ -48,19 +50,29 @@ public class TbManagerService extends ServiceImpl<TbManagerMapper, TbManager> im
         t.setCreateTime(now).setUpdateTime(now)
                 .setCreateBy(StpUserUtil.getAdminName())
                 .setUpdateBy(StpUserUtil.getAdminName());
-        TbManager db = findByPhoneAndType(t.getPhone(),t.getAlarm());
+        TbManager db = findByPhoneAndType(t.getPhone(), t.getAlarm());
         if (db != null) {
             throw new BusinessException("手机号被占用");
         }
+        SpAdmin spAdmin = new SpAdmin();
+        spAdmin.setPhone(t.getPhone()).setPassword(t.getPhone()).setRoleId(t.getRoleId())
+                .setNickname(t.getName()).setDeptId(t.getDeptId()).setName(t.getPhone());
+        spAdminService.add(spAdmin);
         this.save(t);
     }
 
-    public TbManager findByPhoneAndType(String phone,int type) {
+    public TbManager findByPhoneAndType(String phone, int type) {
         QueryWrapper<TbManager> ew = new QueryWrapper<>();
-        ew.lambda().eq(TbManager::getPhone, phone).eq(TbManager::getAlarm,type);
+        ew.lambda().eq(TbManager::getPhone, phone).eq(TbManager::getAlarm, type);
         return getOne(ew);
     }
 
+    public List<TbManager> findByPhone(String phone) {
+        QueryWrapper<TbManager> ew = new QueryWrapper<>();
+        ew.lambda().eq(TbManager::getPhone, phone);
+        return list(ew);
+    }
+
     /**
      * 删
      */
@@ -75,7 +87,7 @@ public class TbManagerService extends ServiceImpl<TbManagerMapper, TbManager> im
      */
     public void update(TbManager t) {
         t.setUpdateTime(new Date()).setUpdateBy(StpUserUtil.getAdminName());
-        TbManager db = findByPhoneAndType(t.getPhone(),t.getAlarm());
+        TbManager db = findByPhoneAndType(t.getPhone(), t.getAlarm());
         if (db != null && t.getId().longValue() != db.getId().longValue()) {
             throw new BusinessException("手机号被占用");
         }

+ 6 - 0
sp-core/src/main/java/com/pj/project/tb_mini_user/TbMiniUser.java

@@ -51,6 +51,7 @@ public class TbMiniUser extends Model<TbMiniUser> implements Serializable {
      * openid
      */
     private String openid;
+    private String password;
 
     /**
      * 类型(1=临时,2=内部)
@@ -65,6 +66,10 @@ public class TbMiniUser extends Model<TbMiniUser> implements Serializable {
      * 联系号码
      */
     private String phone;
+    /**
+     * 用户名
+     */
+    private String username;
 
     /**
      * 姓名
@@ -100,6 +105,7 @@ public class TbMiniUser extends Model<TbMiniUser> implements Serializable {
      * 创建时间
      */
     private Date createTime;
+    private Date lastLoginTime;
 
     @TableField(exist = false)
     private String token;

+ 46 - 2
sp-core/src/main/java/com/pj/project/tb_mini_user/TbMiniUserService.java

@@ -1,11 +1,15 @@
 package com.pj.project.tb_mini_user;
 
+import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import cn.dev33.satoken.stp.StpUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.pj.current.config.SystemObject;
 import com.pj.current.satoken.StpUserUtil;
 import com.pj.utils.sg.AjaxJson;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -68,8 +72,9 @@ public class TbMiniUserService extends ServiceImpl<TbMiniUserMapper, TbMiniUser>
 
     public TbMiniUser findByOpenid(String openid) {
         QueryWrapper<TbMiniUser> ew = new QueryWrapper<>();
-        ew.lambda().eq(TbMiniUser::getOpenid, openid);
-        return getOne(ew);
+        ew.lambda().eq(TbMiniUser::getOpenid, openid).orderByDesc(TbMiniUser::getLastLoginTime);
+        List<TbMiniUser> list = list(ew);
+        return list.isEmpty() ? null : list.get(0);
     }
 
 
@@ -84,6 +89,8 @@ public class TbMiniUserService extends ServiceImpl<TbMiniUserMapper, TbMiniUser>
         if (tbMiniUser == null) {
             return AjaxJson.getError("用户不存在");
         }
+        tbMiniUser.setLastLoginTime(new Date());
+        this.updateById(tbMiniUser);
         StpUtil.login(tbMiniUser.getSpAdminId());
         tbMiniUser.setToken(StpUtil.getTokenValue());
         StpUserUtil.setDeptId(tbMiniUser.getDeptId() + "");
@@ -93,4 +100,41 @@ public class TbMiniUserService extends ServiceImpl<TbMiniUserMapper, TbMiniUser>
         StpUserUtil.setAdminType(tbMiniUser.getSuperAdmin() + "");
         return AjaxJson.getSuccessData(tbMiniUser);
     }
+
+    public TbMiniUser findByPhone(String phone) {
+        QueryWrapper<TbMiniUser> ew = new QueryWrapper<>();
+        ew.lambda().eq(TbMiniUser::getPhone, phone);
+        return getOne(ew);
+    }
+
+
+    public AjaxJson login(String openid, String key, String password) {
+        TbMiniUser tbMiniUser = this.findByPhone(key);
+        if (tbMiniUser == null) {
+            return AjaxJson.getError("账户不存在");
+        }
+        String md5Password = SystemObject.getPasswordMd5(tbMiniUser.getSpAdminId(), password);
+        if (!tbMiniUser.getPassword().equals(md5Password)) {
+            return AjaxJson.getError("密码错误");
+        }
+        tbMiniUser.setOpenid(openid);
+        this.updateById(tbMiniUser);
+        return AjaxJson.getSuccessData(buildToken(tbMiniUser));
+    }
+
+    public Map<String, Object> buildToken(TbMiniUser tbMiniUser) {
+        StpUtil.login(tbMiniUser.getSpAdminId());
+        String token = StpUtil.getTokenValue();
+        tbMiniUser.setToken(token);
+        Map<String, Object> map = new HashMap<>();
+        map.put("userInfo", tbMiniUser);
+        map.put("token", token);
+        return map;
+    }
+
+    public TbMiniUser findByUsername(String username) {
+        QueryWrapper<TbMiniUser>ew=new QueryWrapper<>();
+        ew.lambda().eq(TbMiniUser::getUsername,username);
+        return getOne(ew);
+    }
 }

+ 20 - 7
sp-core/src/main/java/com/pj/project/tb_person_black/TbPersonBlackService.java

@@ -7,6 +7,7 @@ import java.util.Date;
 import java.util.List;
 
 import cn.dev33.satoken.stp.StpUtil;
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.IdcardUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONObject;
@@ -155,7 +156,7 @@ public class TbPersonBlackService extends ServiceImpl<TbPersonBlackMapper, TbPer
      * @param t
      */
     public void issued(TbTerminal t) {
-        List<TbPersonBlack> list = this.list();
+        List<TbPersonBlack> list =   findInBlackList(DateUtil.now());
         list.forEach(tbPersonBlack -> {
             JSONObject users = builderData(tbPersonBlack);
             tbTerminalService.setCommand(CommandType.ISSUED_BLACKLIST_COMMAND.getFuncId(), users, t);
@@ -163,6 +164,18 @@ public class TbPersonBlackService extends ServiceImpl<TbPersonBlackMapper, TbPer
     }
 
     /**
+     * 查找此时在黑名单的人员
+     * @param now
+     * @return
+     */
+    public List<TbPersonBlack> findInBlackList(String now) {
+        QueryWrapper<TbPersonBlack>ew=new QueryWrapper<>();
+        ew.ge("date_format(end_time,'%Y-%m-%d %H:%i:%s')", now)
+                .le("date_format(start_time,'%Y-%m-%d %H:%i:%s')", now);
+        return list(ew);
+    }
+
+    /**
      * 下发单个黑名单到部门所有设备
      *
      * @param tbPersonBlack
@@ -211,23 +224,23 @@ public class TbPersonBlackService extends ServiceImpl<TbPersonBlackMapper, TbPer
 
     public List<TbPersonBlack> finRecordStartTimeInTimes(String bTime, String eTime) {
         QueryWrapper<TbPersonBlack> ew = new QueryWrapper<>();
-        ew.ge("date_format('start_time','%Y-%m-%d %h:%s')", bTime)
-                .le("date_format('start_time','%Y-%m-%d %h:%s')", eTime);
+        ew.ge("date_format(start_time,'%Y-%m-%d %h:%s')", bTime)
+                .le("date_format(start_time,'%Y-%m-%d %h:%s')", eTime);
         return list(ew);
     }
 
     public List<TbPersonBlack> finRecordEndTimeInTimes(String bTime, String eTime) {
         QueryWrapper<TbPersonBlack> ew = new QueryWrapper<>();
-        ew.ge("date_format('end_time','%Y-%m-%d %h:%s')", bTime)
-                .le("date_format('end_time','%Y-%m-%d %h:%s')", eTime);
+        ew.ge("date_format(end_time,'%Y-%m-%d %H:%i')", bTime)
+                .le("date_format(end_time,'%Y-%m-%d %H:%i')", eTime);
         return list(ew);
     }
 
     public TbPersonBlack findByIdCardAndTime(String idCard, String now) {
         QueryWrapper<TbPersonBlack> ew = new QueryWrapper<>();
         ew.lambda().eq(TbPersonBlack::getIdCard, idCard);
-        ew.ge("date_format('end_time','%Y-%m-%d %h:%s:%i')", now)
-                .le("date_format('end_time','%Y-%m-%d %h:%s:%i')", now);
+        ew.ge("date_format(end_time,'%Y-%m-%d %H:%i:%s')", now)
+                .le("date_format(start_time,'%Y-%m-%d %H:%i:%s')", now);
         return getOne(ew);
     }
 }

+ 6 - 2
sp-core/src/main/java/com/pj/project/tb_person_filing/TbPersonFilingService.java

@@ -25,6 +25,8 @@ import com.pj.current.netty.command.constants.CommandType;
 import com.pj.current.netty.command.handler.dto.WhitelistDTO;
 import com.pj.current.satoken.StpUserUtil;
 import com.pj.current.task.TaskService;
+import com.pj.project.tb_dept.TbDept;
+import com.pj.project.tb_dept.TbDeptService;
 import com.pj.project.tb_person_black.TbPersonBlack;
 import com.pj.project.tb_terminal.TbTerminal;
 import com.pj.project.tb_terminal.TbTerminalService;
@@ -62,6 +64,8 @@ public class TbPersonFilingService extends ServiceImpl<TbPersonFilingMapper, TbP
 
     @Resource
     private UploadConfig uploadConfig;
+    @Resource
+    private TbDeptService tbDeptService;
 
 
     /**
@@ -78,8 +82,8 @@ public class TbPersonFilingService extends ServiceImpl<TbPersonFilingMapper, TbP
         }
         //String pin = RandomUtil.randomNumbers(9);
         t.setPin(idCard);
-        String needJudge = SpCfgUtil.getFillingJudge();
-        if (StrUtil.equals(needJudge, "2")) {
+        TbDept tbDept = tbDeptService.getById(t.getDeptId());
+        if (TbDept.NeedJudgeEnum.AUTO_JUDGE.getType().equals(tbDept.getNeedJudge())) {
             t.setJudgeState(1).setJudgeTime(new Date()).setJudgeBy("系统自动审核");
         }
         this.handlerTime(t);

+ 1 - 0
sp-core/src/main/java/com/pj/project/tb_terminal/TbTerminal.java

@@ -42,6 +42,7 @@ public class TbTerminal extends Model<TbTerminal> implements Serializable {
 	public static final String PERMISSION_CODE_CLEAR = "tb-terminal-clear";
 	public static final String PERMISSION_CODE_OPEN= "tb-terminal-open";
 	public static final String PERMISSION_CODE_SYNC_TIME= "tb-terminal-sync-time";
+	public static final String PERMISSION_CODE_DOWN_DATA= "tb-terminal-down";
 
 
 	// ---------- 表中字段 ----------

+ 35 - 8
sp-core/src/main/java/com/pj/project/tb_terminal/TbTerminalService.java

@@ -38,6 +38,7 @@ import com.pj.utils.cache.RedisUtil;
 import com.pj.utils.sg.AjaxJson;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import com.pj.utils.so.*;
@@ -196,7 +197,7 @@ public class TbTerminalService extends ServiceImpl<TbTerminalMapper, TbTerminal>
                 .setTerminalName(tbTerminal.getName()).setCreateTime(new Date()).setCreateBy(StpUserUtil.getAdminName());
         //日志记录
         tbCommandLogService.save(tbCommandLog);
-        RedisUtil.set(myConfig.getCommandPrefix() + sn, JSONUtil.toJsonStr(commandList));
+        RedisUtil.set(key, JSONUtil.toJsonStr(commandList));
     }
 
     /**
@@ -327,6 +328,12 @@ public class TbTerminalService extends ServiceImpl<TbTerminalMapper, TbTerminal>
      */
     public AjaxJson check(CheckBO checkBO) {
         log.info("设备请求放行接口:{}", JSONUtil.toJsonStr(checkBO));
+        if (StrUtil.isEmpty(checkBO.getIdentity_number())) {
+            return AjaxJson.getError("身份证不能为空");
+        }
+        if (StrUtil.isEmpty(checkBO.getSn())) {
+            return AjaxJson.getError("设备编号不能为空");
+        }
         int acidLimit = SpCfgUtil.getAcidLimit();
         int tourLimit = SpCfgUtil.getTourLimit();
         String now = DateUtil.now();
@@ -336,9 +343,18 @@ public class TbTerminalService extends ServiceImpl<TbTerminalMapper, TbTerminal>
                 .setTrip_restrict(tourLimit).setIs_pass(0);
         //是否备案、备案是否通过审核
         TbPersonFiling tbPersonFiling = tbPersonFilingService.findByIdCard(idCard);
-        if (tbPersonFiling == null || tbPersonFiling.getJudgeState() == 0) {
-            log.info("返回信息:{},{}", "人员未备案", JSONUtil.toJsonStr(checkDataDTO));
-            return AjaxJson.getSuccess("人员未备案", checkDataDTO);
+        if (tbPersonFiling == null) {
+            if (SpCfgUtil.termianlFilling()) {
+                log.info("返回信息:{},{}", "首次备案", JSONUtil.toJsonStr(checkDataDTO));
+                return AjaxJson.getSuccess(checkBO.getName() + "首次备案", checkDataDTO);
+            } else {
+                log.info("返回信息:{},{}", "人员未备案", JSONUtil.toJsonStr(checkDataDTO));
+                return AjaxJson.getSuccess(checkBO.getName() + "未备案", checkDataDTO);
+            }
+        }
+        if (tbPersonFiling.getJudgeState() == 0) {
+            log.info("返回信息:{},{}", "人员备案未审核", JSONUtil.toJsonStr(checkDataDTO));
+            return AjaxJson.getSuccess(checkBO.getName() + "未审核", checkDataDTO);
         }
         TbDept tbDept = tbDeptService.getById(tbPersonFiling.getDeptId());
         String msg = tbDept.getName() + tbPersonFiling.getName();
@@ -346,7 +362,7 @@ public class TbTerminalService extends ServiceImpl<TbTerminalMapper, TbTerminal>
         double minTemperature = SpCfgUtil.getMinTemperature();
         if (minTemperature < checkBO.getTemperature()) {
             log.info("返回信息体温过高:{},{}", msg, JSONUtil.toJsonStr(checkDataDTO));
-            return AjaxJson.getSuccess(msg, checkDataDTO);
+            return AjaxJson.getSuccess(msg + "\n体温异常", checkDataDTO);
         }
         //健康码是否绿码
         if (!StrUtil.equals(TbPersonVisitRecord.HealthEnum.GREEN.getStatus(), checkBO.getHealth_status())) {
@@ -361,17 +377,28 @@ public class TbTerminalService extends ServiceImpl<TbTerminalMapper, TbTerminal>
         }
         //通道是否开放
         TbTerminal tbTerminal = this.findBySN(checkBO.getSn());
-        if (tbTerminal==null){
+        if (tbTerminal == null) {
             log.info("返回信息非法设备:{},{}", msg, JSONUtil.toJsonStr(checkDataDTO));
             return AjaxJson.getSuccess("非法设备", checkDataDTO);
         }
         TbVenues tbVenues = tbVenuesService.getById(tbTerminal.getChannelId());
-        if (tbVenues.getStatus()==0){
+        if (tbVenues.getStatus() == 0) {
             log.info("返回信息通道关闭放行:{},{}", msg, JSONUtil.toJsonStr(checkDataDTO));
             return AjaxJson.getSuccess(msg, checkDataDTO);
         }
         checkDataDTO.setIs_pass(1);
         return AjaxJson.getSuccess(msg, checkDataDTO);
     }
-
+    public void down(Long id) {
+        TbTerminal tbTerminal = this.getById(id);
+        if (TbTerminal.StateType.OFFLINE.getState().equals(tbTerminal.getState())) {
+            throw new BusinessException("设备已离线");
+        }
+        tbPersonFilingService.issued(tbTerminal);
+        tbPersonBlackService.issued(tbTerminal);
+        String sn = tbTerminal.getSn();
+        String key = myConfig.getCommandPrefix() + sn;
+        log.info("list:{}",RedisUtil.get(key));
+        this.startHeartCommand(tbTerminal.getSn());
+    }
 }

+ 1 - 8
sp-core/src/main/java/com/pj/project4sp/spcfg/SpCfgUtil.java

@@ -96,14 +96,7 @@ public class SpCfgUtil {
         return Integer.valueOf(SpCfgUtil.getServerCfg("acidLimit", "24"));
     }
 
-    /**
-     * 是否需要审核
-     *
-     * @return
-     */
-    public static boolean fillingNeedJudge() {
-        return StrUtil.equals(SpCfgUtil.getServerCfg("fillingJudge", "1"), "1");
-    }
+
 
     // 获取配置信息:备案审核 1审核 2不审核
     public static double getMinTemperature() {

+ 6 - 7
sp-start/src/main/resources/application-dev.yml

@@ -46,9 +46,9 @@ spring:
     # 项目自定义配置
     myconfig:
         # 本项目部署到的服务器域名(文件上传等等模块  要用到)
-        domain: http://192.168.1.3:8099
+        domain: http://192.168.3.27:8099/pro
         ip: 192.168.3.27
-        net-ip: 192.168.3.22
+        net-ip: 192.168.3.27
         heart-port: 9999
         command-port: 8888
         command-prefix: "command:"
@@ -66,9 +66,8 @@ wx:
     js-api-token-url: https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi
     openid-url: https://api.weixin.qq.com/sns/oauth2/access_token?appid=${wx.app-id}&secret=${wx.app-secret}&code=CODE&grant_type=authorization_code
     send-msg-url: https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN
-    domain: https://192.168.1.4:8080/h5
+    domain: http://127.0.0.1:8080/h5
     report-detail: ${wx.domain}/pages/detail/report-detail
-#    temperature-error-template: WtTlUMCtJp6dSPXLJg_RdsmX4811aDkEkHuX0Txfgfg
-#    health-status-template: IEzVk2HCvctwXZzaGaElWQpRskolYlZSahTZXbJhuVM
-    temperature-error-template: 3DBqZsC6x4IMmkzZNkSCh47slBUhuoyMlpC0wgW_9-w
-    health-status-template: 3DBqZsC6x4IMmkzZNkSCh47slBUhuoyMlpC0wgW_9-w
+    temperature-error-template: WtTlUMCtJp6dSPXLJg_RdsmX4811aDkEkHuX0Txfgfg
+    health-status-template: IEzVk2HCvctwXZzaGaElWQpRskolYlZSahTZXbJhuVM
+