Selaa lähdekoodia

1.查提货单接口/定投计划接口/定投流水接口/融资明细接口 适匹PCWEB端
2.查定投策略等接口加上商品报价小数位字段(DECIMALPLACE)
3.查提货商品接口增加goodsid过滤
4.查资讯接口->查所属企业的资讯
5.查轮播图加userid过滤条件

zou.yingbin 4 vuotta sitten
vanhempi
commit
6862f25db3

+ 4 - 2
controllers/common/common.go

@@ -104,7 +104,8 @@ func GetDivisions(c *gin.Context) {
 
 // QueryImageConfigsReq 查询轮播图配置信息请求参数
 type QueryImageConfigsReq struct {
-	ImageType int `form:"imageType"`
+	ImageType int   `form:"imageType"`
+	UserId    int64 `form:"userId"`
 }
 
 // QueryImageConfigsRsp 查询轮播图配置信息返回模型
@@ -130,6 +131,7 @@ type QueryImageConfigsRsp struct {
 // QueryImageConfigs 查询轮播图配置信息
 // @Summary 查询轮播图配置信息
 // @Produce json
+// @Param userId query int false "用户id"
 // @Param imageType query int false "类型 - 1:App首页轮播 2:我的"
 // @Success 200 {object} QueryImageConfigsRsp
 // @Failure 500 {object} app.Response
@@ -146,7 +148,7 @@ func QueryImageConfigs(c *gin.Context) {
 		return
 	}
 
-	imageConfigs, err := models.GetImageConfigs(req.ImageType)
+	imageConfigs, err := models.GetImageConfigs(req.UserId, req.ImageType)
 	if err != nil {
 		// 查询失败
 		logger.GetLogger().Errorf("QueryImageConfigs failed: %s", err.Error())

+ 18 - 13
controllers/order/order.go

@@ -88,6 +88,7 @@ func QueryTradePosition(c *gin.Context) {
 		Decimalplace         int64   `json:"decimalplace"  xorm:"'DECIMALPLACE'"` // 报价小数位
 		Marketid             int32   `json:"marketid"  xorm:"'MARKETID'"`         // 市场ID
 		Trademode            int32   `json:"trademode"  xorm:"'TRADEMODE'"`       // 交易模式
+		DECIMALPLACE         int32   `json:"decimalplace"  xorm:"'DECIMALPLACE'"` // 商品报价小数位
 	}
 	datas := make([]tradePosition, 0)
 	engine := db.GetEngine()
@@ -96,7 +97,7 @@ func QueryTradePosition(c *gin.Context) {
 		Join("LEFT", "GOODS", "TRADEPOSITION.GOODSID = GOODS.GOODSID").
 		Join("LEFT", "MARKET", "GOODS.MARKETID = MARKET.MARKETID").
 		Join("LEFT", "ENUMDICITEM", "GOODS.GOODUNITID = ENUMDICITEM.ENUMITEMNAME and ENUMDICITEM.ENUMDICCODE = 'goodsunit'").
-		Select("TRADEPOSITION.*, GOODS.GOODSCODE, GOODS.GOODSNAME, GOODS.CURRENCYID, GOODS.GOODUNITID, ENUMDICITEM.ENUMDICNAME as GOODUNIT, GOODS.AGREEUNIT, GOODS.DECIMALPLACE, MARKET.MARKETID, MARKET.TRADEMODE").
+		Select("TRADEPOSITION.*, GOODS.GOODSCODE, GOODS.GOODSNAME, GOODS.CURRENCYID, GOODS.GOODUNITID,GOODS.DECIMALPLACE, ENUMDICITEM.ENUMDICNAME as GOODUNIT, GOODS.AGREEUNIT, GOODS.DECIMALPLACE, MARKET.MARKETID, MARKET.TRADEMODE").
 		Where(fmt.Sprintf(`TRADEPOSITION.ACCOUNTID in (%s)`, req.AccountID))
 	if len(req.TradeMode) > 0 {
 		s = s.And(fmt.Sprintf(`MARKET.TRADEMODE in (%s)`, req.TradeMode))
@@ -226,10 +227,11 @@ type QueryTradeOrderDetailRsp struct {
 	Clienttype          int64     `json:"clienttype"  xorm:"'CLIENTTYPE'"`                      // 客户端类型 - 0:保留为未填终端类型 1:PC管理端 2:PC交易端 3:手机客户端_安卓 4:网页客户端 5:微信客户端 6:手机客户端_苹果 7:网上开户客户端 8:无效终端编号 9:报价终端(中江)
 	Operatorid          int64     `json:"operatorid"  xorm:"'OPERATORID'"`                      // 登录账号(LoginID)
 
-	GoodsCode  string `json:"goodscode" xorm:"GOODSCODE"`      // 商品代码
-	GoodsName  string `json:"goodsname" xorm:"GOODSNAME"`      // 商品名称
-	Marketname string `json:"marketname"  xorm:"'MARKETNAME'"` // 市场名称
-	TradeMode  int32  `json:"trademode"  xorm:"'TRADEMODE'"`   // 交易模式
+	GoodsCode    string `json:"goodscode" xorm:"GOODSCODE"`          // 商品代码
+	GoodsName    string `json:"goodsname" xorm:"GOODSNAME"`          // 商品名称
+	DECIMALPLACE int32  `json:"decimalplace"  xorm:"'DECIMALPLACE'"` // 商品报价小数位
+	Marketname   string `json:"marketname"  xorm:"'MARKETNAME'"`     // 市场名称
+	TradeMode    int32  `json:"trademode"  xorm:"'TRADEMODE'"`       // 交易模式
 
 	Enableqty int64 `json:"enableqty" xorm:"ENABLEQTY"` // 可用数量 = 委托数量 - 成交数量 - 撤单数量
 }
@@ -266,7 +268,7 @@ func QueryTradeOrderDetail(c *gin.Context) {
 		Join("LEFT", "MARKET", "MARKET.MARKETID = TRADE_ORDERDETAIL.MARKETID").
 		Select(`to_char(TRADE_ORDERDETAIL.ORDERID) as ORDERID, to_char(TRADE_ORDERDETAIL.PREORDERID) as PREORDERID, to_char(TRADE_ORDERDETAIL.CANCELORDERID) as CANCELORDERID, to_char(TRADE_ORDERDETAIL.RELATEDID) as RELATEDID,
 				TRADE_ORDERDETAIL.*, TRADE_ORDERDETAIL.ORDERQTY - TRADE_ORDERDETAIL.TRADEQTY - TRADE_ORDERDETAIL.CANCELQTY as ENABLEQTY, 
-				GOODS.GOODSCODE, GOODS.GOODSNAME, MARKET.MARKETNAME, MARKET.TRADEMODE`).
+				GOODS.GOODSCODE, GOODS.GOODSNAME,GOODS.DECIMALPLACE, MARKET.MARKETNAME, MARKET.TRADEMODE`).
 		Where(fmt.Sprintf(`TRADE_ORDERDETAIL.ORDERSRC != 10 and TRADE_ORDERDETAIL.ACCOUNTID in (%s)`, req.AccountID)).
 		Desc("TRADE_ORDERDETAIL.ORDERTIME")
 	if len(req.OrderStatus) > 0 {
@@ -304,10 +306,11 @@ type QueryHisTradeOrderDetailReq struct {
 type QueryHisTradeOrderDetailRsp struct {
 	models.Histradeorderdetail `xorm:"extends"`
 
-	GoodsCode  string `json:"goodscode" xorm:"GOODSCODE"`      // 商品代码
-	GoodsName  string `json:"goodsname" xorm:"GOODSNAME"`      // 商品名称
-	Marketname string `json:"marketname"  xorm:"'MARKETNAME'"` // 市场名称
-	TradeMode  int32  `json:"trademode"  xorm:"'TRADEMODE'"`   // 交易模式
+	GoodsCode    string `json:"goodscode" xorm:"GOODSCODE"`          // 商品代码
+	GoodsName    string `json:"goodsname" xorm:"GOODSNAME"`          // 商品名称
+	DECIMALPLACE int32  `json:"decimalplace"  xorm:"'DECIMALPLACE'"` // 商品报价小数位
+	Marketname   string `json:"marketname"  xorm:"'MARKETNAME'"`     // 市场名称
+	TradeMode    int32  `json:"trademode"  xorm:"'TRADEMODE'"`       // 交易模式
 }
 
 // QueryHisTradeOrderDetail 历史委托单查询请求(合约市场)
@@ -343,7 +346,7 @@ func QueryHisTradeOrderDetail(c *gin.Context) {
 		Join("LEFT", "MARKET", "MARKET.MARKETID = HIS_TRADE_ORDERDETAIL.MARKETID").
 		Select(`to_char(HIS_TRADE_ORDERDETAIL.ORDERID) as ORDERID, to_char(HIS_TRADE_ORDERDETAIL.PREORDERID) as PREORDERID, to_char(HIS_TRADE_ORDERDETAIL.CANCELORDERID) as CANCELORDERID, to_char(HIS_TRADE_ORDERDETAIL.RELATEDID) as RELATEDID,
 				HIS_TRADE_ORDERDETAIL.*, 
-				GOODS.GOODSCODE, GOODS.GOODSNAME, MARKET.MARKETNAME, MARKET.TRADEMODE`).
+				GOODS.GOODSCODE, GOODS.GOODSNAME,GOODS.DECIMALPLACE, MARKET.MARKETNAME, MARKET.TRADEMODE`).
 		Where(fmt.Sprintf(`HIS_TRADE_ORDERDETAIL.ORDERSRC != 10 and HIS_TRADE_ORDERDETAIL.ISVALIDDATA = 1 and HIS_TRADE_ORDERDETAIL.ACCOUNTID in (%s)`, req.AccountID)).
 		Desc("HIS_TRADE_ORDERDETAIL.ORDERTIME")
 	if len(req.OrderStatus) > 0 {
@@ -390,6 +393,7 @@ type QueryTradeDetailRsp struct {
 
 	GoodsCode         string `json:"goodscode" xorm:"GOODSCODE"`                    // 商品代码
 	GoodsName         string `json:"goodsname" xorm:"GOODSNAME"`                    // 商品名称
+	DECIMALPLACE      int32  `json:"decimalplace"  xorm:"'DECIMALPLACE'"`           // 商品报价小数位
 	Marketname        string `json:"marketname"  xorm:"'MARKETNAME'"`               // 市场名称
 	TradeMode         int32  `json:"trademode"  xorm:"'TRADEMODE'"`                 // 交易模式
 	ListingSelectType int32  `json:"listingselecttype"  xorm:"'LISTINGSELECTTYPE'"` // 关联委托单挂牌点选类型 - 1:挂牌 2:摘牌 3:先摘后挂
@@ -432,7 +436,7 @@ func QueryTradeDetail(c *gin.Context) {
 		Join("LEFT", "TRADE_ORDERDETAIL", "TRADE_ORDERDETAIL.ORDERID = TRADE_TRADEDETAIL.ORDERID").
 		Select(`to_char(TRADE_TRADEDETAIL.TRADEID) as TRADEID, to_char(TRADE_TRADEDETAIL.ORDERID) as ORDERID, 
 				TRADE_TRADEDETAIL.*, CASE TRADE_TRADEDETAIL.BUILDTYPE WHEN 1 THEN TRADE_TRADEDETAIL.OPENCHARGE ELSE TRADE_TRADEDETAIL.CLOSECHARGE END as CHARGE,
-				GOODS.GOODSCODE, GOODS.GOODSNAME, MARKET.MARKETNAME, MARKET.TRADEMODE, 
+				GOODS.GOODSCODE, GOODS.GOODSNAME, GOODS.DECIMALPLACE, MARKET.MARKETNAME, MARKET.TRADEMODE, 
 				TRADE_ORDERDETAIL.LISTINGSELECTTYPE`).
 		Where(fmt.Sprintf("TRADE_TRADEDETAIL.TRADETYPE <= 13 and TRADE_TRADEDETAIL.ACCOUNTID in (%s)", req.AccountID)).
 		Desc("TRADE_TRADEDETAIL.TRADETIME")
@@ -485,6 +489,7 @@ type QueryHisTradeDetailRsp struct {
 
 	GoodsCode         string `json:"goodscode" xorm:"GOODSCODE"`                    // 商品代码
 	GoodsName         string `json:"goodsname" xorm:"GOODSNAME"`                    // 商品名称
+	DECIMALPLACE      int32  `json:"decimalplace"  xorm:"'DECIMALPLACE'"`           // 商品报价小数位
 	Marketname        string `json:"marketname"  xorm:"'MARKETNAME'"`               // 市场名称
 	TradeMode         int32  `json:"trademode"  xorm:"'TRADEMODE'"`                 // 交易模式
 	ListingSelectType int32  `json:"listingselecttype"  xorm:"'LISTINGSELECTTYPE'"` // 关联委托单挂牌点选类型 - 1:挂牌 2:摘牌 3:先摘后挂
@@ -529,7 +534,7 @@ func QueryHisTradeDetail(c *gin.Context) {
 		Join("LEFT", "HIS_TRADE_ORDERDETAIL", "HIS_TRADE_ORDERDETAIL.ORDERID = HIS_TRADE_TRADEDETAIL.ORDERID").
 		Select(`to_char(HIS_TRADE_TRADEDETAIL.TRADEID) as TRADEID, to_char(HIS_TRADE_TRADEDETAIL.ORDERID) as ORDERID, 
 				HIS_TRADE_TRADEDETAIL.*, CASE HIS_TRADE_TRADEDETAIL.BUILDTYPE WHEN 1 THEN HIS_TRADE_TRADEDETAIL.OPENCHARGE ELSE HIS_TRADE_TRADEDETAIL.CLOSECHARGE END as CHARGE,
-				GOODS.GOODSCODE, GOODS.GOODSNAME, MARKET.MARKETNAME, MARKET.TRADEMODE, 
+				GOODS.GOODSCODE, GOODS.GOODSNAME,GOODS.DECIMALPLACE, MARKET.MARKETNAME, MARKET.TRADEMODE, 
 				HIS_TRADE_ORDERDETAIL.LISTINGSELECTTYPE`).
 		Where(fmt.Sprintf("HIS_TRADE_TRADEDETAIL.TRADETYPE <= 13 and HIS_TRADE_TRADEDETAIL.ISVALIDDATA = 1 and HIS_TRADE_TRADEDETAIL.ACCOUNTID in (%s)", req.AccountID)).
 		Desc("HIS_TRADE_TRADEDETAIL.TRADETIME")

+ 18 - 14
controllers/qhj/qryQhj.go

@@ -18,7 +18,7 @@ import (
 // @Summary 查询融资明细(合同)
 // @Produce json
 // @Security ApiKeyAuth
-// @Param userid query int true "用户ID"
+// @Param userid query int false "用户ID"
 // @Param scfcontractid query int false "scf合同id"
 // @Success 200 {array} models.QhjContract
 // @Failure 500 {object} app.Response
@@ -27,8 +27,8 @@ import (
 func QueryContract(c *gin.Context) {
 	a := app.GinUtils{Gin: app.Gin{C: c}}
 	req := struct {
-		USERID        int64  `form:"userid" binding:"required"` // 用户id
-		SCFCONTRACTID string `form:"scfcontractid"`             // scf合同id
+		USERID        int64  `form:"userid"`        // 用户id
+		SCFCONTRACTID string `form:"scfcontractid"` // scf合同id
 	}{}
 	a.DoBindReq(&req)
 	m := models.QhjContract{USERID: req.USERID, SCFCONTRACTID: req.SCFCONTRACTID}
@@ -60,7 +60,7 @@ func QueryContractLog(c *gin.Context) {
 // @Summary 查询定投设置(我的定投/历史定投[状态=已终止])
 // @Produce json
 // @Security ApiKeyAuth
-// @Param userid query int true "用户ID"
+// @Param userid query int false "用户ID"
 // @Param status query string false "策略状态(可多选,逗号隔开) - 1:正常 2:暂停 3:终止"
 // @Success 200 {array} models.QhjRStrategy
 // @Failure 500 {object} app.Response
@@ -69,8 +69,8 @@ func QueryContractLog(c *gin.Context) {
 func QueryRStrategy(c *gin.Context) {
 	a := app.GinUtils{Gin: app.Gin{C: c}}
 	req := struct {
-		USERID int64  `form:"userid" binding:"required"` // 用户id
-		STATUS string `form:"status"`                    // 状态
+		USERID int64  `form:"userid"` // 用户id
+		STATUS string `form:"status"` // 状态
 	}{}
 	a.DoBindReq(&req)
 	m := models.QhjRStrategy{USERID: req.USERID, FilterStatus: req.STATUS}
@@ -81,7 +81,7 @@ func QueryRStrategy(c *gin.Context) {
 // @Summary 查询定投记录(定投管理/详情/定投记录)
 // @Produce json
 // @Security ApiKeyAuth
-// @Param userid query int true "用户ID"
+// @Param userid query int false "用户ID"
 // @Param regularlystrategyid query int false "定投策略id"
 // @Success 200 {array} models.QhjRSTriggerLog
 // @Failure 500 {object} app.Response
@@ -90,8 +90,8 @@ func QueryRStrategy(c *gin.Context) {
 func QueryRSTriggerLog(c *gin.Context) {
 	a := app.GinUtils{Gin: app.Gin{C: c}}
 	req := struct {
-		USERID              int64 `form:"userid" binding:"required"` // 用户id
-		REGULARLYSTRATEGYID int64 `form:"regularlystrategyid"`       // 策略id
+		USERID              int64 `form:"userid"`              // 用户id
+		REGULARLYSTRATEGYID int64 `form:"regularlystrategyid"` // 策略id
 	}{}
 	a.DoBindReq(&req)
 	m := models.QhjRSTriggerLog{USERID: req.USERID, REGULARLYSTRATEGYID: req.REGULARLYSTRATEGYID}
@@ -141,6 +141,7 @@ func QueryUserCollectConfig(c *gin.Context) {
 // @Produce json
 // @Security ApiKeyAuth
 // @Param userid query int true "用户ID"
+// @Param takeorderstatus query int false "提货状态 1:备货中 2:待取货(自提) 3:已取货(自提) 4:待收货(邮寄) 5:已收货(邮寄) 6:自动收货(邮寄) 7:已拒绝 8:已撤销"
 // @Success 200 {array} models.QhjTradeGoodsPickup
 // @Failure 500 {object} app.Response
 // @Router /Qhj/QueryTradeGoodsPickup [get]
@@ -148,10 +149,11 @@ func QueryUserCollectConfig(c *gin.Context) {
 func QueryTradeGoodsPickup(c *gin.Context) {
 	a := app.GinUtils{Gin: app.Gin{C: c}}
 	req := struct {
-		USERID int64 `form:"userid" binding:"required"` // 用户id
+		USERID          int64 `form:"userid" binding:"required"` // 用户id
+		TAKEORDERSTATUS int32 `form:"takeorderstatus"`           // 状态
 	}{}
 	a.DoBindReq(&req)
-	m := models.QhjTradeGoodsPickup{USERID: req.USERID}
+	m := models.QhjTradeGoodsPickup{USERID: req.USERID, TAKEORDERSTATUS: req.TAKEORDERSTATUS}
 	a.DoGetDataI(&m)
 }
 
@@ -159,6 +161,7 @@ func QueryTradeGoodsPickup(c *gin.Context) {
 // @Summary 查询提货商品
 // @Produce json
 // @Security ApiKeyAuth
+// @param goodsid query int true "交易商品id"
 // @Param status query string false "状态(可多选,逗号隔开) - 1:正常 2:停用 3:注销"
 // @Success 200 {array} models.QhjPickGoods
 // @Failure 500 {object} app.Response
@@ -167,10 +170,11 @@ func QueryTradeGoodsPickup(c *gin.Context) {
 func QueryPickGoods(c *gin.Context) {
 	a := app.GinUtils{Gin: app.Gin{C: c}}
 	req := struct {
-		STATUS string `form:"status"` // 用户id
+		GOODSID int32  `form:"goodsid" binding:"required"` // 商品id
+		STATUS  string `form:"status"`                     // 用户id
 	}{}
 	a.DoBindReq(&req)
-	m := models.QhjPickGoods{FilterStatus: req.STATUS}
+	m := models.QhjPickGoods{GOODSID: req.GOODSID, FilterStatus: req.STATUS}
 	a.DoGetDataI(&m)
 }
 
@@ -302,7 +306,7 @@ func QuerySiteColumnDetail(c *gin.Context) {
 		USERID int64 `form:"userid"` // 用户id
 	}{}
 	a.DoBindReq(&req)
-	m := models.QhjSiteColumnDetail{USERID: req.USERID}
+	m := models.QhjSiteColumnDetail{USERID: mtpcache.GetAreaUserId(req.USERID, 0)}
 	a.DoGetDataI(&m)
 }
 

+ 78 - 6
docs/docs.go

@@ -593,6 +593,12 @@ var doc = `{
                 "parameters": [
                     {
                         "type": "integer",
+                        "description": "用户id",
+                        "name": "userId",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
                         "description": "类型 - 1:App首页轮播 2:我的",
                         "name": "imageType",
                         "in": "query"
@@ -7195,8 +7201,7 @@ var doc = `{
                         "type": "integer",
                         "description": "用户ID",
                         "name": "userid",
-                        "in": "query",
-                        "required": true
+                        "in": "query"
                     },
                     {
                         "type": "integer",
@@ -7572,6 +7577,13 @@ var doc = `{
                 "summary": "查询提货商品",
                 "parameters": [
                     {
+                        "type": "integer",
+                        "description": "交易商品id",
+                        "name": "goodsid",
+                        "in": "query",
+                        "required": true
+                    },
+                    {
                         "type": "string",
                         "description": "状态(可多选,逗号隔开) - 1:正常 2:停用 3:注销",
                         "name": "status",
@@ -7616,8 +7628,7 @@ var doc = `{
                         "type": "integer",
                         "description": "用户ID",
                         "name": "userid",
-                        "in": "query",
-                        "required": true
+                        "in": "query"
                     },
                     {
                         "type": "integer",
@@ -7664,8 +7675,7 @@ var doc = `{
                         "type": "integer",
                         "description": "用户ID",
                         "name": "userid",
-                        "in": "query",
-                        "required": true
+                        "in": "query"
                     },
                     {
                         "type": "string",
@@ -7803,6 +7813,12 @@ var doc = `{
                         "name": "userid",
                         "in": "query",
                         "required": true
+                    },
+                    {
+                        "type": "integer",
+                        "description": "提货状态 1:备货中 2:待取货(自提) 3:已取货(自提) 4:待收货(邮寄) 5:已收货(邮寄) 6:自动收货(邮寄) 7:已拒绝 8:已撤销",
+                        "name": "takeorderstatus",
+                        "in": "query"
                     }
                 ],
                 "responses": {
@@ -22009,6 +22025,10 @@ var doc = `{
                     "description": "风险级别 - 1:正常 2:追加货款 3:支付尾款",
                     "type": "integer"
                 },
+                "decimalplace": {
+                    "description": "商品报价小数位",
+                    "type": "integer"
+                },
                 "enumdicname": {
                     "description": "单位名称",
                     "type": "string"
@@ -22441,6 +22461,10 @@ var doc = `{
                     "description": "创建时间",
                     "type": "string"
                 },
+                "decimalplace": {
+                    "description": "商品报价小数位",
+                    "type": "integer"
+                },
                 "goodscode": {
                     "description": "商品代码",
                     "type": "string"
@@ -22579,6 +22603,10 @@ var doc = `{
         "models.QhjPickGoods": {
             "type": "object",
             "properties": {
+                "goodsid": {
+                    "description": "商品id",
+                    "type": "integer"
+                },
                 "imageaddress": {
                     "description": "图片",
                     "type": "string"
@@ -22619,6 +22647,10 @@ var doc = `{
                     "description": "单位ID",
                     "type": "integer"
                 },
+                "pickupratio": {
+                    "description": "提货系数",
+                    "type": "number"
+                },
                 "preparedays": {
                     "description": "备货期(天)",
                     "type": "integer"
@@ -22652,6 +22684,10 @@ var doc = `{
                     "description": "币种名称",
                     "type": "string"
                 },
+                "decimalplace": {
+                    "description": "商品报价小数位",
+                    "type": "integer"
+                },
                 "enumdicname": {
                     "description": "单位名称",
                     "type": "string"
@@ -22753,6 +22789,10 @@ var doc = `{
                     "description": "币种名称",
                     "type": "string"
                 },
+                "decimalplace": {
+                    "description": "商品报价小数位",
+                    "type": "integer"
+                },
                 "enumdicname": {
                     "description": "单位名称",
                     "type": "string"
@@ -22866,10 +22906,22 @@ var doc = `{
         "models.QhjReckonPriceLog": {
             "type": "object",
             "properties": {
+                "decimalplace": {
+                    "description": "商品报价小数位",
+                    "type": "integer"
+                },
+                "goodscode": {
+                    "description": "商品代码",
+                    "type": "string"
+                },
                 "goodsid": {
                     "description": "商品ID",
                     "type": "integer"
                 },
+                "goodsname": {
+                    "description": "商品名称",
+                    "type": "string"
+                },
                 "lastreckonprice": {
                     "description": "上日结算价",
                     "type": "number"
@@ -23072,6 +23124,10 @@ var doc = `{
                     "description": "国家名称",
                     "type": "string"
                 },
+                "decimalplace": {
+                    "description": "商品报价小数位",
+                    "type": "integer"
+                },
                 "districtid": {
                     "description": "地区",
                     "type": "integer"
@@ -24798,6 +24854,10 @@ var doc = `{
                     "description": "授信金额",
                     "type": "number"
                 },
+                "decimalplace": {
+                    "description": "商品报价小数位",
+                    "type": "integer"
+                },
                 "gcaccountid": {
                     "description": "账户ID[合约币种]",
                     "type": "integer"
@@ -25031,6 +25091,10 @@ var doc = `{
                     "description": "平仓解冻手续费(先建后平操作,需要记录)",
                     "type": "number"
                 },
+                "decimalplace": {
+                    "description": "商品报价小数位",
+                    "type": "integer"
+                },
                 "delistingtype": {
                     "description": "摘牌类型 - 1:价格最优 2:点选成交",
                     "type": "integer"
@@ -25310,6 +25374,10 @@ var doc = `{
                     "description": "授信金额",
                     "type": "number"
                 },
+                "decimalplace": {
+                    "description": "商品报价小数位",
+                    "type": "integer"
+                },
                 "gcaccountid": {
                     "description": "账户ID[合约币种]",
                     "type": "integer"
@@ -25512,6 +25580,10 @@ var doc = `{
                     "description": "平仓解冻手续费(先建后平操作,需要记录)",
                     "type": "number"
                 },
+                "decimalplace": {
+                    "description": "商品报价小数位",
+                    "type": "integer"
+                },
                 "delistingtype": {
                     "description": "摘牌类型 - 1:价格最优 2:点选成交",
                     "type": "integer"

+ 78 - 6
docs/swagger.json

@@ -577,6 +577,12 @@
                 "parameters": [
                     {
                         "type": "integer",
+                        "description": "用户id",
+                        "name": "userId",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
                         "description": "类型 - 1:App首页轮播 2:我的",
                         "name": "imageType",
                         "in": "query"
@@ -7179,8 +7185,7 @@
                         "type": "integer",
                         "description": "用户ID",
                         "name": "userid",
-                        "in": "query",
-                        "required": true
+                        "in": "query"
                     },
                     {
                         "type": "integer",
@@ -7556,6 +7561,13 @@
                 "summary": "查询提货商品",
                 "parameters": [
                     {
+                        "type": "integer",
+                        "description": "交易商品id",
+                        "name": "goodsid",
+                        "in": "query",
+                        "required": true
+                    },
+                    {
                         "type": "string",
                         "description": "状态(可多选,逗号隔开) - 1:正常 2:停用 3:注销",
                         "name": "status",
@@ -7600,8 +7612,7 @@
                         "type": "integer",
                         "description": "用户ID",
                         "name": "userid",
-                        "in": "query",
-                        "required": true
+                        "in": "query"
                     },
                     {
                         "type": "integer",
@@ -7648,8 +7659,7 @@
                         "type": "integer",
                         "description": "用户ID",
                         "name": "userid",
-                        "in": "query",
-                        "required": true
+                        "in": "query"
                     },
                     {
                         "type": "string",
@@ -7787,6 +7797,12 @@
                         "name": "userid",
                         "in": "query",
                         "required": true
+                    },
+                    {
+                        "type": "integer",
+                        "description": "提货状态 1:备货中 2:待取货(自提) 3:已取货(自提) 4:待收货(邮寄) 5:已收货(邮寄) 6:自动收货(邮寄) 7:已拒绝 8:已撤销",
+                        "name": "takeorderstatus",
+                        "in": "query"
                     }
                 ],
                 "responses": {
@@ -21993,6 +22009,10 @@
                     "description": "风险级别 - 1:正常 2:追加货款 3:支付尾款",
                     "type": "integer"
                 },
+                "decimalplace": {
+                    "description": "商品报价小数位",
+                    "type": "integer"
+                },
                 "enumdicname": {
                     "description": "单位名称",
                     "type": "string"
@@ -22425,6 +22445,10 @@
                     "description": "创建时间",
                     "type": "string"
                 },
+                "decimalplace": {
+                    "description": "商品报价小数位",
+                    "type": "integer"
+                },
                 "goodscode": {
                     "description": "商品代码",
                     "type": "string"
@@ -22563,6 +22587,10 @@
         "models.QhjPickGoods": {
             "type": "object",
             "properties": {
+                "goodsid": {
+                    "description": "商品id",
+                    "type": "integer"
+                },
                 "imageaddress": {
                     "description": "图片",
                     "type": "string"
@@ -22603,6 +22631,10 @@
                     "description": "单位ID",
                     "type": "integer"
                 },
+                "pickupratio": {
+                    "description": "提货系数",
+                    "type": "number"
+                },
                 "preparedays": {
                     "description": "备货期(天)",
                     "type": "integer"
@@ -22636,6 +22668,10 @@
                     "description": "币种名称",
                     "type": "string"
                 },
+                "decimalplace": {
+                    "description": "商品报价小数位",
+                    "type": "integer"
+                },
                 "enumdicname": {
                     "description": "单位名称",
                     "type": "string"
@@ -22737,6 +22773,10 @@
                     "description": "币种名称",
                     "type": "string"
                 },
+                "decimalplace": {
+                    "description": "商品报价小数位",
+                    "type": "integer"
+                },
                 "enumdicname": {
                     "description": "单位名称",
                     "type": "string"
@@ -22850,10 +22890,22 @@
         "models.QhjReckonPriceLog": {
             "type": "object",
             "properties": {
+                "decimalplace": {
+                    "description": "商品报价小数位",
+                    "type": "integer"
+                },
+                "goodscode": {
+                    "description": "商品代码",
+                    "type": "string"
+                },
                 "goodsid": {
                     "description": "商品ID",
                     "type": "integer"
                 },
+                "goodsname": {
+                    "description": "商品名称",
+                    "type": "string"
+                },
                 "lastreckonprice": {
                     "description": "上日结算价",
                     "type": "number"
@@ -23056,6 +23108,10 @@
                     "description": "国家名称",
                     "type": "string"
                 },
+                "decimalplace": {
+                    "description": "商品报价小数位",
+                    "type": "integer"
+                },
                 "districtid": {
                     "description": "地区",
                     "type": "integer"
@@ -24782,6 +24838,10 @@
                     "description": "授信金额",
                     "type": "number"
                 },
+                "decimalplace": {
+                    "description": "商品报价小数位",
+                    "type": "integer"
+                },
                 "gcaccountid": {
                     "description": "账户ID[合约币种]",
                     "type": "integer"
@@ -25015,6 +25075,10 @@
                     "description": "平仓解冻手续费(先建后平操作,需要记录)",
                     "type": "number"
                 },
+                "decimalplace": {
+                    "description": "商品报价小数位",
+                    "type": "integer"
+                },
                 "delistingtype": {
                     "description": "摘牌类型 - 1:价格最优 2:点选成交",
                     "type": "integer"
@@ -25294,6 +25358,10 @@
                     "description": "授信金额",
                     "type": "number"
                 },
+                "decimalplace": {
+                    "description": "商品报价小数位",
+                    "type": "integer"
+                },
                 "gcaccountid": {
                     "description": "账户ID[合约币种]",
                     "type": "integer"
@@ -25496,6 +25564,10 @@
                     "description": "平仓解冻手续费(先建后平操作,需要记录)",
                     "type": "number"
                 },
+                "decimalplace": {
+                    "description": "商品报价小数位",
+                    "type": "integer"
+                },
                 "delistingtype": {
                     "description": "摘牌类型 - 1:价格最优 2:点选成交",
                     "type": "integer"

+ 56 - 3
docs/swagger.yaml

@@ -9528,6 +9528,9 @@ definitions:
       currisklevel:
         description: 风险级别 - 1:正常 2:追加货款 3:支付尾款
         type: integer
+      decimalplace:
+        description: 商品报价小数位
+        type: integer
       enumdicname:
         description: 单位名称
         type: string
@@ -9848,6 +9851,9 @@ definitions:
       createtime:
         description: 创建时间
         type: string
+      decimalplace:
+        description: 商品报价小数位
+        type: integer
       goodscode:
         description: 商品代码
         type: string
@@ -9950,6 +9956,9 @@ definitions:
     type: object
   models.QhjPickGoods:
     properties:
+      goodsid:
+        description: 商品id
+        type: integer
       imageaddress:
         description: 图片
         type: string
@@ -9980,6 +9989,9 @@ definitions:
       pickupgoodsunitid:
         description: 单位ID
         type: integer
+      pickupratio:
+        description: 提货系数
+        type: number
       preparedays:
         description: 备货期(天)
         type: integer
@@ -10004,6 +10016,9 @@ definitions:
       currencyname:
         description: 币种名称
         type: string
+      decimalplace:
+        description: 商品报价小数位
+        type: integer
       enumdicname:
         description: 单位名称
         type: string
@@ -10079,6 +10094,9 @@ definitions:
       currencyname:
         description: 币种名称
         type: string
+      decimalplace:
+        description: 商品报价小数位
+        type: integer
       enumdicname:
         description: 单位名称
         type: string
@@ -10163,9 +10181,18 @@ definitions:
     type: object
   models.QhjReckonPriceLog:
     properties:
+      decimalplace:
+        description: 商品报价小数位
+        type: integer
+      goodscode:
+        description: 商品代码
+        type: string
       goodsid:
         description: 商品ID
         type: integer
+      goodsname:
+        description: 商品名称
+        type: string
       lastreckonprice:
         description: 上日结算价
         type: number
@@ -10316,6 +10343,9 @@ definitions:
       countryname:
         description: 国家名称
         type: string
+      decimalplace:
+        description: 商品报价小数位
+        type: integer
       districtid:
         description: 地区
         type: integer
@@ -11590,6 +11620,9 @@ definitions:
       creditamount:
         description: 授信金额
         type: number
+      decimalplace:
+        description: 商品报价小数位
+        type: integer
       gcaccountid:
         description: 账户ID[合约币种]
         type: integer
@@ -11768,6 +11801,9 @@ definitions:
       closeunfreezecharge:
         description: 平仓解冻手续费(先建后平操作,需要记录)
         type: number
+      decimalplace:
+        description: 商品报价小数位
+        type: integer
       delistingtype:
         description: 摘牌类型 - 1:价格最优 2:点选成交
         type: integer
@@ -11986,6 +12022,9 @@ definitions:
       creditamount:
         description: 授信金额
         type: number
+      decimalplace:
+        description: 商品报价小数位
+        type: integer
       gcaccountid:
         description: 账户ID[合约币种]
         type: integer
@@ -12142,6 +12181,9 @@ definitions:
       closeunfreezecharge:
         description: 平仓解冻手续费(先建后平操作,需要记录)
         type: number
+      decimalplace:
+        description: 商品报价小数位
+        type: integer
       delistingtype:
         description: 摘牌类型 - 1:价格最优 2:点选成交
         type: integer
@@ -13788,6 +13830,10 @@ paths:
   /Common/QueryImageConfigs:
     get:
       parameters:
+      - description: 用户id
+        in: query
+        name: userId
+        type: integer
       - description: 类型 - 1:App首页轮播 2:我的
         in: query
         name: imageType
@@ -17960,7 +18006,6 @@ paths:
       - description: 用户ID
         in: query
         name: userid
-        required: true
         type: integer
       - description: scf合同id
         in: query
@@ -18194,6 +18239,11 @@ paths:
   /Qhj/QueryPickGoods:
     get:
       parameters:
+      - description: 交易商品id
+        in: query
+        name: goodsid
+        required: true
+        type: integer
       - description: 状态(可多选,逗号隔开) - 1:正常 2:停用 3:注销
         in: query
         name: status
@@ -18222,7 +18272,6 @@ paths:
       - description: 用户ID
         in: query
         name: userid
-        required: true
         type: integer
       - description: 定投策略id
         in: query
@@ -18252,7 +18301,6 @@ paths:
       - description: 用户ID
         in: query
         name: userid
-        required: true
         type: integer
       - description: 策略状态(可多选,逗号隔开) - 1:正常 2:暂停 3:终止
         in: query
@@ -18339,6 +18387,11 @@ paths:
         name: userid
         required: true
         type: integer
+      - description: 提货状态 1:备货中 2:待取货(自提) 3:已取货(自提) 4:待收货(邮寄) 5:已收货(邮寄) 6:自动收货(邮寄)
+          7:已拒绝 8:已撤销
+        in: query
+        name: takeorderstatus
+        type: integer
       produces:
       - application/json
       responses:

+ 5 - 1
models/common.go

@@ -4,6 +4,7 @@ import (
 	"errors"
 	"fmt"
 	"mtp2_if/db"
+	"mtp2_if/mtpcache"
 	"mtp2_if/utils"
 	"strconv"
 	"time"
@@ -696,11 +697,14 @@ func GetDivisions() ([]Division, error) {
 }
 
 // GetImageConfigs 获取轮播图配置信息
-func GetImageConfigs(imageType int) ([]Szdz2imageconfig, error) {
+func GetImageConfigs(userId int64, imageType int) ([]Szdz2imageconfig, error) {
 	engine := db.GetEngine()
 
 	imageConfigs := make([]Szdz2imageconfig, 0)
 	session := engine.Where("ISSHOW = 1")
+	if userId > 0 {
+		session = session.And("AREAUSERID = ?", mtpcache.GetAreaUserId(userId, 0))
+	}
 	if imageType > 0 {
 		session = session.And("IMAGETYPE = ?", imageType)
 	}

+ 86 - 6
models/qhj.go

@@ -16,6 +16,50 @@ import (
 
 // 大连千海金
 
+// QhjAreaRole 角色查询
+type QhjAreaRole struct {
+	FROMUSERID     int64  `json:"fromuserid"  xorm:"FROMUSERID"`         // 所属机构(组织机构)( OrgType = 1时为自己, = 2\3时取上级机构的所属机构)
+	SUBORGTYPE     int32  `json:"suborgtype"  xorm:"SUBORGTYPE"`         // 子机构类型(千海金) - 0:机构 1:代理 2:门店
+	USERID         int64  `json:"userid"  xorm:"USERID"`                 // 机构用户ID其他做市关系,都设置为 1
+	ROLETYPE       int32  `json:"roletype"  xorm:"ROLETYPE"`             // 角色类型 -  1:交易所 2:运营机构 3:营销中心 4:仓库机构 5:三方服务机构 6:自营会员 7:经纪会员 8:做市会员 9:产业会员 10:金融机构 11:商城店铺 12:子机构 13:报价商 14:积分服务商 15:供货商 16:圈内会员 17:物流机构 18:报价配置机构 19:场外期权做市商 20:组织机构 21:顶级机构 22:业务员 23:跟单员 24:交易员 25:客户      98:代理 99:门店
+	TRADEACCOUNTID int64  `json:"tradeaccountid"  xorm:"TRADEACCOUNTID"` // 默认交易资金账号ID(做市会员被动接单使用、商城店铺默认资金账 号、圈内会员默认资金账号)  - 作废, 使用UserReckonAccount
+	CREATETIME     string `json:"createtime"  xorm:"CREATETIME"`         // 创建时间
+	CREATORID      int64  `json:"creatorid"  xorm:"CREATORID"`           // 创建人ID
+	MODIFYTIME     string `json:"modifytime"  xorm:"MODIFYTIME"`         // 修改时间
+	MODIFIERID     int64  `json:"modifierid"  xorm:"MODIFIERID"`         // 修改人ID
+	SHOPPASSWORD   string `json:"shoppassword"  xorm:"SHOPPASSWORD"`     // 商城店铺登陆密码(商城店铺角色使用)
+	ISRETURNSCORE  int32  `json:"isreturnscore"  xorm:"ISRETURNSCORE"`   // 是否返还积分 [经纪会员-辽东湾] - 0:不返还 1:返还
+	TRANSURL       string `json:"transurl"  xorm:"TRANSURL"`             // 物流地址(物流机构)
+	OUTUSERID      string `json:"outuserid"  xorm:"OUTUSERID"`           // 外部账户[场外期权做市商]
+	PARENTUSERID   int64  `json:"parentuserid"  xorm:"PARENTUSERID"`     // 上级组织机构(组织机构)
+	ROOTUSERID     int64  `json:"rootuserid"  xorm:"ROOTUSERID"`         // 顶级组织机构用户ID(组织机构)
+	SUBLEVELPATH   string `json:"sublevelpath"  xorm:"SUBLEVELPATH"`     // 组织机构层级路径(逗号分隔,首尾加逗号)
+	ORGTYPE        int32  `json:"orgtype"  xorm:"ORGTYPE"`               // 组织机构类型 1:机构\分支节点 2:交易员\叶子节点 3:部门\分支节点
+}
+
+func (r *QhjAreaRole) calc() {
+
+}
+
+func (r *QhjAreaRole) buildSql() string {
+	var sqlId utils.SQLVal = "select * from arearole t"
+	sqlId.AndEx("t.USERID", r.USERID, r.USERID > 0)
+	sqlId.AndEx("t.ROLETYPE", r.ROLETYPE, r.ROLETYPE > 0)
+	sqlId.AndEx("t.SUBORGTYPE", r.SUBORGTYPE, r.SUBORGTYPE > 0)
+	sqlId.AndEx("t.FROMUSERID", r.FROMUSERID, r.FROMUSERID > 0)
+	return sqlId.String()
+}
+
+// GetDataEx 获取角色查询
+func (r *QhjAreaRole) GetData() ([]QhjAreaRole, error) {
+	sData := make([]QhjAreaRole, 0)
+	err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
+	for i := range sData {
+		sData[i].calc()
+	}
+	return sData, err
+}
+
 // QhjContract 千海金融资明细(合同)
 type QhjContract struct {
 	USERID              int64   `json:"userid"  xorm:"USERID"`                             // 用户ID
@@ -36,6 +80,7 @@ type QhjContract struct {
 	GOODUNITID          int32   `json:"goodunitid"  xorm:"'GOODUNITID'"`                   // 商品单位id
 	CURRISKLEVEL        int32   `json:"currisklevel"  xorm:"'CURRISKLEVEL'"`               // 风险级别 - 1:正常 2:追加货款 3:支付尾款
 	RECKONRECOVERMARGIN float64 `json:"reckonrecovermargin"  xorm:"'RECKONRECOVERMARGIN'"` // 结算应追缴保底金(结算时到过风险率时临时存储) - [仓单回购\仓单质押]
+	DECIMALPLACE        int32   `json:"decimalplace"  xorm:"'DECIMALPLACE'"`               // 商品报价小数位
 
 	PAYAMOUNT   float64 `json:"payamount"  xorm:"'PAYAMOUNT'"` // 已付(已付货款)
 	USERNAME    string  `json:"username"  xorm:"'USERNAME'"`   // 用户名称
@@ -67,6 +112,7 @@ func (r *QhjContract) buildSql() string {
 		"       s.reckonrecovermargin," +
 		"       g.goodscode," +
 		"       g.goodsname," +
+		"       g.decimalplace," +
 		"       g.goodunitid" +
 		"  from scf_contract t" +
 		"  left join scf_contractinfo s" +
@@ -74,7 +120,7 @@ func (r *QhjContract) buildSql() string {
 		"  left join goods g" +
 		"    on t.goodsid = g.goodsid" +
 		"  where 1=1"
-	sqlId.And("t.borroweruserid", r.USERID)
+	sqlId.AndEx("t.borroweruserid", r.USERID, r.USERID > 0)
 	sqlId.AndEx("t.SCFCONTRACTID", r.SCFCONTRACTID, len(r.SCFCONTRACTID) > 0)
 	return sqlId.String()
 }
@@ -157,6 +203,7 @@ type QhjRStrategy struct {
 	GOODSNAME               string  `json:"goodsname"  xorm:"'GOODSNAME'"`                           // 定投商品名称
 	GOODUNITID              int32   `json:"goodunitid"  xorm:"'GOODUNITID'"`                         // 定投商品单位id
 	CURRENCYID              int32   `json:"currencyid"  xorm:"'CURRENCYID'"`                         // 币种id
+	DECIMALPLACE            int32   `json:"decimalplace"  xorm:"'DECIMALPLACE'"`                     // 商品报价小数位
 
 	USERNAME     string `json:"username"`     // 用户名称(userid对应的名称)
 	ACCOUNTNAME  string `json:"accountname"`  // 账号名称(ACCOUNTID对应的名称)
@@ -198,13 +245,14 @@ func (r *QhjRStrategy) buildSql() string {
 		"       t.GOODSID," +
 		"       g.goodscode," +
 		"       g.goodsname," +
+		"       g.decimalplace," +
 		"       g.goodunitid," +
 		"       ta.accountname" +
 		"  FROM QHJ_REGULARLYSTRATEGY t" +
 		"  LEFT JOIN GOODS g on t.goodsid=g.goodsid" +
 		"  LEFT JOIN TAACCOUNT ta on t.accountid=ta.accountid" +
 		" WHERE 1 = 1"
-	sqlId.And("t.USERID", r.USERID)
+	sqlId.AndEx("t.USERID", r.USERID, r.USERID > 0)
 	sqlId.JoinEx(len(r.FilterStatus) > 0, fmt.Sprintf(" and t.REGULARLYSTRATEGYSTATUS in(%v)", r.FilterStatus))
 	return sqlId.String()
 }
@@ -241,6 +289,7 @@ type QhjRSTriggerLog struct {
 	GOODSNAME           string  `json:"goodsname"  xorm:"'GOODSNAME'"`                   // 定投商品名称
 	GOODUNITID          int32   `json:"goodunitid"  xorm:"'GOODUNITID'"`                 // 定投商品单位id
 	CURRENCYID          int32   `json:"currencyid"  xorm:"'CURRENCYID'"`                 // 币种id
+	DECIMALPLACE        int32   `json:"decimalplace"  xorm:"'DECIMALPLACE'"`             // 商品报价小数位
 
 	USERNAME     string `json:"username"`     // 用户名称(userid对应的名称)
 	ACCOUNTNAME  string `json:"accountname"`  // 账号名称(ACCOUNTID对应的名称)
@@ -273,6 +322,7 @@ func (r *QhjRSTriggerLog) buildSql() string {
 		"        t.RETCODE," +
 		"        g.goodscode," +
 		"        g.goodsname," +
+		"        g.decimalplace," +
 		"        g.goodunitid," +
 		"        ta.accountname," +
 		"        ta.currencyid" +
@@ -282,7 +332,7 @@ func (r *QhjRSTriggerLog) buildSql() string {
 		"   LEFT JOIN TAACCOUNT ta" +
 		"     on t.accountid = ta.accountid" +
 		"  WHERE 1 = 1"
-	sqlId.And("t.USERID", r.USERID)
+	sqlId.AndEx("t.USERID", r.USERID, r.USERID > 0)
 	sqlId.AndEx("t.REGULARLYSTRATEGYID", r.REGULARLYSTRATEGYID, r.REGULARLYSTRATEGYID > 0)
 	return sqlId.String()
 }
@@ -454,6 +504,7 @@ type QhjTradeGoodsPickup struct {
 	PICKUPGOODSUNITID    int32   `json:"pickupgoodsunitid"  xorm:"PICKUPGOODSUNITID"`       // 单位ID(提货商品)
 	GOODSNAME            string  `json:"goodsname"  xorm:"'GOODSNAME'"`                     // 商品名称
 	GOODSCODE            string  `json:"goodscode"  xorm:"'GOODSCODE'"`                     // 商品代码
+	DECIMALPLACE         int32   `json:"decimalplace"  xorm:"'DECIMALPLACE'"`               // 商品报价小数位
 
 	ENUMDICNAME   string `json:"enumdicname"`   // 单位名称(提货商品)
 	USERNAME      string `json:"username"`      // 用户名称
@@ -518,6 +569,7 @@ func (r *QhjTradeGoodsPickup) buildSql() string {
 		"       g.PICKUPGOODSNAME," +
 		"       g.PICKUPGOODSUNITID," +
 		"       g2.goodsname," +
+		"       g2.decimalplace," +
 		"       g2.goodscode" +
 		"  FROM TRADE_GOODSPICKUP t" +
 		"  LEFT JOIN TRADE_GOODSPICKUPDETAIL k" +
@@ -529,7 +581,23 @@ func (r *QhjTradeGoodsPickup) buildSql() string {
 		"  LEFT JOIN USERINFO u" +
 		"    on t.storeuserid = u.userid" +
 		" WHERE 1 = 1"
-	sqlId.And("t.USERID", r.USERID)
+	// 获取角色=20组织的角色数据, 判断机构类型
+	m := QhjAreaRole{USERID: r.USERID, ROLETYPE: 20}
+	d, _ := m.GetData()
+	if len(d) > 0 {
+		v := d[0]
+		if v.SUBORGTYPE == 0 {
+			// 机构(企业) 查所有, 即不过淲userid
+		} else if v.SUBORGTYPE == 2 {
+			// 门店查询
+			sqlId.And("t.storeuserid", r.USERID)
+		} else {
+			sqlId.And("t.USERID", r.USERID)
+		}
+	} else {
+		sqlId.And("t.USERID", r.USERID)
+	}
+	sqlId.AndEx("t.TAKEORDERSTATUS", r.TAKEORDERSTATUS, r.TAKEORDERSTATUS > 0)
 	return sqlId.String()
 }
 
@@ -557,6 +625,8 @@ type QhjPickGoods struct {
 	UPDATETIME           string  `json:"updatetime"  xorm:"UPDATETIME"`                     // 更新时间
 	PREPAREDAYS          int32   `json:"preparedays"  xorm:"PREPAREDAYS"`                   // 备货期(天)
 	PICKUPGOODSSTATUS    int32   `json:"pickupgoodsstatus"  xorm:"PICKUPGOODSSTATUS"`       // 状态 - 1:正常 2:停用 3:注销
+	GOODSID              int32   `json:"goodsid"  xorm:"'GOODSID'"`                         // 商品id
+	PICKUPRATIO          float64 `json:"pickupratio"  xorm:"'PICKUPRATIO'"`                 // 提货系数
 
 	MODIFIERNAME string `json:"modifiername"` // 修改人名称
 	FilterStatus string `json:"-"`            // 状态过淲
@@ -585,9 +655,13 @@ func (r *QhjPickGoods) buildSql() string {
 		"       t.MODIFIERID," +
 		"       to_char(t.UPDATETIME, 'yyyy-mm-dd hh24:mi:ss') UPDATETIME," +
 		"       t.PREPAREDAYS," +
-		"       t.PICKUPGOODSSTATUS" +
+		"       t.PICKUPGOODSSTATUS," +
+		"       c.goodsid," +
+		"       c.pickupratio" +
 		"  FROM PICKUPGOODS t" +
+		"  INNER JOIN GOODSPICKUPCONFIG c on t.pickupgoodsid=c.pickupgoodsid" +
 		" WHERE 1 = 1"
+	sqlId.AndEx("c.goodsid", r.GOODSID, r.GOODSID > 0)
 	if len(r.FilterStatus) > 0 {
 		sqlId.Join(fmt.Sprintf(" and t.PICKUPGOODSSTATUS in(%v)", r.FilterStatus))
 	}
@@ -831,6 +905,9 @@ type QhjReckonPriceLog struct {
 	NEXTTRADE        string  `json:"nexttrade"  xorm:"NEXTTRADE"`                  // 下个交易日
 	RECKONTIME       string  `json:"reckontime"  xorm:"RECKONTIME"`                // 结算时间
 	TRADEDATE        string  `json:"tradedate"  xorm:"TRADEDATE" form:"tradedate"` // 交易日
+	GOODSNAME        string  `json:"goodsname"  xorm:"'GOODSNAME'"`                // 商品名称
+	GOODSCODE        string  `json:"goodscode"  xorm:"'GOODSCODE'"`                // 商品代码
+	DECIMALPLACE     int32   `json:"decimalplace"  xorm:"'DECIMALPLACE'"`          // 商品报价小数位
 }
 
 func (r *QhjReckonPriceLog) calc() {
@@ -854,6 +931,7 @@ func (r *QhjReckonPriceLog) buildSql() string {
 		"       t.TOTALHOLDERQTY," +
 		"       t.TOTALSTOCK," +
 		"       g.goodsname," +
+		"       g.decimalplace," +
 		"       g.goodscode" +
 		"  FROM RECKON_PRICELOG t" +
 		"  LEFT JOIN GOODS g on t.goodsid=g.goodsid" +
@@ -993,7 +1071,7 @@ func (r *QhjCustomer) buildSqlWskh() string {
 		"          from wskh_userinfo t" +
 		"         start with t.areaid = %v" +
 		"        connect by prior t.userid = t.areaid" +
-		"               and t.usertype = 6" +
+		"               and t.usertype in(2,6)" +
 		"               and level <= %v) a" +
 		"  left join tmp k" +
 		"    on a.userid = k.userid" +
@@ -1470,6 +1548,7 @@ type QhjPayOrder struct {
 	PAYAMOUNT      float64 `json:"payamount"  xorm:"PAYAMOUNT"`           // 支付金额=TradeAmount + TradeCharge
 	GOODSCODE      string  `json:"goodscode"  xorm:"'GOODSCODE'"`         // 商品代码
 	GOODSNAME      string  `json:"goodsname"  xorm:"'GOODSNAME'"`         // 商品名称
+	DECIMALPLACE   int32   `json:"decimalplace"  xorm:"'DECIMALPLACE'"`   // 商品报价小数位
 }
 
 func (r *QhjPayOrder) calc() {
@@ -1497,6 +1576,7 @@ func (r *QhjPayOrder) buildSql() string {
 		"       t.TRADEQTY," +
 		"       t.PAYAMOUNT," +
 		"       g.goodscode," +
+		"       g.decimalplace," +
 		"       g.goodsname" +
 		"  FROM TRADE_PAYORDER t" +
 		"  LEFT JOIN GOODS g on t.goodsid=g.goodsid" +

+ 9 - 19
mtpcache/useraccount.go

@@ -165,29 +165,19 @@ func GetUserNameAndNickName(userId int64) (string, string) {
 
 // GetAreaUserId 获取所属机构id
 func GetAreaUserId(userId int64, userType int32) (areaUserId int64) {
+	_ = userType
 	if userId == 0 {
 		return userId
 	}
-	if userType == 2 {
-		areaUserId = userId
+	areaUserId = userId
+	if v, ok := vUsrMgr.getData(userId); ok {
+		areaUserId = v.ROOTUSERID
+		return
 	} else {
-		if v, ok := vUsrMgr.getData(userId); ok {
-			if v.USERTYPE == 2 {
-				areaUserId = v.USERID
-			} else {
-				areaUserId = v.ROOTUSERID
-			}
-			return
-		} else {
-			vUsrMgr.load(userId)
-		}
-		if v, ok := vUsrMgr.getData(userId); ok {
-			if v.USERTYPE == 2 {
-				areaUserId = v.USERID
-			} else {
-				areaUserId = v.ROOTUSERID
-			}
-		}
+		vUsrMgr.load(userId)
+	}
+	if v, ok := vUsrMgr.getData(userId); ok {
+		areaUserId = v.ROOTUSERID
 	}
 	return
 }