|
@@ -8,6 +8,7 @@ import (
|
|
|
"hongze/hz_crm_api/models/system"
|
|
|
"hongze/hz_crm_api/services"
|
|
|
"hongze/hz_crm_api/utils"
|
|
|
+ "strconv"
|
|
|
"strings"
|
|
|
)
|
|
|
|
|
@@ -102,6 +103,7 @@ func (this *CalendarController) CompanyDetail() {
|
|
|
if englishCompany == 0 {
|
|
|
var companyStatus string
|
|
|
var permissionName string
|
|
|
+ var viewTotal int
|
|
|
companyProductItem, err := company.GetCompanyProductByCompanyIdAndProductId(companyId, productId)
|
|
|
if err != nil {
|
|
|
if err.Error() == utils.ErrNoRow() {
|
|
@@ -121,6 +123,7 @@ func (this *CalendarController) CompanyDetail() {
|
|
|
}
|
|
|
companyStatus = rsReportRecordItem.CompanyStatus
|
|
|
permissionName = rsReportRecordItem.PermissionName
|
|
|
+ viewTotal = rsReportRecordItem.InteractionNum
|
|
|
} else {
|
|
|
permissionList, err := company.GetCompanyProductReportPermissionList(companyId, productId)
|
|
|
if err != nil {
|
|
@@ -146,13 +149,7 @@ func (this *CalendarController) CompanyDetail() {
|
|
|
detailView.ReportReadTotal = companyProductItem.ViewTotal //ficc报告-累计阅读次数
|
|
|
|
|
|
if companyType == utils.COMPANY_CLASSIFY_RAI { //权益互动统计
|
|
|
- companyItem, err := company.GetCompanyById(companyId)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "查找客户失败"
|
|
|
- br.ErrMsg = "查找客户失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- detailView.ReportReadTotal = companyItem.InteractionNum
|
|
|
+ detailView.ReportReadTotal = viewTotal
|
|
|
}
|
|
|
|
|
|
br.Ret = 200
|
|
@@ -182,13 +179,13 @@ func (this *CalendarController) CompanyDetail() {
|
|
|
}
|
|
|
|
|
|
//func init() {
|
|
|
-// init16_0()
|
|
|
+// init16_01()
|
|
|
//}
|
|
|
|
|
|
func init16_0() {
|
|
|
var condition string
|
|
|
var pars []interface{}
|
|
|
- condition = ` AND a.company_id > 0 `
|
|
|
+ condition = ` AND a.company_id > 0 AND a.start_date > '2025-01-01' `
|
|
|
|
|
|
list, err := roadshow.GetRsReportRecordList(condition, pars)
|
|
|
if err != nil {
|
|
@@ -206,8 +203,31 @@ func init16_0() {
|
|
|
mapcompanyIds[v.CompanyId] = true
|
|
|
}
|
|
|
|
|
|
+ listCompanyProductFicc, err := company.GetCompanyProductListByCompanyIds(companyIds, 1)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ listCompanyProductRai, err := company.GetCompanyProductListByCompanyIds(companyIds, 2)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ companyMap := make(map[int]*company.CompanyProduct)
|
|
|
+ companyMapRai := make(map[int]*company.CompanyProduct)
|
|
|
+ for _, v := range listCompanyProductFicc {
|
|
|
+ companyMap[v.CompanyId] = v
|
|
|
+ }
|
|
|
+ for _, v := range listCompanyProductRai {
|
|
|
+ companyMapRai[v.CompanyId] = v
|
|
|
+ }
|
|
|
+
|
|
|
mapPermissionNameFicc := make(map[int][]string)
|
|
|
mapPermissionNameRai := make(map[int][]string)
|
|
|
+ mapPermissionFicc := make(map[int][]*roadshow.RsReportRecordPermission)
|
|
|
+ mapPermissionRai := make(map[int][]*roadshow.RsReportRecordPermission)
|
|
|
listPermissionNameFicc, errFicc := company.GetCompanyProductReportPermissionListInit16_0(companyIds, 1) // FICC权限信息
|
|
|
if errFicc != nil {
|
|
|
err = errFicc
|
|
@@ -218,6 +238,9 @@ func init16_0() {
|
|
|
if mapPermissionArrFicc[fmt.Sprint(v.CompanyId, v.PermissionName)] || v.PermissionName == "" {
|
|
|
continue
|
|
|
}
|
|
|
+ if companyMap[v.CompanyId].Status == "正式" && v.Status != "正式" {
|
|
|
+ continue // 正式客户只统计正式权限
|
|
|
+ }
|
|
|
mapPermissionNameFicc[v.CompanyId] = append(mapPermissionNameFicc[v.CompanyId], v.PermissionName)
|
|
|
mapPermissionArrFicc[fmt.Sprint(v.CompanyId, v.PermissionName)] = true
|
|
|
}
|
|
@@ -233,10 +256,37 @@ func init16_0() {
|
|
|
if mapPermissionArrRai[fmt.Sprint(v.CompanyId, v.PermissionName)] || v.PermissionName == "" {
|
|
|
continue
|
|
|
}
|
|
|
+ if companyMapRai[v.CompanyId].Status == "正式" && v.Status != "正式" {
|
|
|
+ continue // 正式客户只统计正式权限
|
|
|
+ }
|
|
|
mapPermissionNameRai[v.CompanyId] = append(mapPermissionNameRai[v.CompanyId], v.PermissionName)
|
|
|
mapPermissionArrRai[fmt.Sprint(v.CompanyId, v.PermissionName)] = true
|
|
|
}
|
|
|
|
|
|
+ listPermissionFicc, errFicc := roadshow.GetCompanyProductReportPermissionList(companyIds, 1) // FICC权限信息
|
|
|
+ if errFicc != nil {
|
|
|
+ err = errFicc
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range listPermissionFicc {
|
|
|
+ if companyMap[v.CompanyId] == nil {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ mapPermissionFicc[v.CompanyId] = append(mapPermissionFicc[v.CompanyId], v)
|
|
|
+ }
|
|
|
+
|
|
|
+ listPermissionRai, errRai := roadshow.GetCompanyProductReportPermissionList(companyIds, 2) // 权益权限信息
|
|
|
+ if errRai != nil {
|
|
|
+ err = errRai
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range listPermissionRai {
|
|
|
+ if companyMapRai[v.CompanyId] == nil {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ mapPermissionRai[v.CompanyId] = append(mapPermissionRai[v.CompanyId], v)
|
|
|
+ }
|
|
|
+
|
|
|
adminAll, err := system.GetAdminList()
|
|
|
if err != nil {
|
|
|
return
|
|
@@ -251,6 +301,8 @@ func init16_0() {
|
|
|
}
|
|
|
|
|
|
var updateItems []*roadshow.RsReportRecord
|
|
|
+ var itemsRs []*roadshow.RsReportRecordPermission
|
|
|
+ mapRsReportRecordPermission := make(map[string]bool) // 一个公司的一场路演,添加了多个研究员只记录一次
|
|
|
for _, v := range list {
|
|
|
item := new(roadshow.RsReportRecord)
|
|
|
item.RsReportRecordId = v.RsReportRecordId
|
|
@@ -264,9 +316,87 @@ func init16_0() {
|
|
|
}
|
|
|
}
|
|
|
updateItems = append(updateItems, item)
|
|
|
+
|
|
|
+ if mapRaiSllerId[v.SellerId] {
|
|
|
+ for _, vP := range mapPermissionRai[v.CompanyId] {
|
|
|
+ pKey := strconv.Itoa(v.RsCalendarId) + "_" + strconv.Itoa(vP.ChartPermissionId)
|
|
|
+ if mapRsReportRecordPermission[pKey] {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ vP.RsCalendarId = v.RsCalendarId
|
|
|
+ itemsRs = append(itemsRs, vP)
|
|
|
+ mapRsReportRecordPermission[pKey] = true
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ for _, vP := range mapPermissionFicc[v.CompanyId] {
|
|
|
+ pKey := strconv.Itoa(v.RsCalendarId) + "_" + strconv.Itoa(vP.ChartPermissionId)
|
|
|
+ if mapRsReportRecordPermission[pKey] {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ vP.RsCalendarId = v.RsCalendarId
|
|
|
+ itemsRs = append(itemsRs, vP)
|
|
|
+ mapRsReportRecordPermission[pKey] = true
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
fmt.Println(len(updateItems))
|
|
|
err = roadshow.UpdateRsReportRecordPermissionMulti(updateItems)
|
|
|
fmt.Println(err)
|
|
|
+ if len(itemsRs) > 0 {
|
|
|
+ err = roadshow.MultiRsReportRecordPermission(itemsRs) // 添加公司当时对应的权限信息
|
|
|
+ }
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+func init16_01() {
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+ condition = ` AND a.company_id > 0 AND a.start_date > '2025-01-01' `
|
|
|
+
|
|
|
+ list, err := roadshow.GetRsReportRecordList(condition, pars)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var companyIds []int
|
|
|
+ mapcompanyIds := make(map[int]bool)
|
|
|
+ for _, v := range list {
|
|
|
+ if mapcompanyIds[v.CompanyId] {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ companyIds = append(companyIds, v.CompanyId)
|
|
|
+ mapcompanyIds[v.CompanyId] = true
|
|
|
+ }
|
|
|
+ adminAll, err := system.GetAdminList()
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //adminMap := make(map[int]*system.AdminView)
|
|
|
+ mapRaiSllerId := make(map[int]bool) // 是否为权益销售
|
|
|
+ for _, v := range adminAll {
|
|
|
+ if v.RoleTypeCode == utils.ROLE_TYPE_CODE_RAI_SELLER || v.RoleTypeCode == utils.ROLE_TYPE_CODE_RAI_GROUP || v.RoleTypeCode == utils.ROLE_TYPE_CODE_RAI_ADMIN {
|
|
|
+ mapRaiSllerId[v.AdminId] = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ listerrCompanyInteractionNum, errCompany := company.GetCompanyListByCompanyId(companyIds) // 权益客户互动信息
|
|
|
+ if errCompany != nil {
|
|
|
+ err = errCompany
|
|
|
+ return
|
|
|
+ }
|
|
|
+ mapInteractionNum := make(map[int]int)
|
|
|
+ for _, v := range listerrCompanyInteractionNum {
|
|
|
+ mapInteractionNum[v.CompanyId] = v.InteractionNum
|
|
|
+ }
|
|
|
+ var updateItems []*roadshow.RsReportRecord
|
|
|
+ for _, v := range list {
|
|
|
+ if mapRaiSllerId[v.SellerId] == true {
|
|
|
+ item := new(roadshow.RsReportRecord)
|
|
|
+ item.RsReportRecordId = v.RsReportRecordId
|
|
|
+ item.InteractionNum = mapInteractionNum[v.CompanyId]
|
|
|
+ updateItems = append(updateItems, item)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ err = roadshow.UpdateRsReportRecordInteractionNumnMulti(updateItems)
|
|
|
+
|
|
|
+ fmt.Println("end", err)
|
|
|
+}
|