Authored by LUOXC

帮助取消

... ... @@ -9,10 +9,14 @@ import com.yohoufo.common.annotation.InnerApi;
import com.yohoufo.common.lock.RedisLock;
import com.yohoufo.common.lock.RedisLockFactory;
import com.yohoufo.common.utils.ExecutorServiceUtils;
import com.yohoufo.dal.order.model.SellerWalletDetail;
import com.yohoufo.order.model.PayRefundBo;
import com.yohoufo.order.model.request.OrderRequest;
import com.yohoufo.order.model.request.TransferMoneyRequest;
import com.yohoufo.order.service.IBuyerOrderService;
import com.yohoufo.order.service.IPaymentService;
import com.yohoufo.order.service.concurrent.ThreadPoolFactory;
import com.yohoufo.order.service.impl.BuyerOrderCancelService;
import com.yohoufo.order.service.impl.PaymentServiceImpl;
import com.yohoufo.order.service.impl.TransferService;
import com.yohoufo.order.service.pay.alipay.AlipayOuyinService;
... ... @@ -28,10 +32,7 @@ import org.springframework.web.bind.annotation.RestController;
import java.math.BigDecimal;
import java.util.UUID;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.*;
import java.util.stream.IntStream;
@Slf4j
... ... @@ -54,6 +55,9 @@ public class OrderHelpController {
@Autowired
IBuyerOrderService buyerOrderService;
@Autowired
BuyerOrderCancelService buyerOrderCancelService;
/**
* 转账
... ... @@ -157,5 +161,16 @@ public class OrderHelpController {
return new ApiResponse.ApiResponseBuilder().code(200).message("处理成功").build();
}
@IgnoreSession
@IgnoreSignature
@InnerApi
@RequestMapping(value="/helperRefund")
public ApiResponse helperRefund(@RequestParam long orderCode, @RequestParam int uid) {
buyerOrderCancelService.helperRefund(uid,orderCode);
return new ApiResponse.ApiResponseBuilder().code(200).message("处理成功").build();
}
}
... ...
... ... @@ -366,6 +366,26 @@ public class BuyerOrderCancelService {
}
}
public void helperRefund(int uid,long orderCode){
OrderStatus targetOrderStatus = OrderStatus.BUYER_CANCEL_BEFORE_DEPOT_RECEIVE;
BuyerOrder buyerOrder = buyerOrderMapper.selectByOrderCode(orderCode);
if(targetOrderStatus.getCode() == buyerOrder.getStatus().intValue()){
BuyerOrderGoods buyerOrderGoods = buyerOrderGoodsMapper.selectByOrderCode(uid,orderCode);
BuyerPenaltyCalResult bpcr = buyerCancelCompensateComputeHandler.calBuyerPenaltyCalResult(buyerOrder, buyerOrderGoods, targetOrderStatus);
TransferCase transferCase = TransferCase.PART_GOODS_MONEY_TO_SELLER;
BuyerCancelAfterProcessTask bcapt = new BuyerCancelAfterProcessTask(buyerOrder, buyerOrderGoods.getSkup(),
bpcr, transferCase,false);
bcapt.targetOrderStatus = targetOrderStatus;
bcapt.setSwdType(SellerWalletDetail.Type.BUYER_CANCEL_DELIVERY);
try {
bcapt.call();
} catch (Exception e) {
throwServiceException("服务异常");
logger.warn("helperRefund fail uid {}, orderCode {}", uid, orderCode);
}
}
}
... ...