Pu Zhibing
2025-05-08 5b64f31f1d35b38b51935b5fa7f4b8cf46fbf4cf
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
@@ -15,6 +15,9 @@
import com.ruoyi.chargingPile.api.feignClient.ChargingGunClient;
import com.ruoyi.chargingPile.api.model.TChargingGun;
import com.ruoyi.chargingPile.api.model.TChargingPile;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.log.enums.OperatorType;
import com.ruoyi.other.api.vo.CouponListVOVO;
import com.ruoyi.account.api.vo.ExchangeRecordVO;
import com.ruoyi.account.service.TAppCouponService;
@@ -60,7 +63,7 @@
    @Autowired
    private TAppUserCarService appUserCarService;
    @Autowired
    @Resource
    private TokenService tokenService;
    @Resource
    private ChargingPileClient chargingPileClient;
@@ -91,6 +94,7 @@
     * @param dto
     * @return
     */
    @Log(title = "【扫一扫】添加车辆", businessType = BusinessType.INSERT,operatorType = OperatorType.MOBILE)
    @ApiOperation(value = "添加车辆", tags = {"小程序-扫一扫"})
    @PostMapping(value = "/scan/addCar")
    public AjaxResult addCar(@RequestBody TAppUserCar dto) {
@@ -109,6 +113,7 @@
        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())
@@ -117,17 +122,17 @@
        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());
                    }
                }
            }
@@ -136,11 +141,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);
    }
    /**
@@ -163,6 +168,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);
    }
@@ -205,7 +211,7 @@
    public R<List<ExchangeRecordVO>> getExchangeRecordByCouponId(@RequestBody ExchangeRecordGoodsQuery couponId){
        return R.ok(tAppCouponService.pagelist(couponId));
    }
    @ApiOperation(value = "优惠卷可用数量", tags = {"小程序-站点管理-站点详情"})
    @GetMapping(value = "/couponCount")
    public R<Long> couponCount() {
@@ -224,7 +230,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();
@@ -305,5 +313,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();
    }
}