Browse Source

订单管理

eganwu 1 năm trước cách đây
mục cha
commit
0591aa6b83

+ 5 - 0
src/custom/restcontroller/R.java

@@ -6294,6 +6294,11 @@ public class R {
         }
     }
 
+    public static class ID20240507100302 {
+        public static class v1 {
+        }
+    }
+
 
 }
 

+ 58 - 2
src/custom/restcontroller/webmanage/saletool/custorder/CustOrder.java

@@ -178,7 +178,7 @@ public class CustOrder extends Controller {
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_custorder",
                 "sa_custorderid", "sonum", "name", "phonenumber", "status", "createdate", "amount").setTableAlias("t1");
         querySQL.addJoinTable(JOINTYPE.left, "sa_custorderitems", "t2", "t2.sa_custorderid=t1.sa_custorderid and t2.siteid=t1.siteid"
-                , "pricetype", "price", "qty");
+                , "pricetype", "price", "qty", "sa_fadid");
         querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t4", "t4.sys_enterpriseid=t1.sys_enterpriseid and t4.siteid=t1.siteid"
                 , "enterprisename");
         querySQL.addQueryFields("itemname", "t2.name");
@@ -186,7 +186,6 @@ public class CustOrder extends Controller {
         querySQL.setSiteid(siteid);
         querySQL.setWhere("deleted", 0);
         querySQL.setWhere(where.toString());
-        querySQL.setWhere("createuserid", userid);
         querySQL.setPage(pageSize, pageNumber).setOrderBy(pageSorting);
         Rows rows = querySQL.query();
 
@@ -199,4 +198,61 @@ public class CustOrder extends Controller {
     }
 
 
+    @API(title = "我的订单列表", apiversion = R.ID20240507100302.v1.class)
+    public String myOrderList() throws YosException {
+
+        StringBuffer where = new StringBuffer(" 1=1 ");
+        if (content.containsKey("where")) {
+            JSONObject whereObject = content.getJSONObject("where");
+            if (whereObject.containsKey("condition") && !"".equals(whereObject.getString("condition"))) {
+                where.append(" and (");
+                where.append("t1.name like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append("or t1.phonenumber like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append("or t1.sonum like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append("or t2.name like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append(")");
+            }
+            if (whereObject.containsKey("status") && !"".equals(whereObject.getString("status"))) {
+                where.append(" and (");
+                where.append("t1.status='").append(whereObject.getString("status")).append("' ");
+                where.append(")");
+            }
+            if (whereObject.containsKey("begindate_create") && !"".equals(whereObject.getString("begindate_create"))) {
+                where.append(" and (");
+                where.append("t1.createdate >='").append(whereObject.getString("begindate_create")).append("' ");
+                where.append(")");
+            }
+            if (whereObject.containsKey("enddate_create") && !"".equals(whereObject.getString("enddate_create"))) {
+                where.append(" and (");
+                where.append("t1.createdate <='").append(whereObject.getString("enddate_create")).append(" 23:59:59' ");
+                where.append(")");
+            }
+        }
+
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_custorder",
+                "sa_custorderid", "sonum",  "status",  "amount").setTableAlias("t1");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_custorderitems", "t2", "t2.sa_custorderid=t1.sa_custorderid and t2.siteid=t1.siteid"
+                ,  "price", "qty");
+        querySQL.addQueryFields("itemname", "t2.name");
+
+        querySQL.setSiteid(siteid);
+        querySQL.setWhere("deleted", 0);
+        querySQL.setWhere(where.toString());
+        querySQL.setWhere("createuserid", userid);
+        querySQL.setPage(pageSize, pageNumber).setOrderBy(pageSorting);
+        Rows rows = querySQL.query();
+        ArrayList<Long> ids = rows.toArrayList("sa_fadid", new ArrayList<>());
+        RowsMap rowsMap = getAttachmentUrl("sa_fad", ids);
+        for (Row row : rows) {
+            Rows attRows = rowsMap.getOrDefault(row.getString("sa_fadid"), new Rows());
+            attRows.sortby("sequence", "linksid");
+            row.put("attinfos", attRows);
+            row.putIfAbsent("paytime", "");
+        }
+
+
+        return getSucReturnObject().setData(rows).toString();
+    }
+
+
 }