Parcourir la source

查现货商品返回缩略图等 && 查商品信息增加过滤条件

zou.yingbin il y a 3 ans
Parent
commit
d6bc47b965
6 fichiers modifiés avec 113 ajouts et 1 suppressions
  1. 1 0
      controllers/ermcp3/qryErmcp3.go
  2. 18 0
      docs/docs.go
  3. 18 0
      docs/swagger.json
  4. 13 0
      docs/swagger.yaml
  5. 62 0
      models/ermcp3.go
  6. 1 1
      models/qhjPCWeb.go

+ 1 - 0
controllers/ermcp3/qryErmcp3.go

@@ -48,6 +48,7 @@ func QueryDeliveryGoods(c *gin.Context) {
 // @Param userid query int true "用户id"
 // @Param usertype query int false "用户类型 2-机构 7-企业成员"
 // @Param deliverygoodsid query int false "现货商品id"
+// @Param filtersubempty query int false "过滤下级为空, 1-过滤. 比如 品种大豆的下级品类列表为空, 则大豆不显示; 比如品类的下级套保品列表为空, 则该品类不显示"
 // @Success 200 {array} models.XHDeliveryGoods
 // @Failure 500 {object} app.Response
 // @Router /Ermcp3/QueryDeliveryGoodsDetail [get]

+ 18 - 0
docs/docs.go

@@ -4180,6 +4180,12 @@ var doc = `{
                         "description": "现货商品id",
                         "name": "deliverygoodsid",
                         "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "过滤下级为空, 1-过滤. 比如 品种大豆的下级品类列表为空, 则大豆不显示; 比如品类的下级套保品列表为空, 则该品类不显示",
+                        "name": "filtersubempty",
+                        "in": "query"
                     }
                 ],
                 "responses": {
@@ -37314,6 +37320,10 @@ var doc = `{
                     "description": "品种状态 - 作废 - 0:未激活 1:正常",
                     "type": "integer"
                 },
+                "filterSubEmpty": {
+                    "description": "过滤下级为空的",
+                    "type": "integer"
+                },
                 "isvalid": {
                     "description": "是否有效 - 0:无效 1:有效",
                     "type": "integer"
@@ -37397,6 +37407,14 @@ var doc = `{
                         "$ref": "#/definitions/models.XHMiddleGoods"
                     }
                 },
+                "pictureurls": {
+                    "description": "详情图片(逗号分隔)",
+                    "type": "string"
+                },
+                "thumurls": {
+                    "description": "缩略图片(1:1)(逗号分隔)",
+                    "type": "string"
+                },
                 "unitid": {
                     "description": "单位id",
                     "type": "integer"

+ 18 - 0
docs/swagger.json

@@ -4164,6 +4164,12 @@
                         "description": "现货商品id",
                         "name": "deliverygoodsid",
                         "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "过滤下级为空, 1-过滤. 比如 品种大豆的下级品类列表为空, 则大豆不显示; 比如品类的下级套保品列表为空, 则该品类不显示",
+                        "name": "filtersubempty",
+                        "in": "query"
                     }
                 ],
                 "responses": {
@@ -37298,6 +37304,10 @@
                     "description": "品种状态 - 作废 - 0:未激活 1:正常",
                     "type": "integer"
                 },
+                "filterSubEmpty": {
+                    "description": "过滤下级为空的",
+                    "type": "integer"
+                },
                 "isvalid": {
                     "description": "是否有效 - 0:无效 1:有效",
                     "type": "integer"
@@ -37381,6 +37391,14 @@
                         "$ref": "#/definitions/models.XHMiddleGoods"
                     }
                 },
+                "pictureurls": {
+                    "description": "详情图片(逗号分隔)",
+                    "type": "string"
+                },
+                "thumurls": {
+                    "description": "缩略图片(1:1)(逗号分隔)",
+                    "type": "string"
+                },
                 "unitid": {
                     "description": "单位id",
                     "type": "integer"

+ 13 - 0
docs/swagger.yaml

@@ -17154,6 +17154,9 @@ definitions:
       dgstatus:
         description: 品种状态 - 作废 - 0:未激活 1:正常
         type: integer
+      filterSubEmpty:
+        description: 过滤下级为空的
+        type: integer
       isvalid:
         description: 是否有效 - 0:无效 1:有效
         type: integer
@@ -17214,6 +17217,12 @@ definitions:
         items:
           $ref: '#/definitions/models.XHMiddleGoods'
         type: array
+      pictureurls:
+        description: 详情图片(逗号分隔)
+        type: string
+      thumurls:
+        description: 缩略图片(1:1)(逗号分隔)
+        type: string
       unitid:
         description: 单位id
         type: integer
@@ -21826,6 +21835,10 @@ paths:
         in: query
         name: deliverygoodsid
         type: integer
+      - description: 过滤下级为空, 1-过滤. 比如 品种大豆的下级品类列表为空, 则大豆不显示; 比如品类的下级套保品列表为空, 则该品类不显示
+        in: query
+        name: filtersubempty
+        type: integer
       produces:
       - application/json
       responses:

+ 62 - 0
models/ermcp3.go

@@ -2447,6 +2447,8 @@ type XHDeliveryGoods struct {
 
 	WDLST []XHWrstandard `json:"wdlst"` // 品类(现货商品)列表
 	BDLST []XHBRAND      `json:"bdlst"` // 品牌列表
+
+	FilterSubEmpty int32 `json:"filterSubEmpty" form:"filtersubempty"` // 过滤下级为空的
 }
 
 func (r *XHDeliveryGoods) calc() {
@@ -2502,6 +2504,10 @@ func (r *XHDeliveryGoods) GetDataEx() (interface{}, error) {
 		}
 	}
 
+	if r.FilterSubEmpty == 1 {
+		sData = r.filterSubEmpty(sData)
+	}
+
 	return sData, err
 }
 
@@ -2523,6 +2529,58 @@ func (r *XHDeliveryGoods) addBrandlst(lstBrand []XHBRAND) {
 	}
 }
 
+//filterSubEmpty 层层递进过滤期货合约列表为空的品种、品类
+func (r *XHDeliveryGoods) filterSubEmpty(sData []XHDeliveryGoods) []XHDeliveryGoods {
+
+	fGp := func(lst []TBGoodsGroup) []TBGoodsGroup {
+		tmp := make([]TBGoodsGroup, 0)
+		for i := range lst {
+			if len(lst[i].GDLST) > 0 {
+				tmp = append(tmp, lst[i])
+			}
+		}
+		return tmp
+	}
+
+	fMg := func(lst []XHMiddleGoods) []XHMiddleGoods {
+		tmp := make([]XHMiddleGoods, 0)
+		for i := range lst {
+			lst[i].GPLST = fGp(lst[i].GPLST)
+		}
+		for i := range lst {
+			if len(lst[i].GPLST) > 0 {
+				tmp = append(tmp, lst[i])
+			}
+		}
+		return tmp
+	}
+
+	fWd := func(lst []XHWrstandard) []XHWrstandard {
+		tmp := make([]XHWrstandard, 0)
+		for i := range lst {
+			lst[i].MGLST = fMg(lst[i].MGLST)
+		}
+		for i := range lst {
+			if len(lst[i].MGLST) > 0 {
+				tmp = append(tmp, lst[i])
+			}
+		}
+		return tmp
+	}
+
+	for i := range sData {
+		sData[i].WDLST = fWd(sData[i].WDLST)
+	}
+	tmp := make([]XHDeliveryGoods, 0)
+	for i := range sData {
+		if len(sData[i].WDLST) > 0 {
+			tmp = append(tmp, sData[i])
+		}
+	}
+
+	return tmp
+}
+
 // XHBRAND 现货品种/品牌
 type XHBRAND struct {
 	BRANDID         int64  `json:"brandid"  xorm:"'BRANDID'"`     // 品牌id
@@ -2565,6 +2623,8 @@ type XHWrstandard struct {
 	VATRATE         float64 `json:"vatrate"  xorm:"'VATRATE'"`                                        // 增值税率
 	ENUMDICNAME     string  `json:"enumdicname"  xorm:"'ENUMDICNAME'"`                                // 单位名称
 	UNITID          int64   `json:"unitid"  xorm:"'UNITID'"`                                          // 单位id
+	THUMURLS        string  `json:"thumurls"  xorm:"'THUMURLS'"`                                      // 缩略图片(1:1)(逗号分隔)
+	PICTUREURLS     string  `json:"pictureurls"  xorm:"'PICTUREURLS'"`                                // 详情图片(逗号分隔)
 
 	MGLST []XHMiddleGoods `json:"mglst"` // 套保品列表
 }
@@ -2584,6 +2644,8 @@ select t.areauserid,
        t.wrstandardname,
        t.vatrate,
        t.unitid,
+       t.thumurls,
+       t.pictureurls,
        e.enumdicname
   from wrstandard t
   left join enumdicitem e

+ 1 - 1
models/qhjPCWeb.go

@@ -1470,7 +1470,7 @@ func (r *QhjMgrBrokerRewardReport) buildSql() string {
 		sqlId.And("u.refereeuserid", r.USERID)
 	}
 	if len(r.FilterName) > 0 {
-		sqlId.JoinFormat(" and u.accountname like '%%%v%%'", r.FilterName, r.FilterName)
+		sqlId.JoinFormat(" and u.accountname like '%%%v%%'", r.FilterName)
 	}
 
 	return sqlId.String()