|
@@ -1,6 +1,7 @@
|
|
|
package services
|
|
|
|
|
|
import (
|
|
|
+ "context"
|
|
|
"errors"
|
|
|
"fmt"
|
|
|
"hongze/hongze_cygx/models"
|
|
@@ -10,37 +11,30 @@ import (
|
|
|
"time"
|
|
|
)
|
|
|
|
|
|
-// GroupingActivityToJmcj建立与进门财经的活动关联
|
|
|
-func GroupingActivityToJmcj() {
|
|
|
-
|
|
|
-}
|
|
|
-
|
|
|
-// GroupingActivityHzToJmcj 通过弘则的名称匹配进门财经的活动
|
|
|
-func GroupingActivityHzToJmcj() {
|
|
|
-
|
|
|
-}
|
|
|
-
|
|
|
//func init() {
|
|
|
-// var activityIds []int
|
|
|
-// activityIds = append(activityIds, 3115)
|
|
|
-// AddCygxActivityRestrictSignupByAdminNew(activityIds)
|
|
|
+// fmt.Println(strings.Contains("渠道新声第583期运动服饰渠道调研更新反馈", "运动服饰渠道调研更新反馈"))
|
|
|
+// fmt.Println(len("反馈"))
|
|
|
+// GroupingActivityToJmcj()
|
|
|
+// GetActivityMeetingByJmcj()
|
|
|
//}
|
|
|
|
|
|
-// GroupingActivityJmcjToHz 通过进门财经的匹配弘则的活动
|
|
|
-func GroupingActivityJmcjToHz() (err error) {
|
|
|
+// GroupingActivityToJmcj 建立与进门财经的活动关联
|
|
|
+func GroupingActivityToJmcj(cont context.Context) (err error) {
|
|
|
+ //func GroupingActivityToJmcj() (err error) {
|
|
|
defer func() {
|
|
|
if err != nil {
|
|
|
fmt.Println(err)
|
|
|
- go utils.SendAlarmMsg("通过进门财经的匹配弘则的活动", 2)
|
|
|
+ go utils.SendAlarmMsg("建立与进门财经的活动关联失败"+err.Error(), 2)
|
|
|
}
|
|
|
}()
|
|
|
- dateTime := time.Now().AddDate(0, 0, -1).Format(utils.FormatDate)
|
|
|
+ dateTime := time.Now().AddDate(0, 0, -7).Format(utils.FormatDate)
|
|
|
dateNow := time.Now().AddDate(0, 0, 0).Format(utils.FormatDate)
|
|
|
startDate := dateTime + " 00:00:00"
|
|
|
endDate := dateNow + " 23:59:59"
|
|
|
var condition string
|
|
|
var pars []interface{}
|
|
|
condition = " AND roadshow_begin_time BETWEEN ? AND ? "
|
|
|
+ //condition += " AND roadshow_id = 95871 "
|
|
|
pars = append(pars, startDate, endDate)
|
|
|
condition += ` GROUP BY roadshow_id `
|
|
|
listJmcj, e := models.GetJmcjRoadshowDataList(condition, pars)
|
|
@@ -48,9 +42,10 @@ func GroupingActivityJmcjToHz() (err error) {
|
|
|
err = errors.New("GetJmcjRoadshowDataList, Err: " + e.Error())
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
+ textLen := 15
|
|
|
pars = make([]interface{}, 0)
|
|
|
- condition = " AND activity_time BETWEEN ? AND ? AND publish_status = 1 "
|
|
|
+ condition = " AND activity_time BETWEEN ? AND ? AND publish_status = 1 AND jmcj_activity_id = '' "
|
|
|
+ //condition += " AND activity_id = 1339 "
|
|
|
pars = append(pars, startDate, endDate)
|
|
|
listHz, e := models.GetActivityListByCondition(condition, pars)
|
|
|
if e != nil {
|
|
@@ -61,21 +56,72 @@ func GroupingActivityJmcjToHz() (err error) {
|
|
|
mapGroupActivityid := make(map[int]string)
|
|
|
//通过进门财经匹配弘则
|
|
|
for _, vJmcj := range listJmcj {
|
|
|
- var roadshowTitle string
|
|
|
+ var roadshowTitle, roadshowTitle1, roadshowTitle2, roadshowTitle3, roadshowTitle4 string
|
|
|
roadshowTitle = vJmcj.RoadshowTitle
|
|
|
- roadshowTitle = strings.Replace(roadshowTitle, "【", "", -1)
|
|
|
- roadshowTitle = strings.Replace(roadshowTitle, "】", "", -1)
|
|
|
roadshowTitle = strings.Replace(roadshowTitle, " ", "", -1)
|
|
|
- roadshowTitle = strings.Replace(roadshowTitle, "-", "", -1)
|
|
|
- roadshowTitle = strings.Replace(roadshowTitle, ":", "", -1)
|
|
|
- nameSlice := strings.Split(roadshowTitle, "|")
|
|
|
- if len(nameSlice) >= 1 {
|
|
|
- roadshowTitle = nameSlice[len(nameSlice)-1]
|
|
|
- vJmcj.RoadshowBeginTime = utils.TimeRemoveHms2(vJmcj.RoadshowBeginTime)
|
|
|
- for _, vHz := range listHz {
|
|
|
- //如果同一时间标题匹配就建立匹配关系
|
|
|
- if vJmcj.RoadshowBeginTime == utils.TimeRemoveHms2(vHz.ActivityTime) && (strings.Contains(vHz.ActivityNameTask, roadshowTitle) || strings.Contains(vHz.JmcjRoadshowTitle, roadshowTitle)) {
|
|
|
+ roadshowBeginTime := utils.TimeRemoveHms2(vJmcj.RoadshowBeginTime)
|
|
|
+ nameSlice1 := strings.Split(roadshowTitle, "|")
|
|
|
+ nameSlice2 := strings.Split(roadshowTitle, ":")
|
|
|
+ nameSlice3 := strings.Split(roadshowTitle, "】")
|
|
|
+ nameSlice4 := strings.Split(roadshowTitle, "-")
|
|
|
+ if len(nameSlice1) >= 1 {
|
|
|
+ roadshowTitle1 = nameSlice1[len(nameSlice1)-1]
|
|
|
+ }
|
|
|
+ if len(nameSlice2) >= 1 {
|
|
|
+ roadshowTitle2 = nameSlice2[len(nameSlice2)-1]
|
|
|
+ }
|
|
|
+ if len(nameSlice3) >= 1 {
|
|
|
+ roadshowTitle3 = nameSlice3[len(nameSlice3)-1]
|
|
|
+ }
|
|
|
+ if len(nameSlice4) >= 1 {
|
|
|
+ roadshowTitle4 = nameSlice4[len(nameSlice4)-1]
|
|
|
+ }
|
|
|
+
|
|
|
+ if roadshowTitle == "" {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ //fmt.Println(roadshowTitle1)
|
|
|
+ //fmt.Println(roadshowTitle2)
|
|
|
+ //fmt.Println(roadshowTitle3)
|
|
|
+ //fmt.Println(roadshowTitle4)
|
|
|
+
|
|
|
+ for _, vHz := range listHz {
|
|
|
+ //如果同一时间标题匹配就建立匹配关系
|
|
|
+ if roadshowBeginTime == utils.TimeRemoveHms2(vHz.ActivityTime) {
|
|
|
+ if strings.Contains(vHz.ActivityNameTask, roadshowTitle) || strings.Contains(vHz.JmcjRoadshowTitle, roadshowTitle) {
|
|
|
+ mapGroupActivityid[vHz.ActivityId] = vJmcj.RoadshowId
|
|
|
+ break
|
|
|
+ }
|
|
|
+
|
|
|
+ //去掉空格标识,完全等于时候的匹配
|
|
|
+ if strings.Replace(vHz.ActivityName, " ", "", -1) == strings.Replace(vJmcj.RoadshowTitle, " ", "", -1) {
|
|
|
mapGroupActivityid[vHz.ActivityId] = vJmcj.RoadshowId
|
|
|
+ break
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(roadshowTitle1) > textLen {
|
|
|
+ if strings.Contains(vHz.ActivityNameTask, roadshowTitle1) || strings.Contains(vHz.JmcjRoadshowTitle, roadshowTitle1) {
|
|
|
+ mapGroupActivityid[vHz.ActivityId] = vJmcj.RoadshowId
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if len(roadshowTitle2) > textLen {
|
|
|
+ if strings.Contains(vHz.ActivityNameTask, roadshowTitle2) || strings.Contains(vHz.JmcjRoadshowTitle, roadshowTitle2) {
|
|
|
+ mapGroupActivityid[vHz.ActivityId] = vJmcj.RoadshowId
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if len(roadshowTitle3) > textLen {
|
|
|
+ if strings.Contains(vHz.ActivityNameTask, roadshowTitle3) || strings.Contains(vHz.JmcjRoadshowTitle, roadshowTitle3) {
|
|
|
+ mapGroupActivityid[vHz.ActivityId] = vJmcj.RoadshowId
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if len(roadshowTitle4) > textLen {
|
|
|
+ if strings.Contains(vHz.ActivityNameTask, roadshowTitle4) || strings.Contains(vHz.JmcjRoadshowTitle, roadshowTitle4) {
|
|
|
+ mapGroupActivityid[vHz.ActivityId] = vJmcj.RoadshowId
|
|
|
+ break
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -91,11 +137,20 @@ func GroupingActivityJmcjToHz() (err error) {
|
|
|
nameSlice := strings.Split(roadshowTitle, "】")
|
|
|
if len(nameSlice) >= 1 {
|
|
|
roadshowTitle = nameSlice[len(nameSlice)-1]
|
|
|
- vHz.ActivityTime = utils.TimeRemoveHms2(vHz.ActivityTime)
|
|
|
- for _, vJmcj := range listJmcj {
|
|
|
- //如果同一时间标题匹配就建立匹配关系
|
|
|
- if vHz.ActivityTime == utils.TimeRemoveHms2(vJmcj.RoadshowBeginTime) && strings.Contains(vJmcj.RoadshowTitle, roadshowTitle) {
|
|
|
- mapGroupActivityid[vHz.ActivityId] = vJmcj.RoadshowId
|
|
|
+ if len(roadshowTitle) > textLen {
|
|
|
+ vHz.ActivityTime = utils.TimeRemoveHms2(vHz.ActivityTime)
|
|
|
+ for _, vJmcj := range listJmcj {
|
|
|
+ //如果同一时间标题匹配就建立匹配关系
|
|
|
+ if vHz.ActivityTime == utils.TimeRemoveHms2(vJmcj.RoadshowBeginTime) {
|
|
|
+ if strings.Contains(vJmcj.RoadshowTitle, roadshowTitle) {
|
|
|
+ mapGroupActivityid[vHz.ActivityId] = vJmcj.RoadshowId
|
|
|
+ break
|
|
|
+ }
|
|
|
+ if strings.Contains(vJmcj.RoadshowTitle, vHz.JmcjRoadshowTitle) && vHz.JmcjRoadshowTitle != "" {
|
|
|
+ mapGroupActivityid[vHz.ActivityId] = vJmcj.RoadshowId
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -107,11 +162,13 @@ func GroupingActivityJmcjToHz() (err error) {
|
|
|
err = errors.New("UpdateJmcjActivityIdGroup, Err: " + e.Error())
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
return
|
|
|
|
|
|
}
|
|
|
|
|
|
-func GetActivityMeetingByJmcj() (err error) {
|
|
|
+// GetActivityMeetingByJmcj 同步进门财经到会信息,并处理爽约记录
|
|
|
+func GetActivityMeetingByJmcj(cont context.Context) (err error) {
|
|
|
defer func() {
|
|
|
if err != nil {
|
|
|
fmt.Println(err)
|
|
@@ -131,7 +188,7 @@ func GetActivityMeetingByJmcj() (err error) {
|
|
|
for _, v := range sliceValue {
|
|
|
mapActivityIdlLongTime[v] = v
|
|
|
}
|
|
|
- dateTime := time.Now().AddDate(0, 0, -1).Format(utils.FormatDate)
|
|
|
+ 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"
|
|
@@ -156,7 +213,7 @@ func GetActivityMeetingByJmcj() (err error) {
|
|
|
mapGroupActivityid[v.JmcjActivityId] = v.ActivityId
|
|
|
mapGroupActivityTime[v.JmcjActivityId] = v.ActivityTime
|
|
|
}
|
|
|
- fmt.Println(jmcjActivityIds)
|
|
|
+
|
|
|
//return
|
|
|
lenjmcjActivityIds := len(jmcjActivityIds)
|
|
|
if lenjmcjActivityIds == 0 {
|
|
@@ -240,15 +297,8 @@ func GetActivityMeetingByJmcj() (err error) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 更新需要长时间同步到会信息的活动
|
|
|
- if activityIdsLongTime != "" {
|
|
|
- activityIdsLongTime = strings.TrimRight(activityIdsLongTime, ",")
|
|
|
- activityIdsLongTime = detail.ConfigValue + "," + activityIdsLongTime
|
|
|
- e = models.UpdateConfigByCode(activityIdsLongTime, configCode)
|
|
|
- if e != nil {
|
|
|
- err = errors.New("UpdateConfigByCode, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
+ if len(needAddAttendanc) == 0 {
|
|
|
+ return
|
|
|
}
|
|
|
|
|
|
//根据手机号获取这些用户的信息
|
|
@@ -283,6 +333,17 @@ func GetActivityMeetingByJmcj() (err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ // 更新需要长时间同步到会信息的活动
|
|
|
+ if activityIdsLongTime != "" {
|
|
|
+ activityIdsLongTime = strings.TrimRight(activityIdsLongTime, ",")
|
|
|
+ activityIdsLongTime = detail.ConfigValue + "," + activityIdsLongTime
|
|
|
+ e = models.UpdateConfigByCode(activityIdsLongTime, configCode)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("UpdateConfigByCode, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//return
|
|
|
{
|
|
|
//参会记录
|
|
@@ -305,10 +366,6 @@ func GetActivityMeetingByJmcj() (err error) {
|
|
|
{
|
|
|
//处理是否限制报名
|
|
|
AddCygxActivityRestrictSignupByAdminNew(updateActivityIds)
|
|
|
- if err != nil {
|
|
|
- fmt.Println("AddCygxActivityRestrictSignupByAdmin Err:", err.Error())
|
|
|
- return err
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
{
|
|
@@ -351,7 +408,6 @@ func AddCygxActivityRestrictSignupByAdminNew(activityIds []int) (err error) {
|
|
|
for _, v := range meetingList {
|
|
|
userIdArr = append(userIdArr, v.UserId)
|
|
|
}
|
|
|
- fmt.Println("userIdArr", userIdArr)
|
|
|
lenuserIdArr := len(userIdArr)
|
|
|
var condition string
|
|
|
var pars []interface{}
|
|
@@ -362,13 +418,12 @@ func AddCygxActivityRestrictSignupByAdminNew(activityIds []int) (err error) {
|
|
|
err = errors.New("GetCygxActivityRestrictSignupList" + e.Error())
|
|
|
return
|
|
|
}
|
|
|
- fmt.Println(1)
|
|
|
+
|
|
|
//获取这些用户是否被加入到限制报名了
|
|
|
maptotalRestrict := make(map[int]bool)
|
|
|
for _, v := range restrictSignupList {
|
|
|
maptotalRestrict[v.UserId] = true
|
|
|
}
|
|
|
- fmt.Println(len(restrictSignupList))
|
|
|
|
|
|
pars = make([]interface{}, 0)
|
|
|
condition = ` AND a.is_limit_people = 1 AND v.is_meeting = 0 AND v.do_fail_type = 0 AND v.user_id IN (` + utils.GetOrmInReplace(lenuserIdArr) + `) AND a.activity_id IN (` + utils.GetOrmInReplace(lenactivityIds) + `)`
|
|
@@ -378,9 +433,7 @@ func AddCygxActivityRestrictSignupByAdminNew(activityIds []int) (err error) {
|
|
|
err = errors.New("GetActivitySignupInnerActivityList" + e.Error())
|
|
|
return
|
|
|
}
|
|
|
- //fmt.Println(len(listSignup))
|
|
|
- ////return
|
|
|
- //fmt.Println(2)
|
|
|
+
|
|
|
mapNomeet := make(map[int]int)
|
|
|
if len(listSignup) > 0 {
|
|
|
for _, v := range listSignup {
|
|
@@ -394,13 +447,13 @@ func AddCygxActivityRestrictSignupByAdminNew(activityIds []int) (err error) {
|
|
|
userIdDelArr = append(userIdDelArr, v.UserId)
|
|
|
}
|
|
|
}
|
|
|
- if len(userIdDelArr) > 0 {
|
|
|
- e = models.DeleteCygxActivityRestrictSignupByUserIds(userIdDelArr)
|
|
|
- if e != nil {
|
|
|
- err = errors.New("DeleteCygxActivityRestrictSignupByUserIds" + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
+ //if len(userIdDelArr) > 0 {
|
|
|
+ // e = models.DeleteCygxActivityRestrictSignupByUserIds(userIdDelArr)
|
|
|
+ // if e != nil {
|
|
|
+ // err = errors.New("DeleteCygxActivityRestrictSignupByUserIds" + e.Error())
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ //}
|
|
|
}
|
|
|
|
|
|
//获取未到会的人员
|
|
@@ -439,13 +492,13 @@ func AddCygxActivityRestrictSignupByAdminNew(activityIds []int) (err error) {
|
|
|
|
|
|
//var condition string
|
|
|
pars = make([]interface{}, 0)
|
|
|
- condition = ` AND user_id IN (` + utils.GetOrmInReplace(lenuserIdSiginArr) + `)`
|
|
|
- pars = append(pars, userIdSiginArr)
|
|
|
+ condition = ""
|
|
|
restrictSignupList, e := models.GetCygxActivityRestrictSignupList(condition, pars, 0, 9999)
|
|
|
if e != nil {
|
|
|
err = errors.New("GetCygxActivityRestrictSignupList" + e.Error())
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
//获取这些用户是否被加入到限制报名了
|
|
|
for _, v := range restrictSignupList {
|
|
|
maptotalRestrict[v.UserId] = true
|
|
@@ -478,12 +531,13 @@ func AddCygxActivityRestrictSignupByAdminNew(activityIds []int) (err error) {
|
|
|
itemRestrict.CompanyName = v.CompanyName
|
|
|
itemRestrict.IsRestrict = 1
|
|
|
itemsRestrict = append(itemsRestrict, itemRestrict)
|
|
|
+ maptotalRestrict[v.UserId] = true
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- err = models.DeleteCygxActivitySignupBreakByIds(activityIds)
|
|
|
- if err != nil {
|
|
|
- err = errors.New("DeleteCygxActivitySignupBreakById" + err.Error())
|
|
|
+ e = models.DeleteCygxActivitySignupBreakByIds(activityIds)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("DeleteCygxActivitySignupBreakById" + e.Error())
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -548,7 +602,6 @@ func CygxActivityMeetSort(list []*models.CygxActivityAttendanceDetail, activityI
|
|
|
item := new(models.CygxActivityMeetDetailLog)
|
|
|
item.ActivityId = v.ActivityId
|
|
|
item.Mobile = v.Mobile
|
|
|
- fmt.Println(v.CompanyName)
|
|
|
item.CompanyName = v.CompanyName
|
|
|
item.CompanyId = v.CompanyId
|
|
|
item.ActivityTime = v.ActivityTime
|
|
@@ -600,7 +653,6 @@ func CygxActivityMeetSort(list []*models.CygxActivityAttendanceDetail, activityI
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
return
|
|
|
|