فهرست منبع

Merge branch 'cygx/cygx_need_p1_880' of http://8.136.199.33:3000/hongze/hz_crm_api into debug

xingzai 1 سال پیش
والد
کامیت
e27a83f04d
2فایلهای تغییر یافته به همراه23 افزوده شده و 4 حذف شده
  1. 21 2
      controllers/cygx/tag_management.go
  2. 2 2
      models/cygx/cygx_tag.go

+ 21 - 2
controllers/cygx/tag_management.go

@@ -27,6 +27,8 @@ type TagManagementController struct {
 // @Param   CurrentIndex   query   int  true       "当前页码"
 // @Param   PageSize   query   int  true       "每页数据数"
 // @Param   Status   query   string  false       "发布状态,1,上线,0下线"
+// @Param   SortParam   query   string  false       "排序字段参数,用来排序的字段, 枚举值: 'pv':总Pv/Uv "
+// @Param   SortType   query   string  true       "如何排序,是正序还是倒序,枚举值:`asc 正序`,`desc 倒叙`"
 // @Success 200 {object} cygx.ChartPermissionResp
 // @router /tag/list [get]
 func (this *TagManagementController) TagList() {
@@ -46,6 +48,9 @@ func (this *TagManagementController) TagList() {
 	pageSize, _ := this.GetInt("PageSize")
 	currentIndex, _ := this.GetInt("CurrentIndex")
 	status, _ := this.GetInt("Status", 1)
+	//排序参数
+	sortParam := this.GetString("SortParam")
+	sortType := this.GetString("SortType")
 
 	var condition string
 	var startSize int
@@ -58,9 +63,9 @@ func (this *TagManagementController) TagList() {
 	startSize = utils.StartIndex(currentIndex, pageSize)
 
 	if status == 1 {
-		condition += ` AND status=1 ORDER BY online_time DESC  `
+		condition += ` AND status=1 `
 	} else {
-		condition += ` AND status=0 ORDER BY online_time DESC  `
+		condition += ` AND status=0  `
 	}
 
 	total, err := cygx.GetCygxTagListCount(condition)
@@ -71,6 +76,20 @@ func (this *TagManagementController) TagList() {
 	}
 	page := paging.GetPaging(currentIndex, pageSize, total)
 
+	//排序字段以及排序方式处理
+	var sortStr string
+	if sortParam != "" && sortType != "" {
+		if sortParam == "pv" {
+			if sortType == "asc" {
+				sortStr = " ORDER BY pv ASC,  online_time DESC "
+			} else {
+				sortStr = " ORDER BY pv  DESC,  online_time DESC "
+			}
+		}
+	} else {
+		sortStr = "  ORDER BY online_time DESC "
+	}
+	condition += sortStr
 	list, err := cygx.GetCygxTagListPage(condition, startSize, pageSize)
 	if err != nil {
 		br.Msg = "获取标签失败"

+ 2 - 2
models/cygx/cygx_tag.go

@@ -98,8 +98,8 @@ func GetCygxTagListCountByCondition(condition string, pars []interface{}) (count
 func GetCygxTagListPage(cond string, startSize, pageSize int) (items []*CygxTagList, err error) {
 	o := orm.NewOrmUsingDB("hz_cygx")
 	sql := `SELECT *,
-		(SELECT COUNT(1) FROM cygx_tag_history AS avr WHERE avr.tag_id=cygx_tag.tag_id) AS pv,
-        (SELECT COUNT(DISTINCT user_id) FROM cygx_tag_history AS avr WHERE avr.tag_id=cygx_tag.tag_id) AS uv
+		(SELECT COUNT(1) FROM cygx_tag_history AS avr WHERE avr.tag_id=cygx_tag.tag_id AND avr.company_id != 16  ) AS pv,
+        (SELECT COUNT(DISTINCT user_id) FROM cygx_tag_history AS avr WHERE avr.tag_id=cygx_tag.tag_id AND avr.company_id != 16 ) AS uv
 		FROM cygx_tag  WHERE 1=1 `
 	if cond != "" {
 		sql += cond