Browse Source

经销商不能同时创建两个经销商角色的账号。

eganwu 1 year ago
parent
commit
b8e730ea57

+ 24 - 2
src/custom/restcontroller/webmanage/sale/enterprise/enterprise.java

@@ -26,6 +26,8 @@ import utility.tools.WebRequest;
 
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 public class enterprise extends Controller {
 
@@ -418,6 +420,12 @@ public class enterprise extends Controller {
     public String insertormodify_enterprise() throws YosException {
         long sys_enterpriseid = content.getLongValue("sys_enterpriseid");//商户档案id,新增时传0
         String tablename = "sys_enterprise";
+        String phonenumber = content.getStringValue("phonenumber", tablename);
+
+        boolean isValidPhoneNumber = validatePhoneNumber(phonenumber);
+        if (!isValidPhoneNumber) {
+            return getErrReturnObject().setErrMsg("请输入正确的手机号").toString();
+        }
 
         ArrayList<String> sqllist = new ArrayList<>();
         SQLFactory sqlFactory = new SQLFactory(this, "商户档案新增");
@@ -433,11 +441,15 @@ public class enterprise extends Controller {
         sqlFactory.addParameter("enterprisename", content.getStringValue("enterprisename", tablename));
         sqlFactory.addParameter("address", content.getStringValue("address", tablename));
         sqlFactory.addParameter("contact", content.getStringValue("contact", tablename));
-        Rows rows = dbConnect.runSqlQuery("select t1.sys_enterpriseid,t2.agentnum from sys_enterprise t1 left join sa_agents t2 on t1.sys_enterpriseid=t2.sys_enterpriseid and t1.siteid=t2.siteid where t1.sys_enterpriseid!=" + sys_enterpriseid + " and t1.siteid='" + siteid + "' and t1.phonenumber='" + content.getStringValue("phonenumber", tablename) + "'");
+        Rows rows = dbConnect.runSqlQuery("select t1.sys_enterpriseid,t2.agentnum from sys_enterprise t1 " +
+                "left join sa_agents t2 on t1.sys_enterpriseid=t2.sys_enterpriseid and t1.siteid=t2.siteid " +
+                "where t1.sys_enterpriseid!=" + sys_enterpriseid + " and t1.siteid='" + siteid + "' and t1.phonenumber='" + phonenumber + "'");
         if (!rows.isEmpty()) {
             return getErrReturnObject().setErrMsg("与经销商编码" + rows.get(0).getString("agentnum") + "联系方式重复,无法保存").toString();
         }
-        sqlFactory.addParameter("phonenumber", content.getStringValue("phonenumber", tablename));
+
+
+        sqlFactory.addParameter("phonenumber", phonenumber);
         sqlFactory.addParameter("province", content.getStringValue("province", tablename));
         sqlFactory.addParameter("city", content.getStringValue("city", tablename));
         sqlFactory.addParameter("county", content.getStringValue("county", tablename));
@@ -507,6 +519,12 @@ public class enterprise extends Controller {
         return query_enterpriseMain();
     }
 
+    private static boolean validatePhoneNumber(String number) {
+        Pattern pattern = Pattern.compile("^[1][0-9]{10}$"); // 定义手机号码格式的正则表达式
+        Matcher matcher = pattern.matcher(number);
+        return matcher.matches(); // 返回true表示匹配成功,false表示不匹配或者输入为空
+    }
+
     @API(title = "商户档案删除", apiversion = R.ID20220920084201.v1.class)
     @CACHEING_CLEAN(apiversions = {R.ID20220920083901.class, R.ID20220920084001.class, R.ID20221022165203.class})
     public String delete_enterprise() throws YosException {
@@ -565,6 +583,10 @@ public class enterprise extends Controller {
     public String createMainUser() throws YosException {
         long sys_enterpriseid = content.getLongValue("sys_enterpriseid");
 
+        if (dbConnect.runSqlQuery("select * from sys_enterprise_hr where sys_enterpriseid='" + sys_enterpriseid + "' and isleader=1 and siteid='" + siteid + "'").isNotEmpty()) {
+            return getErrReturnObject().setErrMsg("创建失败,已存在负责人账号").toString();
+        }
+
         Rows rows = dbConnect.runSqlQuery("select * from sys_enterprise where siteid='" + siteid + "' and sys_enterpriseid=" + sys_enterpriseid);
         if (rows.isEmpty()) {
             return getErrReturnObject().setErrMsg("商户档案不存在").toString();

+ 8 - 1
src/custom/restcontroller/webmanage/sale/order/Order.java

@@ -264,7 +264,7 @@ public class Order extends Controller {
         ArrayList<String> sqlList1 = new ArrayList<>();
         Long istool = content.getLongValue("istool");
         Long sa_brandid = 0L;
-        String tradefield = content.getString("tradefield");
+        String tradefield = content.getStringValue("tradefield");
         Long sa_promotionid = content.getLongValue("sa_promotionid");
 
         JSONArray items = content.getJSONArray("items");
@@ -301,6 +301,13 @@ public class Order extends Controller {
 //        if (dbConnect.runSqlQuery(sql).get(0).getLong("count") != itemidids.size()) {
 //            return getErrReturnObject().setErrMsg("请添加同一领域的商品").toString();
 //        }
+        if (sa_promotionid > 0) {
+            Rows rows = dbConnect.runSqlQuery("SELECT * from sa_promotion WHERE sa_promotionid=" + sa_promotionid + " and siteid='" + siteid + "'");
+            if (rows.isNotEmpty()) {
+                tradefield = rows.get(0).getString("tradefield");
+            }
+        }
+
 
         if (dbConnect.runSqlQuery("SELECT 1 FROM sa_agents WHERE siteid='" + siteid + "' AND `status`='启用' AND sys_enterpriseid=" + sys_enterpriseid).isEmpty()) {
             return getErrReturnObject().setErrMsg("当前企业不存在或已禁用,无法下单").toString();