luodangjia
2024-09-18 a96c5eddcd63fa6f09e4cdce9e28c7b846068f0c
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
@@ -32,11 +32,13 @@
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.math.BigDecimal;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
@@ -63,15 +65,30 @@
    private TAppUserCarService appUserCarService;
    @Autowired
    private TokenService tokenService;
    @Autowired
    @Resource
    private ChargingPileClient chargingPileClient;
    @Autowired
    @Resource
    private ChargingOrderClient chargingOrderClient;
    @Resource
    private ChargingGunClient chargingGunClient;
    @Autowired
    private TAppUserTagService appUserTagService;
    @Autowired
    private TAppUserService appUserService;
    /**
     * 后台退款 回退优惠券使用状态
     * @return
     */
    @PostMapping(value = "/refund/{id}")
    public R refund(@PathVariable("id") String id) {
        TAppCoupon byId = tAppCouponService.getById(id);
        byId.setStatus(1);
        tAppCouponService.updateById(byId);
        return R.ok();
    }
    /**
     * 小程序扫一扫 添加车辆
     * @param dto
@@ -185,20 +202,27 @@
     * @return
     */
    @PostMapping("/getExchangeRecordByCouponId")
    public R<PageInfo<ExchangeRecordVO>> getExchangeRecordByCouponId(@RequestBody ExchangeRecordGoodsQuery couponId){
    public R<List<ExchangeRecordVO>> getExchangeRecordByCouponId(@RequestBody ExchangeRecordGoodsQuery couponId){
        return R.ok(tAppCouponService.pagelist(couponId));
    }
    @Autowired
    private TAppUserTagService appUserTagService;
    @Autowired
    private TAppUserService appUserService;
    @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());
    }
    /**
     * 后台远程调用 给用户发放优惠券
     */
    @PostMapping("/grantCoupon")
    public R  grantCoupon(@RequestBody GrantCouponDto dto){
        List<TAppCoupon> res = new ArrayList<>();
        TCoupon coupon = otherClient.getCouponById(dto.getCouponId()).getData();
        switch (dto.getType()){
            case 1:
                // 根据标签ids 查询用户ids
@@ -212,6 +236,7 @@
                    tAppCoupon.setEndTime(dto.getEndTime());
                    tAppCoupon.setWaysToObtain(dto.getWaysToObtain());
                    tAppCoupon.setStatus(1);
                    tAppCoupon.setCouponJson(JSON.toJSONString(coupon));
                    res.add(tAppCoupon);
                }
                tAppCouponService.saveBatch(res);
@@ -228,6 +253,7 @@
                    tAppCoupon.setEndTime(dto.getEndTime());
                    tAppCoupon.setWaysToObtain(dto.getWaysToObtain());
                    tAppCoupon.setStatus(1);
                    tAppCoupon.setCouponJson(JSON.toJSONString(coupon));
                    res.add(tAppCoupon);
                }
                tAppCouponService.saveBatch(res);
@@ -240,6 +266,7 @@
                    tAppCoupon.setEndTime(dto.getEndTime());
                    tAppCoupon.setWaysToObtain(dto.getWaysToObtain());
                    tAppCoupon.setStatus(1);
                    tAppCoupon.setCouponJson(JSON.toJSONString(coupon));
                    res.add(tAppCoupon);
                }
                tAppCouponService.saveBatch(res);
@@ -250,5 +277,17 @@
        return R.ok();
    }
    /**
     * 根据id获取优惠券领取记录
     * @param id
     * @return
     */
    @PostMapping("/getAppCouponById")
    public R<TAppCoupon> getAppCouponById(@RequestParam("id") Long id){
        TAppCoupon appCoupon = tAppCouponService.getById(id);
        return R.ok(appCoupon);
    }
}