记得上下班打卡 | git大法好,push需谨慎

Commit c1a197e4 authored by 胡佳晨's avatar 胡佳晨

提交 apimodel 文档

parent b39fe7da
package com.liquidnet.service.candy.vo; package com.liquidnet.service.candy.vo;
import com.liquidnet.service.candy.dto.CandyCouponRuleDto; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
@Data @Data
@ApiModel
public class CandyCouponRulesVo implements Serializable,Cloneable { public class CandyCouponRulesVo implements Serializable,Cloneable {
private static final long serialVersionUID = 4073256621782131607L; private static final long serialVersionUID = 4073256621782131607L;
@ApiModelProperty(value = "适用范围[100-全场|90-演出|91-场次|92-票|80-商品|81-款式]",example = "90")
private Integer useScope; private Integer useScope;
@ApiModelProperty(value = "适用名称",example = "北京草莓")
private String busiName; private String busiName;
@ApiModelProperty(value = "适用ID",example = "1")
private String busiId; private String busiId;
private static final CandyCouponRulesVo obj = new CandyCouponRulesVo(); private static final CandyCouponRulesVo obj = new CandyCouponRulesVo();
......
package com.liquidnet.service.candy.vo; package com.liquidnet.service.candy.vo;
import com.liquidnet.service.candy.dto.CandyCouponRuleDto; import com.liquidnet.service.candy.dto.CandyCouponRuleDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import org.apache.commons.lang3.ObjectUtils;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
...@@ -9,36 +12,53 @@ import java.time.LocalDateTime; ...@@ -9,36 +12,53 @@ import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@Data @Data
public class CandyCouponVo implements Serializable,Cloneable { @ApiModel
public class CandyCouponVo implements Serializable, Cloneable {
private static final long serialVersionUID = 4073256621782131606L; private static final long serialVersionUID = 4073256621782131606L;
/* --- --- --- CandyCoupon */ /* --- --- --- CandyCoupon */
private String title;//标题 @ApiModelProperty(value = "标题",example = "标题")
private String label;//标注 private String title;
private String notice;//须知 @ApiModelProperty(value = "标注",example = "标注")
// private Integer exclusive;//专享标识[0-常规|1-会员礼包] private String label;
// private Integer busiType;//业务类别[0-全场|1-演出|2-商品|3-优先购] @ApiModelProperty(value = "须知",example = "须知")
private Integer couType;//券类型[1-代金券|2-满减券|3-兑换券|4-折扣券] private String notice;
private Integer bindType;//[0-用户输入兑换|1-发放至用户] // private Integer exclusive;//专享标识[0-常规|1-会员礼包]
private BigDecimal discount;//折扣 @ApiModelProperty(value = "业务类别[0-全场|1-演出|2-商品|3-优先购]",example = "0")
private BigDecimal valFace;//面值 private Integer busiType;
private BigDecimal valOver;//满减~满 @ApiModelProperty(value = "券类型[1-代金券|2-满减券|3-兑换券|4-折扣券]",example = "1")
private BigDecimal valMinus;//满减~减少 private Integer couType;
private String expireAt;//过期时间 @ApiModelProperty(value = "[0-用户输入兑换|1-发放至用户]",example = "1")
private Integer bindType;
@ApiModelProperty(value = "折扣 可null",example = "0.5")
private BigDecimal discount;
@ApiModelProperty(value = "面值 可null",example = "1")
private BigDecimal valFace;
@ApiModelProperty(value = "满减~满 可null",example = "100")
private BigDecimal valOver;
@ApiModelProperty(value = "满减~减少 可null",example = "5")
private BigDecimal valMinus;
@ApiModelProperty(value = "过期时间 可null",example = "2021-09-25")
private String expireAt;
/* --- --- --- CandyUserCoupon */ /* --- --- --- CandyUserCoupon */
private String ucouponId;//券id @ApiModelProperty(value = "券id",example = "6d74a49d3d1d13f96ba09215abcc49af")
private Integer state;//券状态[1-可用|2-无效|3-已过期|5-已使用 |21-不可用] private String ucouponId;
// private String bindAt;//激活时间 @ApiModelProperty(value = "券状态[1-可用|2-无效|3-已过期|5-已使用 |21-不可用]",example = "1")
private String usedAt;//使用时间 private Integer state;
private String usedFor;//购买内容 // private String bindAt;//激活时间
@ApiModelProperty(value = "使用时间 可null",example = "2021-09-25")
private String usedAt;
@ApiModelProperty(value = "购买内容 可null",example = "北京草莓")
private String usedFor;
/* --- --- --- CandyCouponRule */ /* --- --- --- CandyCouponRule */
private List<CandyCouponRulesVo> useRules; private List<CandyCouponRulesVo> useRules;
private static final CandyCouponVo obj = new CandyCouponVo(); private static final CandyCouponVo obj = new CandyCouponVo();
public static CandyCouponVo getNew() { public static CandyCouponVo getNew() {
try { try {
return (CandyCouponVo) obj.clone(); return (CandyCouponVo) obj.clone();
......
package com.liquidnet.service.candy.vo; package com.liquidnet.service.candy.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
@Data @Data
@ApiModel
public class CandyMyCouponListVo implements Serializable, Cloneable { public class CandyMyCouponListVo implements Serializable, Cloneable {
private static final long serialVersionUID = 4073256621782131607L; private static final long serialVersionUID = 4073256621782131607L;
@ApiModelProperty(value = "会员券")
private List<CandyCouponVo> memberCoupon; private List<CandyCouponVo> memberCoupon;
@ApiModelProperty(value = "我的券")
private List<CandyCouponVo> myCoupon; private List<CandyCouponVo> myCoupon;
private static final CandyMyCouponListVo obj = new CandyMyCouponListVo(); private static final CandyMyCouponListVo obj = new CandyMyCouponListVo();
......
package com.liquidnet.service.candy.vo; package com.liquidnet.service.candy.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
...@@ -7,11 +9,13 @@ import java.math.BigDecimal; ...@@ -7,11 +9,13 @@ import java.math.BigDecimal;
import java.util.List; import java.util.List;
@Data @Data
@ApiModel
public class CandyUseResultVo implements Serializable, Cloneable { public class CandyUseResultVo implements Serializable, Cloneable {
private static final long serialVersionUID = 4073256621782131607L; private static final long serialVersionUID = 4073256621782131607L;
@ApiModelProperty(value = "优惠内容",example = "1")
private BigDecimal value; private BigDecimal value;
@ApiModelProperty(value = "券类型[1-代金券|2-满减券|3-兑换券|4-折扣券]",example = "1")
private Integer couType; private Integer couType;
private static final CandyUseResultVo obj = new CandyUseResultVo(); private static final CandyUseResultVo obj = new CandyUseResultVo();
......
package com.liquidnet.service.candy.config;
import com.liquidnet.common.web.config.WebMvcConfig;
import com.liquidnet.common.web.filter.GlobalAuthorityInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
@Configuration
public class CandyWebMvcConfig extends WebMvcConfig {
@Autowired
GlobalAuthorityInterceptor globalAuthorityInterceptor;
@Override
protected void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(globalAuthorityInterceptor).addPathPatterns("/**");
super.addInterceptors(registry);
}
}
...@@ -26,7 +26,7 @@ import java.util.List; ...@@ -26,7 +26,7 @@ import java.util.List;
* @author liquidnet * @author liquidnet
* @since 2021-08-18 * @since 2021-08-18
*/ */
@Api("券相关接口") @Api(tags = "券相关接口")
@RestController @RestController
@RequestMapping("/candy-coupon") @RequestMapping("/candy-coupon")
public class CandyCouponController { public class CandyCouponController {
......
package com.liquidnet.service.candy.service.impl; package com.liquidnet.service.candy.service.impl;
import com.liquidnet.service.candy.entity.CandyCouponCode;
import com.liquidnet.service.candy.mapper.CandyCouponCodeMapper;
import com.liquidnet.service.candy.service.ICandyCouponCodeService; import com.liquidnet.service.candy.service.ICandyCouponCodeService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
......
package com.liquidnet.service.candy.service.impl; package com.liquidnet.service.candy.service.impl;
import com.liquidnet.service.candy.entity.CandyCouponRule;
import com.liquidnet.service.candy.mapper.CandyCouponRuleMapper;
import com.liquidnet.service.candy.service.ICandyCouponRuleService; import com.liquidnet.service.candy.service.ICandyCouponRuleService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
......
package com.liquidnet.service.candy.service.impl; package com.liquidnet.service.candy.service.impl;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.CurrentUtil; import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping; import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst; import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.candy.dto.CandyCouponCodeDto; import com.liquidnet.service.candy.dto.CandyCouponCodeDto;
import com.liquidnet.service.candy.dto.CandyCouponInfoDto; import com.liquidnet.service.candy.dto.CandyCouponInfoDto;
import com.liquidnet.service.candy.dto.CandyUserCouponBasicDto; import com.liquidnet.service.candy.dto.CandyUserCouponBasicDto;
import com.liquidnet.service.candy.entity.CandyCoupon;
import com.liquidnet.service.candy.mapper.CandyCouponMapper;
import com.liquidnet.service.candy.service.ICandyCouponService; import com.liquidnet.service.candy.service.ICandyCouponService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.service.candy.util.CouponBaseUtil; import com.liquidnet.service.candy.util.CouponBaseUtil;
import com.liquidnet.service.candy.util.ObjectUtil; import com.liquidnet.service.candy.util.ObjectUtil;
import com.liquidnet.service.candy.util.QueueUtils; import com.liquidnet.service.candy.util.QueueUtils;
...@@ -26,7 +21,6 @@ import org.springframework.stereotype.Service; ...@@ -26,7 +21,6 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Comparator; import java.util.Comparator;
import java.util.HashMap;
import java.util.List; import java.util.List;
/** /**
......
package com.liquidnet.service.candy.service.impl; package com.liquidnet.service.candy.service.impl;
import com.liquidnet.service.candy.entity.CandyMgtCoupon;
import com.liquidnet.service.candy.mapper.CandyMgtCouponMapper;
import com.liquidnet.service.candy.service.ICandyMgtCouponService; import com.liquidnet.service.candy.service.ICandyMgtCouponService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
......
package com.liquidnet.service.candy.service.impl; package com.liquidnet.service.candy.service.impl;
import com.liquidnet.service.candy.entity.CandyUserCoupon;
import com.liquidnet.service.candy.mapper.CandyUserCouponMapper;
import com.liquidnet.service.candy.service.ICandyUserCouponService; import com.liquidnet.service.candy.service.ICandyUserCouponService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
......
...@@ -28,6 +28,7 @@ public class CouponBaseUtil { ...@@ -28,6 +28,7 @@ public class CouponBaseUtil {
vo.setTitle(dtoItem.getTitle()); vo.setTitle(dtoItem.getTitle());
vo.setExpireAt(DateUtil.format(dtoItem.getExpireAt(), DateUtil.Formatter.yyyy_MM_dd)); vo.setExpireAt(DateUtil.format(dtoItem.getExpireAt(), DateUtil.Formatter.yyyy_MM_dd));
vo.setValFace(dtoItem.getValFace()); vo.setValFace(dtoItem.getValFace());
vo.setBusiType(dtoItem.getBusiType());
vo.setValOver(dtoItem.getValOver()); vo.setValOver(dtoItem.getValOver());
vo.setValMinus(dtoItem.getValMinus()); vo.setValMinus(dtoItem.getValMinus());
vo.setBindType(dtoItem.getBindType()); vo.setBindType(dtoItem.getBindType());
...@@ -82,25 +83,29 @@ public class CouponBaseUtil { ...@@ -82,25 +83,29 @@ public class CouponBaseUtil {
vo.setUsedAt(DateUtil.format(dtoItem.getUsedAt(), DateUtil.Formatter.yyyy_MM_dd)); vo.setUsedAt(DateUtil.format(dtoItem.getUsedAt(), DateUtil.Formatter.yyyy_MM_dd));
vo.setUsedFor(dtoItem.getUsedFor()); vo.setUsedFor(dtoItem.getUsedFor());
//适用范围 规则 //适用范围 规则
for (CandyCouponRuleDto ruleItem : dtoItem.getUseRules()) { if (dtoItem.getUseRules() == null && dtoItem.getBusiType().equals(1)) {
CandyCouponRulesVo voRules = CandyCouponRulesVo.getNew(); isTarget = true;
voRules.setUseScope(ruleItem.getUseScope()); } else {
voRules.setBusiId(ruleItem.getBusiId()); for (CandyCouponRuleDto ruleItem : dtoItem.getUseRules()) {
voRules.setBusiName(ruleItem.getBusiName()); CandyCouponRulesVo voRules = CandyCouponRulesVo.getNew();
rulesVoList.add(voRules); voRules.setUseScope(ruleItem.getUseScope());
switch (ruleItem.getUseScope()) { voRules.setBusiId(ruleItem.getBusiId());
case 90://演出 voRules.setBusiName(ruleItem.getBusiName());
isTarget = isTargetCoupon(ruleItem.getBusiId(), dtoItem.getCouType(), performanceId, priceTotal, dtoItem.getValOver()); rulesVoList.add(voRules);
break; switch (ruleItem.getUseScope()) {
case 91://场次 case 90://演出
isTarget = isTargetCoupon(ruleItem.getBusiId(), dtoItem.getCouType(), timeId, priceTotal, dtoItem.getValOver()); isTarget = isTargetCoupon(ruleItem.getBusiId(), dtoItem.getCouType(), performanceId, priceTotal, dtoItem.getValOver());
break; break;
case 92://票 case 91://场次
isTarget = isTargetCoupon(ruleItem.getBusiId(), dtoItem.getCouType(), ticketId, priceTotal, dtoItem.getValOver()); isTarget = isTargetCoupon(ruleItem.getBusiId(), dtoItem.getCouType(), timeId, priceTotal, dtoItem.getValOver());
break; break;
default: case 92://票
isTarget = false; isTarget = isTargetCoupon(ruleItem.getBusiId(), dtoItem.getCouType(), ticketId, priceTotal, dtoItem.getValOver());
break; break;
default:
isTarget = false;
break;
}
} }
} }
//券类别 //券类别
...@@ -145,22 +150,26 @@ public class CouponBaseUtil { ...@@ -145,22 +150,26 @@ public class CouponBaseUtil {
vo.setUsedAt(DateUtil.format(dtoItem.getUsedAt(), DateUtil.Formatter.yyyy_MM_dd)); vo.setUsedAt(DateUtil.format(dtoItem.getUsedAt(), DateUtil.Formatter.yyyy_MM_dd));
vo.setUsedFor(dtoItem.getUsedFor()); vo.setUsedFor(dtoItem.getUsedFor());
//适用范围 规则 //适用范围 规则
for (CandyCouponRuleDto ruleItem : dtoItem.getUseRules()) { if (dtoItem.getUseRules() == null && dtoItem.getBusiType().equals(1)) {
CandyCouponRulesVo voRules = CandyCouponRulesVo.getNew(); isTarget = true;
voRules.setUseScope(ruleItem.getUseScope()); } else {
voRules.setBusiId(ruleItem.getBusiId()); for (CandyCouponRuleDto ruleItem : dtoItem.getUseRules()) {
voRules.setBusiName(ruleItem.getBusiName()); CandyCouponRulesVo voRules = CandyCouponRulesVo.getNew();
rulesVoList.add(voRules); voRules.setUseScope(ruleItem.getUseScope());
switch (ruleItem.getUseScope()) { voRules.setBusiId(ruleItem.getBusiId());
case 80://商品 voRules.setBusiName(ruleItem.getBusiName());
isTarget = isTargetCoupon(ruleItem.getBusiId(), dtoItem.getCouType(), goodId, priceTotal, dtoItem.getValOver()); rulesVoList.add(voRules);
break; switch (ruleItem.getUseScope()) {
case 81://款式 case 80://商品
isTarget = isTargetCoupon(ruleItem.getBusiId(), dtoItem.getCouType(), produceId, priceTotal, dtoItem.getValOver()); isTarget = isTargetCoupon(ruleItem.getBusiId(), dtoItem.getCouType(), goodId, priceTotal, dtoItem.getValOver());
break; break;
default: case 81://款式
isTarget = false; isTarget = isTargetCoupon(ruleItem.getBusiId(), dtoItem.getCouType(), produceId, priceTotal, dtoItem.getValOver());
break; break;
default:
isTarget = false;
break;
}
} }
} }
//券类别 //券类别
...@@ -250,7 +259,7 @@ public class CouponBaseUtil { ...@@ -250,7 +259,7 @@ public class CouponBaseUtil {
* @param uCouponId 券唯一id * @param uCouponId 券唯一id
* @return List<CandyUserCouponBasicDto> * @return List<CandyUserCouponBasicDto>
*/ */
public static List<CandyUserCouponBasicDto> useCoupon(List<CandyUserCouponBasicDto> dtoList, String uCouponId,String content) { public static List<CandyUserCouponBasicDto> useCoupon(List<CandyUserCouponBasicDto> dtoList, String uCouponId, String content) {
boolean isHas = false; boolean isHas = false;
for (CandyUserCouponBasicDto dtoItem : dtoList) { for (CandyUserCouponBasicDto dtoItem : dtoList) {
if (dtoItem.getUcouponId().equals(uCouponId)) { if (dtoItem.getUcouponId().equals(uCouponId)) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment