From c678894e37d15cca116d962eba5c107c99176945 Mon Sep 17 00:00:00 2001 From: lisy <linlangsur163@163.com> Date: 星期四, 20 七月 2023 17:39:05 +0800 Subject: [PATCH] 开始上课的主页中课包列表展示;bmi工具类匹配对应的身体状态 --- cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java | 359 +++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 318 insertions(+), 41 deletions(-) diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java index bf04171..d757092 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java +++ b/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java @@ -3,16 +3,22 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.account.entity.TStudent; -import com.dsh.account.model.vo.classDetails.classInsVo.StuDetailsReq; -import com.dsh.account.model.vo.classDetails.classInsVo.StuListVo; -import com.dsh.account.model.vo.classDetails.classInsVo.StuPhysicalVo; +import com.dsh.account.feignclient.competition.model.PurchaseRecordVo; +import com.dsh.account.model.vo.classDetails.AppointmentRecordVo; +import com.dsh.account.model.vo.classDetails.ClasspaymentRequest; +import com.dsh.account.model.vo.classDetails.CourseVenue; +import com.dsh.account.model.vo.classDetails.classInsVo.*; +import com.dsh.account.model.vo.commentDetail.StuCommentsVo; +import com.dsh.account.model.vo.medalDetail.GongVo; +import com.dsh.account.model.vo.medalDetail.StuMedalVo; +import com.dsh.account.model.vo.sourceDetail.CouponStuAvailableVo; +import com.dsh.account.model.vo.sourceDetail.CourseDetailsOfContinuationResp; +import com.dsh.account.model.vo.sourceDetail.RecordTimeRequest; +import com.dsh.account.service.EvaluateStudentService; +import com.dsh.account.service.StudentHonorService; import com.dsh.account.service.TAppUserService; import com.dsh.account.service.TStudentService; -import com.dsh.account.util.DateUtil; -import com.dsh.account.util.ResultUtil; -import com.dsh.account.util.TokenUtil; -import com.dsh.account.util.ToolUtil; -import io.swagger.annotations.Api; +import com.dsh.account.util.*; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; @@ -20,9 +26,11 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; -import javax.servlet.http.HttpServletRequest; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; @@ -31,10 +39,8 @@ /** * 学员上课情况 接口 */ -@Api -@CrossOrigin @RestController -@RequestMapping("/base/startCource") +@RequestMapping("") public class ClassDetailsController { private Logger logger = LoggerFactory.getLogger("business-log"); @@ -46,44 +52,74 @@ private TAppUserService tappuService; @Autowired + private EvaluateStudentService evalstuService; + + @Autowired + private StudentHonorService honorService; + + @Autowired private TokenUtil tokenUtil; @ResponseBody - @PostMapping("/stu/queryStudentData") - @ApiOperation(value = "根据登录用户ID查询学员信息", tags = {"APP-开始上课-用户学员信息"}, notes = "") + @PostMapping("/api/startCource/queryStudentData") + @ApiOperation(value = "上课首页", tags = {"APP-开始上课"}) @ApiImplicitParams({ - @ApiImplicitParam(value = "经度值", name = "longitude", required = true, dataType = "String"), - @ApiImplicitParam(value = "纬度值", name = "latitude", required = true, dataType = "String"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil queryCouponRecord(String longitude,String latitude,HttpServletRequest request){ + public ResultUtil<ClassInfoVo> queryCouponRecord(){ try { - Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(request); + Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(); if(null == userIdFormRedis){ return ResultUtil.tokenErr(); } - return ResultUtil.success(tappuService.queryUserOfStus(userIdFormRedis,longitude,latitude)); + return ResultUtil.success(tappuService.queryUserOfStus(userIdFormRedis)); }catch (Exception e){ e.printStackTrace(); - return ResultUtil.runErr(ResultUtil.ERROR); + return ResultUtil.runErr(); } } @ResponseBody - @PostMapping("/stu/queryPhysical") - @ApiOperation(value = "获取学员测试报告", tags = {"APP-开始上课-获取学员测试报告"}, notes = "") + @PostMapping("/api/startCource/weeksOfCourseDetails") + @ApiOperation(value = "上课首页-课程列表", tags = {"APP-开始上课"}) @ApiImplicitParams({ - @ApiImplicitParam(value = "学员id", name = "id", required = true, dataType = "int"), + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), + @ApiImplicitParam(value = "查询时间yyyy-MM-dd", name = "time", required = true, dataType = "string"), + @ApiImplicitParam(value = "学员id", name = "stuId", required = true, dataType = "int"), + @ApiImplicitParam(value = "用户经度", name = "longitude", required = true, dataType = "string"), + @ApiImplicitParam(value = "用户纬度", name = "latitude", required = true, dataType = "string"), + }) + public ResultUtil<List<CourseVenue>> queryWeeksOfClassInfo(String time,Integer stuId, String longitude, String latitude){ + try { + Integer appUserId = tokenUtil.getUserIdFormRedis(); + if(null == appUserId){ + return ResultUtil.tokenErr(); + } + return ResultUtil.success(tappuService.queryWeekOfCourseDetails(appUserId,stuId,time,longitude,latitude)); + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } + + } + + + @ResponseBody + @PostMapping("/api/startCource/queryPhysical") + @ApiOperation(value = "获取学员测试报告", tags = {"APP-开始上课"}) + @ApiImplicitParams({ + @ApiImplicitParam(value = "学员id", name = "stuID", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil<StuPhysicalVo> getStuPhysicalInfo(@RequestBody Integer stuID){ + public ResultUtil<StuPhysicalVo> getStuPhysicalInfo(Integer stuID){ StuPhysicalVo vo = new StuPhysicalVo(); TStudent tStudent = istuService.getById(stuID); if (ToolUtil.isNotEmpty(tStudent)){ vo.setBmi(tStudent.getBmi()); + vo.setBodyStatus(BMIBodyUtil.getBodyStatus(tStudent.getBmi())); vo.setUrl(tStudent.getLateralSurface()); vo.setHeight(tStudent.getHeight()); vo.setWeight(tStudent.getWeight()); @@ -95,21 +131,19 @@ * 添加学员信息 */ @ResponseBody - @PostMapping("/stu/addData") - @ApiOperation(value = "添加学员信息", tags = {"APP-开始上课-添加学员信息"}, notes = "") + @PostMapping("/api/startCource/addData") + @ApiOperation(value = "添加学员信息", tags = {"APP-开始上课"}) @ApiImplicitParams({ - @ApiImplicitParam(value = "学员信息", name = "stu", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) @Transactional - public ResultUtil addStu(@RequestBody StuDetailsReq stu,HttpServletRequest request){ + public ResultUtil addStu(StuDetailsReq stu){ try { - Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(request); + Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(); if(null == userIdFormRedis){ return ResultUtil.tokenErr(); } - istuService.addStuOfAppUser(stu,userIdFormRedis); - return ResultUtil.success(); + return istuService.addStuOfAppUser(stu,userIdFormRedis); }catch (Exception e){ return ResultUtil.runErr(ResultUtil.ERROR); } @@ -119,14 +153,14 @@ * 该APP用户下的学员列表 */ @ResponseBody - @PostMapping("/stu/listOfStu") - @ApiOperation(value = "该APP用户下的学员列表", tags = {"APP-开始上课-学员列表"}, notes = "") + @PostMapping("/api/startCource/listOfStu") + @ApiOperation(value = "学员列表", tags = {"APP-开始上课"}) @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil queryStuList(HttpServletRequest request){ + public ResultUtil<List<StuListVo>> queryStuList(){ try { - Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(request); + Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(); if(null == userIdFormRedis){ return ResultUtil.tokenErr(); } @@ -144,27 +178,270 @@ vo.setStuHeight(sts.getHeight()); vo.setStuWeight(sts.getWeight()); vo.setIsNot(sts.getIsDefault()); + stuListVos.add(vo); }); } return ResultUtil.success(stuListVos); }catch (Exception e){ - return ResultUtil.runErr(ResultUtil.ERROR); + return ResultUtil.runErr(); } } + + + /** + * 切换学员 + */ + @ResponseBody + @PostMapping("/api/startCource/switchStu") + @ApiOperation(value = "切换学员", tags = {"APP-开始上课"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), + @ApiImplicitParam(value = "学员id", name = "stuId", required = true, dataType = "int"), + }) + public ResultUtil<List<StuListVo>> dealSwitchStudents(Integer stuId){ + try { + Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(); + if(null == userIdFormRedis){ + return ResultUtil.tokenErr(); + } + return ResultUtil.success(istuService.switchStudentActions(userIdFormRedis,stuId)); + }catch (Exception e){ + return ResultUtil.runErr(); + } + + + } + /** * 课时详情 */ @ResponseBody - @PostMapping("/stu/lessonDetails") - @ApiOperation(value = "课时详情", tags = {"APP-开始上课-课时详情"}, notes = "") + @PostMapping("/api/startCource/lessonDetails") + @ApiOperation(value = "课时详情", tags = {"APP-开始上课"}) @ApiImplicitParams({ - @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), + @ApiImplicitParam(value = "课包id", name = "lessonId", required = true, dataType = "int"), + @ApiImplicitParam(value = "学员id", name = "stuId", required = true, dataType = "int"), }) - public void coursePackageDetails(@RequestBody Integer lessonId){ + public ResultUtil<ClassDetailsInsVo> coursePackageDetails(Integer lessonId, Integer stuId){ + try { + Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(); + if(null == userIdFormRedis){ + return ResultUtil.tokenErr(); + } + + return ResultUtil.success(istuService.querySessionDetailsDt(userIdFormRedis,lessonId,stuId)); + }catch (Exception e){ + return ResultUtil.runErr(); + } } + /** + * 课时详情-记录列表 + */ + @ResponseBody + @PostMapping("/api/startCource/recordDetails") + @ApiOperation(value = "课时详情-记录列表", tags = {"APP-开始上课"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), + }) + public ResultUtil<List<PurchaseRecordVo>> recordList(RecordTimeRequest timeRequest){ + try { + Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(); + if(null == userIdFormRedis){ + return ResultUtil.tokenErr(); + } + return ResultUtil.success(istuService.queryDeduRecordDetails(timeRequest,userIdFormRedis)); + }catch (Exception e){ + return ResultUtil.runErr(); + } + } + + + /** + * 课时详情-续课课包详情 + */ + @ResponseBody + @PostMapping("/api/startCource/renewal") + @ApiOperation(value = "课时详情-续课课包详情", tags = {"APP-开始上课"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), + @ApiImplicitParam(value = "课包id", name = "lessonId", required = true, dataType = "int"), + @ApiImplicitParam(value = "学员id", name = "stuId", required = true, dataType = "int"), + }) + public ResultUtil<CourseDetailsOfContinuationResp> renewalOfCourses(Integer lessonId, Integer stuId){ + try { + Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(); + if(null == userIdFormRedis){ + return ResultUtil.tokenErr(); + } + return ResultUtil.success(istuService.queryStuOfCourseDetails(lessonId,stuId,userIdFormRedis)); + }catch (Exception e){ + return ResultUtil.runErr(); + } + + } + + + /** + * 课时详情-选择优惠券 + */ + @ResponseBody + @PostMapping("/api/startCource/conponList") + @ApiOperation(value = "课时详情-选择优惠券", tags = {"APP-开始上课"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil<List<CouponStuAvailableVo>> queryCouponList(){ + try { + Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(); + if(null == userIdFormRedis){ + return ResultUtil.tokenErr(); + } + return ResultUtil.success(istuService.queryStuOfConponDetails(userIdFormRedis)); + }catch (Exception e){ + return ResultUtil.runErr(); + } + + } + + + + /** + * 课时详情-支付 + */ + @ResponseBody + @PostMapping("/api/startCource/payment") + @ApiOperation(value = "课时详情-支付", tags = {"APP-开始上课"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), + }) + public ResultUtil continuationOperation(ClasspaymentRequest request){ + try { + Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(); + if(null == userIdFormRedis){ + return ResultUtil.tokenErr(); + } + return istuService.renewClassPayment(userIdFormRedis,request); + }catch (Exception e){ + return ResultUtil.runErr(); + } + + } + + + /** + * 学员评语 + */ + @ResponseBody + @PostMapping("/api/startCource/stuComment") + @ApiOperation(value = "学员评语", tags = {"APP-开始上课"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), + @ApiImplicitParam(value = "学员id", name = "stuId", required = true, dataType = "int"), + }) + public ResultUtil<List<StuCommentsVo>> queryStuComment( Integer stuId){ + try { + return ResultUtil.success(evalstuService.queryStuCommentsList(stuId)); + }catch (Exception e){ + return ResultUtil.runErr(); + } + } + + + /** + * 学员勋章详情 + */ + @ResponseBody + @PostMapping("/api/startCource/stuMedal") + @ApiOperation(value = "学员勋章详情", tags = {"APP-开始上课"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), + @ApiImplicitParam(value = "学员id", name = "stuId", required = true, dataType = "int"), + }) + public ResultUtil<List<StuMedalVo>> queryStuMedal( Integer stuId){ + try { + Integer appUserId = tokenUtil.getUserIdFormRedis(); + if(null == appUserId){ + return ResultUtil.tokenErr(); + } + return ResultUtil.success(honorService.queryHonorDetails(stuId)); + }catch (Exception e){ + return ResultUtil.runErr(); + } + } + + + /** + * 学员勋章 + */ + @ResponseBody + @PostMapping("/api/startCource/stuGoog") + @ApiOperation(value = "学员勋章", tags = {"APP-开始上课"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), + @ApiImplicitParam(value = "学员id", name = "stuId", required = true, dataType = "int"), + }) + public ResultUtil<List<GongVo>> queryStuGoog(Integer stuId){ + try { + Integer appUserId = tokenUtil.getUserIdFormRedis(); + if(null == appUserId){ + return ResultUtil.tokenErr(); + } + return ResultUtil.success(honorService.queryStuOfMedalData(stuId)); + }catch (Exception e){ + return ResultUtil.runErr(); + } + } + + /** + * 上课预约记录 + */ + @ResponseBody + @PostMapping("/api/startCource/stuAppointList") + @ApiOperation(value = "上课预约记录", tags = {"APP-开始上课"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), + @ApiImplicitParam(value = "学员id", name = "stuId", required = true, dataType = "int"), + }) + public ResultUtil<AppointmentRecordVo> cgeClassAppointmentRecordList(Integer stuId){ + try { + Integer appUserId = tokenUtil.getUserIdFormRedis(); + if(null == appUserId){ + return ResultUtil.tokenErr(); + } + return ResultUtil.success(istuService.getAppointmentRecords(stuId,appUserId)); + }catch (Exception e){ + return ResultUtil.runErr(); + } + } + + + + /** + * 取消预约 + */ + @ResponseBody + @PostMapping("/api/startCource/cancelCourse") + @ApiOperation(value = "上课预约-取消预约", tags = {"APP-开始上课"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), + @ApiImplicitParam(value = "上课记录id", name = "courseStuRecordId", required = true, dataType = "int"), + }) + public ResultUtil cancelReservation(Integer courseStuRecordId){ + try { + Integer appUserId = tokenUtil.getUserIdFormRedis(); + if(null == appUserId){ + return ResultUtil.tokenErr(); + } + return istuService.cancelReservationOfCourse(courseStuRecordId); + }catch (Exception e){ + return ResultUtil.runErr(); + } + } + } -- Gitblit v1.7.1