Explorar el Código

update:货到付款自定义金额

ct hace 12 horas
padre
commit
adaec7d616

+ 1 - 2
fs-admin/src/main/java/com/fs/store/controller/FsStoreOrderController.java

@@ -582,7 +582,6 @@ public class FsStoreOrderController extends BaseController {
     {
         logger.info("手动推管易订单号:{}",orderCode);
         FsStoreOrder order=fsStoreOrderService.selectFsStoreOrderByOrderCode(orderCode);
-        fsStoreOrderService.createOmsOrder(order.getId());
-        return R.ok();
+        return fsStoreOrderService.createOmsOrder(order.getId());
     }
 }

+ 5 - 0
fs-service-system/src/main/java/com/fs/erp/service/impl/K9OrderServiceImpl.java

@@ -223,6 +223,9 @@ public class K9OrderServiceImpl implements IErpOrderService {
 
             // 4. 发送订单请求
             KingbosOrderResponse response = sendOrderRequest(data, d1Datas);
+            if (response.getCbilid()==null){
+                response.setCbilid(order.getExtendOrderId());
+            }
             return response;
 //            if (response.getIsSuccess()){
 //                FsStoreOrder order1 = new FsStoreOrder();
@@ -269,6 +272,8 @@ public class K9OrderServiceImpl implements IErpOrderService {
         data.setCso_id(order.getOrderCode());
         data.setCo_id(orderSn);
         data.setCdo_id(orderSn);
+        //同步订单信息
+        order.setExtendOrderId(orderSn);
 
         // 设置金额信息
         data.setFpay_amount(order.getPayPrice());

+ 1 - 1
fs-service-system/src/main/java/com/fs/store/service/IFsStoreOrderService.java

@@ -131,7 +131,7 @@ public interface IFsStoreOrderService
 
     String importExpress(List<StoreOrderExpressExportDTO> list, boolean updateSupport) throws InterruptedException;
 
-    void createOmsOrder(Long orderId) throws ParseException;
+    R createOmsOrder(Long orderId) throws ParseException;
 
     ErpOrder getErpOrder(FsStoreOrder order) throws ParseException;
 

+ 4 - 4
fs-service-system/src/main/java/com/fs/store/service/impl/FsStoreOrderServiceImpl.java

@@ -1359,17 +1359,17 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
 
 
     @Override
-    public void createOmsOrder(Long orderId) throws ParseException {
+    public R createOmsOrder(Long orderId) throws ParseException {
         FsStoreOrder order=fsStoreOrderMapper.selectFsStoreOrderById(orderId);
         FsErpConfig erpConfig = configUtil.getErpConfig();
         List<Long> noErpCompany = erpConfig.getNoErpCompany();
         if (noErpCompany.contains(order.getCompanyId())) {
             log.info("订单:{},相关公司不推送erp", order.getOrderCode());
-            return;
+            return R.error("订单:" + order.getOrderCode() +",相关公司不推送erp");
         }
         IErpOrderService erpOrderService = getErpService();
         if(!StringUtils.isEmpty(order.getExtendOrderId())&&order.getStatus()!=1){
-            return;
+            return R.error("订单:" + order.getOrderCode() +",已推送erp/订单状态不正确");
         }
         ErpOrder erpOrder = getErpOrder(order);
         ErpOrderResponse response= erpOrderService.addOrder(erpOrder);
@@ -1382,7 +1382,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
         //写入外部订单号
         order.setExtendOrderId(response.getCode());
         fsStoreOrderMapper.updateFsStoreOrder(order);
-
+        return R.ok("订单:" + order.getOrderCode() +",创建erp订单成功");
     }
 
     @Override

+ 14 - 5
fs-user-app/src/main/java/com/fs/app/controller/StoreOrderController.java

@@ -319,14 +319,21 @@ public class StoreOrderController extends  AppBaseController {
                 else if(param.getPayType().equals(3)){
                     //货到付款
                     order.setPayType("3");
-                    order.setPayDelivery(order.getPayPrice() );
-                    order.setPayMoney(BigDecimal.ZERO);
+                    BigDecimal amount=redisCache.getCacheObject("orderAmount:"+order.getId());
+                    BigDecimal payMoney = BigDecimal.ZERO;
+                    if (amount != null){
+                        payMoney=amount;
+                    }
+                    order.setPayMoney(payMoney);
+                    order.setPayDelivery(order.getPayPrice().subtract(payMoney) );
+//                    order.setPayMoney(BigDecimal.ZERO);
                 }
                 orderService.updateFsStoreOrder(order);
             }
             String payCode = IdUtil.getSnowflake(0, 0).nextIdStr();
 //            order.setOrderCode(orderCode);
-            if(order.getPayType().equals("1")||order.getPayType().equals("2")){
+//            if(order.getPayType().equals("1")||order.getPayType().equals("2")){
+            if((order.getPayType().equals("1")||order.getPayType().equals("2")||order.getPayType().equals("3")) && order.getPayMoney().compareTo(new BigDecimal(0))>0){
                 String json = configService.selectConfigByKey("store.pay");
                 FsPayConfig fsPayConfig = JSON.parseObject(json, FsPayConfig.class);
                 FsStorePayment storePayment=new FsStorePayment();
@@ -396,7 +403,8 @@ public class StoreOrderController extends  AppBaseController {
                     }
                 }
             }
-            else if(order.getPayType().equals("3")){
+//            else if(order.getPayType().equals("3")){
+            else if(order.getPayType().equals("3") && order.getPayMoney().compareTo(new BigDecimal(0))<=0){
                 //货到付款
                 orderService.payConfirm(2,order.getId(),null,null,null,null);
                 return R.ok().put("payType",param.getPayType());
@@ -468,7 +476,7 @@ public class StoreOrderController extends  AppBaseController {
                 else if(param.getPayType().equals(3)){
                     //货到付款
                     order.setPayType("3");
-                    order.setPayDelivery(order.getPayPrice() );
+//                    order.setPayDelivery(order.getPayPrice() );
 //                    order.setPayMoney(BigDecimal.ZERO);
                     BigDecimal amount=redisCache.getCacheObject("orderAmount:"+order.getId());
                     BigDecimal payMoney = BigDecimal.ZERO;
@@ -476,6 +484,7 @@ public class StoreOrderController extends  AppBaseController {
                         payMoney=amount;
                     }
                     order.setPayMoney(payMoney);
+                    order.setPayDelivery(order.getPayPrice().subtract(payMoney) );
                 }
                 orderService.updateFsStoreOrder(order);
             }