123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- package fe_calendar
- import (
- "eta/eta_api/global"
- "eta/eta_api/utils"
- "time"
- )
- // FeCalendarAiArticle 外汇日历-AI数据点评文章表
- type FeCalendarAiArticle struct {
- FeCalendarAiArticleId int `gorm:"column:fe_calendar_ai_article_id;primaryKey;autoIncrement"` // 文章ID
- ChartPermissionId int `gorm:"column:chart_permission_id"` // 品种ID
- ChartPermissionName string `gorm:"column:chart_permission_name"` // 品种名称
- MatterMonth string `gorm:"column:matter_month"` // 事项年月:格式2006-01
- MatterDate string `gorm:"column:matter_date"` // 事项日期
- Title string `gorm:"column:title"` // 标题
- EdbInfoId int `gorm:"column:edb_info_id"` // 指标ID
- EdbCode string `gorm:"column:edb_code"` // 指标编码
- SysUserId int `gorm:"column:sys_user_id"` // 创建人ID
- SysUserName string `gorm:"column:sys_user_name"` // 创建人姓名
- Prompt string `gorm:"column:prompt;type:text"` // 提示词内容
- Content string `gorm:"column:content;type:text"` // 内容
- CreateTime time.Time `gorm:"column:create_time"` // 创建时间
- ModifyTime time.Time `gorm:"column:modify_time"` // 更新时间
- }
- // TableName 指定表名
- func (FeCalendarAiArticle) TableName() string {
- return "fe_calendar_ai_article"
- }
- // Create 创建文章
- func (f *FeCalendarAiArticle) Create() error {
- now := time.Now()
- f.CreateTime = now
- f.ModifyTime = now
- o := global.DbMap[utils.DbNameIndex]
- return o.Create(f).Error
- }
- // Update 更新文章
- func (f *FeCalendarAiArticle) Update(cols []string) error {
- now := time.Now()
- f.ModifyTime = now
- o := global.DbMap[utils.DbNameIndex]
- return o.Model(f).Where("fe_calendar_ai_article_id = ?", f.FeCalendarAiArticleId).Select(cols).Updates(f).Error
- }
- // Delete 删除文章
- func (f *FeCalendarAiArticle) Delete() error {
- o := global.DbMap[utils.DbNameIndex]
- return o.Delete(f, "fe_calendar_ai_article_id = ?", f.FeCalendarAiArticleId).Error
- }
- // GetByID 根据ID获取文章
- func (f *FeCalendarAiArticle) GetByID(id uint) error {
- o := global.DbMap[utils.DbNameIndex]
- return o.Where("fe_calendar_ai_article_id = ?", id).First(f).Error
- }
- // QueryParams 查询参数结构体
- type QueryParams struct {
- EdbInfoId uint // 指标ID
- ChartPermissionId uint // 品种权限ID
- StartDate *time.Time // 开始日期
- EndDate *time.Time // 结束日期
- MatterMonth string // 事项月份
- Page int // 页码
- PageSize int // 每页数量
- }
- // QueryArticles 查询文章列表
- func (f *FeCalendarAiArticle) QueryArticles(params QueryParams) ([]FeCalendarAiArticle, int64, error) {
- var articles []FeCalendarAiArticle
- var total int64
- o := global.DbMap[utils.DbNameIndex]
- query := o.Model(&FeCalendarAiArticle{})
- // 添加查询条件
- if params.EdbInfoId > 0 {
- query = query.Where("edb_info_id = ?", params.EdbInfoId)
- }
- if params.ChartPermissionId > 0 {
- query = query.Where("chart_permission_id = ?", params.ChartPermissionId)
- }
- if params.MatterMonth != "" {
- query = query.Where("matter_month = ?", params.MatterMonth)
- }
- if params.StartDate != nil {
- query = query.Where("matter_date >= ?", params.StartDate)
- }
- if params.EndDate != nil {
- query = query.Where("matter_date <= ?", params.EndDate)
- }
- // 获取总数
- err := query.Count(&total).Error
- if err != nil {
- return nil, 0, err
- }
- // 分页查询
- if params.Page > 0 && params.PageSize > 0 {
- offset := (params.Page - 1) * params.PageSize
- query = query.Offset(offset).Limit(params.PageSize)
- }
- // 按时间倒序排序
- query = query.Order("matter_date DESC")
- // 执行查询
- err = query.Find(&articles).Error
- if err != nil {
- return nil, 0, err
- }
- return articles, total, nil
- }
- // GetByEdbInfoID 根据指标ID获取文章列表
- func (f *FeCalendarAiArticle) GetByEdbInfoID(edbInfoID uint) ([]FeCalendarAiArticle, error) {
- var articles []FeCalendarAiArticle
- o := global.DbMap[utils.DbNameIndex]
- err := o.Where("edb_info_id = ?", edbInfoID).Order("matter_date DESC").Find(&articles).Error
- return articles, err
- }
- // GetByChartPermissionID 根据品种权限ID获取文章列表
- func (f *FeCalendarAiArticle) GetByChartPermissionID(chartPermissionID uint) ([]FeCalendarAiArticle, error) {
- var articles []FeCalendarAiArticle
- o := global.DbMap[utils.DbNameIndex]
- err := o.Where("chart_permission_id = ?", chartPermissionID).Order("matter_date DESC").Find(&articles).Error
- return articles, err
- }
- // GetByDateRange 根据日期范围获取文章列表
- func (f *FeCalendarAiArticle) GetByDateRange(startDate, endDate time.Time) ([]FeCalendarAiArticle, error) {
- var articles []FeCalendarAiArticle
- o := global.DbMap[utils.DbNameIndex]
- err := o.Where("matter_date BETWEEN ? AND ?", startDate, endDate).
- Order("matter_date DESC").
- Find(&articles).Error
- return articles, err
- }
- // GetByMatterMonth 根据事项月份获取文章列表
- func (f *FeCalendarAiArticle) GetByMatterMonth(matterMonth string) ([]FeCalendarAiArticle, error) {
- var articles []FeCalendarAiArticle
- o := global.DbMap[utils.DbNameIndex]
- err := o.Where("matter_month = ?", matterMonth).
- Order("matter_date DESC").
- Find(&articles).Error
- return articles, err
- }
- type FeCalendarAiArticleGenerateReq struct {
- MatterDate string // 事项日期
- EdbInfoId int // 指标ID
- }
- type FeCalendarAiArticleGenerateResp struct {
- Content string // 内容
- ModifyTime string // 修改时间
- }
- type FeCalendarAiArticleSaveReq struct {
- FeCalendarAiArticleId int // 文章ID
- ChartPermissionId int // 品种ID
- MatterDate string // 事项日期
- EdbInfoId int // 指标ID
- Content string // 内容
- FeCalendarMatterId int // 事项ID
- }
- type FeCalendarAiArticleSaveResp struct {
- FeCalendarAiArticleId int // 文章ID
- }
- type FeCalendarAiArticleDetailResp struct {
- FeCalendarAiArticleId int // 文章ID
- EdbName string // 指标名称
- EdbInfoId int // 指标ID
- EdbCode string // 指标编码
- Content string // 内容
- ModifyTime string // 修改时间
- }
|