From b64d67ef01e81a857046f19dd556b4e4f0695e1c Mon Sep 17 00:00:00 2001
From: liujie <liujie>
Date: 星期三, 02 八月 2023 16:41:51 +0800
Subject: [PATCH] 后台代码  门店管理

---
 cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java |  364 ++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 323 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..12bc776 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,275 @@
                     vo.setStuHeight(sts.getHeight());
                     vo.setStuWeight(sts.getWeight());
                     vo.setIsNot(sts.getIsDefault());
+                    vo.setStuPhone(sts.getPhone());
+                    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){
+            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(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"),
+            @ApiImplicitParam(value = "预约状态 0=全部 1=待上课 2=已完成 3=已取消", name = "appointStatus", required = false, dataType = "int"),
+            @ApiImplicitParam(value = "时间类型 0=全部 1=近一周 2=近一个月 3=近一年", name = "appointStatus", required = false, dataType = "int"),
+            @ApiImplicitParam(value = "课程名称", name = "appointStatus", required = false, dataType = "string"),
+    })
+    public ResultUtil<AppointmentRecordVo> cgeClassAppointmentRecordList(Integer stuId,Integer appointStatus,Integer timeType,String search){
+        try {
+            Integer appUserId = tokenUtil.getUserIdFormRedis();
+            if(null == appUserId){
+                return ResultUtil.tokenErr();
+            }
+            return ResultUtil.success(istuService.getAppointmentRecords(stuId,appUserId,appointStatus,timeType,search));
+        }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