|
@@ -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 != "" {
|
|
|
|
|
|
crmConfig, err := company.GetConfigDetailByCode("card_recognition_company_name")
|
|
|
if err != nil {
|
|
@@ -549,34 +552,39 @@ func (this *CompanyUserController) AddUser() {
|
|
|
|
|
|
|
|
|
|
|
|
- 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 != "" && 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 {
|
|
|
+
|
|
|
+ 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
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ 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 := 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 != "" && 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
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|
|
@@ -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 != "" && 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
|
|
|
- }
|
|
|
+
|
|
|
+ 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 != "" && 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
|
|
|
- }
|
|
|
+
|
|
|
+ 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 = "操作成功"
|
|
|
-}
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+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 = "操作成功"
|
|
|
+}
|