Sfoglia il codice sorgente

账户增加绑定商品大类分类、最高抵扣比例

hu 2 anni fa
parent
commit
5a49340b88

+ 4 - 1
src/custom/restcontroller/R.java

@@ -4940,7 +4940,10 @@ public class R {
         public static class v1 {
         }
     }
-
+    public static class ID20230711135303 {
+        public static class v1 {
+        }
+    }
 }
 
 

+ 6 - 0
src/custom/restcontroller/webmanage/sale/accountclass/SQL/营销大类列表查询.sql

@@ -0,0 +1,6 @@
+select *  from plm_itemclass t1 where siteid=$siteid$ and parentid=0 and not exists (
+SELECT
+	t.v
+FROM
+	sa_accountclass,
+	JSON_TABLE(bindingcategories,"$[*]" COLUMNS ( v VARCHAR (128) PATH "$")) t where t.v=t1.itemclassid)

+ 2 - 0
src/custom/restcontroller/webmanage/sale/accountclass/SQL/营销账户类型列表查询.sql

@@ -4,6 +4,8 @@ select t1.sa_accountclassid,
        isorder,
        isused,
        isrebate,
+       t1.bindingcategories,
+       t1.maximumdiscount,
        ifnull(t2.balance, 0)     balance,
        ifnull(t2.creditquota, 0) creditquota
 from sa_accountclass t1

+ 6 - 2
src/custom/restcontroller/webmanage/sale/accountclass/SQL/营销账户类型新增.sql

@@ -4,14 +4,18 @@ INSERT INTO sa_accountclass (sa_accountclassid,
                                   accountname,
                                   isorder,
                                   isused,
-                                  isrebate)
+                                  isrebate,
+                                  bindingcategories,
+                                  maximumdiscount)
 VALUES ($sa_accountclassid$,
         $siteid$,
         $accountno$,
         $accountname$,
         $isorder$,
         0,
-        $isrebate$)
+        $isrebate$,
+        $bindingcategories$,
+        $maximumdiscount$)
 
 
 

+ 3 - 1
src/custom/restcontroller/webmanage/sale/accountclass/SQL/营销账户类型更新.sql

@@ -3,5 +3,7 @@ SET accountno=$accountno$,
     accountname=$accountname$,
     isorder=$isorder$,
     isrebate=$isrebate$,
-    isused=$isused$
+    isused=$isused$,
+    bindingcategories=$bindingcategories$,
+    maximumdiscount=$maximumdiscount$
 WHERE sa_accountclassid = $sa_accountclassid$ 

+ 42 - 2
src/custom/restcontroller/webmanage/sale/accountclass/accountclass.java

@@ -15,6 +15,7 @@ import common.data.SQLFactory;
 import restcontroller.R;
 import restcontroller.sale.creditbill.creditbill;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 
 @API(title = "营销账户类型")
@@ -30,7 +31,7 @@ public class accountclass extends Controller {
      *
      * @return
      */
-    @API(title = "营销账户类型新增修改", apiversion = R.ID20221008134703.v1.class,intervaltime = 200)
+    @API(title = "营销账户类型新增修改", apiversion = R.ID20221008134703.v1.class)
     @CACHEING_CLEAN(cms = {@cm(clazz = accountclass.class, method = {"queryAccountclass"}), @cm(clazz = creditbill.class, method = {"queryAccountclassList"})})
     public String insertormodify_accountclass() throws YosException {
         long sa_accountclassid = content.getLong("sa_accountclassid");
@@ -38,6 +39,9 @@ public class accountclass extends Controller {
         String accountname = content.getString("accountname");
         boolean isorder = content.getBoolean("isorder");
         boolean isrebate = content.getBooleanValue("isrebate");
+        JSONArray bindingcategories =content.getJSONArray("bindingcategories");
+        BigDecimal maximumdiscount = content.getBigDecimalValue("maximumdiscount");
+
         ArrayList<String> sqllist = new ArrayList<>();
         if (sa_accountclassid <= 0 || dbConnect
                 .runSqlQuery(
@@ -57,6 +61,8 @@ public class accountclass extends Controller {
             sqlAddFactory.addParameter("accountname", accountname);
             sqlAddFactory.addParameter("isorder", isorder);
             sqlAddFactory.addParameter("isrebate", isrebate);
+            sqlAddFactory.addParameter("maximumdiscount", maximumdiscount);
+            sqlAddFactory.addParameter("bindingcategories", bindingcategories);
             content.put("sa_accountclassid", sa_accountclassid);
             sqllist.add(sqlAddFactory.getSQL());
         } else {
@@ -90,6 +96,8 @@ public class accountclass extends Controller {
                 sqlUpdateFactory.addParameter("isorder", isuserdRows.get(0).getInteger("isorder"));
                 sqlUpdateFactory.addParameter("isused", content.getInteger("isused"));
                 sqlUpdateFactory.addParameter("isrebate", isuserdRows.get(0).getInteger("isrebate"));
+                sqlUpdateFactory.addParameter("maximumdiscount", maximumdiscount);
+                sqlUpdateFactory.addParameter("bindingcategories", bindingcategories);
             } else {
                 if (content.getInteger("isused") == 1 && isrebate) {
                     sqllist.add("update sa_accountclass set isrebate=0 where sa_accountclassid !=" + sa_accountclassid);
@@ -99,6 +107,8 @@ public class accountclass extends Controller {
                 sqlUpdateFactory.addParameter("isorder", isorder);
                 sqlUpdateFactory.addParameter("isused", content.getInteger("isused"));
                 sqlUpdateFactory.addParameter("isrebate", isrebate);
+                sqlUpdateFactory.addParameter("maximumdiscount", maximumdiscount);
+                sqlUpdateFactory.addParameter("bindingcategories", bindingcategories);
             }
             sqllist.add(sqlUpdateFactory.getSQL());
         }
@@ -106,6 +116,26 @@ public class accountclass extends Controller {
         return queryAccountclass();
     }
 
+    /**
+     * 查询营销大类
+     *
+     * @return
+     */
+    @API(title = "查询营销大类", apiversion = R.ID20230711135303.v1.class)
+    @CACHEING
+    public String queryitemclassTop() throws YosException {
+
+        /*
+         * SQL通告板块查询参数设置并查询
+         */
+        SQLFactory factory = new SQLFactory(this, "营销大类列表查询");
+        factory.addParameter("siteid", siteid);
+        Rows rows = dbConnect.runSqlQuery(factory.getSQL());
+
+
+        return getSucReturnObject().setData(rows).toString();
+    }
+
     /**
      * 查询营销账户类型
      *
@@ -140,11 +170,21 @@ public class accountclass extends Controller {
         factory.addParameter("sys_enterpriseid", sys_enterpriseid);
         factory.addParameter_SQL("where", where);
         Rows rows = dbConnect.runSqlQuery(factory.getSQL());
+
+        for (Row row:rows) {
+            JSONArray bindingcategories= row.getJSONArray("bindingcategories");
+            if(bindingcategories.size()>0){
+                Rows itemclassRows = dbConnect.runSqlQuery("select * from plm_itemclass where siteid='"+siteid+"' and classtype='营销' and itemclassid in"+bindingcategories.toJSONString().replace("[", "(").replace("]", ")"));
+                row.put("bindingcategories",itemclassRows.toJsonArray("itemclassname"));
+            }else{
+                row.put("bindingcategories",new JSONArray());
+            }
+        }
         return getSucReturnObject().setData(rows).toString();
     }
 
     /**
-     * 查询营销账户类型
+     * 查询营销账户余额
      *
      * @return
      */