Browse Source

学生请假功能实现

dzx 1 năm trước cách đây
mục cha
commit
55538d2217

+ 37 - 2
src/main/java/com/xjrsoft/module/student/service/impl/StudentLeaveServiceImpl.java

@@ -3,7 +3,9 @@ package com.xjrsoft.module.student.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.google.gson.JsonArray;
+import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
 import com.xjrsoft.module.hikvision.entity.HikvisionData;
 import com.xjrsoft.module.hikvision.mapper.HikvisionDataMapper;
 import com.xjrsoft.module.hikvision.util.ApiUtil;
@@ -42,8 +44,8 @@ public class StudentLeaveServiceImpl extends MPJBaseServiceImpl<StudentLeaveMapp
         ApiUtil apiUtil = new ApiUtil();
         String apiPath = "/api/acps/v1/auth_config/add";
 
-//        String outputFormat = "yyyy-MM-dd'T'HH:mm:ss+08:00";
-        DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
+        String outputFormat = "yyyy-MM-dd'T'HH:mm:ss+08:00";
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern(outputFormat);
         JsonObject paramJson = new JsonObject();
 
         paramJson.addProperty("startTime", studentLeave.getStartDate().atStartOfDay().format(formatter));
@@ -61,6 +63,9 @@ public class StudentLeaveServiceImpl extends MPJBaseServiceImpl<StudentLeaveMapp
         personDatas.add(personData);
         paramJson.add("personDatas", personDatas);
 
+        JsonArray resourceInfos = selectResource(apiUtil);
+        paramJson.add("resourceInfos", resourceInfos);
+
         Map<String, String> header = new HashMap<>();
         header.put("tagId", "studentleave");
         //调用接口获取到返回内容,并将其存到数据库中
@@ -69,4 +74,34 @@ public class StudentLeaveServiceImpl extends MPJBaseServiceImpl<StudentLeaveMapp
         this.updateById(studentLeave);
         return true;
     }
+
+    JsonArray selectResource(ApiUtil apiUtil){
+        String apiPath = "/api/irds/v2/resource/resourcesByParams";
+        JsonObject jsonObject = new JsonObject();
+        jsonObject.addProperty("pageNo", 1);
+        jsonObject.addProperty("pageSize", 500);
+        jsonObject.addProperty("resourceType", "door");
+
+
+        String result = apiUtil.doPost(apiPath, jsonObject.toString(), null, null);
+        JsonParser parser = new JsonParser();
+        JsonObject resultJson = parser.parse(result).getAsJsonObject();
+        JsonArray resourceInfos = new JsonArray();
+
+        if("0".equals(resultJson.get("code").getAsString()) && "success".equals(resultJson.get("msg").getAsString())){
+            JsonArray list = resultJson.get("data").getAsJsonObject().get("list").getAsJsonArray();
+            for (JsonElement jsonElement : list) {
+                JsonObject listOne = jsonElement.getAsJsonObject();
+                JsonObject resourceInfo = new JsonObject();
+                resourceInfo.add("resourceIndexCode", listOne.get("indexCode"));
+                resourceInfo.add("resourceType", listOne.get("resourceType"));
+                JsonArray channelNos = new JsonArray();
+                channelNos.add(listOne.get("channelNo"));
+                resourceInfo.add("channelNos", channelNos);
+                resourceInfos.add(resourceInfo);
+            }
+        }
+
+        return resourceInfos;
+    }
 }

+ 4 - 4
src/test/java/com/xjrsoft/module/job/HikvisionBaseDataTaskTest.java

@@ -86,9 +86,9 @@ class HikvisionBaseDataTaskTest {
 //        Map<String, String> classes = dataUtil.insertClass(use, tableName, baseClass);
 
 
-        tableName = "base_student";
-        Map<String, String> baseStudent = dataMap.get(tableName);
-        Map<String, String> student = dataUtil.insertStudentOne(use, tableName, baseStudent);
+//        tableName = "base_student";
+//        Map<String, String> baseStudent = dataMap.get(tableName);
+//        Map<String, String> student = dataUtil.insertStudentOne(use, tableName, baseStudent);
 
 //        selectOrg(use, "base_class");
 
@@ -98,7 +98,7 @@ class HikvisionBaseDataTaskTest {
 
 
 //        selecAllPersonById(use);
-
+        selectResource(use);
     }
 
     public static void selectCar(Db db, String tableName) throws SQLException {