|
@@ -83,6 +83,74 @@ type PersonUser struct {
|
|
CreatePersonName string `description:"创建人姓名:创建时必填" json:"createPersonName"`
|
|
CreatePersonName string `description:"创建人姓名:创建时必填" json:"createPersonName"`
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+type YidongActivityResult struct {
|
|
|
|
+ ActivityJoinType string `json:"activityJoinType"` // 活动入会类型,01报名审核后可入会 02预约即可入会 03仅定向邀请人员可入会
|
|
|
|
+ Banner string `json:"banner"` // 宣传图
|
|
|
|
+ BusinessCardOpen string `json:"businessCardOpen"` // 上传名片是否开启,1是 0否
|
|
|
|
+ BusinessCardRequired string `json:"businessCardRequired"` // 上传名片是否必填,1是 0否
|
|
|
|
+ CertificateInformationOpen string `json:"certificateInformationOpen"` // 证件信息是否开启,1是 0否
|
|
|
|
+ CertificateInformationRequired string `json:"certificateInformationRequired"` // 证件信息是否必填,1是 0否
|
|
|
|
+ CompanyCodeOpen string `json:"companyCodeOpen"` // 公司代码是否开启,1是 0否
|
|
|
|
+ CompanyCodeRequired string `json:"companyCodeRequired"` // 公司代码是否必填,1是 0否
|
|
|
|
+ CompanyInfo string `json:"companyInfo"` // 公司名称
|
|
|
|
+ CompanyShortNameOpen string `json:"companyShortNameOpen"` // 公司名称是否开启,1是 0否
|
|
|
|
+ CompanyShortNameRequired string `json:"companyShortNameRequired"` // 公司名称是否必填,1是 0否
|
|
|
|
+ End string `json:"end"` // 活动结束时间
|
|
|
|
+ ID string `json:"id"` // 活动主键id
|
|
|
|
+ IndustrySwName string `json:"industrySwName"` // 行业
|
|
|
|
+ InviteeOpen *string `json:"inviteeOpen"` // 邀请机构是否开启,1是 0否
|
|
|
|
+ InviteeRequired *string `json:"inviteeRequired"` // 邀请机构是否必填,1是 0否
|
|
|
|
+ JobNameOpen string `json:"jobNameOpen"` // 职务是否开启,1是 0否
|
|
|
|
+ JobNameRequired string `json:"jobNameRequired"` // 职务是否必填,1是 0否
|
|
|
|
+ MailOpen string `json:"mailOpen"` // 邮箱是否开启,1是 0否
|
|
|
|
+ MailRequired string `json:"mailRequired"` // 邮箱是否必填,1是 0否
|
|
|
|
+ PersonNameOpen string `json:"personNameOpen"` // 姓名是否开启,1是 0否
|
|
|
|
+ PersonNameRequired string `json:"personNameRequired"` // 姓名是否必填,1是 0否
|
|
|
|
+ PersonTelephoneOpen string `json:"personTelephoneOpen"` // 手机号是否开启,1是 0否
|
|
|
|
+ PersonTelephoneRequired string `json:"personTelephoneRequired"` // 手机号是否必填,1是 0否
|
|
|
|
+ SignUpEnd string `json:"signUpEnd"` // 报名结束时间,适应于报名审核后可入会,为空表示不限制报名时间
|
|
|
|
+ SignUpStart string `json:"signUpStart"` // 报名开始时间,适应于报名审核后可入会,为空表示不限制报名时间
|
|
|
|
+ Start string `json:"start"` // 活动开始时间
|
|
|
|
+ SyncFlag string `json:"syncFlag"` // 同步有效性,同步有效性 1有效,0失效
|
|
|
|
+ Title string `json:"title"` // 活动主题
|
|
|
|
+ Type string `json:"type"` // 路演类型
|
|
|
|
+ URL string `json:"url"` // 活动短链接
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+type YidongApifoxModal struct {
|
|
|
|
+ ErrorCode interface{} `json:"errorCode"`
|
|
|
|
+ ErrorMsg interface{} `json:"errorMsg"`
|
|
|
|
+ Result []YidongActivityResult `json:"result"`
|
|
|
|
+ Success bool `json:"success"`
|
|
|
|
+ Timestamp int64 `json:"timestamp"`
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+type YidongResultuser struct {
|
|
|
|
+ DeviceType string `json:"deviceType"` // 参会方式,1-PC,2-Mac,3-Android,4-IOS,5-Web,6-iPad,7-Android Pad,8-小程序,0-PSTN
|
|
|
|
+ Duration string `json:"duration"` // 云会议参会时长
|
|
|
|
+ DurationInteract string `json:"durationInteract"` // 互动交流参会时长
|
|
|
|
+ DurationLive string `json:"durationLive"` // 直播参会时长
|
|
|
|
+ DurationReview string `json:"durationReview"` // 回看参会时长
|
|
|
|
+ EndTime string `json:"endTime"` // 云会议最后退会时间
|
|
|
|
+ EndTimeInteract string `json:"endTimeInteract"` // 互动交流最后退会时间
|
|
|
|
+ EndTimeLive string `json:"endTimeLive"` // 直播最后退会时间
|
|
|
|
+ EndTimeReview string `json:"endTimeReview"` // 回看最后退会时间
|
|
|
|
+ ID string `json:"id"` // 主键id
|
|
|
|
+ Mail string `json:"mail" comment:"电子邮件"`
|
|
|
|
+ CompanyName string `json:"company_name" comment:"公司名称"`
|
|
|
|
+ JobName string `json:"jobName"` // 职务
|
|
|
|
+ MobileCountryCode string `json:"mobileCountryCode"` // 手机号国际区号码
|
|
|
|
+ PersonName string `json:"personName"` // 姓名
|
|
|
|
+ PersonTelephone string `json:"personTelephone"` // 用户手机号
|
|
|
|
+ StartTime string `json:"startTime"` // 云会议最早入会时间
|
|
|
|
+ StartTimeInteract string `json:"startTimeInteract"` // 互动交流最早入会时间
|
|
|
|
+ StartTimeLive string `json:"startTimeLive"` // 直播最早入会时间
|
|
|
|
+ StartTimeReview string `json:"startTimeReview"` // 回看最早入会时间
|
|
|
|
+ Status string `json:"status"` // 状态,D表示被删除
|
|
|
|
+ UserID string `json:"userId,omitempty"` // 用户id
|
|
|
|
+ SignUpStatus string `json:"sign_up_status" comment:"报名状态"`
|
|
|
|
+}
|
|
|
|
+
|
|
// CheckYidongActivitySignupTime 校验易董的活动是否可以 添加报名
|
|
// CheckYidongActivitySignupTime 校验易董的活动是否可以 添加报名
|
|
func CheckYidongActivitySignupTime(activityInfo *cygx.ActivityDetail) (errstr string) {
|
|
func CheckYidongActivitySignupTime(activityInfo *cygx.ActivityDetail) (errstr string) {
|
|
if activityInfo.YidongSignUpEnd == "0000-00-00 00:00:00" {
|
|
if activityInfo.YidongSignUpEnd == "0000-00-00 00:00:00" {
|
|
@@ -752,3 +820,304 @@ func YiDongUpdateActivityStatus(activityId int) {
|
|
err = cygx.UpdateCygxActivityTencentConferenceNumber(activityInfo)
|
|
err = cygx.UpdateCygxActivityTencentConferenceNumber(activityInfo)
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+// GetLoginAuthCodeReq 获取登录编码请求体
|
|
|
|
+type GetYiDongActivityByApiReq struct {
|
|
|
|
+ MeetingStatus string `json:"meetingStatus" description:"会议状态必需(0未开始1进行中2已结束)多个逗号分隔"`
|
|
|
|
+ ConveneStartStr string `json:"conveneStartStr" description:"活动日期范围开始"`
|
|
|
|
+ ConveneEndStr string `json:"conveneEndStr" description:"活动日期范围结束"`
|
|
|
|
+ LastUpdateTime string `json:"lastUpdateTime" description:"上次同步时间(用于筛选更新时间大于同步时间的活动数据)"`
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// 根据条件获取易董建会列表信息
|
|
|
|
+func GetYiDongActivityListByApi(param *GetYiDongActivityByApiReq) (yiDongResult []YidongActivityResult) {
|
|
|
|
+ var err error
|
|
|
|
+ defer func() {
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ go alarm_msg.SendAlarmMsg(fmt.Sprint("根据条件获取易董建会列表信息 GetYiDongActivityListByApi"+err.Error(), param), 2)
|
|
|
|
+ }
|
|
|
|
+ }()
|
|
|
|
+ var token string
|
|
|
|
+ token, _ = GetYidongToken()
|
|
|
|
+ url := utils.YiDongZhengTongYunUrl + "interact/activityManageApi/getRoadshowList?access_token=" + token
|
|
|
|
+ method := "POST"
|
|
|
|
+ data, e := json.Marshal(param)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New("data json marshal err: " + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ payload := strings.NewReader(string(data))
|
|
|
|
+ client := &http.Client{}
|
|
|
|
+ req, e := http.NewRequest(method, url, payload)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New(" http.NewRequest err: " + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ req.Header.Add("Content-Type", "application/json")
|
|
|
|
+
|
|
|
|
+ res, e := client.Do(req)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New(" client.Do err: " + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ defer res.Body.Close()
|
|
|
|
+ var ApifoxModal *YidongApifoxModal
|
|
|
|
+ body, e := ioutil.ReadAll(res.Body)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New(" ioutil.ReadAll: " + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //添加请求日志记录
|
|
|
|
+ itemApiLog := new(cygx.CygxThreeApiLog)
|
|
|
|
+ itemApiLog.CreateTime = time.Now()
|
|
|
|
+ itemApiLog.Source = 1
|
|
|
|
+ itemApiLog.Url = url
|
|
|
|
+ itemApiLog.Body = utils.ReplaceSpaceAndWrap(fmt.Sprint(payload))
|
|
|
|
+ itemApiLog.Result = string(body)
|
|
|
|
+ go cygx.AddCygxThreeApiLog(itemApiLog)
|
|
|
|
+
|
|
|
|
+ err = json.Unmarshal(body, &ApifoxModal)
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println("Getres.PublicGetDate Err:", err.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if len(ApifoxModal.Result) > 0 {
|
|
|
|
+ yiDongResult = ApifoxModal.Result
|
|
|
|
+ } else {
|
|
|
|
+ yiDongResult = make([]YidongActivityResult, 0)
|
|
|
|
+ }
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+type GetYiDongActivityMeetByActivityIdReq struct {
|
|
|
|
+ ActivityId string `json:"activityId" description:"活动ID"`
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+type YidongApifoxModaluser struct {
|
|
|
|
+ ErrorCode interface{} `json:"errorCode"`
|
|
|
|
+ ErrorMsg interface{} `json:"errorMsg"`
|
|
|
|
+ Result []YidongResultuser `json:"result"`
|
|
|
|
+ Success bool `json:"success"`
|
|
|
|
+ Timestamp int64 `json:"timestamp"`
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// 根据条件获取易董活动ID获取到会信息
|
|
|
|
+func GetYiDongActivityMeetDataByaAtivityId(ativityId string) (yiDongResult []YidongResultuser) {
|
|
|
|
+ var err error
|
|
|
|
+ defer func() {
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ go alarm_msg.SendAlarmMsg(fmt.Sprint("根据条件获取易董建会列表信息 GetYiDongActivityListByApi"+err.Error(), ativityId), 2)
|
|
|
|
+ }
|
|
|
|
+ }()
|
|
|
|
+ var token string
|
|
|
|
+ token, _ = GetYidongToken()
|
|
|
|
+ url := utils.YiDongZhengTongYunUrl + "interact/activityManageApi/getAttendPersonList?access_token=" + token
|
|
|
|
+ method := "POST"
|
|
|
|
+ param := new(GetYiDongActivityMeetByActivityIdReq)
|
|
|
|
+ param.ActivityId = ativityId
|
|
|
|
+ data, e := json.Marshal(param)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New("data json marshal err: " + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ payload := strings.NewReader(string(data))
|
|
|
|
+ client := &http.Client{}
|
|
|
|
+ req, e := http.NewRequest(method, url, payload)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New(" http.NewRequest err: " + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ req.Header.Add("Content-Type", "application/json")
|
|
|
|
+ res, e := client.Do(req)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New(" client.Do err: " + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ defer res.Body.Close()
|
|
|
|
+ var ApifoxModal *YidongApifoxModaluser
|
|
|
|
+ body, e := ioutil.ReadAll(res.Body)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New(" ioutil.ReadAll err: " + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ e = json.Unmarshal(body, &ApifoxModal)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New(" json.Unmarshal err: " + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //添加请求日志记录
|
|
|
|
+ itemApiLog := new(cygx.CygxThreeApiLog)
|
|
|
|
+ itemApiLog.CreateTime = time.Now()
|
|
|
|
+ itemApiLog.Source = 1
|
|
|
|
+ itemApiLog.Url = url
|
|
|
|
+ itemApiLog.Body = utils.ReplaceSpaceAndWrap(fmt.Sprint(payload))
|
|
|
|
+ itemApiLog.Result = string(body)
|
|
|
|
+ go cygx.AddCygxThreeApiLog(itemApiLog)
|
|
|
|
+
|
|
|
|
+ err = json.Unmarshal(body, &ApifoxModal)
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println("Getres.PublicGetDate Err:", err.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if len(ApifoxModal.Result) > 0 {
|
|
|
|
+ yiDongResult = ApifoxModal.Result
|
|
|
|
+ } else {
|
|
|
|
+ yiDongResult = make([]YidongResultuser, 0)
|
|
|
|
+ }
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// 根据条件获取易董活动ID获取到会信息
|
|
|
|
+func GetYiDongActivityMeeting(yidongActivityId string, cygxActivityId int) (yiDongResult []YidongResultuser) {
|
|
|
|
+ var err error
|
|
|
|
+ defer func() {
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ go alarm_msg.SendAlarmMsg(fmt.Sprint("根据条件获取易董建会列表信息 GetYiDongActivityMeeting"+err.Error(), cygxActivityId), 2)
|
|
|
|
+ }
|
|
|
|
+ }()
|
|
|
|
+
|
|
|
|
+ //跟易董返回的用户状态修改活动以提交到会状态
|
|
|
|
+ e := cygx.UpdateCygxActivitySubmitMeetingByYidong(yidongActivityId)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New("UpdateCygxActivitySubmitMeetingByYidong err: " + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ meetDataList := GetYiDongActivityMeetDataByaAtivityId(yidongActivityId)
|
|
|
|
+ var mobiles []string
|
|
|
|
+ var mobileStr string
|
|
|
|
+ var mobileStrMeet string
|
|
|
|
+ mapActivityAttendanceDetail := make(map[string]*cygx.CygxActivityAttendanceDetail)
|
|
|
|
+ if len(meetDataList) > 0 {
|
|
|
|
+
|
|
|
|
+ var itemsUpdate []*cygx.CygxActivitySignupDetail
|
|
|
|
+ needAddAttendanc := make([]*cygx.CygxActivityAttendanceDetail, 0)
|
|
|
|
+
|
|
|
|
+ for _, vresult := range meetDataList {
|
|
|
|
+ if vresult.PersonTelephone == "" {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ if vresult.Duration != "" || vresult.DurationReview != "" {
|
|
|
|
+ mobiles = append(mobiles, vresult.PersonTelephone)
|
|
|
|
+ var itemDetail = new(cygx.CygxActivitySignupDetail)
|
|
|
|
+ if vresult.Duration != "" {
|
|
|
|
+ itemDetail.FirstMeetingTime = vresult.StartTime
|
|
|
|
+ itemDetail.LastMeetingTime = vresult.EndTime
|
|
|
|
+ itemDetail.Duration = vresult.Duration
|
|
|
|
+ itemDetail.MeetingStatusStr = "直播"
|
|
|
|
+ } else if vresult.DurationReview != "" {
|
|
|
|
+ itemDetail.FirstMeetingTime = vresult.StartTimeReview
|
|
|
|
+ itemDetail.LastMeetingTime = vresult.EndTimeReview
|
|
|
|
+ itemDetail.Duration = vresult.DurationReview
|
|
|
|
+ itemDetail.MeetingStatusStr = "回放"
|
|
|
|
+ }
|
|
|
|
+ itemDetail.Position = vresult.JobName
|
|
|
|
+ itemDetail.RealName = vresult.PersonName
|
|
|
|
+
|
|
|
|
+ itemDetail.Mobile = vresult.PersonTelephone
|
|
|
|
+ itemDetail.OutboundMobile = vresult.PersonTelephone
|
|
|
|
+ itemDetail.IsMeeting = 1
|
|
|
|
+ itemDetail.ActivityId = cygxActivityId
|
|
|
|
+ mapActivityAttendanceDetail[vresult.PersonTelephone] = new(cygx.CygxActivityAttendanceDetail)
|
|
|
|
+ mapActivityAttendanceDetail[vresult.PersonTelephone].FirstMeetingTime = vresult.StartTime
|
|
|
|
+ mapActivityAttendanceDetail[vresult.PersonTelephone].LastMeetingTime = vresult.EndTime
|
|
|
|
+ mapActivityAttendanceDetail[vresult.PersonTelephone].Duration = utils.GetAttendanceDetailSecondsByYiDong(vresult.Duration)
|
|
|
|
+ itemsUpdate = append(itemsUpdate, itemDetail)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ item := new(cygx.CygxActivityAttendanceDetail)
|
|
|
|
+ item.ActivityId = cygxActivityId
|
|
|
|
+ item.Mobile = vresult.PersonTelephone
|
|
|
|
+ if vresult.Duration != "" {
|
|
|
|
+ if vresult.Duration != "" {
|
|
|
|
+ item.FirstMeetingTime = vresult.StartTime
|
|
|
|
+ item.LastMeetingTime = vresult.EndTime
|
|
|
|
+ item.Duration = vresult.Duration
|
|
|
|
+ item.MeetingStatusStr = "直播"
|
|
|
|
+ } else if vresult.DurationReview != "" {
|
|
|
|
+ item.FirstMeetingTime = vresult.StartTimeReview
|
|
|
|
+ item.LastMeetingTime = vresult.EndTimeReview
|
|
|
|
+ item.Duration = vresult.DurationReview
|
|
|
|
+ item.MeetingStatusStr = "回放"
|
|
|
|
+ }
|
|
|
|
+ item.Position = vresult.JobName
|
|
|
|
+ item.RealName = vresult.PersonName
|
|
|
|
+
|
|
|
|
+ item.FirstMeetingTime = vresult.StartTime
|
|
|
|
+ item.LastMeetingTime = vresult.EndTime
|
|
|
|
+ item.Duration = vresult.Duration
|
|
|
|
+ item.IsMeetingStr = 1
|
|
|
|
+ mobileStrMeet += "'" + vresult.PersonTelephone + "'" + ","
|
|
|
|
+ item.CreateTime = time.Now()
|
|
|
|
+ needAddAttendanc = append(needAddAttendanc, item)
|
|
|
|
+ }
|
|
|
|
+ mobileStr += "'" + vresult.PersonTelephone + "'" + ","
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ lenmobiles := len(mobiles)
|
|
|
|
+ if lenmobiles > 0 {
|
|
|
|
+ var parsYd []interface{}
|
|
|
|
+ var conditionYd string
|
|
|
|
+ conditionYd = ` AND mobile IN (` + utils.GetOrmInReplace(lenmobiles) + `) AND activity_id=? `
|
|
|
|
+ parsYd = append(parsYd, mobiles, cygxActivityId)
|
|
|
|
+ e = cygx.UpdateCygxActivitySignupisMeetList(conditionYd, parsYd)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New("UpdateCygxActivitySignupisMeetList err: " + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ e = cygx.UpdateActivitySignupDetailMultiByYiDong(itemsUpdate)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New("UpdateActivitySignupDetailMultiByYiDong err: " + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ mobileStr = strings.TrimRight(mobileStr, ",")
|
|
|
|
+ if mobileStr == "" {
|
|
|
|
+ mobileStr = "1"
|
|
|
|
+ }
|
|
|
|
+ mobileStrMeet = strings.TrimRight(mobileStrMeet, ",")
|
|
|
|
+ if mobileStrMeet == "" {
|
|
|
|
+ mobileStrMeet = "1"
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ listUser, e := cygx.GetWxUserOutboundMobile(mobileStr)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New("GetWxUserOutboundMobile err: " + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ for kAdd, vAdd := range needAddAttendanc {
|
|
|
|
+ for _, v2 := range listUser {
|
|
|
|
+ if v2.OutboundMobile == vAdd.Mobile || v2.Mobile == vAdd.Mobile {
|
|
|
|
+ if needAddAttendanc[kAdd].CompanyId <= 1 {
|
|
|
|
+ needAddAttendanc[kAdd].CompanyId = v2.CompanyId
|
|
|
|
+ needAddAttendanc[kAdd].SellerName = v2.SellerName
|
|
|
|
+ needAddAttendanc[kAdd].CompanyName = v2.CompanyName
|
|
|
|
+ //needAddAttendanc[k].IsMeetingStr = 1
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //参会记录
|
|
|
|
+ e = cygx.AddAttendancDetail(needAddAttendanc, cygxActivityId, mobileStrMeet)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New("AddAttendancDetail err: " + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ ////处理是否限制报名
|
|
|
|
+ e = AddCygxActivityRestrictSignupByAdmin(cygxActivityId)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New("AddCygxActivityRestrictSignupByAdmin err: " + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ AddctivitySignupDetailListByHand(needAddAttendanc, cygxActivityId)
|
|
|
|
+ }
|
|
|
|
+ return
|
|
|
|
+}
|