| | |
| | | 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; |
| | |
| | | @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 { |
| | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 课时详情-记录列表 |
| | | */ |
| | | @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(); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | 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); |
| | | |
| | | } |
| | |
| | | @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; |
| | | |
| | | } |
New file |
| | |
| | | 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; |
| | | } |
| | |
| | | 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> |
| | |
| | | * @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; |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | |
| | | 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> |
| | |
| | | * @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; |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | |
| | | 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); |
| | | |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.dsh.competition.entity.UserCompetition; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | */ |
| | | 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); |
| | | |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.dsh.competition.entity.UserCompetition; |
| | | import com.dsh.competition.feignclient.model.PurchaseRecordVo; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | */ |
| | | public interface UserCompetitionService extends IService<UserCompetition> { |
| | | |
| | | List<PurchaseRecordVo> queryDeRecordDetails(Integer appUserId,String startTime, String endTime); |
| | | |
| | | List<UserCompetition> queryUsersCompetetions(Integer appUserId, List<Integer> comIds); |
| | | |
| | | } |
| | |
| | | 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> |
| | |
| | | @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); |
| | | } |
| | | } |
| | |
| | | <!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> |
| | |
| | | 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> |
| | | |