From add48c8930d02d58046e89e78b0530c2d5fce32d Mon Sep 17 00:00:00 2001 From: lisy <linlangsur163@163.com> Date: 星期五, 30 六月 2023 18:34:15 +0800 Subject: [PATCH] 课程信息:课时详情中续课数据处理 --- cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java | 271 ++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 211 insertions(+), 60 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 5accefc..205d703 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 @@ -2,35 +2,38 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.dsh.account.model.vo.classDetails.classInsVo.StuDetailsReq; -import com.dsh.account.util.DateUtil; import com.dsh.account.entity.TStudent; -import com.dsh.account.model.vo.classDetails.classInsVo.ClassInfoVo; -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.classInsVo.*; +import com.dsh.account.model.vo.sourceDetail.CourseDetailsOfContinuationResp; +import com.dsh.account.model.vo.sourceDetail.RecordTimeRequest; +import com.dsh.account.model.vo.sourceDetail.CouponStuAvailableVo; 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.*; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; -import java.math.BigDecimal; +import javax.servlet.http.HttpServletRequest; import java.text.SimpleDateFormat; import java.util.ArrayList; -import java.util.Date; import java.util.List; /** * 学员上课情况 接口 */ -@Api -@CrossOrigin @RestController -@RequestMapping("/startCource") +@RequestMapping("") public class ClassDetailsController { private Logger logger = LoggerFactory.getLogger("business-log"); @@ -41,33 +44,41 @@ @Autowired private TAppUserService tappuService; + @Autowired + private TokenUtil tokenUtil; + @ResponseBody - @PostMapping("/stu/queryStudentData") - @ApiOperation(value = "根据登录用户ID查询学员信息", tags = {"APP-用户学员信息"}, notes = "") + @PostMapping("/base/startCource/queryStudentData") + @ApiOperation(value = "上课首页", tags = {"APP-开始上课"}) @ApiImplicitParams({ - @ApiImplicitParam(value = "用户id", name = "id", required = true, dataType = "int"), + @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 ClassInfoVo queryCouponRecord(@RequestBody Integer id){ + public ResultUtil<ClassInfoVo> queryCouponRecord(@RequestBody String longitude, @RequestBody String latitude, HttpServletRequest request){ try { - return tappuService.queryUserOfStus(id); + Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(request); + if(null == userIdFormRedis){ + return ResultUtil.tokenErr(); + } + return ResultUtil.success(tappuService.queryUserOfStus(userIdFormRedis,longitude,latitude)); }catch (Exception e){ e.printStackTrace(); - return null; + return ResultUtil.runErr(); } } @ResponseBody - @PostMapping("/stu/queryPhysical") - @ApiOperation(value = "获取学员测试报告", tags = {"APP-获取学员测试报告"}, notes = "") + @PostMapping("/base/startCource/queryPhysical") + @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.....") }) - public StuPhysicalVo getStuPhysicalInfo(@RequestBody Integer stuID){ + public ResultUtil<StuPhysicalVo> getStuPhysicalInfo(@RequestBody Integer stuID){ StuPhysicalVo vo = new StuPhysicalVo(); TStudent tStudent = istuService.getById(stuID); if (ToolUtil.isNotEmpty(tStudent)){ @@ -76,63 +87,203 @@ vo.setHeight(tStudent.getHeight()); vo.setWeight(tStudent.getWeight()); } - return vo; + return ResultUtil.success(vo); } /** * 添加学员信息 */ - @PostMapping("/stu/addData") - public void addStu(@RequestBody StuDetailsReq stu){ - TStudent student = new TStudent(); - student.setAppUserId(stu.getUserID()); - student.setName(stu.getName()); - student.setHeadImg(stu.getHeadImg()); - student.setPhone(stu.getPhone()); - student.setSex(stu.getSex()); - student.setIdCard(stu.getIdCard()); - student.setBirthday(new Date(stu.getBirthday())); - student.setHeight(stu.getHeight()); - student.setWeight(stu.getWeight()); - BigDecimal bigDecimal = BigDecimal.valueOf(stu.getWeight()); - BigDecimal multiply = bigDecimal.subtract(BigDecimal.valueOf(stu.getHeight())).multiply(bigDecimal.subtract(BigDecimal.valueOf(stu.getHeight()))); - multiply.setScale(2); - student.setBmi(multiply.doubleValue()); - student.setInsertTime(new Date()); - student.setState(1); - istuService.save(student); + @ResponseBody + @PostMapping("/base/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){ + try { + Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(request); + if(null == userIdFormRedis){ + return ResultUtil.tokenErr(); + } + istuService.addStuOfAppUser(stu,userIdFormRedis); + return ResultUtil.success(); + }catch (Exception e){ + return ResultUtil.runErr(ResultUtil.ERROR); + } } /** * 该APP用户下的学员列表 */ - @PostMapping("/stu/listOfStu") - public List<StuListVo> queryStuList(@RequestBody Integer appUserID){ - List<StuListVo> stuListVos = new ArrayList<>(); - List<TStudent> tStudents = istuService.list(new QueryWrapper<TStudent>() - .eq("appUserId",appUserID)); - if (tStudents.size() > 0){ - tStudents.forEach(sts -> { - StuListVo vo = new StuListVo(); - vo.setStuId(sts.getId()); - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); - vo.setBirthday(simpleDateFormat.format(sts.getBirthday())); - vo.setStuName(sts.getName()); - vo.setStuAge(DateUtil.age(sts.getBirthday())); - vo.setStuHeight(sts.getHeight()); - vo.setStuWeight(sts.getWeight()); - vo.setIsNot(sts.getIsDefault()); - }); + @ResponseBody + @PostMapping("/base/startCource/listOfStu") + @ApiOperation(value = "学员列表", tags = {"APP-开始上课"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil<List<StuListVo>> queryStuList(HttpServletRequest request){ + try { + Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(request); + if(null == userIdFormRedis){ + return ResultUtil.tokenErr(); + } + List<StuListVo> stuListVos = new ArrayList<>(); + List<TStudent> tStudents = istuService.list(new QueryWrapper<TStudent>() + .eq("appUserId",userIdFormRedis)); + if (tStudents.size() > 0){ + tStudents.forEach(sts -> { + StuListVo vo = new StuListVo(); + vo.setStuId(sts.getId()); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + vo.setBirthday(simpleDateFormat.format(sts.getBirthday())); + vo.setStuName(sts.getName()); + vo.setStuAge(DateUtil.age(sts.getBirthday())); + vo.setStuHeight(sts.getHeight()); + vo.setStuWeight(sts.getWeight()); + vo.setIsNot(sts.getIsDefault()); + }); + } + return ResultUtil.success(stuListVos); + }catch (Exception e){ + return ResultUtil.runErr(); } - return stuListVos; } /** * 课时详情 */ - @PostMapping("/stu/lessonDetails") - public void coursePackageDetails(@RequestBody Integer lessonId){ + @ResponseBody + @PostMapping("/base/startCource/lessonDetails") + @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<ClassDetailsInsVo> coursePackageDetails(@RequestBody Integer lessonId, @RequestBody Integer stuId, HttpServletRequest request){ + try { + Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(request); + if(null == userIdFormRedis){ + return ResultUtil.tokenErr(); + } + return ResultUtil.success(istuService.querySessionDetailsDt(userIdFormRedis,lessonId,stuId)); + }catch (Exception e){ + return ResultUtil.runErr(); + } + + } + + + + /** + * 课时详情-记录列表 + */ + @ResponseBody + @PostMapping("/base/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(@RequestBody RecordTimeRequest timeRequest, HttpServletRequest request){ + try { + Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(request); + if(null == userIdFormRedis){ + return ResultUtil.tokenErr(); + } + return ResultUtil.success(istuService.queryDeduRecordDetails(timeRequest,userIdFormRedis)); + }catch (Exception e){ + return ResultUtil.runErr(); + } + } + + + /** + * 课时详情-续课 + */ + @ResponseBody + @PostMapping("/base/startCource/renewal") + @ApiOperation(value = "课时详情-续课课包详情", tags = {"APP-开始上课"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil<CourseDetailsOfContinuationResp> renewalOfCourses(@RequestBody Integer lessonId, @RequestBody Integer stuId, HttpServletRequest request){ + try { + Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(request); + if(null == userIdFormRedis){ + return ResultUtil.tokenErr(); + } + return ResultUtil.success(istuService.queryStuOfCourseDetails(lessonId,stuId,userIdFormRedis)); + }catch (Exception e){ + return ResultUtil.runErr(); + } + + } + + + /** + * 课时详情-续课 + */ + @ResponseBody + @PostMapping("/base/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(HttpServletRequest request){ + try { + Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(request); + if(null == userIdFormRedis){ + return ResultUtil.tokenErr(); + } + return ResultUtil.success(istuService.queryStuOfConponDetails(userIdFormRedis)); + }catch (Exception e){ + return ResultUtil.runErr(); + } + + } + + + + /** + * 课时详情-续课 + */ + @ResponseBody + @PostMapping("/base/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(@RequestBody Integer lessonId, @RequestBody Integer stuId, HttpServletRequest request){ + try { + + return ResultUtil.success(); + }catch (Exception e){ + return ResultUtil.runErr(); + } + + } + + + /** + * 学员评语 + */ + @ResponseBody + @PostMapping("/base/startCource/stuComment") + @ApiOperation(value = "学员评语", tags = {"APP-开始上课"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil<?> queryStuComment(@RequestParam("stuId") Integer stuId, HttpServletRequest request){ + try { + + + return ResultUtil.success(); + }catch (Exception e){ + return ResultUtil.runErr(); + } } -- Gitblit v1.7.1