管理端分享好友接口
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
|
||||
package com.czg.account.dto;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
||||
import java.io.Serial;
|
||||
import java.util.List;
|
||||
|
||||
import jakarta.validation.constraints.Size;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 店铺分享 实体类。
|
||||
*
|
||||
* @author zs
|
||||
* @since 2025-03-05
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ShopShareDTO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
@Size(min = 1, message = "标题不为空")
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 分享封面图
|
||||
*/
|
||||
@Size(min = 1, message = "分享封面图不为空")
|
||||
private String shareImg;
|
||||
|
||||
/**
|
||||
* 邀请顶部图
|
||||
*/
|
||||
@Size(min = 1, message = "邀请顶部图不为空")
|
||||
private String invitedImg;
|
||||
|
||||
/**
|
||||
* 被邀顶部图
|
||||
*/
|
||||
@Size(min = 1, message = "被邀顶部图不为空")
|
||||
private String beInvitedImg;
|
||||
|
||||
/**
|
||||
* 活动开始时间
|
||||
*/
|
||||
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime startTime;
|
||||
|
||||
/**
|
||||
* 活动结束时间
|
||||
*/
|
||||
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime endTime;
|
||||
|
||||
/**
|
||||
* 新用户获得券
|
||||
*/
|
||||
private List<Long> newCouponIdList;
|
||||
|
||||
/**
|
||||
* 邀请人数
|
||||
*/
|
||||
private Integer invitedNum;
|
||||
|
||||
/**
|
||||
* 奖励券
|
||||
*/
|
||||
private List<Long> rewardCouponIdList;
|
||||
|
||||
/**
|
||||
* 获取方法 get-新用户领取获得 use-新用户使用获得
|
||||
*/
|
||||
@Size(min = 1, message = "获取方法不为空")
|
||||
private String getMethod;
|
||||
|
||||
/**
|
||||
* 0 关闭 1 开启
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
|
||||
package com.czg.account.dto;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
||||
import java.io.Serial;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 店铺分享记录 实体类。
|
||||
*
|
||||
* @author zs
|
||||
* @since 2025-03-05
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ShopShareRecordDTO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* tb_shop_share 主键Id
|
||||
*/
|
||||
private Integer shareId;
|
||||
|
||||
/**
|
||||
* 店铺Id
|
||||
*/
|
||||
private Integer shopId;
|
||||
|
||||
/**
|
||||
* 邀请人id
|
||||
*/
|
||||
private Integer invitedId;
|
||||
|
||||
/**
|
||||
* 邀请人名称
|
||||
*/
|
||||
private String invitedName;
|
||||
|
||||
/**
|
||||
* 被邀请人Id
|
||||
*/
|
||||
private Integer beInvitedId;
|
||||
|
||||
/**
|
||||
* 奖励券获得方式 get/use 领取获得/使用获得
|
||||
*/
|
||||
private String method;
|
||||
|
||||
/**
|
||||
* 0 非新用户 1 未领取 2 已领取 3 已使用
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 生效时间/获得奖励的时间
|
||||
*/
|
||||
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime rewardTime;
|
||||
|
||||
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
package com.czg.account.entity;
|
||||
|
||||
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-03-05
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Table("tb_shop_share")
|
||||
public class ShopShare implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id(keyType = KeyType.Auto)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 店铺Id
|
||||
*/
|
||||
private Long shopId;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 分享封面图
|
||||
*/
|
||||
private String shareImg;
|
||||
|
||||
/**
|
||||
* 邀请顶部图
|
||||
*/
|
||||
private String invitedImg;
|
||||
|
||||
/**
|
||||
* 被邀顶部图
|
||||
*/
|
||||
private String beInvitedImg;
|
||||
|
||||
/**
|
||||
* 活动开始时间
|
||||
*/
|
||||
private LocalDateTime startTime;
|
||||
|
||||
/**
|
||||
* 活动结束时间
|
||||
*/
|
||||
private LocalDateTime endTime;
|
||||
|
||||
/**
|
||||
* 新用户获得券
|
||||
*/
|
||||
private String newCoupon;
|
||||
|
||||
/**
|
||||
* 邀请人数
|
||||
*/
|
||||
private Integer invitedNum;
|
||||
|
||||
/**
|
||||
* 奖励券
|
||||
*/
|
||||
private String rewardCoupon;
|
||||
|
||||
/**
|
||||
* 获取方法 get-新用户领取获得 use-新用户使用获得
|
||||
*/
|
||||
private String getMethod;
|
||||
|
||||
/**
|
||||
* 0 关闭 1 开启
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
package com.czg.account.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-03-05
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Table("tb_shop_share_record")
|
||||
public class ShopShareRecord implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id(keyType = KeyType.Auto)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* tb_shop_share 主键Id
|
||||
*/
|
||||
private Integer shareId;
|
||||
|
||||
/**
|
||||
* 店铺Id
|
||||
*/
|
||||
private Integer shopId;
|
||||
|
||||
/**
|
||||
* 邀请人id
|
||||
*/
|
||||
private Integer invitedId;
|
||||
|
||||
/**
|
||||
* 邀请人名称
|
||||
*/
|
||||
private String invitedName;
|
||||
|
||||
/**
|
||||
* 被邀请人Id
|
||||
*/
|
||||
private Integer beInvitedId;
|
||||
|
||||
/**
|
||||
* 奖励券获得方式 get/use 领取获得/使用获得
|
||||
*/
|
||||
private String method;
|
||||
|
||||
/**
|
||||
* 0 非新用户 1 未领取 2 已领取 3 已使用
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 生效时间/获得奖励的时间
|
||||
*/
|
||||
private LocalDateTime rewardTime;
|
||||
|
||||
@Column(onInsertValue = "now()")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@Column(onInsertValue = "now()", onUpdateValue = "now()")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.czg.account.service;
|
||||
|
||||
import com.mybatisflex.core.service.IService;
|
||||
import com.czg.account.entity.ShopShareRecord;
|
||||
|
||||
/**
|
||||
* 店铺分享记录 服务层。
|
||||
*
|
||||
* @author zs
|
||||
* @since 2025-03-05
|
||||
*/
|
||||
public interface ShopShareRecordService extends IService<ShopShareRecord> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.czg.account.service;
|
||||
|
||||
import com.czg.account.dto.ShopShareDTO;
|
||||
import com.czg.account.vo.ShopShareRecordVO;
|
||||
import com.czg.account.vo.ShopShareVO;
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import com.mybatisflex.core.service.IService;
|
||||
import com.czg.account.entity.ShopShare;
|
||||
|
||||
/**
|
||||
* 店铺分享 服务层。
|
||||
*
|
||||
* @author zs
|
||||
* @since 2025-03-05
|
||||
*/
|
||||
public interface ShopShareService extends IService<ShopShare> {
|
||||
|
||||
ShopShareVO get(Long shopId);
|
||||
|
||||
Boolean add(Long shopId, ShopShareDTO shopShareDTO);
|
||||
|
||||
Page<ShopShareRecordVO> recordPage(Long shopId, String key, Integer status);
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.czg.account.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author Administrator
|
||||
*/
|
||||
@Data
|
||||
public class ShopShareRecordVO {
|
||||
private String invitedName;
|
||||
private String beInvitedName;
|
||||
private Integer status;
|
||||
private LocalDateTime createTime;
|
||||
private LocalDateTime rewardTime;
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.czg.account.vo;
|
||||
|
||||
import com.czg.account.entity.ShopCoupon;
|
||||
import com.czg.account.entity.ShopShare;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Administrator
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class ShopShareVO extends ShopShare {
|
||||
/**
|
||||
* 新人奖励优惠券信息
|
||||
*/
|
||||
private List<ShopCoupon> newCouponList = new ArrayList<>();
|
||||
/**
|
||||
* 邀请人奖励优惠券信息
|
||||
*/
|
||||
private List<ShopCoupon> rewardCouponList = new ArrayList<>();
|
||||
}
|
||||
Reference in New Issue
Block a user