|  |  |  | 
|---|
|  |  |  | 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.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.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.vo.classDetails.CourseVenue; | 
|---|
|  |  |  | import com.dsh.account.model.vo.classDetails.ExerciseVideo; | 
|---|
|  |  |  | 
|---|
|  |  |  | 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.multipart.MultipartFile; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ImgConfigClient icfgClient; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private VideoOfCourseListClient voclClient; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private VipPaymentMapper vipPaymentMapper; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<RegisteredCourse> courseList = new ArrayList<>(); | 
|---|
|  |  |  | 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.setCourseId(tCoursePackagePayment.getCourseId()); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | classInfoVo.setCourseList(courseList); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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(); | 
|---|
|  |  |  | 
|---|
|  |  |  | 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())) + ""); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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.setCourseName(courseOfStoreVo.getCourseName()); | 
|---|
|  |  |  | couList.setTimeStr(courseOfStoreVo.getClassStartTime() + "-" + courseOfStoreVo.getClassEndTime()); | 
|---|
|  |  |  | couList.setDetail("¥" + courseOfStoreVo.getCoursePrice() + "/会员扣2学时"); | 
|---|
|  |  |  | couList.setStatus(courseOfStoreVo.getStatus()); | 
|---|
|  |  |  | courses.add(couList); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | courseVenue.setCourses(courses); | 
|---|
|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | 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)) { | 
|---|
|  |  |  | 
|---|
|  |  |  | 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) { | 
|---|
|  |  |  | 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) { | 
|---|
|  |  |  | 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) { | 
|---|
|  |  |  | 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.场地预约 | 
|---|
|  |  |  | List<SiteBooking> allSiteBookingList = stClient.getAllSiteBookingList(appUserId); | 
|---|
|  |  |  | if (allSiteBookingList.size() >  0){ | 
|---|
|  |  |  | for (SiteBooking booking : allSiteBookingList) { | 
|---|
|  |  |  | 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.getPayMoney()); | 
|---|
|  |  |  | consumeDetail.setConsumeTime(simpleDateFormat.format(booking.getPayTime())); | 
|---|
|  |  |  | consumeDetail.setConsumeAmount("-" + booking.getAmount()); | 
|---|
|  |  |  | consumeDetail.setConsumeTime(booking.getTime()); | 
|---|
|  |  |  | consumeDetail.setType(2); | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | consumeDetail.setConsumeName(RechargeRecordEnum.CANCEL_VENUE_RESERVATION.getMsg()); | 
|---|
|  |  |  | consumeDetail.setConsumeAmount("+" + booking.getPayMoney()); | 
|---|
|  |  |  | consumeDetail.setConsumeTime(simpleDateFormat.format(booking.getCancelTime())); | 
|---|
|  |  |  | consumeDetail.setConsumeAmount("+" + booking.getAmount()); | 
|---|
|  |  |  | consumeDetail.setConsumeTime(booking.getTime()); | 
|---|
|  |  |  | consumeDetail.setType(1); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | details.add(consumeDetail); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | consumeDetail.setConsumeName(RechargeRecordEnum.ANNUAL_MEMBERSHIP.getMsg()); | 
|---|
|  |  |  | consumeDetail.setConsumeTime(simpleDateFormat.format(vipPayment.getInsertTime())); | 
|---|
|  |  |  | consumeDetail.setConsumeAmount("-" + vipPayment.getAmount()); | 
|---|
|  |  |  | consumeDetail.setType(2); | 
|---|
|  |  |  | details.add(consumeDetail); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | consumeDetail.setConsumeName(RechargeRecordEnum.RECHARGE.getMsg() + ":" + rechargeRecord.getPlayPaiCoins()); | 
|---|
|  |  |  | consumeDetail.setConsumeTime(simpleDateFormat.format(rechargeRecord.getInsertTime())); | 
|---|
|  |  |  | consumeDetail.setConsumeAmount("-" + rechargeRecord.getAmount()); | 
|---|
|  |  |  | consumeDetail.setType(2); | 
|---|
|  |  |  | details.add(consumeDetail); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | return date2.compareTo(date1); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (ToolUtil.isNotEmpty(recordId)){ | 
|---|
|  |  |  | details = details.stream() | 
|---|
|  |  |  | .filter(response -> Objects.equals(response.getType(), recordId)) | 
|---|
|  |  |  | .collect(Collectors.toList()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return details; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | 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.setChargeId((Integer) stringObjectMap.get("money")); | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | 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) { | 
|---|
|  |  |  | PointMerchandiseVo vicinityGoods = mcClient.getVicinityGoods(commodityRequest); | 
|---|
|  |  |  | if (ToolUtil.isNotEmpty(vicinityGoods.getMerchandises())) { | 
|---|
|  |  |  | for (PointsMerchandise vicinityGood : vicinityGoods.getMerchandises()) { | 
|---|
|  |  |  | Goods commodity = new Goods(); | 
|---|
|  |  |  | switch (vicinityGood.getType()) { | 
|---|
|  |  |  | case 1: | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (null != request.getRank()){ | 
|---|
|  |  |  | switch (request.getRank()){ | 
|---|
|  |  |  | case 1: | 
|---|
|  |  |  | goods = goods.stream() | 
|---|
|  |  |  | .sorted(Comparator.comparing(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(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(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; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Pageable pageable = PageRequest.of(request.getPageNum() - 1, request.getPageSize()); | 
|---|
|  |  |  | Page<Goods> page = getPage(goods, pageable); | 
|---|
|  |  |  | return page.getContent(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //当前第几页 | 
|---|
|  |  |  | int pageNo = request.getPageNum(); | 
|---|
|  |  |  | //一页五条 | 
|---|
|  |  |  | int size = request.getPageSize(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //分页 | 
|---|
|  |  |  | goods = goods.stream().skip((pageNo - 1) * size).limit(size). | 
|---|
|  |  |  | collect(Collectors.toList()); | 
|---|
|  |  |  | return goods; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 对数据进行分页处理的方法 | 
|---|
|  |  |  | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | 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(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @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(), | 
|---|
|  |  |  | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | mcClient.deletePaymentRecord(code); | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | 
|---|
|  |  |  | coupon.setCouponId(userPointsMerchandises.get(0).getPointsMerchandiseId()); | 
|---|
|  |  |  | coupon.setUserId(userPointsMerchandises.get(0).getUserId()); | 
|---|
|  |  |  | coupon.setStatus(1); | 
|---|
|  |  |  | coupon.setInsertTime(new Date()); | 
|---|
|  |  |  | ucponClient.insertToAppuserCoupon(coupon); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | default: | 
|---|
|  |  |  | 
|---|
|  |  |  | coupon.setCouponId(userPointsMerchandises.get(0).getPointsMerchandiseId()); | 
|---|
|  |  |  | coupon.setUserId(userPointsMerchandises.get(0).getUserId()); | 
|---|
|  |  |  | coupon.setStatus(1); | 
|---|
|  |  |  | coupon.setInsertTime(new Date()); | 
|---|
|  |  |  | ucponClient.insertToAppuserCoupon(coupon); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | default: | 
|---|
|  |  |  | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | } | 
|---|