Kaynağa Gözat

优惠券接口

skyline 2 yıl önce
ebeveyn
işleme
b2afa1532c

+ 50 - 0
admin/src/main/java/com/kym/admin/controller/CouponController.java

@@ -1,5 +1,11 @@
 package com.kym.admin.controller;
 
+import com.kym.common.R;
+import com.kym.entity.admin.Coupon;
+import com.kym.entity.admin.queryParams.CouponQueryParam;
+import com.kym.service.admin.CouponService;
+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;
 
@@ -15,4 +21,48 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/coupon")
 public class CouponController {
 
+    private CouponService couponService;
+
+    public CouponController(CouponService couponService) {
+        this.couponService = couponService;
+    }
+
+
+    /**
+     * 添加优惠券
+     *
+     * @param coupon
+     * @return
+     */
+    @PostMapping("add")
+    public R<?> addCoupon(@RequestBody Coupon coupon) {
+        couponService.save(coupon);
+        return R.success();
+    }
+
+
+    /**
+     * 修改优惠券
+     *
+     * @param coupon
+     * @return
+     */
+    @PostMapping("modify")
+    public R<?> modifyCoupon(@RequestBody Coupon coupon) {
+        couponService.updateById(coupon);
+        return R.success();
+    }
+
+    /**
+     * 优惠券列表查询
+     *
+     * @param
+     * @return
+     */
+    @PostMapping("list")
+    public R<?> listCoupon(@RequestBody CouponQueryParam params) {
+        return R.success(couponService.listCoupon(params));
+    }
+
+
 }

+ 5 - 2
entity/src/main/java/com/kym/entity/admin/ActivityCoupon.java

@@ -1,6 +1,7 @@
 package com.kym.entity.admin;
 
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.kym.entity.BaseEntity;
 
 import java.io.Serializable;
@@ -44,11 +45,13 @@ public class ActivityCoupon extends BaseEntity {
     /**
      * 开始时间(继承自活动主表)
      */
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime startTime;
 
     /**
      * 结束时间(继承自活动主表)
      */
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime endTime;
 
     /**
@@ -69,7 +72,7 @@ public class ActivityCoupon extends BaseEntity {
     /**
      * 优惠允许叠加:0-不允许,1-允许(继承自活动主表)
      */
-    private Byte allowStacke;
+    private Integer allowStacke;
 
     /**
      * 数量限制(继承自活动主表)
@@ -79,7 +82,7 @@ public class ActivityCoupon extends BaseEntity {
     /**
      * 活动状态:0-未开始,1-进行中,2-已结束,3-已取消(继承自活动主表)
      */
-    private Byte status;
+    private Integer status;
 
     /**
      * 备注

+ 5 - 2
entity/src/main/java/com/kym/entity/admin/Coupon.java

@@ -1,6 +1,7 @@
 package com.kym.entity.admin;
 
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.kym.entity.BaseEntity;
 
 import java.io.Serializable;
@@ -39,11 +40,13 @@ public class Coupon extends BaseEntity {
     /**
      * 开始时间
      */
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime startTime;
 
     /**
      * 结束时间
      */
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime endTime;
 
     /**
@@ -64,7 +67,7 @@ public class Coupon extends BaseEntity {
     /**
      * 优惠允许叠加:0-不允许,1-允许
      */
-    private Byte allowStacke;
+    private Integer allowStacke;
 
     /**
      * 数量限制
@@ -74,7 +77,7 @@ public class Coupon extends BaseEntity {
     /**
      * 活动状态:0-未开始,1-进行中,2-已结束,3-已取消
      */
-    private Byte status;
+    private Integer status;
 
     /**
      * 备注

+ 83 - 0
entity/src/main/java/com/kym/entity/admin/queryParams/CouponQueryParam.java

@@ -0,0 +1,83 @@
+package com.kym.entity.admin.queryParams;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.kym.entity.common.PageParams;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 优惠券查询参数
+ * </p>
+ *
+ * @author skyline
+ * @since 2024-04-25
+ */
+@Data
+@Accessors(chain = true)
+public class CouponQueryParam extends PageParams {
+
+    /**
+     * id
+     */
+    private Long id;
+
+    /**
+     * 优惠券名称
+     */
+    private String couponName;
+
+    /**
+     * 优惠券描述
+     */
+    private String couponDesc;
+
+    /**
+     * 开始时间
+     */
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime startTime;
+
+    /**
+     * 结束时间
+     */
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime endTime;
+
+    /**
+     * 券种:Discount折扣券、FullDiscount满减券
+     */
+    private String couponType;
+
+    /**
+     * 使用门槛:最小服务费金额(分)
+     */
+    private Integer minServiceMoney;
+
+    /**
+     * 折扣:100代表无折扣,75代表75折;折扣金额(分)
+     */
+    private Integer discount;
+
+    /**
+     * 优惠允许叠加:0-不允许,1-允许
+     */
+    private Integer allowStacke;
+
+    /**
+     * 数量限制
+     */
+    private Integer quantity;
+
+    /**
+     * 活动状态:0-未开始,1-进行中,2-已结束,3-已取消
+     */
+    private Integer status;
+
+    /**
+     * 备注
+     */
+    private String remark;
+}

+ 3 - 0
service/src/main/java/com/kym/service/admin/CouponService.java

@@ -3,6 +3,8 @@ package com.kym.service.admin;
 import com.github.yulichang.base.MPJBaseService;
 import com.kym.entity.admin.Coupon;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.kym.entity.admin.queryParams.CouponQueryParam;
+import com.kym.entity.common.PageBean;
 
 /**
  * <p>
@@ -14,4 +16,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface CouponService extends MPJBaseService<Coupon> {
 
+    PageBean<Coupon> listCoupon(CouponQueryParam params);
 }

+ 13 - 0
service/src/main/java/com/kym/service/admin/impl/CouponServiceImpl.java

@@ -1,6 +1,10 @@
 package com.kym.service.admin.impl;
 
+import com.github.pagehelper.PageHelper;
+import com.kym.common.utils.CommUtil;
 import com.kym.entity.admin.Coupon;
+import com.kym.entity.admin.queryParams.CouponQueryParam;
+import com.kym.entity.common.PageBean;
 import com.kym.mapper.admin.CouponMapper;
 import com.kym.service.admin.CouponService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -17,4 +21,13 @@ import org.springframework.stereotype.Service;
 @Service
 public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> implements CouponService {
 
+    @Override
+    public PageBean<Coupon> listCoupon(CouponQueryParam params) {
+        PageHelper.startPage(params.getPageNum(), params.getPageSize());
+        var res = lambdaQuery()
+                .like(CommUtil.isNotEmptyAndNull(params.getCouponName()), Coupon::getCouponName, params.getCouponName())
+                .orderByAsc(Coupon::getEndTime)
+                .list();
+        return new PageBean<>(res);
+    }
 }