zhibing.pu
2024-08-21 f10ef4933c6decda69308c1cf6e4d0449856ba1f
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java
@@ -1,9 +1,12 @@
package com.ruoyi.other.controller;
import com.ruoyi.account.api.dto.GrantCouponDto;
import com.ruoyi.account.api.feignClient.AppCouponClient;
import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery;
import com.ruoyi.account.api.vo.CouponListVOVO;
import com.ruoyi.account.api.vo.ExchangeRecordVO;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.other.api.domain.TCoupon;
@@ -13,11 +16,19 @@
import com.ruoyi.other.service.TActivityService;
import com.ruoyi.other.service.TCouponService;
import com.ruoyi.other.service.TGoodsService;
import com.ruoyi.system.api.domain.SysUser;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
@@ -37,24 +48,35 @@
    @Autowired
    private AppCouponClient appCouponClient;
    @PostMapping("/saveGoods")
    @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券添加")
    public AjaxResult saveActivity(@RequestBody TCoupon dto) {
        tCouponService.save(dto);
        return AjaxResult.success();
    }
    @GetMapping("/delete")
    @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券删除")
    public AjaxResult delete(Integer id) {
        tCouponService.removeById(id);
    public AjaxResult delete(String ids) {
        tCouponService.removeBatchByIds(Arrays.asList(ids.split(",")));
        return AjaxResult.success();
    }
    @PostMapping("/updateVip")
    @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券修改")
    public AjaxResult updateActivity(@RequestBody TCoupon dto) {
        tCouponService.updateById(dto);
        return AjaxResult.success();
    }
    @GetMapping("/getInfo")
    @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券查看详情")
    public AjaxResult<TCoupon> getInfo(Integer id) {
@@ -65,6 +87,9 @@
        byId.setUseCount(appCouponClient.getUseCountByCouponId(id).getData());
        return AjaxResult.ok(byId);
    }
    @PostMapping("/exchangeRecord")
    @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券查看详情-兑换记录")
    public AjaxResult<PageInfo<ExchangeRecordVO>> exchangeRecord(@RequestBody ExchangeRecordGoodsQuery dto) {
@@ -79,14 +104,66 @@
                }else{
                    record.setMeetTheConditions("满"+byId.getMeetTheConditions()+"元可用");
                }
                record.setCoverPicture(byId.getCoverPicture());
                record.setDetailsPicture(byId.getDetailsPicture());
            }
        }
        return AjaxResult.ok(data);
    }
    @ApiOperation(tags = {"管理后台-优惠券管理"},value = "发放优惠券")
    @GetMapping(value = "/grantCoupon")
    public AjaxResult grantCoupon(@RequestBody GrantCouponDto dto) {
        TCoupon byId = tCouponService.getById(dto.getCouponId());
        Integer waysToObtain = byId.getWaysToObtain();
        dto.setWaysToObtain(waysToObtain);
        switch (byId.getValidityPeriodMode()){
            case 1:
                dto.setEndTime(byId.getEndTime());
                break;
            case 2:
                dto.setEndTime(LocalDateTime.now().plusDays(byId.getDays()));
                break;
        }
        appCouponClient.grantCoupon(dto);
        return AjaxResult.success();
    }
    @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券列表分页查询")
    @PostMapping(value = "/pageList")
    public AjaxResult<PageInfo<TCoupon>> pageList(@RequestBody CouponQuery dto) {
        return AjaxResult.ok(tCouponService.pageList(dto));
    }
    /**
     * 小程序远程调用 获取优惠券信息
     */
    @PostMapping(value = "/getCouponInfoByCouponIds")
    public R<List<CouponListVOVO>> getCouponInfoByCouponIds(@RequestBody List<CouponListVOVO> list) {
        for (CouponListVOVO couponListVOVO : list) {
            TCoupon byId = tCouponService.getById(couponListVOVO.getCouponId());
            BeanUtils.copyProperties(byId,couponListVOVO);
            couponListVOVO.setCouponName(byId.getName());
        }
        return R.ok(list);
    }
    /**
     * 根据id获取优惠券信息
     * @param id
     * @return
     */
    @PostMapping(value = "/getCouponById1/{id}")
    public R<TCoupon> getCouponById1(@PathVariable(value = "id") Integer id){
        TCoupon coupon = tCouponService.getById(id);
        return R.ok(coupon);
    }
}