修改虚拟订单售后类型只支持退款

This commit is contained in:
lifenlong 2021-06-24 18:17:16 +08:00
parent 83367ca96d
commit 4fd8e4ecef
5 changed files with 32 additions and 10 deletions

View File

@ -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));
}
}

View File

@ -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();

View File

@ -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;
}

View File

@ -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()));

View File

@ -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;
}