|
@@ -0,0 +1,203 @@
|
|
|
|
+package models
|
|
|
|
+
|
|
|
|
+import (
|
|
|
|
+ "github.com/beego/beego/v2/client/orm"
|
|
|
|
+ "github.com/rdlucklib/rdluck_tools/paging"
|
|
|
|
+ "hongze/hongze_ETA_mobile_api/utils"
|
|
|
|
+ "strings"
|
|
|
|
+ "time"
|
|
|
|
+)
|
|
|
|
+
|
|
|
|
+// 英文策略报告
|
|
|
|
+type EnglishPolicyReport struct {
|
|
|
|
+ Id int `orm:"column(id);pk;auto" description:"策略报告Id"`
|
|
|
|
+ ClassifyIdFirst int `description:"一级分类id"`
|
|
|
|
+ ClassifyNameFirst string `description:"一级分类名称"`
|
|
|
|
+ ClassifyIdSecond int `description:"二级分类id"`
|
|
|
|
+ ClassifyNameSecond string `description:"二级分类名称"`
|
|
|
|
+ Title string `description:"标题"`
|
|
|
|
+ Abstract string `description:"摘要"`
|
|
|
|
+ Author string `description:"作者"`
|
|
|
|
+ Frequency string `description:"频度"`
|
|
|
|
+ CreateTime time.Time `description:"创建时间"`
|
|
|
|
+ ModifyTime time.Time `description:"修改时间"`
|
|
|
|
+ State int `description:"1:未同步,2:已同步"`
|
|
|
|
+ SyncTime time.Time `description:"同步时间"`
|
|
|
|
+ PublishStatus int `description:"1:未发布,2:已发布"`
|
|
|
|
+ PublishTime time.Time `description:"发布时间"`
|
|
|
|
+ Content string `description:"内容"`
|
|
|
|
+ KeyTakeaways string `description:"关键点"`
|
|
|
|
+ AuthorMobile string `description:"创建者手机号"`
|
|
|
|
+ SyncReportId int `description:"同步后的report_id为english_report的ID"`
|
|
|
|
+ SourceReportId int `description:"原始报告ID"`
|
|
|
|
+ ReportCoverUrl string `description:"原始报告封面图"`
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// AddEnglishPolicyReportMulti 批量新增report
|
|
|
|
+func AddEnglishPolicyReportMulti(list []*EnglishPolicyReport) (err error) {
|
|
|
|
+ o := orm.NewOrmUsingDB("rddp")
|
|
|
|
+ _, err = o.InsertMulti(len(list), list)
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+type EnglishPolicyReportDetail struct {
|
|
|
|
+ Id int `description:"策略报告Id"`
|
|
|
|
+ ClassifyIdFirst int `description:"一级分类id"`
|
|
|
|
+ ClassifyNameFirst string `description:"一级分类名称"`
|
|
|
|
+ ClassifyIdSecond int `description:"二级分类id"`
|
|
|
|
+ ClassifyNameSecond string `description:"二级分类名称"`
|
|
|
|
+ Title string `description:"标题"`
|
|
|
|
+ Abstract string `description:"摘要"`
|
|
|
|
+ Author string `description:"作者"`
|
|
|
|
+ Frequency string `description:"频度"`
|
|
|
|
+ //CreateTime string `description:"创建时间"`
|
|
|
|
+ PublishTime string `description:"发布时间"`
|
|
|
|
+ ModifyTime string `description:"修改时间"`
|
|
|
|
+ State int `description:"同步状态:1:未同步,2:已同步"`
|
|
|
|
+ SyncTime string `description:"同步时间"`
|
|
|
|
+ Content string `description:"内容"`
|
|
|
|
+ KeyTakeaways string `description:"关键点"`
|
|
|
|
+ AuthorMobile string `description:"创建者手机号"`
|
|
|
|
+ SyncReportId int `description:"同步后的report_id为english_report的ID"`
|
|
|
|
+ //SourceReportId int `description:"原始报告ID"`
|
|
|
|
+ ReportCoverUrl string `description:"原始报告封面图"`
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func GetEnglishPolicyReportById(reportId int) (item *EnglishPolicyReportDetail, err error) {
|
|
|
|
+ o := orm.NewOrmUsingDB("rddp")
|
|
|
|
+ sql := `SELECT * FROM english_policy_report WHERE id=?`
|
|
|
|
+ err = o.Raw(sql, reportId).QueryRow(&item)
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func GetEnglishPolicyReportBySourceReportId(sourceReportId int) (item *EnglishPolicyReport, err error) {
|
|
|
|
+ o := orm.NewOrmUsingDB("rddp")
|
|
|
|
+ sql := `SELECT * FROM english_policy_report WHERE source_report_id = ? LIMIT 1`
|
|
|
|
+ err = o.Raw(sql, sourceReportId).QueryRow(&item)
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+type EnglishPolicyReportList struct {
|
|
|
|
+ Id int `orm:"column(id);pk;auto" description:"策略报告Id"`
|
|
|
|
+ ClassifyIdFirst int `description:"一级分类id"`
|
|
|
|
+ ClassifyNameFirst string `description:"一级分类名称"`
|
|
|
|
+ ClassifyIdSecond int `description:"二级分类id"`
|
|
|
|
+ ClassifyNameSecond string `description:"二级分类名称"`
|
|
|
|
+ Title string `description:"标题"`
|
|
|
|
+ Abstract string `description:"摘要"`
|
|
|
|
+ Author string `description:"作者"`
|
|
|
|
+ Frequency string `description:"频度"`
|
|
|
|
+ //CreateTime string `description:"创建时间"`
|
|
|
|
+ PublishTime string `description:"发布时间"`
|
|
|
|
+ ModifyTime string `description:"修改时间"`
|
|
|
|
+ State int `description:"1:未同步,2:已同步"`
|
|
|
|
+ SyncTime string `description:"同步时间"`
|
|
|
|
+ //Content string `description:"内容"`
|
|
|
|
+ KeyTakeaways string `description:"关键点"`
|
|
|
|
+ AuthorMobile string `description:"创建者手机号"`
|
|
|
|
+ SyncReportId int `description:"同步后的report_id为english_report的ID"`
|
|
|
|
+ //SourceReportId int `description:"原始报告ID"`
|
|
|
|
+ ReportCoverUrl string `description:"原始报告封面图"`
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+type EnglishPolicyReportListResp struct {
|
|
|
|
+ List []*EnglishPolicyReportList
|
|
|
|
+ Paging *paging.PagingItem `description:"分页数据"`
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func GetEnglishPolicyReportListCount(condition string, pars []interface{}) (count int, err error) {
|
|
|
|
+ oRddp := orm.NewOrmUsingDB("rddp")
|
|
|
|
+ sql := `SELECT COUNT(1) AS count FROM english_policy_report WHERE 1=1 `
|
|
|
|
+ if condition != "" {
|
|
|
|
+ sql += condition
|
|
|
|
+ }
|
|
|
|
+ err = oRddp.Raw(sql, pars).QueryRow(&count)
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func GetEnglishPolicyReportList(condition string, pars []interface{}, startSize, pageSize int) (items []*EnglishPolicyReportList, err error) {
|
|
|
|
+ o := orm.NewOrmUsingDB("rddp")
|
|
|
|
+ //产品权限
|
|
|
|
+ sql := `SELECT *
|
|
|
|
+ FROM english_policy_report WHERE 1=1 `
|
|
|
|
+ if condition != "" {
|
|
|
|
+ sql += condition
|
|
|
|
+ }
|
|
|
|
+ sql += `ORDER BY publish_time DESC LIMIT ?,?`
|
|
|
|
+ _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func GetEnglishPolicyReportByCondition(condition string, pars []interface{}) (items []*EnglishPolicyReport, err error) {
|
|
|
|
+ o := orm.NewOrmUsingDB("rddp")
|
|
|
|
+ sql := `SELECT *
|
|
|
|
+ FROM english_policy_report WHERE 1=1 `
|
|
|
|
+ if condition != "" {
|
|
|
|
+ sql += condition
|
|
|
|
+ }
|
|
|
|
+ _, err = o.Raw(sql, pars).QueryRows(&items)
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+type SyncEnglishPolicyReq struct {
|
|
|
|
+ Id int `description:"策略报告id"`
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+type PullEnglishPolicyDataResp struct {
|
|
|
|
+ Num int `description:"成功获取的记录数"`
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// 同步报告
|
|
|
|
+func SyncEnglishPolicyReportById(id, newReportId int) (err error) {
|
|
|
|
+ o := orm.NewOrmUsingDB("rddp")
|
|
|
|
+ sql := `UPDATE english_policy_report SET state=2, sync_time=now(),modify_time=NOW(), sync_report_id=? WHERE id = ? `
|
|
|
|
+ _, err = o.Raw(sql, newReportId, id).Exec()
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// 设置策略报告内容
|
|
|
|
+func SetEnglishPolicyReportContentBySourceReportId(sourceReportId int, content string) (err error) {
|
|
|
|
+ o := orm.NewOrmUsingDB("rddp")
|
|
|
|
+ sql := `UPDATE english_policy_report SET content=?, modify_time=NOW() WHERE source_report_id = ? `
|
|
|
|
+ _, err = o.Raw(sql, content, sourceReportId).Exec()
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// 取消发布报告
|
|
|
|
+func SyncCancelEnglishPolicyReport(reportId int) (err error) {
|
|
|
|
+ o := orm.NewOrmUsingDB("rddp")
|
|
|
|
+ sql := ` UPDATE english_policy_report SET state=1,sync_time=null,modify_time=NOW(), sync_report_id=0 WHERE id =? `
|
|
|
|
+ _, err = o.Raw(sql, reportId).Exec()
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// 删除报告
|
|
|
|
+func DeleteEnglishPolicyReport(reportIds int) (err error) {
|
|
|
|
+ o := orm.NewOrmUsingDB("rddp")
|
|
|
|
+ sql := ` DELETE FROM english_policy_report WHERE id =? `
|
|
|
|
+ _, err = o.Raw(sql, reportIds).Exec()
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// Update 更新
|
|
|
|
+func (item *EnglishPolicyReport) Update(cols []string) (err error) {
|
|
|
|
+ o := orm.NewOrmUsingDB("rddp")
|
|
|
|
+ _, err = o.Update(item, cols...)
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// GetEnglishPolicyReportByIds 根据IDs获取英文报告列表
|
|
|
|
+func GetEnglishPolicyReportByIds(reportIds []int, fieldArr []string) (list []*EnglishPolicyReport, err error) {
|
|
|
|
+ listLen := len(reportIds)
|
|
|
|
+ if listLen == 0 {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ fields := ` * `
|
|
|
|
+ if len(fieldArr) > 0 {
|
|
|
|
+ fields = strings.Join(fieldArr, ",")
|
|
|
|
+ }
|
|
|
|
+ o := orm.NewOrmUsingDB("rddp")
|
|
|
|
+ sql := `SELECT ` + fields + ` FROM english_policy_report WHERE id IN (` + utils.GetOrmInReplace(listLen) + `)`
|
|
|
|
+ _, err = o.Raw(sql, reportIds).QueryRows(&list)
|
|
|
|
+ return
|
|
|
|
+}
|