|
@@ -0,0 +1,92 @@
|
|
|
+package models
|
|
|
+
|
|
|
+import (
|
|
|
+ "rdluck_tools/orm"
|
|
|
+ "rdluck_tools/paging"
|
|
|
+ "time"
|
|
|
+)
|
|
|
+
|
|
|
+type CygxArticleDepartment struct {
|
|
|
+ DepartmentId int `orm:"column(department_id);pk;主键ID"`
|
|
|
+ CreateTime time.Time `description:"创建时间"`
|
|
|
+ NickName string `description:"昵称"`
|
|
|
+ Remark string `description:"备注"`
|
|
|
+ Remarks string `description:"备注辅助字段"`
|
|
|
+ Content string `description:"初始内容"`
|
|
|
+}
|
|
|
+
|
|
|
+type CygxArticleDepartmentRep struct {
|
|
|
+ DepartmentId int `description:"主键ID"`
|
|
|
+ CreateTime string `description:"创建时间"`
|
|
|
+ NickName string `description:"昵称"`
|
|
|
+ IsFollow int `description:"是否关注 1是 ,0 否"`
|
|
|
+ List []*IndustrialManagementIdInt
|
|
|
+}
|
|
|
+
|
|
|
+type CygxArticleDepartmentList struct {
|
|
|
+ Paging *paging.PagingItem `description:"分页数据"`
|
|
|
+ List []*CygxArticleDepartmentRep
|
|
|
+ ListnNew []*IndustrialManagementIdInt
|
|
|
+}
|
|
|
+
|
|
|
+//详情
|
|
|
+func GetArticleDepartmentDateil(nickName, remarks string) (item *CygxArticleDepartmentRep, err error) {
|
|
|
+ o := orm.NewOrm()
|
|
|
+ sql := `SELECT * FROM cygx_article_department WHERE nick_name = ? AND remarks = ? LIMIT 1 `
|
|
|
+ err = o.Raw(sql, nickName, remarks).QueryRow(&item)
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+//数量
|
|
|
+func GetArticleDepartmentCount(condition string) (count int, err error) {
|
|
|
+ o := orm.NewOrm()
|
|
|
+ sql := `SELECT COUNT(1) FROM cygx_article_department AS d
|
|
|
+ INNER JOIN cygx_article AS a ON a.department_id = d.department_id
|
|
|
+ INNER JOIN cygx_industrial_article_group_management AS mg ON mg.article_id = a.article_id
|
|
|
+ INNER JOIN cygx_industrial_management AS m ON m.industrial_management_id = mg.industrial_management_id WHERE 1= 1 `
|
|
|
+ if condition != "" {
|
|
|
+ sql += condition
|
|
|
+ }
|
|
|
+
|
|
|
+ err = o.Raw(sql).QueryRow(&count)
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+//列表
|
|
|
+func GetCygxArticleDepartmentList(startSize, pageSize int, condition string) (items []*CygxArticleDepartmentRep, err error) {
|
|
|
+ o := orm.NewOrm()
|
|
|
+ sql := `SELECT d.*,
|
|
|
+ ( SELECT COUNT( 1 ) FROM cygx_article AS a INNER JOIN cygx_article_history_record as h ON h.article_id = a.article_id WHERE a.department_id = d.department_id ) AS art_num
|
|
|
+ FROM
|
|
|
+ cygx_article_department AS d
|
|
|
+ INNER JOIN cygx_article AS a ON a.department_id = d.department_id
|
|
|
+ INNER JOIN cygx_industrial_article_group_management AS mg ON mg.article_id = a.article_id
|
|
|
+ INNER JOIN cygx_industrial_management AS m ON m.industrial_management_id = mg.industrial_management_id WHERE 1= 1 `
|
|
|
+ if condition != "" {
|
|
|
+ sql += condition
|
|
|
+ }
|
|
|
+ sql += ` GROUP BY
|
|
|
+ d.department_id
|
|
|
+ ORDER BY art_num DESC LIMIT ?,?`
|
|
|
+ _, err = o.Raw(sql, startSize, pageSize).QueryRows(&items)
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+//标的列表
|
|
|
+func GetIndustrialSubjectByDepartment(departmentId int) (items []*IndustrialManagementIdInt, err error) {
|
|
|
+ o := orm.NewOrm()
|
|
|
+ sql := `SELECT
|
|
|
+m.*,
|
|
|
+ ( SELECT publish_date FROM cygx_article AS a INNER JOIN cygx_industrial_article_group_management as mg ON mg.article_id = a.article_id ORDER BY publish_date DESC LIMIT 1 ) AS art_time
|
|
|
+FROM
|
|
|
+ cygx_article_department AS d
|
|
|
+ INNER JOIN cygx_article AS a ON a.department_id = d.department_id
|
|
|
+ INNER JOIN cygx_industrial_article_group_management AS mg ON mg.article_id = a.article_id
|
|
|
+ INNER JOIN cygx_industrial_management AS m ON m.industrial_management_id = mg.industrial_management_id
|
|
|
+ WHERE 1= 1
|
|
|
+ AND d.department_id = ?
|
|
|
+ ORDER BY art_time DESC
|
|
|
+ LIMIT 4 `
|
|
|
+ _, err = o.Raw(sql, departmentId).QueryRows(&items)
|
|
|
+ return
|
|
|
+}
|