fix: 过滤订单售后状态(砍价、积分、赠品订单不可进行售后)
This commit is contained in:
parent
076f47f5c4
commit
d349616957
@ -1,6 +1,8 @@
|
|||||||
package cn.lili.common.enums;
|
package cn.lili.common.enums;
|
||||||
|
|
||||||
|
|
||||||
|
import java.util.EnumSet;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 促销分类枚举
|
* 促销分类枚举
|
||||||
*
|
*
|
||||||
@ -52,4 +54,13 @@ public enum PromotionTypeEnum {
|
|||||||
return description;
|
return description;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 判断订单类型是否可售后
|
||||||
|
* POINTS\KANJIA 三种促销类型的订单不可进行售后
|
||||||
|
* @return true 不可售后 false 可售后
|
||||||
|
*/
|
||||||
|
public static boolean isAfterSale(String promotionType) {
|
||||||
|
EnumSet<PromotionTypeEnum> noAfterSale = EnumSet.of(PromotionTypeEnum.KANJIA, PromotionTypeEnum.POINTS_GOODS);
|
||||||
|
return noAfterSale.contains(PromotionTypeEnum.valueOf(promotionType));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@ package cn.lili.modules.order.order.entity.dos;
|
|||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
|
import cn.lili.common.enums.PromotionTypeEnum;
|
||||||
import cn.lili.common.utils.BeanUtil;
|
import cn.lili.common.utils.BeanUtil;
|
||||||
import cn.lili.common.utils.SnowFlake;
|
import cn.lili.common.utils.SnowFlake;
|
||||||
import cn.lili.modules.order.cart.entity.dto.TradeDTO;
|
import cn.lili.modules.order.cart.entity.dto.TradeDTO;
|
||||||
@ -187,4 +188,10 @@ public class OrderItem extends BaseEntity {
|
|||||||
this.priceDetail = JSONUtil.toJsonStr(priceDetail);
|
this.priceDetail = JSONUtil.toJsonStr(priceDetail);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getAfterSaleStatus() {
|
||||||
|
if (PromotionTypeEnum.isAfterSale(this.getPromotionType())) {
|
||||||
|
return OrderItemAfterSaleStatusEnum.EXPIRED.name();
|
||||||
|
}
|
||||||
|
return afterSaleStatus;
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,5 +1,7 @@
|
|||||||
package cn.lili.modules.order.order.entity.enums;
|
package cn.lili.modules.order.order.entity.enums;
|
||||||
|
|
||||||
|
import java.util.EnumSet;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单促销类型枚举
|
* 订单促销类型枚举
|
||||||
*
|
*
|
||||||
@ -27,6 +29,15 @@ public enum OrderPromotionTypeEnum {
|
|||||||
/**
|
/**
|
||||||
* 砍价订单
|
* 砍价订单
|
||||||
*/
|
*/
|
||||||
KANJIA
|
KANJIA;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 判断订单类型是否可售后
|
||||||
|
* GIFT\POINTS\KANJIA 三种促销类型的订单不可进行售后
|
||||||
|
* @return true 不可售后 false 可售后
|
||||||
|
*/
|
||||||
|
public static boolean isAfterSale(String orderPromotionType) {
|
||||||
|
EnumSet<OrderPromotionTypeEnum> noAfterSale = EnumSet.of(OrderPromotionTypeEnum.GIFT, OrderPromotionTypeEnum.POINTS, OrderPromotionTypeEnum.KANJIA);
|
||||||
|
return noAfterSale.contains(OrderPromotionTypeEnum.valueOf(orderPromotionType));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,8 @@ import cn.hutool.core.text.CharSequenceUtil;
|
|||||||
import cn.lili.common.enums.ClientTypeEnum;
|
import cn.lili.common.enums.ClientTypeEnum;
|
||||||
import cn.lili.common.security.sensitive.Sensitive;
|
import cn.lili.common.security.sensitive.Sensitive;
|
||||||
import cn.lili.common.security.sensitive.enums.SensitiveStrategy;
|
import cn.lili.common.security.sensitive.enums.SensitiveStrategy;
|
||||||
|
import cn.lili.modules.order.order.entity.enums.OrderItemAfterSaleStatusEnum;
|
||||||
|
import cn.lili.modules.order.order.entity.enums.OrderPromotionTypeEnum;
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@ -186,8 +188,12 @@ public class OrderSimpleVO {
|
|||||||
orderItemVO.setImage(groupImages.split(",")[i]);
|
orderItemVO.setImage(groupImages.split(",")[i]);
|
||||||
}
|
}
|
||||||
if (CharSequenceUtil.isNotEmpty(groupAfterSaleStatus) && groupAfterSaleStatus.split(",").length == groupGoodsId.split(",").length) {
|
if (CharSequenceUtil.isNotEmpty(groupAfterSaleStatus) && groupAfterSaleStatus.split(",").length == groupGoodsId.split(",").length) {
|
||||||
|
if (OrderPromotionTypeEnum.isAfterSale(this.orderPromotionType)) {
|
||||||
|
orderItemVO.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.EXPIRED.name());
|
||||||
|
} else {
|
||||||
orderItemVO.setAfterSaleStatus(groupAfterSaleStatus.split(",")[i]);
|
orderItemVO.setAfterSaleStatus(groupAfterSaleStatus.split(",")[i]);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (CharSequenceUtil.isNotEmpty(groupComplainStatus) && groupComplainStatus.split(",").length == groupGoodsId.split(",").length) {
|
if (CharSequenceUtil.isNotEmpty(groupComplainStatus) && groupComplainStatus.split(",").length == groupGoodsId.split(",").length) {
|
||||||
orderItemVO.setComplainStatus(groupComplainStatus.split(",")[i]);
|
orderItemVO.setComplainStatus(groupComplainStatus.split(",")[i]);
|
||||||
}
|
}
|
||||||
@ -214,5 +220,11 @@ public class OrderSimpleVO {
|
|||||||
return new AllowOperation(this);
|
return new AllowOperation(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getGroupAfterSaleStatus() {
|
||||||
|
// 不可售后的订单类型集合
|
||||||
|
if (OrderPromotionTypeEnum.isAfterSale(this.orderPromotionType)) {
|
||||||
|
return OrderItemAfterSaleStatusEnum.EXPIRED.name();
|
||||||
|
}
|
||||||
|
return groupAfterSaleStatus;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user