From 852681bc9257e9eaae64d027a9bc6d88f93f35b4 Mon Sep 17 00:00:00 2001 From: liujie <liujie> Date: 星期六, 23 九月 2023 09:51:56 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java | 131 ++++++++++++++++++++++++++++++------------- 1 files changed, 91 insertions(+), 40 deletions(-) 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 d492a5e..3d66997 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 @@ -3,8 +3,13 @@ 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.dto.CreateHistoryDto; +import com.dsh.account.dto.GetHistoryDto; +import com.dsh.account.dto.StudentSearch; +import com.dsh.account.dto.TStudentDto; import com.dsh.account.entity.Coach; import com.dsh.account.entity.TAppUser; +import com.dsh.account.entity.TCourseInfoRecord; import com.dsh.account.entity.TStudent; import com.dsh.account.feignclient.activity.IntroduceRewardsClient; import com.dsh.account.feignclient.activity.UserConponClient; @@ -33,10 +38,12 @@ import com.dsh.account.model.vo.exploreDetail.LonLatRequest; import com.dsh.account.model.vo.exploreDetail.QuestionIns; import com.dsh.account.model.vo.exploreDetail.StoreDetailsVo; +import com.dsh.account.model.vo.exploreDetail.StoreOfCourseVo; 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.model.vo.userBenefitDetail.Goods; +import com.dsh.account.service.TCourseInfoRecordService; import com.dsh.account.service.TStudentService; import com.dsh.account.util.*; import org.springframework.beans.factory.annotation.Autowired; @@ -110,6 +117,9 @@ @Resource private CourseListClient culisClient; + + @Autowired + private TCourseInfoRecordService courseInfoRecordService; @@ -240,6 +250,7 @@ getStuSourseList.setStartTime(startTime); getStuSourseList.setEndTime(endTime); getStuSourseList.setAppUserId(appUserId); + // 报名赛事 List<PurchaseRecordVo> stuSourseList = dcttClient.getStuSourseList(getStuSourseList); purchaseRecordVoList.addAll(stuSourseList); @@ -256,6 +267,7 @@ getStuSessionList.setEndTime(endTime); getStuSessionList.setStuId(timeRequest.getStuId()); getStuSessionList.setAppUserId(appUserId); + // 购买课包 List<PurchaseRecordVo> purchaseRecordVos = sessionNameClient.queryCourseDetails(getStuSessionList); purchaseRecordVoList.addAll(purchaseRecordVos); List<TAppUser> tAppUsers = tauMapper.selectList(new QueryWrapper<TAppUser>() @@ -267,9 +279,30 @@ request.setStartTime(startTime); request.setEndTime(endTime); request.setUserIds(userIds); + // 介绍有礼 List<PurchaseRecordVo> purchaseRecordVos1 = idrClient.queryAppUsersofIntroduce(request); purchaseRecordVoList.addAll(purchaseRecordVos1); } + + LambdaQueryWrapper<TCourseInfoRecord> eq = new LambdaQueryWrapper<TCourseInfoRecord>().eq(TCourseInfoRecord::getUserId, appUserId); + if(timeRequest.getType()!=null){ + eq.eq(TCourseInfoRecord::getType,timeRequest.getType()); + } + // 2.0其他记录 + List<TCourseInfoRecord> list = courseInfoRecordService.list(eq); + List<PurchaseRecordVo> list1=new ArrayList<>(); + for (TCourseInfoRecord tCourseInfoRecord : list) { + PurchaseRecordVo purchaseRecordVo = new PurchaseRecordVo(); + purchaseRecordVo.setPurchaseTime(new SimpleDateFormat("MM-dd HH:mm").format(tCourseInfoRecord.getTime())); + purchaseRecordVo.setPurchaseType(tCourseInfoRecord.getName()); + if(tCourseInfoRecord.getType()==1){ + purchaseRecordVo.setPurchaseAmount("+"+tCourseInfoRecord.getNum()); + }else { + purchaseRecordVo.setPurchaseAmount("-"+tCourseInfoRecord.getNum()); + } + list1.add(purchaseRecordVo); + } + purchaseRecordVoList.addAll(list1); if (purchaseRecordVoList.size() > 0 ){ purchaseRecordVoList = purchaseRecordVoList.stream() @@ -438,12 +471,14 @@ packagePayment.setInsertTime(new Date()); couPayClient.savePaymentCoursePackage(packagePayment); + Integer hour = couPayClient.getClassHour(request.getCourseConfigId()); + try { switch (request.getPayType()) { case 1: - return WeChatPayment(code,request.getPayAmount()); + return WeChatPayment(code,request.getPayAmount(),hour); case 2: - return AlipayPayment(code,request.getPayAmount()); + return AlipayPayment(code,request.getPayAmount(),hour); case 3: int i = PlaypaiGoldPayment(code,request); switch (i){ @@ -466,7 +501,7 @@ } - public ResultUtil WeChatPayment(String code,BigDecimal amount) throws Exception { + public ResultUtil WeChatPayment(String code,BigDecimal amount,Integer hour) throws Exception { ResultUtil weixinpay = payMoneyUtil.weixinpay("课包续费", "", code, amount.toString(), "/base/coursePackage/wechatPaymentCallback", "APP", ""); if(weixinpay.getCode() == 200){ @@ -505,6 +540,8 @@ } if("SUCCESS".equals(s)){ coursePackagePayment.setPayStatus(2); + coursePackagePayment.setTotalClassHours(hour); + coursePackagePayment.setLaveClassHours(hour); coursePackagePayment.setOrderNumber(transaction_id); couPayClient.updatePaymentCoursePackage(coursePackagePayment); break; @@ -523,7 +560,7 @@ return weixinpay; } - public ResultUtil AlipayPayment(String code,BigDecimal amount){ + public ResultUtil AlipayPayment(String code,BigDecimal amount,Integer hour){ ResultUtil alipay = payMoneyUtil.alipay("课包续费", "课包续费", "", code, amount.toString(), "/base/coursePackage/alipayPaymentCallback"); if(alipay.getCode() == 200){ @@ -559,6 +596,8 @@ } if("TRADE_SUCCESS".equals(s)){ coursePackagePayment.setPayStatus(2); + coursePackagePayment.setTotalClassHours(hour); + coursePackagePayment.setLaveClassHours(hour); coursePackagePayment.setOrderNumber(tradeNo); couPayClient.updatePaymentCoursePackage(coursePackagePayment); break; @@ -599,43 +638,38 @@ return ResultUtil.success(); } + /** + * + * @param stuId 学员id + * @param appUserId 用户id + * @param appointStatus 预约状态 0=全部 1=待上课 2=已完成 3=已取消 + * @param timeType 时间类型 0=全部 1=近一周 2=近一个月 3=近一年 + * @param search 课程名称 + * @return + */ @Override - public AppointmentRecordVo getAppointmentRecords(Integer stuId, Integer appUserId,Integer appointStatus,Integer timeType,String search) { - AppointmentRecordVo recordVo = new AppointmentRecordVo(); - TStudent tStudent = this.baseMapper.selectOne(new QueryWrapper<TStudent>() - .eq("id",stuId ) - .eq("appUserId",appUserId)); - if (ToolUtil.isNotEmpty(tStudent)){ - recordVo.setStuId(tStudent.getId()); - recordVo.setStuName(tStudent.getName()); - WeeksOfCourseRest courseRest = new WeeksOfCourseRest(); - courseRest.setAppUserId(appUserId); - courseRest.setStuId(stuId); - List<RecordAppoint> recordAppoints = couPayClient.obtainStudentClassDetailsData(courseRest); - if (ToolUtil.isEmpty(appointStatus)){ - recordVo.setAppointStatus(0); - }else { - recordVo.setAppointStatus(appointStatus); - if (recordAppoints.size() > 0 ){ + public List<RecordAppoint> getAppointmentRecords(Integer stuId, Integer appUserId,Integer appointStatus,Integer timeType,String search) { + WeeksOfCourseRest courseRest = new WeeksOfCourseRest(); + courseRest.setAppUserId(appUserId); + courseRest.setStuId(stuId); + List<RecordAppoint> recordAppoints = couPayClient.obtainStudentClassDetailsData(courseRest); + if (recordAppoints.size() > 0) { + if (ToolUtil.isNotEmpty(appointStatus) && appointStatus != 0) { recordAppoints = recordAppoints.stream() .filter(record -> record.getStatus().equals(appointStatus)) .collect(Collectors.toList()); - } } - if (ToolUtil.isNotEmpty(search)){ - recordVo.setAppointStatus(appointStatus); - if (recordAppoints.size() > 0 ){ + if (ToolUtil.isNotEmpty(search)) { recordAppoints = recordAppoints.stream() .filter(record -> record.getCoursePackageName().contains(search)) .collect(Collectors.toList()); - } } - if (ToolUtil.isNotEmpty(timeType)){ + + if (ToolUtil.isNotEmpty(timeType) && timeType != 0) { Date lastOfDate = DateUtil.getLastOfDate(); - switch (timeType){ + switch (timeType) { case 1: Date lastWeekStartDate = DateUtil.getLastWeekStartDate(); - if (recordAppoints.size() > 0 ){ recordAppoints = recordAppoints.stream() .filter(record -> { try { @@ -647,11 +681,9 @@ } }) .collect(Collectors.toList()); - } break; case 2: Date lastMonthStartDate = DateUtil.getLastMonthStartDate(); - if (recordAppoints.size() > 0 ){ recordAppoints = recordAppoints.stream() .filter(record -> { try { @@ -663,11 +695,9 @@ } }) .collect(Collectors.toList()); - } break; case 3: Date lastYearStartDate = DateUtil.getLastYearStartDate(); - if (recordAppoints.size() > 0 ){ recordAppoints = recordAppoints.stream() .filter(record -> { try { @@ -679,17 +709,14 @@ } }) .collect(Collectors.toList()); - } break; default: break; - } } - recordVo.setAppointList(recordAppoints); } - return recordVo; + return recordAppoints; } @Override @@ -745,8 +772,10 @@ Store store = storeClient.queryStoreById(storeId); StoreDetailsVo detailsVo = new StoreDetailsVo(); String realPicture = store.getRealPicture(); - String[] split = realPicture.split(","); - detailsVo.setImages(Arrays.asList(split)); + if (ToolUtil.isNotEmpty(realPicture)){ + String[] split = realPicture.split(","); + detailsVo.setImages(Arrays.asList(split)); + } detailsVo.setStoreId(store.getId()); detailsVo.setStoreName(store.getName()); detailsVo.setStoreAddress(store.getAddress()); @@ -756,7 +785,9 @@ detailsVo.setLat(store.getLat()); detailsVo.setPhone(store.getPhone()); detailsVo.setVenueList(steClient.getAppUserSiteList()); - detailsVo.setCourseVoList(culisClient.getStoreOfCourseList(storeId)); + List<StoreOfCourseVo> storeOfCourseList = culisClient.getStoreOfCourseList(storeId); + System.out.println(storeOfCourseList); + detailsVo.setCourseVoList(storeOfCourseList); return detailsVo; } @@ -785,5 +816,25 @@ return ResultUtil.success(); } + @Override + public List<TStudentDto> listAll(StudentSearch search) { + return this.baseMapper.selectAll(search); + } + + @Override + public TStudentDto listOne(Integer id) { + return this.baseMapper.selectWebOne(id); + } + + @Override + public void createHistory(CreateHistoryDto createHistoryDto) { + this.baseMapper.createHistory(createHistoryDto); + } + + @Override + public List<GetHistoryDto> getHistory() { + return this.baseMapper.getHistory(); + } + } -- Gitblit v1.7.1