Pu Zhibing
2025-03-11 1baa968ec54ff2a0f08bdeb6e8cebd987754ed74
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
package com.ruoyi.member.controller.console;
 
import com.alibaba.fastjson2.JSON;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.member.service.coupon.CouponService;
import com.ruoyi.member.service.member.MemberCouponService;
import com.ruoyi.system.api.domain.dto.BirthdayGiftSendDto;
import com.ruoyi.system.api.domain.dto.MerBaseDto;
import com.ruoyi.system.api.domain.dto.MerVerifyMemberCouponDto;
import com.ruoyi.system.api.domain.vo.AppMemberCouponVo;
import com.ruoyi.system.api.domain.vo.MerVerifyCouponGetVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
import javax.annotation.Resource;
import java.util.List;
 
/**
 * @ClassName CouponController
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/27 15:00
 * @Version 1.0
 */
@Slf4j
@RestController
@RequestMapping("/coupon")
public class CouponController extends BaseController {
 
    @Resource
    private CouponService couponService;
 
    @Resource
    private MemberCouponService memberCouponService;
 
 
    /**
     * @description: 获取用户优惠券
     * @author jqs34
     * @date 2023/5/3 1:45
     * @version 1.0
     */
    @PostMapping("/listVoMemberCouponByUserId")
    public R<List<AppMemberCouponVo>> listVoMemberCouponByUserId(@RequestBody MerBaseDto merBaseDto){
        List<AppMemberCouponVo> appMemberCouponVoList = memberCouponService.listVoMemberCouponByUserId(merBaseDto);
        return R.ok(appMemberCouponVoList);
    }
 
    /**
     * @description  获取核销优惠券
     * @author  jqs
     * @date    2023/6/27 14:54
     * @param verifyCoupon
     * @return  R<MerVerifyCouponGetVo>
     */
    @PostMapping("/getVerifyCoupon")
    public R<MerVerifyCouponGetVo> getVerifyCoupon(@RequestBody Long verifyCoupon)
    {
        MerVerifyCouponGetVo verifyCouponGetVo = memberCouponService.getVerifyCoupon(verifyCoupon);
        return R.ok(verifyCouponGetVo);
    }
 
    /**
     * @description  核销优惠券
     * @author  jqs
     * @date    2023/6/28 11:43
     * @param memberCouponId
     * @return  R<MerVerifyCouponGetVo>
     */
    @PostMapping("/sureVerifyCoupon")
    public R<MerVerifyCouponGetVo> sureVerifyCoupon(@RequestBody Long memberCouponId)
    {
        MerVerifyCouponGetVo verifyCouponGetVo = memberCouponService.sureVerifyCoupon(memberCouponId);
        return R.ok(verifyCouponGetVo);
    }
 
    /**
     * @description  发送用户优惠券礼物
     * @author  jqs
     * @date    2023/7/7 19:53
     * @param giftSendDtoList
     * @return  R
     */
    @PostMapping("/sendCouponGift")
    public R sendCouponGift(@RequestBody List<BirthdayGiftSendDto> giftSendDtoList){
        couponService.sendCouponGift(giftSendDtoList);
        return R.ok();
    }
 
    /**
     * @description  定时发送优惠券
     * @author  jqs
     * @date    2023/7/12 11:56
     * @param couponId
     * @return  R
     */
    @PostMapping("/autoTimeSendCoupon")
    public R autoTimeSendCoupon(@RequestBody String couponId){
        couponService.autoTimeSendCoupon(couponId);
        return R.ok();
    }
 
    /**
     * @description  使用优惠券
     * @author  jqs
     * @date    2023/7/13 19:38
     * @param memberCouponIds
     * @return  R
     */
    @PostMapping("/useMemberCoupon")
    public R useMemberCoupon(@RequestBody String memberCouponIds){
        log.info("修改优惠券使用状态:{}", JSON.toJSONString(memberCouponIds));
        memberCouponService.useMemberCoupon(memberCouponIds);
        return R.ok();
    }
 
 
    /**
     * @description  确认核销优惠券
     * @author  jqs
     * @date    2023/8/15 11:37
     * @param merVerifyMemberCouponDto
     * @return  R
     */
    @PostMapping("/verifyMemberCoupon")
    public R sureMemberCoupon(@RequestBody MerVerifyMemberCouponDto merVerifyMemberCouponDto){
        memberCouponService.sureMemberCoupon(merVerifyMemberCouponDto.getCouponId(),merVerifyMemberCouponDto.getShopId());
        return R.ok();
    }
 
    /**
     * @description  回退优惠券
     * @author  jqs
     * @date    2023/7/13 19:38
     * @param memberCouponIds
     * @return  R
     */
    @PostMapping("/backMemberCoupon")
    public R backMemberCoupon(@RequestBody String memberCouponIds){
        memberCouponService.backMemberCoupon(memberCouponIds);
        return R.ok();
    }
}