|
|
@@ -9,11 +9,15 @@ import com.fs.common.core.domain.model.LoginUser;
|
|
|
import com.fs.common.enums.BusinessType;
|
|
|
import com.fs.common.utils.ServletUtils;
|
|
|
import com.fs.common.utils.SortUtils;
|
|
|
+import com.fs.common.utils.StringUtils;
|
|
|
import com.fs.course.config.CourseConfig;
|
|
|
+import com.fs.course.domain.FsUserCoursePeriod;
|
|
|
import com.fs.course.domain.FsUserCourseTrainingCamp;
|
|
|
import com.fs.course.dto.FsUserCourseTrainingCampDTO;
|
|
|
import com.fs.course.dto.FsUserCourseTrainingCampUpdateDTO;
|
|
|
+import com.fs.course.service.IFsUserCoursePeriodService;
|
|
|
import com.fs.course.service.IFsUserCourseTrainingCampService;
|
|
|
+import com.fs.course.vo.FsUserCoursePeriodVO;
|
|
|
import com.fs.course.vo.FsUserCourseTrainingCampVO;
|
|
|
import com.fs.framework.web.service.TokenService;
|
|
|
import com.fs.his.vo.OptionsVO;
|
|
|
@@ -25,10 +29,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import javax.validation.Valid;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Objects;
|
|
|
+import java.util.*;
|
|
|
|
|
|
@RestController
|
|
|
@RequestMapping("/course/trainingCamp")
|
|
|
@@ -39,6 +40,8 @@ public class FsUserCourseTrainingCampController {
|
|
|
private final TokenService tokenService;
|
|
|
|
|
|
private final ISysConfigService configService;
|
|
|
+ private final IFsUserCoursePeriodService fsUserCoursePeriodService;
|
|
|
+
|
|
|
/**
|
|
|
* 查询训练营列表
|
|
|
*/
|
|
|
@@ -147,4 +150,59 @@ public class FsUserCourseTrainingCampController {
|
|
|
return R.ok().put("data", new PageInfo<>(campList));
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 通过训练营来筛选营期-展示创建成功的营期
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @GetMapping("/getScreeningCampPeriod")
|
|
|
+ public R getScreeningCampPeriod(@RequestParam String campPeriodType,
|
|
|
+ @RequestParam(required = false) Long periodId,
|
|
|
+ @RequestParam(required = false) String campPeriodName) {
|
|
|
+ try {
|
|
|
+ // 获取用户和配置信息
|
|
|
+ LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
|
|
|
+ Long userId = loginUser.getUser().getUserId();
|
|
|
+ CourseConfig config = getCourseConfig();
|
|
|
+ boolean needBindUser = config != null && config.getIsBound();
|
|
|
+ if ("2".equals(campPeriodType)) {
|
|
|
+ // 查询其他训练营
|
|
|
+ List<FsUserCoursePeriodVO> resultList = new ArrayList<>();
|
|
|
+ Map<String, Object> params = new HashMap<>();
|
|
|
+ params.put("scs", SortUtils.parseSort("order_number(desc),training_camp_id(desc)"));
|
|
|
+ if (needBindUser) params.put("userIds", userId);
|
|
|
+ List<FsUserCourseTrainingCampVO> fsUserCourseTrainingCampList= fsUserCourseTrainingCampService.selectFsUserCourseTrainingCampVOListByMap(params);
|
|
|
+ fsUserCourseTrainingCampList.stream().filter(camp -> !Objects.equals(camp.getTrainingCampId(), periodId))
|
|
|
+ .forEach(camp -> {
|
|
|
+ FsUserCoursePeriod query = new FsUserCoursePeriod();
|
|
|
+ query.setTrainingCampId(camp.getTrainingCampId());
|
|
|
+ List<FsUserCoursePeriodVO> periods = fsUserCoursePeriodService.selectFsUserCoursePeriodPage(query);
|
|
|
+ if (periods != null && !periods.isEmpty()) {
|
|
|
+ resultList.addAll(periods);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return R.ok().put("resultList", resultList);
|
|
|
+ } else if ("3".equals(campPeriodType)) {
|
|
|
+ // 新建训练营
|
|
|
+ if (StringUtils.isEmpty(campPeriodName)) {
|
|
|
+ return R.error("训练营名称不能为空");
|
|
|
+ }
|
|
|
+ FsUserCourseTrainingCampDTO campDTO = new FsUserCourseTrainingCampDTO();
|
|
|
+ campDTO.setTrainingCampName(campPeriodName.trim());
|
|
|
+ return R.ok("训练营创建成功");
|
|
|
+ }
|
|
|
+ return R.error("不支持的训练营类型");
|
|
|
+ } catch (Exception e) {
|
|
|
+ return R.error("系统处理异常");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ private CourseConfig getCourseConfig() {
|
|
|
+ try {
|
|
|
+ String json = configService.selectConfigByKey("course.config");
|
|
|
+ return JSONUtil.toBean(json, CourseConfig.class);
|
|
|
+ } catch (Exception e) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|