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

Commit 5d43bf9a authored by zhangguobing's avatar zhangguobing

~api:券商品业务-完善申请退款处理;

parent a5cb6e4a
package com.liquidnet.service.goblin.dto.vo; package com.liquidnet.service.goblin.dto.vo;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
...@@ -17,6 +18,7 @@ import java.math.BigDecimal; ...@@ -17,6 +18,7 @@ import java.math.BigDecimal;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@JsonIgnoreProperties(ignoreUnknown = true)
public class GoblinBackOrderSkuVo implements Serializable,Cloneable { public class GoblinBackOrderSkuVo implements Serializable,Cloneable {
@ApiModelProperty(value = "orderSkuId") @ApiModelProperty(value = "orderSkuId")
...@@ -42,6 +44,9 @@ public class GoblinBackOrderSkuVo implements Serializable,Cloneable { ...@@ -42,6 +44,9 @@ public class GoblinBackOrderSkuVo implements Serializable,Cloneable {
@ApiModelProperty(value = "创建时间") @ApiModelProperty(value = "创建时间")
private String createdAt; private String createdAt;
@ApiModelProperty(value = "商品类型[0-常规|1-数字藏品|2-券类商品]")
private int skuType;
private static final GoblinBackOrderSkuVo obj = new GoblinBackOrderSkuVo(); private static final GoblinBackOrderSkuVo obj = new GoblinBackOrderSkuVo();
public static GoblinBackOrderSkuVo getNew() { public static GoblinBackOrderSkuVo getNew() {
......
...@@ -37,7 +37,7 @@ public class CandyUserCouponAssocDto implements Serializable, Cloneable { ...@@ -37,7 +37,7 @@ public class CandyUserCouponAssocDto implements Serializable, Cloneable {
if (null == userCouponAssoc) return this; if (null == userCouponAssoc) return this;
this.setIdType(userCouponAssoc.getIdType()); this.setIdType(userCouponAssoc.getIdType());
this.setIdName(userCouponAssoc.getIdName()); this.setIdName(userCouponAssoc.getIdName());
this.setIdName(userCouponAssoc.getIdNo()); this.setIdNo(userCouponAssoc.getIdNo());
return this; return this;
} }
} }
...@@ -331,6 +331,13 @@ public class GoblinOrderAppServiceImpl implements IGoblinOrderAppService { ...@@ -331,6 +331,13 @@ public class GoblinOrderAppServiceImpl implements IGoblinOrderAppService {
} else if (orderVo.getStatus() == GoblinStatusConst.Status.ORDER_STATUS_4.getValue()) { } else if (orderVo.getStatus() == GoblinStatusConst.Status.ORDER_STATUS_4.getValue()) {
if (param.getOrderSkuId() != null) { if (param.getOrderSkuId() != null) {
GoblinOrderSkuVo orderSkuVo = redisUtils.getGoblinOrderSkuVo(param.getOrderSkuId()); GoblinOrderSkuVo orderSkuVo = redisUtils.getGoblinOrderSkuVo(param.getOrderSkuId());
if (2 == orderSkuVo.getSkuType()) {// 券类商品-校验发放的券是否已使用
List<GoblinUserCouponVo> userCouponVos = redisUtils.getUserCouponVos(orderVo.getUserId());// 券类商品默认一个商品对应一个券,下单只可购买一张
GoblinUserCouponVo userCouponVo = userCouponVos.stream().filter(c -> c.getUcouponId().equals(orderSkuVo.getOrderSkuId())).findAny().orElse(null);
if (null != userCouponVo && 5 == userCouponVo.getState()) {// 券状态为'5-已使用',则不可申请退款
return ResponseDto.failure("券已使用,不可申请");
}
}
//订单款式状态修改 //订单款式状态修改
orderSkuVo.setStatus(GoblinStatusConst.Status.ORDER_STATUS_61.getValue()); orderSkuVo.setStatus(GoblinStatusConst.Status.ORDER_STATUS_61.getValue());
GoblinBackOrderSkuVo backOrderSkuVo = GoblinBackOrderSkuVo.getNew(); GoblinBackOrderSkuVo backOrderSkuVo = GoblinBackOrderSkuVo.getNew();
...@@ -343,6 +350,7 @@ public class GoblinOrderAppServiceImpl implements IGoblinOrderAppService { ...@@ -343,6 +350,7 @@ public class GoblinOrderAppServiceImpl implements IGoblinOrderAppService {
backOrderSkuVo.setRefundPrice(orderSkuVo.getSkuPriceActual()); backOrderSkuVo.setRefundPrice(orderSkuVo.getSkuPriceActual());
backOrderSkuVo.setSkuSpecs(orderSkuVo.getSkuSpecs()); backOrderSkuVo.setSkuSpecs(orderSkuVo.getSkuSpecs());
backOrderSkuVo.setCreatedAt(nowStr); backOrderSkuVo.setCreatedAt(nowStr);
backOrderSkuVo.setSkuType(orderSkuVo.getSkuType());
orderSkuVoList.add(backOrderSkuVo); orderSkuVoList.add(backOrderSkuVo);
backOrderLog(orderVo, orderSkuVo, now); backOrderLog(orderVo, orderSkuVo, now);
//redis //redis
...@@ -357,6 +365,13 @@ public class GoblinOrderAppServiceImpl implements IGoblinOrderAppService { ...@@ -357,6 +365,13 @@ public class GoblinOrderAppServiceImpl implements IGoblinOrderAppService {
for (String orderSkuId : orderVo.getOrderSkuVoIds()) { for (String orderSkuId : orderVo.getOrderSkuVoIds()) {
//订单款式状态修改 //订单款式状态修改
GoblinOrderSkuVo orderSkuVo = redisUtils.getGoblinOrderSkuVo(orderSkuId); GoblinOrderSkuVo orderSkuVo = redisUtils.getGoblinOrderSkuVo(orderSkuId);
if (2 == orderSkuVo.getSkuType()) {// 券类商品-校验发放的券是否已使用
List<GoblinUserCouponVo> userCouponVos = redisUtils.getUserCouponVos(orderVo.getUserId());// 券类商品默认一个商品对应一个券,下单只可购买一张
GoblinUserCouponVo userCouponVo = userCouponVos.stream().filter(c -> c.getUcouponId().equals(orderSkuVo.getOrderSkuId())).findAny().orElse(null);
if (null != userCouponVo && 5 == userCouponVo.getState()) {// 券状态为'5-已使用',则不可申请退款
return ResponseDto.failure("券已使用,不可申请");
}
}
orderSkuVo.setStatus(GoblinStatusConst.Status.ORDER_STATUS_61.getValue()); orderSkuVo.setStatus(GoblinStatusConst.Status.ORDER_STATUS_61.getValue());
GoblinBackOrderSkuVo backOrderSkuVo = GoblinBackOrderSkuVo.getNew(); GoblinBackOrderSkuVo backOrderSkuVo = GoblinBackOrderSkuVo.getNew();
backOrderSkuVo.setOrderSkuId(orderSkuId); backOrderSkuVo.setOrderSkuId(orderSkuId);
...@@ -368,6 +383,7 @@ public class GoblinOrderAppServiceImpl implements IGoblinOrderAppService { ...@@ -368,6 +383,7 @@ public class GoblinOrderAppServiceImpl implements IGoblinOrderAppService {
backOrderSkuVo.setSkuPic(orderSkuVo.getSkuImage()); backOrderSkuVo.setSkuPic(orderSkuVo.getSkuImage());
backOrderSkuVo.setRefundPrice(orderSkuVo.getSkuPriceActual()); backOrderSkuVo.setRefundPrice(orderSkuVo.getSkuPriceActual());
backOrderSkuVo.setCreatedAt(nowStr); backOrderSkuVo.setCreatedAt(nowStr);
backOrderSkuVo.setSkuType(orderSkuVo.getSkuType());
orderSkuVoList.add(backOrderSkuVo); orderSkuVoList.add(backOrderSkuVo);
backOrderLog(orderVo, orderSkuVo, now); backOrderLog(orderVo, orderSkuVo, now);
//redis //redis
......
...@@ -162,6 +162,18 @@ public class GoblinStoreBackOrderServiceImpl implements IGoblinStoreBackOrderSer ...@@ -162,6 +162,18 @@ public class GoblinStoreBackOrderServiceImpl implements IGoblinStoreBackOrderSer
if(backOrderVo.getStatus().equals(GoblinStatusConst.Status.ORDER_BACK_STATUS_0.getValue())){ if(backOrderVo.getStatus().equals(GoblinStatusConst.Status.ORDER_BACK_STATUS_0.getValue())){
return ResponseDto.failure("已经发起"); return ResponseDto.failure("已经发起");
} }
{// 券类商品-校验发放的券是否已使用
List<GoblinBackOrderSkuVo> backOrderSkuVos = backOrderVo.getBackOrderSkuVos();
for (GoblinBackOrderSkuVo backOrderSkuVo : backOrderSkuVos) {
if (2 == backOrderSkuVo.getSkuType()) {
List<GoblinUserCouponVo> userCouponVos = redisUtils.getUserCouponVos(backOrderVo.getUserId());// 券类商品默认一个商品对应一个券,下单只可购买一张
GoblinUserCouponVo userCouponVo = userCouponVos.stream().filter(c -> c.getUcouponId().equals(backOrderSkuVo.getOrderSkuId())).findAny().orElse(null);
if (null != userCouponVo && 5 == userCouponVo.getState()) {// 券状态为'5-已使用',则不可退款
return ResponseDto.failure("券已使用,不可退款");
}
}
}
}
backOrderVo.setStatus(GoblinStatusConst.Status.ORDER_BACK_STATUS_0.getValue()); backOrderVo.setStatus(GoblinStatusConst.Status.ORDER_BACK_STATUS_0.getValue());
backOrderVo.setAuditAt(nowStr); backOrderVo.setAuditAt(nowStr);
//添加日志 //添加日志
......
...@@ -937,7 +937,7 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService { ...@@ -937,7 +937,7 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
if (2 == orderSkuVo.getSkuType()) {// 判定券类商品时,直接设置状态为已完成 if (2 == orderSkuVo.getSkuType()) {// 判定券类商品时,直接设置状态为已完成
storeOrder.setStatus(GoblinStatusConst.Status.ORDER_STATUS_4.getValue()); storeOrder.setStatus(GoblinStatusConst.Status.ORDER_STATUS_4.getValue());
orderSkuVo.setStatus(GoblinStatusConst.Status.ORDER_STATUS_4.getValue()); orderSkuVo.setStatus(GoblinStatusConst.Status.ORDER_STATUS_4.getValue());
// 券类商品创建发放券任务 // 券类商品创建发放券任务,券类商品默认一个商品对应一个券,下单只可购买一张
initCandyMgtCouponObjs.add(new Object[]{orderSkuVo.getOrderSkuId(), orderSkuVo.getSkuId(), initCandyMgtCouponObjs.add(new Object[]{orderSkuVo.getOrderSkuId(), orderSkuVo.getSkuId(),
orderVo.getUserMobile(), now, CandyRedisConst.OPERATOR_MGT_COUPON_BY_SKU, now}); orderVo.getUserMobile(), now, CandyRedisConst.OPERATOR_MGT_COUPON_BY_SKU, now});
} else { } else {
......
...@@ -363,7 +363,7 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C ...@@ -363,7 +363,7 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C
GoblinOrderSkuVo goblinOrderSkuVo = (GoblinOrderSkuVo) redisGoblinUtil.get(GoblinRedisConst.REDIS_GOBLIN_ORDER_SKU.concat(mgtCoupon.getMcouponId())); GoblinOrderSkuVo goblinOrderSkuVo = (GoblinOrderSkuVo) redisGoblinUtil.get(GoblinRedisConst.REDIS_GOBLIN_ORDER_SKU.concat(mgtCoupon.getMcouponId()));
if (!Objects.isNull(goblinOrderSkuVo)) { if (!Objects.isNull(goblinOrderSkuVo)) {
CandyUserCouponAssoc userCouponAssoc = new CandyUserCouponAssoc(); CandyUserCouponAssoc userCouponAssoc = new CandyUserCouponAssoc();
userCoupon.setUcouponId(mcouponId); userCoupon.setUcouponId(mcouponId);// 券类商品默认一个商品对应一个券,下单只可购买一张
userCouponAssoc.setUcouponId(userCoupon.getUcouponId()); userCouponAssoc.setUcouponId(userCoupon.getUcouponId());
userCouponAssoc.setIdType(goblinOrderSkuVo.getIdType()); userCouponAssoc.setIdType(goblinOrderSkuVo.getIdType());
userCouponAssoc.setIdName(goblinOrderSkuVo.getIdName()); userCouponAssoc.setIdName(goblinOrderSkuVo.getIdName());
......
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