|
@@ -600,54 +600,67 @@ func LabelStrV5(label string, isShowSubjectName int) (labelNew string) {
|
|
|
func ActivityAttendanceDetail(cont context.Context) (err error) {
|
|
|
defer func() {
|
|
|
if err != nil {
|
|
|
- fmt.Println("RefreshDataFromWind Err:" + err.Error())
|
|
|
- go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromWind ErrMsg:"+err.Error(), utils.EmailSendToUsers)
|
|
|
+ fmt.Println("ActivityAttendanceDetail Err:" + err.Error())
|
|
|
+ go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "ActivityAttendanceDetail ErrMsg:"+err.Error(), utils.EmailSendToUsers)
|
|
|
}
|
|
|
}()
|
|
|
-
|
|
|
+ var activityIds string
|
|
|
fmt.Println("开始同步")
|
|
|
dateTime := time.Now().AddDate(0, 0, -14).Format(utils.FormatDate)
|
|
|
dateNow := time.Now().AddDate(0, 0, 0).Format(utils.FormatDate)
|
|
|
startDate := dateTime + " 00:00:00"
|
|
|
endDate := dateNow + " 23:59:59"
|
|
|
- //获取需要处理的活动
|
|
|
- listActivity, err := models.GetActivityListByDateTime(startDate, endDate)
|
|
|
+ //获取进门财经需要处理的活动
|
|
|
+ listActivityRoadshow, err := models.GetRoadshowDataListByDateTime(startDate, endDate)
|
|
|
if err != nil {
|
|
|
- fmt.Println("GetTacticsList Err:", err.Error())
|
|
|
+ fmt.Println("GetRoadshowDataListByDateTime Err:", err.Error())
|
|
|
return err
|
|
|
}
|
|
|
- fmt.Println(listActivity)
|
|
|
-
|
|
|
- for _, vAct := range listActivity {
|
|
|
- doTime := utils.TimeRemoveHms2(vAct.ActivityTime)
|
|
|
+ for _, vAct := range listActivityRoadshow {
|
|
|
+ doTime := utils.TimeRemoveHms2(vAct.RoadshowBeginTime)
|
|
|
findStartDate := doTime + " 00:00:00"
|
|
|
findEndDate := doTime + " 23:59:59"
|
|
|
- nameSlice := strings.Split(vAct.ActivityName, "】")
|
|
|
+ var roadshowTitle string
|
|
|
+ roadshowTitle = vAct.RoadshowTitle
|
|
|
+ vAct.RoadshowTitle = strings.Replace(vAct.RoadshowTitle, "【", "", -1)
|
|
|
+ vAct.RoadshowTitle = strings.Replace(vAct.RoadshowTitle, "】", "", -1)
|
|
|
+ vAct.RoadshowTitle = strings.Replace(vAct.RoadshowTitle, " ", "", -1)
|
|
|
+ vAct.RoadshowTitle = strings.Replace(vAct.RoadshowTitle, "-", "", -1)
|
|
|
+ vAct.RoadshowTitle = strings.Replace(vAct.RoadshowTitle, ":", "", -1)
|
|
|
+ nameSlice := strings.Split(vAct.RoadshowTitle, "|")
|
|
|
//fmt.Println(timeSlice[0])
|
|
|
//对于手动匹配到的活动数据也要更新
|
|
|
var activityName string
|
|
|
- if len(nameSlice) > 1 || vAct.JmcjRoadshowTitle != "" {
|
|
|
- if vAct.JmcjRoadshowTitle != "" {
|
|
|
- activityName = vAct.JmcjRoadshowTitle
|
|
|
- } else {
|
|
|
- activityName = nameSlice[len(nameSlice)-1]
|
|
|
- }
|
|
|
+ if len(nameSlice) > 1 {
|
|
|
+ //if vAct.JmcjRoadshowTitle != "" {
|
|
|
+ // activityName = vAct.JmcjRoadshowTitle
|
|
|
+ //} else {
|
|
|
+ // activityName = nameSlice[len(nameSlice)-1]
|
|
|
+ //}
|
|
|
+ activityName = nameSlice[len(nameSlice)-1]
|
|
|
if activityName != "" {
|
|
|
- list, err := models.GetRoadshowDataList(activityName, findStartDate, findEndDate)
|
|
|
+ //通过名称去找匹配的活动
|
|
|
+ activityDetail, _ := models.GetAddActivityInfoByTitle(activityName, findStartDate, findEndDate)
|
|
|
+ if activityDetail == nil {
|
|
|
+ continue
|
|
|
+ } else {
|
|
|
+ activityIds += strconv.Itoa(activityDetail.ActivityId) + ","
|
|
|
+ }
|
|
|
+ list, err := models.GetRoadshowDataList(roadshowTitle, findStartDate, findEndDate)
|
|
|
if err != nil {
|
|
|
fmt.Println("GetTacticsList Err:", err.Error())
|
|
|
return err
|
|
|
}
|
|
|
+ //fmt.Println("原来的", vAct.RoadshowTitle)
|
|
|
+ //fmt.Println("处理的", activityName)
|
|
|
|
|
|
needAddAttendanc := make([]*models.CygxActivityAttendanceDetail, 0)
|
|
|
- fmt.Println("原来的", vAct.ActivityName)
|
|
|
- fmt.Println("处理的", activityName)
|
|
|
var mobileStr string
|
|
|
if len(list) > 0 {
|
|
|
for _, v := range list {
|
|
|
if v.UserPhone != "" {
|
|
|
item := new(models.CygxActivityAttendanceDetail)
|
|
|
- item.ActivityId = vAct.ActivityId
|
|
|
+ item.ActivityId = activityDetail.ActivityId
|
|
|
item.RealName = v.UserName
|
|
|
item.Mobile = v.UserPhone
|
|
|
item.CompanyName = v.Company
|
|
@@ -694,13 +707,13 @@ func ActivityAttendanceDetail(cont context.Context) (err error) {
|
|
|
}
|
|
|
//fmt.Println(mobileStr)
|
|
|
//参会记录
|
|
|
- err = models.AddAttendancDetail(needAddAttendanc, vAct.ActivityId, mobileStr)
|
|
|
+ err = models.AddAttendancDetail(needAddAttendanc, activityDetail.ActivityId, mobileStr)
|
|
|
if err != nil {
|
|
|
fmt.Println("AddAttendancDetail Err:", err.Error())
|
|
|
return err
|
|
|
}
|
|
|
////处理是否限制报名
|
|
|
- err = AddCygxActivityRestrictSignupByAdmin(vAct.ActivityId)
|
|
|
+ err = AddCygxActivityRestrictSignupByAdmin(activityDetail.ActivityId)
|
|
|
if err != nil {
|
|
|
fmt.Println("AddCygxActivityRestrictSignupByAdmin Err:", err.Error())
|
|
|
return err
|
|
@@ -716,22 +729,119 @@ func ActivityAttendanceDetail(cont context.Context) (err error) {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- var activityIds string
|
|
|
- for _, v := range listActivity {
|
|
|
- activityIds += strconv.Itoa(v.ActivityId) + ","
|
|
|
- }
|
|
|
- activityIds = strings.TrimRight(activityIds, ",")
|
|
|
|
|
|
- detailList, err := models.GetActivityAttendanceDetailList(activityIds)
|
|
|
+ //获取需要处理的活动
|
|
|
+ listActivity, err := models.GetActivityListByDateTime(startDate, endDate, activityIds)
|
|
|
if err != nil {
|
|
|
- fmt.Println("GetActivityAttendanceDetailList Err:", err.Error())
|
|
|
+ fmt.Println("GetTacticsList Err:", err.Error())
|
|
|
return err
|
|
|
}
|
|
|
- //添加报名日志 (下载使用)
|
|
|
- err = models.AddCygxActivityMeetDetailLogOnlineByList(detailList, activityIds)
|
|
|
- if err != nil {
|
|
|
- fmt.Println("AddCygxActivityMeetDetailLogOnline Err:", err.Error())
|
|
|
- return err
|
|
|
+ //通过本地去找进门财经的数据
|
|
|
+ for _, vAct := range listActivity {
|
|
|
+ doTime := utils.TimeRemoveHms2(vAct.ActivityName)
|
|
|
+ findStartDate := doTime + " 00:00:00"
|
|
|
+ findEndDate := doTime + " 23:59:59"
|
|
|
+ var roadshowTitle string
|
|
|
+ nameSlice := strings.Split(vAct.ActivityName, "|")
|
|
|
+ //对于手动匹配到的活动数据也要更新
|
|
|
+ var activityName string
|
|
|
+ if len(nameSlice) > 1 {
|
|
|
+ if vAct.JmcjRoadshowTitle != "" {
|
|
|
+ activityName = vAct.JmcjRoadshowTitle
|
|
|
+ } else {
|
|
|
+ activityName = nameSlice[len(nameSlice)-1]
|
|
|
+ }
|
|
|
+ //fmt.Println("原来的1", vAct.ActivityName)
|
|
|
+ //fmt.Println("处理的2", activityName)
|
|
|
+ activityName = nameSlice[len(nameSlice)-1]
|
|
|
+ if activityName != "" {
|
|
|
+ list, err := models.GetRoadshowDataList(roadshowTitle, findStartDate, findEndDate)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("GetTacticsList Err:", err.Error())
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ needAddAttendanc := make([]*models.CygxActivityAttendanceDetail, 0)
|
|
|
+ var mobileStr string
|
|
|
+ if len(list) > 0 {
|
|
|
+ for _, v := range list {
|
|
|
+ if v.UserPhone != "" {
|
|
|
+ item := new(models.CygxActivityAttendanceDetail)
|
|
|
+ item.ActivityId = vAct.ActivityId
|
|
|
+ item.RealName = v.UserName
|
|
|
+ item.Mobile = v.UserPhone
|
|
|
+ item.CompanyName = v.Company
|
|
|
+ //item.SellerName = sellerName
|
|
|
+ item.FirstMeetingTime = v.FirstWatchTime
|
|
|
+ item.LastMeetingTime = v.LastWatchTime
|
|
|
+ item.Duration = utils.GetAttendanceDetailSeconds(v.JoinTime)
|
|
|
+ if v.JoinType == 1 {
|
|
|
+ item.MeetingTypeStr = "网络"
|
|
|
+ } else {
|
|
|
+ item.MeetingTypeStr = "电话"
|
|
|
+ }
|
|
|
+ item.MeetingAuthentication = v.AuthInfo
|
|
|
+ if v.DataType == 1 {
|
|
|
+ item.MeetingStatusStr = "直播"
|
|
|
+ } else {
|
|
|
+ item.MeetingStatusStr = "回放"
|
|
|
+ }
|
|
|
+ item.Position = v.Occupation
|
|
|
+ item.UseridEntity = v.UseridEntity
|
|
|
+ item.CreateTime = time.Now()
|
|
|
+ mobileStr += "'" + v.UserPhone + "'" + ","
|
|
|
+ needAddAttendanc = append(needAddAttendanc, item)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ mobileStr = strings.TrimRight(mobileStr, ",")
|
|
|
+ if mobileStr == "" {
|
|
|
+ mobileStr = "1"
|
|
|
+ }
|
|
|
+ listUser, err := models.GetWxUserOutboundMobile(mobileStr)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("GetWxUserOutboundMobile Err:", err.Error())
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ for k, v := range needAddAttendanc {
|
|
|
+ for _, v2 := range listUser {
|
|
|
+ if v2.OutboundMobile == v.Mobile {
|
|
|
+ needAddAttendanc[k].CompanyId = v2.CompanyId
|
|
|
+ needAddAttendanc[k].SellerName = v2.SellerName
|
|
|
+ needAddAttendanc[k].CompanyName = v2.CompanyName
|
|
|
+ needAddAttendanc[k].IsMeetingStr = 1
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //参会记录
|
|
|
+ err = models.AddAttendancDetail(needAddAttendanc, vAct.ActivityId, mobileStr)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("AddAttendancDetail Err:", err.Error())
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ ////处理是否限制报名
|
|
|
+ err = AddCygxActivityRestrictSignupByAdmin(vAct.ActivityId)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("AddCygxActivityRestrictSignupByAdmin Err:", err.Error())
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ activityIds += strconv.Itoa(vAct.ActivityId) + ","
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ activityIds = strings.TrimRight(activityIds, ",")
|
|
|
+ if activityIds != "" {
|
|
|
+ detailList, err := models.GetActivityAttendanceDetailList(activityIds)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("GetActivityAttendanceDetailList Err:", err.Error())
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ //添加报名日志 (下载使用)
|
|
|
+ err = models.AddCygxActivityMeetDetailLogOnlineByList(detailList, activityIds)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("AddCygxActivityMeetDetailLogOnline Err:", err.Error())
|
|
|
+ return err
|
|
|
+ }
|
|
|
}
|
|
|
fmt.Println("结束路演同步")
|
|
|
return
|