123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372 |
- package cygx
- import (
- "fmt"
- "github.com/beego/beego/v2/client/orm"
- "github.com/rdlucklib/rdluck_tools/paging"
- "time"
- )
- type CygxReportSelection struct {
- ArticleId int `orm:"column(article_id);pk"description:"报告id"`
- AddType string `description:"更新方式 1重新编辑 ,2 继承往期"`
- Title string `description:"标题"`
- Department string `description:"作者"`
- PublishStatus int `description:"发布状态,1已发布,0未发布"`
- PublishDate time.Time `description:"发布时间"`
- CreateTime time.Time `description:"创建时间"`
- LastUpdatedTime time.Time `description:"最后一次更新时间"`
- Periods string `description:"期数"`
- HavePublish int `description:"是否发布过,1是,0否"`
- InheritPeriods string `description:"继承期数"`
- ProductDescription string `description:"产品说明"`
- UpdateDescription string `description:"更新说明"`
- FocusOn string `description:"近期重点关注方向"`
- AdminId int `description:"销售/管理员ID"`
- AdminName string `description:"销售/管理员姓名"`
- MarketStrategy string `description:"市场策略核心逻辑汇总"`
- ReportLink string `description:"报告链接"`
- }
- type CygxReportSelectionRep struct {
- ArticleId int `orm:"column(article_id);pk"description:"报告id"`
- AddType string `description:"更新方式 1重新编辑 ,2 继承往期"`
- Title string `description:"标题"`
- Department string `description:"作者"`
- PublishStatus int `description:"发布状态,1已发布,0未发布"`
- PublishDate string `description:"发布时间"`
- CreateTime string `description:"创建时间"`
- LastUpdatedTime string `description:"最后一次更新时间"`
- Periods string `description:"期数"`
- HavePublish int `description:"是否发布过,1是,0否"`
- Pv int `description:"PV"`
- Uv int `description:"Uv"`
- ProductDescription string `description:"产品说明"`
- UpdateDescription string `description:"更新说明"`
- FocusOn string `description:"近期重点关注方向"`
- InheritPeriods string `description:"继承期数"`
- AdminId int `description:"销售/管理员ID"`
- AdminName string `description:"销售/管理员姓名"`
- MarketStrategy string `description:"市场策略核心逻辑汇总"`
- ReportLink string `description:"报告链接"`
- VisibleRange int `description:"设置可见范围1全部,0内部"`
- IsSendWxMsg int `description:"是否推送过微信模版消息,1是,0否"`
- ApplyTotal int `description:"申请路演的数量"`
- }
- type CygxReportSelectionListRep struct {
- Paging *paging.PagingItem `description:"分页数据"`
- List []*CygxReportSelectionRep
- }
- type AddCygxReportSelection struct {
- ArticleId int `description:"报告Id ,传0时新增,大于0时修改"`
- AddType string `description:"更新方式 1重新编辑 ,2 继承往期"`
- InheritPeriods string `description:"继承期数"`
- Title string `description:"标题"`
- Department string `description:"作者"`
- PublishDate string `description:"发布时间"`
- ProductDescription string `description:"产品说明"`
- UpdateDescription string `description:"更新说明"`
- FocusOn string `description:"近期重点关注方向"`
- DoType int `description:"操作方式,1发布,0保存"`
- MarketStrategy string `description:"市场策略核心逻辑汇总"`
- ReportLink string `description:"报告链接"`
- List []*AddCygxReportSelectionLog `description:"标的列表内容"`
- ListChartSummary []*AddCygxReportSelectionChartLog `description:"行业核心逻辑汇总列表"`
- }
- type OverviewArticle struct {
- ArticleId int `description:"文章ID"`
- Title string `description:"文章标题"`
- }
- type DetailCygxReportSelectionRep struct {
- ArticleId int `description:"报告Id ,传0时新增,大于0时修改"`
- AddType string `description:"更新方式 1重新编辑 ,2 继承往期"`
- Title string `description:"标题"`
- Department string `description:"作者"`
- PublishStatus int `description:"发布状态,1已发布,0未发布"`
- PublishDate string `description:"发布时间"`
- CreateTime string `description:"创建时间"`
- LastUpdatedTime string `description:"最后一次更新时间"`
- Periods string `description:"期数"`
- HavePublish int `description:"是否发布过,1是,0否"`
- InheritPeriods string `description:"继承期数"`
- InheritPeriodsName string `description:"继承期数名称"`
- ProductDescription string `description:"产品说明"`
- UpdateDescription string `description:"更新说明"`
- FocusOn string `description:"近期重点关注方向"`
- MarketStrategy string `description:"市场策略核心逻辑汇总"`
- ReportLink string `description:"报告链接"`
- List []*CygxReportSelectionChart `description:"内容列表"`
- }
- type HistoryReportSelectionRep struct {
- Count int `description:"数量"`
- List []*HistoryReportSelectionChart `description:"内容列表"`
- }
- type HistoryReportSelectionChart struct {
- //ChartPermissionId int `description:"行业ID"`
- ChartPermissionName string `description:"行业名称"`
- List []*HistoryReportSelectionLogResp `description:"列表内容’"`
- }
- type HistoryReportSelectionLogResp struct {
- IndustrialSubjectId string `description:"标的ID"`
- SubjectName string `description:"标的名称"`
- Count int `description:"数量"`
- IsNew int `description:"是否为New标签"`
- }
- type ReportSelectionId struct {
- ArticleId int `description:"报告ID"`
- }
- // 添加
- func AddCygxReportSelectionOrm(itme *CygxReportSelection, items []*CygxReportSelectionLog, itemsChart []*CygxReportSelectionChartLog) (newArtId int64, err error) {
- o := orm.NewOrmUsingDB("hz_cygx")
- to, err := o.Begin()
- if err != nil {
- return
- }
- defer func() {
- if err != nil {
- fmt.Println(err)
- _ = to.Rollback()
- } else {
- _ = to.Commit()
- }
- }()
- newArtId, err = to.Insert(itme)
- if err != nil {
- return
- }
- for _, v := range items {
- v.ArticleId = int(newArtId)
- _, err = to.Insert(v)
- if err != nil {
- return
- }
- }
- for _, v := range itemsChart {
- v.ArticleId = int(newArtId)
- _, err = to.Insert(v)
- if err != nil {
- return
- }
- }
- return
- }
- // 编辑
- func UpdateCygxReportSelectionOrm(item *CygxReportSelection, items []*CygxReportSelectionLog, itemsChart []*CygxReportSelectionChartLog) (newId int64, err error) {
- o := orm.NewOrmUsingDB("hz_cygx")
- to, err := o.Begin()
- if err != nil {
- return
- }
- defer func() {
- if err != nil {
- fmt.Println(err)
- _ = to.Rollback()
- } else {
- _ = to.Commit()
- }
- }()
- articleId := item.ArticleId
- fmt.Println("m文章ID", articleId)
- sql := `UPDATE cygx_report_selection SET title=?, department=? ,add_type = ?, inherit_periods= ? ,product_description=?,update_description=?,focus_on=?, publish_status = ?,publish_date = ?,last_updated_time = ?,periods = ?,admin_id =? ,admin_name =? ,have_publish = ?,market_strategy = ?,report_link = ? WHERE article_id=?`
- _, err = to.Raw(sql, item.Title, item.Department, item.AddType, item.InheritPeriods, item.ProductDescription, item.UpdateDescription, item.FocusOn, item.PublishStatus, item.PublishDate, item.LastUpdatedTime, item.Periods, item.AdminId, item.AdminName, item.HavePublish, item.MarketStrategy, item.ReportLink, articleId).Exec()
- if err != nil {
- return
- }
- sql = ` DELETE FROM cygx_report_selection_log WHERE article_id = ?`
- _, err = to.Raw(sql, articleId).Exec()
- if err != nil {
- return
- }
- for _, v := range items {
- v.ArticleId = articleId
- newId, err = to.Insert(v)
- if err != nil {
- return
- }
- }
- sql = ` DELETE FROM cygx_report_selection_chart_log WHERE article_id = ?`
- _, err = to.Raw(sql, articleId).Exec()
- if err != nil {
- return
- }
- for _, v := range itemsChart {
- v.ArticleId = articleId
- newId, err = to.Insert(v)
- if err != nil {
- return
- }
- }
- return
- }
- // 获取数量
- func GetCygxReportSelection(condition string, pars []interface{}) (count int, err error) {
- sqlCount := ` SELECT COUNT(1) AS count FROM cygx_report_selection as rs WHERE 1= 1 `
- if condition != "" {
- sqlCount += condition
- }
- o := orm.NewOrmUsingDB("hz_cygx")
- err = o.Raw(sqlCount, pars).QueryRow(&count)
- return
- }
- // 通过纪要ID获取活动详情
- func GetCygxReportSelectionInfoById(articleId int) (item *CygxReportSelectionRep, err error) {
- o := orm.NewOrmUsingDB("hz_cygx")
- sql := `SELECT * FROM cygx_report_selection WHERE article_id=?`
- err = o.Raw(sql, articleId).QueryRow(&item)
- return
- }
- // 通过纪要ID获取活动详情
- func GetCygxReportSelectionInfoByPeriods(periods string) (item *CygxReportSelectionRep, err error) {
- o := orm.NewOrmUsingDB("hz_cygx")
- sql := `SELECT * FROM cygx_report_selection WHERE periods=?`
- err = o.Raw(sql, periods).QueryRow(&item)
- return
- }
- // 删除数据
- func DeleteCygxReportSelection(articleId int) (err error) {
- o := orm.NewOrmUsingDB("hz_cygx")
- to, err := o.Begin()
- if err != nil {
- return
- }
- defer func() {
- if err != nil {
- fmt.Println(err)
- _ = to.Rollback()
- } else {
- _ = to.Commit()
- }
- }()
- sql := ` DELETE FROM cygx_report_selection WHERE article_id=? `
- _, err = to.Raw(sql, articleId).Exec()
- if err != nil {
- return
- }
- sql = ` DELETE FROM cygx_report_selection_log WHERE article_id = ?`
- _, err = to.Raw(sql, articleId).Exec()
- return
- }
- // 列表
- func GetReportSelectionList(condition string, pars []interface{}, startSize, pageSize int) (items []*CygxReportSelectionRep, err error) {
- o := orm.NewOrmUsingDB("hz_cygx")
- sql := `SELECT *,
- (SELECT COUNT(1) FROM cygx_report_history_record AS h WHERE h.article_id=rs.article_id AND report_type = 'bgjx' AND h.company_id != 16 ) AS pv,
- (SELECT COUNT(DISTINCT user_id) FROM cygx_report_history_record AS h WHERE h.article_id=rs.article_id AND report_type = 'bgjx' AND h.company_id != 16 ) AS uv
- FROM cygx_report_selection as rs WHERE 1= 1 `
- if condition != "" {
- sql += condition
- }
- sql += ` ORDER BY rs.publish_date DESC LIMIT ?,?`
- _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
- return
- }
- // 修改发布状态
- func ReportSelectionPublishAndCancel(item *CygxReportSelectionRep) (err error) {
- o := orm.NewOrmUsingDB("hz_cygx")
- sql := `UPDATE cygx_report_selection SET publish_status=? , last_updated_time= ?, periods= ? ,admin_id =? ,admin_name =? ,have_publish = 1 WHERE article_id=? `
- _, err = o.Raw(sql, item.PublishStatus, time.Now(), item.Periods, item.AdminId, item.AdminName, item.ArticleId).Exec()
- return
- }
- // 修改可见范围
- func ReportSelectionVisibleRange(item *CygxReportSelectionRep) (err error) {
- o := orm.NewOrmUsingDB("hz_cygx")
- sql := `UPDATE cygx_report_selection SET is_send_wx_msg = 1, visible_range=? , last_updated_time= ?,admin_id =? ,admin_name =? WHERE article_id=? `
- _, err = o.Raw(sql, item.VisibleRange, time.Now(), item.AdminId, item.AdminName, item.ArticleId).Exec()
- return
- }
- type CygxReportSelectionPeriodsRep struct {
- Periods string `description:"继承期数"`
- InheritPeriodsName string `description:"继承期数"`
- }
- type CygxReportSelectionPeriodsListRep struct {
- Paging *paging.PagingItem `description:"分页数据"`
- List []*CygxReportSelectionPeriodsRep
- }
- // 期数列表
- func GetReportSelectionListPeriods(condition string, pars []interface{}, startSize, pageSize int) (items []*CygxReportSelectionPeriodsRep, err error) {
- o := orm.NewOrmUsingDB("hz_cygx")
- sql := `SELECT periods FROM cygx_report_selection as rs WHERE have_publish = 1`
- if condition != "" {
- sql += condition
- }
- sql += ` ORDER BY rs.periods DESC LIMIT ?,?`
- _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
- return
- }
- type ReportSelectionChartPermission struct {
- PermissionName string `description:"权限名称"`
- IcoLink string `orm:"column(image_url)"description:"图标链接"`
- List []*CygxReportSelectionLogDetail
- }
- type CygxReportSelectionLogDetail struct {
- IndustrialManagementId string `description:"产业Id"`
- SubjectName string `description:"标的名称"`
- Body string `description:"内容"`
- }
- // 列表
- func GetReportSelectionlogSonListAll(articleId, chartPermissionId int) (items []*CygxReportSelectionLogDetail, err error) {
- o := orm.NewOrmUsingDB("hz_cygx")
- sql := `SELECT l.*
- FROM
- cygx_report_selection_log AS l
- INNER JOIN cygx_industrial_subject AS s ON s.industrial_subject_id = l.industrial_subject_id
- WHERE l.article_id = ? AND l.chart_permission_id =?`
- _, err = o.Raw(sql, articleId, chartPermissionId).QueryRows(&items)
- return
- }
- // 获取,bgjx:报告精选、bzyjhz:本周研究汇总、szjyhz:上周纪要汇总 阅读记录
- func GetReportSelectionHistoryList(articleId int, condition string) (items []*ArticleHistoryRep, err error) {
- o := orm.NewOrmUsingDB("hz_cygx")
- sql := `SELECT
- h.real_name,
- h.mobile,
- h.company_name,
- h.seller_name,
- h.create_time
- FROM
- cygx_report_history_record AS h
- WHERE
- h.article_id = ? AND h.company_id != 16 `
- if condition != "" {
- sql = sql + condition + ` GROUP BY h.id`
- }
- _, err = o.Raw(sql, articleId).QueryRows(&items)
- return
- }
- type CygxArticleIdAndTableResp struct {
- Title string `description:"标题"`
- }
- // 通过纪要ID获取不同类型报告的title详情
- func GetArticleInfoByIdAndTable(table string, articleId int) (item *CygxArticleIdAndTableResp, err error) {
- o := orm.NewOrmUsingDB("hz_cygx")
- sql := `SELECT title FROM ` + table + ` WHERE article_id=?`
- err = o.Raw(sql, articleId).QueryRow(&item)
- return
- }
|