后端:优惠劵 rpc api 的设计

This commit is contained in:
YunaiV 2019-04-02 19:50:28 +08:00
parent ffb0087ca6
commit 243e976e85
15 changed files with 202 additions and 21 deletions

View File

@ -0,0 +1,102 @@
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);
}

View File

@ -0,0 +1,4 @@
package cn.iocoder.mall.promotion.api.bo;
public class CouponCardBO {
}

View File

@ -0,0 +1,4 @@
package cn.iocoder.mall.promotion.api.bo;
public class CouponCardTemplateBO {
}

View File

@ -0,0 +1,5 @@
package cn.iocoder.mall.promotion.api.bo;
public class CouponCardTemplatePageBO {
}

View File

@ -0,0 +1,4 @@
package cn.iocoder.mall.promotion.api.bo;
public class CouponCodeTemplateBO {
}

View File

@ -0,0 +1,4 @@
package cn.iocoder.mall.promotion.api.bo;
public class CouponCodeTemplatePageBO {
}

View File

@ -0,0 +1,4 @@
package cn.iocoder.mall.promotion.api.dto;
public class CouponCardTemplateAddDTO {
}

View File

@ -0,0 +1,21 @@
package cn.iocoder.mall.promotion.api.dto;
/**
* 优惠劵模板分页 DTO
*/
public class CouponCardTemplatePageDTO {
/**
* 标题
*/
private String title;
/**
* 状态
*/
private Integer status;
/**
* 优惠类型
*/
private Integer preferentialType;
}

View File

@ -0,0 +1,4 @@
package cn.iocoder.mall.promotion.api.dto;
public class CouponCardTemplateUpdateDTO {
}

View File

@ -0,0 +1,4 @@
package cn.iocoder.mall.promotion.api.dto;
public class CouponCodeTemplateAddDTO {
}

View File

@ -0,0 +1,21 @@
package cn.iocoder.mall.promotion.api.dto;
/**
* 优惠码模板分页 DTO
*/
public class CouponCodeTemplatePageDTO {
/**
* 标题
*/
private String title;
/**
* 状态
*/
private Integer status;
/**
* 优惠类型
*/
private Integer preferentialType;
}

View File

@ -0,0 +1,4 @@
package cn.iocoder.mall.promotion.api.dto;
public class CouponCodeTemplateUpdateDTO {
}

View File

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

View 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;
/**
* 可领取的开始时间
*/

View File

@ -0,0 +1,4 @@
package cn.iocoder.mall.promotion.biz.service;
public class CouponServiceImpl {
}