From 8a038cf6f0792cfe260a94e86d954b50f068e758 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期五, 07 二月 2025 16:55:41 +0800 Subject: [PATCH] bug修改 --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java | 64 +++++++++++++++++++++++--------- 1 files changed, 46 insertions(+), 18 deletions(-) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java index e17f179..66cbddc 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java @@ -39,10 +39,7 @@ import java.math.BigDecimal; import javax.annotation.Resource; import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; /** @@ -63,7 +60,7 @@ @Autowired private TAppUserCarService appUserCarService; - @Autowired + @Resource private TokenService tokenService; @Resource private ChargingPileClient chargingPileClient; @@ -112,25 +109,26 @@ TChargingPile chargingPile = chargingPileClient.getChargingPileById(chargingGun.getChargingPileId()).getData(); SiteInfoVO data = chargingPileClient.getSiteInfoByNumber1(chargingPile.getCode().toString()).getData(); data.setChargingGunId(id); + data.setSiteId(chargingGun.getSiteId()); data.setChargeMode(chargingGun.getChargeMode()); List<TAppUserCar> cars = appUserCarService.list(new QueryWrapper<TAppUserCar>() .eq("app_user_id",tokenService.getLoginUserApplet().getUserId()) .orderByDesc("create_time")); - Long data1 = chargingOrderClient.getCar().getData(); + Long data1 = chargingOrderClient.getCar(tokenService.getLoginUserApplet().getUserId().toString()).getData(); Integer data2 = otherClient.getAddCarIntegral().getData(); data.setIntegral(data2); if (!cars.isEmpty()){ - if (data1 == -1){ + if (null == data1 || data1 == -1){ // 没有充电订单 展示最新添加的车辆 data.setLicensePlate(cars.get(0).getLicensePlate()); data.setVehicleBrand(cars.get(0).getVehicleBrand()); - data.setId(cars.get(0).getId()); + data.setId(cars.get(0).getId().toString()); }else{ for (TAppUserCar car : cars) { if (car.getId().equals(data1)){ data.setLicensePlate(car.getLicensePlate()); data.setVehicleBrand(car.getVehicleBrand()); - data.setId(car.getId()); + data.setId(car.getId().toString()); } } } @@ -139,11 +137,11 @@ BigDecimal vipElectrovalence = data.getVipElectrovalence(); // 计算预付金额能充多少度普通电 BigDecimal divide1 = money.divide(electrovalence, 2, BigDecimal.ROUND_HALF_UP); - // 计算冲会员电能充多少度会员电 - BigDecimal divide = vipElectrovalence.divide(electrovalence, 2, BigDecimal.ROUND_HALF_UP); - BigDecimal subtract = divide.subtract(divide1); + // 计算冲会员充电需要多少钱 + BigDecimal vipMoney = divide1.multiply(vipElectrovalence).setScale(2,BigDecimal.ROUND_HALF_UP); +// BigDecimal subtract = divide.subtract(divide1); // 优惠金额 - data.setMoney(subtract.multiply(vipElectrovalence).setScale(2, BigDecimal.ROUND_HALF_UP)); + data.setMoney(electrovalence.multiply(divide1).subtract(vipMoney).setScale(2, BigDecimal.ROUND_DOWN)); return AjaxResult.ok(data); } /** @@ -166,6 +164,7 @@ public R<List<TAppUserCar>> carList() { List<TAppUserCar> appUserId = appUserCarService.list(new QueryWrapper<TAppUserCar>() .eq("app_user_id",tokenService.getLoginUserApplet().getUserId())); + appUserId.forEach(s->s.setId_(s.getId().toString())); return R.ok(appUserId); } @@ -212,8 +211,12 @@ @ApiOperation(value = "优惠卷可用数量", tags = {"小程序-站点管理-站点详情"}) @GetMapping(value = "/couponCount") public R<Long> couponCount() { - LocalDateTime now = LocalDateTime.now(); - return R.ok(tAppCouponService.lambdaQuery().le(TAppCoupon::getStartTime, now).ge(TAppCoupon::getEndTime, now).eq(TAppCoupon::getStatus, 1).count()); + Long userId = tokenService.getLoginUserApplet().getUserId(); + Long count = tAppCouponService.lambdaQuery().eq(TAppCoupon::getAppUserId, userId).ge(TAppCoupon::getEndTime, LocalDateTime.now()).eq(TAppCoupon::getStatus, 1).count(); + if(Objects.isNull(count)){ + count = 0L; + } + return R.ok(count); } @@ -223,6 +226,9 @@ */ @PostMapping("/grantCoupon") public R grantCoupon(@RequestBody GrantCouponDto dto){ + if (dto.getWaysToObtain()==null){ + dto.setWaysToObtain(3); + } List<TAppCoupon> res = new ArrayList<>(); TCoupon coupon = otherClient.getCouponById(dto.getCouponId()).getData(); @@ -246,9 +252,20 @@ break; case 2: // 根据市codes 查询用户ids - List<Long> collect1 = appUserService.list(new QueryWrapper<TAppUser>() - .in("city_code", Arrays.asList(dto.getCityCode().split(",")))) - .stream().map(TAppUser::getId).collect(Collectors.toList()); + List<Long> collect1 = new ArrayList<>(); + // 根据市codes 查询用户ids + if (StringUtils.hasLength(dto.getProvinceCode())){ + List<Long> collect2 = appUserService.list(new QueryWrapper<TAppUser>() + .in("province_code", Arrays.asList(dto.getProvinceCode().split(",")))) + .stream().map(TAppUser::getId).collect(Collectors.toList()); + collect1.addAll(collect2); + } + if (StringUtils.hasLength(dto.getCityCode())){ + List<Long> collect2 = appUserService.list(new QueryWrapper<TAppUser>() + .in("city_code", Arrays.asList(dto.getCityCode().split(",")))) + .stream().map(TAppUser::getId).collect(Collectors.toList()); + collect1.addAll(collect2); + } for (Long l : collect1) { TAppCoupon tAppCoupon = new TAppCoupon(); tAppCoupon.setAppUserId(l); @@ -292,5 +309,16 @@ TAppCoupon appCoupon = tAppCouponService.getById(id); return R.ok(appCoupon); } + + /** + * 修改用户优惠券 + * @param appCoupon + * @return + */ + @PostMapping("/updateAppCoupon") + public R updateAppCoupon(@RequestBody TAppCoupon appCoupon){ + tAppCouponService.updateById(appCoupon); + return R.ok(); + } } -- Gitblit v1.7.1