|
@@ -8,21 +8,35 @@ import (
|
|
|
"hongze/hongze_open_api/models/tables/qs_event_user"
|
|
|
"hongze/hongze_open_api/models/tables/user_view_statistics"
|
|
|
"hongze/hongze_open_api/models/tables/wx_user"
|
|
|
+ "hongze/hongze_open_api/services/alarm_msg"
|
|
|
"hongze/hongze_open_api/services/quanshi"
|
|
|
+ "hongze/hongze_open_api/utils"
|
|
|
"strings"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
|
// SyncUser 用户同步
|
|
|
func SyncUser(qsEventId int) (err error) {
|
|
|
+ errMsgList := make([]string, 0)
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ errMsgList = append(errMsgList, err.Error())
|
|
|
+ }
|
|
|
+ if len(errMsgList) > 0 {
|
|
|
+ //for _, v := range errMsgList {
|
|
|
+ // fmt.Println(v)
|
|
|
+ //}
|
|
|
+ go alarm_msg.SendAlarmMsg("同步全时会议参会人员数据失败:"+strings.Join(errMsgList, "/n"), 3)
|
|
|
+ }
|
|
|
+ }()
|
|
|
qsEventInfo, err := qs_event.GetQsEventByQsEventId(qsEventId)
|
|
|
if err != nil {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- if qsEventInfo.IsSync == 1 {
|
|
|
- return
|
|
|
- }
|
|
|
+ //if qsEventInfo.IsSync == 1 {
|
|
|
+ // return
|
|
|
+ //}
|
|
|
//获取全时的参会人员信息
|
|
|
qsData, err := quanshi.QsEventReportSummary(qsEventId)
|
|
|
if err != nil {
|
|
@@ -42,6 +56,15 @@ func SyncUser(qsEventId int) (err error) {
|
|
|
if v.Mobile == "" { //如果手机号为空,那么就不处理了,进入下一个循环
|
|
|
continue
|
|
|
}
|
|
|
+ tmpQsEventUser, tmpErr := qs_event_user.GetQsEventUserByQsId(qsEventInfo.QsId, v.Mobile)
|
|
|
+ if tmpErr != nil && tmpErr.Error() != utils.ErrNoRow() {
|
|
|
+ errMsgList = append(errMsgList, fmt.Sprintf("路演id:%d,用户手机号:%s,会议用户入库失败,err:%s", qsEventInfo.QsId, v.Mobile, err.Error()))
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ // 如果已经有数据了,那么不需要再处理了
|
|
|
+ if tmpQsEventUser != nil {
|
|
|
+ continue
|
|
|
+ }
|
|
|
people++
|
|
|
mobile := v.Mobile
|
|
|
trimMobile := mobile
|
|
@@ -149,7 +172,7 @@ func SyncUser(qsEventId int) (err error) {
|
|
|
|
|
|
qsEventInfo.IsSync = 1
|
|
|
qsEventInfo.QsStatus = 2
|
|
|
- qsEventInfo.People = people
|
|
|
+ qsEventInfo.People = qsEventInfo.People + people
|
|
|
err = qsEventInfo.Update([]string{"IsSync", "QsStatus", "People"})
|
|
|
return
|
|
|
}
|