SmartlockUtil.java 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634
  1. package com.zd.smartlock.utils;
  2. import cn.hutool.http.HttpRequest;
  3. import cn.hutool.http.HttpResponse;
  4. import com.alibaba.fastjson.JSON;
  5. import com.alibaba.fastjson.JSONArray;
  6. import com.alibaba.fastjson.JSONObject;
  7. import com.zd.common.core.utils.StringUtils;
  8. import com.zd.smartlock.domain.api.*;
  9. import org.slf4j.Logger;
  10. import org.slf4j.LoggerFactory;
  11. import java.text.SimpleDateFormat;
  12. import java.util.*;
  13. /**
  14. * @Author: liujh
  15. * @Date: 2022/08/29/11:30
  16. * @Description:
  17. */
  18. public class SmartlockUtil {
  19. private static final Logger logger = LoggerFactory.getLogger(SmartlockUtil.class);
  20. private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  21. /**
  22. * 服务访问地址
  23. */
  24. private final static String serviceurl = "http://192.168.1.66/info";
  25. /***
  26. * 登陆账户
  27. */
  28. private final static String userlogin = "admin";
  29. /***
  30. * 登陆密码
  31. */
  32. private final static String password = "admin123";
  33. /**
  34. * 智能锁返回成功字符描述
  35. */
  36. public final static String resultMsg = "ok";
  37. /**
  38. * //授权时长(小时)
  39. */
  40. public final static Integer authsLength=1;
  41. public static HttpRequest httpSendPost(String url, String json) {
  42. return HttpRequest.post(url)
  43. .header("Content-Type", "application/json")
  44. .body(json);
  45. }
  46. /***
  47. * 获取token
  48. * @return
  49. */
  50. public static String getToken() {
  51. String token = null;
  52. String url = serviceurl + "/login/1/gettoken?userlogin=" + userlogin + "&password=" + password;
  53. JSONObject json = new JSONObject();
  54. try {
  55. HttpRequest request = HttpRequest.post(url)
  56. .header("Content-Type", "application/json")
  57. .body(json.toString());
  58. HttpResponse response = request.execute();
  59. String resultMsg = JSON.parseObject(response.body()).get("resultMsg").toString();
  60. //请求是否成功
  61. if (SmartlockUtil.resultMsg.equals(resultMsg)) {
  62. token = JSON.parseObject(JSON.parseObject(response.body()).get("result").toString()).get("token").toString();
  63. } else {
  64. logger.error("智能锁获取token失败:" + resultMsg);
  65. }
  66. } catch (Exception e) {
  67. logger.error("获取token失败:" + e);
  68. }
  69. System.out.println(token);
  70. return token;
  71. }
  72. /**
  73. * 获取顶级建筑
  74. */
  75. public static SlBuild getTopBuild() {
  76. SlBuild slBuild = null;
  77. try {
  78. String token = SmartlockUtil.getToken();
  79. String url = SmartlockUtil.serviceurl + "/build/1/getbuild?buildfatherid=0&page=1&rows=10&token=" + token;
  80. HttpRequest request = SmartlockUtil.httpSendPost(url, "");
  81. HttpResponse response = request.execute();
  82. System.out.println(response.body());
  83. String resultMsg = JSON.parseObject(response.body().toString()).get("resultMsg").toString();
  84. if (SmartlockUtil.resultMsg.equals(resultMsg)) {
  85. List<SlBuild> list = JSON.parseArray(JSON.parseObject(response.body().toString()).get("result").toString(), SlBuild.class);
  86. slBuild = list.get(0);
  87. }
  88. } catch (Exception e) {
  89. logger.error("获取顶级建筑失败:" + e);
  90. }
  91. return slBuild;
  92. }
  93. /**
  94. * 查询房间
  95. *
  96. * @param
  97. * @return
  98. */
  99. public static List<SlRoom> getRoom(SlRoom room) {
  100. SlBuild slBuild = null;
  101. String token = SmartlockUtil.getToken();
  102. List<SlRoom> listRoom = new ArrayList<>();
  103. System.out.println(token);
  104. try {
  105. //获取楼层建筑id
  106. String urlLc = SmartlockUtil.serviceurl + "/build/1/getbuild?buildid=0&page=1&rows=30&token=" + token;
  107. HttpRequest requestLc = SmartlockUtil.httpSendPost(urlLc, "");
  108. HttpResponse responseLc = requestLc.execute();
  109. String str = responseLc.body();
  110. //查询失败直接返回
  111. String resultMsg = JSON.parseObject(str).get("resultMsg").toString();
  112. if (!SmartlockUtil.resultMsg.equals(resultMsg)) {
  113. logger.error("获取楼层建筑id失败:" + resultMsg);
  114. return listRoom;
  115. }
  116. String data = JSON.parseObject(JSON.parseObject(str).get("result").toString()).get("data").toString();
  117. List<SlBuild> listLc = JSON.parseArray(data, SlBuild.class);
  118. System.out.println(listLc.size());
  119. for (SlBuild build : listLc) {
  120. if ("3".equals(build.getBuildtype())) {
  121. slBuild = build;
  122. break;
  123. }
  124. }
  125. //查询房间 不支持条件搜索
  126. String urlroom = SmartlockUtil.serviceurl + "/build/2/getroom?buildid=" + slBuild.getBuildid() + "&page=" + slBuild.getPageNumber() + "&rows=" + slBuild.getPageSize() + "&token=" + token;
  127. HttpRequest requestRoom = SmartlockUtil.httpSendPost(urlroom, "");
  128. HttpResponse response = requestRoom.execute();
  129. String strRoom = response.body();
  130. String dataRoom = JSON.parseObject(JSON.parseObject(strRoom).get("result").toString()).get("data").toString();
  131. listRoom = JSON.parseArray(dataRoom, SlRoom.class);
  132. } catch (Exception e) {
  133. logger.error("查询房间失败:" + e);
  134. }
  135. return listRoom;
  136. }
  137. /**
  138. * 查询用户集合
  139. *
  140. * @param sluser
  141. */
  142. public static List<SlUser> getUser(SlUser sluser) {
  143. List<SlUser> list = new ArrayList<>();
  144. try {
  145. String token = SmartlockUtil.getToken();
  146. //sluser.getSearch() 该查询条件支持:人员编号/人员姓名/手机号检索
  147. String url = SmartlockUtil.serviceurl + "/card/save/8/getcardperson?persontype=1&page=" + sluser.getPageNumber() + "&rows=" + sluser.getPageSize() + "&search=" + sluser.getSearch() + "&token=" + token;
  148. HttpRequest request = SmartlockUtil.httpSendPost(url, "");
  149. HttpResponse response = request.execute();
  150. //查询失败直接返回
  151. String resultMsg = JSON.parseObject(response.body().toString()).get("resultMsg").toString();
  152. if (!SmartlockUtil.resultMsg.equals(resultMsg)) {
  153. logger.error("查询用户集合失败1:" + resultMsg);
  154. return list;
  155. }
  156. String str = response.body();
  157. String data = JSON.parseObject(JSON.parseObject(str).get("result").toString()).get("data").toString();
  158. list = JSON.parseArray(data, SlUser.class);
  159. } catch (Exception e) {
  160. logger.error("查询用户集合失败2:" + e);
  161. }
  162. return list;
  163. }
  164. /**
  165. * 获取房间详情
  166. *
  167. * @param roomId 房间roomid
  168. * 返回参数根据后期需求 扩展,
  169. * @return
  170. */
  171. public static SlLockOnline getRoomDetails(String roomId) {
  172. SlLockOnline lockOnline = new SlLockOnline();
  173. try {
  174. if (StringUtils.isEmpty(roomId)) {
  175. logger.error("获取房间详情失败,参数roomid为空:");
  176. return lockOnline;
  177. }
  178. String token = SmartlockUtil.getToken();
  179. String url = SmartlockUtil.serviceurl + "/lockauth/operate/1/getroominfo?roomid=" + roomId + "&token=" + token;
  180. HttpRequest request = SmartlockUtil.httpSendPost(url, "");
  181. HttpResponse response = request.execute();
  182. //查询失败直接返回
  183. String resultMsg = JSON.parseObject(response.body()).get("resultMsg").toString();
  184. if (!SmartlockUtil.resultMsg.equals(resultMsg)) {
  185. logger.error("获取房间详情失败1:" + resultMsg);
  186. return lockOnline;
  187. }
  188. String str = response.body();
  189. //System.out.println(str);
  190. //在线状态
  191. String roomnetquality = JSON.parseObject(JSON.parseObject(str).get("result").toString()).get("roomnetquality").toString();
  192. //门锁编号
  193. String lockCode = JSON.parseObject(JSON.parseObject(str).get("result").toString()).get("roomcode2").toString();
  194. lockOnline.setOnLine(roomnetquality);
  195. lockOnline.setLockCode(lockCode);
  196. lockOnline.setOnLineStatus("在线".equals(roomnetquality)?1:0);
  197. System.out.println("房间详情,门锁状态 roomnetquality: " + roomnetquality + " lockCode: " + lockCode);
  198. } catch (Exception e) {
  199. logger.error("获取房间详情失败2:" + e);
  200. }
  201. return lockOnline;
  202. }
  203. /***
  204. * 开门记录
  205. * @param openDoorSearch
  206. */
  207. public static List<SlOpenAndClosLog> getOpenDoorLog(SlOpenDoorSearch openDoorSearch) {
  208. List<SlOpenAndClosLog> list = new ArrayList<>();
  209. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  210. try {
  211. String token = SmartlockUtil.getToken();
  212. if (StringUtils.isEmpty(openDoorSearch.getRoomid())) {
  213. logger.error("查询开门记录集合失败,roomid为空:" + resultMsg);
  214. return list;
  215. }
  216. if (StringUtils.isEmpty(openDoorSearch.getRecordtype())) {
  217. //0或空=所有记录,1=报警记录,2=开门记录)
  218. openDoorSearch.setRecordtype("2");
  219. }
  220. String sdate = sdf.format(new Date()) + " 00:00:00";
  221. String edate = sdf.format(new Date()) + " 23:59:59";
  222. //sluser.getSearch() 该查询条件支持:人员编号/人员姓名/手机号检索
  223. String url = SmartlockUtil.serviceurl + "/lockauth/operate/2/getlockinfo?persontype=1&page=" + openDoorSearch.getPageNumber() + "&rows=" + openDoorSearch.getPageSize() +
  224. "&roomid=" + openDoorSearch.getRoomid() + "&token=" + token + "&recordtype=" + openDoorSearch.getRecordtype()
  225. + "&search=" + openDoorSearch.getSearch() + "&sdate=" + sdate + "&edate=" + edate;
  226. HttpRequest request = SmartlockUtil.httpSendPost(url, "");
  227. HttpResponse response = request.execute();
  228. System.out.println(response.body());
  229. //查询失败直接返回
  230. String resultMsg = JSON.parseObject(response.body()).get("resultMsg").toString();
  231. if (!SmartlockUtil.resultMsg.equals(resultMsg)) {
  232. logger.error("查询开门记录集合失败1:" + resultMsg);
  233. return list;
  234. }
  235. String str = response.body();
  236. String data = JSON.parseObject(JSON.parseObject(str).get("result").toString()).get("data").toString();
  237. list = JSON.parseArray(data, SlOpenAndClosLog.class);
  238. } catch (Exception e) {
  239. logger.error("查询开门记录集合失败2:" + e);
  240. }
  241. return list;
  242. }
  243. /**
  244. * 获取组织信息
  245. *
  246. * @param group
  247. */
  248. public static List<SlGroup> getGroup(SlGroup group) {
  249. List<SlGroup> list = new ArrayList<>();
  250. String token = SmartlockUtil.getToken();
  251. try {
  252. String url = SmartlockUtil.serviceurl + "/group/1/getgroup?&token=" + token
  253. + "&page=" + group.getPageNumber() + "&rows=" + group.getPageSize() + "&pgfatherid=0";
  254. HttpRequest request = SmartlockUtil.httpSendPost(url, "");
  255. HttpResponse response = request.execute();
  256. //查询失败直接返回
  257. String resultMsg = JSON.parseObject(response.body()).get("resultMsg").toString();
  258. if (!SmartlockUtil.resultMsg.equals(resultMsg)) {
  259. logger.error("查询开门记录集合失败1:" + resultMsg);
  260. return list;
  261. }
  262. String str = response.body();
  263. String data = JSON.parseObject(JSON.parseObject(str).get("result").toString()).get("data").toString();
  264. list = JSON.parseArray(data, SlGroup.class);
  265. } catch (Exception e) {
  266. logger.error("查询组织信息失败:" + e);
  267. }
  268. return list;
  269. }
  270. /***
  271. * 添加人员并且办理入住
  272. * 返回操作状态
  273. */
  274. public static Map<String, Object> addUser(SlUser user, String roomId) {
  275. List<SlGroup> listgroup = getGroup(new SlGroup());
  276. Map<String, Object> map = new HashMap<>();
  277. try {
  278. //获取组织id
  279. String pgid = listgroup.get(0).getPgid();
  280. String token = SmartlockUtil.getToken();
  281. /*roomId="109";
  282. user.setPersoncode("C016");//学号、工号
  283. user.setPersonname("姓名016");//姓名
  284. user.setPersonsex("1");//性别 (0=女,1=男)
  285. user.setPersontype("1");//人员类别(1=学生,2=教职工,3=临时人员
  286. user.setPersonmobile("13039856924");//电话*/
  287. //查询人员是否存在
  288. Boolean flg = checkUserExis(user.getPersoncode(), "1", token);
  289. if (!flg) {
  290. //新增人员
  291. String url = SmartlockUtil.serviceurl + "/person/save/1/saveperson?" +
  292. "personcode=" + user.getPersoncode() + "&personname=" + user.getPersonname() + "&personsex=" + user.getPersonsex() +
  293. "&personmobile=" + user.getPersonmobile() + "&persontype=" + user.getPersontype() + "&pgid=" + pgid + "&token=" + token;
  294. HttpRequest request = SmartlockUtil.httpSendPost(url, "");
  295. HttpResponse response = request.execute();
  296. System.out.println(response.body());
  297. //查询失败直接返回
  298. String resultMsg = JSON.parseObject(response.body().toString()).get("resultMsg").toString();
  299. System.out.println(resultMsg);
  300. if (!SmartlockUtil.resultMsg.equals(resultMsg)) {
  301. logger.error("人员添加失败1:" + resultMsg);
  302. map.put("resultMsg", resultMsg);
  303. return map;
  304. }
  305. //添加授权
  306. map = addUserAuths(token, user.getPersoncode(), roomId);
  307. } else {
  308. //查询用户是否存在授权
  309. String authis = checkUserAuthExis(user.getPersoncode(), token);
  310. if (StringUtils.isNotEmpty(authis)) {
  311. //修改授权
  312. map = updateAuths(token, roomId, Integer.valueOf(authis));
  313. } else {
  314. //添加授权
  315. map = addUserAuths(token, user.getPersoncode(), roomId);
  316. }
  317. }
  318. //操作结果
  319. map.put("resultMsg", resultMsg);
  320. } catch (Exception e) {
  321. logger.error("添加人员并且办理入住异常:" + e);
  322. }
  323. return map;
  324. }
  325. /***
  326. * 修改用户授权
  327. * @param token
  328. * @param roomId
  329. * @param authid
  330. */
  331. public static Map<String, Object> updateAuths(String token, String roomId, Integer authid) {
  332. Map<String, Object> map = new HashMap<>();
  333. try {
  334. List<SlupdateAuths> list = new ArrayList<>();
  335. SlupdateAuths slupdateAuths = new SlupdateAuths();
  336. slupdateAuths.setAuthid(authid);
  337. slupdateAuths.setRctype(3);
  338. list.add(slupdateAuths);
  339. //授权开始日期
  340. String empsdate =sdf.format(new Date());
  341. //授权结束日期
  342. String empedate = sdf.format(getTime(authsLength));
  343. String pw = getRandom(6);
  344. String url2 = SmartlockUtil.serviceurl + "/lockauth/operate/7/updateauths?token=" + token + "&roomid=" + roomId + "&password=" + pw
  345. +"&empsdate="+empsdate+"&empedate="+empedate;
  346. HttpRequest request2 = SmartlockUtil.httpSendPost(url2, JSONObject.toJSONString(list));
  347. HttpResponse response2 = request2.execute();
  348. String resultMsg = JSON.parseObject(response2.body()).get("resultMsg").toString();
  349. logger.info("用户申请修改:"+response2.body());
  350. System.out.println(response2.body());
  351. logger.info("用户密码:"+pw);
  352. System.out.println(pw);
  353. map.put("password", pw);
  354. map.put("resultMsg", resultMsg);
  355. } catch (Exception e) {
  356. logger.error("修改用户授权失败" + e);
  357. System.out.println("修改用户授权失败:" + resultMsg);
  358. }
  359. return map;
  360. }
  361. /**
  362. * 添加授权
  363. *
  364. * @param token
  365. * @param personcode
  366. * @param roomId
  367. * @return
  368. */
  369. public static Map<String, Object> addUserAuths(String token, String personcode, String roomId) {
  370. Map<String, Object> map = new HashMap<>();
  371. try {
  372. //入住办理
  373. JSONObject json = new JSONObject();
  374. String pw = getRandom(6);
  375. System.out.println(pw);
  376. List<SlPostUser> postlist = new ArrayList<>();
  377. SlPostUser postUser = new SlPostUser();
  378. postUser.setPersoncode(personcode);//学号、工号
  379. postUser.setIssendface("1");//是否下发人脸(1是,0否)
  380. postUser.setIssendfinger("1");//是否下发指纹(1是,0否)
  381. postUser.setIssendpass("1");//是否下发密码(1是,0否)
  382. postUser.setManagertype(0);//权限类型(1管理权限,0使用权限,管理权限不占用入住人数)
  383. postUser.setPassword(pw);//6位数字密码(不允许连续数字或连续三个及以上相同数字)
  384. postUser.setEmpsdate(sdf.format(new Date()));//授权开始时间
  385. postUser.setEmpedate(sdf.format(getTime(authsLength))); //授权结束时间,当前时间加1小时
  386. postlist.add(postUser);
  387. System.out.println("开始时间:" + sdf.format(new Date()) + "结束时间:" + sdf.format(getTime(1)));
  388. //将对象转为json
  389. //JSONObject jsonStr = JSON.parseObject(JSONObject.toJSONString( postlist ));
  390. String url2 = SmartlockUtil.serviceurl + "/lockauth/save/4/saveauths?token=" + token + "&roomid=" + roomId;
  391. HttpRequest request2 = SmartlockUtil.httpSendPost(url2, JSONObject.toJSONString(postlist));
  392. HttpResponse response2 = request2.execute();
  393. System.out.println(response2.body());
  394. //查询失败直接返回
  395. if (!SmartlockUtil.resultMsg.equals(resultMsg)) {
  396. logger.error("人员添加后办理入住失败1:" + resultMsg);
  397. map.put("resultMsg", resultMsg);
  398. return map;
  399. }
  400. //密码
  401. map.put("password", pw);
  402. } catch (Exception e) {
  403. }
  404. return map;
  405. }
  406. /***
  407. * 入住-授权
  408. * @param user 用户参数
  409. * @param roomId 房间id
  410. * @return
  411. */
  412. public static void AuthCheckInTest(SlUser user, String roomId) {
  413. List<SlGroup> listgroup = getGroup(new SlGroup());
  414. Map<String, Object> map = new HashMap<>();
  415. String token = SmartlockUtil.getToken();
  416. roomId = "109";
  417. //获取组织id
  418. String pgid = listgroup.get(0).getPgid();
  419. //roomId="109";
  420. user.setPersoncode("C010");//学号、工号
  421. user.setPersonname("姓名c10");//姓名
  422. user.setPersonsex("1");//性别 (0=女,1=男)
  423. user.setPersontype("1");//人员类别(1=学生,2=教职工,3=临时人员)
  424. //查询人员是否存在
  425. Boolean flg = checkUserExis(user.getPersoncode(), "1", token);
  426. if (!flg) {
  427. String url = SmartlockUtil.serviceurl + "/person/save/1/saveperson?" +
  428. "personcode=" + user.getPersoncode() + "&personname=" + user.getPersonname() + "&personsex=" + user.getPersonsex() +
  429. "&persontype=" + user.getPersontype() + "&pgid=" + pgid + "&token=" + token;
  430. HttpRequest request = SmartlockUtil.httpSendPost(url, "");
  431. HttpResponse response = request.execute();
  432. System.out.println(response.body());
  433. //查询失败直接返回
  434. String resultMsg = JSON.parseObject(response.body().toString()).get("resultMsg").toString();
  435. System.out.println(resultMsg);
  436. if (!SmartlockUtil.resultMsg.equals(resultMsg)) {
  437. logger.error("人员添加失败1:" + resultMsg);
  438. map.put("resultMsg", resultMsg);
  439. }
  440. }
  441. //入住办理
  442. String pw = getRandom(6);
  443. System.out.println(pw);
  444. List<SlPostUser> postlist = new ArrayList<>();
  445. SlPostUser postUser = new SlPostUser();
  446. postUser.setPersoncode("C010");//学号、工号
  447. postUser.setIssendface("1");//是否下发人脸(1是,0否)
  448. postUser.setIssendfinger("1");//是否下发指纹(1是,0否)
  449. postUser.setIssendpass("1");//是否下发密码(1是,0否)
  450. postUser.setManagertype(1);//权限类型(1管理权限,0使用权限,管理权限不占用入住人数)
  451. postUser.setPassword(pw);//6位数字密码(不允许连续数字或连续三个及以上相同数字)
  452. postUser.setRoomid(roomId);
  453. postUser.setEmpsdate(sdf.format(new Date()));//授权开始时间
  454. postUser.setEmpedate(sdf.format(getTime(1))); //授权结束时间,当前时间加1小时
  455. postlist.add(postUser);
  456. //将对象转为json
  457. //JSONObject jsonStr = JSON.parseObject(JSONObject.toJSONString( postlist ));
  458. String url2 = SmartlockUtil.serviceurl + "/lockauth/operate/9/batchauths?token=" + token;
  459. HttpRequest request2 = SmartlockUtil.httpSendPost(url2, JSONObject.toJSONString(postlist));
  460. HttpResponse response2 = request2.execute();
  461. System.out.println(response2.body());
  462. //查询失败直接返回
  463. if (!SmartlockUtil.resultMsg.equals(resultMsg)) {
  464. logger.error("人员添加后办理入住失败1:" + resultMsg);
  465. map.put("resultMsg", resultMsg);
  466. }
  467. //密码
  468. map.put("password", pw);
  469. //操作结果
  470. map.put("resultMsg", resultMsg);
  471. }
  472. /***
  473. * 查询人员是否存在
  474. * @param personcode 人员编码
  475. * @param cardtype 1(学生卡)/2(职工卡)/3(管理卡)/6(临时卡)/7(身份证)
  476. */
  477. public static Boolean checkUserExis(String personcode, String cardtype, String token) {
  478. Boolean flg = false;
  479. //String token = SmartlockUtil.getToken();
  480. String urlexis = SmartlockUtil.serviceurl + "/card/save/8/getcardperson?token=" + token + "&cardtype=" + cardtype + "&page=1&rows=20&search=" + personcode;
  481. HttpRequest requestexis = SmartlockUtil.httpSendPost(urlexis, "");
  482. HttpResponse responseexis = requestexis.execute();
  483. System.out.println(responseexis.body());
  484. String data = JSON.parseObject(JSON.parseObject(responseexis.body()).get("result").toString()).get("data").toString();
  485. JSONArray array = JSON.parseArray(data);
  486. if (array.size() > 0) {
  487. flg = true;
  488. }
  489. return flg;
  490. }
  491. /***
  492. * 查询用户是否存在授权
  493. * @param personcode
  494. * @return
  495. */
  496. public static String checkUserAuthExis(String personcode, String token) {
  497. String authid = null;
  498. //查询用户授权信息
  499. //String token = SmartlockUtil.getToken();
  500. String urlauth = SmartlockUtil.serviceurl + "/person/2/getpersonauth?" +
  501. "personcode=" + personcode + "&page=1" + "&rows=50&token=" + token;
  502. HttpRequest requestauth = SmartlockUtil.httpSendPost(urlauth, "");
  503. HttpResponse responseauth = requestauth.execute();
  504. System.out.println(responseauth.body());
  505. String data = JSON.parseObject(JSON.parseObject(responseauth.body()).get("result").toString()).get("data").toString();
  506. JSONArray array = JSON.parseArray(data);
  507. for (int i = 0; i < array.size(); i++) {
  508. System.out.println(array.get(i) + "");
  509. String empedate = JSON.parseObject(array.get(i).toString()).get("empedate").toString();
  510. String authtype = JSON.parseObject(array.get(i).toString()).get("authtype").toString();
  511. if ("3".equals(authtype)) {
  512. authid = JSON.parseObject(array.get(i).toString()).get("authid").toString();
  513. break;
  514. }
  515. }
  516. return authid;
  517. }
  518. /**
  519. * 当前时间加 N 小时
  520. *
  521. * @param num
  522. * @return
  523. */
  524. public static Date getTime(int num) {
  525. Calendar cal = Calendar.getInstance();
  526. cal.setTime(new Date());
  527. cal.add(Calendar.HOUR, num);
  528. return cal.getTime();
  529. }
  530. /**
  531. * 获取6位随机数
  532. *
  533. * @param length
  534. * @return
  535. */
  536. public static String getRandom(int length) {
  537. String val = "";
  538. Random random = new Random();
  539. for (int i = 0; i < length; i++) {
  540. val += String.valueOf(random.nextInt(10));
  541. }
  542. return val;
  543. }
  544. public static void main(String[] args) {
  545. //getTopBuild();//获取顶级建筑
  546. /*List<SlRoom> listRoom = getRoom( new SlRoom());
  547. System.out.println(listRoom.size());
  548. for (SlRoom slroom:listRoom ) {
  549. System.out.println(slroom.getRoomid()+"== "+slroom.getRoomcode());
  550. }*/
  551. /*List<SlUser> listUser = getUser(new SlUser());
  552. for (SlUser user:listUser ) {
  553. System.out.println(user.getPersoncode()+"== "+user.getPersonname());
  554. }*/
  555. //getRoomDetails("109");
  556. /* SlOpenDoorSearch search = new SlOpenDoorSearch();
  557. search.setRoomid("109");
  558. List<SlOpenAndClosLog> list = getOpenDoorLog(search);
  559. for (SlOpenAndClosLog oplog:list) {
  560. System.out.println(oplog.getPersonname()+"=="+oplog.getUnlockingtype()+" =="+oplog.getUnlockingdate());
  561. }*/
  562. //getGroup(new SlGroup());
  563. //addUser(new SlUser() , "");
  564. // AuthCheckIn(new SlUser() , "");
  565. //addUser(new SlUser() , "");
  566. // System.out.println(checkUserExis("C008","1"));
  567. //String token = SmartlockUtil.getToken();
  568. //updateAuths( token,"109", 32);
  569. //getRoomDetails("109");
  570. //System.out.println(getRandom(6));
  571. }
  572. }