From d09828cdec78a160f4530a8ab245216ed8671c27 Mon Sep 17 00:00:00 2001 From: liujie <liujie> Date: 星期三, 20 九月 2023 18:43:48 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 208 +++++++++++++++++++++++----------------------------- 1 files changed, 92 insertions(+), 116 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 98b8e2f..656063c 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,10 +1,13 @@ 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.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; @@ -12,6 +15,7 @@ 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; @@ -28,11 +32,15 @@ import com.dsh.account.mapper.*; 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.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; @@ -42,6 +50,7 @@ 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; @@ -132,6 +141,32 @@ @Resource private SiteClient stClient; + @Autowired + private TAppUserMapper appUserMapper; + + @Autowired + private TAppGiftService appGiftService; + + @Autowired + private IntroduceRewardsClient introduceRewardsClient; + @Override + 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 ClassInfoVo queryUserOfStus(Integer id) { @@ -216,6 +251,10 @@ 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); @@ -278,6 +317,32 @@ 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(); } @@ -690,6 +755,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()); @@ -706,6 +773,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()); @@ -721,6 +789,7 @@ commodity.setBelongsType(vicinityGood.getUserPopulation()); commodity.setGoodsType(3); commodity.setNums(mcClient.getRedeemedQuantity(vicinityGood.getId())); + commodity.setShopIds(mcsClient.queryPointMerStoreIds(vicinityGood.getId())); break; default: break; @@ -748,6 +817,7 @@ goods.add(commodity); } } + if (StringUtils.hasText(request.getSearch())){ if (goods.size() > 0 ){ goods = goods.stream() @@ -755,6 +825,15 @@ .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: @@ -854,6 +933,7 @@ } @Override + @Transactional public ResultUtil productRedemptionOperation(Integer userIdFormRedis, GoodsExchangeVo exchangeType) { System.out.println("exchangeType:--->"); System.out.println(exchangeType); @@ -888,6 +968,7 @@ 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()); @@ -935,7 +1016,6 @@ packagePayment.setPayUserId(userIdFormRedis); packagePayment.setStatus(1); packagePayment.setState(1); - packagePayment.setInsertTime(new Date()); packagePayment.setCode(code); paymentClient.savePaymentCoursePackage(packagePayment); } @@ -946,7 +1026,6 @@ coupon.setCouponId(exchangeType.getGoodId()); coupon.setUserId(userIdFormRedis); coupon.setStatus(1); - coupon.setInsertTime(new Date()); ucponClient.insertToAppuserCoupon(coupon); } break; @@ -960,59 +1039,6 @@ case 2: // 积分+现金 boolean dealt = dealAppUserIntegral(userIdFormRedis,tAppUser,merchandise.getIntegral()); - if (dealt){ - switch (exchangeType.getGoodsType()){ -// 1实物 2课包 3门票 4优惠券 - 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(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 < goodsNums; i++) { - UserCoupon coupon = new UserCoupon(); - coupon.setCouponId(exchangeType.getGoodId()); - coupon.setUserId(userIdFormRedis); - coupon.setStatus(1); - coupon.setInsertTime(new Date()); - ucponClient.insertToAppuserCoupon(coupon); - } - break; - default: - break; - } - }else { - return ResultUtil.error("用户积分不足!"); - } switch (exchangeType.getPayType()) { case 1: try { @@ -1035,55 +1061,6 @@ } break; case 3: -// 现金 - 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.setCashPayment(merchandise.getCash()); - 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 < goodsNums; i++) { - UserCoupon coupon = new UserCoupon(); - coupon.setCouponId(exchangeType.getGoodId()); - coupon.setUserId(userIdFormRedis); - coupon.setStatus(1); - coupon.setInsertTime(new Date()); - ucponClient.insertToAppuserCoupon(coupon); - } - break; - default: - break; - } switch (exchangeType.getPayType()) { case 1: try { @@ -1163,11 +1140,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); @@ -1183,6 +1159,7 @@ } } }catch (Exception e){ + mcClient.deletePaymentRecord(code); e.printStackTrace(); } } @@ -1223,11 +1200,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); @@ -1279,7 +1255,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: @@ -1310,7 +1285,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: @@ -1372,4 +1346,6 @@ } + + } -- Gitblit v1.7.1