|
@@ -6,9 +6,11 @@ import com.nuliji.tools.Response;
|
|
|
import com.nuliji.tools.ResponseHelp;
|
|
|
import com.nuliji.tools.Transform;
|
|
|
import com.qxgmat.data.constants.enums.module.CourseModule;
|
|
|
+import com.qxgmat.data.constants.enums.module.ProductType;
|
|
|
import com.qxgmat.data.constants.enums.status.AskStatus;
|
|
|
import com.qxgmat.data.constants.enums.status.DirectionStatus;
|
|
|
import com.qxgmat.data.constants.enums.user.DataType;
|
|
|
+import com.qxgmat.data.constants.enums.user.MoneyRange;
|
|
|
import com.qxgmat.data.dao.entity.*;
|
|
|
import com.qxgmat.data.relation.entity.CourseStudentNumberRelation;
|
|
|
import com.qxgmat.dto.admin.extend.*;
|
|
@@ -25,6 +27,7 @@ import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpSession;
|
|
|
+import javax.xml.transform.TransformerFactory;
|
|
|
import java.util.Collection;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
@@ -75,6 +78,9 @@ public class CourseController {
|
|
|
@Autowired
|
|
|
private UsersService usersService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private UserOrderRecordService userOrderRecordService;
|
|
|
+
|
|
|
|
|
|
@RequestMapping(value = "/add", method = RequestMethod.POST)
|
|
|
@ApiOperation(value = "添加课程", httpMethod = "POST")
|
|
@@ -97,6 +103,7 @@ public class CourseController {
|
|
|
@RequestMapping(value = "/delete", method = RequestMethod.DELETE)
|
|
|
@ApiOperation(value = "删除课程", httpMethod = "DELETE")
|
|
|
public Response<Boolean> delete(@RequestParam int id, HttpServletRequest request) {
|
|
|
+ Course entity = courseService.get(id);
|
|
|
courseService.delete(id);
|
|
|
managerLogService.log(request);
|
|
|
return ResponseHelp.success(true);
|
|
@@ -114,10 +121,18 @@ public class CourseController {
|
|
|
public Response<PageMessage<CourseListDto>> list(
|
|
|
@RequestParam(required = false, defaultValue = "1") int page,
|
|
|
@RequestParam(required = false, defaultValue = "100") int size,
|
|
|
+ @RequestParam(required = false) Integer[] ids,
|
|
|
+ @RequestParam(required = false) String keyword,
|
|
|
@RequestParam(required = false) String courseModule,
|
|
|
@RequestParam(required = false) Integer structId,
|
|
|
+ @RequestParam(required = false) Boolean excludeVs,
|
|
|
HttpSession session) {
|
|
|
- Page<Course> p = courseService.listAdmin(page, size, CourseModule.ValueOf(courseModule), structId);
|
|
|
+ Page<Course> p;
|
|
|
+ if (ids != null && ids.length > 0){
|
|
|
+ p = courseService.select(ids);
|
|
|
+ }else{
|
|
|
+ p = courseService.listAdmin(page, size, keyword, CourseModule.ValueOf(courseModule), structId, excludeVs);
|
|
|
+ }
|
|
|
List<CourseListDto> pr = Transform.convert(p, CourseListDto.class);
|
|
|
|
|
|
return ResponseHelp.success(pr, page, size, p.getTotal());
|
|
@@ -424,14 +439,22 @@ public class CourseController {
|
|
|
public Response<PageMessage<CourseTimeInfoDto>> listTime(
|
|
|
@RequestParam(required = false, defaultValue = "1") int page,
|
|
|
@RequestParam(required = false, defaultValue = "100") int size,
|
|
|
+ @RequestParam(required = false) Integer[] ids,
|
|
|
@RequestParam(required = false) Integer courseId,
|
|
|
+ @RequestParam(required = false) String keyword,
|
|
|
HttpSession session) {
|
|
|
- Page<CourseTime> p = courseTimeService.listAdmin(page, size, courseId);
|
|
|
+
|
|
|
+ Page<CourseTime> p;
|
|
|
+ if (ids != null && ids.length > 0){
|
|
|
+ p = courseTimeService.select(ids);
|
|
|
+ }else{
|
|
|
+ p = courseTimeService.listAdmin(page, size, courseId, keyword);
|
|
|
+ }
|
|
|
List<CourseTimeInfoDto> pr = Transform.convert(p, CourseTimeInfoDto.class);
|
|
|
|
|
|
|
|
|
- Collection ids = Transform.getIds(p, CourseTime.class, "id");
|
|
|
- List<CourseStudentNumberRelation> relations = courseStudentOnlineService.groupByCourse(ids);
|
|
|
+ Collection timeIds = Transform.getIds(p, CourseTime.class, "id");
|
|
|
+ List<CourseStudentNumberRelation> relations = courseStudentOnlineService.groupByCourse(timeIds);
|
|
|
Map map = Transform.getMap(relations, CourseStudentNumberRelation.class, "id", "number");
|
|
|
Transform.combine(pr, map, CourseTimeInfoDto.class, "id", "studentNumber");
|
|
|
|
|
@@ -440,17 +463,17 @@ public class CourseController {
|
|
|
|
|
|
@RequestMapping(value = "/student/online/add", method = RequestMethod.POST)
|
|
|
@ApiOperation(value = "添加学员", httpMethod = "POST")
|
|
|
- public Response<CourseStudentOnline> addStudentVideo(@RequestBody @Validated CourseStudentOnline dto, HttpServletRequest request) {
|
|
|
- CourseStudentOnline entity = Transform.dtoToEntity(dto);
|
|
|
- entity = courseStudentOnlineService.add(entity);
|
|
|
+ public Response<CourseStudentOnline> addStudentVideo(@RequestBody @Validated CourseStudentOnline entity, HttpServletRequest request) {
|
|
|
+
|
|
|
+ entity = courseStudentOnlineService.addStudent(entity);
|
|
|
managerLogService.log(request);
|
|
|
return ResponseHelp.success(Transform.convert(entity, CourseStudentOnline.class));
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "/student/online/edit", method = RequestMethod.PUT)
|
|
|
@ApiOperation(value = "编辑学员", httpMethod = "PUT")
|
|
|
- public Response<Boolean> editStudentVideo(@RequestBody @Validated CourseStudentOnline dto, HttpServletRequest request) {
|
|
|
- CourseStudentOnline entity = Transform.dtoToEntity(dto);
|
|
|
+ public Response<Boolean> editStudentVideo(@RequestBody @Validated CourseStudentOnline entity, HttpServletRequest request) {
|
|
|
+
|
|
|
entity = courseStudentOnlineService.edit(entity);
|
|
|
managerLogService.log(request);
|
|
|
return ResponseHelp.success(true);
|
|
@@ -481,6 +504,115 @@ public class CourseController {
|
|
|
HttpSession session) {
|
|
|
Page<CourseStudentOnline> p = courseStudentOnlineService.listAdmin(page, size, courseId, timeId);
|
|
|
List<CourseStudentOnlineListDto> pr = Transform.convert(p, CourseStudentOnlineListDto.class);
|
|
|
+
|
|
|
+
|
|
|
+ Collection userIds = Transform.getIds(p, CourseStudentOnline.class, "userId");
|
|
|
+ List<User> userList = usersService.select(userIds);
|
|
|
+ Transform.combine(pr, userList, CourseStudentOnlineListDto.class, "userId", "user", User.class, "id", UserExtendDto.class);
|
|
|
+
|
|
|
+
|
|
|
+ Collection timeIds = Transform.getIds(p, CourseStudentOnline.class, "timeId");
|
|
|
+ List<CourseTime> timeList = courseTimeService.select(timeIds);
|
|
|
+ Transform.combine(pr, timeList, CourseStudentOnlineListDto.class, "timeId", "time", CourseTime.class, "id", CourseTimeExtendDto.class);
|
|
|
+
|
|
|
+ return ResponseHelp.success(pr, page, size, p.getTotal());
|
|
|
+ }
|
|
|
+
|
|
|
+ @RequestMapping(value = "/student/vs/add", method = RequestMethod.POST)
|
|
|
+ @ApiOperation(value = "添加vs学员", httpMethod = "POST")
|
|
|
+ private Response<Boolean> addStudentVs(@RequestBody @Validated UserCourseRecordDto dto){
|
|
|
+ UserOrderRecord entity = Transform.dtoToEntity(dto);
|
|
|
+ entity.setProductType(ProductType.COURSE.key);
|
|
|
+ entity.setOrderId(0);
|
|
|
+ entity.setProductId(dto.getCourseId());
|
|
|
+ entity.setTeacherId(dto.getTeacherId());
|
|
|
+ entity.setSource("offline");
|
|
|
+ entity.setIsUsed(1);
|
|
|
+ userOrderRecordService.add(entity);
|
|
|
+ return ResponseHelp.success(true);
|
|
|
+ }
|
|
|
+
|
|
|
+ @RequestMapping(value = "/student/vs/edit", method = RequestMethod.PUT)
|
|
|
+ @ApiOperation(value = "修改vs学员", httpMethod = "PUT")
|
|
|
+ private Response<Boolean> editStudentVs(@RequestBody @Validated UserCourseRecordDto dto){
|
|
|
+ UserOrderRecord entity = Transform.dtoToEntity(dto);
|
|
|
+ entity.setProductType(ProductType.COURSE.key);
|
|
|
+ entity.setOrderId(0);
|
|
|
+ entity.setProductId(dto.getCourseId());
|
|
|
+ entity.setTeacherId(dto.getTeacherId());
|
|
|
+ userOrderRecordService.edit(entity);
|
|
|
+ return ResponseHelp.success(true);
|
|
|
+ }
|
|
|
+
|
|
|
+ @RequestMapping(value = "/student/vs/delete", method = RequestMethod.DELETE)
|
|
|
+ @ApiOperation(value = "删除vs学员", httpMethod = "DELETE")
|
|
|
+ private Response<Boolean> deleteStudentVs(@RequestParam int id){
|
|
|
+ userOrderRecordService.delete(id);
|
|
|
+ return ResponseHelp.success(true);
|
|
|
+ }
|
|
|
+
|
|
|
+ @RequestMapping(value = "/student/vs/list", method = RequestMethod.GET)
|
|
|
+ @ApiOperation(value = "获取vs学员", httpMethod = "GET")
|
|
|
+ private Response<PageMessage<UserCourseStudentRecordInfoDto>> listStudentVs(
|
|
|
+ @RequestParam(required = false, defaultValue = "1") int page,
|
|
|
+ @RequestParam(required = false, defaultValue = "100") int size,
|
|
|
+ @RequestParam(required = false) Integer courseId,
|
|
|
+ @RequestParam(required = false) Integer userId
|
|
|
+ ){
|
|
|
+ Page<UserOrderRecord> p = userOrderRecordService.listWithStudentAdmin(page, size, courseId, userId);
|
|
|
+ List<UserCourseStudentRecordInfoDto> pr = Transform.convert(p, UserCourseStudentRecordInfoDto.class);
|
|
|
+
|
|
|
+
|
|
|
+ Collection userIds = Transform.getIds(p, UserOrderRecord.class, "userId");
|
|
|
+ List<User> userList = usersService.select(userIds);
|
|
|
+ Transform.combine(pr, userList, UserCourseStudentRecordInfoDto.class, "userId", "user", User.class, "id", UserExtendDto.class);
|
|
|
+
|
|
|
+
|
|
|
+ Collection teacherIds = Transform.getIds(p, UserOrderRecord.class, "teacherId");
|
|
|
+ List<CourseTeacher> teacherList = courseTeacherService.select(teacherIds);
|
|
|
+ Transform.combine(pr, teacherList, UserCourseStudentRecordInfoDto.class, "teacherId", "teacher", CourseTeacher.class, "id", CourseTeacherExtendDto.class);
|
|
|
+
|
|
|
+ return ResponseHelp.success(pr, page, size, p.getTotal());
|
|
|
+ }
|
|
|
+
|
|
|
+ @RequestMapping(value = "/study/list", method = RequestMethod.GET)
|
|
|
+ @ApiOperation(value = "获取学习记录", httpMethod = "GET")
|
|
|
+ private Response<PageMessage<UserCourseStudyRecordInfoDto>> listStudy(
|
|
|
+ @RequestParam(required = false, defaultValue = "1") int page,
|
|
|
+ @RequestParam(required = false, defaultValue = "100") int size,
|
|
|
+ @RequestParam(required = false) Integer[] ids,
|
|
|
+ @RequestParam(required = false) String courseModule,
|
|
|
+ @RequestParam(required = false) Integer structId,
|
|
|
+ @RequestParam(required = false) Integer courseId,
|
|
|
+ @RequestParam(required = false) Integer userId,
|
|
|
+ @RequestParam(required = false) String teacher
|
|
|
+ ){
|
|
|
+ Page<UserOrderRecord> p;
|
|
|
+ if (ids != null && ids.length > 0){
|
|
|
+ p = userOrderRecordService.select(ids);
|
|
|
+ }else{
|
|
|
+ p = userOrderRecordService.listWithStudyAdmin(page, size, CourseModule.ValueOf(courseModule), structId, courseId, userId, teacher);
|
|
|
+ }
|
|
|
+ List<UserCourseStudyRecordInfoDto> pr = Transform.convert(p, UserCourseStudyRecordInfoDto.class);
|
|
|
+
|
|
|
+
|
|
|
+ Collection userIds = Transform.getIds(p, UserOrderRecord.class, "userId");
|
|
|
+ List<User> userList = usersService.select(userIds);
|
|
|
+ Transform.combine(pr, userList, UserCourseStudyRecordInfoDto.class, "userId", "user", User.class, "id", UserExtendDto.class);
|
|
|
+
|
|
|
+
|
|
|
+ Map courseMap = Transform.getMap(p, UserOrderRecord.class, "id", "productId");
|
|
|
+ Transform.combine(pr, courseMap, UserCourseStudyRecordInfoDto.class, "id", "courseId");
|
|
|
+ Collection courseIds = Transform.getIds(p, UserOrderRecord.class, "productId");
|
|
|
+ List<Course> courseList = courseService.select(courseIds);
|
|
|
+ Transform.combine(pr, courseList, UserCourseStudyRecordInfoDto.class, "courseId", "course", Course.class, "id", CourseExtendDto.class);
|
|
|
+
|
|
|
+
|
|
|
+ Collection teacherIds = Transform.getIds(p, UserOrderRecord.class, "teacherId");
|
|
|
+ List<CourseTeacher> teacherList = courseTeacherService.select(teacherIds);
|
|
|
+ Map teacherMap = Transform.getMap(teacherList, CourseTeacher.class,"id", "realname");
|
|
|
+ Transform.combine(pr, teacherMap, UserCourseStudyRecordInfoDto.class, "teacherId", "teacher");
|
|
|
+
|
|
|
return ResponseHelp.success(pr, page, size, p.getTotal());
|
|
|
}
|
|
|
|
|
@@ -544,10 +676,12 @@ public class CourseController {
|
|
|
@RequestParam(required = false) Integer courseId,
|
|
|
@RequestParam(required = false) Integer answerStatus,
|
|
|
@RequestParam(required = false) Integer showStatus,
|
|
|
+ @RequestParam(required = false) Integer userId,
|
|
|
+ @RequestParam(required = false) Integer moneyRang,
|
|
|
@RequestParam(required = false, defaultValue = "id") String order,
|
|
|
@RequestParam(required = false, defaultValue = "desc") String direction,
|
|
|
HttpSession session) {
|
|
|
- Page<UserAskCourse> p = userAskCourseService.listWithCourse(page, size, structId, courseId, AskStatus.ValueOf(answerStatus), showStatus, order, DirectionStatus.ValueOf(direction));
|
|
|
+ Page<UserAskCourse> p = userAskCourseService.listWithCourse(page, size, structId, courseId, AskStatus.ValueOf(answerStatus), showStatus, userId, MoneyRange.ValueOf(moneyRang), order, DirectionStatus.ValueOf(direction));
|
|
|
List<UserAskCourseListDto> pr = Transform.convert(p, UserAskCourseListDto.class);
|
|
|
|
|
|
|