Procházet zdrojové kódy

1、接口 /Common/QueryNewTitles 增加分页功能;
2、接口 /Guangzuan/GetGoods 增加图片出参

zhou.xiaoning před 2 roky
rodič
revize
1639f3d71c
6 změnil soubory, kde provedl 73 přidání a 15 odebrání
  1. 5 8
      controllers/common/news.go
  2. 16 0
      docs/docs.go
  3. 16 0
      docs/swagger.json
  4. 11 0
      docs/swagger.yaml
  5. 23 7
      models/common.go
  6. 2 0
      models/guangzuan.go

+ 5 - 8
controllers/common/news.go

@@ -11,15 +11,12 @@ import (
 	"github.com/gin-gonic/gin"
 )
 
-// QueryNewTitlesReq 获取资讯标题列表请求参数
-type QueryNewTitlesReq struct {
-	COLUMNID int `form:"columnid"` // 所属栏目
-}
-
 // QueryNewTitles 取资讯标题列表
 // @Summary 取资讯标题列表
 // @Produce json
 // @Param   columnid query    int false "所属栏目"
+// @Param   page     query    int false "页码"
+// @Param   pagesize query    int false "每页条数"
 // @Success 200      {object} models.QueryNewTitlesRsp
 // @Failure 500 {object} app.Response
 // @Router  /Common/QueryNewTitles [get]
@@ -28,14 +25,14 @@ func QueryNewTitles(c *gin.Context) {
 	appG := app.Gin{C: c}
 
 	// 获取请求参数
-	var req QueryNewTitlesReq
+	var req models.QueryNewTitlesReq
 	if err := appG.C.ShouldBindQuery(&req); err != nil {
 		logger.GetLogger().Errorf("QueryErrorInfos failed: %s", err.Error())
 		appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
 		return
 	}
 
-	rsp, err := models.GetNewTitles(req.COLUMNID)
+	rsp, totel, err := models.GetNewTitles(req)
 	if err != nil {
 		// 查询失败
 		logger.GetLogger().Errorf("QueryErrorInfos failed: %s", err.Error())
@@ -44,7 +41,7 @@ func QueryNewTitles(c *gin.Context) {
 	}
 
 	// 查询成功
-	appG.Response(http.StatusOK, e.SUCCESS, rsp)
+	appG.ResponseByPage(http.StatusOK, e.SUCCESS, rsp, app.PageInfo{Page: req.Page, PageSize: req.PageSize, Total: int(totel)})
 }
 
 // QueryNewContentsReq 获取资讯内容请求参数

+ 16 - 0
docs/docs.go

@@ -909,6 +909,18 @@ const docTemplate = `{
                         "description": "所属栏目",
                         "name": "columnid",
                         "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "页码",
+                        "name": "page",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "每页条数",
+                        "name": "pagesize",
+                        "in": "query"
                     }
                 ],
                 "responses": {
@@ -39140,6 +39152,10 @@ const docTemplate = `{
                     "description": "商品编号",
                     "type": "string"
                 },
+                "imagepath": {
+                    "description": "商品照片(相对地址)",
+                    "type": "string"
+                },
                 "marketid": {
                     "description": "市场ID",
                     "type": "integer"

+ 16 - 0
docs/swagger.json

@@ -900,6 +900,18 @@
                         "description": "所属栏目",
                         "name": "columnid",
                         "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "页码",
+                        "name": "page",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "每页条数",
+                        "name": "pagesize",
+                        "in": "query"
                     }
                 ],
                 "responses": {
@@ -39131,6 +39143,10 @@
                     "description": "商品编号",
                     "type": "string"
                 },
+                "imagepath": {
+                    "description": "商品照片(相对地址)",
+                    "type": "string"
+                },
                 "marketid": {
                     "description": "市场ID",
                     "type": "integer"

+ 11 - 0
docs/swagger.yaml

@@ -14072,6 +14072,9 @@ definitions:
       goodsno:
         description: 商品编号
         type: string
+      imagepath:
+        description: 商品照片(相对地址)
+        type: string
       marketid:
         description: 市场ID
         type: integer
@@ -27528,6 +27531,14 @@ paths:
         in: query
         name: columnid
         type: integer
+      - description: 页码
+        in: query
+        name: page
+        type: integer
+      - description: 每页条数
+        in: query
+        name: pagesize
+        type: integer
       produces:
       - application/json
       responses:

+ 23 - 7
models/common.go

@@ -1191,6 +1191,14 @@ func (r *Exchangerateconfig) GetAll() (data []Exchangerateconfig, err error) {
 	return
 }
 
+// QueryNewTitlesReq 获取资讯标题列表请求参数
+type QueryNewTitlesReq struct {
+	COLUMNID int `form:"columnid"` // 所属栏目
+
+	Page     int `json:"-" form:"page"`     // 页码
+	PageSize int `json:"-" form:"pagesize"` // 每页大小
+}
+
 type QueryNewTitlesRsp struct {
 	ID          int64     `json:"id" xorm:"ID"`                   // ID(SEQ_SITE_COLUMNDETAIL)
 	COLUMNID    int64     `json:"columnid" xorm:"COLUMNID"`       // 所属栏目
@@ -1211,18 +1219,26 @@ type QueryNewTitlesRsp struct {
 }
 
 // GetNewTitles 取资讯标题列表
-func GetNewTitles(columnid int) (rsp []QueryNewTitlesRsp, error error) {
+func GetNewTitles(req QueryNewTitlesReq) (rsp []QueryNewTitlesRsp, total int64, err error) {
 	engine := db.GetEngine()
 
-	rsp = make([]QueryNewTitlesRsp, 0)
 	session := engine.Table("SITE_COLUMNDETAIL")
-	if columnid != 0 {
-		session = session.Where("COLUMNID = ?", columnid)
+	if req.COLUMNID != 0 {
+		session = session.Where("COLUMNID = ?", req.COLUMNID)
 	}
-	session = session.Desc("ISTOP", "PUBLISHDATE")
-	if err := session.Find(&rsp); err != nil {
-		return nil, err
+	total, err = session.Count(new(QueryNewTitlesRsp))
+	if err != nil {
+		return
+	}
+
+	rsp = make([]QueryNewTitlesRsp, 0)
+	session = engine.Table("SITE_COLUMNDETAIL")
+	if req.COLUMNID != 0 {
+		session = session.Where("COLUMNID = ?", req.COLUMNID)
 	}
+	session = session.Desc("ISTOP", "PUBLISHDATE")
+	page := req.Page - 1
+	err = session.Limit(req.PageSize, page*req.PageSize).Find(&rsp)
 
 	return
 }

+ 2 - 0
models/guangzuan.go

@@ -2301,6 +2301,7 @@ type MyFavorite struct {
 	WEIGHTAVG                  float64 `json:"weightavg" xorm:"WEIGHTAVG"`                                   // 平均单颗重量 - 类型:1,3
 	SIZEDISPLAY                string  `json:"sizedisplay" xorm:"SIZEDISPLAY"`                               // 尺寸
 	ZSCATEGORY                 int32   `json:"zscategory" xorm:"ZSCATEGORY"`                                 // 钻石分类 - 枚举”ZSCategory“
+	IMAGEPATH                  string  `json:"imagepath" xorm:"IMAGEPATH"`                                   // 商品照片(相对地址)
 
 	ACCOUNTNAME string `json:"accountname" xorm:"ACCOUNTNAME"` // 账户名称(机构名称)
 
@@ -2352,6 +2353,7 @@ func (r *MyFavorite) buildSql() string {
 		q.WEIGHT,
 		q.WEIGHTAVG,
 		q.ZSCATEGORY,
+		q.IMAGEPATH,
 		q.MARKETPRICE,
 		q.SELLUSERNAME,
 		CASE WHEN