From b58c937b5ec096b3d92e1100ce3e6c3edf5705fe Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期四, 31 十月 2024 15:27:52 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java | 94 ++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 80 insertions(+), 14 deletions(-) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java index 1374035..70d9802 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -19,6 +20,7 @@ import com.ruoyi.common.core.dto.PointChangeDto; import com.ruoyi.common.core.enums.status.AppUserStatusEnum; import com.ruoyi.common.core.utils.JwtUtils; +import com.ruoyi.common.core.utils.OrderCodeUtil; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.bean.BeanUtils; import com.ruoyi.common.core.web.domain.AjaxResult; @@ -33,10 +35,13 @@ import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.order.api.feignClient.ChargingOrderClient; import com.ruoyi.order.api.feignClient.ExchangeOrderClient; +import com.ruoyi.order.api.feignClient.OrderClient; import com.ruoyi.order.api.model.TChargingOrder; import com.ruoyi.order.api.model.TExchangeOrder; +import com.ruoyi.order.api.model.TGrantVip; import com.ruoyi.other.api.domain.*; import com.ruoyi.other.api.domain.TCoupon; +import com.ruoyi.other.api.domain.TVip; import com.ruoyi.other.api.dto.UnitListQueryDto; import com.ruoyi.other.api.feignClient.IntegralRuleClient; import com.ruoyi.other.api.feignClient.OtherClient; @@ -51,6 +56,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.math.BigDecimal; import java.time.Duration; import java.time.LocalDate; import java.time.LocalDateTime; @@ -76,6 +82,8 @@ private TAppUserService appUserService; @Resource private TAppUserTagService appUserTagService; + @Autowired + private OrderClient orderClient; @Resource private TAppUserVipDetailService tAppUserVipDetailService; @@ -111,6 +119,7 @@ private TAppUserCarService carService; @Resource private IntegralRuleClient integralRuleClient; + @Resource private VipClient vipClient; @@ -331,6 +340,13 @@ appUser.setLastDays( Duration.between(LocalDateTime.now(), appUser.getVipEndTime()).toDays()); appUser.setUid(appUser.getId().toString()); + + TAppUserCar one1 = appUserCarService.lambdaQuery().eq(TAppUserCar::getAppUserId, appUser.getId()).orderByDesc(BasePojo::getCreateTime).last("limit 1").one(); + if (one1!=null){ + CarNumDto carNumDto = CarUtil.carNum(one1.getLicensePlate()); + appUser.setPlace(carNumDto.getProvince()+carNumDto.getCity()); + + } } return R.ok(page); } @@ -351,7 +367,6 @@ Page<TAppUser> page = appUserService.lambdaQuery() .like(userListQueryDto.getUserPhone() != null && !"".equals(userListQueryDto.getUserPhone()), TAppUser::getPhone, userListQueryDto.getUserPhone()) .eq(userListQueryDto.getCityCode() != null && !"".equals(userListQueryDto.getCityCode()), TAppUser::getCityCode, userListQueryDto.getCityCode()) - .eq(userListQueryDto.getProvinceCode() != null && !"".equals(userListQueryDto.getProvinceCode()), TAppUser::getProvinceCode, userListQueryDto.getProvinceCode()) .in(!userIds.isEmpty(),TAppUser::getId,userIds) .eq(TAppUser::getStatus,1) .page(Page.of(userListQueryDto.getPageCurr(), userListQueryDto.getPageSize())); @@ -364,6 +379,14 @@ R<Map<Integer, String>> vipMap = otherClient.getVipMap(vipIds); //循环处理 for (TAppUser appUser : page.getRecords()) { + if (appUser.getProvinceCode()!=null){ + Region data = otherClient.getRegionBuyCode(appUser.getProvinceCode()).getData(); + appUser.setProvince(data.getName()); + } + if(appUser.getCityCode()!=null){ + Region data = otherClient.getRegionBuyCode(appUser.getCityCode()).getData(); + appUser.setCity(data.getName()); + } //拿到最新的tagId TAppUserTag one = appUserTagService.lambdaQuery().eq(TAppUserTag::getAppUserId, appUser.getId()).orderByDesc(TAppUserTag::getCreateTime).last("limit 1").one(); //设置最新的tagName @@ -521,9 +544,11 @@ @GetMapping(value = "/user/points/detail") public R<TAppUserIntegralChange> pointsDetail(String id) { TAppUserIntegralChange byId = integralChangeService.getById(id); - TExchangeOrder data = exchangeOrderClient.orderDetail(Long.valueOf(byId.getExtension())).getData(); - if (data!=null) { - byId.setGoodType(data.getOrderType()); + if (byId.getChangeType()==6) { + TExchangeOrder data = exchangeOrderClient.orderDetail(Long.valueOf(byId.getExtension())).getData(); + if (data != null) { + byId.setGoodType(data.getOrderType()); + } } return R.ok(byId); } @@ -562,6 +587,8 @@ return R.ok(); } + @Resource + private TAppUserVipDetailService appUserVipDetailService; @ApiOperation(value = "个人中心信息", tags = {"小程序-个人中心"}) @GetMapping(value = "/user/info") @@ -570,18 +597,22 @@ TAppUser byId = appUserService.getById(userId); AppUserInfoDto appUserInfoDto = new AppUserInfoDto(); TVip data = vipClient.getVipInfoByType(2).getData(); - appUserInfoDto.setMinPrice(data.getMonthlyCard()); + if(null != data){ + appUserInfoDto.setMinPrice(data.getMonthlyCard()); + } //判断会员 if (byId.getVipEndTime()==null||byId.getVipEndTime().isBefore(LocalDateTime.now())){ appUserInfoDto.setIsVip(0); }else { + TAppUserVipDetail one = appUserVipDetailService.getOne(new LambdaQueryWrapper<TAppUserVipDetail>() + .eq(TAppUserVipDetail::getAppUserId, userId) + .eq(TAppUserVipDetail::getVipId, byId.getVipId()) + .last(" and now() between start_time and end_time")); + Long count = appCouponService.lambdaQuery().eq(TAppCoupon::getDetailId, one.getId()).count(); + appUserInfoDto.setVipCouponNum(count); appUserInfoDto.setIsVip(1); appUserInfoDto.setVipExpireTime(byId.getVipEndTime()); - - - - @@ -638,6 +669,7 @@ InfoCouponDto infoCouponDto = new InfoCouponDto(); BeanUtils.copyProperties(coupon, infoCouponDto); infoCouponDto.setId(tAppCoupon.getId().toString()); + infoCouponDto.setCouponId(coupon.getId()); infoCouponDto.setEndTime(tAppCoupon.getEndTime()); couponDtos1.add(infoCouponDto); @@ -679,9 +711,10 @@ @ApiOperation(value = "优惠卷详情(1可使用2不可用)", tags = {"小程序-个人中心"}) - @GetMapping(value = "/user/coupon/getById") + @PostMapping(value = "/user/coupon/getById") public R<TAppCoupon> couponGetById(@RequestParam("id")Long id) { TAppCoupon appCoupon = appCouponService.getById(id); + appCoupon.setUid(id.toString()); return R.ok(appCoupon); } @@ -705,9 +738,31 @@ } else if (giveVipDto.getType() == 3) { plusDay = 12; } - //增加vipDetail + BigDecimal bigDecimal = new BigDecimal("0"); + TVip info = vipClient.getInfo1(giveVipDto.getVipId()).getData(); + switch (giveVipDto.getType()){ + case 1: + bigDecimal = bigDecimal.add(info.getMonthlyCard()==null?new BigDecimal(0):info.getMonthlyCard()); + break; + case 2: + bigDecimal = bigDecimal.add(info.getSeasonCard()==null?new BigDecimal(0):info.getSeasonCard()); + break; + case 3: + bigDecimal = bigDecimal.add(info.getAnnualCard()==null?new BigDecimal(0):info.getAnnualCard()); + break; + } + //增加vipDetail giveVipUtil.sendVip(nowUser, giveVipDto.getVipId(),plusDay,giveVipDto.getType()); appUserService.updateById(nowUser); + // 新增后台赠送记录 + TGrantVip tGrantVip = new TGrantVip(); + tGrantVip.setCode(OrderCodeUtil.getOrderCode("ZS")); + tGrantVip.setAppUserId(nowUser.getId()); + tGrantVip.setVipId(giveVipDto.getVipId()); + tGrantVip.setOrderAmount(bigDecimal); + tGrantVip.setCreateTime(LocalDateTime.now()); + tGrantVip.setAppUserId(nowUser.getId()); + orderClient.managementGiveVip(tGrantVip); } return R.ok(); } @@ -716,8 +771,11 @@ @PostMapping(value = "/user/invite/page") public R<Page<TInviteUser>> invitePage(@RequestBody BasePage basePage) { Long userId = tokenService.getLoginUserApplet().getUserId(); - Page<TInviteUser> page = inviteUserService.lambdaQuery().eq(TInviteUser::getAppUserId, userId).isNotNull(TInviteUser::getAward).orderByDesc(TInviteUser::getCreateTime).page(Page.of(basePage.getPageCurr(), basePage.getPageSize())); + for (TInviteUser record : page.getRecords()) { + TAppUser byId = appUserService.getById(record.getBeInvitedAppUserId()); + record.setAvatar(byId.getAvatar()); + } return R.ok(page); } @@ -848,7 +906,7 @@ boolean doubleVip = false; if (one!=null){ TVip tVip = JSONObject.parseObject(one.getVipJson(), TVip.class); - if (tVip.getDoubleIntegration()==1){ + if (tVip.getDoubleIntegration()!=null&&tVip.getDoubleIntegration()==1){ doubleVip = true; } } @@ -912,6 +970,10 @@ .eq(TAppUserSign::getAppUserId, userId) .orderByDesc(TAppUserSign::getSignDay) .list(); + for (TAppUserSign signRecord : signRecords) { + int i = signDayUtil.calculateContinuousSignDays1(signRecord.getAppUserId(), signRecord.getSignDay()); + signRecord.setContinueDays(i); + } return R.ok(signRecords); } @@ -963,7 +1025,7 @@ boolean doubleVip = false; if (one!=null){ TVip tVip = JSONObject.parseObject(one.getVipJson(), TVip.class); - if (tVip.getDoubleIntegration()==1){ + if (tVip.getDoubleIntegration()!=null&&tVip.getDoubleIntegration()==1){ doubleVip = true; } } @@ -1066,6 +1128,10 @@ public R getModel(String id) throws Exception { String modelById = CarBrandUtil.getModelById(id); JSONObject jsonObject = JSON.parseObject(modelById); + Integer code = jsonObject.getInteger("code"); + if (code==701){ + return R.fail("当前品牌暂无分类"); + } JSONArray data = jsonObject.getJSONArray("data"); JSONArray backList = new JSONArray(); for (Object datum : data) { -- Gitblit v1.7.1