|
@@ -16,6 +16,7 @@ import (
|
|
|
"hongze/hz_crm_api/models/system"
|
|
|
"hongze/hz_crm_api/models/yb"
|
|
|
"hongze/hz_crm_api/services"
|
|
|
+ cygxService "hongze/hz_crm_api/services/cygx"
|
|
|
"hongze/hz_crm_api/services/elastic"
|
|
|
"hongze/hz_crm_api/utils"
|
|
|
"os"
|
|
@@ -484,7 +485,9 @@ func (this *CompanyUserController) AddUser() {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if req.BusinessCardUrl != "" && utils.RunMode == "release" {
|
|
|
+
|
|
|
+ //if req.BusinessCardUrl != "" && utils.RunMode == "release" {
|
|
|
+ if req.BusinessCardUrl != "" {
|
|
|
// 获取图片识别客户名称的配置
|
|
|
crmConfig, err := company.GetConfigDetailByCode("card_recognition_company_name")
|
|
|
if err != nil {
|
|
@@ -549,34 +552,39 @@ func (this *CompanyUserController) AddUser() {
|
|
|
//for _, v := range card.WordsResult {
|
|
|
// mobileStr += v.Words + ","
|
|
|
//}
|
|
|
- isFlag := true
|
|
|
+ isFlag := false
|
|
|
if len(card.WordsResult.MOBILE) > 0 {
|
|
|
mobileStr := strings.Join(card.WordsResult.MOBILE, ",")
|
|
|
- if req.MobileOne != "" {
|
|
|
- if strings.Contains(mobileStr, req.MobileOne) || mobileStr == "" {
|
|
|
- isFlag = true
|
|
|
- } else {
|
|
|
- isFlag = false
|
|
|
- }
|
|
|
+ //if req.MobileOne != "" {
|
|
|
+ // if strings.Contains(mobileStr, req.MobileOne) || mobileStr == "" {
|
|
|
+ // isFlag = true
|
|
|
+ // } else {
|
|
|
+ // isFlag = false
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ //
|
|
|
+ //if isFlag == false && req.MobileTwo != "" {
|
|
|
+ // if strings.Contains(mobileStr, req.MobileTwo) {
|
|
|
+ // isFlag = true
|
|
|
+ // } else {
|
|
|
+ // isFlag = false
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ if req.MobileOne != "" && strings.Contains(mobileStr, req.MobileOne) {
|
|
|
+ isFlag = true
|
|
|
}
|
|
|
-
|
|
|
- if isFlag == false && req.MobileTwo != "" {
|
|
|
- if strings.Contains(mobileStr, req.MobileTwo) {
|
|
|
- isFlag = true
|
|
|
- } else {
|
|
|
- isFlag = false
|
|
|
- }
|
|
|
+ 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 || (len(companyNameSlice) == 0 && crmConfig.ConfigValue == "true") {
|
|
|
//阿里云识别
|
|
|
- aliyunResult, err := services.AliyunBusinessCardOcr(req.BusinessCardUrl)
|
|
|
+ aliyunResult, errMsg, err := services.AliyunOcrBusinessCard(req.BusinessCardUrl)
|
|
|
if err != nil {
|
|
|
br.Msg = "识别失败"
|
|
|
br.ErrMsg = "识别失败,Err:" + err.Error()
|
|
@@ -587,6 +595,10 @@ func (this *CompanyUserController) AddUser() {
|
|
|
br.ErrMsg = "识别失败"
|
|
|
return
|
|
|
}
|
|
|
+ if errMsg != "" {
|
|
|
+ br.Msg = errMsg
|
|
|
+ return
|
|
|
+ }
|
|
|
//如果百度没有识别出来手机号,那么还需要阿里识别出来的手机号校验下
|
|
|
if !isFlag {
|
|
|
if len(aliyunResult.TelCell) > 0 {
|
|
@@ -609,7 +621,7 @@ func (this *CompanyUserController) AddUser() {
|
|
|
}
|
|
|
|
|
|
if !isFlag && crmConfig2.ConfigValue == "true" {
|
|
|
- br.Msg = "名片手机号与所填手机号不匹配,请重新填写"
|
|
|
+ br.Msg = "名片信息与联系人手机号不符"
|
|
|
br.IsSendEmail = false
|
|
|
return
|
|
|
}
|
|
@@ -638,7 +650,7 @@ func (this *CompanyUserController) AddUser() {
|
|
|
}
|
|
|
//如果没有匹配到客户名称,那么就返回报错
|
|
|
if !isCompanyNameFlag {
|
|
|
- br.Msg = "名片中客户名称不一致"
|
|
|
+ br.Msg = "名片信息与公司名称不符"
|
|
|
br.IsSendEmail = false
|
|
|
return
|
|
|
}
|
|
@@ -824,7 +836,6 @@ func (this *CompanyUserController) List() {
|
|
|
br.Ret = 408
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
pageSize, _ := this.GetInt("PageSize")
|
|
|
currentIndex, _ := this.GetInt("CurrentIndex")
|
|
|
companyId, _ := this.GetInt("CompanyId")
|
|
@@ -1210,7 +1221,7 @@ func (this *CompanyUserController) List() {
|
|
|
list[i].LastViewTimeStr = tmpLastViewTime.Format(utils.FormatDateTime)
|
|
|
}
|
|
|
|
|
|
- if list[i].LastViewTime.Before(time.Now().AddDate(0,0,-7)) && list[i].IsFollow == 1 {
|
|
|
+ if list[i].LastViewTime.Before(time.Now().AddDate(0, 0, -7)) && list[i].IsFollow == 1 {
|
|
|
list[i].NotRead = true
|
|
|
}
|
|
|
|
|
@@ -1236,9 +1247,47 @@ func (this *CompanyUserController) List() {
|
|
|
list[i].IsChartPermissionSetting = 1
|
|
|
}
|
|
|
}
|
|
|
+ }
|
|
|
+
|
|
|
+ isUserYanXuanButtonShow, err := services.CheckCompanyUserYanXuanButton(sysUser.RoleTypeCode, sysUser.Mobile)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取专项调研信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if isUserYanXuanButtonShow {
|
|
|
+ userYanxuanPermissionMap := cygxService.GetCygxUserYanxuanPermissionMapItem(userIds) // 如果是权益部门下的人,则展示研选相关的信息
|
|
|
+ userInteractionNumMap := cygxService.GetUserInteractionNumMap(userIds) // 如果是权益部门下的人,展示互动量相关的信息
|
|
|
|
|
|
- // 分产品阅读统计
|
|
|
- list[i].YbProductViewTotal = userYbViewsMap[int(list[i].UserId)]
|
|
|
+ mfyxuserRecordRegisterMap := make(map[int]string)
|
|
|
+ if len(userIdSlice) > 0 {
|
|
|
+ //用户绑定注册数据
|
|
|
+ mfyxuserRecordRegisterList, _ := models.GetUserRecordRegisterByUserIdsMyfx(userIdStr)
|
|
|
+ for _, userRecordRegister := range mfyxuserRecordRegisterList {
|
|
|
+ mfyxuserRecordRegisterMap[userRecordRegister.UserId] = userRecordRegister.CreateTime.Format(utils.FormatDateTime)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for i := 0; i < lenList; i++ {
|
|
|
+ item := list[i]
|
|
|
+ // 分产品阅读统计
|
|
|
+ list[i].YbProductViewTotal = userYbViewsMap[int(item.UserId)]
|
|
|
+ list[i].MfyxInteractionNum = userInteractionNumMap[int(item.UserId)]
|
|
|
+ //权益销售查看用户研选的信息
|
|
|
+ if userYanxuanPermissionMap[int(item.UserId)] != nil {
|
|
|
+ mfyxItem := userYanxuanPermissionMap[int(item.UserId)]
|
|
|
+ list[i].MfyxStatus = mfyxItem.Status
|
|
|
+ list[i].MfyxStartDate = mfyxItem.StartDate
|
|
|
+ list[i].MfyxEndDate = mfyxItem.EndDate
|
|
|
+ } else {
|
|
|
+ list[i].MfyxStatus = "未开通"
|
|
|
+ }
|
|
|
+ if mfyxuserRecordRegisterMap[int(item.UserId)] != "" {
|
|
|
+ list[i].MfyxIsBinding = true
|
|
|
+ list[i].MfyxBindingTime = mfyxuserRecordRegisterMap[int(item.UserId)]
|
|
|
+ }
|
|
|
+ list[i].LastViewTimeStr = list[i].RaiLastViewTime.Format(utils.FormatDateTime)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1895,7 +1944,17 @@ func (this *CompanyUserController) EditUser() {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if wxUser.BusinessCardUrl != req.BusinessCardUrl && utils.RunMode == "release" {
|
|
|
+ //if wxUser.BusinessCardUrl != req.BusinessCardUrl && utils.RunMode == "release" {
|
|
|
+
|
|
|
+ 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 {
|
|
@@ -1904,41 +1963,87 @@ func (this *CompanyUserController) EditUser() {
|
|
|
br.IsSendEmail = false
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+ //companyName := wxUser.CompanyName
|
|
|
+ //if companyName == "" {
|
|
|
+ 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 {
|
|
|
+ //不在上面的过滤字里面,且切出来的字符大于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
|
|
|
- }
|
|
|
+ //if card.Errno != 0 {
|
|
|
+ // br.Msg = "您上传了非名片图片,请重新上传"
|
|
|
+ // br.ErrMsg = "名片识别失败,ErrMsg:" + card.ErrorMsg + ";errCode:" + strconv.Itoa(card.Errno)
|
|
|
+ // return
|
|
|
+ //}
|
|
|
//var mobileStr string
|
|
|
//for _, v := range card.WordsResult {
|
|
|
// mobileStr += v.Words + ","
|
|
|
//}
|
|
|
- mobileStr := strings.Join(card.WordsResult.MOBILE, ",")
|
|
|
- isFlag := true
|
|
|
- if req.MobileOne != "" {
|
|
|
- if strings.Contains(mobileStr, req.MobileOne) {
|
|
|
+ isFlag := false
|
|
|
+ if len(card.WordsResult.MOBILE) > 0 {
|
|
|
+ mobileStr := strings.Join(card.WordsResult.MOBILE, ",")
|
|
|
+ //if req.MobileOne != "" {
|
|
|
+ // if strings.Contains(mobileStr, req.MobileOne) || mobileStr == "" {
|
|
|
+ // isFlag = true
|
|
|
+ // } else {
|
|
|
+ // isFlag = false
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ //
|
|
|
+ //if isFlag == false && req.MobileTwo != "" {
|
|
|
+ // if strings.Contains(mobileStr, req.MobileTwo) {
|
|
|
+ // isFlag = true
|
|
|
+ // } else {
|
|
|
+ // isFlag = false
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ if req.MobileOne != "" && strings.Contains(mobileStr, req.MobileOne) {
|
|
|
isFlag = true
|
|
|
- } else {
|
|
|
- isFlag = false
|
|
|
}
|
|
|
- }
|
|
|
- if isFlag == false && req.MobileTwo != "" {
|
|
|
- if strings.Contains(mobileStr, req.MobileTwo) {
|
|
|
+ if req.MobileTwo != "" && strings.Contains(mobileStr, req.MobileTwo) {
|
|
|
isFlag = true
|
|
|
- } else {
|
|
|
- isFlag = false
|
|
|
+ }
|
|
|
+ //如果百度识别出来了客户名称,那么将识别出来的客户名称添加到待校验客户名称切片中
|
|
|
+ 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, err := services.AliyunBusinessCardOcr(req.BusinessCardUrl)
|
|
|
+ aliyunResult, errMsg, err := services.AliyunOcrBusinessCard(req.BusinessCardUrl)
|
|
|
if err != nil {
|
|
|
br.Msg = "识别失败"
|
|
|
br.ErrMsg = "识别失败,Err:" + err.Error()
|
|
@@ -1949,21 +2054,66 @@ func (this *CompanyUserController) EditUser() {
|
|
|
br.ErrMsg = "识别失败"
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
- mobileStr := strings.Join(aliyunResult.TelCell, ",")
|
|
|
- if req.MobileOne != "" {
|
|
|
- if strings.Contains(mobileStr, req.MobileOne) {
|
|
|
- isFlag = true
|
|
|
+ if errMsg != "" {
|
|
|
+ br.Msg = errMsg
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //如果百度没有识别出来手机号,那么还需要阿里识别出来的手机号校验下
|
|
|
+ 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.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
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//UPDATE wx_user
|
|
@@ -2449,48 +2599,55 @@ func (this *CompanyController) PotentialUserMove() {
|
|
|
br.ErrMsg = "名片识别失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- isFlag := true
|
|
|
+ isFlag := false
|
|
|
if len(card.WordsResult.MOBILE) > 0 {
|
|
|
mobileStr := strings.Join(card.WordsResult.MOBILE, ",")
|
|
|
- if req.Mobile != "" {
|
|
|
- if strings.Contains(mobileStr, req.Mobile) || mobileStr == "" {
|
|
|
- isFlag = true
|
|
|
- } else {
|
|
|
- isFlag = false
|
|
|
- }
|
|
|
+ //if req.Mobile != "" {
|
|
|
+ // if strings.Contains(mobileStr, req.Mobile) || mobileStr == "" {
|
|
|
+ // isFlag = true
|
|
|
+ // } else {
|
|
|
+ // isFlag = false
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ if req.Mobile != "" && strings.Contains(mobileStr, req.Mobile) {
|
|
|
+ isFlag = true
|
|
|
}
|
|
|
}
|
|
|
if !isFlag {
|
|
|
//阿里云识别
|
|
|
- if utils.RunMode == "release" {
|
|
|
- aliyunResult, err := services.AliyunBusinessCardOcr(req.BusinessCardUrl)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "识别失败"
|
|
|
- br.ErrMsg = "识别失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if !aliyunResult.Success {
|
|
|
- br.Msg = "识别失败"
|
|
|
- br.ErrMsg = "识别失败"
|
|
|
- return
|
|
|
- }
|
|
|
- if len(aliyunResult.TelCell) > 0 {
|
|
|
- mobileStr := strings.Join(aliyunResult.TelCell, ",")
|
|
|
- if req.Mobile != "" {
|
|
|
- if strings.Contains(mobileStr, req.Mobile) {
|
|
|
- isFlag = true
|
|
|
- } else {
|
|
|
- isFlag = false
|
|
|
- }
|
|
|
+ //if utils.RunMode == "release" {
|
|
|
+ aliyunResult, errMsg, err := services.AliyunOcrBusinessCard(req.BusinessCardUrl)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "识别失败"
|
|
|
+ br.ErrMsg = "识别失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if !aliyunResult.Success {
|
|
|
+ br.Msg = "识别失败"
|
|
|
+ br.ErrMsg = "识别失败"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if errMsg != "" {
|
|
|
+ br.Msg = errMsg
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(aliyunResult.TelCell) > 0 {
|
|
|
+ mobileStr := strings.Join(aliyunResult.TelCell, ",")
|
|
|
+ if req.Mobile != "" {
|
|
|
+ if strings.Contains(mobileStr, req.Mobile) {
|
|
|
+ isFlag = true
|
|
|
+ } else {
|
|
|
+ isFlag = false
|
|
|
}
|
|
|
- } else {
|
|
|
- isFlag = true
|
|
|
}
|
|
|
+ } else {
|
|
|
+ isFlag = true
|
|
|
}
|
|
|
+ //}
|
|
|
}
|
|
|
|
|
|
if !isFlag && crmConfig2.ConfigValue == "true" {
|
|
|
- br.Msg = "名片手机号与所填手机号不匹配,请重新填写"
|
|
|
+ br.Msg = "名片信息与联系人手机号不符"
|
|
|
return
|
|
|
}
|
|
|
}
|
|
@@ -5034,48 +5191,57 @@ func (this *CompanyController) ApplyRecordPotentialUserMove() {
|
|
|
br.ErrMsg = "名片识别失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- isFlag := true
|
|
|
+ isFlag := false
|
|
|
if len(card.WordsResult.MOBILE) > 0 {
|
|
|
mobileStr := strings.Join(card.WordsResult.MOBILE, ",")
|
|
|
- if req.Mobile != "" {
|
|
|
- if strings.Contains(mobileStr, req.Mobile) || mobileStr == "" {
|
|
|
- isFlag = true
|
|
|
- } else {
|
|
|
- isFlag = false
|
|
|
- }
|
|
|
+ //if req.Mobile != "" {
|
|
|
+ // if strings.Contains(mobileStr, req.Mobile) || mobileStr == "" {
|
|
|
+ // isFlag = true
|
|
|
+ // } else {
|
|
|
+ // isFlag = false
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+
|
|
|
+ if req.Mobile != "" && strings.Contains(mobileStr, req.Mobile) {
|
|
|
+ isFlag = true
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
if !isFlag {
|
|
|
//阿里云识别
|
|
|
- if utils.RunMode == "release" {
|
|
|
- aliyunResult, err := services.AliyunBusinessCardOcr(req.BusinessCardUrl)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "识别失败"
|
|
|
- br.ErrMsg = "识别失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if !aliyunResult.Success {
|
|
|
- br.Msg = "识别失败"
|
|
|
- br.ErrMsg = "识别失败"
|
|
|
- return
|
|
|
- }
|
|
|
- if len(aliyunResult.TelCell) > 0 {
|
|
|
- mobileStr := strings.Join(aliyunResult.TelCell, ",")
|
|
|
- if req.Mobile != "" {
|
|
|
- if strings.Contains(mobileStr, req.Mobile) {
|
|
|
- isFlag = true
|
|
|
- } else {
|
|
|
- isFlag = false
|
|
|
- }
|
|
|
+ //if utils.RunMode == "release" {
|
|
|
+ aliyunResult, errMsg, err := services.AliyunOcrBusinessCard(req.BusinessCardUrl)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "识别失败"
|
|
|
+ br.ErrMsg = "识别失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if !aliyunResult.Success {
|
|
|
+ br.Msg = "识别失败"
|
|
|
+ br.ErrMsg = "识别失败"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if errMsg != "" {
|
|
|
+ br.Msg = errMsg
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(aliyunResult.TelCell) > 0 {
|
|
|
+ mobileStr := strings.Join(aliyunResult.TelCell, ",")
|
|
|
+ if req.Mobile != "" {
|
|
|
+ if strings.Contains(mobileStr, req.Mobile) {
|
|
|
+ isFlag = true
|
|
|
+ } else {
|
|
|
+ isFlag = false
|
|
|
}
|
|
|
- } else {
|
|
|
- isFlag = true
|
|
|
}
|
|
|
+ } else {
|
|
|
+ isFlag = true
|
|
|
}
|
|
|
+ //}
|
|
|
}
|
|
|
|
|
|
if !isFlag && crmConfig2.ConfigValue == "true" {
|
|
|
- br.Msg = "名片手机号与所填手机号不匹配,请重新填写"
|
|
|
+ br.Msg = "名片信息与联系人手机号不符"
|
|
|
return
|
|
|
}
|
|
|
}
|
|
@@ -5959,7 +6125,7 @@ func (this *CompanyUserController) Follow() {
|
|
|
br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- if req.UserId <= 0 {
|
|
|
+ if req.UserId <= 0 {
|
|
|
br.Msg = "用户ID异常"
|
|
|
br.ErrMsg = "用户ID异常"
|
|
|
return
|
|
@@ -5989,4 +6155,103 @@ func (this *CompanyUserController) Follow() {
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
|
br.Msg = "操作成功"
|
|
|
-}
|
|
|
+}
|
|
|
+
|
|
|
+// @Title 开通或者关闭用户研选权限
|
|
|
+// @Description 开通或者关闭用户研选权限
|
|
|
+// @Param request body request.ApplyMarkReq true "type json string"
|
|
|
+// @Success 200 {object} 操作成功
|
|
|
+// @router /update/user/yananxuan/permission [post]
|
|
|
+func (this *CompanyUserController) UpadteUserYanxuanPermission() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ sysUser := this.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser is Empty"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var req cygx.UpdateUserYanxuanPermissionReq
|
|
|
+ err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数解析异常"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ userId := req.UserId
|
|
|
+ if userId <= 0 {
|
|
|
+ br.Msg = "用户ID异常"
|
|
|
+ br.ErrMsg = "用户ID异常"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取联系人详情
|
|
|
+ userInfo, err := models.GetWxUserByUserId(req.UserId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取联系人异常!"
|
|
|
+ br.ErrMsg = "获取联系人异常,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if userInfo.BusinessCardUrl == "" {
|
|
|
+ br.Msg = "该联系人尚未添加名片,请点击编辑,上传名片后再开通试用"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ companyInfo, err := company.GetCompanyById(userInfo.CompanyId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "查找客户失败"
|
|
|
+ br.ErrMsg = "查找客户失败,err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 查询用户是否开通过
|
|
|
+ count, err := cygx.GetCygxUserYanxuanPermissionCountByUserId(userId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "操作失败! "
|
|
|
+ br.ErrMsg = "操作失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ item := new(cygx.CygxUserYanxuanPermission)
|
|
|
+ if req.Type == 0 {
|
|
|
+ item.Status = "未开通"
|
|
|
+ } else {
|
|
|
+ item.Status = "试用"
|
|
|
+ }
|
|
|
+ item.UserId = userId
|
|
|
+ item.CompanyId = companyInfo.CompanyId
|
|
|
+ item.CompanyName = companyInfo.CompanyName
|
|
|
+ item.StartDate = time.Now().Format(utils.FormatDate)
|
|
|
+ item.EndDate = time.Now().AddDate(0, 2, 0).Format(utils.FormatDate) // 试用期两个月
|
|
|
+ item.Mobile = userInfo.Mobile
|
|
|
+ item.Email = userInfo.Email
|
|
|
+ item.RealName = userInfo.RealName
|
|
|
+ item.AdminId = sysUser.AdminId
|
|
|
+ item.AdminRealName = sysUser.RealName
|
|
|
+ item.CreatedTime = time.Now()
|
|
|
+ item.LastUpdatedTime = time.Now()
|
|
|
+ item.ModifyTime = time.Now()
|
|
|
+ if count == 0 {
|
|
|
+ _, err = cygx.AddCygxUserYanxuanPermission(item) // 添加
|
|
|
+ } else {
|
|
|
+ if req.Type == 0 {
|
|
|
+ err = cygx.UpdateCygxUserYanxuanPermissionClose(userId) // 关闭
|
|
|
+ } else {
|
|
|
+ err = cygx.UpdateCygxUserYanxuanPermissionOpen(item) // 开通
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "操作失败! "
|
|
|
+ br.ErrMsg = "操作失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ go cygxService.AddCygxUserYanxuanPermissionLog(item)
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "操作成功"
|
|
|
+}
|