Browse Source

活动信息调整

dzx 1 year ago
parent
commit
358fa8ef89

+ 25 - 1
src/main/java/com/xjrsoft/module/activity/controller/ActivityInfoController.java

@@ -7,12 +7,15 @@ import com.xjrsoft.common.exception.MyException;
 import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
+import com.xjrsoft.module.activity.dto.ActivityEnrollPageDto;
 import com.xjrsoft.module.activity.dto.ActivityInfoPageDto;
 import com.xjrsoft.module.activity.dto.AddActivityInfoDto;
 import com.xjrsoft.module.activity.dto.ChangeStatusDto;
 import com.xjrsoft.module.activity.dto.UpdateActivityInfoDto;
 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.ActivityInfoPageVo;
 import com.xjrsoft.module.activity.vo.ActivityInfoVo;
 import com.xjrsoft.module.base.service.IBaseClassService;
@@ -32,6 +35,8 @@ import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
 import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
 
 /**
 * @title: 活动信息
@@ -51,6 +56,8 @@ public class ActivityInfoController {
     private final IDepartmentService departmentService;
     private final IXjrUserService xjrUserService;
 
+    private final IActivityEnrollService enrollService;
+
 
     @GetMapping(value = "/page")
     @ApiOperation(value="活动信息列表(分页)")
@@ -73,7 +80,24 @@ public class ActivityInfoController {
         if(activityInfo.getEnrollRange() != null && !"".equals(activityInfo.getEnrollRange())){
 
         }
-        return RT.ok(BeanUtil.toBean(activityInfo, ActivityInfoVo.class));
+        ActivityInfoVo infoVo = BeanUtil.toBean(activityInfo, ActivityInfoVo.class);
+        ActivityEnrollPageDto dto = new ActivityEnrollPageDto();
+        dto.setActivityInfoId(id);
+        List<ActivityEnrollPageVo> enrollList = enrollService.getList(dto);
+        infoVo.setEnrollCount(enrollList.size());
+
+        Set<ActivityEnrollPageVo> teacherSet = enrollList.stream().filter(x -> x.getRoleId() == 2L).collect(Collectors.toSet());
+        infoVo.setTeacherCount(teacherSet.size());
+
+        Set<ActivityEnrollPageVo> studentSet = enrollList.stream().filter(x -> x.getRoleId() == 3L).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> notSuretSet = enrollList.stream().filter(x -> x.getStatus() == 0).collect(Collectors.toSet());
+        infoVo.setNotSureCount(notSuretSet.size());
+        return RT.ok(infoVo);
     }
 
     @PostMapping(value = "/change-status")

+ 23 - 18
src/main/java/com/xjrsoft/module/activity/service/impl/ActivityEnrollServiceImpl.java

@@ -26,6 +26,7 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.stream.Collectors;
 
 /**
@@ -49,10 +50,10 @@ public class ActivityEnrollServiceImpl extends MPJBaseServiceImpl<ActivityEnroll
                             .eq(ActivityEnroll::getDeleteMark, DeleteMark.NODELETE.getCode())
             );
             Date createDate = new Date();
-            Map<Long, ActivityEnroll> existMap = existList.stream().collect(Collectors.toMap(ActivityEnroll::getUserId, x -> x));
+            Set<Long> existUserId = existList.stream().map(ActivityEnroll::getUserId).collect(Collectors.toSet());
             for (AddActivityEnrollRangeDto enrollRange : dto.getEnrollRangeList()) {
                 if(enrollRange.getUserId() != null){
-                    if(!existMap.containsKey(enrollRange.getUserId() )){
+                    if(!existUserId.contains(enrollRange.getUserId() )){
                         insertList.add(
                                 new ActivityEnroll(){{
                                     setUserId(enrollRange.getUserId());
@@ -71,14 +72,16 @@ public class ActivityEnrollServiceImpl extends MPJBaseServiceImpl<ActivityEnroll
                                     .eq(UserDeptRelation::getDeptId, enrollRange.getDeptId())
                     );
                     for (User user : userList) {
-                        insertList.add(
-                                new ActivityEnroll(){{
-                                    setUserId(user.getId());
-                                    setCreateDate(createDate);
-                                    setActivityInfoId(dto.getActivityInfoId());
-                                    setStatus(0);
-                                }}
-                        );
+                        if(!existUserId.contains(user.getId() )) {
+                            insertList.add(
+                                    new ActivityEnroll() {{
+                                        setUserId(user.getId());
+                                        setCreateDate(createDate);
+                                        setActivityInfoId(dto.getActivityInfoId());
+                                        setStatus(0);
+                                    }}
+                            );
+                        }
                     }
                 }else if(enrollRange.getClassId() != null){
                     List<BaseStudentSchoolRoll> userList = rollService.list(
@@ -89,14 +92,16 @@ public class ActivityEnrollServiceImpl extends MPJBaseServiceImpl<ActivityEnroll
                                     .eq(BaseStudentSchoolRoll::getClassId, enrollRange.getClassId())
                     );
                     for (BaseStudentSchoolRoll user : userList) {
-                        insertList.add(
-                                new ActivityEnroll(){{
-                                    setUserId(user.getUserId());
-                                    setCreateDate(createDate);
-                                    setActivityInfoId(dto.getActivityInfoId());
-                                    setStatus(0);
-                                }}
-                        );
+                        if(!existUserId.contains(user.getId() )) {
+                            insertList.add(
+                                    new ActivityEnroll() {{
+                                        setUserId(user.getUserId());
+                                        setCreateDate(createDate);
+                                        setActivityInfoId(dto.getActivityInfoId());
+                                        setStatus(0);
+                                    }}
+                            );
+                        }
                     }
                 }
             }