123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727 |
- package com.qxgmat.controller.admin;
- import com.github.pagehelper.Page;
- import com.nuliji.tools.PageMessage;
- 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.*;
- import com.qxgmat.dto.admin.request.*;
- import com.qxgmat.dto.admin.response.*;
- import com.qxgmat.help.ShiroHelp;
- import com.qxgmat.service.ManagerService;
- import com.qxgmat.service.UsersService;
- import com.qxgmat.service.extend.CourseExtendService;
- import com.qxgmat.service.inline.*;
- import io.swagger.annotations.ApiOperation;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.validation.annotation.Validated;
- 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;
- import java.util.Map;
- @RestController("AdminClassController")
- @RequestMapping("/admin/course")
- public class CourseController {
- @Autowired
- private ShiroHelp shiroHelp;
- @Autowired
- private CourseService courseService;
- @Autowired
- private CourseNoService courseNoService;
- @Autowired
- private CoursePackageService coursePackageService;
- @Autowired
- private CourseDataService courseDataService;
- @Autowired
- private CourseDataHistoryService courseDataHistoryService;
- @Autowired
- private CourseExperienceService courseExperienceService;
- @Autowired
- private CourseTeacherService courseTeacherService;
- @Autowired
- private CourseTimeService courseTimeService;
- @Autowired
- private CourseStudentOnlineService courseStudentOnlineService;
- @Autowired
- private UserAskCourseService userAskCourseService;
- @Autowired
- private ManagerLogService managerLogService;
- @Autowired
- private ManagerService managerService;
- @Autowired
- private UsersService usersService;
- @Autowired
- private UserOrderRecordService userOrderRecordService;
- @Autowired
- private CourseExtendService courseExtendService;
- @RequestMapping(value = "/add", method = RequestMethod.POST)
- @ApiOperation(value = "添加课程", httpMethod = "POST")
- public Response<Course> add(@RequestBody @Validated Course dto, HttpServletRequest request) {
- Course entity = Transform.convert(dto, Course.class);
- entity = courseService.add(entity);
- managerLogService.log(request);
- return ResponseHelp.success(Transform.convert(entity, Course.class));
- }
- @RequestMapping(value = "/edit", method = RequestMethod.PUT)
- @ApiOperation(value = "编辑课程", httpMethod = "PUT")
- public Response<Boolean> edit(@RequestBody @Validated Course dto, HttpServletRequest request) {
- Course entity = Transform.convert(dto, Course.class);
- entity = courseService.edit(entity);
- managerLogService.log(request);
- return ResponseHelp.success(true);
- }
- @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);
- }
- @RequestMapping(value = "/detail", method = RequestMethod.GET)
- @ApiOperation(value = "获取课程", httpMethod = "GET")
- public Response<Course> detail(@RequestParam int id,HttpSession session) {
- Course entity = courseService.get(id);
- return ResponseHelp.success(Transform.convert(entity, Course.class));
- }
- @RequestMapping(value = "/list", method = RequestMethod.GET)
- @ApiOperation(value = "课程列表", httpMethod = "GET")
- 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;
- 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());
- }
- @RequestMapping(value = "/package/add", method = RequestMethod.POST)
- @ApiOperation(value = "添加套餐", httpMethod = "POST")
- public Response<CoursePackage> addPackage(@RequestBody @Validated CoursePackageDto dto, HttpServletRequest request) {
- CoursePackage entity = Transform.dtoToEntity(dto);
- entity = coursePackageService.add(entity);
- managerLogService.log(request);
- return ResponseHelp.success(Transform.convert(entity, CoursePackage.class));
- }
- @RequestMapping(value = "/package/edit", method = RequestMethod.PUT)
- @ApiOperation(value = "编辑套餐", httpMethod = "PUT")
- public Response<Boolean> editPackage(@RequestBody @Validated CoursePackageDto dto, HttpServletRequest request) {
- CoursePackage entity = Transform.dtoToEntity(dto);
- entity = coursePackageService.edit(entity);
- managerLogService.log(request);
- return ResponseHelp.success(true);
- }
- @RequestMapping(value = "/package/delete", method = RequestMethod.DELETE)
- @ApiOperation(value = "删除套餐", httpMethod = "DELETE")
- public Response<Boolean> deletePackage(@RequestParam int id, HttpServletRequest request) {
- coursePackageService.delete(id);
- managerLogService.log(request);
- return ResponseHelp.success(true);
- }
- @RequestMapping(value = "/package/detail", method = RequestMethod.GET)
- @ApiOperation(value = "获取套餐", httpMethod = "GET")
- public Response<CoursePackage> detailPackage(@RequestParam int id,HttpSession session) {
- CoursePackage entity = coursePackageService.get(id);
- return ResponseHelp.success(Transform.convert(entity, CoursePackage.class));
- }
- @RequestMapping(value = "/package/list", method = RequestMethod.GET)
- @ApiOperation(value = "套餐列表", httpMethod = "GET")
- public Response<PageMessage<CoursePackage>> listPackage(
- @RequestParam(required = false, defaultValue = "1") int page,
- @RequestParam(required = false, defaultValue = "100") int size,
- HttpSession session) {
- Page<CoursePackage> p = coursePackageService.select(page, size);
- List<CoursePackage> pr = Transform.convert(p, CoursePackage.class);
- return ResponseHelp.success(pr, page, size, p.getTotal());
- }
- @RequestMapping(value = "/data/add", method = RequestMethod.POST)
- @ApiOperation(value = "添加资料", httpMethod = "POST")
- public Response<CourseData> addData(@RequestBody @Validated CourseDataDto dto, HttpServletRequest request) {
- CourseData entity = Transform.dtoToEntity(dto);
- entity = courseDataService.add(entity);
- managerLogService.log(request);
- return ResponseHelp.success(Transform.convert(entity, CourseData.class));
- }
- @RequestMapping(value = "/data/edit", method = RequestMethod.PUT)
- @ApiOperation(value = "编辑资料", httpMethod = "PUT")
- public Response<Boolean> editData(@RequestBody @Validated CourseDataDto dto, HttpServletRequest request) {
- CourseData entity = Transform.dtoToEntity(dto);
- entity = courseDataService.edit(entity);
- managerLogService.log(request);
- return ResponseHelp.success(true);
- }
- @RequestMapping(value = "/data/delete", method = RequestMethod.DELETE)
- @ApiOperation(value = "删除资料", httpMethod = "DELETE")
- public Response<Boolean> deleteData(@RequestParam int id, HttpServletRequest request) {
- courseDataService.delete(id);
- managerLogService.log(request);
- return ResponseHelp.success(true);
- }
- @RequestMapping(value = "/data/detail", method = RequestMethod.GET)
- @ApiOperation(value = "获取资料", httpMethod = "GET")
- public Response<CourseData> detailData(@RequestParam int id,HttpSession session) {
- CourseData entity = courseDataService.get(id);
- return ResponseHelp.success(Transform.convert(entity, CourseData.class));
- }
- @RequestMapping(value = "/data/list", method = RequestMethod.GET)
- @ApiOperation(value = "资料列表", httpMethod = "GET")
- public Response<PageMessage<CourseData>> listData(
- @RequestParam(required = false, defaultValue = "1") int page,
- @RequestParam(required = false, defaultValue = "100") int size,
- @RequestParam(required = false) Integer structId,
- @RequestParam(required = false) String dataType,
- @RequestParam(required = false, defaultValue = "id") String order,
- @RequestParam(required = false, defaultValue = "desc") String direction,
- HttpSession session) {
- Page<CourseData> p = courseDataService.listAdmin(page, size, structId, DataType.ValueOf(dataType), order, DirectionStatus.ValueOf(direction));
- List<CourseData> pr = Transform.convert(p, CourseData.class);
- return ResponseHelp.success(pr, page, size, p.getTotal());
- }
- @RequestMapping(value = "/data/history/add", method = RequestMethod.POST)
- @ApiOperation(value = "添加资料历史", httpMethod = "POST")
- public Response<CourseDataHistory> addDataHistory(@RequestBody @Validated CourseDataHistoryDto dto, HttpServletRequest request) {
- CourseDataHistory entity = Transform.dtoToEntity(dto);
- entity = courseDataHistoryService.add(entity);
- managerLogService.log(request);
- return ResponseHelp.success(Transform.convert(entity, CourseDataHistory.class));
- }
- @RequestMapping(value = "/data/history/edit", method = RequestMethod.PUT)
- @ApiOperation(value = "编辑资料历史", httpMethod = "PUT")
- public Response<Boolean> editDataHistory(@RequestBody @Validated CourseDataHistoryDto dto, HttpServletRequest request) {
- CourseDataHistory entity = Transform.dtoToEntity(dto);
- entity = courseDataHistoryService.edit(entity);
- managerLogService.log(request);
- return ResponseHelp.success(true);
- }
- @RequestMapping(value = "/data/history/delete", method = RequestMethod.DELETE)
- @ApiOperation(value = "删除资料历史", httpMethod = "DELETE")
- public Response<Boolean> deleteDataHistory(@RequestParam int id, HttpServletRequest request) {
- courseDataHistoryService.delete(id);
- managerLogService.log(request);
- return ResponseHelp.success(true);
- }
- @RequestMapping(value = "/data/history/list", method = RequestMethod.GET)
- @ApiOperation(value = "资料历史列表", httpMethod = "GET")
- public Response<PageMessage<CourseDataHistory>> listDataHistory(
- @RequestParam(required = false, defaultValue = "1") int page,
- @RequestParam(required = false, defaultValue = "100") int size,
- @RequestParam(required = true) Integer dataId,
- HttpSession session) {
- Page<CourseDataHistory> p = courseDataHistoryService.listByData(page, size, dataId);
- List<CourseDataHistory> pr = Transform.convert(p, CourseDataHistory.class);
- return ResponseHelp.success(pr, page, size, p.getTotal());
- }
- @RequestMapping(value = "/experience/add", method = RequestMethod.POST)
- @ApiOperation(value = "添加心经", httpMethod = "POST")
- public Response<CourseExperience> addExperience(@RequestBody @Validated CourseExperienceDto dto, HttpServletRequest request) {
- CourseExperience entity = Transform.dtoToEntity(dto);
- entity = courseExperienceService.add(entity);
- managerLogService.log(request);
- return ResponseHelp.success(Transform.convert(entity, CourseExperience.class));
- }
- @RequestMapping(value = "/experience/edit", method = RequestMethod.PUT)
- @ApiOperation(value = "编辑心经", httpMethod = "PUT")
- public Response<Boolean> editExperience(@RequestBody @Validated CourseDataDto dto, HttpServletRequest request) {
- CourseExperience entity = Transform.dtoToEntity(dto);
- entity = courseExperienceService.edit(entity);
- managerLogService.log(request);
- return ResponseHelp.success(true);
- }
- @RequestMapping(value = "/experience/delete", method = RequestMethod.DELETE)
- @ApiOperation(value = "删除心经", httpMethod = "DELETE")
- public Response<Boolean> deleteExperience(@RequestParam int id, HttpServletRequest request) {
- courseExperienceService.delete(id);
- managerLogService.log(request);
- return ResponseHelp.success(true);
- }
- @RequestMapping(value = "/experience/detail", method = RequestMethod.GET)
- @ApiOperation(value = "获取心经", httpMethod = "GET")
- public Response<CourseExperience> detailExperience(@RequestParam int id,HttpSession session) {
- CourseExperience entity = courseExperienceService.get(id);
- return ResponseHelp.success(Transform.convert(entity, CourseExperience.class));
- }
- @RequestMapping(value = "/experience/list", method = RequestMethod.GET)
- @ApiOperation(value = "心经列表", httpMethod = "GET")
- public Response<PageMessage<CourseExperienceListDto>> listExperience(
- @RequestParam(required = false, defaultValue = "1") int page,
- @RequestParam(required = false, defaultValue = "100") int size,
- @RequestParam(required = false) Integer userId,
- @RequestParam(required = false) String keyword,
- @RequestParam(required = false, defaultValue = "id") String order,
- @RequestParam(required = false, defaultValue = "desc") String direction,
- HttpSession session) {
- Page<CourseExperience> p = courseExperienceService.listAdmin(page, size, userId, keyword, order, DirectionStatus.ValueOf(direction));
- List<CourseExperienceListDto> pr = Transform.convert(p, CourseExperienceListDto.class);
- // 绑定用户
- Collection userIds = Transform.getIds(p, CourseExperience.class, "userId");
- List<User> userList = usersService.select(userIds);
- Transform.combine(pr, userList, CourseExperienceListDto.class, "userId", "user", User.class, "id", UserExtendDto.class);
- return ResponseHelp.success(pr, page, size, p.getTotal());
- }
- @RequestMapping(value = "/teacher/add", method = RequestMethod.POST)
- @ApiOperation(value = "添加老师", httpMethod = "POST")
- public Response<CourseTeacher> addTeacher(@RequestBody @Validated CourseTeacherDto dto, HttpServletRequest request) {
- CourseTeacher entity = Transform.dtoToEntity(dto);
- entity = courseTeacherService.add(entity);
- managerLogService.log(request);
- return ResponseHelp.success(Transform.convert(entity, CourseTeacher.class));
- }
- @RequestMapping(value = "/teacher/edit", method = RequestMethod.PUT)
- @ApiOperation(value = "编辑教师", httpMethod = "PUT")
- public Response<Boolean> editTeacher(@RequestBody @Validated CourseTeacherDto dto, HttpServletRequest request) {
- CourseTeacher entity = Transform.dtoToEntity(dto);
- entity = courseTeacherService.edit(entity);
- managerLogService.log(request);
- return ResponseHelp.success(true);
- }
- @RequestMapping(value = "/teacher/delete", method = RequestMethod.DELETE)
- @ApiOperation(value = "删除教师", httpMethod = "DELETE")
- public Response<Boolean> deleteTeacher(@RequestParam int id, HttpServletRequest request) {
- courseTeacherService.delete(id);
- managerLogService.log(request);
- return ResponseHelp.success(true);
- }
- @RequestMapping(value = "/teacher/detail", method = RequestMethod.GET)
- @ApiOperation(value = "获取教师", httpMethod = "GET")
- public Response<CourseTeacher> detailTeacher(@RequestParam int id,HttpSession session) {
- CourseTeacher entity = courseTeacherService.get(id);
- return ResponseHelp.success(Transform.convert(entity, CourseTeacher.class));
- }
- @RequestMapping(value = "/teacher/list", method = RequestMethod.GET)
- @ApiOperation(value = "教师列表", httpMethod = "GET")
- public Response<PageMessage<CourseTeacher>> listTeacher(
- @RequestParam(required = false, defaultValue = "1") int page,
- @RequestParam(required = false, defaultValue = "100") int size,
- @RequestParam(required = false) Integer courseId,
- HttpSession session) {
- Page<CourseTeacher> p = courseTeacherService.listAdmin(page, size, courseId);
- return ResponseHelp.success(p, page, size, p.getTotal());
- }
- @RequestMapping(value = "/no/add", method = RequestMethod.POST)
- @ApiOperation(value = "添加课时", httpMethod = "POST")
- public Response<CourseNo> addNo(@RequestBody @Validated CourseNoDto dto, HttpServletRequest request) {
- // 查询课时
- CourseNo entity = Transform.dtoToEntity(dto);
- entity = courseNoService.addNo(entity);
- managerLogService.log(request);
- return ResponseHelp.success(Transform.convert(entity, CourseNo.class));
- }
- @RequestMapping(value = "/no/edit", method = RequestMethod.PUT)
- @ApiOperation(value = "编辑课时", httpMethod = "PUT")
- public Response<Boolean> editNo(@RequestBody @Validated CourseNoDto dto, HttpServletRequest request) {
- // 调整课时顺序
- CourseNo entity = Transform.dtoToEntity(dto);
- entity = courseNoService.editNo(entity);
- managerLogService.log(request);
- return ResponseHelp.success(true);
- }
- @RequestMapping(value = "/no/delete", method = RequestMethod.DELETE)
- @ApiOperation(value = "删除课时", httpMethod = "DELETE")
- public Response<Boolean> deleteNo(@RequestParam int id, HttpServletRequest request) {
- // 调整课时顺序
- courseNoService.deleteNo(id);
- managerLogService.log(request);
- return ResponseHelp.success(true);
- }
- @RequestMapping(value = "/no/detail", method = RequestMethod.GET)
- @ApiOperation(value = "获取课时", httpMethod = "GET")
- public Response<CourseNo> detailNo(@RequestParam int id,HttpSession session) {
- CourseNo entity = courseNoService.get(id);
- return ResponseHelp.success(Transform.convert(entity, CourseNo.class));
- }
- @RequestMapping(value = "/no/all", method = RequestMethod.GET)
- @ApiOperation(value = "课时列表", httpMethod = "GET")
- public Response<List<CourseNo>> listNo(
- @RequestParam(required = false) Integer courseId,
- HttpSession session) {
- List<CourseNo> p = courseNoService.allCourse(courseId);
- return ResponseHelp.success(p);
- }
- @RequestMapping(value = "/time/add", method = RequestMethod.POST)
- @ApiOperation(value = "添加课时", httpMethod = "POST")
- public Response<CourseTime> addTime(@RequestBody @Validated CourseTimeDto dto, HttpServletRequest request) {
- CourseTime entity = Transform.dtoToEntity(dto);
- entity = courseTimeService.add(entity);
- managerLogService.log(request);
- return ResponseHelp.success(Transform.convert(entity, CourseTime.class));
- }
- @RequestMapping(value = "/time/edit", method = RequestMethod.PUT)
- @ApiOperation(value = "编辑课时", httpMethod = "PUT")
- public Response<Boolean> editTime(@RequestBody @Validated CourseTimeDto dto, HttpServletRequest request) {
- CourseTime entity = Transform.dtoToEntity(dto);
- entity = courseTimeService.edit(entity);
- managerLogService.log(request);
- return ResponseHelp.success(true);
- }
- @RequestMapping(value = "/time/delete", method = RequestMethod.DELETE)
- @ApiOperation(value = "删除课时", httpMethod = "DELETE")
- public Response<Boolean> deleteTime(@RequestParam int id, HttpServletRequest request) {
- courseTimeService.delete(id);
- managerLogService.log(request);
- return ResponseHelp.success(true);
- }
- @RequestMapping(value = "/time/detail", method = RequestMethod.GET)
- @ApiOperation(value = "获取课时", httpMethod = "GET")
- public Response<CourseTime> detailTime(@RequestParam int id,HttpSession session) {
- CourseTime entity = courseTimeService.get(id);
- return ResponseHelp.success(Transform.convert(entity, CourseTime.class));
- }
- @RequestMapping(value = "/time/list", method = RequestMethod.GET)
- @ApiOperation(value = "课时列表", httpMethod = "GET")
- 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;
- 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 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");
- return ResponseHelp.success(pr, page, size, p.getTotal());
- }
- @RequestMapping(value = "/student/online/add", method = RequestMethod.POST)
- @ApiOperation(value = "添加学员", httpMethod = "POST")
- public Response<CourseStudentOnline> addStudentVideo(@RequestBody @Validated CourseStudentOnline entity, HttpServletRequest request) {
- // CourseStudentOnline entity = Transform.dtoToEntity(dto);
- 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 entity, HttpServletRequest request) {
- // CourseStudentOnline entity = Transform.dtoToEntity(dto);
- entity = courseStudentOnlineService.edit(entity);
- managerLogService.log(request);
- return ResponseHelp.success(true);
- }
- @RequestMapping(value = "/student/online/delete", method = RequestMethod.DELETE)
- @ApiOperation(value = "删除学员", httpMethod = "DELETE")
- public Response<Boolean> deleteStudentOnline(@RequestParam int id, HttpServletRequest request) {
- courseTimeService.delete(id);
- managerLogService.log(request);
- return ResponseHelp.success(true);
- }
- @RequestMapping(value = "/student/online/detail", method = RequestMethod.GET)
- @ApiOperation(value = "获取学员", httpMethod = "GET")
- public Response<CourseStudentOnline> detailStudentVideo(@RequestParam int id,HttpSession session) {
- CourseStudentOnline entity = courseStudentOnlineService.get(id);
- return ResponseHelp.success(Transform.convert(entity, CourseStudentOnline.class));
- }
- @RequestMapping(value = "/student/online/list", method = RequestMethod.GET)
- @ApiOperation(value = "课时学员", httpMethod = "GET")
- public Response<PageMessage<CourseStudentOnlineListDto>> listStudentVideo(
- @RequestParam(required = false, defaultValue = "1") int page,
- @RequestParam(required = false, defaultValue = "100") int size,
- @RequestParam(required = false) Integer courseId,
- @RequestParam(required = false) Integer timeId,
- 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);
- Date startTime = new Date();
- Date endTime = courseExtendService.computeExpire(startTime, dto.getVsNumber(), dto.getCourseId());
- entity.setProductType(ProductType.COURSE.key);
- entity.setOrderId(0);
- entity.setProductId(dto.getCourseId());
- entity.setTeacherId(dto.getTeacherId());
- entity.setSource("offline");
- entity.setIsUsed(1);
- entity.setStartTime(startTime);
- entity.setEndTime(endTime);
- 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);
- UserOrderRecord in = userOrderRecordService.get(entity.getId());
- Date endTime = courseExtendService.computeExpire(in.getStartTime(), dto.getVsNumber(), dto.getCourseId());
- entity.setEndTime(endTime);
- 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());
- }
- @RequestMapping(value = "/ask/edit", method = RequestMethod.PUT)
- @ApiOperation(value = "修改提问信息", httpMethod = "PUT")
- public Response<Boolean> edit(@RequestBody @Validated UserAskCourseDto dto, HttpServletRequest request) {
- UserAskCourse entity = Transform.dtoToEntity(dto);
- UserAskCourse in = userAskCourseService.get(entity.getId());
- // 调整回答
- if(entity.getAnswer() != null && (!entity.getAnswer().isEmpty() || !in.getAnswer().equals(entity.getAnswer()))){
- entity.setAnswerTime(new Date());
- entity.setAnswerStatus(AskStatus.ANSWER.index);
- Manager manager = shiroHelp.getLoginManager();
- entity.setManagerId(manager.getId());
- }
- if (dto.getIgnoreStatus() != null && dto.getIgnoreStatus() > 0){
- entity.setAnswerStatus(AskStatus.IGNORE.index);
- }
- entity = userAskCourseService.edit(entity);
- if (dto.getOther() !=null && dto.getOther().length > 0){
- // 更新回答排序
- userAskCourseService.updateOrder(dto.getOther());
- }
- managerLogService.log(request);
- return ResponseHelp.success(true);
- }
- @RequestMapping(value = "/ask/detail", method = RequestMethod.GET)
- @ApiOperation(value = "提问详情", httpMethod = "GET")
- public Response<UserAskCourseDetailDto> detail(@RequestParam int id, HttpServletRequest request) {
- UserAskCourse entity = userAskCourseService.get(id);
- UserAskCourseDetailDto dto = Transform.convert(entity, UserAskCourseDetailDto.class);
- if (entity.getManagerId() != null && entity.getManagerId() > 0){
- Manager manager = managerService.get(entity.getManagerId());
- if (manager != null)
- dto.setManager(Transform.convert(manager, ManagerExtendDto.class));
- }
- User user = usersService.get(entity.getUserId());
- dto.setUser(Transform.convert(user, UserExtendDto.class));
- Course course = courseService.get(entity.getCourseId());
- dto.setCourse(Transform.convert(course, CourseExtendDto.class));
- CourseNo courseNo = courseNoService.get(entity.getCourseNoId());
- dto.setCourseNo(Transform.convert(courseNo, CourseNoExtendDto.class));
- // 所有回答
- List<UserAskCourse> userAskList = userAskCourseService.listByCoursePosition(entity.getCourseNoId(), entity.getPosition(), true);
- dto.setOthers(Transform.convert(userAskList, UserAskCourseExtendDto.class));
- return ResponseHelp.success(dto);
- }
- @RequestMapping(value = "/ask/list", method = RequestMethod.GET)
- @ApiOperation(value = "提问列表", httpMethod = "GET")
- public Response<PageMessage<UserAskCourseListDto>> list(
- @RequestParam(required = false, defaultValue = "1") int page,
- @RequestParam(required = false, defaultValue = "100") int size,
- @RequestParam(required = false) Integer structId,
- @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, userId, MoneyRange.ValueOf(moneyRang), order, DirectionStatus.ValueOf(direction));
- List<UserAskCourseListDto> pr = Transform.convert(p, UserAskCourseListDto.class);
- // 绑定用户
- Collection userIds = Transform.getIds(p, UserAskQuestion.class, "userId");
- List<User> userList = usersService.select(userIds);
- Transform.combine(pr, userList, UserAskQuestionListDto.class, "userId", "user", User.class, "id", UserExtendDto.class);
- // 绑定管理员
- Collection managerIds = Transform.getIds(p, UserAskQuestion.class, "managerId");
- List<Manager> managerList = managerService.select(managerIds);
- Transform.combine(pr, managerList, UserAskQuestionListDto.class, "managerId", "manager", Manager.class, "id", ManagerExtendDto.class);
- // 绑定课程
- Collection courseIds = Transform.getIds(p, UserAskCourse.class, "courseId");
- List<Course> courseList = courseService.select(courseIds);
- Transform.combine(pr, courseList, UserAskCourseListDto.class, "courseId", "course", Course.class, "id", CourseExtendDto.class);
- // 绑定课时
- Collection courseNoIds = Transform.getIds(p, UserAskCourse.class, "courseNoId");
- List<CourseNo> courseNoList = courseNoService.select(courseNoIds);
- Transform.combine(pr, courseNoList, UserAskCourseListDto.class, "courseNoId", "courseNo", CourseNo.class, "id", CourseNoExtendDto.class);
- return ResponseHelp.success(pr, page, size, p.getTotal());
- }
- }
|