浏览代码

活动信息调整

dzx 1 年之前
父节点
当前提交
5356957b09

+ 36 - 2
src/main/java/com/xjrsoft/module/activity/controller/ActivityInfoController.java

@@ -1,7 +1,11 @@
 package com.xjrsoft.module.activity.controller;
 
+import camundajar.impl.com.google.gson.JsonArray;
+import camundajar.impl.com.google.gson.JsonElement;
+import camundajar.impl.com.google.gson.JsonParser;
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xjrsoft.common.exception.MyException;
 import com.xjrsoft.common.model.result.RT;
@@ -16,11 +20,15 @@ import com.xjrsoft.module.activity.entity.ActivityInfo;
 import com.xjrsoft.module.activity.service.IActivityEnrollService;
 import com.xjrsoft.module.activity.service.IActivityInfoService;
 import com.xjrsoft.module.activity.vo.ActivityEnrollPageVo;
+import com.xjrsoft.module.activity.vo.ActivityEnrollRangeVo;
 import com.xjrsoft.module.activity.vo.ActivityInfoPageVo;
 import com.xjrsoft.module.activity.vo.ActivityInfoVo;
+import com.xjrsoft.module.base.entity.BaseClass;
 import com.xjrsoft.module.base.service.IBaseClassService;
 import com.xjrsoft.module.concat.service.IXjrUserService;
+import com.xjrsoft.module.organization.entity.Department;
 import com.xjrsoft.module.organization.service.IDepartmentService;
+import com.xjrsoft.module.teacher.entity.XjrUser;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
@@ -34,6 +42,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
 import java.util.stream.Collectors;
@@ -77,10 +86,35 @@ public class ActivityInfoController {
         if (activityInfo == null) {
            return RT.error("找不到此数据!");
         }
+        ActivityInfoVo infoVo = BeanUtil.toBean(activityInfo, ActivityInfoVo.class);
         if(activityInfo.getEnrollRange() != null && !"".equals(activityInfo.getEnrollRange())){
-
+            JsonParser parser = new JsonParser();
+            JsonArray asJsonArray = parser.parse(activityInfo.getEnrollRange()).getAsJsonArray();
+            List<ActivityEnrollRangeVo> userRelationList = new ArrayList<>();
+            for (JsonElement jsonElement : asJsonArray) {
+                ActivityEnrollRangeVo relationDto = JSONUtil.toBean(jsonElement.getAsJsonObject().toString(), 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());
+                    }
+                }
+                userRelationList.add(relationDto);
+            }
+            infoVo.setActivityEnrollRangeList(userRelationList);
         }
-        ActivityInfoVo infoVo = BeanUtil.toBean(activityInfo, ActivityInfoVo.class);
+
         ActivityEnrollPageDto dto = new ActivityEnrollPageDto();
         dto.setActivityInfoId(id);
         List<ActivityEnrollPageVo> enrollList = enrollService.getList(dto);

+ 4 - 0
src/main/java/com/xjrsoft/module/activity/vo/ActivityEnrollRangeVo.java

@@ -39,5 +39,9 @@ public class ActivityEnrollRangeVo {
     private Long activityInfoId;
 
 
+    @ApiModelProperty("名称")
+    private String name;
+
+
 
 }

+ 2 - 2
src/main/resources/mapper/activity/ActivityEnrollMapper.xml

@@ -4,7 +4,7 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.xjrsoft.module.activity.mapper.ActivityEnrollMapper">
     <select id="getPage" parameterType="com.xjrsoft.module.activity.dto.ActivityEnrollPageDto" resultType="com.xjrsoft.module.activity.vo.ActivityEnrollPageVo">
-        SELECT t1.id,t1.status,t2.name,t1.create_date,t2.user_name,t1.mobile,t3.role_id FROM activity_enroll t1
+        SELECT t1.id,t1.status,t2.name,t1.create_date,t2.user_name,t2.mobile,t3.role_id FROM activity_enroll t1
         INNER JOIN xjr_user t2 ON t1.user_id = t2.id
         LEFT JOIN xjr_user_role_relation t3 ON t3.user_id = t2.id
         WHERE t1.delete_mark = 0 AND t1.activity_info_id = #{dto.activityInfoId}
@@ -14,7 +14,7 @@
     </select>
 
     <select id="getList" parameterType="com.xjrsoft.module.activity.dto.ActivityEnrollPageDto" resultType="com.xjrsoft.module.activity.vo.ActivityEnrollPageVo">
-        SELECT t1.id,t1.status,t2.name,t1.create_date,t2.user_name,t1.mobile,t3.role_id FROM activity_enroll t1
+        SELECT t1.id,t1.status,t2.name,t1.create_date,t2.user_name,t2.mobile,t3.role_id FROM activity_enroll t1
         INNER JOIN xjr_user t2 ON t1.user_id = t2.id
         LEFT JOIN xjr_user_role_relation t3 ON t3.user_id = t2.id
         WHERE t1.delete_mark = 0 AND t1.activity_info_id = #{dto.activityInfoId}

+ 2 - 2
src/main/resources/sqlScript/20240718_sql.sql

@@ -313,8 +313,8 @@ CREATE TABLE `activity_enroll` (
   `delete_mark` INT DEFAULT NULL COMMENT '删除标记',
   `enabled_mark` INT DEFAULT NULL COMMENT '有效标记',
   activity_info_id BIGINT DEFAULT NULL COMMENT '活动(activity_info)',
-  user_id DATETIME DEFAULT NULL COMMENT '参与人(xjr_user)',
-  STATUS INT DEFAULT 0 COMMENT '状态(0:待确认 1:未参与 2:已参与)',
+  user_id BIGINT DEFAULT NULL COMMENT '参与人(xjr_user)',
+  `status` INT DEFAULT 0 COMMENT '状态(0:待确认 1:未参与 2:已参与)',
   PRIMARY KEY (`id`)
 ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='活动登记表';