Ver Fonte

no message

xingzai há 7 meses atrás
pai
commit
6dfa60c8d9
3 ficheiros alterados com 70 adições e 23 exclusões
  1. 45 3
      controllers/roadshow/calendar.go
  2. 15 13
      services/roadshow/calendar.go
  3. 10 7
      services/task.go

+ 45 - 3
controllers/roadshow/calendar.go

@@ -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/company"
 	"hongze/hz_crm_api/models/cygx"
 	"hongze/hz_crm_api/models/roadshow"
 	"hongze/hz_crm_api/models/system"
@@ -2269,7 +2270,8 @@ func (this *CalendarController) ResearcherCalendarDetail() {
 		br.Msg = "研究员异常"
 		return
 	}
-	go roadshowService.SyncCalendarFromShanghai(researcherInfo.Mobile, startDate, endDate)
+	//go roadshowService.SyncCalendarFromShanghai(researcherInfo.Mobile, startDate, endDate)
+	go roadshowService.InsertSyncCalendarFromShanghaiLPush(researcherInfo.Mobile, startDate, endDate)
 
 	condition += ` AND b.start_date>=?`
 	pars = append(pars, startDate)
@@ -2296,13 +2298,52 @@ func (this *CalendarController) ResearcherCalendarDetail() {
 	if calendarList == nil {
 		calendarList = make([]*roadshow.CalendarListView, 0)
 	} else {
+		var sysUserIds []int             //建会人ID
+		var companyIds []int             //公司ID
 		for _, v := range calendarList { //上海同步过来信息展示逻辑替换 需求池 953
 			if v.Source == 1 && v.CompanyName == "" {
 				v.CompanyName = v.Title
 			}
+			sysUserIds = append(sysUserIds, v.SysUserId)
+			companyIds = append(companyIds, v.CompanyId)
 		}
-	}
 
+		//如果是权益销售建的会,客户状态替换成权益那边的
+		mapSellRai := make(map[int]bool)  // 是否是权益销售
+		mapStatus := make(map[int]string) //权益客户对应的状态
+		if len(sysUserIds) > 0 && len(companyIds) > 0 {
+			//判断哪些人是权益销售
+			adminList, err := system.GetAdminListByIdListWithoutEnable(sysUserIds)
+			if err != nil {
+				br.Msg = "获取数据失败"
+				br.ErrMsg = "获取数据失败,GetAdminListByIdListWithoutEnable Err:" + err.Error()
+				return
+			}
+			for _, v := range adminList {
+				if v.RoleTypeCode == utils.ROLE_TYPE_CODE_RAI_SELLER || v.RoleTypeCode == utils.ROLE_TYPE_CODE_RAI_GROUP {
+					mapSellRai[v.AdminId] = true
+				}
+			}
+
+			conditionProduct := `  AND company_id  IN (` + utils.GetOrmInReplace(len(companyIds)) + `) AND  product_id = 2 `
+			parsProduct := make([]interface{}, 0)
+			parsProduct = append(parsProduct, companyIds)
+			productList, err := company.GetCompanyProductList(conditionProduct, parsProduct)
+			if err != nil {
+				br.Msg = "获取数据失败"
+				br.ErrMsg = "获取数据失败,GetCompanyProductList Err:" + err.Error()
+				return
+			}
+			for _, v := range productList {
+				mapStatus[v.CompanyId] = v.Status
+			}
+		}
+		for _, v := range calendarList {
+			if mapSellRai[v.SysUserId] && mapStatus[v.CompanyId] != "" {
+				v.CompanyStatus = mapStatus[v.CompanyId]
+			}
+		}
+	}
 	if matterList == nil {
 		matterList = make([]*roadshow.RsMatters, 0)
 	}
@@ -2372,7 +2413,8 @@ func (this *CalendarController) MyCalendarDetail() {
 			br.Msg = "研究员异常"
 			return
 		}
-		go roadshowService.SyncCalendarFromShanghai(researcherInfo.Mobile, startDate, endDate)
+		//go roadshowService.SyncCalendarFromShanghai(researcherInfo.Mobile, startDate, endDate)
+		go roadshowService.InsertSyncCalendarFromShanghaiLPush(researcherInfo.Mobile, startDate, endDate)
 	}
 
 	//中级/普通/admin 管理员

+ 15 - 13
services/roadshow/calendar.go

@@ -23,7 +23,7 @@ type SyncCalendarFromShanghaiRecord struct {
 	EndDate   string `description:"结束时间"`
 }
 
-// 上海路演数据同步到自系统
+// 上海路演数据同步到自系统 从Redis获取
 func InsertSyncCalendarFromShanghai() {
 	var err error
 	defer func() {
@@ -37,23 +37,25 @@ func InsertSyncCalendarFromShanghai() {
 			if err := json.Unmarshal(b, &record); err != nil {
 				fmt.Println("json unmarshal wrong!")
 			}
+			//fmt.Println(record.UserPhone)
 			_ = SyncCalendarFromShanghai(record.UserPhone, record.StartDate, record.EndDate)
 		})
 	}
 }
 
-// record more information
-//func RecordNewLogs(adminId int, request, response string, realName, operateIp, model string) bool {
-//	log := &SyncCalendarFromShanghaiRecord{AdminId: adminId, SysUserRealName: realName, OperateTime: time.Now(), Request: request, Response: response, OperateIp: operateIp, Model: model}
-//	if utils.Re == nil {
-//		err := utils.Rc.LPush(utils.CACHE_KEY_LOGS, log)
-//		if err != nil {
-//			fmt.Println("RecordNewLogs LPush Err:" + err.Error())
-//		}
-//		return true
-//	}
-//	return false
-//}
+// 上海路演数据同步到自系统请求放到Redis
+func InsertSyncCalendarFromShanghaiLPush(userPhone, startDate, endDate string) bool {
+	log := &SyncCalendarFromShanghaiRecord{UserPhone: userPhone, StartDate: startDate, EndDate: endDate}
+	if utils.Re == nil {
+		err := utils.Rc.LPush(utils.CACHE_KEY_SHANG_HAI_RS_CALENDAR_API, log)
+		if err != nil {
+			fmt.Println(err)
+			go alarm_msg.SendAlarmMsg("上海路演数据同步到自系统 失败;InsertSyncCalendarFromShanghaiLPush ERR:"+err.Error(), 3)
+		}
+		return true
+	}
+	return false
+}
 
 // getAccessToken token内部请求接口
 func getAccessToken() (tokenData roadshow.TokenData, err error) {

+ 10 - 7
services/task.go

@@ -4,6 +4,7 @@ import (
 	"fmt"
 	"hongze/hz_crm_api/models/company"
 	"hongze/hz_crm_api/models/eta_business"
+	roadshowService "hongze/hz_crm_api/services/roadshow"
 	"hongze/hz_crm_api/utils"
 	"time"
 )
@@ -15,6 +16,8 @@ func Task() {
 
 	go AutoInsertAdminOperateRecordToDB()
 
+	go roadshowService.InsertSyncCalendarFromShanghai() // 上海路演数据同步到自系统 从Redis获取
+
 	//go FixEtaBusinessCodeEncrypt()
 	//InitContractUnusual()
 	fmt.Println("task end")
@@ -91,13 +94,13 @@ func InitContractUnusual() (err error) {
 				//查询这个合同是否存在续约合同,起始日大于今日,或者截止日
 				if _, ok := ficcNormalMap[v.CompanyId]; !ok {
 					tmp := &company.CompanyRenewalRecord{
-						CompanyId:       v.CompanyId,
-						ProductId:       v.ProductId,
-						Source:          1,
-						SellerId:        sellers.SellerId,
-						SellerName:      sellers.SellerName,
-						CreateTime:      startDate,
-						ModifyTime:      startDate,
+						CompanyId:  v.CompanyId,
+						ProductId:  v.ProductId,
+						Source:     1,
+						SellerId:   sellers.SellerId,
+						SellerName: sellers.SellerName,
+						CreateTime: startDate,
+						ModifyTime: startDate,
 					}
 					addList = append(addList, tmp)
 				}