浏览代码

Merge branch 'CRM_14.7.2' into debug

zwxi 11 月之前
父节点
当前提交
c5646fe46e
共有 4 个文件被更改,包括 82 次插入37 次删除
  1. 10 0
      models/comein_white_user.go
  2. 3 3
      models/company_product.go
  3. 68 34
      services/comein/comein.go
  4. 1 0
      services/task.go

+ 10 - 0
models/comein_white_user.go

@@ -32,4 +32,14 @@ func DelComeinWhiteUserMulti(delIds []int) (err error) {
 	o:=orm.NewOrm()
 	_, err=o.Raw(sql, delIds).Exec()
 	return
+}
+
+func GetComeinWhiteUser(mobiles,emails string) (items []*ComeinWhiteUser, err error) {
+	sql:=`SELECT * from comein_white_user WHERE 1=1 AND mobile IN (` + mobiles + `)  `
+	if emails != "" {
+		sql+= ` OR email IN (` + emails + `) `
+	}
+		o:=orm.NewOrm()
+	_, err=o.Raw(sql).QueryRows(&items)
+	return
 }

+ 3 - 3
models/company_product.go

@@ -336,7 +336,7 @@ func GetRemindCompany(sellerId int, endDate string) (items []*CompanyProduct, er
 	company a
 	INNER JOIN company_product AS b ON a.company_id = b.company_id 
 WHERE
-	(b.seller_id = ? OR a.share_seller_id =?)
+	(b.seller_id = ? OR b.share_seller_id =?)
 	AND (
 		( b.contract_end_date = ? AND b.status = "正式" )  OR (b.end_date = ? AND b.status = "试用")
   ) ORDER BY b.status DESC `
@@ -430,7 +430,7 @@ func GetCompanyProductItemListByCompanyIdList(companyIdList []int, productId int
 		return
 	}
 	o := orm.NewOrm()
-	sql := `SELECT a.*,b.is_share,b.share_seller,b.share_seller_id FROM company_product as a 
+	sql := `SELECT a.* FROM company_product as a 
          JOIN company b on a.company_id=b.company_id
          WHERE a.company_id in (` + utils.GetOrmInReplace(num) + `) AND a.product_id = ? `
 	_, err = o.Raw(sql, companyIdList, productId).QueryRows(&items)
@@ -448,7 +448,7 @@ func GetCompanyProductItemListByCompanyIdList(companyIdList []int, productId int
 // @return err error
 func GetCompanyProductItemByCompanyId(companyId int, productId int) (items *CompanyProductItem, err error) {
 	o := orm.NewOrm()
-	sql := `SELECT a.*,b.is_share,b.share_seller,b.share_seller_id FROM company_product as a 
+	sql := `SELECT a.* FROM company_product as a 
          JOIN company b on a.company_id=b.company_id
          WHERE a.company_id = ? AND a.product_id = ? `
 	_, err = o.Raw(sql, companyId, productId).QueryRows(&items)

+ 68 - 34
services/comein/comein.go

@@ -14,6 +14,7 @@ import (
 	"net/url"
 	"sort"
 	"strconv"
+	"strings"
 	"time"
 )
 
@@ -317,7 +318,7 @@ func InitAddWhiteList() (err error) {
 		//	Areacode: v.Areacode,
 		//}
 		request.Whitelist = append(request.Whitelist, v)
-		if count < 17000 && (len(whiteList)-i-1) > 0 {
+		if count < 10000 && (len(whiteList)-i-1) > 0 {
 			count++
 			continue
 		}
@@ -363,15 +364,15 @@ func InitAddWhiteList() (err error) {
 			return
 		}
 
-		utils.FileLog.Info(fmt.Sprint("comein addWhitelist Result", ";url:", postUrl, ";\nresponse:", string(body)))
+		utils.FileLog.Info(fmt.Sprint("comein addWhitelist Result", ";url:", postUrl, ";\nrequest:", jsonData, ";\nresponse:", string(body)))
 		err = json.Unmarshal(body, &result)
 		if err != nil {
-			utils.FileLog.Info("comein addWhitelist Err:", err.Error(), ";url:", postUrl, ";response:", string(body))
+			utils.FileLog.Info(fmt.Sprint("comein addWhitelist Result", ";url:", postUrl, ";\nrequest:", jsonData, ";\nresponse:", string(body)))
 			err = errors.New("Unmarshal Err:" + err.Error())
 			return
 		}
 		if result.ErrorCode != "0" {
-			utils.FileLog.Info("comein addWhitelist Err:", err.Error(), ";url:", postUrl, ";response:", string(body))
+			utils.FileLog.Info(fmt.Sprint("comein addWhitelist Result", ";url:", postUrl, ";\nrequest:", request, ";\nresponse:", string(body)))
 			err = errors.New(result.ErrorDesc)
 			return
 		}
@@ -477,66 +478,95 @@ func SyncWhiteList(cont context.Context) (err error) {
 		fmt.Println("GetUserMobileFormal Err:", err.Error())
 		return
 	}
+	addMobiles := ""
+	addemails := ""
 	addList := make([]*models.ComeinWhiteUser, 0)
 	for _, v := range needAddList {
 		if _, ok := syncedMap[v.Mobile+v.Email]; !ok {
 			user := models.ComeinWhiteUser{
 				Mobile:      v.Mobile,
-				CountryCode: v.CountryCode,
+				CountryCode: "+"+v.CountryCode,
 				Email:       v.Email,
 				IsFake:      0,
 			}
 			addList = append(addList, &user)
+
+
+			if v.Mobile != "" {
+				//addMobiles = append(addMobiles,"'"+ v.Mobile+"'")
+				addMobiles += "'"+ v.Mobile+"'"+","
+			} else if v.Email != "" {
+				//addemails = append(addemails,"'"+ v.Email+"'")
+				addemails += "'"+ v.Email+"'"+","
+			}
 		}
 	}
-	err = syncWhiteList(addList, 1)
-	if err != nil {
-		fmt.Println("新增白名单失败", err.Error())
-		return
-	}
-	err = models.AddComeinWhiteUserMulti(addList)
-	if err != nil {
-		fmt.Println("新增白名单失败,AddComeinWhiteUserMulti", err.Error())
-		return
+	addMobiles = strings.TrimSuffix(addMobiles, ",")
+	addemails = strings.TrimSuffix(addemails, ",")
+	if len(addList) > 0 {
+		err = models.AddComeinWhiteUserMulti(addList)
+		if err != nil {
+			fmt.Println("新增白名单失败,AddComeinWhiteUserMulti", err.Error())
+			return
+		}
+		err = syncWhiteList(addMobiles,addemails, 1)
+		if err != nil {
+			fmt.Println("新增白名单失败", err.Error())
+			return
+		}
 	}
 
+
 	//拿联系人表,需要删除的
 	needDelList, err := models.GetUserMobileNotFormal()
 	if err != nil {
 		fmt.Println("GetUserMobileFormal Err:", err.Error())
 		return
 	}
+	delMobiles := ""
+	delEmials := ""
 	delList := make([]*models.ComeinWhiteUser, 0)
 	for _, v := range needDelList {
 		if _, ok := syncedMap[v.Mobile+v.Email]; ok {
 			user := models.ComeinWhiteUser{
+				UserId: v.UserId,
 				Mobile:      v.Mobile,
-				CountryCode: v.CountryCode,
+				CountryCode: "+"+v.CountryCode,
 				Email:       v.Email,
 				IsFake:      0,
 			}
 			delList = append(delList, &user)
+
+			if v.Mobile != "" {
+				//delMobiles = append(delMobiles, "'"+v.Mobile+"'")
+				delMobiles += "'"+v.Mobile+"'"+","
+			} else if v.Email != "" {
+				//delEmials = append(delEmials, "'"+v.Email+"'")
+				delEmials += "'"+v.Email+"'"+","
+			}
 		}
 	}
-	err = syncWhiteList(delList, 2)
-	if err != nil {
-		fmt.Println("删除白名单失败", err.Error())
-		return
-	}
-	delIds := make([]int, 0)
-	for _, v := range delList {
-		delIds = append(delIds, v.UserId)
-	}
-	err = models.DelComeinWhiteUserMulti(delIds)
-	if err != nil {
-		fmt.Println("删除白名单失败,DelComeinWhiteUserMulti", err.Error())
-		return
+	if len(delList) > 0 {
+		err = syncWhiteList(delMobiles, delEmials, 2)
+		if err != nil {
+			fmt.Println("删除白名单失败", err.Error())
+			return
+		}
+		delIds := make([]int, 0)
+		for _, v := range delList {
+			delIds = append(delIds, v.UserId)
+		}
+		err = models.DelComeinWhiteUserMulti(delIds)
+		if err != nil {
+			fmt.Println("删除白名单失败,DelComeinWhiteUserMulti", err.Error())
+			return
+		}
 	}
 
 	return
 }
 
-func syncWhiteList(list []*models.ComeinWhiteUser, opt int) (err error) {
+func syncWhiteList(mobiles, emails string, opt int) (err error) {
 	postUrl := utils.COMEIN_URL
 
 	timestamp := fmt.Sprintf("%d", time.Now().UnixNano()/1e6)
@@ -551,11 +581,15 @@ func syncWhiteList(list []*models.ComeinWhiteUser, opt int) (err error) {
 	}
 
 	whiteList := make([]yb.Whitelist, 0)
+	list, err := models.GetComeinWhiteUser(mobiles, emails)
+	if err != nil {
+		return
+	}
 	for _, v := range list {
 		whiteUser := yb.Whitelist{}
 		if v.Mobile != "" {
 			whiteUser.Phone = v.Mobile
-			whiteUser.Areacode = "+" + v.CountryCode
+			whiteUser.Areacode = v.CountryCode
 			whiteUser.Guid = utils.MD5(strconv.Itoa(v.UserId))
 
 			whiteList = append(whiteList, whiteUser)
@@ -631,7 +665,7 @@ func CheckComeinWhiteList() (err error) {
 		"appId":     utils.COMEIN_WHITELIST_APPID,
 		"signature": signature,
 		"timestamp": timestamp,
-		"phone":     "18958041673",
+		"phone":     "138108810525",
 	}
 
 	paramStr := ``
@@ -702,9 +736,9 @@ func AddWhiteList() (err error) {
 	postUrl := utils.COMEIN_URL
 
 	whiteUser := yb.Whitelist{}
-	whiteUser.Phone = "18958041673"
+	whiteUser.Phone = "188286375317"
 	whiteUser.Areacode = "+86"
-	whiteUser.Guid = utils.MD5(strconv.Itoa(114808))
+	whiteUser.Guid = "26968fa5f8753ffdbaaab97fbe092f4f"
 
 	request := yb.SyncWhitelist{
 		Opt:   1,
@@ -785,7 +819,7 @@ func CheckComeinWhiteListByJobId() (err error) {
 	}
 
 	paramsMap := map[string]string{
-		"jobId": "52b7fcf4-304b-4061-8139-0ad1a3d1bde6",
+		"jobId": "a180a8a4-a674-48ce-aa96-5a373c7dcc9c",
 	}
 
 	paramStr := ``

+ 1 - 0
services/task.go

@@ -38,6 +38,7 @@ func InitTask() {
 			go alarm_msg.SendAlarmMsg(utils.APPNAME+"崩了"+time.Now().Format("2006-01-02 15:04:05")+"\n"+stack, 3)
 		}
 	}()
+	comein.SyncWhiteList(nil)
 	// 实际开始定时任务
 	Task()
 }