From 738f93e8f8226518e5b0e202b1f7afd19c01656e Mon Sep 17 00:00:00 2001 From: liujie <liujie> Date: 星期二, 25 七月 2023 09:50:16 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 140 +++++++++++++++++++++++++++++----------------- 1 files changed, 88 insertions(+), 52 deletions(-) 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 6f45acb..5a30e73 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 @@ -17,7 +17,9 @@ import com.dsh.account.feignclient.course.model.*; import com.dsh.account.feignclient.other.ImgConfigClient; import com.dsh.account.feignclient.other.RechargeConfigClient; +import com.dsh.account.feignclient.other.SiteClient; import com.dsh.account.feignclient.other.StoreClient; +import com.dsh.account.feignclient.other.model.SiteBooking; import com.dsh.account.feignclient.other.model.Store; import com.dsh.account.feignclient.other.model.StoreDetailOfCourse; import com.dsh.account.feignclient.other.model.TImgConfig; @@ -30,7 +32,6 @@ import com.dsh.account.model.vo.classDetails.CourseVenue; import com.dsh.account.model.vo.classDetails.ExerciseVideo; import com.dsh.account.model.vo.classDetails.RegisteredCourse; -import com.dsh.account.model.vo.classDetails.WeekedCourse; import com.dsh.account.model.vo.classDetails.classInsVo.ClassInfoVo; import com.dsh.account.model.vo.userBenefitDetail.*; import com.dsh.account.service.TAppUserService; @@ -39,13 +40,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; -import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.math.BigDecimal; +import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -119,11 +120,14 @@ @Resource private CoursePackageConfigClient cpconClient; - @Autowired + @Resource private PayMoneyUtil payMoneyUtil; + @Resource + private SiteClient stClient; + @Override - public ClassInfoVo queryUserOfStus(Integer id,String latitude,String longitude) { + public ClassInfoVo queryUserOfStus(Integer id) { TAppUser tAppUser = this.baseMapper.selectById(id); ClassInfoVo classInfoVo = new ClassInfoVo(); if (ToolUtil.isNotEmpty(tAppUser)){ @@ -142,34 +146,22 @@ classInfoVo.setHeight(tStudent.getHeight()); classInfoVo.setWeight(tStudent.getWeight()); classInfoVo.setBmi(tStudent.getBmi()); + classInfoVo.setBodyStatus(BMIBodyUtil.getBodyStatus(tStudent.getBmi())); List<RegisteredCourse> courseList = new ArrayList<>(); -// 总学时数 - int total = 0; -// 已扣数 - int deduct = 0; -// 剩余数 - int remain = 0; - List<StuCourseResp> stuCoursePayment = paymentClient.getStuCoursePayment(); + List<StuCourseResp> stuCoursePayment = paymentClient.getStuCoursePayment(tStudent.getId()); if (stuCoursePayment.size() > 0){ for (StuCourseResp tCoursePackagePayment : stuCoursePayment) { RegisteredCourse course = new RegisteredCourse(); course.setCourseId(tCoursePackagePayment.getCourseId()); course.setCourseName(tCoursePackagePayment.getCourseName()); - total = total + (ToolUtil.isEmpty(tCoursePackagePayment.getTotalCourseNums()) ? 0 : tCoursePackagePayment.getTotalCourseNums()); - deduct = deduct + (ToolUtil.isEmpty(tCoursePackagePayment.getDeductionNums()) ? 0 : tCoursePackagePayment.getDeductionNums()); - remain = remain + (ToolUtil.isEmpty(tCoursePackagePayment.getResidueNums())? 0 : tCoursePackagePayment.getResidueNums()); + course.setTotalNums(ToolUtil.isEmpty(tCoursePackagePayment.getTotalCourseNums()) ? 0 : tCoursePackagePayment.getTotalCourseNums()); + course.setDeductedNums(ToolUtil.isEmpty(tCoursePackagePayment.getDeductionNums()) ? 0 : tCoursePackagePayment.getDeductionNums()); + course.setRemainingNums(ToolUtil.isEmpty(tCoursePackagePayment.getResidueNums())? 0 : tCoursePackagePayment.getResidueNums()); courseList.add(course); } } classInfoVo.setCourseList(courseList); - - classInfoVo.setTotalNums(total); - classInfoVo.setDeductedNums(deduct); - classInfoVo.setRemainingNums(remain); - - List<CourseOfStoreVo> storeOfCourses = paymentClient.getStoreOfCourses(); - classInfoVo.setWeekCourseList(dealDatas(storeOfCourses,longitude,latitude)); List<ExerciseVideo> videos = new ArrayList<>(); @@ -192,36 +184,31 @@ * @param latitude * @return */ - public List<WeekedCourse> dealDatas(List<CourseOfStoreVo> storeOfCourses,String longitude ,@RequestBody String latitude){ - List<WeekedCourse> weekedCourses = new ArrayList<>(); - for (int i = 1; i < 8; i++) { - WeekedCourse weekedCourse = new WeekedCourse(); - List<CourseVenue> courseVenues = new ArrayList<>(); - Map<Integer, List<CourseOfStoreVo>> map = storeOfCourses.stream().collect(Collectors.groupingBy(CourseOfStoreVo::getStoreId)); - for (Map.Entry<Integer, List<CourseOfStoreVo>> integerListEntry : map.entrySet()) { - List<CourseOfStoreVo> value = integerListEntry.getValue(); - CourseVenue courseVenue = new CourseVenue(); - courseVenue.setStoreId(value.get(0).getStoreId()); - courseVenue.setAreaName(value.get(0).getStoreName()); - courseVenue.setSiteDistance(LonlatUtils.distance(Double.parseDouble(longitude), Double.parseDouble(latitude), - Double.parseDouble(value.get(0).getLon()), Double.parseDouble(value.get(0).getLat())) + ""); + public List<CourseVenue> dealDatas(List<CourseOfStoreVo> storeOfCourses, String longitude , String latitude){ + List<CourseVenue> courseVenues = new ArrayList<>(); + Map<Integer, List<CourseOfStoreVo>> map = storeOfCourses.stream().collect(Collectors.groupingBy(CourseOfStoreVo::getStoreId)); + for (Map.Entry<Integer, List<CourseOfStoreVo>> integerListEntry : map.entrySet()) { + Integer storeId = integerListEntry.getKey(); + List<CourseOfStoreVo> value = integerListEntry.getValue(); + CourseVenue courseVenue = new CourseVenue(); + courseVenue.setStoreId(storeId); + courseVenue.setAreaName(value.get(0).getCourseName()); + courseVenue.setSiteDistance(LonlatUtils.distance(Double.parseDouble(longitude), Double.parseDouble(latitude), + Double.parseDouble(value.get(0).getLon()), Double.parseDouble(value.get(0).getLat())) + ""); - List<CourseVenue.CouList> courses = new ArrayList<>(); - for (CourseOfStoreVo courseOfStoreVo : value) { - CourseVenue.CouList couList = new CourseVenue.CouList(); - couList.setCourseID(courseOfStoreVo.getCourseId()); - couList.setCourseName(courseOfStoreVo.getCourseName()); - couList.setTimeStr(courseOfStoreVo.getClassStartTime() + "-" + courseOfStoreVo.getClassEndTime()); - couList.setDetail(""); - courses.add(couList); - } - courseVenue.setCourses(courses); - courseVenues.add(courseVenue); + List<CourseVenue.CouList> courses = new ArrayList<>(); + for (CourseOfStoreVo courseOfStoreVo : value) { + CourseVenue.CouList couList = new CourseVenue.CouList(); + couList.setCourseID(courseOfStoreVo.getCourseId()); + couList.setCourseName(courseOfStoreVo.getCourseName()); + couList.setTimeStr(courseOfStoreVo.getClassStartTime() + "-" + courseOfStoreVo.getClassEndTime()); + couList.setDetail("¥" + courseOfStoreVo.getCoursePrice() + "/会员扣2学时"); + courses.add(couList); } - weekedCourse.setDetails(courseVenues); - weekedCourses.add(weekedCourse); + courseVenue.setCourses(courses); + courseVenues.add(courseVenue); } - return weekedCourses; + return courseVenues; } @@ -545,6 +532,23 @@ } } // 4.场地预约 + List<SiteBooking> allSiteBookingList = stClient.getAllSiteBookingList(appUserId); + if (allSiteBookingList.size() > 0){ + for (SiteBooking booking : allSiteBookingList) { + BillingDetailsVo.ConsumeDetail consumeDetail = new BillingDetailsVo.ConsumeDetail(); + if (booking.getStatus() != 5){ + consumeDetail.setConsumeName(RechargeRecordEnum.VENUE_RESERVATION.getMsg()); + consumeDetail.setConsumeAmount("-" + booking.getPayMoney()); + consumeDetail.setConsumeTime(simpleDateFormat.format(booking.getPayTime())); + }else { + consumeDetail.setConsumeName(RechargeRecordEnum.CANCEL_VENUE_RESERVATION.getMsg()); + consumeDetail.setConsumeAmount("+" + booking.getPayMoney()); + consumeDetail.setConsumeTime(simpleDateFormat.format(booking.getCancelTime())); + } + details.add(consumeDetail); + } + } + // 5.智慧球场 // 6.年度会员 List<VipPayment> vipPayments = vipPaymentMapper.selectList(new QueryWrapper<VipPayment>() @@ -574,7 +578,24 @@ details.add(consumeDetail); } } - + if (details.size() > 0 ){ + Collections.sort(details, new Comparator<BillingDetailsVo.ConsumeDetail>() { + @Override + public int compare(BillingDetailsVo.ConsumeDetail record1, BillingDetailsVo.ConsumeDetail record2) { + SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd HH:mm"); + Date date1 = null; + Date date2 = null; + try { + date1 = dateFormat.parse(record1.getConsumeTime()); + date2 = dateFormat.parse(record2.getConsumeTime()); + } catch (ParseException e) { + e.printStackTrace(); + } + // 倒序排序 + return date2.compareTo(date1); + } + }); + } vo.setDetails(details); return vo; } @@ -596,11 +617,11 @@ if (rechargeConfig.size() > 0 ){ for (Map<String, Object> stringObjectMap : rechargeConfig) { RechargeCentVo vo = new RechargeCentVo(); - vo.setAmount("¥ "+stringObjectMap.get("money")); + vo.setAmount(""+stringObjectMap.get("money")); if (tAppUser.getIsVip() == 1){ - vo.setWpGold(stringObjectMap.get("MemberCoins")+"币"); + vo.setWpGold(stringObjectMap.get("MemberCoins")+""); }else { - vo.setWpGold(stringObjectMap.get("usersCoins")+"币"); + vo.setWpGold(stringObjectMap.get("usersCoins")+""); } centVos.add(vo); } @@ -1110,4 +1131,19 @@ } + @Override + public List<CourseVenue> queryWeekOfCourseDetails(Integer appUserId ,Integer stuId, String time,String longitude,String latitude) { + List<CourseVenue> courseVenues = new ArrayList<>(); + WeeksOfCourseRest weeksOfCourseRest = new WeeksOfCourseRest(); + weeksOfCourseRest.setTime(time); + weeksOfCourseRest.setStuId(stuId); + weeksOfCourseRest.setAppUserId(appUserId); + List<CourseOfStoreVo> storeOfCourses = paymentClient.getStoreOfCourses(weeksOfCourseRest); + if (storeOfCourses.size() > 0 ){ + courseVenues = dealDatas(storeOfCourses,longitude,latitude); + } + return courseVenues; + } + + } -- Gitblit v1.7.1