You've already forked FrameTour-BE
发起退款、审核退款
This commit is contained in:
@ -43,7 +43,7 @@ public class WxNotifyServiceImpl implements WxNotifyService {
|
||||
/**
|
||||
* 缓存accessToken
|
||||
*/
|
||||
private Map<String, AccessTokenCacheEntity> cacheAccessTokenMap = new ConcurrentHashMap<>();
|
||||
private final Map<String, AccessTokenCacheEntity> cacheAccessTokenMap = new ConcurrentHashMap<>();
|
||||
|
||||
@Override
|
||||
public String getAccessToken() {
|
||||
@ -87,7 +87,7 @@ public class WxNotifyServiceImpl implements WxNotifyService {
|
||||
// 拼接推送的模板
|
||||
WechatMssVO wxMssVO = new WechatMssVO();
|
||||
wxMssVO.setTouser(info.getOpenId()); // 用户的openId
|
||||
wxMssVO.setTemplate_id(wechatConfig.getTemplateId()); // 订阅消息模板id
|
||||
wxMssVO.setTemplate_id(info.getTemplateId()); // 订阅消息模板id
|
||||
wxMssVO.setLang(info.getLang()); // 语言类型
|
||||
wxMssVO.setMiniprogram_state(info.getMiniprogram_state()); // 跳转小程序类型
|
||||
wxMssVO.setPage(info.getPage());
|
||||
|
@ -4,12 +4,15 @@ import cn.hutool.core.bean.BeanUtil;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.ycwl.basic.constant.NumberConstant;
|
||||
import com.ycwl.basic.enums.BizCodeEnum;
|
||||
import com.ycwl.basic.enums.OrderStateEnum;
|
||||
import com.ycwl.basic.enums.SourceTypeNameEnum;
|
||||
import com.ycwl.basic.exception.AppException;
|
||||
import com.ycwl.basic.mapper.pc.OrderMapper;
|
||||
import com.ycwl.basic.mapper.pc.SourceMapper;
|
||||
import com.ycwl.basic.mapper.pc.VideoMapper;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsPriceQueryReq;
|
||||
import com.ycwl.basic.model.mobile.order.RefundOrderReq;
|
||||
import com.ycwl.basic.model.pc.member.resp.MemberRespVO;
|
||||
import com.ycwl.basic.model.pc.order.entity.OrderItemEntity;
|
||||
import com.ycwl.basic.model.pc.order.req.OrderAddOrUpdateReq;
|
||||
@ -113,7 +116,7 @@ public class OrderServiceImpl implements OrderService {
|
||||
goodsName = videoRespVO.getTemplateName();
|
||||
} else if (goodsType == NumberConstant.TWO) {
|
||||
SourceRespVO sourceRespVO = sourceMapper.getById(goodsId);
|
||||
goodsName= SourceTypeNameEnum.getRemark( sourceRespVO.getType());
|
||||
goodsName = SourceTypeNameEnum.getRemark(sourceRespVO.getType());
|
||||
}
|
||||
BigDecimal price = goodsService.queryPrice(goodsPriceQueryReq.setGoodsId(goodsId)
|
||||
.setGoodsType(goodsType)).getData();
|
||||
@ -124,7 +127,7 @@ public class OrderServiceImpl implements OrderService {
|
||||
.setOrderSn(orderId)
|
||||
.setTotalPrice(BigDecimalUtil.convertToCents(price))
|
||||
.setGoodsName(goodsName);
|
||||
return ApiResponse.success(wxPayService.createOrder(wxPayOrderReqVO));
|
||||
return ApiResponse.success(wxPayService.createOrder(wxPayOrderReqVO));
|
||||
}
|
||||
}
|
||||
|
||||
@ -143,14 +146,16 @@ public class OrderServiceImpl implements OrderService {
|
||||
* @param orderSn 订单编号也就是订单的ID
|
||||
*/
|
||||
@Override
|
||||
public void updateOrderState(Long orderSn, OrderStateEnum orderStateEnum, String refundReason) {
|
||||
public void updateOrderState(Long orderSn, OrderStateEnum orderStateEnum, String reason) {
|
||||
OrderAddOrUpdateReq orderAddOrUpdateReq = new OrderAddOrUpdateReq();
|
||||
orderAddOrUpdateReq.setId(orderSn);
|
||||
if (orderStateEnum.getType() == NumberConstant.ONE) {
|
||||
orderAddOrUpdateReq.setRefundStatus(orderStateEnum.getState());
|
||||
orderAddOrUpdateReq.setRefundAt(new Date());
|
||||
if (Objects.nonNull(refundReason)) {
|
||||
orderAddOrUpdateReq.setRefundReason(refundReason);
|
||||
if (orderStateEnum.getState() == OrderStateEnum.PASSED.getState()) {
|
||||
orderAddOrUpdateReq.setRemark(reason);
|
||||
} else if (Objects.nonNull(reason)) {
|
||||
orderAddOrUpdateReq.setRefundReason(reason);
|
||||
}
|
||||
} else if (orderStateEnum.getType() == NumberConstant.TWO) {
|
||||
int state = orderStateEnum.getState();
|
||||
@ -198,4 +203,24 @@ public class OrderServiceImpl implements OrderService {
|
||||
return ApiResponse.success(orderAppRespVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<?> refundOrder(RefundOrderReq refundOrderReq) {
|
||||
this.updateOrderState(refundOrderReq.getOrderId(), OrderStateEnum.TO_BE_REVIEWED, refundOrderReq.getRefundReason());
|
||||
return ApiResponse.buildResult(BizCodeEnum.REQUEST_OK);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<?> auditRefundOrder(RefundOrderReq refundOrderReq) {
|
||||
this.updateOrderState(refundOrderReq.getOrderId(), OrderStateEnum.PASSED, refundOrderReq.getRefundReason());
|
||||
// 调用微信发起退款
|
||||
new Thread(() -> {
|
||||
try {
|
||||
wxPayService.refundOrder(refundOrderReq.getOrderId().toString());
|
||||
} catch (Exception e) {
|
||||
throw new AppException(BizCodeEnum.ADVANCE_PAYMENT_REFUND_FAILED,e.getMessage());
|
||||
}
|
||||
}).start();
|
||||
return ApiResponse.buildResult(BizCodeEnum.REQUEST_OK);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package com.ycwl.basic.service.pc;
|
||||
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.ycwl.basic.enums.OrderStateEnum;
|
||||
import com.ycwl.basic.model.mobile.order.RefundOrderReq;
|
||||
import com.ycwl.basic.model.pc.order.req.OrderAddOrUpdateReq;
|
||||
import com.ycwl.basic.model.pc.order.req.OrderReqQuery;
|
||||
import com.ycwl.basic.model.pc.order.resp.OrderAppRespVO;
|
||||
@ -17,9 +18,13 @@ import java.util.List;
|
||||
*/
|
||||
public interface OrderService {
|
||||
ApiResponse<PageInfo<OrderRespVO>> pageQuery(OrderReqQuery query);
|
||||
|
||||
ApiResponse<List<OrderRespVO>> list(OrderReqQuery query);
|
||||
|
||||
ApiResponse<OrderRespVO> detail(Long orderId);
|
||||
|
||||
ApiResponse<WxPayRespVO> add(OrderAddOrUpdateReq query) throws Exception;
|
||||
|
||||
ApiResponse<Integer> update(OrderAddOrUpdateReq query);
|
||||
|
||||
|
||||
@ -32,4 +37,19 @@ public interface OrderService {
|
||||
ApiResponse<OrderAppRespVO> appDetail(Long id);
|
||||
|
||||
|
||||
/**
|
||||
* 订单退款
|
||||
*
|
||||
* @param refundOrderReq
|
||||
* @return
|
||||
*/
|
||||
ApiResponse<?> refundOrder(RefundOrderReq refundOrderReq);
|
||||
|
||||
/**
|
||||
* 审核退款
|
||||
*
|
||||
* @param refundOrderReq
|
||||
* @return
|
||||
*/
|
||||
ApiResponse<?> auditRefundOrder(RefundOrderReq refundOrderReq);
|
||||
}
|
||||
|
Reference in New Issue
Block a user