|
@@ -1945,7 +1945,16 @@ func (this *CompanyUserController) EditUser() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
if wxUser.BusinessCardUrl != req.BusinessCardUrl {
|
|
|
+
|
|
|
+ crmConfig, err := company.GetConfigDetailByCode("card_recognition_company_name")
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取配置失败"
|
|
|
+ br.ErrMsg = "获取配置失败"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
|
|
|
crmConfig2, err := company.GetConfigDetailByCode("card_recognition_tel")
|
|
|
if err != nil {
|
|
@@ -1954,45 +1963,85 @@ func (this *CompanyUserController) EditUser() {
|
|
|
br.IsSendEmail = false
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ companyInfo, err := company.GetCompanyById(req.CompanyId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "查找客户失败"
|
|
|
+ br.ErrMsg = "查找客户失败,err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ companyName := companyInfo.CompanyName
|
|
|
+
|
|
|
+ companyName = utils.TrimStr(companyName)
|
|
|
+ tmpCompanyNameList, err := elastic.Analyze(companyName)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "添加失败"
|
|
|
+ br.ErrMsg = "客户名称分词失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ analyzeNameList := []string{companyName}
|
|
|
+ for _, v := range tmpCompanyNameList {
|
|
|
+ if v == "" {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ ignoreStrs := []string{"", "有限", "投资", "资本", "管理", "贸易", "资产", "公司", "股份", "集团", "有限公司"}
|
|
|
+ if !strings.Contains(strings.Join(ignoreStrs, ","), v) && utf8.RuneCount([]byte(v)) > 1 {
|
|
|
+
|
|
|
+ analyzeNameList = append(analyzeNameList, v)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ companyNameSlice := make([]string, 0)
|
|
|
card, err := services.GetBusinessCard(req.BusinessCardUrl)
|
|
|
if err != nil {
|
|
|
br.Msg = "名片识别失败"
|
|
|
br.ErrMsg = "名片识别失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- if card.Errno != 0 {
|
|
|
- br.Msg = "您上传了非名片图片,请重新上传"
|
|
|
- br.ErrMsg = "名片识别失败,ErrMsg:" + card.ErrorMsg + ";errCode:" + strconv.Itoa(card.Errno)
|
|
|
- return
|
|
|
- }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- mobileStr := strings.Join(card.WordsResult.MOBILE, ",")
|
|
|
isFlag := false
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- if req.MobileOne != "" && strings.Contains(mobileStr, req.MobileOne) {
|
|
|
- isFlag = true
|
|
|
- }
|
|
|
- if req.MobileTwo != "" && strings.Contains(mobileStr, req.MobileTwo) {
|
|
|
- isFlag = true
|
|
|
+ if len(card.WordsResult.MOBILE) > 0 {
|
|
|
+ mobileStr := strings.Join(card.WordsResult.MOBILE, ",")
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if req.MobileOne != "" && strings.Contains(mobileStr, req.MobileOne) {
|
|
|
+ isFlag = true
|
|
|
+ }
|
|
|
+ if req.MobileTwo != "" && strings.Contains(mobileStr, req.MobileTwo) {
|
|
|
+ isFlag = true
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(card.WordsResult.COMPANY) > 0 && card.WordsResult.COMPANY[0] != "" {
|
|
|
+ companyNameSlice = card.WordsResult.COMPANY
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
- if !isFlag {
|
|
|
+
|
|
|
+ if !isFlag || (len(companyNameSlice) == 0 && crmConfig.ConfigValue == "true") {
|
|
|
|
|
|
aliyunResult, errMsg, err := services.AliyunOcrBusinessCard(req.BusinessCardUrl)
|
|
|
if err != nil {
|
|
@@ -2009,21 +2058,62 @@ func (this *CompanyUserController) EditUser() {
|
|
|
br.Msg = errMsg
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
- mobileStr := strings.Join(aliyunResult.TelCell, ",")
|
|
|
- if req.MobileOne != "" {
|
|
|
- if strings.Contains(mobileStr, req.MobileOne) {
|
|
|
- isFlag = true
|
|
|
+
|
|
|
+ if !isFlag {
|
|
|
+ if len(aliyunResult.TelCell) > 0 {
|
|
|
+ mobileStr := strings.Join(aliyunResult.TelCell, ",")
|
|
|
+ if req.MobileOne != "" {
|
|
|
+ if strings.Contains(mobileStr, req.MobileOne) {
|
|
|
+ isFlag = true
|
|
|
+ } else {
|
|
|
+ isFlag = false
|
|
|
+ }
|
|
|
+ }
|
|
|
} else {
|
|
|
- isFlag = false
|
|
|
+ isFlag = true
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ if len(aliyunResult.Company) > 0 {
|
|
|
+ companyNameSlice = append(companyNameSlice, aliyunResult.Company...)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if !isFlag && crmConfig2.ConfigValue == "true" {
|
|
|
br.Msg = "名片手机号与所填手机号不匹配,请重新填写"
|
|
|
+ br.IsSendEmail = false
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ if len(companyNameSlice) > 0 && crmConfig.ConfigValue == "true" {
|
|
|
+ isCompanyNameFlag := false
|
|
|
+
|
|
|
+ for _, tmpCompanyName := range companyNameSlice {
|
|
|
+
|
|
|
+ if companyName == "" {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ for _, analyzeName := range analyzeNameList {
|
|
|
+
|
|
|
+ if strings.Contains(tmpCompanyName, analyzeName) {
|
|
|
+ isCompanyNameFlag = true
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if isCompanyNameFlag {
|
|
|
+ break
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ if !isCompanyNameFlag {
|
|
|
+ br.Msg = "名片中客户名称不一致"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|