From 640ff18d2d7f4be02ddb7f8f75e899f05545eb98 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期一, 05 二月 2024 11:56:52 +0800
Subject: [PATCH] 更新bug修改

---
 cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java |  589 +++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 536 insertions(+), 53 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..b156500 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
@@ -1,18 +1,22 @@
 package com.dsh.account.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.dsh.account.entity.TAppGift;
 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.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.feignclient.competition.model.PurchaseRecordVo;
+import com.dsh.account.feignclient.course.model.RecordAppoint;
+import com.dsh.account.model.vo.classDetails.*;
+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.*;
+import com.dsh.account.util.*;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
@@ -20,21 +24,22 @@
 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;
+import java.util.Map;
 
 
 /**
  * 学员上课情况 接口
  */
-@Api
-@CrossOrigin
 @RestController
-@RequestMapping("/base/startCource")
+@RequestMapping("")
 public class ClassDetailsController {
 
     private Logger logger = LoggerFactory.getLogger("business-log");
@@ -46,45 +51,161 @@
     private TAppUserService tappuService;
 
     @Autowired
+    private EvaluateStudentService evalstuService;
+
+    @Autowired
+    private StudentHonorService honorService;
+
+    @Autowired
     private TokenUtil tokenUtil;
 
+    @Autowired
+    private TAppGiftService appGiftService;
 
 
     @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(Integer stuId) {
         try {
-            Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(request);
-            if(null == userIdFormRedis){
+            Integer userIdFormRedis = tokenUtil.getUserIdFormRedis();
+            if (null == userIdFormRedis) {
                 return ResultUtil.tokenErr();
             }
-            return ResultUtil.success(tappuService.queryUserOfStus(userIdFormRedis,longitude,latitude));
-        }catch (Exception e){
+            return ResultUtil.success(tappuService.queryUserOfStus(stuId, 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 = false, dataType = "string"),
+            @ApiImplicitParam(value = "用户纬度", name = "latitude", required = false, 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/weeksOfCourseDetailsList")
+    @ApiOperation(value = "上课首页-课程列表2.0", tags = {"APP-开始上课"})
+    @ApiImplicitParams({
+            @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 = "门店id", name = "storeId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "用户经度", name = "longitude", required = false, dataType = "string"),
+            @ApiImplicitParam(value = "用户纬度", name = "latitude", required = false, dataType = "string"),
+    })
+    public ResultUtil<Map<String, Object>> weeksOfCourseDetailsList(String time, Integer stuId, Integer storeId, String longitude, String latitude) {
+        try {
+            Integer appUserId = tokenUtil.getUserIdFormRedis();
+            if (null == appUserId) {
+                return ResultUtil.tokenErr();
+            }
+            return ResultUtil.success(tappuService.weeksOfCourseDetailsList(appUserId, stuId, time, storeId, longitude, latitude));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+    @ResponseBody
+    @PostMapping("/api/startCource/weeksOfGetHours")
+    @ApiOperation(value = "上课首页获取未分配课时-课程列表", tags = {"APP-开始上课"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+    })
+    public ResultUtil<Integer> weeksOfGetHours() {
+        try {
+            Integer appUserId = tokenUtil.getUserIdFormRedis();
+            if (null == appUserId) {
+                return ResultUtil.tokenErr();
+            }
+            Integer num = 0;
+            List<TAppGift> list = appGiftService.list(new LambdaQueryWrapper<TAppGift>().eq(TAppGift::getUserId, appUserId));
+            for (TAppGift tAppGift : list) {
+                num += tAppGift.getNum();
+            }
+            return ResultUtil.success(num);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    @ResponseBody
+    @PostMapping("/api/startCource/weeksOfAddHours")
+    @ApiOperation(value = "上课首页分配课时-课程列表", tags = {"APP-开始上课"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+            @ApiImplicitParam(value = "分配给课包id", name = "packetId", required = true, dataType = "Long"),
+    })
+    public ResultUtil<Integer> weeksOfAddHours(Long packetId) {
+        try {
+            Integer appUserId = tokenUtil.getUserIdFormRedis();
+            if (null == appUserId) {
+                return ResultUtil.tokenErr();
+            }
+            TAppGift one = appGiftService.getOne(new LambdaQueryWrapper<TAppGift>().eq(TAppGift::getUserId, appUserId));
+            Integer i = 0;
+            if (one != null && one.getNum() > 0) {
+                i = appGiftService.weeksOfAddHours(packetId, appUserId, one.getNum());
+            }
+            if (i == 1) {
+                // 送完清0
+                one.setNum(0);
+                appGiftService.updateById(one);
+                return ResultUtil.success();
+            } else {
+                return ResultUtil.runErr();
+            }
+        } 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)){
+        if (ToolUtil.isNotEmpty(tStudent)) {
             vo.setBmi(tStudent.getBmi());
-            vo.setUrl(tStudent.getLateralSurface());
+            vo.setBodyStatus(BMIBodyUtil.getBodyStatus(tStudent.getBmi()));
+            if (tStudent.getLateralSurface() != null) {
+                String[] split = tStudent.getLateralSurface().split(";");
+                vo.setUrls(split);
+            }
             vo.setHeight(tStudent.getHeight());
             vo.setWeight(tStudent.getWeight());
         }
@@ -95,22 +216,20 @@
      * 添加学员信息
      */
     @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);
-            if(null == userIdFormRedis){
+            Integer userIdFormRedis = tokenUtil.getUserIdFormRedis();
+            if (null == userIdFormRedis) {
                 return ResultUtil.tokenErr();
             }
-            istuService.addStuOfAppUser(stu,userIdFormRedis);
-            return ResultUtil.success();
-        }catch (Exception e){
+            return istuService.addStuOfAppUser(stu, userIdFormRedis);
+        } catch (Exception e) {
             return ResultUtil.runErr(ResultUtil.ERROR);
         }
     }
@@ -119,24 +238,27 @@
      * 该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);
-            if(null == userIdFormRedis){
+            Integer userIdFormRedis = tokenUtil.getUserIdFormRedis();
+            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){
+                    .eq("appUserId", userIdFormRedis).eq("state", 1));
+            if (tStudents.size() > 0) {
                 tStudents.forEach(sts -> {
                     StuListVo vo = new StuListVo();
                     vo.setStuId(sts.getId());
+                    vo.setStuHeadImg(sts.getHeadImg());
+                    vo.setStuPhone(ToolUtil.isEmpty(sts.getPhone()) ? "" : sts.getPhone());
+                    vo.setIdCard(ToolUtil.isEmpty(sts.getIdCard()) ? "" : sts.getIdCard());
                     SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
                     vo.setBirthday(simpleDateFormat.format(sts.getBirthday()));
                     vo.setStuName(sts.getName());
@@ -144,27 +266,388 @@
                     vo.setStuHeight(sts.getHeight());
                     vo.setStuWeight(sts.getWeight());
                     vo.setIsNot(sts.getIsDefault());
+                    vo.setStuPhone(sts.getPhone());
+                    vo.setSex(sts.getSex());
+                    stuListVos.add(vo);
                 });
             }
             return ResultUtil.success(stuListVos);
-        }catch (Exception e){
-            return ResultUtil.runErr(ResultUtil.ERROR);
+        } catch (Exception e) {
+            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("/api/startCource/editStu")
+    @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<StuDetailsVo> editStudentInfo(Integer stuId) {
+        try {
+            TStudent byId = istuService.getById(stuId);
+            if (ToolUtil.isEmpty(byId)) {
+                ResultUtil.error("未查询到该学员!");
+            }
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+            StuDetailsVo detailsVo = new StuDetailsVo();
+            detailsVo.setStuId(byId.getId());
+            detailsVo.setStuHeadImg(byId.getHeadImg());
+            detailsVo.setStuName(byId.getName());
+            detailsVo.setBirthday(simpleDateFormat.format(byId.getBirthday()));
+            detailsVo.setStuHeight(byId.getHeight());
+            detailsVo.setStuWeight(byId.getWeight());
+            detailsVo.setIdCard(ToolUtil.isEmpty(byId.getIdCard()) ? "" : byId.getIdCard());
+            detailsVo.setStuPhone(ToolUtil.isEmpty(byId.getPhone()) ? "" : byId.getPhone());
+            return ResultUtil.success(detailsVo);
+        } catch (Exception e) {
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 提交编辑学员
+     */
+    @ResponseBody
+    @PostMapping("/api/startCource/commitEditStu")
+    @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 commitEditStu(StuDetailsReq stu) {
+        try {
+            Integer userIdFormRedis = tokenUtil.getUserIdFormRedis();
+            if (null == userIdFormRedis) {
+                return ResultUtil.tokenErr();
+            }
+            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+
+            Double height = stu.getHeight();
+            Double squareHeight = Math.pow(height / 100, 2);
+            Double weight = stu.getWeight();
+
+            Double bim = weight / squareHeight;
+
+            TStudent tStudent = new TStudent();
+
+
+            tStudent.setId(stu.getStuId());
+            tStudent.setBirthday(format.parse(stu.getBirthday()));
+            tStudent.setHeadImg(stu.getHeadImg());
+            tStudent.setHeight(stu.getHeight());
+            tStudent.setWeight(stu.getWeight());
+            tStudent.setPhone(stu.getPhone());
+            tStudent.setSex(stu.getSex());
+            tStudent.setName(stu.getName());
+            tStudent.setIdCard(stu.getIdCard());
+            tStudent.setBmi(bim);
+
+            if (ToolUtil.isNotEmpty(tStudent.getName()) && ToolUtil.isNotEmpty(tStudent.getIdCard())) {
+                Boolean aBoolean = JuHeUtil.idcardAuthentication(tStudent.getIdCard(), tStudent.getName());
+                if (!aBoolean) {
+                    return ResultUtil.error("身份证和姓名不匹配");
+                }
+            }
+
+            return ResultUtil.success(istuService.updateById(tStudent));
+        } catch (Exception e) {
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 学员设为默认
+     */
+    @ResponseBody
+    @PostMapping("/api/startCource/editDefault")
+    @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 editDefault(Integer stuId) {
+        try {
+            Integer userIdFormRedis = tokenUtil.getUserIdFormRedis();
+            if (null == userIdFormRedis) {
+                return ResultUtil.tokenErr();
+            }
+            TStudent byId = istuService.getById(stuId);
+            if (ToolUtil.isEmpty(byId)) {
+                ResultUtil.error("未查询到该学员!");
+            }
+            byId.setIsDefault(1);
+            istuService.updateById(byId);
+            List<TStudent> list = istuService.list(new LambdaQueryWrapper<TStudent>()
+                    .eq(TStudent::getAppUserId, userIdFormRedis)
+                    .ne(TStudent::getId, byId.getId()));
+            for (TStudent tStudent : list) {
+                tStudent.setIsDefault(2);
+                istuService.updateById(tStudent);
+            }
+            return ResultUtil.success();
+        } 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) {
+            e.printStackTrace();
+            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(appUserId));
+        } 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"),
+            @ApiImplicitParam(value = "预约状态 0=全部 1=待上课 2=已完成 3=已取消", name = "appointStatus", required = false, dataType = "int"),
+            @ApiImplicitParam(value = "时间类型 0=全部 1=近一周 2=近一个月 3=近一年", name = "timeType", required = false, dataType = "int"),
+            @ApiImplicitParam(value = "课程名称", name = "appointStatus", required = false, dataType = "string"),
+    })
+    public ResultUtil<List<RecordAppoint>> cgeClassAppointmentRecordList(Integer stuId, Integer appointStatus, Integer timeType, String search, Integer pageNum) {
+        Integer appUserId = tokenUtil.getUserIdFormRedis();
+        if (null == appUserId) {
+            return ResultUtil.tokenErr();
+        }
+        return ResultUtil.success(istuService.getAppointmentRecords(stuId, appUserId, appointStatus, timeType, search, pageNum));
+    }
+
+
+    /**
+     * 取消预约
+     */
+    @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