123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203 |
- 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)
- if totalData == 0 {
- 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()
- newId, e := cygx.AddCygxResourceData(item)
- if e != nil {
- err = errors.New("AddCygxResourceData, Err: " + err.Error())
- return
- }
- resourceDataId = int(newId)
- } else {
- e = cygx.UpdateResourceData(sourceId, source, publishDate)
- 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
- }
|