From c0c748400207db88cabab4f436a122b92269e559 Mon Sep 17 00:00:00 2001
From: java <linlangsur163@163.com>
Date: 星期四, 29 六月 2023 11:44:43 +0800
Subject: [PATCH] 课程信息:课时详情中的记录-赛事记录查询

---
 cloud-server-competition/src/main/java/com/dsh/competition/service/UserCompetitionService.java              |    4 
 cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java                   |   69 +++++++++++++
 cloud-server-competition/src/main/java/com/dsh/competition/feignclient/DeductionCompetitionsClient.java     |    8 +
 cloud-server-competition/src/main/java/com/dsh/competition/mapper/UserCompetitionMapper.java                |    4 
 cloud-server-competition/src/main/java/com/dsh/competition/controller/UserCompetitionController.java        |   30 -----
 cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml                               |    4 
 cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/PurchaseRecordVo.java   |    4 
 cloud-server-competition/src/main/java/com/dsh/competition/service/impl/UserCompetitionServiceImpl.java     |   17 ---
 cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/RecordTimeRequest.java             |   23 ++++
 cloud-server-competition/src/main/resources/mapper/UserCompetitionMapper.xml                                |   30 +++++
 cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java |    9 +
 cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java            |   50 +++++++++
 12 files changed, 193 insertions(+), 59 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 55abd29..3850310 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
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.dsh.account.entity.TStudent;
 import com.dsh.account.model.vo.classDetails.classInsVo.*;
+import com.dsh.account.model.vo.sourceDetail.RecordTimeRequest;
 import com.dsh.account.service.TAppUserService;
 import com.dsh.account.service.TStudentService;
 import com.dsh.account.util.DateUtil;
@@ -154,7 +155,9 @@
     @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(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 {
@@ -172,4 +175,68 @@
 
 
 
+    /**
+     * 课时详情-记录列表
+     */
+    @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();
+        }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<?> renewalOfCourses(@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();
+        }
+    }
+
+
+
 }
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java
index ec1bfc9..78f1816 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java
@@ -1,11 +1,16 @@
 package com.dsh.account.feignclient.competition;
 
 
+import com.dsh.account.model.vo.classDetails.classInsVo.PurchaseRecordVo;
 import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
 
 @FeignClient(value = "mb-cloud-competition")
 public interface DeductionCompetitionsClient {
-
-
+    @PostMapping("/competition/getCompetitionsDetails")
+    public List<PurchaseRecordVo> getStuSourseList(@RequestParam("appUserId") Integer appUserId);
 
 }
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/PurchaseRecordVo.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/PurchaseRecordVo.java
index 40c88a4..bd79f49 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/PurchaseRecordVo.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/PurchaseRecordVo.java
@@ -14,10 +14,10 @@
     @ApiModelProperty(value = "类型名称")
     private String purchaseType;
 
-    @ApiModelProperty(value = "类型变动时间")
+    @ApiModelProperty(value = "类型变动时间 例如 06-29 10:48")
     private String purchaseTime;
 
-    @ApiModelProperty(value = "类型涉及金额")
+    @ApiModelProperty(value = "类型涉及金额 例如 +100  -50")
     private String purchaseAmount;
 
 }
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/RecordTimeRequest.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/RecordTimeRequest.java
new file mode 100644
index 0000000..e91a56a
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/RecordTimeRequest.java
@@ -0,0 +1,23 @@
+package com.dsh.account.model.vo.sourceDetail;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class RecordTimeRequest {
+
+    @ApiModelProperty(value = "学员id", dataType = "int", required = true)
+    private Integer stuId;
+
+    @ApiModelProperty(value = "课包id", dataType = "int")
+    private Integer lessonId;
+
+    @ApiModelProperty(value = "开始时间", dataType = "string")
+    private String startTime;
+
+    @ApiModelProperty(value = "结束时间", dataType = "string")
+    private String endTime;
+
+    @ApiModelProperty(value = "类型:1购买课包 2消费扣除 3报名赛事 4介绍有礼 5全部", dataType = "int")
+    private Integer type;
+}
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java b/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java
index 6cb3e3d..200a3ea 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java
@@ -1,9 +1,22 @@
 package com.dsh.competition.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.dsh.competition.entity.Competition;
+import com.dsh.competition.entity.UserCompetition;
+import com.dsh.competition.feignclient.model.PurchaseRecordVo;
+import com.dsh.competition.service.CompetitionService;
+import com.dsh.competition.service.UserCompetitionService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
-
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -14,8 +27,41 @@
  * @since 2023-06-26
  */
 @RestController
-@RequestMapping("/competition")
+@RequestMapping("")
 public class CompetitionController {
 
+
+    @Autowired
+    private CompetitionService cttService;
+
+    @Autowired
+    private UserCompetitionService ucttService;
+
+    private final SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd HH:mm");
+
+    @PostMapping("/competition/getCompetitionsDetails")
+    public List<PurchaseRecordVo> getStuSourseList(@RequestParam("appUserId") Integer appUserId){
+
+        List<PurchaseRecordVo> recordVos = new ArrayList<>();
+
+        List<Competition> list = cttService.list(new QueryWrapper<Competition>()
+                .eq("payType",3 )
+                .eq("auditStatus",2));
+        List<Integer> comIds = list.stream().map(Competition::getId).collect(Collectors.toList());
+        List<UserCompetition> userCompetitions = ucttService.queryUsersCompetetions(appUserId,comIds);
+        if (userCompetitions.size() > 0){
+            userCompetitions.forEach(coms ->{
+                PurchaseRecordVo recordVo = new PurchaseRecordVo();
+                recordVo.setPurchaseType("报名赛事");
+                recordVo.setPurchaseTime(dateFormat.format(coms.getInsertTime()));
+                Competition competition = cttService.getById(coms.getCompetitionId());
+                recordVo.setPurchaseAmount("-"+competition.getPrice());
+                recordVos.add(recordVo);
+            });
+        }
+        return recordVos;
+    }
+
+
 }
 
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/controller/UserCompetitionController.java b/cloud-server-competition/src/main/java/com/dsh/competition/controller/UserCompetitionController.java
index 3f9c80f..7039dd2 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/controller/UserCompetitionController.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/controller/UserCompetitionController.java
@@ -1,17 +1,8 @@
 package com.dsh.competition.controller;
 
 
-import com.dsh.competition.feignclient.model.ClassDataDetails;
-import com.dsh.competition.feignclient.model.PurchaseRecordVo;
-import com.dsh.competition.service.UserCompetitionService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
-
-import java.util.ArrayList;
-import java.util.List;
 
 /**
  * <p>
@@ -22,27 +13,8 @@
  * @since 2023-06-26
  */
 @RestController
-@RequestMapping("/user-competition")
+@RequestMapping("/user_competition")
 public class UserCompetitionController {
-
-
-    @Autowired
-    private UserCompetitionService ucService;
-
-    /**
-     * 获取报名赛事的课时扣减记录
-     */
-    @PostMapping("/deRecord")
-    public List<ClassDataDetails> getDeductionRecordOfRegistrationEvent(@RequestBody Integer appUserId,@RequestBody String startTime,@RequestBody String endTime){
-        List<ClassDataDetails> details = new ArrayList<>();
-        List<PurchaseRecordVo> recordVos = ucService.queryDeRecordDetails(appUserId,startTime,endTime);
-
-
-        return details;
-
-
-    }
-
 
 }
 
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/DeductionCompetitionsClient.java b/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/DeductionCompetitionsClient.java
index 666ce61..d23621b 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/DeductionCompetitionsClient.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/DeductionCompetitionsClient.java
@@ -1,11 +1,17 @@
 package com.dsh.competition.feignclient;
 
 
+import com.dsh.competition.feignclient.model.PurchaseRecordVo;
 import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
 
 @FeignClient(value = "mb-cloud-competition")
 public interface DeductionCompetitionsClient {
 
-
+    @PostMapping("/competition/getCompetitionsDetails")
+    public List<PurchaseRecordVo> getStuSourseList(@RequestParam("appUserId") Integer appUserId);
 
 }
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/mapper/UserCompetitionMapper.java b/cloud-server-competition/src/main/java/com/dsh/competition/mapper/UserCompetitionMapper.java
index 62a4713..481c830 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/mapper/UserCompetitionMapper.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/mapper/UserCompetitionMapper.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dsh.competition.entity.UserCompetition;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -15,6 +16,7 @@
  */
 public interface UserCompetitionMapper extends BaseMapper<UserCompetition> {
 
-    List<UserCompetition> queryDeRecordDetails(Integer appUserId,List<Integer> collect,String startTime, String endTime);
+
+    List<UserCompetition> queryUsersCompetetions(@Param("appUserId") Integer appUserId,@Param("comIds") List<Integer> comIds);
 
 }
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/service/UserCompetitionService.java b/cloud-server-competition/src/main/java/com/dsh/competition/service/UserCompetitionService.java
index 0dc6ffe..386cfad 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/service/UserCompetitionService.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/service/UserCompetitionService.java
@@ -2,7 +2,6 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.dsh.competition.entity.UserCompetition;
-import com.dsh.competition.feignclient.model.PurchaseRecordVo;
 
 import java.util.List;
 
@@ -16,6 +15,7 @@
  */
 public interface UserCompetitionService extends IService<UserCompetition> {
 
-    List<PurchaseRecordVo> queryDeRecordDetails(Integer appUserId,String startTime, String endTime);
+
+    List<UserCompetition> queryUsersCompetetions(Integer appUserId, List<Integer> comIds);
 
 }
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/UserCompetitionServiceImpl.java b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/UserCompetitionServiceImpl.java
index 340c55e..2a8d208 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/UserCompetitionServiceImpl.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/UserCompetitionServiceImpl.java
@@ -1,18 +1,12 @@
 package com.dsh.competition.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.dsh.competition.entity.Competition;
 import com.dsh.competition.entity.UserCompetition;
-import com.dsh.competition.feignclient.model.PurchaseRecordVo;
-import com.dsh.competition.mapper.CompetitionMapper;
 import com.dsh.competition.mapper.UserCompetitionMapper;
 import com.dsh.competition.service.UserCompetitionService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
-import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -25,16 +19,9 @@
 @Service
 public class UserCompetitionServiceImpl extends ServiceImpl<UserCompetitionMapper, UserCompetition> implements UserCompetitionService {
 
-    @Autowired
-    CompetitionMapper comMapper;
 
     @Override
-    public List<PurchaseRecordVo> queryDeRecordDetails(Integer appUserId,String startTime, String endTime) {
-        List<Competition> competitions = comMapper.selectList(new QueryWrapper<Competition>()
-                .eq("payType", 3)
-                .eq("auditStatus",2));
-        List<Integer> collect = competitions.stream().map(Competition::getId).collect(Collectors.toList());
-        List<UserCompetition> purchaseRecordVos = this.baseMapper.queryDeRecordDetails(appUserId, collect, startTime, endTime);
-        return null;
+    public List<UserCompetition> queryUsersCompetetions(Integer appUserId, List<Integer> comIds) {
+        return this.baseMapper.queryUsersCompetetions(appUserId,comIds);
     }
 }
diff --git a/cloud-server-competition/src/main/resources/mapper/UserCompetitionMapper.xml b/cloud-server-competition/src/main/resources/mapper/UserCompetitionMapper.xml
index 65f6df0..aa933cb 100644
--- a/cloud-server-competition/src/main/resources/mapper/UserCompetitionMapper.xml
+++ b/cloud-server-competition/src/main/resources/mapper/UserCompetitionMapper.xml
@@ -2,8 +2,34 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.dsh.competition.mapper.UserCompetitionMapper">
 
-    <select id="queryDeRecordDetails" resultType="com.dsh.competition.entity.UserCompetition">
-
+    <select id="queryUsersCompetetions" resultType="com.dsh.competition.entity.UserCompetition">
+        SELECT *
+        FROM t_user_competition
+        UNION ALL
+        SELECT *
+        FROM t_user_competition1
+        UNION ALL
+        SELECT *
+        FROM t_user_competition2
+        UNION ALL
+        SELECT *
+        FROM t_user_competition3
+        UNION ALL
+        SELECT *
+        FROM t_user_competition4
+        UNION ALL
+        SELECT *
+        FROM t_user_competition5
+        WHERE 1 = 1
+        <if test=" stuId != null">
+            and studentId = #{stuId}
+        </if>
+        <if test="appUserId != null">
+            and competitionId in
+        <foreach collection="comIds" item="item" separator="," open="(" index="index" close=")">
+            #{item}
+        </foreach>
+        </if>
     </select>
 
 </mapper>
diff --git a/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml b/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml
index 5124aea..f49a1c7 100644
--- a/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml
+++ b/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml
@@ -45,10 +45,10 @@
         FROM t_course_package_payment5
         WHERE 1=1
         <if test=" stuId != null">
-            and appUserId = #{stuId}
+            and appUserId  = #{stuId}
         </if>
         <if test="appUserId != null">
-            and studentId = #{appUserId}
+            and appUserId = #{appUserId}
         </if>
     </select>
 

--
Gitblit v1.7.1