123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- package rag
- import (
- "database/sql"
- "eta/eta_api/global"
- "eta/eta_api/utils"
- "fmt"
- "time"
- )
- type WechatArticle struct {
- WechatArticleId int `gorm:"column:wechat_article_id;type:int(10) UNSIGNED;primaryKey;not null;" description:""`
- WechatPlatformId int `gorm:"column:wechat_platform_id;type:int(11);comment:归属公众号id;default:0;" description:"归属公众号id"`
- FakeId string `gorm:"column:fake_id;type:varchar(255);comment:公众号唯一id;" description:"公众号唯一id"`
- Title string `gorm:"column:title;type:varchar(255);comment:标题;" description:"标题"`
- Link string `gorm:"column:link;type:varchar(255);comment:链接;" description:"链接"`
- CoverUrl string `gorm:"column:cover_url;type:varchar(255);comment:公众号封面;" description:"公众号封面"`
- Description string `gorm:"column:description;type:varchar(255);comment:描述;" description:"描述"`
- Content string `gorm:"column:content;type:longtext;comment:报告详情;" description:"报告详情"`
- TextContent string `gorm:"column:text_content;type:text;comment:文本内容;" description:"文本内容"`
- Abstract string `gorm:"column:abstract;type:text;comment:摘要;" description:"摘要"`
- Country string `gorm:"column:country;type:varchar(255);comment:国家;" description:"国家"`
- Province string `gorm:"column:province;type:varchar(255);comment:省;" description:"省"`
- City string `gorm:"column:city;type:varchar(255);comment:市;" description:"市"`
- ArticleCreateTime time.Time `gorm:"column:article_create_time;type:datetime;comment:报告创建时间;default:NULL;" description:"报告创建时间"`
- IsDeleted int `gorm:"column:is_deleted;type:tinyint(4);comment:是否删除,0:未删除,1: 已删除;default:0;" description:"是否删除,0:未删除,1: 已删除"`
- ModifyTime time.Time `gorm:"column:modify_time;type:datetime;comment:修改时间;default:NULL;" description:"修改时间"`
- CreateTime time.Time `gorm:"column:create_time;type:datetime;comment:入库时间;default:NULL;" description:"入库时间"`
- }
- // TableName get sql table name.获取数据库表名
- func (m *WechatArticle) TableName() string {
- return "wechat_article"
- }
- // WechatArticleColumns get sql column name.获取数据库列名
- var WechatArticleColumns = struct {
- WechatArticleID string
- WechatPlatformID string
- FakeID string
- Title string
- Link string
- CoverURL string
- Description string
- Content string
- TextContent string
- Abstract string
- Country string
- Province string
- City string
- ArticleCreateTime string
- IsDeleted string
- ModifyTime string
- CreateTime string
- }{
- WechatArticleID: "wechat_article_id",
- WechatPlatformID: "wechat_platform_id",
- FakeID: "fake_id",
- Title: "title",
- Link: "link",
- CoverURL: "cover_url",
- Description: "description",
- Content: "content",
- TextContent: "text_content",
- Abstract: "abstract",
- Country: "country",
- Province: "province",
- City: "city",
- ArticleCreateTime: "article_create_time",
- IsDeleted: "is_deleted",
- ModifyTime: "modify_time",
- CreateTime: "create_time",
- }
- type WechatArticleView struct {
- WechatArticleId int `gorm:"column:wechat_article_id;type:int(10) UNSIGNED;primaryKey;not null;" description:""`
- WechatPlatformId int `gorm:"column:wechat_platform_id;type:int(11);comment:归属公众号id;default:0;" description:"归属公众号id"`
- FakeId string `gorm:"column:fake_id;type:varchar(255);comment:公众号唯一id;" description:"公众号唯一id"`
- Title string `gorm:"column:title;type:varchar(255);comment:标题;" description:"标题"`
- Link string `gorm:"column:link;type:varchar(255);comment:链接;" description:"链接"`
- CoverUrl string `gorm:"column:cover_url;type:varchar(255);comment:公众号封面;" description:"公众号封面"`
- Description string `gorm:"column:description;type:varchar(255);comment:描述;" description:"描述"`
- Content string `gorm:"column:content;type:longtext;comment:报告详情;" description:"报告详情"`
- TextContent string `gorm:"column:text_content;type:text;comment:文本内容;" description:"文本内容"`
- Abstract string `gorm:"column:abstract;type:text;comment:摘要;" description:"摘要"`
- Country string `gorm:"column:country;type:varchar(255);comment:国家;" description:"国家"`
- Province string `gorm:"column:province;type:varchar(255);comment:省;" description:"省"`
- City string `gorm:"column:city;type:varchar(255);comment:市;" description:"市"`
- ArticleCreateTime string `gorm:"column:article_create_time;type:datetime;comment:报告创建时间;default:NULL;" description:"报告创建时间"`
- ModifyTime string `gorm:"column:modify_time;type:datetime;comment:修改时间;default:NULL;" description:"修改时间"`
- CreateTime string `gorm:"column:create_time;type:datetime;comment:入库时间;default:NULL;" description:"入库时间"`
- WechatPlatformName string `gorm:"column:title;type:varchar(255);comment:标题;" description:"微信公众号名称"`
- WechatPlatformRoundHeadImg string `gorm:"column:round_head_img;type:varchar(255);comment:头像;" description:"微信公众号头像"`
- }
- func (m *WechatArticle) ToView() WechatArticleView {
- var articleCreateTime, modifyTime, createTime string
- if !m.ArticleCreateTime.IsZero() {
- articleCreateTime = m.ArticleCreateTime.Format(utils.FormatDateTime)
- }
- if !m.CreateTime.IsZero() {
- createTime = m.CreateTime.Format(utils.FormatDateTime)
- }
- if !m.ModifyTime.IsZero() {
- modifyTime = m.ModifyTime.Format(utils.FormatDateTime)
- }
- return WechatArticleView{
- WechatArticleId: m.WechatArticleId,
- WechatPlatformId: m.WechatPlatformId,
- FakeId: m.FakeId,
- Title: m.Title,
- Link: m.Link,
- CoverUrl: m.CoverUrl,
- Description: m.Description,
- Content: m.Content,
- TextContent: m.TextContent,
- Abstract: m.Abstract,
- Country: m.Country,
- Province: m.Province,
- City: m.City,
- ArticleCreateTime: articleCreateTime,
- ModifyTime: modifyTime,
- CreateTime: createTime,
- WechatPlatformName: "",
- WechatPlatformRoundHeadImg: "",
- }
- }
- func (m *WechatArticle) ListToViewList(list []*WechatArticle) (wechatArticleViewList []WechatArticleView) {
- wechatArticleViewList = make([]WechatArticleView, 0)
- for _, v := range list {
- wechatArticleViewList = append(wechatArticleViewList, v.ToView())
- }
- return
- }
- func (m *WechatArticle) Create() (err error) {
- err = global.DbMap[utils.DbNameAI].Create(&m).Error
- return
- }
- func (m *WechatArticle) Update(updateCols []string) (err error) {
- err = global.DbMap[utils.DbNameAI].Select(updateCols).Updates(&m).Error
- return
- }
- func (m *WechatArticle) GetById(id int) (item *WechatArticle, err error) {
- err = global.DbMap[utils.DbNameAI].Where(fmt.Sprintf("%s = ?", WechatArticleColumns.WechatArticleID), id).First(&item).Error
- return
- }
- func (m *WechatArticle) GetByLink(link string) (item *WechatArticle, err error) {
- err = global.DbMap[utils.DbNameAI].Where(fmt.Sprintf("%s = ?", WechatArticleColumns.Link), link).First(&item).Error
- return
- }
- func (m *WechatArticle) GetListByCondition(field, condition string, pars []interface{}, startSize, pageSize int) (items []*WechatArticle, err error) {
- if field == "" {
- field = "*"
- }
- sqlStr := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 AND is_deleted=0 %s order by article_create_time desc,wechat_article_id desc LIMIT ?,?`, field, m.TableName(), condition)
- pars = append(pars, startSize, pageSize)
- err = global.DbMap[utils.DbNameAI].Raw(sqlStr, pars...).Find(&items).Error
- return
- }
- func (m *WechatArticle) GetCountByCondition(condition string, pars []interface{}) (total int, err error) {
- var intNull sql.NullInt64
- sqlStr := fmt.Sprintf(`SELECT COUNT(1) total FROM %s WHERE 1=1 AND is_deleted=0 %s`, m.TableName(), condition)
- err = global.DbMap[utils.DbNameAI].Raw(sqlStr, pars...).Scan(&intNull).Error
- if err == nil && intNull.Valid {
- total = int(intNull.Int64)
- }
- return
- }
- func (m *WechatArticle) GetPageListByCondition(condition string, pars []interface{}, startSize, pageSize int) (total int, items []*WechatArticle, err error) {
- total, err = m.GetCountByCondition(condition, pars)
- if err != nil {
- return
- }
- if total > 0 {
- items, err = m.GetListByCondition(`wechat_article_id,wechat_platform_id,fake_id,title,link,cover_url,description,country,province,city,article_create_time,modify_time,create_time`, condition, pars, startSize, pageSize)
- }
- return
- }
|