管理端分享好友接口

This commit is contained in:
张松
2025-03-05 15:03:23 +08:00
parent 501748b799
commit f029891719
15 changed files with 647 additions and 0 deletions

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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> {
}

View File

@@ -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);
}

View File

@@ -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;
}

View File

@@ -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<>();
}