|
|
@@ -8,8 +8,8 @@ import cn.hutool.core.util.NumberUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.alibaba.fastjson2.JSON;
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
@@ -43,20 +43,19 @@ import com.sckw.manage.api.model.dto.res.FindEntCooperateResVo;
|
|
|
import com.sckw.mongo.model.SckwTradeOrder;
|
|
|
import com.sckw.order.api.model.*;
|
|
|
import com.sckw.order.dao.KwoTradeOrderMapper;
|
|
|
-import com.sckw.order.enums.*;
|
|
|
import com.sckw.order.enums.ContractStatusEnum;
|
|
|
+import com.sckw.order.enums.*;
|
|
|
import com.sckw.order.model.*;
|
|
|
import com.sckw.order.model.dto.*;
|
|
|
-import com.sckw.order.model.vo.req.*;
|
|
|
import com.sckw.order.model.vo.req.ContractInfo;
|
|
|
-import com.sckw.order.model.vo.res.*;
|
|
|
+import com.sckw.order.model.vo.req.*;
|
|
|
import com.sckw.order.model.vo.res.GoodsInfoDetailRes;
|
|
|
import com.sckw.order.model.vo.res.OrderDetailRes;
|
|
|
import com.sckw.order.model.vo.res.UnitInfoDetailRes;
|
|
|
+import com.sckw.order.model.vo.res.*;
|
|
|
import com.sckw.order.repository.KwoTradeOrderUnitRepository;
|
|
|
import com.sckw.payment.api.dubbo.PayCenterDubboService;
|
|
|
import com.sckw.payment.api.dubbo.PaymentDubboService;
|
|
|
-import com.sckw.payment.api.model.WalletFreeze;
|
|
|
import com.sckw.payment.api.feign.PaymentFeignService;
|
|
|
import com.sckw.payment.api.model.constant.ChannelEnum;
|
|
|
import com.sckw.payment.api.model.dto.WalletDto;
|
|
|
@@ -2209,6 +2208,11 @@ public class KwoTradeOrderService {
|
|
|
kwoTradeOrderTransport.setStatus(0);
|
|
|
kwoTradeOrderTransport.setCreateBy(LoginUserHolder.getUserId());
|
|
|
kwoTradeOrderTransport.setCreateTime(LocalDateTime.now());
|
|
|
+ if (Objects.equals(logisticsEntDto.getContractId(), 0L)) {//查询平台默认物流对应的企业id
|
|
|
+ kwoTradeOrderTransport.setEntId(1L);//todo 硬编码,平台默认物流企业
|
|
|
+ kwoTradeOrderTransport.setFirmName("平台默认物流");
|
|
|
+ }
|
|
|
+
|
|
|
kwoTradeOrderTransportService.insert(kwoTradeOrderTransport);
|
|
|
}
|
|
|
}
|
|
|
@@ -2235,15 +2239,15 @@ public class KwoTradeOrderService {
|
|
|
kwoTradeOrderUnitService.insertBatch(list);
|
|
|
//钱包
|
|
|
// BaseResult<Boolean> booleanBaseResult = paymentDubboService.freezeMoney(walletFreeze);
|
|
|
- BaseResult<Object> freezeBaseResult = new BaseResult<>();
|
|
|
- if(Objects.equals(tradeContractResDto.getSettlement(),1)){
|
|
|
+ BaseResult<Object> freezeBaseResult = new BaseResult<>();
|
|
|
+ if (Objects.equals(tradeContractResDto.getSettlement(), 1)) {
|
|
|
// todo 普通结算冻结
|
|
|
|
|
|
- }else if(Objects.equals(tradeContractResDto.getSettlement(),2)){
|
|
|
+ } else if (Objects.equals(tradeContractResDto.getSettlement(), 2)) {
|
|
|
//预付制结算冻结
|
|
|
walletFreeze.setOrderType(4);
|
|
|
walletFreeze.setTradeType(4);
|
|
|
- walletFreeze.setRemark("贸易订单号:"+walletFreeze.getOrderNo()+",下单冻结");
|
|
|
+ walletFreeze.setRemark("贸易订单号:" + walletFreeze.getOrderNo() + ",下单冻结");
|
|
|
freezeBaseResult = paymentFeignService.updatePrepaidBalance(walletFreeze);
|
|
|
}
|
|
|
|
|
|
@@ -2286,7 +2290,7 @@ public class KwoTradeOrderService {
|
|
|
freezeDto.setOrderNo(String.valueOf(order.getId()));
|
|
|
freezeDto.setOrderType(4);
|
|
|
freezeDto.setTradeType(5);
|
|
|
- freezeDto.setRemark("贸易订单号:"+freezeDto.getOrderNo()+",撤销订单");
|
|
|
+ freezeDto.setRemark("贸易订单号:" + freezeDto.getOrderNo() + ",撤销订单");
|
|
|
BaseResult<Object> balanceResult;
|
|
|
try {
|
|
|
balanceResult = paymentFeignService.updatePrepaidBalance(freezeDto);
|
|
|
@@ -2345,10 +2349,10 @@ public class KwoTradeOrderService {
|
|
|
//结算方式校验余额
|
|
|
BigDecimal orderAmount = NumberUtil.mul(tradeOrderParam.getAmount(), goodsInfoDto.getPrice());
|
|
|
Integer settlement = tradeContractResDto.getSettlement();
|
|
|
- if(Objects.equals(settlement, 1)){
|
|
|
+ if (Objects.equals(settlement, 1)) {
|
|
|
// todo 普通结算
|
|
|
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
//预付制结算
|
|
|
BaseResult<BigDecimal> prepaidBalanceResult = null;
|
|
|
try {
|
|
|
@@ -2357,11 +2361,11 @@ public class KwoTradeOrderService {
|
|
|
log.error("查询线下钱包服务异常", e);
|
|
|
throw new BusinessException("查询线下钱包服务异常,请稍后再试");
|
|
|
}
|
|
|
- if(prepaidBalanceResult.getCode() == HttpStatus.SUCCESS_CODE){
|
|
|
- if(orderAmount.compareTo(prepaidBalanceResult.getData()) > 0){
|
|
|
+ if (prepaidBalanceResult.getCode() == HttpStatus.SUCCESS_CODE) {
|
|
|
+ if (orderAmount.compareTo(prepaidBalanceResult.getData()) > 0) {
|
|
|
throw new BusinessException("当前贸易订单金额大于可用预付余额");
|
|
|
}
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
throw new BusinessException("查询对应供应商预付余额失败");
|
|
|
}
|
|
|
}
|
|
|
@@ -2427,14 +2431,14 @@ public class KwoTradeOrderService {
|
|
|
walletFreeze.setSupEntId(unitMap.get(String.valueOf(CooperateTypeEnum.SUPPLIER.getCode())).getEntId());
|
|
|
walletFreeze.setOrderType(4);
|
|
|
walletFreeze.setTradeType(5);
|
|
|
- walletFreeze.setRemark("贸易订单:"+walletFreeze.getOrderNo()+",审核拒绝解冻");
|
|
|
+ walletFreeze.setRemark("贸易订单:" + walletFreeze.getOrderNo() + ",审核拒绝解冻");
|
|
|
// BaseResult<Boolean> booleanBaseResult = paymentDubboService.unfreezeMoney(walletFreeze);
|
|
|
|
|
|
- BaseResult<Object> booleanBaseResult = new BaseResult<>();
|
|
|
- if(Objects.equals(kwoTradeOrder.getSettlement(),1)){
|
|
|
+ BaseResult<Object> booleanBaseResult = new BaseResult<>();
|
|
|
+ if (Objects.equals(kwoTradeOrder.getSettlement(), 1)) {
|
|
|
// todo 普通结算解冻结
|
|
|
|
|
|
- }else if(Objects.equals(kwoTradeOrder.getSettlement(),2)){
|
|
|
+ } else if (Objects.equals(kwoTradeOrder.getSettlement(), 2)) {
|
|
|
//预付制结算解冻
|
|
|
booleanBaseResult = paymentFeignService.updatePrepaidBalance(walletFreeze);
|
|
|
}
|
|
|
@@ -2808,13 +2812,13 @@ public class KwoTradeOrderService {
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
- private void calculatePrepaidBalance(KwoTradeOrder kwoTradeOrder){
|
|
|
- if(Objects.equals(kwoTradeOrder.getStatus(),TradeOrderStatusEnum.SUCCESS.getCode())){
|
|
|
+ private void calculatePrepaidBalance(KwoTradeOrder kwoTradeOrder) {
|
|
|
+ if (Objects.equals(kwoTradeOrder.getStatus(), TradeOrderStatusEnum.SUCCESS.getCode())) {
|
|
|
//贸易订单已完结,计算预付余额
|
|
|
- if(Objects.equals(kwoTradeOrder.getSettlement(),1)){
|
|
|
+ if (Objects.equals(kwoTradeOrder.getSettlement(), 1)) {
|
|
|
//todo 普通结算
|
|
|
|
|
|
- }else if(Objects.equals(kwoTradeOrder.getSettlement(),2)){
|
|
|
+ } else if (Objects.equals(kwoTradeOrder.getSettlement(), 2)) {
|
|
|
//预付制模式
|
|
|
//1解冻运费
|
|
|
List<KwoTradeOrderUnit> orderUnits = kwoTradeOrderUnitService.getByOrderId(kwoTradeOrder.getId());
|
|
|
@@ -2832,11 +2836,11 @@ public class KwoTradeOrderService {
|
|
|
unFreezePrepaidDto.setSupEntId(unitMap.get(String.valueOf(CooperateTypeEnum.SUPPLIER.getCode())).getEntId());
|
|
|
unFreezePrepaidDto.setOrderType(4);
|
|
|
unFreezePrepaidDto.setTradeType(5);
|
|
|
- unFreezePrepaidDto.setRemark("贸易订单:"+unFreezePrepaidDto.getOrderNo()+",");
|
|
|
+ unFreezePrepaidDto.setRemark("贸易订单:" + unFreezePrepaidDto.getOrderNo() + ",");
|
|
|
BaseResult<Object> unFreezeResult = paymentFeignService.updatePrepaidBalance(unFreezePrepaidDto);
|
|
|
- if(unFreezeResult.getCode()!= HttpStatus.SUCCESS_CODE){
|
|
|
- log.error("贸易订单号:{},订单完结解冻失败,异常信息为:{}",unFreezePrepaidDto.getOrderNo(),unFreezeResult.getMessage());
|
|
|
- throw new BusinessException("贸易订单号:"+unFreezePrepaidDto.getOrderNo()+",订单完结解冻失败");
|
|
|
+ if (unFreezeResult.getCode() != HttpStatus.SUCCESS_CODE) {
|
|
|
+ log.error("贸易订单号:{},订单完结解冻失败,异常信息为:{}", unFreezePrepaidDto.getOrderNo(), unFreezeResult.getMessage());
|
|
|
+ throw new BusinessException("贸易订单号:" + unFreezePrepaidDto.getOrderNo() + ",订单完结解冻失败");
|
|
|
}
|
|
|
//2计算订单金额
|
|
|
WalletPrepaidDto consumePrepaidDto = new WalletPrepaidDto();
|
|
|
@@ -2846,11 +2850,11 @@ public class KwoTradeOrderService {
|
|
|
unFreezePrepaidDto.setOrderType(4);
|
|
|
unFreezePrepaidDto.setTradeType(6);
|
|
|
consumePrepaidDto.setTradeAmount(kwoTradeOrder.getPrice());
|
|
|
- consumePrepaidDto.setRemark("贸易订单号:"+consumePrepaidDto.getOrderNo()+",订单完结消费");
|
|
|
+ consumePrepaidDto.setRemark("贸易订单号:" + consumePrepaidDto.getOrderNo() + ",订单完结消费");
|
|
|
BaseResult<Object> consumeResult = paymentFeignService.updatePrepaidBalance(consumePrepaidDto);
|
|
|
- if(consumeResult.getCode()!= HttpStatus.SUCCESS_CODE){
|
|
|
- log.error("贸易订单号:{},订单完结消费失败,异常信息为:{}",consumePrepaidDto.getOrderNo(),consumeResult.getMessage());
|
|
|
- throw new BusinessException("贸易订单号:"+consumePrepaidDto.getOrderNo()+",订单完结消费失败");
|
|
|
+ if (consumeResult.getCode() != HttpStatus.SUCCESS_CODE) {
|
|
|
+ log.error("贸易订单号:{},订单完结消费失败,异常信息为:{}", consumePrepaidDto.getOrderNo(), consumeResult.getMessage());
|
|
|
+ throw new BusinessException("贸易订单号:" + consumePrepaidDto.getOrderNo() + ",订单完结消费失败");
|
|
|
}
|
|
|
}
|
|
|
}
|