|
@@ -6,6 +6,7 @@ import (
|
|
|
"github.com/rdlucklib/rdluck_tools/paging"
|
|
|
"hongze/hz_crm_api/controllers"
|
|
|
"hongze/hz_crm_api/models"
|
|
|
+ "hongze/hz_crm_api/models/cygx"
|
|
|
"hongze/hz_crm_api/models/roadshow"
|
|
|
"hongze/hz_crm_api/models/system"
|
|
|
"hongze/hz_crm_api/services"
|
|
@@ -173,6 +174,16 @@ func (this *CalendarController) Add() {
|
|
|
br.IsSendEmail = false
|
|
|
return
|
|
|
}
|
|
|
+ sysUserList, err := cygx.GetAskEmailList()
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取失败,GetAskEmailList Err: " + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ raiAskadminMap := make(map[int]bool, 0)
|
|
|
+ for _, v := range sysUserList {
|
|
|
+ raiAskadminMap[v.AdminId] = true
|
|
|
+ }
|
|
|
|
|
|
rsCalendar := new(roadshow.RsCalendar)
|
|
|
rsCalendar.SysUserId = sysUser.AdminId
|
|
@@ -186,6 +197,7 @@ func (this *CalendarController) Add() {
|
|
|
rsCalendar.ProvinceCode = req.ProvinceCode
|
|
|
rsCalendar.City = req.City
|
|
|
rsCalendar.CityCode = req.CityCode
|
|
|
+ rsCalendar.District = req.District
|
|
|
rsCalendar.Theme = req.Theme
|
|
|
rsCalendar.CooperationName = req.CooperationName
|
|
|
rsCalendar.CreateTime = time.Now()
|
|
@@ -220,6 +232,12 @@ func (this *CalendarController) Add() {
|
|
|
} else {
|
|
|
researcher.Status = 2
|
|
|
}
|
|
|
+
|
|
|
+ //CRM15.5 权益研究员直接通过
|
|
|
+ if raiAskadminMap[v.ResearcherId] {
|
|
|
+ researcher.Status = 2
|
|
|
+ }
|
|
|
+
|
|
|
rsCalendarResearcherId, err := roadshow.AddRsCalendarResearcher(researcher)
|
|
|
if err != nil {
|
|
|
br.Msg = "保存失败!"
|
|
@@ -559,6 +577,10 @@ func (this *CalendarController) Edit() {
|
|
|
calendarUpdateParams["city"] = req.City
|
|
|
}
|
|
|
|
|
|
+ if req.District != "" {
|
|
|
+ calendarUpdateParams["district"] = req.District
|
|
|
+ }
|
|
|
+
|
|
|
calendarUpdateParams["english_company"] = req.EnglishCompany
|
|
|
|
|
|
calendarUpdateParams["modify_time"] = time.Now()
|
|
@@ -582,7 +604,16 @@ func (this *CalendarController) Edit() {
|
|
|
for _, ev := range existList {
|
|
|
existResearcherMap[ev.ResearcherId] = ev.ResearcherName
|
|
|
}
|
|
|
-
|
|
|
+ sysUserList, err := cygx.GetAskEmailList()
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取失败,GetAskEmailList Err: " + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ raiAskadminMap := make(map[int]bool, 0)
|
|
|
+ for _, v := range sysUserList {
|
|
|
+ raiAskadminMap[v.AdminId] = true
|
|
|
+ }
|
|
|
if rsCalendarItem.ActivityType == "路演" || rsCalendarItem.ActivityType == "公开会议" {
|
|
|
// 更新研究员信息
|
|
|
//go roadshowService.UpdateSHCalendar(req.RsCalendarId, req.RsCalendarResearcherId, req.ActivityType, req.RoadshowType, req.ActivityCategory, req.RoadshowPlatform, req.Province, req.City, req.ResearcherList)
|
|
@@ -609,6 +640,11 @@ func (this *CalendarController) Edit() {
|
|
|
calendarResearcherUpdateParams["status"] = 1
|
|
|
rsCalendarResearcherItem.Status = 1
|
|
|
}
|
|
|
+ //CRM15.5 权益研究员直接通过
|
|
|
+ if raiAskadminMap[v.ResearcherId] {
|
|
|
+ calendarResearcherUpdateParams["status"] = 2
|
|
|
+ rsCalendarResearcherItem.Status = 2
|
|
|
+ }
|
|
|
calendarResearcherUpdateParams["start_date"] = v.StartDate
|
|
|
rsCalendarResearcherItem.StartDate = v.StartDate
|
|
|
calendarResearcherUpdateParams["end_date"] = v.EndDate
|
|
@@ -727,6 +763,10 @@ func (this *CalendarController) Edit() {
|
|
|
} else {
|
|
|
researcher.Status = 2
|
|
|
}
|
|
|
+ //CRM15.5 权益研究员直接通过
|
|
|
+ if raiAskadminMap[v.ResearcherId] {
|
|
|
+ researcher.Status = 2
|
|
|
+ }
|
|
|
rsCalendarResearcherId, err := roadshow.AddRsCalendarResearcher(researcher)
|
|
|
if err != nil {
|
|
|
br.Msg = "保存失败!"
|
|
@@ -975,16 +1015,18 @@ func (this *CalendarController) ResearcherList() {
|
|
|
researcherList, err := roadshow.GetResearcher()
|
|
|
groupMap := make(map[int][]*roadshow.ResearcherGroup)
|
|
|
for _, v := range researcherList {
|
|
|
- //if v.RoleTypeCode == "ficc_admin" {
|
|
|
- // findItems := groupMap[1]
|
|
|
- // findItems = append(findItems, v)
|
|
|
- // groupMap[1] = findItems
|
|
|
- //} else {
|
|
|
+ item := &roadshow.ResearcherGroup{
|
|
|
+ GroupId: v.GroupId,
|
|
|
+ GroupName: v.GroupName,
|
|
|
+ AdminId: v.AdminId,
|
|
|
+ RealName: v.RealName,
|
|
|
+ RoleTypeCode: v.RoleTypeCode,
|
|
|
+ }
|
|
|
if findItems, ok := groupMap[v.GroupId]; ok {
|
|
|
- findItems = append(findItems, v)
|
|
|
+ findItems = append(findItems, item)
|
|
|
groupMap[v.GroupId] = findItems
|
|
|
} else {
|
|
|
- findItems = append(findItems, v)
|
|
|
+ findItems = append(findItems, item)
|
|
|
groupMap[v.GroupId] = findItems
|
|
|
}
|
|
|
//}
|
|
@@ -992,14 +1034,72 @@ func (this *CalendarController) ResearcherList() {
|
|
|
for _, v := range group {
|
|
|
v.ResearcherList = groupMap[v.GroupId]
|
|
|
}
|
|
|
- //allGroup := new(roadshow.ResearcherGroup)
|
|
|
- //allGroup.GroupId = 99
|
|
|
- //allGroup.GroupName = "ficc全体"
|
|
|
- //group = append(group, allGroup)
|
|
|
+
|
|
|
+ ficcGroup := new(roadshow.ResearcherGroup)
|
|
|
+ ficcGroup.GroupId = 999
|
|
|
+ ficcGroup.GroupName = "ficc"
|
|
|
+ ficcGroup.ResearcherList = group
|
|
|
+
|
|
|
+ sysUserList, err := system.GetAdminList()
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取admin列表失败, Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ adminMap := make(map[int]*system.Admin, 0)
|
|
|
+ for _, v := range sysUserList {
|
|
|
+ adminMap[v.AdminId] = v
|
|
|
+ }
|
|
|
+ askUserList, err := cygx.GetAskEmailList()
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取失败,GetAskEmailList Err: " + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ mapPermissionUser := make(map[string][]*roadshow.ResearcherGroup)
|
|
|
+ listPermission, err := cygx.GetChartPermissionAll()
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ mapPermissionId := make(map[string]int)
|
|
|
+ for _, v := range listPermission {
|
|
|
+ mapPermissionId[v.PermissionName] = v.ChartPermissionId
|
|
|
+ }
|
|
|
+ for _, v := range askUserList {
|
|
|
+ if admin, ok := adminMap[v.AdminId]; ok {
|
|
|
+ item := &roadshow.ResearcherGroup{
|
|
|
+ AdminId: v.AdminId,
|
|
|
+ RealName: v.Name,
|
|
|
+ GroupId: admin.GroupId,
|
|
|
+ GroupName: admin.GroupName,
|
|
|
+ RoleTypeCode: admin.RoleTypeCode,
|
|
|
+ }
|
|
|
+ mapPermissionUser[v.ChartPermissionName] = append(mapPermissionUser[v.ChartPermissionName], item)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ raiList := make([]*roadshow.ResearcherGroup, 0)
|
|
|
+ for k, v := range mapPermissionUser {
|
|
|
+ respItem := new(roadshow.ResearcherGroup)
|
|
|
+ respItem.GroupName = k + "组"
|
|
|
+ respItem.GroupId = mapPermissionId[k]
|
|
|
+ respItem.ResearcherList = v
|
|
|
+ raiList = append(raiList, respItem)
|
|
|
+ }
|
|
|
+
|
|
|
+ raiGroup := new(roadshow.ResearcherGroup)
|
|
|
+ raiGroup.GroupId = 888
|
|
|
+ raiGroup.GroupName = "权益"
|
|
|
+ raiGroup.ResearcherList = raiList
|
|
|
+
|
|
|
+ var resp []*roadshow.ResearcherGroup
|
|
|
+ resp = append(resp, ficcGroup, raiGroup)
|
|
|
+
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
|
br.Msg = "获取成功"
|
|
|
- br.Data = group
|
|
|
+ br.Data = resp
|
|
|
}
|
|
|
|
|
|
// CalendarList
|
|
@@ -1115,10 +1215,17 @@ func (this *CalendarController) CalendarList() {
|
|
|
|
|
|
// 英文客户的国家以及点击量
|
|
|
englishIds := make([]int, 0)
|
|
|
+ adminIds := make([]int, 0) // 管理员ID
|
|
|
+ rsCalendarId := make([]int, 0) //路演ID
|
|
|
for i := range dataList {
|
|
|
if dataList[i].EnglishCompany == 1 {
|
|
|
englishIds = append(englishIds, dataList[i].CompanyId)
|
|
|
}
|
|
|
+
|
|
|
+ if calendarType == 2 {
|
|
|
+ adminIds = append(adminIds, dataList[i].SysUserId)
|
|
|
+ rsCalendarId = append(rsCalendarId, dataList[i].RsCalendarId)
|
|
|
+ }
|
|
|
}
|
|
|
englishMap := make(map[int]*models.EnglishCompany)
|
|
|
if len(englishIds) > 0 {
|
|
@@ -1135,6 +1242,31 @@ func (this *CalendarController) CalendarList() {
|
|
|
englishMap[englishList[i].CompanyId] = englishList[i]
|
|
|
}
|
|
|
}
|
|
|
+ mapRaiSllerId := make(map[int]bool) // 是否为权益销售
|
|
|
+ mapMeetingCount := make(map[int]int) // 路演参会人员数量
|
|
|
+ if len(adminIds) > 0 {
|
|
|
+ listAdmin, e := system.GetAdminListByIdListWithoutEnable(adminIds)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取管理员信息失败, Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range listAdmin { //权益销售与权益销售组长
|
|
|
+ if v.RoleTypeCode == utils.ROLE_TYPE_CODE_RAI_SELLER || v.RoleTypeCode == utils.ROLE_TYPE_CODE_RAI_GROUP {
|
|
|
+ mapRaiSllerId[v.AdminId] = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ listMeetingCount, e := roadshow.GetRsCalendarMeetingUserListCount(rsCalendarId)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取路演参会人员数量信息失败, Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range listMeetingCount {
|
|
|
+ mapMeetingCount[v.RsCalendarId] = v.Total
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
for i := range dataList {
|
|
|
if dataList[i].EnglishCompany == 1 {
|
|
|
en := englishMap[dataList[i].CompanyId]
|
|
@@ -1143,6 +1275,14 @@ func (this *CalendarController) CalendarList() {
|
|
|
dataList[i].EnglishViewTotal = en.ViewTotal
|
|
|
}
|
|
|
}
|
|
|
+ //如果是已结束的权益销售添加的活动,就行进行按钮展示
|
|
|
+ if mapRaiSllerId[dataList[i].SysUserId] && utils.InArrayByInt([]int{2, 6}, dataList[i].Status) {
|
|
|
+ if mapMeetingCount[dataList[i].RsCalendarId] == 0 {
|
|
|
+ dataList[i].SubmitButton = true
|
|
|
+ } else {
|
|
|
+ dataList[i].ViewButton = true
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
resp.Paging = page
|