From 0fe1f723f6fb85f25c945bd88c774f4a3142a818 Mon Sep 17 00:00:00 2001 From: lisy <linlangsur163@163.com> Date: 星期四, 03 八月 2023 11:52:19 +0800 Subject: [PATCH] 修复app端使用福利的课时详情接口;新增app端的编辑学员、设为默认接口 --- cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java | 3 cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java | 44 +++++++- cloud-server-course/src/main/java/com/dsh/course/model/vo/CourseDetailRequest.java | 3 cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java | 107 ++++++++++++++++++++- cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/StuDetailsVo.java | 36 +++++++ cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 14 ++ cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 8 cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/StuDetailsReq.java | 2 cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/StuListVo.java | 6 + cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/StuEditInfoReq.java | 13 ++ cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java | 16 ++- 11 files changed, 228 insertions(+), 24 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 12bc776..54d0be4 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,12 +1,11 @@ package com.dsh.account.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.account.entity.TStudent; 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.*; import com.dsh.account.model.vo.classDetails.classInsVo.*; import com.dsh.account.model.vo.commentDetail.StuCommentsVo; import com.dsh.account.model.vo.medalDetail.GongVo; @@ -171,6 +170,9 @@ tStudents.forEach(sts -> { StuListVo vo = new StuListVo(); vo.setStuId(sts.getId()); + vo.setStuHeadImg(sts.getHeadImg()); + vo.setStuPhone(ToolUtil.isEmpty(sts.getPhone()) ? "" : sts.getPhone()); + vo.setIdCard(ToolUtil.isEmpty(sts.getIdCard()) ? "":sts.getIdCard()); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); vo.setBirthday(simpleDateFormat.format(sts.getBirthday())); vo.setStuName(sts.getName()); @@ -209,11 +211,106 @@ }catch (Exception e){ return ResultUtil.runErr(); } - - } + + /** + * 编辑学员详情 + */ + @ResponseBody + @PostMapping("/api/startCource/editStu") + @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<StuDetailsVo> editStudentInfo(Integer stuId){ + try { + TStudent byId = istuService.getById(stuId); + if (ToolUtil.isEmpty(byId)){ + ResultUtil.error("未查询到该学员!"); + } + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + StuDetailsVo detailsVo = new StuDetailsVo(); + detailsVo.setStuId(byId.getId()); + detailsVo.setStuHeadImg(byId.getHeadImg()); + detailsVo.setStuName(byId.getName()); + detailsVo.setBirthday(simpleDateFormat.format(byId.getBirthday())); + detailsVo.setStuHeight(byId.getHeight()); + detailsVo.setStuWeight(byId.getWeight()); + detailsVo.setIdCard(ToolUtil.isEmpty(byId.getIdCard()) ? "": byId.getIdCard()); + detailsVo.setStuPhone(ToolUtil.isEmpty(byId.getPhone()) ? "" : byId.getPhone()); + return ResultUtil.success(detailsVo); + }catch (Exception e){ + return ResultUtil.runErr(); + } + } + + + + /** + * 提交编辑学员 + */ + @ResponseBody + @PostMapping("/api/startCource/commitEditStu") + @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 commitEditStu(StuEditInfoReq stu){ + try { + Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(); + if(null == userIdFormRedis){ + return ResultUtil.tokenErr(); + } + return ResultUtil.success(istuService.commitEditStudentInfo(stu,userIdFormRedis)); + }catch (Exception e){ + return ResultUtil.runErr(); + } + } + + + + /** + * 学员设为默认 + */ + @ResponseBody + @PostMapping("/api/startCource/editDefault") + @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 editDefault(Integer stuId){ + try { + Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(); + if(null == userIdFormRedis){ + return ResultUtil.tokenErr(); + } + TStudent byId = istuService.getById(stuId); + if (ToolUtil.isEmpty(byId)){ + ResultUtil.error("未查询到该学员!"); + } + byId.setIsDefault(1); + istuService.updateById(byId); + List<TStudent> list = istuService.list(new LambdaQueryWrapper<TStudent>() + .eq(TStudent::getAppUserId,userIdFormRedis) + .ne(TStudent::getId,byId.getId())); + for (TStudent tStudent : list) { + tStudent.setIsDefault(2); + istuService.updateById(tStudent); + } + return ResultUtil.success(); + }catch (Exception e){ + return ResultUtil.runErr(); + } + } + + + + /** * 课时详情 */ diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/StuDetailsVo.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/StuDetailsVo.java new file mode 100644 index 0000000..9d43dc9 --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/StuDetailsVo.java @@ -0,0 +1,36 @@ +package com.dsh.account.model.vo.classDetails; + + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + + +@Data +public class StuDetailsVo { + + @ApiModelProperty(value = "学员id") + private Integer stuId; + + @ApiModelProperty(value = "学员头像") + private String stuHeadImg; + + @ApiModelProperty(value = "学员姓名") + private String stuName; + + @ApiModelProperty(value = "学员生日") + private String birthday; + + @ApiModelProperty(value = "学员身高") + private Double stuHeight; + + @ApiModelProperty(value = "学员体重") + private Double stuWeight; + + @ApiModelProperty(value = "学员身份证号码") + private String idCard; + + @ApiModelProperty(value = "学员手机号") + private String stuPhone; + +} diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/StuEditInfoReq.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/StuEditInfoReq.java new file mode 100644 index 0000000..8d8be34 --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/StuEditInfoReq.java @@ -0,0 +1,13 @@ +package com.dsh.account.model.vo.classDetails; + +import com.dsh.account.model.vo.classDetails.classInsVo.StuDetailsReq; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class StuEditInfoReq extends StuDetailsReq { + + @ApiModelProperty(value = "id") + private Integer id; + +} diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/StuDetailsReq.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/StuDetailsReq.java index d20ed76..391dd2f 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/StuDetailsReq.java +++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/StuDetailsReq.java @@ -15,7 +15,7 @@ @ApiModelProperty(value = "联系方式") private String phone; - @ApiModelProperty(value = "生日") + @ApiModelProperty(value = "生日(2022-11-14)") private String birthday; @ApiModelProperty(value = "性别 (1 男 2 女)") diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/StuListVo.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/StuListVo.java index 091e12c..e61dffe 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/StuListVo.java +++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/StuListVo.java @@ -9,6 +9,9 @@ @ApiModelProperty(value = "学员id") private Integer stuId; + @ApiModelProperty(value = "学员头像") + private String stuHeadImg; + @ApiModelProperty(value = "学员姓名") private String stuName; @@ -24,6 +27,9 @@ @ApiModelProperty(value = "学员体重") private Double stuWeight; + @ApiModelProperty(value = "学员身份证号码") + private String idCard; + @ApiModelProperty(value = "是否默认(1. 是默认 2. 不是默认 )") private Integer isNot; diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java b/cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java index 508dd60..fb00f51 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java @@ -8,6 +8,7 @@ import com.dsh.account.feignclient.other.model.SysNotice; import com.dsh.account.model.vo.classDetails.AppointmentRecordVo; import com.dsh.account.model.vo.classDetails.ClasspaymentRequest; +import com.dsh.account.model.vo.classDetails.StuEditInfoReq; import com.dsh.account.model.vo.classDetails.classInsVo.ClassDetailsInsVo; import com.dsh.account.model.vo.classDetails.classInsVo.StuDetailsReq; import com.dsh.account.model.vo.classDetails.classInsVo.StuListVo; @@ -97,4 +98,6 @@ StoreDetailsVo getStoreDetail(Integer storeId); + ResultUtil commitEditStudentInfo(StuEditInfoReq stu, Integer userIdFormRedis); + } diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java index 241306d..6c1440e 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java @@ -175,7 +175,19 @@ } } classInfoVo.setCourseList(courseList); - classInfoVo.setExerciseVideoList(voclClient.getStuCourseOfVideoList(coursePackIds)); + List<ExerciseVideo> stuCourseOfVideoList = new ArrayList<>(); + ExerciseVideo video = new ExerciseVideo(); + video.setVideoUrl("https://media.w3.org/2010/05/sintel/trailer.mp4"); + video.setVideoCoverImgUrl("https://img1.baidu.com/it/u=1614146743,3691458181&fm=253&fmt=auto&app=120&f=JPEG?w=605&h=383"); + video.setVideoName("课后练习足球课"); + stuCourseOfVideoList.add(video); + + ExerciseVideo exerciseVideo = new ExerciseVideo(); + exerciseVideo.setVideoUrl("https://media.w3.org/2010/05/sintel/trailer.mp4"); + exerciseVideo.setVideoCoverImgUrl("https://img0.baidu.com/it/u=1492570361,4260963468&fm=253&fmt=auto&app=138&f=JPEG?w=750&h=500"); + exerciseVideo.setVideoName("篮球课"); + stuCourseOfVideoList.add(exerciseVideo); + classInfoVo.setExerciseVideoList(stuCourseOfVideoList); }else { classInfoVo.setIsThere(2); List<TImgConfig> tImgConfigs = configClient.getNoneStuImgs(); diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java index dea5145..6f670d5 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java @@ -1,5 +1,6 @@ package com.dsh.account.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsh.account.entity.Coach; @@ -25,6 +26,7 @@ import com.dsh.account.mapper.TStudentMapper; import com.dsh.account.model.vo.classDetails.AppointmentRecordVo; import com.dsh.account.model.vo.classDetails.ClasspaymentRequest; +import com.dsh.account.model.vo.classDetails.StuEditInfoReq; import com.dsh.account.model.vo.classDetails.classInsVo.ClassDetailsInsVo; import com.dsh.account.model.vo.classDetails.classInsVo.StuDetailsReq; import com.dsh.account.model.vo.classDetails.classInsVo.StuListVo; @@ -218,6 +220,7 @@ @Override public List<PurchaseRecordVo> queryDeduRecordDetails(RecordTimeRequest timeRequest,Integer appUserId) { List<PurchaseRecordVo> purchaseRecordVoList = new ArrayList<>(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date startTime = DateTimeHelper.getCurrentIdetMouthStart(timeRequest.getStartTime()); Date endTime = DateTimeHelper.getCurrentIdeaMouthEnd(timeRequest.getEndTime()); GetStuSourseList getStuSourseList = new GetStuSourseList(); @@ -245,13 +248,15 @@ List<TAppUser> tAppUsers = tauMapper.selectList(new QueryWrapper<TAppUser>() .eq("referralUserId",appUserId ) .between("insertTime",startTime ,endTime)); - List<Integer> userIds = tAppUsers.stream().map(TAppUser::getId).collect(Collectors.toList()); - IntrduceOfUserRequest request = new IntrduceOfUserRequest(); - request.setStartTime(startTime); - request.setEndTime(endTime); - request.setUserIds(userIds); - List<PurchaseRecordVo> purchaseRecordVos1 = idrClient.queryAppUsersofIntroduce(request); - purchaseRecordVoList.addAll(purchaseRecordVos1); + if (ToolUtil.isNotEmpty(tAppUsers)){ + List<Integer> userIds = tAppUsers.stream().map(TAppUser::getId).collect(Collectors.toList()); + IntrduceOfUserRequest request = new IntrduceOfUserRequest(); + request.setStartTime(startTime); + request.setEndTime(endTime); + request.setUserIds(userIds); + List<PurchaseRecordVo> purchaseRecordVos1 = idrClient.queryAppUsersofIntroduce(request); + purchaseRecordVoList.addAll(purchaseRecordVos1); + } if (purchaseRecordVoList.size() > 0 ){ purchaseRecordVoList = purchaseRecordVoList.stream() @@ -707,5 +712,30 @@ return detailsVo; } + @Override + public ResultUtil commitEditStudentInfo(StuEditInfoReq stu, Integer userIdFormRedis) { + TStudent tStudent = this.baseMapper.selectOne(new LambdaQueryWrapper<TStudent>() + .eq(TStudent::getId,stu.getId()) + .eq(TStudent::getAppUserId,userIdFormRedis)); + if (ToolUtil.isEmpty(tStudent)){ + ResultUtil.error("会员信息不存在!"); + } + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + tStudent.setHeadImg(stu.getHeadImg()); + tStudent.setName(stu.getName()); + tStudent.setPhone(ToolUtil.isEmpty(stu.getPhone()) ? "":stu.getPhone()); + try { + tStudent.setBirthday(simpleDateFormat.parse(stu.getBirthday())); + } catch (ParseException e) { + ResultUtil.runErr(); + } + tStudent.setSex(stu.getSex()); + tStudent.setHeight(stu.getHeight()); + tStudent.setWeight(stu.getWeight()); + tStudent.setIdCard(ToolUtil.isEmpty(stu.getIdCard()) ? "" : stu.getIdCard()); + this.baseMapper.updateById(tStudent); + return ResultUtil.success(); + } + } 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 67a007a..8299329 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 @@ -111,14 +111,18 @@ 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()); + ArrayList<Integer> integers = new ArrayList<>(); + integers.add(1); + integers.add(2); + List<PaymentCompetition> list = paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>() + .in("payType",integers ) + .eq("appUserId", sourseList.getAppUserId()) + .eq("state",1)); + List<Long> comIds = list.stream().map(PaymentCompetition::getId).collect(Collectors.toList()); List<UserCompetition> userCompetitions = ucttService.list(new QueryWrapper<UserCompetition>() .between("insertTime", sourseList.getStartTime(),sourseList.getEndTime() ) - .eq("userId", sourseList.getAppUserId()) - .in("competitionId",comIds )); + .eq("appUserId", sourseList.getAppUserId()) + .in("paymentCompetitionId",comIds )); if (userCompetitions.size() > 0){ userCompetitions.forEach(coms ->{ PurchaseRecordVo recordVo = new PurchaseRecordVo(); diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java index ee9aa4a..5b8cfea 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java +++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java @@ -207,13 +207,13 @@ } @PostMapping("/base/coursePack/paymentCourse") - public List<PurchaseRecordVo> queryCourseDetails(@RequestParam("startTime") Date startTime, @RequestParam("endTime") Date endTime,@RequestParam("stuId") Integer stuId, @RequestParam("appUserId") Integer appUserId) { + public List<PurchaseRecordVo> queryCourseDetails(@RequestBody GetStuSessionList sessionList) { List<PurchaseRecordVo> purchaseRecordVos = new ArrayList<>(); List<TCoursePackagePayment> coursePackage = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() - .between("insertTime", startTime,endTime) - .eq("appUserId",appUserId) - .eq("studentId",stuId)); + .between("insertTime", sessionList.getStartTime(),sessionList.getEndTime()) + .eq("appUserId",sessionList.getAppUserId()) + .eq("studentId",sessionList.getStuId())); if (coursePackage.size() > 0 ){ coursePackage.forEach( cspackage -> { PurchaseRecordVo recordVo = new PurchaseRecordVo(); diff --git a/cloud-server-course/src/main/java/com/dsh/course/model/vo/CourseDetailRequest.java b/cloud-server-course/src/main/java/com/dsh/course/model/vo/CourseDetailRequest.java index a4f0a03..ff3f7c5 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/model/vo/CourseDetailRequest.java +++ b/cloud-server-course/src/main/java/com/dsh/course/model/vo/CourseDetailRequest.java @@ -1,6 +1,7 @@ package com.dsh.course.model.vo; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -9,9 +10,11 @@ @Data public class CourseDetailRequest { @ApiModelProperty(value = "开始时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") Date startTime; @ApiModelProperty(value = "结束时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") Date endTime; @ApiModelProperty(value = "学员id") -- Gitblit v1.7.1