生日有礼接口
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
|
||||
package com.czg.market.dto;
|
||||
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
||||
import com.czg.market.entity.MkBirthdayGiftConfig;
|
||||
import com.czg.validator.group.UpdateGroup;
|
||||
import com.mybatisflex.annotation.Column;
|
||||
import com.mybatisflex.annotation.Id;
|
||||
import com.mybatisflex.annotation.KeyType;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
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;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 消费赠券表 实体类。
|
||||
*
|
||||
* @author ww
|
||||
* @since 2025-09-12
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class MkBirthdayGiftDTO implements Serializable {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 是否开启
|
||||
*/
|
||||
private Integer isEnable;
|
||||
|
||||
/**
|
||||
* 是否发送短信
|
||||
*/
|
||||
private Integer sendSms;
|
||||
|
||||
/**
|
||||
* 短信模板id
|
||||
*/
|
||||
private Long templateId;
|
||||
|
||||
/**
|
||||
* 配置信息
|
||||
*/
|
||||
private List<MkBirthdayGiftConfig> configList;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
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.time.LocalDateTime;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 生日有礼 实体类。
|
||||
*
|
||||
* @author zs
|
||||
* @since 2025-10-14
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Table("mk_birthday_gift")
|
||||
public class MkBirthdayGift implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id(keyType = KeyType.Auto)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 是否开启
|
||||
*/
|
||||
private Integer isEnable;
|
||||
|
||||
/**
|
||||
* 是否发送短信
|
||||
*/
|
||||
private Integer sendSms;
|
||||
|
||||
/**
|
||||
* 短信模板id
|
||||
*/
|
||||
private Long templateId;
|
||||
|
||||
/**
|
||||
* 配置信息
|
||||
*/
|
||||
private String configList;
|
||||
|
||||
/**
|
||||
* 主店id
|
||||
*/
|
||||
private Long mainShopId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Column(onInsertValue = "now()")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
@Column(onInsertValue = "now()", onUpdateValue = "now()")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package com.czg.market.entity;
|
||||
|
||||
import com.czg.market.dto.CouponInfoDTO;
|
||||
import com.mybatisflex.annotation.Column;
|
||||
import com.mybatisflex.annotation.Id;
|
||||
import com.mybatisflex.annotation.KeyType;
|
||||
import com.mybatisflex.annotation.Table;
|
||||
import jakarta.validation.Valid;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 生日有礼 实体类。
|
||||
*
|
||||
* @author zs
|
||||
* @since 2025-10-14
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class MkBirthdayGiftConfig implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 用户类型all 全部用户 vip 会员用户
|
||||
*/
|
||||
private String userType;
|
||||
|
||||
/**
|
||||
* 是否开启
|
||||
*/
|
||||
private String deliverTime;
|
||||
private String deliverDate;
|
||||
|
||||
/**
|
||||
* 赠送券信息
|
||||
*/
|
||||
@Valid
|
||||
private List<CouponInfoDTO> couponInfoList;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
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.sql.Date;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 生日有礼记录 实体类。
|
||||
*
|
||||
* @author zs
|
||||
* @since 2025-10-14
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Table("mk_birthday_gift_record")
|
||||
public class MkBirthdayGiftRecord implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id(keyType = KeyType.Auto)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private Long userId;
|
||||
private Long shopUserId;
|
||||
|
||||
/**
|
||||
* 生日
|
||||
*/
|
||||
private Date birthday;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Column(onInsertValue = "now()")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 主店id
|
||||
*/
|
||||
private Long mainShopId;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
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.time.LocalDateTime;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 实体类。
|
||||
*
|
||||
* @author zs
|
||||
* @since 2025-10-14
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Table("mk_birthday_gift_record_coupon")
|
||||
public class MkBirthdayGiftRecordCoupon implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id(keyType = KeyType.Auto)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 券名称
|
||||
*/
|
||||
private String couponName;
|
||||
|
||||
/**
|
||||
* 数量
|
||||
*/
|
||||
private Integer num;
|
||||
|
||||
/**
|
||||
* give获得 consume消耗
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 生日有礼记录id
|
||||
*/
|
||||
private Long recordId;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 门店用户id
|
||||
*/
|
||||
private Long shopUserId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Column(onInsertValue = "now()")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.czg.market.service;
|
||||
|
||||
import com.mybatisflex.core.service.IService;
|
||||
import com.czg.market.entity.MkBirthdayGiftRecordCoupon;
|
||||
|
||||
/**
|
||||
* 服务层。
|
||||
*
|
||||
* @author zs
|
||||
* @since 2025-10-14
|
||||
*/
|
||||
public interface MkBirthdayGiftRecordCouponService extends IService<MkBirthdayGiftRecordCoupon> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.czg.market.service;
|
||||
|
||||
import com.mybatisflex.core.service.IService;
|
||||
import com.czg.market.entity.MkBirthdayGiftRecord;
|
||||
|
||||
/**
|
||||
* 生日有礼记录 服务层。
|
||||
*
|
||||
* @author zs
|
||||
* @since 2025-10-14
|
||||
*/
|
||||
public interface MkBirthdayGiftRecordService extends IService<MkBirthdayGiftRecord> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.czg.market.service;
|
||||
|
||||
import com.czg.market.dto.MkBirthdayGiftDTO;
|
||||
import com.czg.market.vo.MkBirthdayGiftRecordSummaryVO;
|
||||
import com.czg.market.vo.MkBirthdayGiftRecordVO;
|
||||
import com.czg.market.vo.MkBirthdayGiftVO;
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import com.mybatisflex.core.service.IService;
|
||||
import com.czg.market.entity.MkBirthdayGift;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 生日有礼 服务层。
|
||||
*
|
||||
* @author zs
|
||||
* @since 2025-10-14
|
||||
*/
|
||||
public interface MkBirthdayGiftService extends IService<MkBirthdayGift> {
|
||||
|
||||
MkBirthdayGiftVO detail(Long shopId);
|
||||
|
||||
Boolean edit(Long shopId, MkBirthdayGiftDTO giftDTO);
|
||||
|
||||
Page<MkBirthdayGiftRecordVO> getRecord(Long shopId, String key, LocalDateTime dateTime);
|
||||
|
||||
MkBirthdayGiftRecordSummaryVO summary(Long shopId, String key, LocalDateTime dateTime);
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.czg.market.vo;
|
||||
|
||||
import com.czg.market.entity.MkBirthdayGiftConfig;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Administrator
|
||||
*/
|
||||
@Data
|
||||
public class MkBirthdayGiftRecordSummaryVO implements Serializable {
|
||||
private Long totalNum = 0L;
|
||||
private Long usedNum = 0L;
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.czg.market.vo;
|
||||
|
||||
import com.czg.market.entity.MkBirthdayGiftConfig;
|
||||
import com.czg.market.entity.MkBirthdayGiftRecordCoupon;
|
||||
import com.mybatisflex.annotation.Column;
|
||||
import com.mybatisflex.annotation.Id;
|
||||
import com.mybatisflex.annotation.KeyType;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.sql.Date;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Administrator
|
||||
*/
|
||||
@Data
|
||||
public class MkBirthdayGiftRecordVO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id(keyType = KeyType.Auto)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 生日
|
||||
*/
|
||||
private Date birthday;
|
||||
|
||||
/**
|
||||
* 赠送优惠券信息
|
||||
*/
|
||||
private List<MkBirthdayGiftRecordCoupon> couponList;
|
||||
|
||||
/**
|
||||
* 已经使用的优惠券
|
||||
*/
|
||||
private List<MkBirthdayGiftRecordCoupon> usedCouponList;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Column(onInsertValue = "now()")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 主店id
|
||||
*/
|
||||
private Long mainShopId;
|
||||
private String phone;
|
||||
private String nickName;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
package com.czg.market.vo;
|
||||
|
||||
import com.czg.market.entity.MkBirthdayGift;
|
||||
import com.czg.market.entity.MkBirthdayGiftConfig;
|
||||
import com.mybatisflex.annotation.Column;
|
||||
import com.mybatisflex.annotation.Id;
|
||||
import com.mybatisflex.annotation.KeyType;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Administrator
|
||||
*/
|
||||
@Data
|
||||
public class MkBirthdayGiftVO implements Serializable {
|
||||
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 是否开启
|
||||
*/
|
||||
private Integer isEnable;
|
||||
|
||||
/**
|
||||
* 是否发送短信
|
||||
*/
|
||||
private Integer sendSms;
|
||||
|
||||
/**
|
||||
* 短信模板id
|
||||
*/
|
||||
private Long templateId;
|
||||
|
||||
/**
|
||||
* 配置信息
|
||||
*/
|
||||
private List<MkBirthdayGiftConfig> configList;
|
||||
|
||||
/**
|
||||
* 主店id
|
||||
*/
|
||||
private Long mainShopId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private LocalDateTime updateTime;
|
||||
}
|
||||
Reference in New Issue
Block a user