提交 243e976e authored 作者: YunaiV's avatar YunaiV

后端:优惠劵 rpc api 的设计

上级 ffb0087c
package cn.iocoder.mall.promotion.api;
import cn.iocoder.common.framework.vo.CommonResult;
import cn.iocoder.mall.promotion.api.bo.CouponCardBO;
import cn.iocoder.mall.promotion.api.bo.CouponCardTemplatePageBO;
import cn.iocoder.mall.promotion.api.bo.CouponCodeTemplateBO;
import cn.iocoder.mall.promotion.api.bo.CouponCodeTemplatePageBO;
import cn.iocoder.mall.promotion.api.dto.*;
public interface CouponService {
// ========== 优惠劵(码)模板 ==========
CommonResult<CouponCodeTemplatePageBO> getCouponCodeTemplatePage(CouponCodeTemplatePageDTO couponCodeTemplatePageDTO);
CommonResult<CouponCardTemplatePageBO> getCouponCardTemplatePage(CouponCardTemplatePageDTO couponCardTemplatePageDTO);
/**
* 创建优惠码模板
*
* @param couponCodeTemplateAddDTO 优惠码模板添加 DTO
* @return 优惠码模板
*/
CommonResult<CouponCodeTemplateBO> addCouponCodeTemplate(CouponCodeTemplateAddDTO couponCodeTemplateAddDTO);
/**
* 创建优惠劵模板
*
* @param couponCardTemplateAddDTO 优惠码模板添加 DTO
* @return 优惠劵模板
*/
CommonResult<CouponCodeTemplateBO> addCouponCardTemplate(CouponCardTemplateAddDTO couponCardTemplateAddDTO);
/**
* 更新优惠码模板
*
* @param couponCodeTemplateUpdateDTO 优惠码模板修改 DTO
* @return 是否成功
*/
CommonResult<Boolean> updateCouponCodeTemplate(CouponCodeTemplateUpdateDTO couponCodeTemplateUpdateDTO);
/**
* 更新优惠劵模板
*
* @param couponCardTemplateUpdateDTO 优惠劵模板修改 DTO
* @return 是否成功
*/
CommonResult<Boolean> updateCouponCardTemplate(CouponCardTemplateUpdateDTO couponCardTemplateUpdateDTO);
/**
* 更新优惠劵(码)模板的状态
*
* @param adminId 操作管理员编号
* @param couponTemplateId 模板编号
* @param status 状态
* @return 是否成功
*/
CommonResult<Boolean> updateCouponTemplateStatus(Integer adminId, Integer couponTemplateId, Integer status);
// ========== 优惠劵 ==========
/**
* 基于优惠劵模板,领取优惠劵
*
* @param userId 用户编号
* @param couponTemplateId 优惠劵模板
* @return 优惠劵
*/
CommonResult<CouponCardBO> addCouponCard(Integer userId, Integer couponTemplateId);
/**
* 使用优惠劵下单
*
* @param userId 用户编号
* @param couponCardId 优惠劵编号
* @param usedOrderId 下单的编号
* @param usedPrice 下单的价格
* @return 是否成功
*/
CommonResult<Boolean> useCouponCard(Integer userId, Integer couponCardId, Integer usedOrderId, Integer usedPrice);
/**
* 取消优惠劵的使用
*
* @param userId 用户编号
* @param couponCardId 优惠劵编号
* @return 是否成功
*/
CommonResult<Boolean> cancelUseCouponCard(Integer userId, Integer couponCardId);
// ========== 优惠码 ==========
/**
* 使用优惠码,兑换优惠劵
*
* @param userId 用户编号
* @param code 优惠码
* @return 优惠劵
*/
CommonResult<CouponCardBO> useCouponCode(Integer userId, String code);
}
package cn.iocoder.mall.promotion.api.bo;
public class CouponCardBO {
}
package cn.iocoder.mall.promotion.api.bo;
public class CouponCardTemplateBO {
}
package cn.iocoder.mall.promotion.api.bo;
public class CouponCardTemplatePageBO {
}
package cn.iocoder.mall.promotion.api.bo;
public class CouponCodeTemplateBO {
}
package cn.iocoder.mall.promotion.api.bo;
public class CouponCodeTemplatePageBO {
}
package cn.iocoder.mall.promotion.api.dto;
public class CouponCardTemplateAddDTO {
}
package cn.iocoder.mall.promotion.api.dto;
/**
* 优惠劵模板分页 DTO
*/
public class CouponCardTemplatePageDTO {
/**
* 标题
*/
private String title;
/**
* 状态
*/
private Integer status;
/**
* 优惠类型
*/
private Integer preferentialType;
}
package cn.iocoder.mall.promotion.api.dto;
public class CouponCardTemplateUpdateDTO {
}
package cn.iocoder.mall.promotion.api.dto;
public class CouponCodeTemplateAddDTO {
}
package cn.iocoder.mall.promotion.api.dto;
/**
* 优惠码模板分页 DTO
*/
public class CouponCodeTemplatePageDTO {
/**
* 标题
*/
private String title;
/**
* 状态
*/
private Integer status;
/**
* 优惠类型
*/
private Integer preferentialType;
}
package cn.iocoder.mall.promotion.api.dto;
public class CouponCodeTemplateUpdateDTO {
}
......@@ -7,7 +7,7 @@ import java.util.Date;
/**
* 优惠劵 DO
*/
public class CouponDO extends BaseDO {
public class CouponCardDO extends BaseDO {
// ========== 基本信息 BEGIN ==========
/**
......@@ -25,13 +25,9 @@ public class CouponDO extends BaseDO {
/**
* 优惠码状态
*
* 1-生效中
* 2-已失效
* 3-已过期
* 4-已删除
* 5-已使用
*
* TODO 需要讨论下
* 1-未使用
* 2-已使用
* 3-已失效
*/
private Integer status;
......@@ -103,6 +99,9 @@ public class CouponDO extends BaseDO {
* 使用时间
*/
private Date usedTime;
// TODO 芋艿,后续要加优惠劵的使用日志,因为下单后,可能会取消。
// ========== 使用情况 END ==========
}
\ No newline at end of file
}
......@@ -7,7 +7,7 @@ import java.util.Date;
/**
* 优惠劵(码)模板 DO
*
* 当用户领取时,会生成 {@link CouponDO} 优惠劵(码)。
* 当用户领取时,会生成 {@link CouponCardDO} 优惠劵(码)。
*/
public class CouponTemplateDO extends BaseDO {
......@@ -43,14 +43,11 @@ public class CouponTemplateDO extends BaseDO {
/**
* 优惠码状态
*
* 1-生效
* 2-已失效
* 1-开启
* 2-禁用中
* 3-已过期
* 4-已删除
*
* 当优惠劵(码)有效时,可以手动操作,设置成无效。
*
* TODO 需要讨论下
* 当优惠劵(码)开启中,可以手动操作,设置禁用中。
*/
private Integer status;
// /**
......@@ -61,10 +58,10 @@ public class CouponTemplateDO extends BaseDO {
* 设置为失效时间
*/
private Date invalidTime;
/**
* 删除时间
*/
private Date deleteTime;
// /**
// * 删除时间
// */
// private Date deleteTime;
/**
* 可领取的开始时间
*/
......@@ -221,4 +218,4 @@ public class CouponTemplateDO extends BaseDO {
// private Integer statUseNum;
// // ========== 统计信息 END ==========
}
\ No newline at end of file
}
package cn.iocoder.mall.promotion.biz.service;
public class CouponServiceImpl {
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论