MkShopCouponRecordService.receiveCoupon 发放券 统一方法

This commit is contained in:
2025-09-16 11:07:32 +08:00
parent d006a2dce3
commit ec1e94fdaf
4 changed files with 156 additions and 26 deletions

View File

@@ -0,0 +1,50 @@
package com.czg.market.dto;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 发放优惠券实体
* @author ww
* @description
*/
@Data
public class MkShopCouponGiftDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 店铺id
*/
private Long shopId;
/**
* 店铺用户id
*/
private Long shopUserId;
/**
* 卷Id (校验是否可用)
*/
private Long couponId;
/**
* 来源活动id
*/
private Long sourceId;
/**
* 来源记录Id
*/
private Long sourceFlowId;
/**
* 来源描述
*/
private String source;
}

View File

@@ -3,6 +3,7 @@ package com.czg.market.service;
import com.czg.account.dto.QueryReceiveDto;
import com.czg.account.vo.CouponReceiveVo;
import com.czg.account.vo.UserCouponVo;
import com.czg.market.dto.MkShopCouponGiftDTO;
import com.czg.market.dto.MkShopCouponRecordDTO;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
@@ -35,10 +36,11 @@ public interface MkShopCouponRecordService extends IService<MkShopCouponRecord>
/**
* 发放券 统一方法
*
* @param mkShopCouponRecordDTO 赠送信息 除Id外 几乎全填
* @param number 发放数量
* @param giftDTO 除 sourceFlowId 外 全必填 如果有 也
* @param number 发放数量
* @param isLimit 是否校验限领,活动与管理员添加 不计限领
*/
void receiveCoupon(MkShopCouponRecordDTO mkShopCouponRecordDTO, Integer number);
void receiveCoupon(MkShopCouponGiftDTO giftDTO, Integer number, boolean isLimit);
/**
* 用户优惠券 失效/删除

View File

@@ -8,6 +8,7 @@ import cn.hutool.core.util.StrUtil;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
* 校验工具类
@@ -17,6 +18,19 @@ import java.util.Map;
*/
public class AssertUtil {
/**
* 判断两个对象是否不相等,如果不相等则抛出异常
* @param a 实际值
* @param b 期望值
* @param message 异常消息
*/
public static void isNotEqual(Object a, Object b, String message) {
// 如果实际值与期望值不相等,则抛出异常
if (!Objects.equals(a, b)) {
throw new ValidateException(message);
}
}
/**
* 检查字符串是否不为空或空白字符,如果为空或空白字符则抛出异常
*