From 5170d675b3f16bc5478e220ac6050fac487cc61e Mon Sep 17 00:00:00 2001 From: zhonghengtech Date: Sat, 1 Jun 2024 17:23:02 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=AE=9A=E5=90=91=E5=8F=91=E5=88=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../springbok/entity/CouponDirect.java | 44 ++++++++++++++ .../springbok/entity/CouponDirectLine.java | 58 +++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 springbok-mall-api/src/main/java/cn/code4java/springbok/entity/CouponDirect.java create mode 100644 springbok-mall-api/src/main/java/cn/code4java/springbok/entity/CouponDirectLine.java diff --git a/springbok-mall-api/src/main/java/cn/code4java/springbok/entity/CouponDirect.java b/springbok-mall-api/src/main/java/cn/code4java/springbok/entity/CouponDirect.java new file mode 100644 index 0000000..41443ae --- /dev/null +++ b/springbok-mall-api/src/main/java/cn/code4java/springbok/entity/CouponDirect.java @@ -0,0 +1,44 @@ +package cn.code4java.springbok.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * @ClassName CouponDirect + * @Description: 定向发券 + * @Author zhonghengtech + * @Date 2024/6/1 + * @Version V1.0 + **/ +@Data +@TableName(value = "mall_coupon_direct") +public class CouponDirect extends BaseEntity { + + /** + * id + */ + @TableId(type = IdType.AUTO) + private Integer couponDirectId; + /** + * 发券名称 + */ + private Integer couponDirectName; + /** + * 发放类型 1 按标签 2 指定手机号 + */ + private Integer sendType; + /** + * 发放目标id + */ + private String sendTargetIds; + /** + * 是否启用短信通知 0 否 1 是 + */ + private Integer smsNotify; + /** + * 状态 0 未开始 1 发送中 2 已完成 3 发送失败 + */ + private Integer status; +} diff --git a/springbok-mall-api/src/main/java/cn/code4java/springbok/entity/CouponDirectLine.java b/springbok-mall-api/src/main/java/cn/code4java/springbok/entity/CouponDirectLine.java new file mode 100644 index 0000000..c465b0e --- /dev/null +++ b/springbok-mall-api/src/main/java/cn/code4java/springbok/entity/CouponDirectLine.java @@ -0,0 +1,58 @@ +package cn.code4java.springbok.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.time.LocalDate; + +/** + * @ClassName CouponDirect + * @Description: 定向发券选择优惠券 + * @Author zhonghengtech + * @Date 2024/6/1 + * @Version V1.0 + **/ +@Data +@TableName(value = "mall_coupon_direct_line") +public class CouponDirectLine extends BaseEntity { + + /** + * id + */ + @TableId(type = IdType.AUTO) + private Integer couponDirectLineId; + /** + * 定向发券id + */ + private Long couponDirectId; + /** + * 券id + */ + private Long couponId; + /** + * 发放数量 + */ + private Long sendNum; + /** + * 有效期类型 0 指定日期 1 指定周期 + */ + private Integer validityType; + /** + * 开始日期 + */ + private LocalDate startDate; + /** + * 结束日期 + */ + private LocalDate endDate; + /** + * 发券后N天 + */ + private Integer afterDayNum; + /** + * 有效天数 + */ + private Integer validDayNum; +} -- Gitee From 0e409f44aaf40b395645530c953e9c1eec4ee2bf Mon Sep 17 00:00:00 2001 From: zhonghengtech Date: Sat, 1 Jun 2024 17:48:09 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=AE=9A=E5=90=91=E5=8F=91=E5=88=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../springbok/dto/CouponDirectQueryDTO.java | 18 +++++++++ .../service/CouponDirectService.java | 22 ++++++++++ .../controller/CouponDirectController.java | 40 +++++++++++++++++++ .../springbok/mapper/CouponDirectMapper.java | 18 +++++++++ .../service/CouponDirectServiceImpl.java | 31 ++++++++++++++ .../resources/mapper/CouponDirectMapper.xml | 20 ++++++++++ 6 files changed, 149 insertions(+) create mode 100644 springbok-mall-api/src/main/java/cn/code4java/springbok/dto/CouponDirectQueryDTO.java create mode 100644 springbok-mall-api/src/main/java/cn/code4java/springbok/service/CouponDirectService.java create mode 100644 springbok-mall/src/main/java/cn/code4java/springbok/controller/CouponDirectController.java create mode 100644 springbok-mall/src/main/java/cn/code4java/springbok/mapper/CouponDirectMapper.java create mode 100644 springbok-mall/src/main/java/cn/code4java/springbok/service/CouponDirectServiceImpl.java create mode 100644 springbok-mall/src/main/resources/mapper/CouponDirectMapper.xml diff --git a/springbok-mall-api/src/main/java/cn/code4java/springbok/dto/CouponDirectQueryDTO.java b/springbok-mall-api/src/main/java/cn/code4java/springbok/dto/CouponDirectQueryDTO.java new file mode 100644 index 0000000..b443959 --- /dev/null +++ b/springbok-mall-api/src/main/java/cn/code4java/springbok/dto/CouponDirectQueryDTO.java @@ -0,0 +1,18 @@ +package cn.code4java.springbok.dto; + +import cn.code4java.springbok.entity.CouponDirect; +import lombok.Data; + +/** + * @ClassName CouponQueryDTO + * @Description: CouponQueryDTO + * @Author zhonghengtech + * @Date 2023/12/21 + * @Version V1.0 + **/ +@Data +public class CouponDirectQueryDTO extends CouponDirect { + + private long size; + private long current; +} diff --git a/springbok-mall-api/src/main/java/cn/code4java/springbok/service/CouponDirectService.java b/springbok-mall-api/src/main/java/cn/code4java/springbok/service/CouponDirectService.java new file mode 100644 index 0000000..3117eec --- /dev/null +++ b/springbok-mall-api/src/main/java/cn/code4java/springbok/service/CouponDirectService.java @@ -0,0 +1,22 @@ +package cn.code4java.springbok.service; + +import cn.code4java.springbok.dto.CouponDirectQueryDTO; +import cn.code4java.springbok.entity.CouponDirect; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +/** + * @ClassName CouponDirectService + * @Description: 定向发券服务类 + * @Author zhonghengtech + * @Date 2024/6/1 + * @Version V1.0 + **/ +public interface CouponDirectService { + /** + * 分页查询定向发券 + * + * @param couponDirectQueryDTO + * @return + */ + Page pageCouponDirect(CouponDirectQueryDTO couponDirectQueryDTO); +} diff --git a/springbok-mall/src/main/java/cn/code4java/springbok/controller/CouponDirectController.java b/springbok-mall/src/main/java/cn/code4java/springbok/controller/CouponDirectController.java new file mode 100644 index 0000000..2ac0344 --- /dev/null +++ b/springbok-mall/src/main/java/cn/code4java/springbok/controller/CouponDirectController.java @@ -0,0 +1,40 @@ +package cn.code4java.springbok.controller; + +import cn.code4java.springbok.dto.CouponDTO; +import cn.code4java.springbok.dto.CouponDirectQueryDTO; +import cn.code4java.springbok.dto.CouponQueryDTO; +import cn.code4java.springbok.service.CouponDirectService; +import cn.code4java.springbok.service.CouponService; +import cn.code4java.springbok.vo.BaseResponse; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + * @ClassName CouponDirectController + * @Description: 定向发券控制器 + * @Author zhonghengtech + * @Date 2024/6/1 + * @Version V1.0 + **/ +@Tag(name = "定向发券管理") +@RestController +@RequiredArgsConstructor +@RequestMapping("/couponDirect") +public class CouponDirectController { + + private final CouponDirectService couponDirectService; + + /** + * 分页查询 + * + * @param params + * @return + */ + @GetMapping("/pageCouponDirect") + @Operation(summary = "分页查询", description = "分页查询") + public BaseResponse pageCouponDirect(CouponDirectQueryDTO params) { + return BaseResponse.success(couponDirectService.pageCouponDirect(params)); + } +} diff --git a/springbok-mall/src/main/java/cn/code4java/springbok/mapper/CouponDirectMapper.java b/springbok-mall/src/main/java/cn/code4java/springbok/mapper/CouponDirectMapper.java new file mode 100644 index 0000000..94af0d9 --- /dev/null +++ b/springbok-mall/src/main/java/cn/code4java/springbok/mapper/CouponDirectMapper.java @@ -0,0 +1,18 @@ +package cn.code4java.springbok.mapper; + +import cn.code4java.springbok.dto.CouponDirectQueryDTO; +import cn.code4java.springbok.entity.CouponDirect; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; + +/** + * @ClassName CouponDirectMapper + * @Description: CouponDirectMapper + * @Author zhonghengtech + * @Date 2024/6/1 + * @Version V1.0 + **/ +public interface CouponDirectMapper extends BaseMapper { + Page pageCouponDirect(Page page, @Param(value = "query") CouponDirectQueryDTO couponDirectQueryDTO); +} diff --git a/springbok-mall/src/main/java/cn/code4java/springbok/service/CouponDirectServiceImpl.java b/springbok-mall/src/main/java/cn/code4java/springbok/service/CouponDirectServiceImpl.java new file mode 100644 index 0000000..8945097 --- /dev/null +++ b/springbok-mall/src/main/java/cn/code4java/springbok/service/CouponDirectServiceImpl.java @@ -0,0 +1,31 @@ +package cn.code4java.springbok.service; + +import cn.code4java.springbok.dto.CouponDirectQueryDTO; +import cn.code4java.springbok.entity.CouponDirect; +import cn.code4java.springbok.mapper.CouponDirectMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * @ClassName CouponDirectServiceImpl + * @Description: 定向发券服务类 + * @Author zhonghengtech + * @Date 2024/6/1 + * @Version V1.0 + **/ +@Service +@AllArgsConstructor +public class CouponDirectServiceImpl extends ServiceImpl implements CouponDirectService { + + private CouponDirectMapper couponDirectMapper; + + @Override + public Page pageCouponDirect(CouponDirectQueryDTO couponDirectQueryDTO) { + Page page = new Page<>(); + page.setCurrent(couponDirectQueryDTO.getCurrent()); + page.setSize(couponDirectQueryDTO.getSize()); + return couponDirectMapper.pageCouponDirect(page, couponDirectQueryDTO); + } +} diff --git a/springbok-mall/src/main/resources/mapper/CouponDirectMapper.xml b/springbok-mall/src/main/resources/mapper/CouponDirectMapper.xml new file mode 100644 index 0000000..36b8ac3 --- /dev/null +++ b/springbok-mall/src/main/resources/mapper/CouponDirectMapper.xml @@ -0,0 +1,20 @@ + + + + + + -- Gitee From eda54d71a358ea3e2b1492af0a0056521ce07a9f Mon Sep 17 00:00:00 2001 From: zhonghengtech Date: Sat, 1 Jun 2024 18:13:11 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=AE=9A=E5=90=91=E5=8F=91=E5=88=B8SQL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- database/springbok-mall.sql | 33 +++++++++++++++++++ .../springbok/entity/CouponDirectLine.java | 4 +-- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/database/springbok-mall.sql b/database/springbok-mall.sql index 98ad7fc..52db415 100644 --- a/database/springbok-mall.sql +++ b/database/springbok-mall.sql @@ -324,3 +324,36 @@ CREATE TABLE `mall_tag` ( `updated_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`tag_id`) USING BTREE ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Table structure for mall_coupon_direct +-- ---------------------------- +CREATE TABLE `mall_coupon_direct` ( + `coupon_direct_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id', + `coupon_direct_name` varchar(255) DEFAULT NULL COMMENT '发券名称', + `send_type` tinyint(1) DEFAULT NULL COMMENT '发放类型 1 按标签 2 指定手机号', + `send_target_ids` text COMMENT '发放目标id', + `sms_notify` tinyint(1) DEFAULT NULL COMMENT '是否启用短信通知 0 否 1 是', + `status` tinyint(1) DEFAULT NULL COMMENT '状态 0 未开始 1 发送中 2 已完成 3 发送失败', + `created_name` varchar(255) DEFAULT NULL, + `created_time` datetime DEFAULT NULL, + `updated_name` varchar(255) DEFAULT NULL, + `updated_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`coupon_direct_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +-- ---------------------------- +-- Table structure for mall_coupon_direct_line +-- ---------------------------- +CREATE TABLE `mall_coupon_direct_line` ( + `coupon_direct_line_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id', + `coupon_direct_id` int(11) DEFAULT NULL COMMENT '定向发券id', + `coupon_id` int(11) DEFAULT NULL COMMENT '券id', + `send_num` int(11) DEFAULT NULL COMMENT '发放数量', + `validity_type` tinyint(1) DEFAULT NULL COMMENT '有效期类型 0 指定日期 1 指定周期', + `start_date` date DEFAULT NULL COMMENT '开始日期', + `end_date` date DEFAULT NULL COMMENT '结束日期', + `after_day_num` int(11) DEFAULT NULL COMMENT '发券后N天', + `valid_day_num` int(11) DEFAULT NULL COMMENT '有效天数', + PRIMARY KEY (`coupon_direct_line_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; diff --git a/springbok-mall-api/src/main/java/cn/code4java/springbok/entity/CouponDirectLine.java b/springbok-mall-api/src/main/java/cn/code4java/springbok/entity/CouponDirectLine.java index c465b0e..ead74b2 100644 --- a/springbok-mall-api/src/main/java/cn/code4java/springbok/entity/CouponDirectLine.java +++ b/springbok-mall-api/src/main/java/cn/code4java/springbok/entity/CouponDirectLine.java @@ -16,7 +16,7 @@ import java.time.LocalDate; **/ @Data @TableName(value = "mall_coupon_direct_line") -public class CouponDirectLine extends BaseEntity { +public class CouponDirectLine { /** * id @@ -34,7 +34,7 @@ public class CouponDirectLine extends BaseEntity { /** * 发放数量 */ - private Long sendNum; + private Integer sendNum; /** * 有效期类型 0 指定日期 1 指定周期 */ -- Gitee