Pārlūkot izejas kodu

Merge branch 'crm/crm_15.9' of http://8.136.199.33:3000/hongze/hz_crm_api into debug

xingzai 8 mēneši atpakaļ
vecāks
revīzija
6f3c23dfd5
3 mainītis faili ar 149 papildinājumiem un 87 dzēšanām
  1. 54 26
      controllers/cygx/rai_serve.go
  2. 1 0
      models/cygx/rai_serve_bill.go
  3. 94 61
      services/cygx/user_label.go

+ 54 - 26
controllers/cygx/rai_serve.go

@@ -256,7 +256,32 @@ func (this *RaiServeCoAntroller) ChcckPermissionName() {
 			permissionNameResp = append(permissionNameResp, v.ChartPermissionName)
 		}
 	}
+	var list []*cygx.RaiServeTagResp
+	if belong {
+		var permissionNameSql []string
+		for _, v := range permissionNameResp {
+			permissionNameSql = append(permissionNameSql, "'"+v+"'")
+		}
+		chartList, err := models.GetChartPermissionByNamesByRai(permissionNameSql)
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取数据失败,GetChartPermissionByNames Err:" + err.Error()
+			return
+		}
+		for _, v := range chartList {
+			item := new(cygx.RaiServeTagResp)
+			item.TagType = 3
+			item.TagId = v.ChartPermissionId
+			item.TagName = v.PermissionName
+			item.Md5Key = utils.MD5(fmt.Sprintf("K_", item.TagType, "V_", item.TagId))
+			list = append(list, item)
+		}
+	}
 	resp := new(cygx.ChekChartPermissionNameResp)
+	if len(list) == 0 {
+		list = make([]*cygx.RaiServeTagResp, 0)
+	}
+	resp.List = list
 	resp.Belong = belong
 	resp.ChartPermissionName = strings.Join(permissionNameResp, ",")
 	br.Ret = 200
@@ -698,37 +723,39 @@ func getServeBillTag(tagType, tagId int) (conditionBill string, parsBill []inter
 		for _, v := range listGroupRsCalendar {
 			rsCalendarIds = append(rsCalendarIds, v.RsCalendarId)
 		}
+
+		activityIds = append(activityIds, 0)
+		lenactivityIds := len(activityIds)
+		//if lenactivityIds > 0 {
+		conditionBill += ` AND IF ( source = 'activity', source_id IN  (` + utils.GetOrmInReplace(lenactivityIds) + `) , 1 = 1 ) `
+		parsBill = append(parsBill, activityIds)
+		//}
+
+		activitySpecialIds = append(activitySpecialIds, 0)
+		lenactivitySpecialIds := len(activitySpecialIds)
+		//if lenactivitySpecialIds > 0 {
+		conditionBill += ` AND IF ( source = 'activityspecial', source_id IN  (` + utils.GetOrmInReplace(lenactivitySpecialIds) + `) , 1 = 1 ) `
+		parsBill = append(parsBill, activitySpecialIds)
+		//}
+
+		articleIds = append(articleIds, 0)
+		lenarticleIds := len(articleIds)
+		//if lenarticleIds > 0 {
+		conditionBill += ` AND IF ( source = 'article', source_id IN  (` + utils.GetOrmInReplace(lenarticleIds) + `) , 1 = 1 ) `
+		parsBill = append(parsBill, articleIds)
+		//}
+
+		rsCalendarIds = append(rsCalendarIds, 0)
+		lenrsCalendarIds := len(rsCalendarIds)
+		//if lenrsCalendarIds > 0 {
+		conditionBill += ` AND IF ( source = 'rscalendar', source_id IN  (` + utils.GetOrmInReplace(lenrsCalendarIds) + `) , 1 = 1 ) `
+		parsBill = append(parsBill, rsCalendarIds)
+
 	case 3:
 		conditionBill += "  AND   chart_permission_id  = ?   "
 		parsBill = append(parsBill, tagId)
 	}
 
-	activityIds = append(activityIds, 0)
-	lenactivityIds := len(activityIds)
-	//if lenactivityIds > 0 {
-	conditionBill += ` AND IF ( source = 'activity', source_id IN  (` + utils.GetOrmInReplace(lenactivityIds) + `) , 1 = 1 ) `
-	parsBill = append(parsBill, activityIds)
-	//}
-
-	activitySpecialIds = append(activitySpecialIds, 0)
-	lenactivitySpecialIds := len(activitySpecialIds)
-	//if lenactivitySpecialIds > 0 {
-	conditionBill += ` AND IF ( source = 'activityspecial', source_id IN  (` + utils.GetOrmInReplace(lenactivitySpecialIds) + `) , 1 = 1 ) `
-	parsBill = append(parsBill, activitySpecialIds)
-	//}
-
-	articleIds = append(articleIds, 0)
-	lenarticleIds := len(articleIds)
-	//if lenarticleIds > 0 {
-	conditionBill += ` AND IF ( source = 'article', source_id IN  (` + utils.GetOrmInReplace(lenarticleIds) + `) , 1 = 1 ) `
-	parsBill = append(parsBill, articleIds)
-	//}
-
-	rsCalendarIds = append(rsCalendarIds, 0)
-	lenrsCalendarIds := len(rsCalendarIds)
-	//if lenrsCalendarIds > 0 {
-	conditionBill += ` AND IF ( source = 'rscalendar', source_id IN  (` + utils.GetOrmInReplace(lenrsCalendarIds) + `) , 1 = 1 ) `
-	parsBill = append(parsBill, rsCalendarIds)
 	//}
 
 	conditionBill += ` AND source != 'yanxuanspecial'  AND source != 'userfeedback' `
@@ -857,6 +884,7 @@ func (this *RaiServeCoAntroller) BillList() {
 		br.ErrMsg = "获取失败,GetCygxRaiServeBillRespList:" + err.Error()
 		return
 	}
+
 	page := paging.GetPaging(currentIndex, pageSize, total)
 	resp := new(cygx.CygxRaiServeBillListResp)
 	resp.Paging = page

+ 1 - 0
models/cygx/rai_serve_bill.go

@@ -37,6 +37,7 @@ type RaiServeTagResp struct {
 type ChekChartPermissionNameResp struct {
 	ChartPermissionName string `description:"权限名称"`
 	Belong              bool   `description:"权限名称"`
+	List                []*RaiServeTagResp
 }
 
 type RaiServeTagListResp struct {

+ 94 - 61
services/cygx/user_label.go

@@ -282,6 +282,9 @@ func HandleListRsCalendar(list []*roadshow.RsCalendarMeetingUserByRai) (items []
 		rsCalendarIds = append(rsCalendarIds, v.RsCalendarId)
 	}
 
+	mapRsCalendarLabel := make(map[int][]string) //1v1 路演标签
+	mapRsCalendarLabel = GetRsCalendarLabelByRsCalendarIds(rsCalendarIds)
+
 	//获取研究员信息
 	researchers, err := roadshow.GetRsCalendarResearcherListByIds(rsCalendarIds)
 	if err != nil && err.Error() != utils.ErrNoRow() {
@@ -292,61 +295,62 @@ func HandleListRsCalendar(list []*roadshow.RsCalendarMeetingUserByRai) (items []
 		mapResearcherName[v.RsCalendarId] = append(mapResearcherName[v.RsCalendarId], v.ResearcherName)
 	}
 
-	listGroup, err := roadshow.GetRsCalendarMeetingLabelGroupDetailByRsCalendarIds(rsCalendarIds)
-	if err != nil && err.Error() != utils.ErrNoRow() {
-		return
-	}
-
-	var industrialManagementIds []int
-	var industrialSubjectIds []int
-
-	mapindustrialManagementName := make(map[int]string)
-	mapindustrialSubjectName := make(map[int]string)
-	mapCelueName := make(map[int]string)
-	for _, v := range listGroup {
-		switch v.TagType {
-		case 1:
-			industrialManagementIds = append(industrialManagementIds, v.TagId)
-		case 2:
-			industrialSubjectIds = append(industrialSubjectIds, v.TagId)
-		case 3:
-			mapCelueName[v.RsCalendarId] = "策略"
-		}
-	}
-
-	if len(industrialManagementIds) > 0 {
-		IndustryList, e := cygx.GetIndustryListByConditionByIds(industrialManagementIds)
-		if e != nil {
-			err = errors.New("GetIndustryListByConditionByIds" + e.Error())
-			return
-		}
+	//listGroup, err := roadshow.GetRsCalendarMeetingLabelGroupDetailByRsCalendarIds(rsCalendarIds)
+	//if err != nil && err.Error() != utils.ErrNoRow() {
+	//	return
+	//}
+	//
+	//var industrialManagementIds []int
+	//var industrialSubjectIds []int
+	//
+	//mapindustrialManagementName := make(map[int]string)
+	//mapindustrialSubjectName := make(map[int]string)
+	//mapCelueName := make(map[int]string)
+	//for _, v := range listGroup {
+	//	fmt.Println(v)
+	//	switch v.TagType {
+	//	case 1:
+	//		industrialManagementIds = append(industrialManagementIds, v.TagId)
+	//	case 2:
+	//		industrialSubjectIds = append(industrialSubjectIds, v.TagId)
+	//	case 3:
+	//		mapCelueName[v.RsCalendarId] = "策略"
+	//	}
+	//}
 
-		for _, v := range IndustryList {
-			mapindustrialManagementName[v.IndustrialManagementId] = v.IndustryName
-		}
-	}
+	//if len(industrialManagementIds) > 0 {
+	//	IndustryList, e := cygx.GetIndustryListByConditionByIds(industrialManagementIds)
+	//	if e != nil {
+	//		err = errors.New("GetIndustryListByConditionByIds" + e.Error())
+	//		return
+	//	}
+	//
+	//	for _, v := range IndustryList {
+	//		mapindustrialManagementName[v.IndustrialManagementId] = v.IndustryName
+	//	}
+	//}
 
-	if len(industrialSubjectIds) > 0 {
-		SubjectList, e := cygx.GetIndustrialSubjectDetailByIds(industrialSubjectIds)
-		if e != nil {
-			err = errors.New("GetIndustryListByConditionByIds" + e.Error())
-			return
-		}
-		for _, v := range SubjectList {
-			mapindustrialSubjectName[v.IndustrialSubjectId] = v.SubjectName
-		}
-	}
+	//if len(industrialSubjectIds) > 0 {
+	//	SubjectList, e := cygx.GetIndustrialSubjectDetailByIds(industrialSubjectIds)
+	//	if e != nil {
+	//		err = errors.New("GetIndustryListByConditionByIds" + e.Error())
+	//		return
+	//	}
+	//	for _, v := range SubjectList {
+	//		mapindustrialSubjectName[v.IndustrialSubjectId] = v.SubjectName
+	//	}
+	//}
 
-	mapGroupindustrialManagementName := make(map[int][]string)
-	mapGroupindustrialSubjectName := make(map[int][]string)
-	for _, v := range listGroup {
-		switch v.TagType {
-		case 1:
-			mapGroupindustrialManagementName[v.RsCalendarId] = append(mapGroupindustrialManagementName[v.RsCalendarId], mapindustrialManagementName[v.TagId])
-		case 2:
-			mapGroupindustrialSubjectName[v.RsCalendarId] = append(mapGroupindustrialSubjectName[v.RsCalendarId], mapindustrialSubjectName[v.TagId])
-		}
-	}
+	//mapGroupindustrialManagementName := make(map[int][]string)
+	//mapGroupindustrialSubjectName := make(map[int][]string)
+	//for _, v := range listGroup {
+	//	switch v.TagType {
+	//	case 1:
+	//		mapGroupindustrialManagementName[v.RsCalendarId] = append(mapGroupindustrialManagementName[v.RsCalendarId], mapindustrialManagementName[v.TagId])
+	//	case 2:
+	//		mapGroupindustrialSubjectName[v.RsCalendarId] = append(mapGroupindustrialSubjectName[v.RsCalendarId], mapindustrialSubjectName[v.TagId])
+	//	}
+	//}
 
 	for _, v := range list {
 		item := new(cygx.UserInteraction)
@@ -355,14 +359,16 @@ func HandleListRsCalendar(list []*roadshow.RsCalendarMeetingUserByRai) (items []
 		item.Mobile = v.Mobile
 		item.CompanyId = v.CompanyId
 		item.CompanyName = v.CompanyName
-		switch v.TagType {
-		case 1:
-			item.LabelKeyWord = strings.Join(mapGroupindustrialManagementName[v.RsCalendarId], ",")
-		case 2:
-			item.LabelKeyWord = strings.Join(mapGroupindustrialSubjectName[v.RsCalendarId], ",")
-		case 3:
-			item.LabelKeyWord = mapCelueName[v.RsCalendarId]
-		}
+		//switch v.TagType {
+		//case 1:
+		//	item.LabelKeyWord = strings.Join(mapGroupindustrialManagementName[v.RsCalendarId], ",")
+		//case 2:
+		//	item.LabelKeyWord = strings.Join(mapGroupindustrialSubjectName[v.RsCalendarId], ",")
+		//case 3:
+		//	item.LabelKeyWord = mapCelueName[v.RsCalendarId]
+		//}
+
+		item.LabelKeyWord = strings.Join(mapRsCalendarLabel[v.RsCalendarId], ",")
 		item.ActivityTimeText = v.StartDate + "(" + v.StartWeek + ")" + v.StartTime + "-" + v.EndTime
 		item.ResearcherName = strings.Join(mapResearcherName[v.RsCalendarId], ",")
 		items = append(items, item)
@@ -383,6 +389,22 @@ func GetRsCalendarLabelByRsCalendarIds(rsCalendarIds []int) (respMap map[int][]s
 			go alarm_msg.SendAlarmMsg(fmt.Sprint("获取1V1路演标签信息 失败 GetRsCalendarLabelByRsCalendarIds rsCalendarIds: ", rsCalendarIds, err.Error()), 2)
 		}
 	}()
+
+	listEmail, err := cygx.GetAskEmail()
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		return
+	}
+	var ceLueResearcherName []string
+	var guShouResearcherName []string
+	for _, v := range listEmail {
+		if v.ChartPermissionName == utils.CE_LUE_NAME {
+			ceLueResearcherName = append(ceLueResearcherName, v.Name)
+		}
+		if v.ChartPermissionName == utils.GU_SHOU_NAME {
+			guShouResearcherName = append(guShouResearcherName, v.Name)
+		}
+	}
+
 	//获取研究员信息
 	researchers, err := roadshow.GetRsCalendarResearcherListByIds(rsCalendarIds)
 	if err != nil && err.Error() != utils.ErrNoRow() {
@@ -390,7 +412,12 @@ func GetRsCalendarLabelByRsCalendarIds(rsCalendarIds []int) (respMap map[int][]s
 	}
 	mapResearcherName := make(map[int][]string)
 	for _, v := range researchers {
-		mapResearcherName[v.RsCalendarId] = append(mapResearcherName[v.RsCalendarId], v.ResearcherName)
+		if utils.InArrayByStr(ceLueResearcherName, v.ResearcherName) {
+			mapResearcherName[v.RsCalendarId] = append(mapResearcherName[v.RsCalendarId], "策略")
+		}
+		if utils.InArrayByStr(guShouResearcherName, v.ResearcherName) {
+			mapResearcherName[v.RsCalendarId] = append(mapResearcherName[v.RsCalendarId], "固收")
+		}
 	}
 
 	listGroup, err := roadshow.GetRsCalendarMeetingLabelGroupDetailByRsCalendarIds(rsCalendarIds)
@@ -448,5 +475,11 @@ func GetRsCalendarLabelByRsCalendarIds(rsCalendarIds []int) (respMap map[int][]s
 			respMap[v.RsCalendarId] = append(respMap[v.RsCalendarId], mapCelueName[v.RsCalendarId])
 		}
 	}
+
+	for _, v := range rsCalendarIds {
+		if len(respMap[v]) == 0 && len(mapResearcherName[v]) > 0 {
+			respMap[v] = mapResearcherName[v]
+		}
+	}
 	return
 }