package cygx import ( "errors" "fmt" "hongze/hz_crm_api/models/cygx" "hongze/hz_crm_api/services/alarm_msg" "hongze/hz_crm_api/utils" "strconv" "strings" "time" ) //首页最新页面数据逻辑处理 //activity //activityspecial //activityvideo //activityvoice //article //meetingreviewchapt //minutessummary //newchart //productinterior //reportselection //researchsummary //roadshow //func init() { // UpdateActivityResourceData(2117) //} // 更新活动 func UpdateActivityResourceData(sourceId int) (err error) { //time.Sleep(3*time.Second) // 有时候同时添加多个活动,延迟三秒 defer func() { if err != nil { fmt.Println("err:", err) go alarm_msg.SendAlarmMsg("更新活动 失败,UpdateActivityResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3) } }() var source = utils.CYGX_OBJ_ACTIVITY var condition string var pars []interface{} condition = ` AND publish_status = 1 AND activity_id = ? ` pars = append(pars, sourceId) total, e := cygx.GetActivityCount(condition, pars) if e != nil { err = errors.New("GetCygxReportSelection, Err: " + err.Error()) return } //如果取消发布了就做删除处理 if total == 0 { e = cygx.DeleteResourceData(sourceId, source) if e != nil { err = errors.New("DeleteResourceData, Err: " + err.Error()) return } //删除 cygx_resource_data 表关联的产业ID,标的ID e = cygx.DeleteCygxResourceDataGroup(sourceId, source) if e != nil { err = errors.New("DeleteCygxResourceDataGroup, Err: " + err.Error()) return } } else { //判断是否存在,如果不存在就新增,存在就更新 totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source) if e != nil { err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + err.Error()) return } detail, e := cygx.GetAddActivityInfoById(sourceId) if e != nil { err = errors.New("GetCygxReportSelectionInfoById, Err: " + err.Error()) return } var resourceDataId int publishDate := time.Now().Format(utils.FormatDateTime) item := new(cygx.CygxResourceData) item.SourceId = sourceId item.Source = source //分析师电话会(C类) item.SearchTag = strings.TrimRight(detail.ActivityTypeName, "(C类)") item.PublishDate = publishDate item.CreateTime = time.Now() if totalData == 0 { newId, e := cygx.AddCygxResourceData(item) if e != nil { err = errors.New("AddCygxResourceData, Err: " + err.Error()) return } resourceDataId = int(newId) } else { e = cygx.UpdateResourceDataByItem(item) if e != nil { err = errors.New("UpdateResourceData, Err: " + err.Error()) return } sourceDetail, e := cygx.GetCygxResourceDataByIdAndSource(sourceId, source) if e != nil { err = errors.New("UpdateResourceData, Err: " + err.Error()) return } resourceDataId = sourceDetail.Id } //建立首页资源表,与产业的关系 industrialList, e := cygx.GetIndustrialActivityGroupManagementList(sourceId, 1) if e != nil && e.Error() != utils.ErrNoRow() { err = errors.New("GetIndustrialActivityGroupManagementList, Err: " + err.Error() + "activityId:" + strconv.Itoa(sourceId)) return } var industrialItems []*cygx.CygxResourceDataIndustrialGroupManagement for _, v := range industrialList { var industrialItem = new(cygx.CygxResourceDataIndustrialGroupManagement) industrialItem.SourceId = sourceId industrialItem.Source = source industrialItem.IndustrialManagementId = v.IndustrialManagementId industrialItem.ResourceDataId = resourceDataId industrialItem.CreateTime = time.Now() industrialItems = append(industrialItems, industrialItem) } //建立首页资源表,与标的 的关系 subjectList, e := cygx.GetSubjectActivityGroupManagementList(sourceId, 1) if e != nil && e.Error() != utils.ErrNoRow() { err = errors.New("GetIndustrialActivityGroupManagementList, Err: " + err.Error() + "activityId:" + strconv.Itoa(sourceId)) return } var subjectItems []*cygx.CygxResourceDataIndustrialGroupSubject for _, v := range subjectList { var subjectItem = new(cygx.CygxResourceDataIndustrialGroupSubject) subjectItem.SourceId = sourceId subjectItem.Source = source subjectItem.IndustrialSubjectId = v.IndustrialSubjectId subjectItem.ResourceDataId = resourceDataId subjectItem.CreateTime = time.Now() subjectItems = append(subjectItems, subjectItem) } //插入关联信息 e = cygx.AddCygxResourceDataGroup(sourceId, source, industrialItems, subjectItems) if e != nil { err = errors.New("AddCygxResourceDataGroup, Err: " + err.Error()) return } } return } // 更新报告精选(重点公司) func UpdateReportSelectionResourceData(sourceId int) (err error) { defer func() { if err != nil { fmt.Println("err:", err) go alarm_msg.SendAlarmMsg("更新报告精选(重点公司) 失败,UpdateReportSelectionResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3) } }() var source = utils.CYGX_OBJ_REPORTSELECTION var condition string var pars []interface{} condition = ` AND visible_range = 1 AND article_id = ? ` pars = append(pars, sourceId) total, e := cygx.GetCygxReportSelection(condition, pars) if e != nil { err = errors.New("GetCygxReportSelection, Err: " + err.Error()) return } //如果取消发布了就做删除处理 if total == 0 { e = cygx.DeleteResourceData(sourceId, source) if e != nil { err = errors.New("DeleteResourceData, Err: " + err.Error()) return } } else { //判断是否存在,如果不存在就新增,存在就更新 totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source) if e != nil { err = errors.New("GetCygxReportSelection, Err: " + err.Error()) return } detail, e := cygx.GetCygxReportSelectionInfoById(sourceId) if e != nil { err = errors.New("GetCygxReportSelectionInfoById, Err: " + err.Error()) return } publishDate := detail.PublishDate if totalData == 0 { item := new(cygx.CygxResourceData) item.SourceId = sourceId item.Source = source item.SearchTag = "重点公司" item.PublishDate = publishDate item.CreateTime = time.Now() _, err = cygx.AddCygxResourceData(item) } else { err = cygx.UpdateResourceData(sourceId, source, publishDate) } } return }