From 232d3efb20f87f9c60faeda7bae4bc96e5687bd3 Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期三, 11 十月 2023 19:19:47 +0800 Subject: [PATCH] 10.12 --- cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 804 ++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 564 insertions(+), 240 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 96b94e1..ec78a66 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 @@ -1,52 +1,72 @@ 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.dto.SelectDto; +import com.dsh.account.dto.UserInfoQueryDTO; import com.dsh.account.entity.*; import com.dsh.account.enums.RechargeRecordEnum; +import com.dsh.account.feignclient.activity.IntroduceRewardsClient; import com.dsh.account.feignclient.activity.MerChandiseClient; import com.dsh.account.feignclient.activity.MerChandiseStoreClient; import com.dsh.account.feignclient.activity.UserConponClient; import com.dsh.account.feignclient.activity.model.*; import com.dsh.account.feignclient.competition.DeductionCompetitionsClient; +import com.dsh.account.feignclient.competition.model.BillingDataRequestVo; import com.dsh.account.feignclient.competition.model.PaymentCompetition; +import com.dsh.account.feignclient.competition.model.PurchaseRecordVo; import com.dsh.account.feignclient.course.CoursePackageClient; import com.dsh.account.feignclient.course.CoursePackageConfigClient; import com.dsh.account.feignclient.course.CoursePaymentClient; +import com.dsh.account.feignclient.course.VideoOfCourseListClient; 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; import com.dsh.account.mapper.*; -import com.dsh.account.model.AddAppUserVo; -import com.dsh.account.model.JoinPlayPaiVo; -import com.dsh.account.model.LoginSMSCodeVo; -import com.dsh.account.model.LoginWeChatVo; +import com.dsh.account.model.*; import com.dsh.account.model.dto.Coupon; +import com.dsh.account.model.query.appUserQuery.QueryAppUser; +import com.dsh.account.model.vo.DetailsListVo; +import com.dsh.account.model.vo.QueryAppUserVO; 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.TAppGiftService; import com.dsh.account.service.TAppUserService; import com.dsh.account.util.*; import com.dsh.account.util.akeylogin.Md5Util; +import com.dsh.account.vo.GroupCityInfoVO; +import com.dsh.account.vo.entity.DayData; +import com.dsh.account.vo.entity.MonthData; +import com.dsh.account.vo.entity.WeekData; +import com.dsh.account.vo.entity.YearData; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageImpl; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; 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.time.LocalDate; import java.util.*; import java.util.stream.Collectors; @@ -92,6 +112,10 @@ @Resource private ImgConfigClient icfgClient; + + @Resource + private VideoOfCourseListClient voclClient; + @Resource private VipPaymentMapper vipPaymentMapper; @@ -119,11 +143,105 @@ @Resource private CoursePackageConfigClient cpconClient; - @Autowired + @Resource private PayMoneyUtil payMoneyUtil; + @Resource + private SiteClient stClient; + @Autowired + private TAppUserMapper appUserMapper; + + @Autowired + private TAppGiftService appGiftService; + + @Autowired + private IntroduceRewardsClient introduceRewardsClient; @Override - public ClassInfoVo queryUserOfStus(Integer id,String latitude,String longitude) { + public List<QueryAppUserVO> listAll(QueryAppUser query) { + return appUserMapper.listAll(query); + } + + @Override + public HashMap<String,Object> weeksOfCourseDetailsList(Integer appUserId, Integer stuId, String time, Integer storeId,String lon,String lat) { + // 门店id 查出所有课程 + HashMap<String, Object> map = paymentClient.weeksOfCourseDetailsList(new CourseDetailReq(appUserId, stuId, time, storeId,lon,lat)); + + return map; + } + + + @Override + public List<SelectDto> getSelects(List<Integer> studentIds) { + return this.baseMapper.getSelects(studentIds); + } + + @Override + public Object changeState(AdvertisementChangeStateDTO dto) { + return appUserMapper.changeState(dto.getIds(),dto.getState()); + } + + @Override + public List<TAppUser> queryAPPUserByNameAndPhone(AppUserByNameAndPhoneDTO dto) { + return appUserMapper.queryAPPUserByNameAndPhone(dto); + } + @Override + public List<YearData> getYearUserCount(UserInfoQueryDTO dto) { + return appUserMapper.getYearUserCount(dto); + } + + @Override + public List<MonthData> getMonthUserCount(UserInfoQueryDTO dto) { + List<MonthData> monthUserCount = appUserMapper.getMonthUserCount(dto); + for (int i = 1; i <= 12; i++) { + String time = String.valueOf(i); + if (i < 10) { + time = "0" + time; + } + monthUserCount.add(Optional.ofNullable(monthUserCount.get(i)).orElse(new MonthData(time, 0))); + } + return monthUserCount.stream().sorted(Comparator.comparing(MonthData::getMonth)).collect(Collectors.toList()); + } + + @Override + public WeekData getWeekUserCount4(UserInfoQueryDTO dto) { + return appUserMapper.getWeekUserCount4(dto); + } + @Override + public WeekData getWeekUserCount3(UserInfoQueryDTO dto) { + return appUserMapper.getWeekUserCount3(dto); + } + @Override + public WeekData getWeekUserCount2(UserInfoQueryDTO dto) { + return appUserMapper.getWeekUserCount2(dto); + } + @Override + public WeekData getWeekUserCount1(UserInfoQueryDTO dto) { + return appUserMapper.getWeekUserCount1(dto); + } + + @Override + public List<DayData> getDayUserCount(UserInfoQueryDTO dto) { + List<DayData> dayUserCount = appUserMapper.getDayUserCount(dto); + if(dayUserCount.size()<7){ + for (int i = 1; i <= 6; i++) { + String time = LocalDate.now().minusDays(i).toString(); + for (DayData dayData : dayUserCount) { + if(!time.equals(dayData.getDay())){ + dayUserCount.add(new DayData(time,0)); + } + } + } + } + dayUserCount.forEach(dayData->dayData.setDay(dayData.getDay().split("-")[2])); + return dayUserCount.stream().sorted(Comparator.comparing(DayData::getDay)).collect(Collectors.toList()); + } + + @Override + public List<GroupCityInfoVO> groupCityInfo(UserInfoQueryDTO dto) { + return appUserMapper.groupCityInfo(dto); + } + @Override + public ClassInfoVo queryUserOfStus(Integer id) { TAppUser tAppUser = this.baseMapper.selectById(id); ClassInfoVo classInfoVo = new ClassInfoVo(); if (ToolUtil.isNotEmpty(tAppUser)){ @@ -142,38 +260,30 @@ 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()); + List<Integer> coursePackIds = new ArrayList<>(); if (stuCoursePayment.size() > 0){ + coursePackIds = stuCoursePayment.stream().map(StuCourseResp::getCourseId).collect(Collectors.toList()); for (StuCourseResp tCoursePackagePayment : stuCoursePayment) { RegisteredCourse course = new RegisteredCourse(); + course.setId(tCoursePackagePayment.getId()); 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()); + course.setPeriodOfValidity(tCoursePackagePayment.getPeriodOfValidity()); 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<>(); - - classInfoVo.setExerciseVideoList(videos); + List<ExerciseVideo> stuCourseOfVideoList = voclClient.getStuCourseOfVideoList(coursePackIds); + System.out.println(stuCourseOfVideoList); + classInfoVo.setExerciseVideoList(stuCourseOfVideoList); }else { classInfoVo.setIsThere(2); List<TImgConfig> tImgConfigs = configClient.getNoneStuImgs(); @@ -192,36 +302,39 @@ * @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()); + 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()); + if (ToolUtil.isEmpty(longitude) && ToolUtil.isEmpty(latitude)){ + courseVenue.setSiteDistance(0+""); + }else { 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); } - weekedCourse.setDetails(courseVenues); - weekedCourses.add(weekedCourse); + 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学时"); + couList.setStatus(courseOfStoreVo.getStatus()); + + couList.setAllNum(courseOfStoreVo.getAllNum()); + couList.setUseNum(courseOfStoreVo.getUseNum()); + couList.setLastNum(courseOfStoreVo.getLastNum()); + courses.add(couList); + } + courseVenue.setCourses(courses); + courseVenues.add(courseVenue); } - return weekedCourses; + return courseVenues; } @@ -273,11 +386,37 @@ tAppUser = new TAppUser(); tAppUser.setCode(UUIDUtil.getNumberRandom(16)); tAppUser.setPhone(addAppUserVo.getPhone()); - tAppUser.setPassword(Md5Util.MD5Encode(addAppUserVo.getPassword(), null)); + tAppUser.setPassword(addAppUserVo.getPassword()); tAppUser.setIsVip(0); tAppUser.setState(1); tAppUser.setInsertTime(new Date()); this.baseMapper.insert(tAppUser); + + + // 介绍有礼 + if(addAppUserVo.getReferralUserId()!=null){ + Map<String, String> geocode = gdMapGeocodingUtil.geocode(addAppUserVo.getLon(), addAppUserVo.getLat()); + Integer num=0; + if(null != geocode){ + String province = geocode.get("province"); + String provinceCode = geocode.get("provinceCode"); + String city = geocode.get("city"); + String cityCode = geocode.get("cityCode"); + num = introduceRewardsClient.getGiftList(cityCode); + } + TAppGift one = appGiftService.getOne(new LambdaQueryWrapper<TAppGift>().eq(TAppGift::getUserId, addAppUserVo.getReferralUserId())); + if(one!=null){ + one.setNum(one.getNum()+num); + appGiftService.updateById(one); + }else { + TAppGift tAppGift = new TAppGift(); + tAppGift.setUserId(addAppUserVo.getReferralUserId()); + tAppGift.setNum(num); + appGiftService.save(tAppGift); + } + + } + return ResultUtil.success(); } @@ -296,9 +435,9 @@ return ResultUtil.error("请先注册", ""); } if(tAppUser.getState() == 2){ - return ResultUtil.error("您的账号已被冻结", ""); + return ResultUtil.errorCode("您的账号已被冻结", ""); } - password = Md5Util.MD5Encode(password, null); +// password = Md5Util.MD5Encode(password, null); if(!tAppUser.getPassword().equals(password)){ return ResultUtil.error("账号密码错误", ""); } @@ -344,6 +483,7 @@ @Override public ResultUtil loginWechat(LoginWeChatVo loginWechatVo) throws Exception { TAppUser tAppUser = this.baseMapper.selectOne(new QueryWrapper<TAppUser>().eq("openid", loginWechatVo.getOpenId()).ne("state", 3)); + if(null == tAppUser){ tAppUser = this.baseMapper.selectOne(new QueryWrapper<TAppUser>().eq("phone", loginWechatVo.getPhone()).ne("state", 3)); if(null == tAppUser){ @@ -353,6 +493,9 @@ tAppUser.setPhone(loginWechatVo.getPhone()); tAppUser.setPassword(Md5Util.MD5Encode("111111", null)); tAppUser.setIsVip(0); + tAppUser.setName(loginWechatVo.getNickname()); + tAppUser.setHeadImg(loginWechatVo.getHeadimgurl()); + tAppUser.setGender(loginWechatVo.getSex()); tAppUser.setState(1); tAppUser.setInsertTime(new Date()); this.baseMapper.insert(tAppUser); @@ -371,7 +514,15 @@ this.updateById(tAppUser); String token = getToken(tAppUser); - return ResultUtil.success(token); + + HashMap<String, String> map = new HashMap<>(); + map.put("token",token); + if(ToolUtil.isEmpty(tAppUser.getPhone())){ + map.put("isBind","0"); + }else { + map.put("isBind","1"); + } + return ResultUtil.success(map); } @@ -408,7 +559,7 @@ if(tAppUser.getState() == 2){ return ResultUtil.error("您的账号已被冻结", ""); } - tAppUser.setPassword(Md5Util.MD5Encode(password, null)); + tAppUser.setPassword(password); this.updateById(tAppUser); return ResultUtil.success(); } @@ -486,22 +637,25 @@ TAppUser appUser = this.getById(appUserId); benefirVo.setUserHeadImg(appUser.getHeadImg()); benefirVo.setUserName(appUser.getName()); + benefirVo.setWpCoin(ToolUtil.isEmpty(appUser.getPlayPaiCoins()) ? 0 : appUser.getPlayPaiCoins()); + benefirVo.setUserIntegral(ToolUtil.isEmpty(appUser.getIntegral()) ? 0 : appUser.getIntegral()); if (appUser.getIsVip() == 1){ benefirVo.setIsMember("年度会员"); }else { benefirVo.setIsMember("普通用户"); } - benefirVo.setCommodities(mcClient.getConvertibleGoods()); + List<IntegralCommodity> convertibleGoods = mcClient.getConvertibleGoods(); + benefirVo.setCommodities(convertibleGoods); benefirVo.setImage(icfgClient.getImageConfig()); return benefirVo; } @Override - public BillingDetailsVo queryUserBillingDetails(String yearMonth, Integer recordId, Integer appUserId) { - BillingDetailsVo vo = new BillingDetailsVo(); - List<BillingDetailsVo.ConsumeDetail> details = new ArrayList<>(); + public List<ConsumeDetail> queryUserBillingDetails(String yearMonth, Integer recordId, Integer appUserId) { + List<ConsumeDetail> details = new ArrayList<>(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM-dd HH:mm"); + SimpleDateFormat result = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date monthStart = null; Date monthEnd = null; if (StringUtils.hasText(yearMonth)) { @@ -511,41 +665,66 @@ monthStart = DateTimeHelper.getCurrentMouthStart(); monthEnd = DateTimeHelper.getCurrentMouthEnd(); } + + BillingDataRequestVo requestVo = new BillingDataRequestVo(); + requestVo.setMonthStart(result.format(monthStart)); + requestVo.setMonthEnd(result.format(monthEnd)); + requestVo.setAppUserId(appUserId); // 1.赛事报名 - List<PaymentCompetition> allCompetitionPayRecord = deducClient.getAllCompetitionPayRecord(appUserId); - if (allCompetitionPayRecord.size() > 0 ){ - for (PaymentCompetition paymentCompetition : allCompetitionPayRecord) { - BillingDetailsVo.ConsumeDetail consumeDetail = new BillingDetailsVo.ConsumeDetail(); + BillingRequestVo allCompetitionPayRecord = deducClient.getAllCompetitionPayRecord(requestVo); + if (ToolUtil.isNotEmpty(allCompetitionPayRecord.getRequests())){ + for (BillingRequest paymentCompetition : allCompetitionPayRecord.getRequests()) { + ConsumeDetail consumeDetail = new ConsumeDetail(); consumeDetail.setConsumeName(RechargeRecordEnum.EVENT_REGISTRATION.getMsg()); - consumeDetail.setConsumeTime(simpleDateFormat.format(paymentCompetition.getInsertTime())); + consumeDetail.setConsumeTime(paymentCompetition.getTime()); consumeDetail.setConsumeAmount("-" + paymentCompetition.getAmount()); details.add(consumeDetail); + consumeDetail.setType(1); } } // 2.取消赛事报名 - List<PaymentCompetition> cancelOrderOfUserPayRecord = deducClient.getCancelOrderOfUserPayRecord(appUserId); - if (cancelOrderOfUserPayRecord.size() > 0 ){ - for (PaymentCompetition paymentCompetition : cancelOrderOfUserPayRecord) { - BillingDetailsVo.ConsumeDetail consumeDetail = new BillingDetailsVo.ConsumeDetail(); + BillingRequestVo cancelOrderOfUserPayRecord = deducClient.getCancelOrderOfUserPayRecord(requestVo); + if (ToolUtil.isNotEmpty(cancelOrderOfUserPayRecord.getRequests())){ + for (BillingRequest paymentCompetition : cancelOrderOfUserPayRecord.getRequests()) { + ConsumeDetail consumeDetail = new ConsumeDetail(); consumeDetail.setConsumeName(RechargeRecordEnum.CANCEL_EVENT_REGISTRATION.getMsg()); - consumeDetail.setConsumeTime(simpleDateFormat.format(paymentCompetition.getInsertTime())); + consumeDetail.setConsumeTime(paymentCompetition.getTime()); consumeDetail.setConsumeAmount("+" + paymentCompetition.getAmount()); + consumeDetail.setType(1); details.add(consumeDetail); } } // 3.课包购买 - List<TCoursePackagePayment> amountPayRecord = paymentClient.getAmountPayRecord(appUserId); - if (amountPayRecord.size() > 0 ){ - for (TCoursePackagePayment coursePackagePayment : amountPayRecord) { - BillingDetailsVo.ConsumeDetail consumeDetail = new BillingDetailsVo.ConsumeDetail(); + BillingRequestVo amountPayRecord = paymentClient.getAmountPayRecord(requestVo); + if (ToolUtil.isNotEmpty(amountPayRecord.getRequests())){ + for (BillingRequest coursePackagePayment : amountPayRecord.getRequests()) { + ConsumeDetail consumeDetail = new ConsumeDetail(); consumeDetail.setConsumeName(RechargeRecordEnum.COURSE_PACKAGE_PURCHASE.getMsg()); - consumeDetail.setConsumeTime(simpleDateFormat.format(coursePackagePayment.getInsertTime())); - consumeDetail.setConsumeAmount("-" + coursePackagePayment.getCashPayment()); + consumeDetail.setConsumeTime(coursePackagePayment.getTime()); + consumeDetail.setConsumeAmount("-" + coursePackagePayment.getAmount()); + consumeDetail.setType(2); details.add(consumeDetail); } } // 4.场地预约 - // TODO: 2023/7/14 账单的场地预约查询 + RequestOfTypeVo allSiteBookingList = stClient.getAllSiteBookingList(requestVo); + if (ToolUtil.isNotEmpty(allSiteBookingList.getRequest())){ + for (BillingRequestOfType booking : allSiteBookingList.getRequest()) { + ConsumeDetail consumeDetail = new ConsumeDetail(); + if (booking.getStatus() != 5){ + consumeDetail.setConsumeName(RechargeRecordEnum.VENUE_RESERVATION.getMsg()); + consumeDetail.setConsumeAmount("-" + booking.getAmount()); + consumeDetail.setConsumeTime(booking.getTime()); + consumeDetail.setType(2); + }else { + consumeDetail.setConsumeName(RechargeRecordEnum.CANCEL_VENUE_RESERVATION.getMsg()); + consumeDetail.setConsumeAmount("+" + booking.getAmount()); + consumeDetail.setConsumeTime(booking.getTime()); + consumeDetail.setType(1); + } + details.add(consumeDetail); + } + } // 5.智慧球场 // 6.年度会员 @@ -555,10 +734,11 @@ .between("insertTime", monthStart, monthEnd)); if (vipPayments.size() > 0) { for (VipPayment vipPayment : vipPayments) { - BillingDetailsVo.ConsumeDetail consumeDetail = new BillingDetailsVo.ConsumeDetail(); + ConsumeDetail consumeDetail = new ConsumeDetail(); consumeDetail.setConsumeName(RechargeRecordEnum.ANNUAL_MEMBERSHIP.getMsg()); consumeDetail.setConsumeTime(simpleDateFormat.format(vipPayment.getInsertTime())); consumeDetail.setConsumeAmount("-" + vipPayment.getAmount()); + consumeDetail.setType(2); details.add(consumeDetail); } } @@ -569,16 +749,39 @@ .between("insertTime", monthStart, monthEnd)); if (rechargeRecords.size() > 0) { for (RechargeRecords rechargeRecord : rechargeRecords) { - BillingDetailsVo.ConsumeDetail consumeDetail = new BillingDetailsVo.ConsumeDetail(); + ConsumeDetail consumeDetail = new ConsumeDetail(); consumeDetail.setConsumeName(RechargeRecordEnum.RECHARGE.getMsg() + ":" + rechargeRecord.getPlayPaiCoins()); consumeDetail.setConsumeTime(simpleDateFormat.format(rechargeRecord.getInsertTime())); consumeDetail.setConsumeAmount("-" + rechargeRecord.getAmount()); + consumeDetail.setType(2); details.add(consumeDetail); } } + if (details.size() > 0 ){ + Collections.sort(details, new Comparator<ConsumeDetail>() { + @Override + public int compare(ConsumeDetail record1, 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; + if (ToolUtil.isNotEmpty(recordId)){ + details = details.stream() + .filter(response -> Objects.equals(response.getType(), recordId)) + .collect(Collectors.toList()); + } + } + return details; } @Override @@ -595,14 +798,16 @@ List<RechargeCentVo> centVos = new ArrayList<>(); TAppUser tAppUser = this.baseMapper.selectById(appUserId); List<Map<String, Object>> rechargeConfig = reconMapper.getRechargeConfig(); + System.out.println(rechargeConfig); if (rechargeConfig.size() > 0 ){ for (Map<String, Object> stringObjectMap : rechargeConfig) { RechargeCentVo vo = new RechargeCentVo(); - vo.setAmount("¥ "+stringObjectMap.get("money")); + Double money = (Double) stringObjectMap.get("money"); + vo.setAmount(BigDecimal.valueOf(money) ); if (tAppUser.getIsVip() == 1){ - vo.setWpGold(stringObjectMap.get("MemberCoins")+"币"); + vo.setWpGold((Integer) stringObjectMap.get("MemberCoins")); }else { - vo.setWpGold(stringObjectMap.get("usersCoins")+"币"); + vo.setWpGold((Integer) stringObjectMap.get("usersCoins")); } centVos.add(vo); } @@ -611,22 +816,16 @@ } @Override - public PointMallDetailsResponse queryAppUserIntegral(MallRequest request, Integer userIdFormRedis) { - PointMallDetailsResponse detailsResponse = new PointMallDetailsResponse(); - List<PointMallDetailsResponse.Goods> goods = new ArrayList<>(); - - TAppUser tAppUser = this.baseMapper.selectById(userIdFormRedis); - detailsResponse.setName(tAppUser.getName()); - detailsResponse.setIntegral(tAppUser.getIntegral()); - detailsResponse.setHeadImg(tAppUser.getHeadImg()); + public List<Goods> queryAppUserIntegral(MallRequest request ) { + List<Goods> goods = new ArrayList<>(); CommodityRequest commodityRequest = new CommodityRequest(); commodityRequest.setLon(request.getLon()); commodityRequest.setLat(request.getLat()); - List<PointsMerchandise> vicinityGoods = mcClient.getVicinityGoods(commodityRequest); - if (vicinityGoods.size() > 0) { - for (PointsMerchandise vicinityGood : vicinityGoods) { - PointMallDetailsResponse.Goods commodity = new PointMallDetailsResponse.Goods(); + PointMerchandiseVo vicinityGoods = mcClient.getVicinityGoods(commodityRequest); + if (ToolUtil.isNotEmpty(vicinityGoods.getMerchandises())) { + for (PointsMerchandise vicinityGood : vicinityGoods.getMerchandises()) { + Goods commodity = new Goods(); switch (vicinityGood.getType()) { case 1: commodity.setGoodId(vicinityGood.getId()); @@ -642,6 +841,8 @@ commodity.setBelongsType(vicinityGood.getUserPopulation()); commodity.setGoodsType(1); commodity.setNums(mcClient.getRedeemedQuantity(vicinityGood.getId())); + List<Integer> integers = mcsClient.queryPointMerStoreIds(vicinityGood.getId()); + commodity.setShopIds(integers); break; case 2: commodity.setGoodId(vicinityGood.getCoursePackageId()); @@ -658,6 +859,7 @@ commodity.setBelongsType(vicinityGood.getUserPopulation()); commodity.setGoodsType(2); commodity.setNums(mcClient.getRedeemedQuantity(vicinityGood.getId())); + commodity.setShopIds(mcsClient.queryPointMerStoreIds(vicinityGood.getId())); break; case 3: commodity.setGoodId(vicinityGood.getId()); @@ -673,8 +875,10 @@ commodity.setBelongsType(vicinityGood.getUserPopulation()); commodity.setGoodsType(3); commodity.setNums(mcClient.getRedeemedQuantity(vicinityGood.getId())); + commodity.setShopIds(mcsClient.queryPointMerStoreIds(vicinityGood.getId())); break; default: + break; } goods.add(commodity); @@ -683,7 +887,7 @@ List<Coupon> allCoupons = ucponClient.getAllCoupons(commodityRequest); if (allCoupons.size() > 0) { for (Coupon allCoupon : allCoupons) { - PointMallDetailsResponse.Goods commodity = new PointMallDetailsResponse.Goods(); + Goods commodity = new Goods(); commodity.setGoodId(allCoupon.getId()); commodity.setGoodName(allCoupon.getName()); commodity.setCondition(allCoupon.getRedemptionMethod()); @@ -696,31 +900,50 @@ } commodity.setBelongsType(allCoupon.getUserPopulation()); commodity.setGoodsType(4); + commodity.setShopIds(ucponClient.getCouponStoreIds(allCoupon.getId())); commodity.setNums(ucponClient.getRedeemedQuantity(allCoupon.getId())); goods.add(commodity); } } + if (StringUtils.hasText(request.getSearch())){ - goods = goods.stream() - .filter(merchandise -> merchandise.getGoodName().contains(request.getSearch())) - .collect(Collectors.toList()); + if (goods.size() > 0 ){ + goods = goods.stream() + .filter(merchandise -> merchandise.getGoodName().contains(request.getSearch())) + .collect(Collectors.toList()); + } } + // 2.0 门店筛选 + if (request.getShopId()!=null){ + if (goods.size() > 0 ){ + goods = goods.stream() + .filter(merchandise -> merchandise.getShopIds().contains(request.getShopId())) + .collect(Collectors.toList()); + } + } + if (null != request.getRank()){ switch (request.getRank()){ case 1: - goods = goods.stream() - .sorted(Comparator.comparing(PointMallDetailsResponse.Goods::getIntegral).reversed()) - .collect(Collectors.toList()); + if (goods.size() > 0 ){ + goods = goods.stream() + .sorted(Comparator.comparing(Goods::getIntegral).reversed()) + .collect(Collectors.toList()); + } break; case 2: - goods = goods.stream() - .sorted(Comparator.comparing(PointMallDetailsResponse.Goods::getIntegral)) - .collect(Collectors.toList()); + if (goods.size() > 0 ){ + goods = goods.stream() + .sorted(Comparator.comparing(Goods::getIntegral)) + .collect(Collectors.toList()); + } break; case 3: - goods = goods.stream() - .sorted(Comparator.comparing(PointMallDetailsResponse.Goods::getNums).reversed()) - .collect(Collectors.toList()); + if (goods.size() > 0 ){ + goods = goods.stream() + .sorted(Comparator.comparing(Goods::getNums).reversed()) + .collect(Collectors.toList()); + } break; default: break; @@ -728,26 +951,29 @@ } if (null != request.getGoodsType()){ - goods = goods.stream() - .filter(merchandise -> merchandise.getGoodsType().equals(request.getGoodsType())) - .collect(Collectors.toList()); + if (goods.size() > 0 ){ + goods = goods.stream() + .filter(merchandise -> merchandise.getGoodsType().equals(request.getGoodsType())) + .collect(Collectors.toList()); + } } - detailsResponse.setGoods(goods); - return detailsResponse; + + //当前第几页 + int pageNo = request.getPageNum(); + //一页五条 + int size = request.getPageSize(); + + //分页 + goods = goods.stream().skip((pageNo - 1) * size).limit(size). + collect(Collectors.toList()); + return goods; } - @Override - public ResultUtil uploadAppUserHeadImg(Integer appUserId, MultipartFile file, HttpServletRequest request) { - try { - String filePath = OssUploadUtil.ossUpload(request,file); - TAppUser tAppUser = this.baseMapper.selectById(appUserId); - tAppUser.setHeadImg(filePath); - this.baseMapper.updateById(tAppUser); - } catch (IOException e) { - ResultUtil.error("头像上传失败!"); - } - - return ResultUtil.success(); + // 对数据进行分页处理的方法 + private static Page<Goods> getPage(List<Goods> dataList, Pageable pageable) { + int start = (int) pageable.getOffset(); + int end = Math.min((start + pageable.getPageSize()), dataList.size()); + return new PageImpl<>(dataList.subList(start, end), pageable, dataList.size()); } @Override @@ -795,105 +1021,183 @@ } @Override - public ResultUtil productRedemptionOperation(Integer userIdFormRedis, Integer goodId, Integer goodsType,Integer nums,Integer exchangeType,Integer payType,List<Integer> stuIds) { - PointsMerchandise merchandise = mcClient.selectPointsMerchandiseById(goodId); + @Transactional + public ResultUtil productRedemptionOperation(Integer userIdFormRedis, GoodsExchangeVo exchangeType) { + System.out.println("exchangeType:--->"); + System.out.println(exchangeType); + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5); - for (int i = 0; i < nums; i++) { + PointsMerchandise merchandise = mcClient.selectPointsMerchandiseById(exchangeType.getGoodId()); + if (ToolUtil.isEmpty(merchandise)){ + return ResultUtil.error("商品不存在"); + } + TAppUser tAppUser = this.baseMapper.selectById(userIdFormRedis); + if (ToolUtil.isEmpty(tAppUser)){ + return ResultUtil.error("用户不存在"); + } + int goodsNums = 0; + if (ToolUtil.isEmpty(exchangeType.getNums())){ + goodsNums = 1; + }else { + goodsNums = exchangeType.getNums(); + } + AppUserGoodResp goodResp = new AppUserGoodResp(); + goodResp.setAppUserId(userIdFormRedis); + goodResp.setGoodId(merchandise.getId()); + int count = mcClient.queryUserHasGoodsNums(goodResp); + if (ToolUtil.isNotEmpty(count) && count >= merchandise.getPickUpQuantity()){ + return ResultUtil.error("超过限领数量"); + } + + for (int i = 0; i < goodsNums; i++) { +// 新增积分商品兑换记录 UserPointsMerchandise pointsMerchandise = new UserPointsMerchandise(); - pointsMerchandise.setPointsMerchandiseId(goodId); + pointsMerchandise.setPointsMerchandiseId(exchangeType.getGoodId()); pointsMerchandise.setUserId(userIdFormRedis); + pointsMerchandise.setStatus(1); + pointsMerchandise.setState(1); + if (merchandise.getUseScope() == 3){ + if (exchangeType.getGoodsType() == 2){ + CoursePackage coursePackage = cpageClient.queryCoursePackageById(merchandise.getCoursePackageId()); + pointsMerchandise.setStoreId(coursePackage.getStoreId()); + }else { + pointsMerchandise.setStoreId(exchangeType.getStoreId()); + } + } pointsMerchandise.setCode(code); mcClient.saveDetailsUserPointMercase(pointsMerchandise); } -// 扣减积分 - TAppUser tAppUser = this.baseMapper.selectById(userIdFormRedis); - - -// 积分变更记录 - UserIntegralChanges userIntegralChanges = new UserIntegralChanges(); - userIntegralChanges.setAppUserId(userIdFormRedis); - userIntegralChanges.setOldIntegral(tAppUser.getIntegral()); - userIntegralChanges.setType(2); - tAppUser.setIntegral(null == tAppUser.getIntegral() ? merchandise.getIntegral() : tAppUser.getIntegral() +merchandise.getIntegral()); - userIntegralChanges.setNewIntegral(tAppUser.getIntegral()); - userIntegralChanges.setInsertTime(new Date()); - uicMapper.insert(userIntegralChanges); - - this.baseMapper.updateById(tAppUser); -// 现金支付 - if (exchangeType == 2) { - switch (goodsType) { - case 2: - for (int i = 0; i < stuIds.size(); i++) { - List<CoursePackagePaymentConfig> courseConfigList = cpconClient.getCourseConfigList(merchandise.getCoursePackageId()); - - TCoursePackagePayment packagePayment = new TCoursePackagePayment(); - packagePayment.setAppUserId(userIdFormRedis); - packagePayment.setStudentId(stuIds.get(i)); - packagePayment.setCoursePackageId(merchandise.getCoursePackageId()); - for (CoursePackagePaymentConfig coursePackagePaymentConfig : courseConfigList) { - if (Objects.equals(coursePackagePaymentConfig.getId(),merchandise.getCoursePackageConfigId())){ - packagePayment.setClassHours(coursePackagePaymentConfig.getClassHours()); - packagePayment.setTotalClassHours(coursePackagePaymentConfig.getClassHours()); - packagePayment.setLaveClassHours(coursePackagePaymentConfig.getClassHours()); - packagePayment.setOriginalPrice(coursePackagePaymentConfig.getCashPayment()); - break; + switch (exchangeType.getExchangeType()){ +// 积分 + case 1: + boolean b = dealAppUserIntegral(userIdFormRedis,tAppUser,merchandise.getIntegral()); + if (b){ + switch (exchangeType.getGoodsType()){ + case 2: + Integer stuNums = 0; + if (ToolUtil.isNotEmpty(exchangeType.getStuIds())){ + stuNums = exchangeType.getStuIds().size(); + }else { + stuNums = 1; } + for (int i = 0; i < stuNums; i++) { + List<CoursePackagePaymentConfig> courseConfigList = cpconClient.getCourseConfigList(merchandise.getCoursePackageId()); + TCoursePackagePayment packagePayment = new TCoursePackagePayment(); + packagePayment.setAppUserId(userIdFormRedis); + packagePayment.setStudentId(exchangeType.getStuIds().get(i)); + packagePayment.setCoursePackageId(merchandise.getCoursePackageId()); + for (CoursePackagePaymentConfig coursePackagePaymentConfig : courseConfigList) { + if (Objects.equals(coursePackagePaymentConfig.getId(), merchandise.getCoursePackageConfigId())) { + packagePayment.setClassHours(coursePackagePaymentConfig.getClassHours()); + packagePayment.setTotalClassHours(coursePackagePaymentConfig.getClassHours()); + packagePayment.setLaveClassHours(coursePackagePaymentConfig.getClassHours()); + packagePayment.setOriginalPrice(coursePackagePaymentConfig.getCashPayment()); + break; + } + } + packagePayment.setPlayPaiCoin(merchandise.getIntegral()); + packagePayment.setAbsencesNumber(0); + packagePayment.setPayUserType(1); + packagePayment.setPayStatus(2); + packagePayment.setPayUserId(userIdFormRedis); + packagePayment.setStatus(1); + packagePayment.setState(1); + packagePayment.setCode(code); + paymentClient.savePaymentCoursePackage(packagePayment); + } + break; + case 4: + for (int i = 0; i < goodsNums; i++) { + UserCoupon coupon = new UserCoupon(); + coupon.setCouponId(exchangeType.getGoodId()); + coupon.setUserId(userIdFormRedis); + coupon.setStatus(1); + ucponClient.insertToAppuserCoupon(coupon); + } + break; + default: + break; + } + }else { + return ResultUtil.error("用户积分不足!"); + } + break; + case 2: +// 积分+现金 + boolean dealt = dealAppUserIntegral(userIdFormRedis,tAppUser,merchandise.getIntegral()); + switch (exchangeType.getPayType()) { + case 1: + try { + if (merchandise.getType() == 2) { + return WechatPayment(merchandise.getCash().multiply(new BigDecimal(exchangeType.getStuIds().size())), code); + } else { + return WechatPayment(merchandise.getCash().multiply(new BigDecimal(goodsNums)), code); + } + } catch (Exception e) { + return ResultUtil.runErr(); } - packagePayment.setPlayPaiCoin(merchandise.getIntegral()); - packagePayment.setAbsencesNumber(0); - packagePayment.setPayUserType(1); - packagePayment.setPayStatus(1); - packagePayment.setPayUserId(userIdFormRedis); - packagePayment.setStatus(1); - packagePayment.setState(1); - packagePayment.setInsertTime(new Date()); - packagePayment.setCode(code); - paymentClient.savePaymentCoursePackage(packagePayment); - } - break; - case 4: - for (int i = 0; i < nums; i++) { - UserCoupon coupon = new UserCoupon(); - coupon.setCouponId(goodId); - coupon.setUserId(userIdFormRedis); - coupon.setStatus(1); - coupon.setInsertTime(new Date()); - ucponClient.insertToAppuserCoupon(coupon); - } - break; - default: - break; - } - - switch (payType){ - case 1: - try { - if (merchandise.getType() == 2){ - return WechatPayment(merchandise.getCash().multiply(new BigDecimal(stuIds.size())),code); - }else { - return WechatPayment(merchandise.getCash().multiply(new BigDecimal(nums)),code); + case 2: + if (merchandise.getType() == 2) { + return AlipayPayment(merchandise.getCash().multiply(new BigDecimal(exchangeType.getStuIds().size())), code); + } else { + return AlipayPayment(merchandise.getCash().multiply(new BigDecimal(goodsNums)), code); } - }catch (Exception e){ - return ResultUtil.runErr(); - } - case 2: - if (merchandise.getType() == 2){ - AlipayPayment(merchandise.getCash().multiply(new BigDecimal(stuIds.size())),code); - }else { - AlipayPayment(merchandise.getCash().multiply(new BigDecimal(nums)),code); - } - break; - default: - break; - } + default: + break; + } + break; + case 3: + switch (exchangeType.getPayType()) { + case 1: + try { + if (merchandise.getType() == 2) { + return WechatPayment(merchandise.getCash().multiply(new BigDecimal(exchangeType.getStuIds().size())), code); + } else { + return WechatPayment(merchandise.getCash().multiply(new BigDecimal(goodsNums)), code); + } + } catch (Exception e) { + return ResultUtil.runErr(); + } + case 2: + if (merchandise.getType() == 2) { + return AlipayPayment(merchandise.getCash().multiply(new BigDecimal(exchangeType.getStuIds().size())), code); + } else { + return AlipayPayment(merchandise.getCash().multiply(new BigDecimal(goodsNums)), code); + } + default: + break; + } + break; + default: + break; } - return ResultUtil.success(); } + public boolean dealAppUserIntegral(Integer appUserId,TAppUser appUser,Integer points){ + try { + if (ToolUtil.isEmpty(appUser.getIntegral()) || (ToolUtil.isNotEmpty(appUser.getIntegral()) && appUser.getIntegral() < points)){ + return false; + } + // 积分变更记录 + UserIntegralChanges userIntegralChanges = new UserIntegralChanges(); + userIntegralChanges.setAppUserId(appUserId); + userIntegralChanges.setOldIntegral(appUser.getIntegral()); + userIntegralChanges.setType(2); + appUser.setIntegral(null == appUser.getIntegral() ? points : appUser.getIntegral() - points); + userIntegralChanges.setNewIntegral(appUser.getIntegral()); + userIntegralChanges.setInsertTime(new Date()); + userIntegralChanges.setCategory(2); + uicMapper.insert(userIntegralChanges); + + this.baseMapper.updateById(appUser); + return true; + }catch (Exception e){ + return false; + } + } private ResultUtil AlipayPayment(BigDecimal cash, String code) { ResultUtil alipay = payMoneyUtil.alipay("课包续费", "", "", code, cash.toString(), @@ -924,11 +1228,10 @@ Map<String, String> data1 = resultUtil.getData(); String s = data1.get("tradeStatus"); String tradeNo = data1.get("tradeNo"); -// if("TRADE_CLOSED".equals(s) || "TRADE_FINISHED".equals(s) || num == 10){ -// coursePackagePayment.setState(3); -// couPayClient.delPaymentCoursePackage(coursePackagePayment.getId()); -// break; -// } + if("REFUND".equals(s) || "NOTPAY".equals(s) || "CLOSED".equals(s) || "REVOKED".equals(s) || "PAYERROR".equals(s) || num == 10){ + mcClient.deletePaymentRecord(code); + break; + } if("TRADE_SUCCESS".equals(s)){ for (UserPointsMerchandise userPointsMerchandise : userPointsMerchandises) { userPointsMerchandise.setPayStatus(2); @@ -944,6 +1247,7 @@ } } }catch (Exception e){ + mcClient.deletePaymentRecord(code); e.printStackTrace(); } } @@ -984,11 +1288,10 @@ Map<String, String> data1 = resultUtil.getData(); String s = data1.get("trade_state"); String transaction_id = data1.get("transaction_id"); -// if("REFUND".equals(s) || "NOTPAY".equals(s) || "CLOSED".equals(s) || "REVOKED".equals(s) || "PAYERROR".equals(s) || num == 10){ -// coursePackagePayment.setState(3); -// couPayClient.delPaymentCoursePackage(coursePackagePayment.getId()); -// break; -// } + if("REFUND".equals(s) || "NOTPAY".equals(s) || "CLOSED".equals(s) || "REVOKED".equals(s) || "PAYERROR".equals(s) || num == 10){ + mcClient.deletePaymentRecord(code); + break; + } if("SUCCESS".equals(s)){ for (UserPointsMerchandise userPointsMerchandise : userPointsMerchandises) { userPointsMerchandise.setPayStatus(2); @@ -1040,7 +1343,6 @@ coupon.setCouponId(userPointsMerchandises.get(0).getPointsMerchandiseId()); coupon.setUserId(userPointsMerchandises.get(0).getUserId()); coupon.setStatus(1); - coupon.setInsertTime(new Date()); ucponClient.insertToAppuserCoupon(coupon); break; default: @@ -1071,7 +1373,6 @@ coupon.setCouponId(userPointsMerchandises.get(0).getPointsMerchandiseId()); coupon.setUserId(userPointsMerchandises.get(0).getUserId()); coupon.setStatus(1); - coupon.setInsertTime(new Date()); ucponClient.insertToAppuserCoupon(coupon); break; default: @@ -1087,24 +1388,29 @@ List<StoreResponse> responses = new ArrayList<>(); if (goodsType == 4){ List<Integer> couponStoreIds = ucponClient.getCouponStoreIds(pointsMerId); - for (Integer couponStoreId : couponStoreIds) { - StoreDetailOfCourse courseOfStore = storeClient.getCourseOfStore(couponStoreId); - if(ToolUtil.isNotEmpty(courseOfStore)){ - StoreResponse response = new StoreResponse(); - response.setStoreId(couponStoreId); - response.setStoreName(courseOfStore.getStoreName()); - responses.add(response); + if (couponStoreIds.size() > 0 ){ + for (Integer couponStoreId : couponStoreIds) { + StoreDetailOfCourse courseOfStore = storeClient.getCourseOfStore(couponStoreId); + if(ToolUtil.isNotEmpty(courseOfStore)){ + StoreResponse response = new StoreResponse(); + response.setStoreId(couponStoreId); + response.setStoreName(courseOfStore.getStoreName()); + responses.add(response); + } } } + }else { List<Integer> integers = mcsClient.queryPointMerStoreIds(pointsMerId); - for (Integer integer : integers) { - StoreDetailOfCourse courseOfStore = storeClient.getCourseOfStore(integer); - if(ToolUtil.isNotEmpty(courseOfStore)){ - StoreResponse response = new StoreResponse(); - response.setStoreId(integer); - response.setStoreName(courseOfStore.getStoreName()); - responses.add(response); + if (integers.size() > 0 ){ + for (Integer integer : integers) { + StoreDetailOfCourse courseOfStore = storeClient.getCourseOfStore(integer); + if(ToolUtil.isNotEmpty(courseOfStore)){ + StoreResponse response = new StoreResponse(); + response.setStoreId(integer); + response.setStoreName(courseOfStore.getStoreName()); + responses.add(response); + } } } } @@ -1112,4 +1418,22 @@ } + @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); + System.out.println(storeOfCourses); + if (storeOfCourses.size() > 0 ){ + courseVenues = dealDatas(storeOfCourses,longitude,latitude); + } + return courseVenues; + } + + + + } -- Gitblit v1.7.1