Procházet zdrojové kódy

代用户下单筛选手机号修复

xuzhiheng před 2 roky
rodič
revize
c4a1f3a0af
2 změnil soubory, kde provedl 20 přidání a 15 odebrání
  1. 1 1
      src/order/optimizeOrder.go
  2. 19 14
      src/order/orderManageController.go

+ 1 - 1
src/order/optimizeOrder.go

@@ -115,7 +115,7 @@ func FindUserAccount(context *admin.Context) (interface{}, error) {
 			{"s_phone": param.Phone},
 			{"s_m_phone": param.Phone}},
 	}, `{"s_phone":-1}`, `{"s_phone":1,"s_m_phone":1,"_id":1,"s_nickname":1}`, false, -1, -1)
-	if userData != nil && len(*userData) > 0 && ok {
+	if ok && userData != nil && len(*userData) > 0 {
 		for _, v := range *userData {
 			s_m_phone := qutil.ObjToString(v["s_m_phone"])
 			s_phone := qutil.ObjToString(v["s_phone"])

+ 19 - 14
src/order/orderManageController.go

@@ -354,26 +354,31 @@ func orderList(context *admin.Context) (interface{}, error) {
 		str += "  e.course_status = " + courseStatus + " and"
 	}
 	if param.Phone != "" {
-		userId := ""
-		//mongo手机号处理
-		userData, ok := util.MQFW.FindOne("user", map[string]interface{}{"s_phone": param.Phone})
+		// userId := ""
+		userIdArr := []string{}
+		userData, ok := util.MQFW.Find("user", map[string]interface{}{
+			"i_appid": 2,
+			"$or": []map[string]interface{}{
+				{"s_phone": param.Phone},
+				{"s_m_phone": param.Phone}},
+		}, `{"s_phone":-1}`, `{"s_phone":1,"s_m_phone":1,"_id":1,"s_nickname":1}`, false, -1, -1)
 		if ok && userData != nil && len(*userData) > 0 {
-			userId = "'" + mongodb.BsonIdToSId((*userData)["_id"]) + "'"
-		} else {
-			userData, ok := util.MQFW.FindOne("user", map[string]interface{}{"s_m_phone": param.Phone})
-			if ok && userData != nil && len(*userData) > 0 {
-				if userId == "" {
-					userId = "'" + mongodb.BsonIdToSId((*userData)["_id"]) + "'"
-				}
+			for _, v := range *userData {
+				userIdArr = append(userIdArr, mongodb.BsonIdToSId(v["_id"]))
 			}
 		}
-		if userId == "" {
+		if len(userIdArr) > 0 {
+			userIdStr := ``
+			if len(userIdArr) == 1 {
+				userIdStr = `"` + userIdArr[0] + `"`
+			} else {
+				userIdStr = `"` + userIdArr[0] + `","` + userIdArr[1] + `"`
+			}
+			str += " (( e.user_id in (" + userIdStr + " ))  OR ( e.user_phone like '%" + param.Phone + "%' AND e.is_backstage_order = 1 )  ) and"
+		} else {
 			str += " ( e.user_phone like '%" + param.Phone + "%' AND e.is_backstage_order = 1 )   and"
 
-		} else {
-			str += " (( e.user_id =" + userId + " )  OR ( e.user_phone like '%" + param.Phone + "%' AND e.is_backstage_order = 1 )  ) and"
 		}
-
 	}
 	sqlFind := fmt.Sprintf("select e.company_name, e.id,e.order_code,e.product_type,e.create_time,e.pay_money,e.order_money,e.order_status,e.applybill_status,e.filter,e.dis_word,e.vip_type,e.pay_way,e.course_status,e.refund_status,e.return_status,e.user_phone,e.distribution_channel,e.order_channel,e.signing_subject,e.user_id,e.salesperson,e.salesperson_id,e.audit_status from %s e ", DataExportOrder)
 	sqlCount := fmt.Sprintf("SELECT count(*) FROM %s e", DataExportOrder)