修改虚拟订单售后类型只支持退款
This commit is contained in:
parent
83367ca96d
commit
4fd8e4ecef
@ -4,11 +4,16 @@ import cn.hutool.core.util.RandomUtil;
|
||||
import cn.lili.common.utils.CommonUtil;
|
||||
import cn.lili.event.OrderStatusChangeEvent;
|
||||
import cn.lili.modules.order.order.entity.dos.Order;
|
||||
import cn.lili.modules.order.order.entity.dos.OrderItem;
|
||||
import cn.lili.modules.order.order.entity.dto.OrderMessage;
|
||||
import cn.lili.modules.order.order.entity.enums.OrderComplaintStatusEnum;
|
||||
import cn.lili.modules.order.order.entity.enums.OrderItemAfterSaleStatusEnum;
|
||||
import cn.lili.modules.order.order.entity.enums.OrderStatusEnum;
|
||||
import cn.lili.modules.order.order.service.OrderItemService;
|
||||
import cn.lili.modules.order.order.service.OrderService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@ -23,7 +28,8 @@ public class VerificationOrderExecute implements OrderStatusChangeEvent {
|
||||
|
||||
@Autowired
|
||||
private OrderService orderService;
|
||||
|
||||
@Autowired
|
||||
private OrderItemService orderItemService;
|
||||
@Override
|
||||
public void orderChange(OrderMessage orderMessage) {
|
||||
//订单状态为待核验,添加订单添加核验码
|
||||
@ -36,6 +42,10 @@ public class VerificationOrderExecute implements OrderStatusChangeEvent {
|
||||
orderService.update(new LambdaUpdateWrapper<Order>()
|
||||
.set(Order::getVerificationCode, code)
|
||||
.eq(Order::getSn, orderMessage.getOrderSn()));
|
||||
//修改虚拟订单货物可以进行售后、投诉
|
||||
orderItemService.update(new LambdaUpdateWrapper<OrderItem>().eq(OrderItem::getOrderSn, orderMessage.getOrderSn())
|
||||
.set(OrderItem::getAfterSaleStatus, OrderItemAfterSaleStatusEnum.NOT_APPLIED)
|
||||
.set(OrderItem::getCommentStatus, OrderComplaintStatusEnum.NO_APPLY));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -108,10 +108,10 @@ public class WechatMediaUtil {
|
||||
JSONObject jsonObject = new JSONObject(resultStr.toString());
|
||||
log.info("微信媒体上传:" + jsonObject.toString());
|
||||
//判断是否传递成功,如果token过期则重新获取
|
||||
if (jsonObject.get("errcode").equals("40001")) {
|
||||
if (jsonObject.get("errcode") != null && jsonObject.get("errcode").equals("40001")) {
|
||||
wechatAccessTokenUtil.removeAccessToken(ClientTypeEnum.WECHAT_MP);
|
||||
return this.uploadMedia(type, mediaFileUrl);
|
||||
} else if (jsonObject.get("errcode")!=null) {
|
||||
} else if (jsonObject.get("errcode") != null) {
|
||||
throw new ServiceException(jsonObject.get("errmsg").toString());
|
||||
} else {
|
||||
return jsonObject.get("media_id").toString();
|
||||
|
@ -47,4 +47,12 @@ public class AfterSaleApplyVO {
|
||||
*/
|
||||
@ApiModelProperty(value = "账号类型", allowableValues = "ALIPAY,WECHATPAY,MEMBERWALLET,BANKTRANSFER")
|
||||
private String accountType;
|
||||
|
||||
@ApiModelProperty(value = "是否支持退货")
|
||||
private boolean returnGoods;
|
||||
|
||||
@ApiModelProperty(value = "是否支持退款")
|
||||
private boolean returnMoney;
|
||||
|
||||
|
||||
}
|
||||
|
@ -20,6 +20,7 @@ import cn.lili.modules.order.order.entity.dos.OrderItem;
|
||||
import cn.lili.modules.order.order.entity.dto.AfterSaleDTO;
|
||||
import cn.lili.modules.order.order.entity.enums.OrderItemAfterSaleStatusEnum;
|
||||
import cn.lili.modules.order.order.entity.enums.OrderStatusEnum;
|
||||
import cn.lili.modules.order.order.entity.enums.OrderTypeEnum;
|
||||
import cn.lili.modules.order.order.entity.enums.PayStatusEnum;
|
||||
import cn.lili.modules.order.order.entity.vo.AfterSaleApplyVO;
|
||||
import cn.lili.modules.order.order.entity.vo.AfterSaleSearchParams;
|
||||
@ -128,6 +129,14 @@ public class AfterSaleServiceImpl extends ServiceImpl<AfterSaleMapper, AfterSale
|
||||
} else {
|
||||
afterSaleApplyVO.setRefundWay(AfterSaleRefundWayEnum.ORIGINAL.name());
|
||||
}
|
||||
//判断订单类型,虚拟订单只支持退款
|
||||
if(order.getOrderType().equals(OrderTypeEnum.VIRTUAL.name())){
|
||||
afterSaleApplyVO.setReturnMoney(true);
|
||||
afterSaleApplyVO.setReturnGoods(false);
|
||||
}else{
|
||||
afterSaleApplyVO.setReturnMoney(true);
|
||||
afterSaleApplyVO.setReturnGoods(true);
|
||||
}
|
||||
|
||||
afterSaleApplyVO.setAccountType(order.getPaymentMethod());
|
||||
afterSaleApplyVO.setApplyRefundPrice(CurrencyUtil.sub(orderItem.getFlowPrice(), orderItem.getNum()));
|
||||
|
@ -365,13 +365,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
||||
//检测虚拟订单信息
|
||||
checkVerificationOrder(order, verificationCode);
|
||||
order.setOrderStatus(OrderStatusEnum.COMPLETED.name());
|
||||
//修改订单信息
|
||||
this.updateById(order);
|
||||
//发送订单完成消息
|
||||
OrderMessage orderMessage = new OrderMessage();
|
||||
orderMessage.setNewStatus(OrderStatusEnum.COMPLETED);
|
||||
orderMessage.setOrderSn(order.getSn());
|
||||
this.sendUpdateStatusMessage(orderMessage);
|
||||
//订单完成
|
||||
this.complete(orderSn);
|
||||
return order;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user