Преглед на файлове

订单账户修改变更逻辑变更

hu преди 2 години
родител
ревизия
d1831a7154
променени са 1 файла, в които са добавени 18 реда и са изтрити 10 реда
  1. 18 10
      src/custom/restcontroller/webmanage/sale/order/Order.java

+ 18 - 10
src/custom/restcontroller/webmanage/sale/order/Order.java

@@ -50,6 +50,8 @@ public class Order extends Controller {
     @API(title = "新增或更新", apiversion = R.ID20221108111402.v1.class, intervaltime = 200)
     @CACHEING_CLEAN(apiClass = {Order.class, OrderItems.class, restcontroller.sale.order.Order.class})
     public String insertOrUpdate() throws YosException {
+
+        ArrayList<String> sqlList =new ArrayList<>();
         //表名
         String tableName = "sa_order";
         Long sa_orderid = content.getLong("sa_orderid");
@@ -105,10 +107,10 @@ public class Order extends Controller {
         //营销账户类型ID
         if ((type.equals("标准订单") || type.equals("特殊订单")) && content.getString("tradefield").equals("整装工程")) {
             sqlFactory.addParameter("sa_accountclassid", "69");
-            updateAccountclassinfos(sa_orderid,69);
+            sqlList.addAll(updateAccountclassinfos(sa_orderid,69));
         } else {
             sqlFactory.addParameter("sa_accountclassid", beans.order.Order.getDefaultAccount(siteid, type));
-            updateAccountclassinfos(sa_orderid,beans.order.Order.getDefaultAccount(siteid, type));
+            sqlList.addAll(updateAccountclassinfos(sa_orderid,beans.order.Order.getDefaultAccount(siteid, type)));
         }
         //品牌ID
         sqlFactory.addParameter("sa_brandid", sa_brandid);
@@ -166,7 +168,7 @@ public class Order extends Controller {
             }
             if(content.containsKey("sa_accountclassid")){
                 sqlFactory.addParameter("sa_accountclassid", content.getLongValue("sa_accountclassid"));
-                updateAccountclassinfos(sa_orderid,content.getLongValue("sa_accountclassid"));
+                sqlList.addAll(updateAccountclassinfos(sa_orderid,content.getLongValue("sa_accountclassid")));
             }
         } else {
             //订单更新时
@@ -184,7 +186,7 @@ public class Order extends Controller {
                     }
                 }
                 sqlFactory.addParameter("sa_accountclassid", content.getLongValue("sa_accountclassid"));
-                updateAccountclassinfos(sa_orderid, content.getLongValue("sa_accountclassid"));
+                sqlList.addAll(updateAccountclassinfos(sa_orderid, content.getLongValue("sa_accountclassid")));
             }
             if (billdate.equals("")) {
                 sqlFactory.addParameter_SQL("billdate", "createdate");
@@ -208,6 +210,7 @@ public class Order extends Controller {
 
         dbConnect.runSqlUpdate(sql);
 
+        dbConnect.runSqlUpdate(sqlList);
         content.put("sa_orderid", sa_orderid);
         return selectDetail();
     }
@@ -215,6 +218,7 @@ public class Order extends Controller {
     @API(title = "购物车转化订单", apiversion = R.ID20221128183202.v1.class)
     @CACHEING_CLEAN(apiClass = {Order.class, OrderItems.class, restcontroller.sale.order.Order.class})
     public String ship() throws YosException {
+        ArrayList<String> sqlList1 =new ArrayList<>();
         Long istool = content.getLongValue("istool");
         Long sa_brandid = 0L;
         String tradefield = content.getString("tradefield");
@@ -269,8 +273,10 @@ public class Order extends Controller {
         //营销账户类型ID
         if ((type.equals("标准订单") || type.equals("特殊订单")) && content.getString("tradefield").equals("整装工程")) {
             sqlFactory.addParameter("sa_accountclassid", "69");
+            sqlList1.addAll(updateAccountclassinfos(sa_orderid,69));
         } else {
             sqlFactory.addParameter("sa_accountclassid", beans.order.Order.getDefaultAccount(siteid, type));
+            sqlList1.addAll(updateAccountclassinfos(sa_orderid,beans.order.Order.getDefaultAccount(siteid, type)));
         }
 
         //品牌ID
@@ -351,6 +357,8 @@ public class Order extends Controller {
 
         dbConnect.runSqlUpdate(sqlList);
 
+        dbConnect.runSqlUpdate(sqlList1);
+
         ClearData.clearShoppingCart(this);
 
         return selectDetail();
@@ -2776,13 +2784,13 @@ public class Order extends Controller {
     /**
      * 更新订单扣款信息
      */
-    public void updateAccountclassinfos(Long sa_orderid,long sa_accountclassid) throws YosException {
+    public  ArrayList<String> updateAccountclassinfos(Long sa_orderid,long sa_accountclassid) throws YosException {
 
         Rows orderRows = getOrderRows(this, sa_orderid);
-
+        ArrayList<String> sqlList =new ArrayList<>();
 
         if (orderRows.isEmpty()) {
-            return;
+            return sqlList;
         }
         JSONArray jsonArray =new JSONArray();
         BigDecimal orderSumamount = BigDecimal.ZERO;
@@ -2791,7 +2799,7 @@ public class Order extends Controller {
             orderSumamount=orderSumamount.add(classamountrow.getBigDecimal("sumamount"));
         }
         if(orderSumamount.compareTo(getAmount(this,sa_orderid))!=0){
-            return;
+            return sqlList;
         }
 
         RowsMap classamountrowsMap =classamountrows.toRowsMap("topitemclassid");
@@ -2864,8 +2872,8 @@ public class Order extends Controller {
                 jsonArray.add(jsonObject);
             }
         }
-
-        dbConnect.runSqlUpdate("update sa_order set sa_accountclassinfos='"+jsonArray+"' where sa_orderid="+sa_orderid+" and siteid='"+siteid+"'");
+        sqlList.add("update sa_order set sa_accountclassinfos='"+jsonArray+"' where sa_orderid="+sa_orderid+" and siteid='"+siteid+"'");
+        return sqlList;
     }