java
2023-06-29 c0c748400207db88cabab4f436a122b92269e559
课程信息:课时详情中的记录-赛事记录查询
11个文件已修改
1个文件已添加
252 ■■■■ 已修改文件
cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/PurchaseRecordVo.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/RecordTimeRequest.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-competition/src/main/java/com/dsh/competition/controller/UserCompetitionController.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-competition/src/main/java/com/dsh/competition/feignclient/DeductionCompetitionsClient.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-competition/src/main/java/com/dsh/competition/mapper/UserCompetitionMapper.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-competition/src/main/java/com/dsh/competition/service/UserCompetitionService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-competition/src/main/java/com/dsh/competition/service/impl/UserCompetitionServiceImpl.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-competition/src/main/resources/mapper/UserCompetitionMapper.xml 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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();
        }
    }
}
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);
}
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;
}
cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/RecordTimeRequest.java
New file
@@ -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;
}
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;
    }
}
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;
    }
}
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);
}
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);
}
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);
}
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);
    }
}
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>
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>