瀏覽代碼

智能门锁公共配置抽取

liujh 3 年之前
父節點
當前提交
8627b913f2

+ 5 - 2
zd-modules/zd-algorithm/src/main/java/com/zd/alg/smartlock/controller/SlSubjectRelationController.java

@@ -36,6 +36,9 @@ public class SlSubjectRelationController extends BaseController {
     @Autowired
     private ISlSubjectRelationService slSubjectRelationService;
 
+    @Autowired
+    private SmartlockUtil smartlockUtil;
+
     /**
      * 查询实验室关联列表
      */
@@ -149,7 +152,7 @@ public class SlSubjectRelationController extends BaseController {
     @GetMapping("/listLockRoom")
     @ApiOperation(value = "查询实验室关联列表")
     public TableDataInfo<SlRoom> listLockRoom(SlRoom slRoom) {
-        List<SlRoom> list = SmartlockUtil.getRoom( slRoom);
+        List<SlRoom> list = smartlockUtil.getRoom( slRoom);
 
         /*List<SlRoom> list = new ArrayList<>();
         slRoom.setRoomname("房间1");
@@ -181,7 +184,7 @@ public class SlSubjectRelationController extends BaseController {
 
         List<SlLockOnline> onlineList = new ArrayList<>();
         for (SlSubjectRelation rl:listrelation) {
-            SlLockOnline lockOnline = SmartlockUtil.getRoomDetails(rl.getLockRoomId());
+            SlLockOnline lockOnline = smartlockUtil.getRoomDetails(rl.getLockRoomId());
             if(lockOnline!=null){
                 onlineList.add(lockOnline);
             }

+ 4 - 1
zd-modules/zd-algorithm/src/main/java/com/zd/alg/smartlock/controller/SlUserRelationController.java

@@ -34,6 +34,9 @@ public class SlUserRelationController extends BaseController
     @Autowired
     private ISlUserRelationService slUserRelationService;
 
+    @Autowired
+    private SmartlockUtil smartlockUtil;
+
     /**
      * 查询人员关联列表
      */
@@ -115,7 +118,7 @@ public class SlUserRelationController extends BaseController
     @ApiOperation(value = "查询智能锁人员列表")
     public TableDataInfo<SlUser> listLockUser(SlUser sluser)
     {
-        List<SlUser> list = SmartlockUtil.getUser(sluser);
+        List<SlUser> list = smartlockUtil.getUser(sluser);
         return getDataTable(list);
     }
 }

+ 23 - 1
zd-modules/zd-algorithm/src/main/java/com/zd/alg/smartlock/controller/SmartlockController.java

@@ -4,8 +4,13 @@ import com.zd.alg.smartlock.domain.api.SlLockOnline;
 import com.zd.alg.smartlock.domain.vo.SlSubjectRelationVo;
 import com.zd.alg.smartlock.service.ISlSubjectRelationService;
 import com.zd.alg.smartlock.utils.SmartlockUtil;
+import com.zd.common.core.constant.SecurityConstants;
+import com.zd.common.core.domain.R;
 import com.zd.common.core.web.controller.BaseController;
+import com.zd.common.core.web.domain.ResultData;
 import com.zd.common.core.web.page.TableDataInfo;
+import com.zd.system.api.RemoteUserService;
+import com.zd.system.api.domain.SysUser;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,6 +34,10 @@ public class SmartlockController extends BaseController {
 
     @Autowired
     private ISlSubjectRelationService slSubjectRelationService;
+    @Autowired
+    private RemoteUserService remoteUserService;
+    @Autowired
+    private SmartlockUtil smartlockUtil;
 
     /**
      * 查询实验室门锁信息
@@ -45,9 +54,22 @@ public class SmartlockController extends BaseController {
         List<SlSubjectRelationVo> list = slSubjectRelationService.selectSlSubjectRelationList(subjectRelation);
         for (SlSubjectRelationVo sub: list ) {
             //查询门锁状态
-            SlLockOnline lockOnline = SmartlockUtil.getRoomDetails(sub.getLockRoomId());
+            SlLockOnline lockOnline = smartlockUtil.getRoomDetails(sub.getLockRoomId());
             lockOnlineslist.add(lockOnline);
         }
         return getDataTable(lockOnlineslist);
     }
+
+    @GetMapping("/test")
+    public ResultData<Long> test()
+    {
+        R<SysUser> r = remoteUserService.getUserInfoByUserId(1L, SecurityConstants.INNER);
+        logger.info(r.getData().toString());
+        logger.info(smartlockUtil.SERVICE_URL);
+        logger.info(smartlockUtil.USER_LOGIN);
+        logger.info(smartlockUtil.PASSWORD);
+        logger.info(smartlockUtil.AUTHS_LENGTH.toString());
+        logger.info(smartlockUtil.OPEN_COUNT.toString());
+        return ResultData.result(1L);
+    }
 }

+ 7 - 0
zd-modules/zd-algorithm/src/main/java/com/zd/alg/smartlock/domain/api/SlPostUser.java

@@ -41,6 +41,9 @@ public class SlPostUser {
     @ApiModelProperty(value = "授权结束日期")
     private String empedate;
 
+    @ApiModelProperty(value = "可开门次数")
+    private Integer opencount;
+
     public String getCardcode() {
         return cardcode;
     }
@@ -120,4 +123,8 @@ public class SlPostUser {
     public void setEmpedate(String empedate) {
         this.empedate = empedate;
     }
+
+    public Integer getOpencount() {        return opencount;    }
+
+    public void setOpencount(Integer opencount) {        this.opencount = opencount;    }
 }

+ 9 - 9
zd-modules/zd-algorithm/src/main/java/com/zd/alg/smartlock/service/impl/SlApplyApprovalServiceImpl.java

@@ -51,6 +51,9 @@ public class SlApplyApprovalServiceImpl implements ISlApplyApprovalService
     @Autowired
     private RemoteUserService remoteUserService;
 
+    @Autowired
+    private SmartlockUtil smartlockUtil;
+
 
     /**
      * 查询申请审核
@@ -339,7 +342,7 @@ public class SlApplyApprovalServiceImpl implements ISlApplyApprovalService
             //电话
             user.setPersonmobile(opendoorApply.getPhonenumber());
             log.info("=======人员1授权开始========");
-            Map<String,Object> map1= SmartlockUtil.addUser(user,listsubRla.get(0).getLockRoomId());
+            Map<String,Object> map1= smartlockUtil.addUser(user,listsubRla.get(0).getLockRoomId());
 
             if(!SmartlockUtil.resultMsg.equals(map1.get("resultMsg").toString())){
                 log.info("人员:"+opendoorApply.getUserName()+",授权失败,原因:"+map1.get("resultMsg")+",请联系管理员");
@@ -368,7 +371,7 @@ public class SlApplyApprovalServiceImpl implements ISlApplyApprovalService
             user.setPersonmobile(opendoorApply.getPhonenumber2());
 
             log.info("=======人员2授权开始========");
-            Map<String,Object> map2= SmartlockUtil.addUser(user,listsubRla.get(1).getLockRoomId());
+            Map<String,Object> map2= smartlockUtil.addUser(user,listsubRla.get(1).getLockRoomId());
 
             //人员2 备注详情
             detalisMap.put("人员2",opendoorApply.getUserName());
@@ -389,14 +392,11 @@ public class SlApplyApprovalServiceImpl implements ISlApplyApprovalService
             //人员入住办理成功,发送短信提示
             if(auths1 && auths2){
                 log.info("=============双人授权成功,下发短信================");
-                R p1 = remoteStockService.sendSydSms("【实验室安全系统】授权码:"+map1.get("password")+"("+SmartlockUtil.authsLength+"小时内有效),"+opendoorApply.getSubjectName()+"-门禁远程授权申请已通过,请勿泄露给他人。",3,applyId,new String[] {opendoorApply.getPhonenumber()});
-                log.info("人员1短信发送结果:"+p1);
-
-                R p2 = remoteStockService.sendSydSms("【实验室安全系统】授权码:"+map1.get("password")+"("+SmartlockUtil.authsLength+"小时内有效),"+opendoorApply.getSubjectName()+"-门禁远程授权申请已通过,请勿泄露给他人。",3,applyId,new String[] {opendoorApply.getPhonenumber2()});
-                log.info("人员2短信发送结果:"+p2);
+                R p1 = remoteStockService.sendSydSms("【实验室安全系统】授权码:"+map1.get("password")+"("+smartlockUtil.AUTHS_LENGTH+"小时内有效),"+opendoorApply.getSubjectName()+"-门禁远程授权申请已通过,请勿泄露给他人。",3,applyId,new String[] {opendoorApply.getPhonenumber()});
+                log.info("人员1短信发送结果:"+p1.getData());
 
-            /*String msg1="开门申请成功,门锁编号:"+listsubRla.get(0).getLockCode()+"密码:"+map1.get("password");
-            String msg2="开门申请成功,门锁编号:"+listsubRla.get(1).getLockCode()+"密码:"+map1.get("password");*/
+                R p2 = remoteStockService.sendSydSms("【实验室安全系统】授权码:"+map1.get("password")+"("+smartlockUtil.AUTHS_LENGTH+"小时内有效),"+opendoorApply.getSubjectName()+"-门禁远程授权申请已通过,请勿泄露给他人。",3,applyId,new String[] {opendoorApply.getPhonenumber2()});
+                log.info("人员2短信发送结果:"+p2.getData());
             }
 
             opendoorApply.setIllustrate(detalisMap.toString());

+ 6 - 2
zd-modules/zd-algorithm/src/main/java/com/zd/alg/smartlock/service/impl/SlOpendoorApplyServiceImpl.java

@@ -48,6 +48,10 @@ public class SlOpendoorApplyServiceImpl implements ISlOpendoorApplyService {
     @Autowired
     private RemoteStockService remoteStockService;
 
+    @Autowired
+    private SmartlockUtil smartlockUtil;
+
+
     /**
      * 查询申请开门
      *
@@ -225,7 +229,7 @@ public class SlOpendoorApplyServiceImpl implements ISlOpendoorApplyService {
             //电话
             user.setPersonmobile(opendoorApply.getPhonenumber());
             log.info("=======人员1授权开始========");
-            Map<String,Object> map1= SmartlockUtil.addUser(user,listsubRla.get(0).getLockRoomId());
+            Map<String,Object> map1= smartlockUtil.addUser(user,listsubRla.get(0).getLockRoomId());
 
             if(!SmartlockUtil.resultMsg.equals(map1.get("resultMsg").toString())){
                 log.info("人员:"+opendoorApply.getUserName()+",授权失败,原因:"+map1.get("resultMsg")+",请联系管理员");
@@ -259,7 +263,7 @@ public class SlOpendoorApplyServiceImpl implements ISlOpendoorApplyService {
                                 "【实验室安全系统】" + opendoorApply.getUserName() + "申请" +
                                         opendoorApply.getSubjectName() +
                                         "-门禁远程授权,手机号:"+opendoorApply.getPhonenumber()+",授权码:"+map1.get("password")+
-                                        "("+ SmartlockUtil.authsLength+"小时内有效),请勿泄露给他人。",
+                                        "("+ smartlockUtil.AUTHS_LENGTH+"小时内有效),请勿泄露给他人。",
                                 3, opendoorApply.getId(), rvo.getSafeUserPhone());
                         log.info("人员1短信发送结果:"+r1);
                     }

+ 77 - 47
zd-modules/zd-algorithm/src/main/java/com/zd/alg/smartlock/utils/SmartlockUtil.java

@@ -9,6 +9,8 @@ import com.zd.alg.smartlock.domain.api.*;
 import com.zd.common.core.utils.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
 
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -19,6 +21,7 @@ import java.util.*;
  * @Date: 2022/08/29/11:30
  * @Description:
  */
+@Component
 public class SmartlockUtil {
     private static final Logger logger = LoggerFactory.getLogger(SmartlockUtil.class);
 
@@ -27,17 +30,20 @@ public class SmartlockUtil {
     /**
      * 服务访问地址
      */
-    private final static String serviceurl = "http://192.168.249.12/info";
+    @Value("${smartlock.serviceurl}")
+    public String SERVICE_URL;
 
     /***
      * 登陆账户
      */
-    private final static String userlogin = "admin";
+    @Value("${smartlock.userlogin}")
+    public String USER_LOGIN;
 
     /***
      * 登陆密码
      */
-    private final static String password = "admin123";
+    @Value("${smartlock.password}")
+    public String PASSWORD;
 
     /**
      * 智能锁返回成功字符描述
@@ -47,9 +53,14 @@ public class SmartlockUtil {
     /**
      * //授权时长(小时)
      */
-    public final static Integer authsLength=1;
-
+    @Value("${smartlock.authslength}")
+    public Integer AUTHS_LENGTH;
 
+    /**
+     * 允许开门次数
+     */
+    @Value("${smartlock.opencount}")
+    public Integer OPEN_COUNT;
 
 
     public static HttpRequest httpSendPost(String url, String json) {
@@ -63,15 +74,16 @@ public class SmartlockUtil {
      * 获取token
      * @return
      */
-    public static String getToken() {
+    public String getToken() {
         String token = null;
-        String url = serviceurl + "/login/1/gettoken?userlogin=" + userlogin + "&password=" + password;
+        String url = SERVICE_URL + "/login/1/gettoken?userlogin=" + USER_LOGIN + "&password=" + PASSWORD;
         JSONObject json = new JSONObject();
         try {
             HttpRequest request = HttpRequest.post(url)
                     .header("Content-Type", "application/json")
                     .body(json.toString());
             HttpResponse response = request.execute();
+            logger.info(response.body());
             String resultMsg = JSON.parseObject(response.body()).get("resultMsg").toString();
             //请求是否成功
             if (SmartlockUtil.resultMsg.equals(resultMsg)) {
@@ -88,11 +100,11 @@ public class SmartlockUtil {
     /**
      * 获取顶级建筑
      */
-    public static SlBuild getTopBuild() {
+    public SlBuild getTopBuild() {
         SlBuild slBuild = null;
         try {
-            String token = SmartlockUtil.getToken();
-            String url = SmartlockUtil.serviceurl + "/build/1/getbuild?buildfatherid=0&page=1&rows=10&token=" + token;
+            String token = getToken();
+            String url = SERVICE_URL + "/build/1/getbuild?buildfatherid=0&page=1&rows=10&token=" + token;
             HttpRequest request = SmartlockUtil.httpSendPost(url, "");
             HttpResponse response = request.execute();
             // System.out.println(response.body());
@@ -113,14 +125,14 @@ public class SmartlockUtil {
      * @param
      * @return
      */
-    public static List<SlRoom> getRoom(SlRoom room) {
+    public  List<SlRoom> getRoom(SlRoom room) {
         SlBuild slBuild = null;
-        String token = SmartlockUtil.getToken();
+        String token = getToken();
         List<SlRoom> listRoom = new ArrayList<>();
         // System.out.println(token);
         try {
             //获取楼层建筑id
-            String urlLc = SmartlockUtil.serviceurl + "/build/1/getbuild?buildid=0&page=1&rows=30&token=" + token;
+            String urlLc = SERVICE_URL + "/build/1/getbuild?buildid=0&page=1&rows=30&token=" + token;
             HttpRequest requestLc = SmartlockUtil.httpSendPost(urlLc, "");
             HttpResponse responseLc = requestLc.execute();
             String str = responseLc.body();
@@ -140,7 +152,7 @@ public class SmartlockUtil {
             }
 
             //查询房间 不支持条件搜索
-            String urlroom = SmartlockUtil.serviceurl + "/build/2/getroom?buildid=" + slBuild.getBuildid() + "&page=" + slBuild.getPageNumber() + "&rows=" + slBuild.getPageSize() + "&token=" + token;
+            String urlroom = SERVICE_URL + "/build/2/getroom?buildid=" + slBuild.getBuildid() + "&page=" + slBuild.getPageNumber() + "&rows=" + slBuild.getPageSize() + "&token=" + token;
             HttpRequest requestRoom = SmartlockUtil.httpSendPost(urlroom, "");
             HttpResponse response = requestRoom.execute();
             String strRoom = response.body();
@@ -157,12 +169,12 @@ public class SmartlockUtil {
      *
      * @param sluser
      */
-    public static List<SlUser> getUser(SlUser sluser) {
+    public List<SlUser> getUser(SlUser sluser) {
         List<SlUser> list = new ArrayList<>();
         try {
-            String token = SmartlockUtil.getToken();
+            String token = getToken();
             //sluser.getSearch() 该查询条件支持:人员编号/人员姓名/手机号检索
-            String url = SmartlockUtil.serviceurl + "/card/save/8/getcardperson?persontype=1&page=" + sluser.getPageNumber() + "&rows=" + sluser.getPageSize() + "&search=" + sluser.getSearch() + "&token=" + token;
+            String url = SERVICE_URL + "/card/save/8/getcardperson?persontype=1&page=" + sluser.getPageNumber() + "&rows=" + sluser.getPageSize() + "&search=" + sluser.getSearch() + "&token=" + token;
             HttpRequest request = SmartlockUtil.httpSendPost(url, "");
             HttpResponse response = request.execute();
             //查询失败直接返回
@@ -187,15 +199,15 @@ public class SmartlockUtil {
      *               返回参数根据后期需求 扩展,
      * @return
      */
-    public static SlLockOnline getRoomDetails(String roomId) {
+    public SlLockOnline getRoomDetails(String roomId) {
         SlLockOnline lockOnline = new SlLockOnline();
         try {
             if (StringUtils.isEmpty(roomId)) {
                 logger.error("获取房间详情失败,参数roomid为空:");
                 return lockOnline;
             }
-            String token = SmartlockUtil.getToken();
-            String url = SmartlockUtil.serviceurl + "/lockauth/operate/1/getroominfo?roomid=" + roomId + "&token=" + token;
+            String token = getToken();
+            String url = SERVICE_URL + "/lockauth/operate/1/getroominfo?roomid=" + roomId + "&token=" + token;
             HttpRequest request = SmartlockUtil.httpSendPost(url, "");
             HttpResponse response = request.execute();
             //查询失败直接返回
@@ -205,7 +217,6 @@ public class SmartlockUtil {
                 return lockOnline;
             }
             String str = response.body();
-            //System.out.println(str);
             //在线状态
             String roomnetquality = JSON.parseObject(JSON.parseObject(str).get("result").toString()).get("roomnetquality").toString();
             //门锁编号
@@ -224,11 +235,11 @@ public class SmartlockUtil {
      * 开门记录
      * @param openDoorSearch
      */
-    public static List<SlOpenAndClosLog> getOpenDoorLog(SlOpenDoorSearch openDoorSearch) {
+    public List<SlOpenAndClosLog> getOpenDoorLog(SlOpenDoorSearch openDoorSearch) {
         List<SlOpenAndClosLog> list = new ArrayList<>();
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         try {
-            String token = SmartlockUtil.getToken();
+            String token = getToken();
 
             if (StringUtils.isEmpty(openDoorSearch.getRoomid())) {
                 logger.error("查询开门记录集合失败,roomid为空:" + resultMsg);
@@ -242,7 +253,7 @@ public class SmartlockUtil {
             String edate = sdf.format(new Date()) + " 23:59:59";
 
             //sluser.getSearch() 该查询条件支持:人员编号/人员姓名/手机号检索
-            String url = SmartlockUtil.serviceurl + "/lockauth/operate/2/getlockinfo?persontype=1&page=" + openDoorSearch.getPageNumber() + "&rows=" + openDoorSearch.getPageSize() +
+            String url = SERVICE_URL + "/lockauth/operate/2/getlockinfo?persontype=1&page=" + openDoorSearch.getPageNumber() + "&rows=" + openDoorSearch.getPageSize() +
                     "&roomid=" + openDoorSearch.getRoomid() + "&token=" + token + "&recordtype=" + openDoorSearch.getRecordtype()
                     + "&search=" + openDoorSearch.getSearch() + "&sdate=" + sdate + "&edate=" + edate;
             HttpRequest request = SmartlockUtil.httpSendPost(url, "");
@@ -268,11 +279,11 @@ public class SmartlockUtil {
      *
      * @param group
      */
-    public static List<SlGroup> getGroup(SlGroup group) {
+    public List<SlGroup> getGroup(SlGroup group) {
         List<SlGroup> list = new ArrayList<>();
-        String token = SmartlockUtil.getToken();
+        String token = getToken();
         try {
-            String url = SmartlockUtil.serviceurl + "/group/1/getgroup?&token=" + token
+            String url = SERVICE_URL + "/group/1/getgroup?&token=" + token
                     + "&page=" + group.getPageNumber() + "&rows=" + group.getPageSize() + "&pgfatherid=0";
             HttpRequest request = SmartlockUtil.httpSendPost(url, "");
             HttpResponse response = request.execute();
@@ -295,13 +306,13 @@ public class SmartlockUtil {
      * 添加人员并且办理入住
      * 返回操作状态
      */
-    public static Map<String, Object> addUser(SlUser user, String roomId) {
+    public Map<String, Object> addUser(SlUser user, String roomId) {
         List<SlGroup> listgroup = getGroup(new SlGroup());
         Map<String, Object> map = new HashMap<>();
         try {
             //获取组织id
             String pgid = listgroup.get(0).getPgid();
-            String token = SmartlockUtil.getToken();
+            String token = getToken();
 
             /*roomId="109";
             user.setPersoncode("C016");//学号、工号
@@ -314,7 +325,7 @@ public class SmartlockUtil {
             Boolean flg = checkUserExis(user.getPersoncode(), "1", token);
             if (!flg) {
                 //新增人员
-                String url = SmartlockUtil.serviceurl + "/person/save/1/saveperson?" +
+                String url = SERVICE_URL + "/person/save/1/saveperson?" +
                         "personcode=" + user.getPersoncode() + "&personname=" + user.getPersonname() + "&personsex=" + user.getPersonsex() +
                         "&personmobile=" + user.getPersonmobile() + "&persontype=" + user.getPersontype() + "&pgid=" + pgid + "&token=" + token;
                 HttpRequest request = SmartlockUtil.httpSendPost(url, "");
@@ -356,7 +367,7 @@ public class SmartlockUtil {
      * @param roomId
      * @param authid
      */
-    public static Map<String, Object> updateAuths(String token, String roomId, Integer authid) {
+    public Map<String, Object> updateAuths(String token, String roomId, Integer authid) {
         Map<String, Object> map = new HashMap<>();
         try {
             List<SlupdateAuths> list = new ArrayList<>();
@@ -367,10 +378,10 @@ public class SmartlockUtil {
             //授权开始日期
             String empsdate =sdf.format(new Date());
             //授权结束日期
-            String empedate = sdf.format(getTime(authsLength));
+            String empedate = sdf.format(getTime(AUTHS_LENGTH));
 
             String pw = getRandom(6);
-            String url2 = SmartlockUtil.serviceurl + "/lockauth/operate/7/updateauths?token=" + token + "&roomid=" + roomId + "&password=" + pw
+            String url2 = SERVICE_URL + "/lockauth/operate/7/updateauths?token=" + token + "&roomid=" + roomId + "&password=" + pw
                     +"&empsdate="+empsdate+"&empedate="+empedate;
             HttpRequest request2 = SmartlockUtil.httpSendPost(url2, JSONObject.toJSONString(list));
             HttpResponse response2 = request2.execute();
@@ -396,7 +407,7 @@ public class SmartlockUtil {
      * @param roomId
      * @return
      */
-    public static Map<String, Object> addUserAuths(String token, String personcode, String roomId) {
+    public Map<String, Object> addUserAuths(String token, String personcode, String roomId) {
         Map<String, Object> map = new HashMap<>();
         try {
             //入住办理
@@ -410,14 +421,15 @@ public class SmartlockUtil {
             postUser.setIssendpass("1");//是否下发密码(1是,0否)
             postUser.setManagertype(0);//权限类型(1管理权限,0使用权限,管理权限不占用入住人数)
             postUser.setPassword(pw);//6位数字密码(不允许连续数字或连续三个及以上相同数字)
-            postUser.setEmpsdate(sdf.format(new Date()));//授权开始时间
-            postUser.setEmpedate(sdf.format(getTime(authsLength)));  //授权结束时间,当前时间加1小时
+            postUser.setOpencount(OPEN_COUNT);//开门次数
+            //postUser.setEmpsdate(sdf.format(new Date()));//授权开始时间
+            postUser.setEmpedate(sdf.format(getTime(AUTHS_LENGTH)));  //授权结束时间,当前时间加1小时
             postlist.add(postUser);
             //System.out.println("开始时间:" + sdf.format(new Date()) + "结束时间:" + sdf.format(getTime(1)));
 
             //将对象转为json
             //JSONObject jsonStr = JSON.parseObject(JSONObject.toJSONString( postlist ));
-            String url2 = SmartlockUtil.serviceurl + "/lockauth/save/4/saveauths?token=" + token + "&roomid=" + roomId;
+            String url2 = SERVICE_URL + "/lockauth/save/4/saveauths?token=" + token + "&roomid=" + roomId;
             HttpRequest request2 = SmartlockUtil.httpSendPost(url2, JSONObject.toJSONString(postlist));
             HttpResponse response2 = request2.execute();
             //System.out.println(response2.body());
@@ -441,11 +453,11 @@ public class SmartlockUtil {
      * @param roomId  房间id
      * @return
      */
-    public static void AuthCheckInTest(SlUser user, String roomId) {
+    public void AuthCheckInTest(SlUser user, String roomId) {
 
         List<SlGroup> listgroup = getGroup(new SlGroup());
         Map<String, Object> map = new HashMap<>();
-        String token = SmartlockUtil.getToken();
+        String token = getToken();
         roomId = "109";
 
         //获取组织id
@@ -459,7 +471,7 @@ public class SmartlockUtil {
         //查询人员是否存在
         Boolean flg = checkUserExis(user.getPersoncode(), "1", token);
         if (!flg) {
-            String url = SmartlockUtil.serviceurl + "/person/save/1/saveperson?" +
+            String url = SERVICE_URL + "/person/save/1/saveperson?" +
                     "personcode=" + user.getPersoncode() + "&personname=" + user.getPersonname() + "&personsex=" + user.getPersonsex() +
                     "&persontype=" + user.getPersontype() + "&pgid=" + pgid + "&token=" + token;
             HttpRequest request = SmartlockUtil.httpSendPost(url, "");
@@ -492,7 +504,7 @@ public class SmartlockUtil {
 
         //将对象转为json
         //JSONObject jsonStr = JSON.parseObject(JSONObject.toJSONString( postlist ));
-        String url2 = SmartlockUtil.serviceurl + "/lockauth/operate/9/batchauths?token=" + token;
+        String url2 = SERVICE_URL + "/lockauth/operate/9/batchauths?token=" + token;
         HttpRequest request2 = SmartlockUtil.httpSendPost(url2, JSONObject.toJSONString(postlist));
         HttpResponse response2 = request2.execute();
         //System.out.println(response2.body());
@@ -514,10 +526,10 @@ public class SmartlockUtil {
      * @param personcode 人员编码
      * @param cardtype 1(学生卡)/2(职工卡)/3(管理卡)/6(临时卡)/7(身份证)
      */
-    public static Boolean checkUserExis(String personcode, String cardtype, String token) {
+    public Boolean checkUserExis(String personcode, String cardtype, String token) {
         Boolean flg = false;
         //String token =  SmartlockUtil.getToken();
-        String urlexis = SmartlockUtil.serviceurl + "/card/save/8/getcardperson?token=" + token + "&cardtype=" + cardtype + "&page=1&rows=20&search=" + personcode;
+        String urlexis = SERVICE_URL + "/card/save/8/getcardperson?token=" + token + "&cardtype=" + cardtype + "&page=1&rows=20&search=" + personcode;
         HttpRequest requestexis = SmartlockUtil.httpSendPost(urlexis, "");
         HttpResponse responseexis = requestexis.execute();
         //System.out.println(responseexis.body());
@@ -535,11 +547,11 @@ public class SmartlockUtil {
      * @param personcode
      * @return
      */
-    public static String checkUserAuthExis(String personcode, String token) {
+    public  String checkUserAuthExis(String personcode, String token) {
         String authid = null;
         //查询用户授权信息
         //String token =  SmartlockUtil.getToken();
-        String urlauth = SmartlockUtil.serviceurl + "/person/2/getpersonauth?" +
+        String urlauth = SERVICE_URL + "/person/2/getpersonauth?" +
                 "personcode=" + personcode + "&page=1" + "&rows=50&token=" + token;
         HttpRequest requestauth = SmartlockUtil.httpSendPost(urlauth, "");
         HttpResponse responseauth = requestauth.execute();
@@ -565,7 +577,7 @@ public class SmartlockUtil {
      * @param num
      * @return
      */
-    public static Date getTime(int num) {
+    public Date getTime(int num) {
         Calendar cal = Calendar.getInstance();
         cal.setTime(new Date());
         cal.add(Calendar.HOUR, num);
@@ -615,7 +627,7 @@ public class SmartlockUtil {
 
         // AuthCheckIn(new SlUser() , "");
 
-         //addUser(new SlUser() , "");
+        //addUser(new SlUser() , "");
 
         // System.out.println(checkUserExis("C008","1"));
 
@@ -625,5 +637,23 @@ public class SmartlockUtil {
         //getRoomDetails("109");
 
         //System.out.println(getRandom(6));
+
+        String token = null;
+        String url = "http://192.168.1.66/login/1/gettoken?userlogin=admin&password=admin123";
+        JSONObject json = new JSONObject();
+
+            HttpRequest request = HttpRequest.post(url)
+                    .header("Content-Type", "application/json")
+                    .body(json.toString());
+            HttpResponse response = request.execute();
+            logger.info(response.body());
+            String resultMsg = JSON.parseObject(response.body()).get("resultMsg").toString();
+            //请求是否成功
+            if (SmartlockUtil.resultMsg.equals(resultMsg)) {
+                token = JSON.parseObject(JSON.parseObject(response.body()).get("result").toString()).get("token").toString();
+            } else {
+                logger.info("智能锁获取token失败:" + resultMsg);
+            }
+
     }
 }

+ 14 - 1
zd-modules/zd-algorithm/src/main/resources/application.yml

@@ -172,4 +172,17 @@ swagger-ui:
 version:
   version: "@project.version@"
   description: "@project.description@"
-  artifact-id: "@project.artifactId@"
+  artifact-id: "@project.artifactId@"
+
+# [必须配置] 智能门锁配置信息
+smartlock:
+  # 访问地址
+  serviceurl: http://192.168.1.66/info
+  # 用户名
+  userlogin: admin
+  # 密码
+  password: admin123
+  # 授权时长(小时)
+  authslength: 1
+  # 允许开门次数
+  opencount: 1