From 5e1cf8e0e94b42a94c3a3d3ccda5147fe6ce94f0 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期四, 22 八月 2024 09:42:56 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 48 insertions(+), 10 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 54626a4..7e65be4 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 @@ -1,20 +1,22 @@ package com.ruoyi.account.controller; +import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.account.api.dto.CouponListDto; import com.ruoyi.account.api.dto.GrantCouponDto; import com.ruoyi.account.api.model.TAppCoupon; import com.ruoyi.account.api.model.TAppUserCar; import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery; -import com.ruoyi.account.api.vo.CarListVO; -import com.ruoyi.account.api.vo.CouponListVOVO; +import com.ruoyi.chargingPile.api.feignClient.ChargingGunClient; +import com.ruoyi.chargingPile.api.model.TChargingGun; +import com.ruoyi.chargingPile.api.model.TChargingPile; +import com.ruoyi.other.api.vo.CouponListVOVO; import com.ruoyi.account.api.vo.ExchangeRecordVO; import com.ruoyi.account.service.TAppCouponService; import com.ruoyi.account.service.TAppUserCarService; import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient; import com.ruoyi.chargingPile.api.vo.SiteInfoVO; -import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.BasePage; @@ -28,6 +30,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import java.math.BigDecimal; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; @@ -46,6 +51,8 @@ public class TAppCouponController { @Autowired private TAppCouponService tAppCouponService; + @Resource + private OtherClient otherClient; @Autowired private TAppUserCarService appUserCarService; @@ -55,14 +62,34 @@ private ChargingPileClient chargingPileClient; @Autowired private ChargingOrderClient chargingOrderClient; + + @Resource + private ChargingGunClient chargingGunClient; + + + /** + * 小程序扫一扫 添加车辆 + * @param dto + * @return + */ + @ApiOperation(value = "添加车辆", tags = {"小程序-扫一扫"}) + @PostMapping(value = "/scan/addCar") + public AjaxResult addCar(@RequestBody TAppUserCar dto) { + dto.setAppUserId(tokenService.getLoginUserApplet().getUserId()); + appUserCarService.save(dto); + return AjaxResult.success(); + } /** * 查询用户可用优惠券数量 * @return */ - @ApiOperation(value = "通过桩编号获取电站详情", tags = {"小程序-扫一扫"}) + @ApiOperation(value = "通过充电枪id和预付金额获取电站详情", tags = {"小程序-扫一扫"}) @GetMapping(value = "/scan/siteInfo") - public AjaxResult<SiteInfoVO> siteInfo(String number) { - SiteInfoVO data = chargingPileClient.getSiteInfoByNumber(number).getData(); + public AjaxResult<SiteInfoVO> siteInfo(Integer id, BigDecimal money) { + TChargingGun chargingGun = chargingGunClient.getChargingGunById(id).getData(); + TChargingPile chargingPile = chargingPileClient.getChargingPileById(chargingGun.getChargingPileId()).getData(); + SiteInfoVO data = chargingPileClient.getSiteInfoByNumber(chargingPile.getNumber().toString()).getData(); + data.setChargingGunId(id); List<TAppUserCar> cars = appUserCarService.list(new QueryWrapper<TAppUserCar>() .eq("app_user_id",tokenService.getLoginUserApplet().getUserId()) .orderByDesc("create_time")); @@ -83,6 +110,15 @@ } } } + BigDecimal electrovalence = data.getElectrovalence(); + 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); + // 优惠金额 + data.setMoney(subtract.multiply(vipElectrovalence).setScale(2, BigDecimal.ROUND_HALF_UP)); return AjaxResult.ok(data); } /** @@ -112,8 +148,8 @@ * 管理后台远程调用 根据优惠券ids 查询对应的发放数量 * @return 优惠券ids 查询每个优惠券的发放数量 */ - @PostMapping("/getCountByCouponIds") - public R<List<Integer>> getCountByCouponIds(String couponIds) { + @PostMapping("/getCountByCouponIds/{couponIds}") + public R<List<Integer>> getCountByCouponIds(@PathVariable("couponIds")String couponIds) { // 最终结果 和优惠券id一一对应 List<Integer> res = new ArrayList<>(); String[] split = couponIds.split(","); @@ -132,8 +168,8 @@ * @param couponId * @return */ - @PostMapping("/getUseCountByCouponId") - public R<Integer> getUseCountByCouponId(Integer couponId){ + @PostMapping("/getUseCountByCouponId/{couponId}") + public R<Integer> getUseCountByCouponId(@PathVariable("couponId") Integer couponId){ return R.ok(tAppCouponService.list(new QueryWrapper<TAppCoupon>() .eq("coupon_id", couponId) .eq("status",2)).size()); @@ -161,6 +197,8 @@ tAppCoupon.setEndTime(dto.getEndTime()); tAppCoupon.setWaysToObtain(dto.getWaysToObtain()); tAppCoupon.setStatus(1); + R<TCoupon> couponById = otherClient.getCouponById(Integer.valueOf(s)); + tAppCoupon.setCouponJson(JSON.toJSONString(couponById.getData())); res.add(tAppCoupon); } tAppCouponService.saveBatch(res); -- Gitblit v1.7.1