Jelajahi Sumber

Merge branch 'pre'

dzx 1 tahun lalu
induk
melakukan
a015e5b017

+ 71 - 53
src/main/java/com/xjrsoft/module/activity/controller/ActivityInfoController.java

@@ -55,7 +55,10 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -95,72 +98,87 @@ public class ActivityInfoController {
     @GetMapping(value = "/info")
     @ApiOperation(value="根据id查询活动信息信息")
     @SaCheckPermission("activityinfo:detail")
-    public RT<ActivityInfoVo> info(@RequestParam Long id){
-        ActivityInfo activityInfo = activityInfoService.getByIdDeep(id);
-        if (activityInfo == null) {
-           return RT.error("找不到此数据!");
-        }
-        ActivityInfoVo infoVo = BeanUtil.toBean(activityInfo, ActivityInfoVo.class);
-        if(infoVo.getOrgId() != null){
-            Department department = departmentService.getById(infoVo.getOrgId());
-            if(department != null){
-                infoVo.setOrgName(department.getName());
+    public RT<ActivityInfoVo> info(@RequestParam Long id, Integer category){
+        ActivityInfoVo infoVo = null;
+        if(category != null && (category == 1 || category == 2)){
+            ActivityInfo activityInfo = activityInfoService.getByIdDeep(id);
+            if (activityInfo == null) {
+                return RT.error("找不到此数据!");
             }
-        }
-        if(infoVo.getEnterpriseId() != null){
-            String tableName = "company_coop";
-            Entity where = Entity.create(tableName);
-            where.set("id", infoVo.getEnterpriseId());
-            Map<String, Object> objectMap = SqlRunnerAdapter.db().dynamicSelectOne(tableName, where);
+            infoVo = BeanUtil.toBean(activityInfo, ActivityInfoVo.class);
+            if(infoVo.getOrgId() != null){
+                Department department = departmentService.getById(infoVo.getOrgId());
+                if(department != null){
+                    infoVo.setOrgName(department.getName());
+                }
+            }
+            if(infoVo.getEnterpriseId() != null){
+                String tableName = "company_coop";
+                Entity where = Entity.create(tableName);
+                where.set("id", infoVo.getEnterpriseId());
+                Map<String, Object> objectMap = SqlRunnerAdapter.db().dynamicSelectOne(tableName, where);
 
-            if(objectMap != null && objectMap.containsKey("company_name")){
-                infoVo.setEnterpriseName(objectMap.get("company_name").toString());
+                if(objectMap != null && objectMap.containsKey("company_name")){
+                    infoVo.setEnterpriseName(objectMap.get("company_name").toString());
+                }
             }
-        }
 
-        List<ActivityEnrollRangeVo> userRelationList = new ArrayList<>();
-        if(activityInfo.getEnrollRange() != null && !activityInfo.getEnrollRange().isEmpty()){
-            JSONArray asJsonArray = JSONUtil.parseArray(activityInfo.getEnrollRange());
-            for (Object jsonElement : asJsonArray) {
-                ActivityEnrollRangeVo relationDto = JSONUtil.toBean(JSONUtil.parseObj(jsonElement), ActivityEnrollRangeVo.class);
-                if(relationDto.getUserId() != null){
-                    XjrUser xjrUser = xjrUserService.getById(relationDto.getUserId());
-                    if(xjrUser != null){
-                        relationDto.setName(xjrUser.getName());
-                    }
-                }else if(relationDto.getDeptId() != null){
-                    Department department = departmentService.getById(relationDto.getDeptId());
-                    if(department != null){
-                        relationDto.setName(department.getName());
-                    }
+            List<ActivityEnrollRangeVo> userRelationList = new ArrayList<>();
+            if(activityInfo.getEnrollRange() != null && !activityInfo.getEnrollRange().isEmpty()){
+                JSONArray asJsonArray = JSONUtil.parseArray(activityInfo.getEnrollRange());
+                for (Object jsonElement : asJsonArray) {
+                    ActivityEnrollRangeVo relationDto = JSONUtil.toBean(JSONUtil.parseObj(jsonElement), ActivityEnrollRangeVo.class);
+                    if(relationDto.getUserId() != null){
+                        XjrUser xjrUser = xjrUserService.getById(relationDto.getUserId());
+                        if(xjrUser != null){
+                            relationDto.setName(xjrUser.getName());
+                        }
+                    }else if(relationDto.getDeptId() != null){
+                        Department department = departmentService.getById(relationDto.getDeptId());
+                        if(department != null){
+                            relationDto.setName(department.getName());
+                        }
 
-                }else if(relationDto.getClassId() != null){
-                    BaseClass aClass = classService.getById(relationDto.getClassId());
-                    if(aClass != null){
-                        relationDto.setName(aClass.getName());
+                    }else if(relationDto.getClassId() != null){
+                        BaseClass aClass = classService.getById(relationDto.getClassId());
+                        if(aClass != null){
+                            relationDto.setName(aClass.getName());
+                        }
                     }
+                    userRelationList.add(relationDto);
                 }
-                userRelationList.add(relationDto);
             }
-        }
-        infoVo.setActivityEnrollRangeList(userRelationList);
+            infoVo.setActivityEnrollRangeList(userRelationList);
+
+            ActivityEnrollExportDto dto = new ActivityEnrollExportDto();
+            dto.setActivityInfoId(id);
+            List<ActivityEnrollPageVo> enrollList = enrollService.getList(dto);
+            infoVo.setEnrollCount(enrollList.size());
 
-        ActivityEnrollExportDto dto = new ActivityEnrollExportDto();
-        dto.setActivityInfoId(id);
-        List<ActivityEnrollPageVo> enrollList = enrollService.getList(dto);
-        infoVo.setEnrollCount(enrollList.size());
+            Set<ActivityEnrollPageVo> teacherSet = enrollList.stream().filter(x -> x.getTeacherId() != null).collect(Collectors.toSet());
+            infoVo.setTeacherCount(teacherSet.size());
 
-        Set<ActivityEnrollPageVo> teacherSet = enrollList.stream().filter(x -> x.getTeacherId() != null).collect(Collectors.toSet());
-        infoVo.setTeacherCount(teacherSet.size());
+            Set<ActivityEnrollPageVo> studentSet = enrollList.stream().filter(x -> x.getStudentId() != null).collect(Collectors.toSet());
+            infoVo.setStudentCount(studentSet.size());
 
-        Set<ActivityEnrollPageVo> studentSet = enrollList.stream().filter(x -> x.getStudentId() != null).collect(Collectors.toSet());
-        infoVo.setStudentCount(studentSet.size());
+            Set<ActivityEnrollPageVo> suretSet = enrollList.stream().filter(x -> (x.getStatus() == 1 || x.getStatus() == 2)).collect(Collectors.toSet());
+            infoVo.setSureCount(suretSet.size());
 
-        Set<ActivityEnrollPageVo> suretSet = enrollList.stream().filter(x -> (x.getStatus() == 1 || x.getStatus() == 2)).collect(Collectors.toSet());
-        infoVo.setSureCount(suretSet.size());
+            Set<ActivityEnrollPageVo> notSuretSet = enrollList.stream().filter(x -> x.getStatus() == 0).collect(Collectors.toSet());
+            infoVo.setNotSureCount(notSuretSet.size());
+        }else if(category != null && category == 3){
+            String tableName = "club_activities";
+            Entity where = Entity.create(tableName);
+            where.set("id", id);
+            Map<String, Object> objectMap = SqlRunnerAdapter.db().dynamicSelectOne(tableName, where);
+            infoVo = new ActivityInfoVo();
+            infoVo.setName(objectMap.get("club_activities_name").toString());
+            infoVo.setContent(objectMap.get("club_activities_content").toString());
+            infoVo.setStartDate(Date.from(((LocalDateTime)objectMap.get("start_time")).atZone(ZoneId.systemDefault()).toInstant()));
+            infoVo.setEndDate(Date.from(((LocalDateTime)objectMap.get("end_time")).atZone(ZoneId.systemDefault()).toInstant()));
+            infoVo.setPlace(objectMap.get("activity_location").toString());
+        }
 
-        Set<ActivityEnrollPageVo> notSuretSet = enrollList.stream().filter(x -> x.getStatus() == 0).collect(Collectors.toSet());
-        infoVo.setNotSureCount(notSuretSet.size());
         return RT.ok(infoVo);
     }
 

+ 3 - 2
src/main/java/com/xjrsoft/module/job/AttenDanceWarnNoticeTask.java

@@ -22,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
+import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoUnit;
@@ -197,11 +198,11 @@ public class AttenDanceWarnNoticeTask {
             weChatService.sendTemplateMessage(weChatSendMessageDto);
 
         }
-
+        SimpleDateFormat sdf = new SimpleDateFormat();
         String table = "wechat_message_log";
         Entity entity = Entity.create(table);
         entity.set("content", "消息推送人数:" + userList.size());
-        entity.set("create_date", new Date());
+        entity.set("create_date", sdf.format(new Date()));
         entity.set("template_id", wechatTemplate);
         entity.set("send_time", recentlyTime);
         SqlRunnerAdapter.db().dynamicInsert(table, entity);

+ 2 - 2
src/main/java/com/xjrsoft/module/schedule/controller/ScheduleController.java

@@ -154,13 +154,13 @@ public class ScheduleController {
                 CourseTable courseTable = courseTableService.getById(dto.getCourseId());
                 CourseTable swapCourseTable = courseTableService.getById(dto.getSwapCourseId());
                 JsonObject preCheck = getExtendPreCheck(dto, courseTable, swapCourseTable);
-                if(!preCheck.get("data").getAsBoolean()){
+                if(preCheck.get("code").getAsInt() != 0){
                    return RT.error(preCheck.get("msg").getAsString());
                 }
             }else if(dto.getPreCheckType() == 2){
                 CourseTable courseTable = courseTableService.getById(dto.getCourseId());
                 JsonObject jsonObject = substitutePreTestin(dto, courseTable);
-                if(!jsonObject.get("data").getAsBoolean()){
+                if(jsonObject.get("code").getAsInt() != 0){
                     return RT.error(jsonObject.get("msg").getAsString());
                 }
             }

+ 6 - 2
src/main/java/com/xjrsoft/module/schedule/util/DataUtil.java

@@ -85,13 +85,17 @@ public class DataUtil {
             BaseClass baseClass = SqlRunnerAdapterUtil.convertMapToEntity(baseClassMap, BaseClass.class);
             String url  = ScheduleUtil.apiUrl + "class/create";
             JsonObject paramJson = new JsonObject();
-            paramJson.addProperty("teacherSerialNo", teacherMap.get(baseClass.getTeacherId().toString()));
+            if(baseClass.getTeacherId() != null && teacherMap.get(baseClass.getTeacherId().toString()) != null){
+                paramJson.addProperty("teacherSerialNo", teacherMap.get(baseClass.getTeacherId().toString()));
+            }
             paramJson.addProperty("name", baseClass.getName());
 
             paramJson.addProperty("semesterSerialNo", semesterSerialNo);
             paramJson.addProperty("eduYearSerialNo", gradeMap.get(baseClass.getOrgId() + "_" + baseClass.getGradeId().toString()));
             paramJson.addProperty("extendId", baseClass.getId());
-            paramJson.addProperty("classRoomSerialNo", classroomMap.get(baseClass.getClassroomId().toString()));
+            if(baseClass.getClassroomId() != null && classroomMap.get(baseClass.getClassroomId().toString()) != null){
+                paramJson.addProperty("classRoomSerialNo", classroomMap.get(baseClass.getClassroomId().toString()));
+            }
             if(ids != null && ids.get(baseClass.getId().toString()) != null){
                 url  = ScheduleUtil.apiUrl + "class/update";
                 paramJson.addProperty("serialNo", ids.get(baseClass.getId().toString()));

+ 112 - 2
src/test/java/com/xjrsoft/module/job/JianyuekbBaseDataTaskTest.java

@@ -135,9 +135,22 @@ class JianyuekbBaseDataTaskTest {
         JsonParser parser = new JsonParser();
 
 
-        String ids = "[\"CLA000000975\",\"CLA000001011\",\"CLA000000997\",\"CLA000000998\",\"CLA000000999\",\"CLA000001000\",\"CLA000001001\",\"CLA000001002\",\"CLA000001003\",\"CLA000001004\",\"CLA000001005\",\"CLA000000972\",\"CLA000000973\",\"CLA000000974\",\"CLA000000989\",\"CLA000000990\",\"CLA000001007\",\"CLA000001008\",\"CLA000001009\",\"CLA000001010\",\"CLA000001012\",\"CLA000000987\",\"CLA000000988\",\"CLA000000991\",\"CLA000000992\",\"CLA000000993\",\"CLA000000994\",\"CLA000000995\",\"CLA000000980\",\"CLA000000981\",\"CLA000000982\",\"CLA000000983\",\"CLA000000996\",\"CLA000000984\",\"CLA000000985\",\"CLA000000986\",\"CLA000001006\",\"CLA000000977\",\"CLA000000978\",\"CLA000000979\",\"CLA000000976\",\"CLA000001017\",\"CLA000001018\",\"CLA000001057\",\"CLA000001043\",\"CLA000001044\",\"CLA000001045\",\"CLA000001046\",\"CLA000001047\",\"CLA000001048\",\"CLA000001049\",\"CLA000001013\",\"CLA000001014\",\"CLA000001015\",\"CLA000001034\",\"CLA000001052\",\"CLA000001053\",\"CLA000001054\",\"CLA000001055\",\"CLA000001056\",\"CLA000001032\",\"CLA000001033\",\"CLA000001035\",\"CLA000001036\",\"CLA000001037\",\"CLA000001038\",\"CLA000001039\",\"CLA000001040\",\"CLA000001041\",\"CLA000001024\",\"CLA000001025\",\"CLA000001026\",\"CLA000001027\",\"CLA000001028\",\"CLA000001042\",\"CLA000001029\",\"CLA000001030\",\"CLA000001031\",\"CLA000001050\",\"CLA000001051\",\"CLA000001019\",\"CLA000001020\",\"CLA000001021\",\"CLA000001022\",\"CLA000001023\",\"CLA000001016\"]";
 
-        JsonArray paramJson = parser.parse(ids).getAsJsonArray();
+        JsonArray paramJson = new JsonArray();
+        paramJson.add("CLA000001255");paramJson.add("CLA000001253");paramJson.add("CLA000001238");
+        paramJson.add("CLA000001233");paramJson.add("CLA000001234");paramJson.add("CLA000001254");
+        paramJson.add("CLA000001239");paramJson.add("CLA000001235");paramJson.add("CLA000001240");
+        paramJson.add("CLA000001231");paramJson.add("CLA000001219");paramJson.add("CLA000001256");
+        paramJson.add("CLA000001258");paramJson.add("CLA000001245");paramJson.add("CLA000001242");
+        paramJson.add("CLA000001236");paramJson.add("CLA000001222");paramJson.add("CLA000001224");
+        paramJson.add("CLA000001250");paramJson.add("CLA000001257");paramJson.add("CLA000001259");
+        paramJson.add("CLA000001246");paramJson.add("CLA000001247");paramJson.add("CLA000001249");
+        paramJson.add("CLA000001237");paramJson.add("CLA000001223");paramJson.add("CLA000001225");
+        paramJson.add("CLA000001226");paramJson.add("CLA000001227");paramJson.add("CLA000001248");
+        paramJson.add("CLA000001228");paramJson.add("CLA000001229");paramJson.add("CLA000001230");
+        paramJson.add("CLA000001232");paramJson.add("CLA000001220");paramJson.add("CLA000001251");
+        paramJson.add("CLA000001252");paramJson.add("CLA000001241");paramJson.add("CLA000001243");
+        paramJson.add("CLA000001244");paramJson.add("CLA000001221");
 
         System.out.println(paramJson.toString());
         long timestamp = System.currentTimeMillis();
@@ -204,6 +217,9 @@ class JianyuekbBaseDataTaskTest {
             if("48e0a5ae-6d0b-34dd-f31a-3a12feca72d1".equals(jianyueData.getJianyueId())){
                 continue;
             }
+            if(!"1684107782861680016".equals(jianyueData.getSourceId())){
+                continue;
+            }
 
             sql = "select * from base_grade where delete_mark = 0 and status = 1";
             List<BaseGrade> list = use.query(sql, BaseGrade.class);
@@ -309,6 +325,13 @@ class JianyuekbBaseDataTaskTest {
             classroomMap.put(jianyueData.getSourceId(), jianyueData.getJianyueId());
         }
 
+        sql = "SELECT * FROM jianyue_data WHERE table_name = 'base_teacher'";
+        List<JianyueData> teacherList = use.query(sql, JianyueData.class);
+        Map<String, String> teacherMap = new HashMap<>();
+        for (JianyueData jianyueData : teacherList) {
+            teacherMap.put(jianyueData.getSourceId(), jianyueData.getJianyueId());
+        }
+
         url  = ScheduleUtil.apiUrl + "class/update";
         DataUtil dataUtil = new DataUtil();
         String currenSemeter = dataUtil.getCurrenSemeter();
@@ -325,6 +348,87 @@ class JianyuekbBaseDataTaskTest {
             paramJson.addProperty("extendId", baseClass.getId());
             paramJson.addProperty("classRoomSerialNo", classroomMap.get(baseClass.getClassroomId().toString()));
             paramJson.addProperty("serialNo", classMap3.get(baseClass.getId().toString()));
+            paramJson.addProperty("teacherSerialNo", teacherMap.get(baseClass.getTeacherId().toString()));
+
+            timestamp = System.currentTimeMillis();
+            //生成签名
+            sign = ScheduleUtil.createSign(timestamp);
+            String result = ScheduleUtil.doPost(url, paramJson.toString(), sign, timestamp);
+
+            System.out.println(baseClass.getName() + " -> " + result);
+        }
+    }
+
+
+    @Test
+    void updateClass2() throws Exception {
+
+        long timestamp = System.currentTimeMillis();
+        //生成签名
+        String sign = ScheduleUtil.createSign(timestamp);
+
+
+        DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
+        Db use = Db.use(datasource);
+        String sql = "SELECT * FROM jianyue_data WHERE table_name = 'base_grade'";
+        List<JianyueData> gradeList = use.query(sql, JianyueData.class);
+        Map<String, String> gradeMap = new HashMap<>();
+        for (JianyueData jianyueData : gradeList) {
+            gradeMap.put(jianyueData.getSourceId(), jianyueData.getJianyueId());
+        }
+
+        sql = "SELECT * FROM base_class WHERE delete_mark = 0 AND org_id = 1684107782861680016";
+        List<BaseClass> dataList = use.query(sql, BaseClass.class);
+        Map<String, BaseClass> classMap = new HashMap<>();
+        for (BaseClass baseClass : dataList) {
+            classMap.put(baseClass.getId().toString(), baseClass);
+        }
+
+        sql = "SELECT * FROM jianyue_data WHERE table_name = 'base_class'";
+        List<JianyueData> classList = use.query(sql, JianyueData.class);
+        Map<String, BaseClass> classMap2 = new HashMap<>();
+        Map<String, String> classMap3 = new HashMap<>();
+        for (JianyueData jianyueData : classList) {
+            classMap2.put(jianyueData.getJianyueId(), classMap.get(jianyueData.getSourceId()));
+            classMap3.put(jianyueData.getSourceId(), jianyueData.getJianyueId());
+        }
+
+        sql = "SELECT * FROM jianyue_data WHERE table_name = 'base_classroom'";
+        List<JianyueData> classroomList = use.query(sql, JianyueData.class);
+        Map<String, String> classroomMap = new HashMap<>();
+        for (JianyueData jianyueData : classroomList) {
+            classroomMap.put(jianyueData.getSourceId(), jianyueData.getJianyueId());
+        }
+
+        sql = "SELECT * FROM jianyue_data WHERE table_name = 'base_teacher'";
+        List<JianyueData> teacherList = use.query(sql, JianyueData.class);
+        Map<String, String> teacherMap = new HashMap<>();
+        for (JianyueData jianyueData : teacherList) {
+            teacherMap.put(jianyueData.getSourceId(), jianyueData.getJianyueId());
+        }
+
+        String url  = ScheduleUtil.apiUrl + "class/create";
+        DataUtil dataUtil = new DataUtil();
+        String currenSemeter = dataUtil.getCurrenSemeter();
+        Map<String, String> idMap = new HashMap<>();
+        JsonParser jsonParser = new JsonParser();
+        for (BaseClass baseClass : classMap.values()) {
+            if(baseClass == null){
+                continue;
+            }
+            JsonObject paramJson = new JsonObject();
+            paramJson.addProperty("name", baseClass.getName());
+
+            paramJson.addProperty("semesterSerialNo", currenSemeter);
+            paramJson.addProperty("eduYearSerialNo", gradeMap.get(baseClass.getOrgId() + "_" + baseClass.getGradeId().toString()));
+            paramJson.addProperty("extendId", baseClass.getId());
+            if(baseClass.getClassroomId() != null && classroomMap.get(baseClass.getClassroomId().toString()) != null){
+                paramJson.addProperty("classRoomSerialNo", classroomMap.get(baseClass.getClassroomId().toString()));
+            }
+            if(baseClass.getTeacherId() != null && teacherMap.get(baseClass.getTeacherId().toString()) != null){
+                paramJson.addProperty("teacherSerialNo", teacherMap.get(baseClass.getTeacherId().toString()));
+            }
+            paramJson.addProperty("serialNo", classMap3.get(baseClass.getId().toString()));
 
             timestamp = System.currentTimeMillis();
             //生成签名
@@ -332,7 +436,13 @@ class JianyuekbBaseDataTaskTest {
             String result = ScheduleUtil.doPost(url, paramJson.toString(), sign, timestamp);
 
             System.out.println(baseClass.getName() + " -> " + result);
+            if(result == null){
+                continue;
+            }
+            JsonObject resultJson = jsonParser.parse(result).getAsJsonObject();
+            idMap.put(baseClass.getId().toString(), resultJson.get("data").getAsString());
         }
+        dataUtil.insertRecord("base_class", idMap);
     }