Преглед изворни кода

调整定时拉取订单揽件信息的功能

xian пре 5 година
родитељ
комит
cc487dc742

+ 3 - 3
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java

@@ -38,6 +38,7 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.sql.SQLException;
@@ -596,7 +597,7 @@ public class SalesOrderServiceImpl implements SalesOrderService {
     }
 
     @Override
-    @Transactional
+    @Transactional(rollbackFor = {SQLException.class, RuntimeException.class, Exception.class}, isolation = Isolation.READ_COMMITTED)
     public boolean addRstOrderinfo(SalesOrder mainOrder,List<SalesOrder> listSalesOrder,String[] detectIds) {
          Integer flag = salesOrderMapper.getOrderBySalesDealCodeNum(mainOrder.getSalesDealCode());
         if(flag > 0){
@@ -649,7 +650,7 @@ public class SalesOrderServiceImpl implements SalesOrderService {
                 }
             }
         }
-        //修为维修记录为已下单
+        // 修为维修记录为已下单
         if(detectIds != null){
             if(detectIds.length > 0){
                 for(String detectId : detectIds){
@@ -657,7 +658,6 @@ public class SalesOrderServiceImpl implements SalesOrderService {
                     detectInfo.setDetectId(Integer.valueOf(detectId));
                     detectInfo.setDetectPlaceorder(2);
                     detectInfo.setSalesOrderId(mainOrder.getSalesOrderId());
-                    /*detectInfo.setDetectSalesId(mainOrder.getSalesId());*/
                     complaintDetectInfoMapper.updateDetectById(detectInfo);
                 }
             }

+ 48 - 62
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminSalesOrderController.java

@@ -773,10 +773,7 @@ public class AdminSalesOrderController {
     @ResponseBody
     @RequestMapping("/add_salesOrder")
     @RequiresPermissions("salesOrder:add:manual")
-    public ResponseJson addSalesOrder(HttpServletRequest request,
-        SalesOrder salesOrder,
-        String orderItemString
-    ) throws Exception {
+    public ResponseJson addSalesOrder(HttpServletRequest request, SalesOrder salesOrder, String orderItemString) throws Exception {
 
         if(salesOrder.getSalesStoreId() == null){
             return  new ResponseJson(500, "添加订单失败,失败原因:未选择店铺", 500);
@@ -793,72 +790,70 @@ public class AdminSalesOrderController {
         String salesPayTime = request.getParameter("payTime");
         salesOrder.setSalesPayTime(sdf.parse(salesPayTime));
         JSONArray jsonArray = JSONArray.fromObject(orderItemString);
-        List<SalesOrderItem> salesOrderItemList = (List) JSONArray.toCollection(jsonArray, SalesOrderItem.class);
-
-        //根据店铺查询客户是否自营
-        /*DealerChannel  dealerChannel = new DealerChannel();
-        dealerChannel.setStoreId(salesOrder.getSalesStoreId());
-        List<DealerChannel> listDealer = dealerChannelService.getDealerChannelList(dealerChannel);
-        if(listDealer.size() < 1){
-            return  new ResponseJson(500, "未找到店铺客户信息", 500);
-        }*/
+        List<SalesOrderItem> salesOrderItemList = (List<SalesOrderItem>) JSONArray.toCollection(jsonArray, SalesOrderItem.class);
+        // 补充产品信息
         for (SalesOrderItem salesOrderItem:salesOrderItemList) {
             if(salesOrderItem.getItemNum() > 0 && salesOrderItem.getItemColorId() > 0){
                 ProductColor productColor = productService.getProduceColor(salesOrderItem.getItemColorId());
                 if(productColor == null){
                     return  new ResponseJson(500, "商品不存在", 500);
                 }
-                salesOrderItem.setItemProductId(productColor.getColorProductId());  ////产品id
+                // 补充订单项所需的产品信息
+                salesOrderItem.setItemProductId(productColor.getColorProductId());
                 salesOrderItem.setItemColorId(productColor.getColorId());
                 salesOrderItem.setItemProductType(productColor.getProductType());
                 salesOrderItem.setItemProductName(productColor.getProductName());
                 salesOrderItem.setItemProductPic(productColor.getColorPicture());
                 salesOrderItem.setItemProductColor(productColor.getColorName());
-                salesOrderItem.setItemColorBar(productColor.getColorBar()); ///产品SKU码(百胜)
-//                salesOrderItem.setItemProductPrice(productColor.getColorPrice());
-//                salesOrderItem.setItemProductDiscount(productColor.getColorDiscount());
+                salesOrderItem.setItemColorBar(productColor.getColorBar());
                 salesOrderItem.setItemCreateTime(new Date());
                 salesOrderItem.setItemIsSource(1);
             }else{
                 return  new ResponseJson(500, "添加商品错误", 500);
             }
         }
-
+        // 交易号
         if(salesOrder.getSalesDealCode() != null && !"".equals(salesOrder.getSalesDealCode())){
-            salesOrder.setSalesDealCode(salesOrder.getSalesDealCode().trim());  //交易号
+            // 用户填写交易号,需要去除空格
+            salesOrder.setSalesDealCode(salesOrder.getSalesDealCode().trim());
         }else{
-            String dealCode = generateKeyUtil.getSalesOrderKey();   //获取交易号
-            salesOrder.setSalesDealCode(dealCode);  //交易号
-        }
-        salesOrder.setSalesOrderId(salesOrder.getSalesDealCode());  //订单号
-        salesOrder.setSalesOpenId("0"); //身份证号/openid
-        salesOrder.setSalesPledgeMoney(0);  ///押金金额
-        salesOrder.setSalesRemainDeposit(0);     //待提取金额
-        salesOrder.setSalesStatus(0);   //确认状态 未确认
-        salesOrder.setSalesSendType(2); //2:物流发货
+            // 系统生成交易号
+            String dealCode = generateKeyUtil.getSalesOrderKey();
+            salesOrder.setSalesDealCode(dealCode);
+        }
+        /*
+         * 开始组装订单数据
+         */
+        //订单号
+        salesOrder.setSalesOrderId(salesOrder.getSalesDealCode());
+        salesOrder.setSalesOpenId("0");
+        salesOrder.setSalesPledgeMoney(0);
+        salesOrder.setSalesRemainDeposit(0);
         salesOrder.setSalesCreateTime(new Date());
-        salesOrder.setSalesType(1); //订单类型  1:购买2:租赁
-        salesOrder.setSalesOrderStatus(1);   //订单状态 订单状态:1:正常 2:换货 3:退货  4:维修  5:补发
-        salesOrder.setSalesShippingStatus(0);      //发货状态 0(未发货
-        salesOrder.setSalesPayStatus(2);    //2(已付款)
-        salesOrder.setSalesProcessStatus(0); //0(正常单)
-        salesOrder.setSalesIsSend(0);  //是否通知配货    0:否1:是
-        salesOrder.setSalesIsLocked(0); //是否锁定 0:否1:是
-        salesOrder.setSalesIsSeparate(0);    //是否缺货  0:否1:是
-        salesOrder.setSalesIsDownload(1);    // 1 未下载
-        salesOrder.setSalesAddType(1);  //手动添加
-        salesOrder.setSalesAdminId(admin.getAdminId()); //admin id
-
-//        salesOrder.setSalesAmount(salesOrder.getSalesAmount()*100);
-//        salesOrder.setSalesDiscountMoney(salesOrder.getSalesDiscountMoney()*100);;
-//        salesOrder.setSalesPayMoney(salesOrder.getSalesPayMoney()*100);
-//        salesOrder.setSalesWaitMoney(salesOrder.getSalesWaitMoney()*100);
-//        salesOrder.setSalesLastMoney(salesOrder.getSalesLastMoney()*100);
-//        salesOrder.setSalesShippingFee(salesOrder.getSalesShippingFee()*100);
-
+        salesOrder.setSalesType(1);
+        salesOrder.setSalesPayStatus(2);
+        salesOrder.setSalesProcessStatus(0);
+        salesOrder.setSalesIsLocked(0);
+        salesOrder.setSalesIsSeparate(0);
+        //确认状态 未确认
+        salesOrder.setSalesStatus(0);
+        //2:物流发货
+        salesOrder.setSalesSendType(2);
+        //订单状态 订单状态:1:正常 2:换货 3:退货  4:维修  5:补发
+        salesOrder.setSalesOrderStatus(1);
+        //发货状态 0(未发货
+        salesOrder.setSalesShippingStatus(0);
+        //是否通知配货    0:否1:是
+        salesOrder.setSalesIsSend(0);
+        // 1 未下载
+        salesOrder.setSalesIsDownload(1);
+        //手动添加
+        salesOrder.setSalesAddType(1);
+        //admin id
+        salesOrder.setSalesAdminId(admin.getAdminId());
         salesOrder.setSalesOrderItemList(salesOrderItemList);
-
         if(salesOrder.getSalesBatchId() == null || "".equals(salesOrder.getSalesBatchId()) || "1".equals(salesOrder.getSalesBatchId())){
+            // 用户新建批次,系统自动新建
             String batchId = generateKeyUtil.getSalesBatchIdSD();
             OrderBatch ob = new OrderBatch();
             ob.setBatchId(batchId);
@@ -869,22 +864,13 @@ public class AdminSalesOrderController {
             }
             salesOrder.setSalesBatchId(batchId);
         }
-        boolean bl = true;
-        String errorMsg = "";
         try {
-           // bl = salesOrderService.addRstOrderAndIteminfo(salesOrder);
-            bl = salesOrderService.addRstOrderinfo(salesOrder,new ArrayList<SalesOrder>(),detectIds);
-        }catch (Exception e){
-            errorMsg = e.getMessage();
-            e.printStackTrace();
-            return  new ResponseJson(500, "添加订单失败,失败原因:"+errorMsg, 500);
-        }
-        if(bl){
+            // 添加订单
+            salesOrderService.addRstOrderinfo(salesOrder,new ArrayList<SalesOrder>(),detectIds);
             return new ResponseJson(200, "添加订单成功,订单交易号为:"+ salesOrder.getSalesDealCode(), 200);
-
-
-        }else{
-            return  new ResponseJson(500, "添加订单失败,失败原因:"+errorMsg, 500);
+        }catch (Exception e){
+            logger.error("", e);
+            return  new ResponseJson(500, "添加订单失败,失败原因:"+e.getMessage(), 500);
         }
     }