From aa43a92c7ec9053dbaef92fe5ccb3011b670442c Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 12 七月 2023 11:46:21 +0800
Subject: [PATCH] 更新线上视频奖励模块接口

---
 cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java |  378 ++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 310 insertions(+), 68 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 4206d97..d371b09 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,35 +1,44 @@
 package com.dsh.account.controller;
 
 
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.dsh.account.model.vo.classDetails.classInsVo.StuDetailsReq;
-import com.dsh.account.util.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 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.ClasspaymentRequest;
+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 io.swagger.annotations.*;
+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.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 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");
@@ -40,93 +49,326 @@
     @Autowired
     private TAppUserService tappuService;
 
+    @Autowired
+    private EvaluateStudentService evalstuService;
+
+    @Autowired
+    private StudentHonorService honorService;
+
+    @Autowired
+    private TokenUtil tokenUtil;
+
 
 
     @ResponseBody
-    @PostMapping("/stu/queryStudentData")
-    @ApiOperation(value = "根据登录用户ID查询学员信息", tags = {"用户——学员信息"}, notes = "")
+    @PostMapping("/api/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(String longitude, String latitude){
         try {
-            return tappuService.queryUserOfStus(id);
+            Integer userIdFormRedis = tokenUtil.getUserIdFormRedis();
+            if(null == userIdFormRedis){
+                return ResultUtil.tokenErr();
+            }
+            return ResultUtil.success(tappuService.queryUserOfStus(userIdFormRedis,longitude,latitude));
         }catch (Exception e){
             e.printStackTrace();
-            return null;
+            return ResultUtil.runErr();
         }
     }
 
 
-    /**
-     * 获取学员测试报告
-     */
-    @PostMapping("/stu/queryPhysical")
-    public StuPhysicalVo getStuPhysicalInfo(@RequestBody Integer stuID){
+    @ResponseBody
+    @PostMapping("/api/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 ResultUtil<StuPhysicalVo> getStuPhysicalInfo(Integer stuID){
         StuPhysicalVo vo = new StuPhysicalVo();
-        TStudent tStudent = istuService.selectById(stuID);
-        vo.setBmi(tStudent.getBmi());
-        vo.setUrl(tStudent.getLateralSurface());
-        vo.setHeight(tStudent.getHeight());
-        vo.setWeight(tStudent.getWeight());
-        return vo;
+        TStudent tStudent = istuService.getById(stuID);
+        if (ToolUtil.isNotEmpty(tStudent)){
+            vo.setBmi(tStudent.getBmi());
+            vo.setUrl(tStudent.getLateralSurface());
+            vo.setHeight(tStudent.getHeight());
+            vo.setWeight(tStudent.getWeight());
+        }
+        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.insert(student);
+    @ResponseBody
+    @PostMapping("/api/startCource/addData")
+    @ApiOperation(value = "添加学员信息", tags = {"APP-开始上课"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    @Transactional
+    public ResultUtil addStu(StuDetailsReq stu){
+        try {
+            Integer userIdFormRedis = tokenUtil.getUserIdFormRedis();
+            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.selectList(new EntityWrapper<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("/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<List<StuListVo>> queryStuList(){
+        try {
+            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){
+                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());
+                    stuListVos.add(vo);
+                });
+            }
+            return ResultUtil.success(stuListVos);
+        }catch (Exception e){
+            return ResultUtil.runErr();
         }
-        return stuListVos;
     }
+
+
+    /**
+     * 切换学员
+     */
+    @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();
+        }
+
+
+    }
+
 
     /**
      * 课时详情
      */
-    @PostMapping("/stu/lessonDetails")
-    public void coursePackageDetails(@RequestBody Integer lessonId){
+    @ResponseBody
+    @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(value = "课包id", name = "lessonId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "学员id", name = "stuId", required = true, dataType = "int"),
+    })
+    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.....")
+    })
+    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(@RequestParam("stuId") 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(@RequestParam("stuId") 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(@RequestParam("stuId") 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();
+        }
     }
 
 

--
Gitblit v1.7.1