领取
This commit is contained in:
@@ -0,0 +1,135 @@
|
||||
|
||||
package com.czg.market.dto;
|
||||
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 优惠券发放记录表 实体类。
|
||||
*
|
||||
* @author ww
|
||||
* @since 2025-09-13
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class MkShopCouponRecordDTO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 店铺id
|
||||
*/
|
||||
private Long shopId;
|
||||
|
||||
/**
|
||||
* 店铺用户id
|
||||
*/
|
||||
private Long shopUserId;
|
||||
|
||||
/**
|
||||
* 用户Id
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 卷Id (校验是否可用)
|
||||
*/
|
||||
private Long couponId;
|
||||
|
||||
/**
|
||||
* 卷描述 满10减2/商品卷
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 优惠券类型:1-满减券,2-商品兑换券,3-折扣券,4-第二件半价券,5-消费送券,6-买一送一券,7-固定价格券,8-免配送费券
|
||||
*/
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 满多少金额
|
||||
*/
|
||||
private BigDecimal fullAmount;
|
||||
|
||||
/**
|
||||
* 减多少金额
|
||||
*/
|
||||
private BigDecimal discountAmount;
|
||||
|
||||
/**
|
||||
* 折扣率 %
|
||||
*/
|
||||
private Integer discountRate;
|
||||
|
||||
/**
|
||||
* 来源活动id
|
||||
*/
|
||||
private Long sourceId;
|
||||
|
||||
/**
|
||||
* 来源记录Id
|
||||
*/
|
||||
private Long sourceFlowId;
|
||||
|
||||
/**
|
||||
* 领取时间
|
||||
*/
|
||||
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 使用时间
|
||||
*/
|
||||
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime useTime;
|
||||
|
||||
/**
|
||||
* 过期时间
|
||||
*/
|
||||
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime expiredTime;
|
||||
|
||||
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
private String couponJson;
|
||||
|
||||
/**
|
||||
* 来源描述
|
||||
*/
|
||||
private String source;
|
||||
|
||||
/**
|
||||
* 0未使用
|
||||
* 1已使用
|
||||
* 2已过期
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 使用记录Id (订单Id)
|
||||
*/
|
||||
private Long targetId;
|
||||
|
||||
/**
|
||||
* 头像
|
||||
*/
|
||||
private String headImg;
|
||||
|
||||
/**
|
||||
* 用户昵称
|
||||
*/
|
||||
private String nickName;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,137 @@
|
||||
package com.czg.market.entity;
|
||||
|
||||
import com.mybatisflex.annotation.Column;
|
||||
import com.mybatisflex.annotation.Id;
|
||||
import com.mybatisflex.annotation.KeyType;
|
||||
import com.mybatisflex.annotation.Table;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* 优惠券发放记录表 实体类。
|
||||
*
|
||||
* @author ww
|
||||
* @since 2025-09-13
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Table("mk_shop_coupon_record")
|
||||
@Accessors(chain = true)
|
||||
public class MkShopCouponRecord implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id(keyType = KeyType.Auto)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 店铺id
|
||||
*/
|
||||
private Long shopId;
|
||||
|
||||
/**
|
||||
* 店铺用户id
|
||||
*/
|
||||
private Long shopUserId;
|
||||
|
||||
/**
|
||||
* 用户Id
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 卷Id (校验是否可用)
|
||||
*/
|
||||
private Long couponId;
|
||||
|
||||
/**
|
||||
* 卷描述 满10减2/商品卷
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 优惠券类型:1-满减券,2-商品兑换券,3-折扣券,4-第二件半价券, 6-买一送一券,7-固定价格券,8-免配送费券
|
||||
*/
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 满多少金额
|
||||
*/
|
||||
private BigDecimal fullAmount;
|
||||
|
||||
/**
|
||||
* 减多少金额
|
||||
*/
|
||||
private BigDecimal discountAmount;
|
||||
|
||||
/**
|
||||
* 折扣率 %
|
||||
*/
|
||||
private Integer discountRate;
|
||||
|
||||
/**
|
||||
* 来源活动id
|
||||
*/
|
||||
private Long sourceId;
|
||||
|
||||
/**
|
||||
* 来源记录Id
|
||||
*/
|
||||
private Long sourceFlowId;
|
||||
|
||||
/**
|
||||
* 领取时间
|
||||
*/
|
||||
@Column(onInsertValue = "now()")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 使用时间
|
||||
*/
|
||||
private LocalDateTime useTime;
|
||||
|
||||
/**
|
||||
* 过期时间
|
||||
*/
|
||||
private LocalDateTime expiredTime;
|
||||
|
||||
@Column(onInsertValue = "now()", onUpdateValue = "now()")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
private String couponJson;
|
||||
|
||||
/**
|
||||
* 来源描述
|
||||
*/
|
||||
private String source;
|
||||
|
||||
/**
|
||||
* 0未使用
|
||||
* 1已使用
|
||||
* 2已过期
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 使用记录Id (订单Id)
|
||||
*/
|
||||
private Long targetId;
|
||||
/**
|
||||
* 删除状态 0-正常 1-删除
|
||||
*/
|
||||
private Integer isDel;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.czg.market.service;
|
||||
|
||||
import com.czg.market.dto.MkShopCouponRecordDTO;
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import com.mybatisflex.core.service.IService;
|
||||
import com.czg.market.entity.MkShopCouponRecord;
|
||||
|
||||
/**
|
||||
* 优惠券发放记录表 服务层。
|
||||
*
|
||||
* @author ww
|
||||
* @since 2025-09-13
|
||||
*/
|
||||
public interface MkShopCouponRecordService extends IService<MkShopCouponRecord> {
|
||||
|
||||
/**
|
||||
* 优惠券列表/已领取详情
|
||||
* @param search 用户Id/昵称/手机号
|
||||
*/
|
||||
Page<MkShopCouponRecordDTO> getRecord(String search, MkShopCouponRecordDTO param);
|
||||
|
||||
/**
|
||||
* 发放券 统一方法
|
||||
* @param mkShopCouponRecordDTO 赠送信息 除Id外 几乎全填
|
||||
* @param number 发放数量
|
||||
*/
|
||||
void receiveCoupon(MkShopCouponRecordDTO mkShopCouponRecordDTO,Integer number);
|
||||
|
||||
/**
|
||||
* 用户优惠券 失效/删除
|
||||
*/
|
||||
void deleteRecord(Long id);
|
||||
}
|
||||
Reference in New Issue
Block a user