Forráskód Böngészése

增加腾讯云银行卡四要素核验接口

zhouxnsz 1 éve
szülő
commit
97ad988da0

+ 53 - 9
config/config.go

@@ -86,15 +86,23 @@ type AsignConfig struct {
 }
 
 type ServiceConfig struct {
-	WebCfg     WebConfig
-	LogCfg     LogConfig
-	DbCfg      DbConfig
-	RedisCfg   RedisConfig
-	MqCfg      MqConfig
-	MongoDBCfg MongoDBConfig
-	MySQLCfg   MySQLConfig
-	TencentCfg TencentConfig
-	AsignCfg   AsignConfig
+	WebCfg          WebConfig
+	LogCfg          LogConfig
+	DbCfg           DbConfig
+	RedisCfg        RedisConfig
+	MqCfg           MqConfig
+	MongoDBCfg      MongoDBConfig
+	MySQLCfg        MySQLConfig
+	TencentCfg      TencentConfig
+	AsignCfg        AsignConfig
+	TencentCloudCfg TencentCloudConfig
+}
+
+type TencentCloudConfig struct {
+	Enabled        int
+	SecretId       string
+	SecretKey      string
+	FaceIdEndPoint string
 }
 
 func (c *ServiceConfig) Init(path string) error {
@@ -461,6 +469,42 @@ func (c *ServiceConfig) Init(path string) error {
 		SerCfg.TencentCfg.SignKey = signKey.SelectAttrValue("value", "")
 	}
 
+	// Tencent配置
+	tencentCloudsettings := root.SelectElements("TencentCloud")
+	for _, setting := range tencentCloudsettings {
+		// 启用标志
+		enabled := setting.SelectElement("Enabled")
+		if enabled == nil {
+			return errors.New("read tencent enabled failed")
+		}
+		ret, err := strconv.ParseUint(enabled.SelectAttrValue("value", "0"), 10, 32)
+		if err != nil {
+			return errors.New("read tencent enabled failed")
+		}
+		SerCfg.TencentCloudCfg.Enabled = int(ret)
+
+		// 密钥ID
+		secretId := setting.SelectElement("SecretId")
+		if secretId == nil {
+			return errors.New("read tencent SecretId failed")
+		}
+		SerCfg.TencentCloudCfg.SecretId = secretId.SelectAttrValue("value", "")
+
+		// 密钥key
+		secretKey := setting.SelectElement("SecretKey")
+		if secretKey == nil {
+			return errors.New("read tencent SecretKey failed")
+		}
+		SerCfg.TencentCloudCfg.SecretKey = secretKey.SelectAttrValue("value", "")
+
+		// EndPoint API域名
+		endPoint := setting.SelectElement("FaceIdEndPoint")
+		if endPoint == nil {
+			return errors.New("read tencent EndPoint failed")
+		}
+		SerCfg.TencentCloudCfg.FaceIdEndPoint = endPoint.SelectAttrValue("value", "")
+	}
+
 	// 爱签配置
 	asignsettings := root.SelectElements("Asign")
 	for _, setting := range asignsettings {

+ 6 - 0
config/config.xml

@@ -69,4 +69,10 @@
     <OpenApiUrl value="http://192.168.31.136:5015/mtp2-onlineopen"/>
     <Account value="EX_LEGAL"/>
   </Asign>
+  <TencentCloud>
+    <Enabled value="1"/>
+    <SecretId value="AKIDPktwvneP2WqxvmWFsMclmfLLKDyrbAXp"/>
+    <SecretKey value="GNH9tX8c6Wls02vhNzUvdLuGMYfeVErM"/>
+    <FaceIdEndPoint value="faceid.tencentcloudapi.com"/>
+  </TencentCloud>
 </Configuration>

+ 2 - 2
controllers/bank/bank.go

@@ -35,7 +35,7 @@ func QueryBankCusBankExtendConfigs(c *gin.Context) {
 // @Param    page       query    int    false "页码"
 // @Param    pagesize   query    int    false "每页条数"
 // @Success  200        {array}  models.Bankbranchnuminfo
-// @Failure  500         {object} app.Response
+// @Failure  500 {object} app.Response
 // @Router   /Bank/QueryBankBranChnumInfo [get]
 // @Tags     银行
 func QueryBankBranChnumInfo(c *gin.Context) {
@@ -59,7 +59,7 @@ type GetAmtInByPaidUrlReq struct {
 // @Param    exchticket  query    string true  "银行服务流水号"
 // @Param    channelmode query    string false "渠道类型:ChillPay,PayerMax,AsiaPay"
 // @Success  200         {object} models.GetAmtInByPaidUrlRsp
-// @Failure  500 {object} app.Response
+// @Failure  500         {object} app.Response
 // @Router   /Bank/GetAmtInByPaidUrl [get]
 // @Tags     银行
 func GetAmtInByPaidUrl(c *gin.Context) {

+ 4 - 4
controllers/guangzuan/tradeService.go

@@ -18,8 +18,8 @@ import (
 // @Security Group
 // @Param    userid   query    int    true  "用户ID"
 // @Param    executestatus query    int false "执行状态 - 1:未生效 2:进行中 3:已结束"
-// @Param    page          query    int false "页码"
-// @Param    pagesize      query    int false "每页条数"
+// @Param    page     query    int    false "页码"
+// @Param    pagesize query    int    false "每页条数"
 // @Success  200           {array}  models.GzcjjcorderM
 // @Failure  500     {object} app.Response
 // @Router   /Guangzuan/QueryGZCJJCOrder [get]
@@ -39,8 +39,8 @@ func QueryGZCJJCOrder(c *gin.Context) {
 // @Security Group
 // @Param    userid        query    int true  "用户ID"
 // @Param    orderid  query    string false "单据ID"
-// @Param    page     query    int    false "页码"
-// @Param    pagesize query    int    false "每页条数"
+// @Param    page          query    int false "页码"
+// @Param    pagesize      query    int false "每页条数"
 // @Success  200      {array}  models.GzcjjcorderdetailM
 // @Failure  500           {object} app.Response
 // @Router   /Guangzuan/QueryGZCJJCOrderDetail [get]

+ 40 - 0
controllers/tencent-cloud/auth.go

@@ -0,0 +1,40 @@
+package tencetcloud
+
+import (
+	"mtp2_if/global/app"
+	"mtp2_if/global/e"
+	"mtp2_if/logger"
+	asignService "mtp2_if/services/asign"
+	tencentCloudService "mtp2_if/services/tencent-cloud"
+	"net/http"
+
+	"github.com/gin-gonic/gin"
+)
+
+// BankCard4 银行卡四要素认证
+// @Summary  银行卡四要素认证
+// @Produce  json
+// @Security ApiKeyAuth
+// @accept   application/json
+// @Param    data body     asignService.BankCard4Req true "入参"
+// @Success  200  {object} asignService.BankCard4Rsp
+// @Failure  500  {object} tencentCloudService.BankCard4Rsp
+// @Router   /TencentCloud/BankCard4 [post]
+// @Tags     腾讯云
+func BankCard4(c *gin.Context) {
+	appG := app.Gin{C: c}
+
+	// 获取请求参数
+	var req asignService.BankCard4Req
+	if err := appG.C.ShouldBindJSON(&req); err != nil {
+		logger.GetLogger().Errorf(err.Error())
+		appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
+		return
+	}
+
+	if rsp, err := tencentCloudService.BankCard4EVerification(req); err == nil {
+		appG.Response(http.StatusOK, e.SUCCESS, rsp)
+	} else {
+		appG.ResponseByMsg(http.StatusBadRequest, e.ERROR, err.Error(), nil)
+	}
+}

+ 144 - 167
docs/docs.go

@@ -19472,6 +19472,50 @@ const docTemplate = `{
                 }
             }
         },
+        "/TencentCloud/BankCard4": {
+            "post": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "腾讯云"
+                ],
+                "summary": "银行卡四要素认证",
+                "parameters": [
+                    {
+                        "description": "入参",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/asign.BankCard4Req"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "OK",
+                        "schema": {
+                            "$ref": "#/definitions/asign.BankCard4Rsp"
+                        }
+                    },
+                    "500": {
+                        "description": "Internal Server Error",
+                        "schema": {
+                            "$ref": "#/definitions/tencentcloud.BankCard4Rsp"
+                        }
+                    }
+                }
+            }
+        },
         "/Tjmd/QueryQuoteGoodsList": {
             "get": {
                 "security": [
@@ -24285,11 +24329,7 @@ const docTemplate = `{
                 },
                 "fillData": {
                     "description": "单行文本、多行文本、日期、身份证类型参数填充。",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/asign.APIFillData"
-                        }
-                    ]
+                    "$ref": "#/definitions/asign.APIFillData"
                 },
                 "tableDatas": {
                     "description": "表格填充数据",
@@ -24333,19 +24373,11 @@ const docTemplate = `{
             "properties": {
                 "company": {
                     "description": "企业法人银行卡四要素,实体类型为企业时必填",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/asign.CompanyBankCard4"
-                        }
-                    ]
+                    "$ref": "#/definitions/asign.CompanyBankCard4"
                 },
                 "person": {
                     "description": "个人银行卡四要素,实体类型为个人时必填",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/asign.PersonBankCard4"
-                        }
-                    ]
+                    "$ref": "#/definitions/asign.PersonBankCard4"
                 },
                 "type": {
                     "description": "实体类型 1:个人 2:企业",
@@ -24865,11 +24897,7 @@ const docTemplate = `{
                 },
                 "province": {
                     "description": "省",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/models.Division"
-                        }
-                    ]
+                    "$ref": "#/definitions/models.Division"
                 }
             }
         },
@@ -26271,7 +26299,7 @@ const docTemplate = `{
             "type": "object",
             "properties": {
                 "amount": {
-                    "description": "点价金额=(点价价格+升贴水)*点价数量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "applyid": {
@@ -26855,7 +26883,7 @@ const docTemplate = `{
                     "type": "integer"
                 },
                 "deductamount": {
-                    "description": "退款(非必填)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "deliverygoodscode": {
@@ -26895,7 +26923,7 @@ const docTemplate = `{
                     "type": "integer"
                 },
                 "payamount": {
-                    "description": "收付款(非必填)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "pricemove": {
@@ -27062,11 +27090,7 @@ const docTemplate = `{
                 },
                 "mg": {
                     "description": "套保品种基本信息",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/models.ErmcpMiddleGoodsModel"
-                        }
-                    ]
+                    "$ref": "#/definitions/models.ErmcpMiddleGoodsModel"
                 },
                 "wrcList": {
                     "description": "现货品种列表(现货商品折算配置)",
@@ -27663,31 +27687,31 @@ const docTemplate = `{
                     "type": "number"
                 },
                 "diffArbitrageQty": {
-                    "description": "套利变动量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "diffExposoureQty": {
-                    "description": "变动量(套保敞口)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "diffFutuQty": {
-                    "description": "变动量(期货总量) 平安:保值净持仓量今日变动",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "diffHedgeQty": {
-                    "description": "套保变动量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "diffQty": {
-                    "description": "变动量(总敞口) 平安:净敞口今日变动",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "diffSpotHedgeQty": {
-                    "description": "变动量(现货应套保总量) 平安:应套保量今日变动",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "diffSpotQty": {
-                    "description": "变动量(现货总量) = 现货数量 - 期初现货数量 平安:采销定价净值今日变动",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "enumdicname": {
@@ -29302,11 +29326,7 @@ const docTemplate = `{
                 },
                 "ouruser": {
                     "description": "我方账号",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/erms3.CustomerInfo"
-                        }
-                    ]
+                    "$ref": "#/definitions/erms3.CustomerInfo"
                 },
                 "warehouseinfos": {
                     "description": "仓库信息列表",
@@ -29641,11 +29661,7 @@ const docTemplate = `{
                 },
                 "province": {
                     "description": "省",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/models.Division"
-                        }
-                    ]
+                    "$ref": "#/definitions/models.Division"
                 }
             }
         },
@@ -31660,7 +31676,7 @@ const docTemplate = `{
                     "type": "number"
                 },
                 "curaverageprice": {
-                    "description": "期均价",
+                    "description": "期均价",
                     "type": "number"
                 },
                 "curbuyamount": {
@@ -31672,7 +31688,7 @@ const docTemplate = `{
                     "type": "number"
                 },
                 "curmarketvalue": {
-                    "description": "参考市值(期末市值)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "curqty": {
@@ -31696,7 +31712,7 @@ const docTemplate = `{
                     "type": "number"
                 },
                 "curspotprice": {
-                    "description": "参考市价(最新价)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "cycletime": {
@@ -31728,7 +31744,7 @@ const docTemplate = `{
                     "type": "string"
                 },
                 "floatpl": {
-                    "description": "浮动损益",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "goodsunitid": {
@@ -31776,7 +31792,7 @@ const docTemplate = `{
                     "type": "number"
                 },
                 "todaybuyaverageprice": {
-                    "description": "今日采购均价",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "todaybuyqty": {
@@ -31796,7 +31812,7 @@ const docTemplate = `{
                     "type": "number"
                 },
                 "todaysellaverageprice": {
-                    "description": "今日销售均价",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "todaysellqty": {
@@ -34728,7 +34744,7 @@ const docTemplate = `{
                     "type": "integer"
                 },
                 "convertratio": {
-                    "description": "折算系数",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "cycletime": {
@@ -34752,11 +34768,11 @@ const docTemplate = `{
                     "type": "string"
                 },
                 "diffprice": {
-                    "description": "现期价格差 = 今日点价登记均价(基价) - 今日期货成交均价",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "diffqty": {
-                    "description": "期现数量差 = 套保计划量 - 今日期货关联成交量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "enddate": {
@@ -34764,7 +34780,7 @@ const docTemplate = `{
                     "type": "string"
                 },
                 "hedgeplanqty": {
-                    "description": "套保计划量 = TodayPricedQty * 折算系数 * (1/(1+增值税率)) * 套保比例",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "matchname": {
@@ -34788,31 +34804,31 @@ const docTemplate = `{
                     "type": "string"
                 },
                 "middlegoodspricedqty": {
-                    "description": "已定价量(套保品种 - 税前) = PricedQty * 折算系数",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "middlegoodspricedqty2": {
-                    "description": "已定价量(套保品种- 税后) = MiddleGoodsPricedQty * (1/(1+增值税率))",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "middlegoodspricedqty3": {
-                    "description": "已定价量(套保品种应套保量) = MiddleGoodsPricedQty2 *  套保比率",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "needhedgeratio": {
-                    "description": "套保系数",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "pricedamount": {
-                    "description": "已定价额(现货)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "pricedamount2": {
-                    "description": "已定价额(现货-基价额)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "pricedqty": {
-                    "description": "已定价量(现货)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "reckondate": {
@@ -34820,11 +34836,11 @@ const docTemplate = `{
                     "type": "string"
                 },
                 "relatedmiddlegoodsamount": {
-                    "description": "已关联额(期货)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "relatedmiddlegoodsqty": {
-                    "description": "已关联量(套保品种)(期货)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "spotcontractid": {
@@ -34832,39 +34848,39 @@ const docTemplate = `{
                     "type": "string"
                 },
                 "todayavgfutuprice": {
-                    "description": "今日期货成交均价 = TodayRelatedMiddleGoodsAmount /todayrelatedfutureqty",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "todayavgprice": {
-                    "description": "今日定价均价 = TodayPricedAmount / TodayPricedQty",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "todayavgprice2": {
-                    "description": "今日点价登记均价(基价) = TodayPricedAmount2 / TodayPricedQty",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "todaypricedamount": {
-                    "description": "今日定价额(现货)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "todaypricedamount2": {
-                    "description": "今日定价额(现货-基价额)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "todaypricedqty": {
-                    "description": "今日定价量(现货)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "todayrelatedfutureqty": {
-                    "description": "今日关联量(期货)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "todayrelatedmiddlegoodsamount": {
-                    "description": "今日关联额(期货)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "todayrelatedmiddlegoodsqty": {
-                    "description": "今日关联量(套保品-期货)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "updatetime": {
@@ -34876,7 +34892,7 @@ const docTemplate = `{
                     "type": "integer"
                 },
                 "vatrate": {
-                    "description": "增值税率",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "wrstandardcode": {
@@ -35425,7 +35441,7 @@ const docTemplate = `{
                     "type": "number"
                 },
                 "closeavgprice": {
-                    "description": "平仓均价",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "closepl": {
@@ -35493,7 +35509,7 @@ const docTemplate = `{
                     "type": "number"
                 },
                 "holdqty": {
-                    "description": "期末持仓量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "lastholdamount": {
@@ -35525,7 +35541,7 @@ const docTemplate = `{
                     "type": "number"
                 },
                 "openavgprice": {
-                    "description": "开仓均价",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "oriholdamount": {
@@ -35533,7 +35549,7 @@ const docTemplate = `{
                     "type": "number"
                 },
                 "oriholdqty": {
-                    "description": "期初持仓量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "oriopenamount": {
@@ -35577,7 +35593,7 @@ const docTemplate = `{
                     "type": "number"
                 },
                 "todaycloseqty": {
-                    "description": "今平仓量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "todaygoodsgroupspotqty": {
@@ -35593,7 +35609,7 @@ const docTemplate = `{
                     "type": "number"
                 },
                 "todayopenqty": {
-                    "description": "今开仓量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "userid": {
@@ -37367,11 +37383,7 @@ const docTemplate = `{
             "properties": {
                 "menu": {
                     "description": "父级菜单",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/models.ErmcpRoleMenu"
-                        }
-                    ]
+                    "$ref": "#/definitions/models.ErmcpRoleMenu"
                 },
                 "subMenu": {
                     "description": "子级菜单",
@@ -37677,11 +37689,7 @@ const docTemplate = `{
             "properties": {
                 "mainAcc": {
                     "description": "主账号",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/models.ErmcpTaAccountM"
-                        }
-                    ]
+                    "$ref": "#/definitions/models.ErmcpTaAccountM"
                 },
                 "subacclist": {
                     "description": "子账号列表",
@@ -39851,11 +39859,7 @@ const docTemplate = `{
             "properties": {
                 "riskRatioType": {
                     "description": "风险率类型表",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/models.Riskratiotype"
-                        }
-                    ]
+                    "$ref": "#/definitions/models.Riskratiotype"
                 },
                 "todayAccountMargins": {
                     "description": "今日账户保证金表",
@@ -53092,11 +53096,7 @@ const docTemplate = `{
                 },
                 "tHDetailEx": {
                     "description": "交易持仓扩展表记录",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/models.TradeHolderDetailEx"
-                        }
-                    ]
+                    "$ref": "#/definitions/models.TradeHolderDetailEx"
                 },
                 "thumurls": {
                     "description": "缩略图片(1:1)(逗号分隔)",
@@ -55168,11 +55168,7 @@ const docTemplate = `{
             "properties": {
                 "goodsinfo": {
                     "description": "商品信息",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/models.THJWrstandardDetail_GoodsInfo"
-                        }
-                    ]
+                    "$ref": "#/definitions/models.THJWrstandardDetail_GoodsInfo"
                 },
                 "spotgoodspricelogs": {
                     "description": "历史价格走势",
@@ -55306,11 +55302,7 @@ const docTemplate = `{
                 },
                 "goodsinfo": {
                     "description": "商品信息",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/models.THJPurchaseTradeDetail_Goodsinfo"
-                        }
-                    ]
+                    "$ref": "#/definitions/models.THJPurchaseTradeDetail_Goodsinfo"
                 },
                 "spotgoodspricelogs": {
                     "description": "历史价格走势",
@@ -55607,11 +55599,7 @@ const docTemplate = `{
                 },
                 "goodsinfo": {
                     "description": "商品信息",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/models.THJWrstandardDetail_GoodsInfo"
-                        }
-                    ]
+                    "$ref": "#/definitions/models.THJWrstandardDetail_GoodsInfo"
                 },
                 "presaleapplydeposits": {
                     "description": "支付方式",
@@ -57054,11 +57042,7 @@ const docTemplate = `{
                 },
                 "infoc": {
                     "description": "配置参数",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/pb.GoodsMarginCfgStruct"
-                        }
-                    ]
+                    "$ref": "#/definitions/pb.GoodsMarginCfgStruct"
                 },
                 "marketid": {
                     "description": "市场ID",
@@ -57090,7 +57074,7 @@ const docTemplate = `{
                     "type": "string"
                 },
                 "orderprice": {
-                    "description": "委托价格",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "orderqty": {
@@ -57159,7 +57143,7 @@ const docTemplate = `{
                     "type": "integer"
                 },
                 "qty": {
-                    "description": "转让数量(数量)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "tradeid": {
@@ -57634,7 +57618,7 @@ const docTemplate = `{
                     "type": "integer"
                 },
                 "freezeqty": {
-                    "description": "冻结数量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "goodscode": {
@@ -57670,7 +57654,7 @@ const docTemplate = `{
                     "type": "number"
                 },
                 "holderqty": {
-                    "description": "持仓数量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "isconfirmexercise": {
@@ -57694,7 +57678,7 @@ const docTemplate = `{
                     "type": "number"
                 },
                 "openqty": {
-                    "description": "建仓数量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "optiontype": {
@@ -59251,7 +59235,7 @@ const docTemplate = `{
                     "type": "string"
                 },
                 "fixedprice": {
-                    "description": "挂牌价格",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "handlestatus": {
@@ -59259,7 +59243,7 @@ const docTemplate = `{
                     "type": "integer"
                 },
                 "marginvalue": {
-                    "description": "履约保证金比例",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "marketid": {
@@ -59441,7 +59425,7 @@ const docTemplate = `{
             "type": "object",
             "properties": {
                 "averageprice": {
-                    "description": "成交均价",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "tradedate": {
@@ -59699,7 +59683,7 @@ const docTemplate = `{
                     "type": "integer"
                 },
                 "averageprice": {
-                    "description": "交割均价 = 交割金额 / 交割数量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "begindate": {
@@ -59823,7 +59807,7 @@ const docTemplate = `{
                     "type": "number"
                 },
                 "xgoodsamount": {
-                    "description": "合约金额 = 货款金额(DELIVERYAMOUNT) - 点价货款(P1GOODSREMAINAMOUNT)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "xgoodscode": {
@@ -60711,7 +60695,7 @@ const docTemplate = `{
                     "type": "string"
                 },
                 "stepvalue": {
-                    "description": "步骤值",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "templateid": {
@@ -61022,7 +61006,7 @@ const docTemplate = `{
                     "type": "integer"
                 },
                 "amount": {
-                    "description": "挂牌金额 = 委托数量 * 固定价或升贴水",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "bannerpicurl": {
@@ -61082,11 +61066,11 @@ const docTemplate = `{
                     "type": "number"
                 },
                 "freezecharge": {
-                    "description": "冻结手续费",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "freezemargin": {
-                    "description": "冻结保证金(保证金)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "futupricemove": {
@@ -61122,7 +61106,7 @@ const docTemplate = `{
                     "type": "string"
                 },
                 "marginvalue": {
-                    "description": "保证金设置值(履约保证金)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "marketid": {
@@ -61364,7 +61348,7 @@ const docTemplate = `{
                     "type": "integer"
                 },
                 "delistminqty": {
-                    "description": "起摘数量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "deliverymonth": {
@@ -61785,7 +61769,7 @@ const docTemplate = `{
                     "type": "string"
                 },
                 "unpaidamount": {
-                    "description": "剩余款(待支付金额)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "userid": {
@@ -62332,7 +62316,7 @@ const docTemplate = `{
                     "type": "integer"
                 },
                 "delistminqty": {
-                    "description": "起摘数量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "deliverygoodscode": {
@@ -62469,11 +62453,11 @@ const docTemplate = `{
                     "type": "string"
                 },
                 "tradeamount": {
-                    "description": "日成交金额(当日单方向成交金额)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "tradeqty": {
-                    "description": "日成交数量(当日单方向成交数量)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "wrstandardid": {
@@ -62642,7 +62626,7 @@ const docTemplate = `{
                     "type": "number"
                 },
                 "unpaidinterest": {
-                    "description": "未结费用",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "updatetime": {
@@ -63234,7 +63218,7 @@ const docTemplate = `{
                     "type": "string"
                 },
                 "orderprice": {
-                    "description": "委托价格",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "orderqty": {
@@ -66528,19 +66512,11 @@ const docTemplate = `{
             "properties": {
                 "organizationInfo": {
                     "description": "签署企业信息,用户类型为企业时必填",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/tencent.OrganizationInfo"
-                        }
-                    ]
+                    "$ref": "#/definitions/tencent.OrganizationInfo"
                 },
                 "personInfo": {
                     "description": "签署人信息,用户类型为个人时必填",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/tencent.PersonInfo"
-                        }
-                    ]
+                    "$ref": "#/definitions/tencent.PersonInfo"
                 },
                 "userESignRecordID": {
                     "description": "用户电子签记录表ID 只有当前状态是1和4的电子签记录才能发起合同签署",
@@ -66612,6 +66588,19 @@ const docTemplate = `{
                 }
             }
         },
+        "tencentcloud.BankCard4Rsp": {
+            "type": "object",
+            "properties": {
+                "code": {
+                    "description": "结果码 '0': '认证通过'; 非'0'表示认证失败",
+                    "type": "string"
+                },
+                "description": {
+                    "description": "业务结果描述。",
+                    "type": "string"
+                }
+            }
+        },
         "trade.QueryRecieptOrderRsp": {
             "type": "object",
             "required": [
@@ -66697,11 +66686,7 @@ const docTemplate = `{
                 },
                 "loginAccount": {
                     "description": "登录账号",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/models.Loginaccount"
-                        }
-                    ]
+                    "$ref": "#/definitions/models.Loginaccount"
                 },
                 "markets": {
                     "description": "市场",
@@ -66719,19 +66704,11 @@ const docTemplate = `{
                 },
                 "userAccount": {
                     "description": "用户账号",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/models.Useraccount"
-                        }
-                    ]
+                    "$ref": "#/definitions/models.Useraccount"
                 },
                 "userInfo": {
                     "description": "用户信息",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/models.Userinfo"
-                        }
-                    ]
+                    "$ref": "#/definitions/models.Userinfo"
                 },
                 "username": {
                     "description": "用户姓名",

+ 144 - 167
docs/swagger.json

@@ -19463,6 +19463,50 @@
                 }
             }
         },
+        "/TencentCloud/BankCard4": {
+            "post": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "腾讯云"
+                ],
+                "summary": "银行卡四要素认证",
+                "parameters": [
+                    {
+                        "description": "入参",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/asign.BankCard4Req"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "OK",
+                        "schema": {
+                            "$ref": "#/definitions/asign.BankCard4Rsp"
+                        }
+                    },
+                    "500": {
+                        "description": "Internal Server Error",
+                        "schema": {
+                            "$ref": "#/definitions/tencentcloud.BankCard4Rsp"
+                        }
+                    }
+                }
+            }
+        },
         "/Tjmd/QueryQuoteGoodsList": {
             "get": {
                 "security": [
@@ -24276,11 +24320,7 @@
                 },
                 "fillData": {
                     "description": "单行文本、多行文本、日期、身份证类型参数填充。",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/asign.APIFillData"
-                        }
-                    ]
+                    "$ref": "#/definitions/asign.APIFillData"
                 },
                 "tableDatas": {
                     "description": "表格填充数据",
@@ -24324,19 +24364,11 @@
             "properties": {
                 "company": {
                     "description": "企业法人银行卡四要素,实体类型为企业时必填",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/asign.CompanyBankCard4"
-                        }
-                    ]
+                    "$ref": "#/definitions/asign.CompanyBankCard4"
                 },
                 "person": {
                     "description": "个人银行卡四要素,实体类型为个人时必填",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/asign.PersonBankCard4"
-                        }
-                    ]
+                    "$ref": "#/definitions/asign.PersonBankCard4"
                 },
                 "type": {
                     "description": "实体类型 1:个人 2:企业",
@@ -24856,11 +24888,7 @@
                 },
                 "province": {
                     "description": "省",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/models.Division"
-                        }
-                    ]
+                    "$ref": "#/definitions/models.Division"
                 }
             }
         },
@@ -26262,7 +26290,7 @@
             "type": "object",
             "properties": {
                 "amount": {
-                    "description": "点价金额=(点价价格+升贴水)*点价数量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "applyid": {
@@ -26846,7 +26874,7 @@
                     "type": "integer"
                 },
                 "deductamount": {
-                    "description": "退款(非必填)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "deliverygoodscode": {
@@ -26886,7 +26914,7 @@
                     "type": "integer"
                 },
                 "payamount": {
-                    "description": "收付款(非必填)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "pricemove": {
@@ -27053,11 +27081,7 @@
                 },
                 "mg": {
                     "description": "套保品种基本信息",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/models.ErmcpMiddleGoodsModel"
-                        }
-                    ]
+                    "$ref": "#/definitions/models.ErmcpMiddleGoodsModel"
                 },
                 "wrcList": {
                     "description": "现货品种列表(现货商品折算配置)",
@@ -27654,31 +27678,31 @@
                     "type": "number"
                 },
                 "diffArbitrageQty": {
-                    "description": "套利变动量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "diffExposoureQty": {
-                    "description": "变动量(套保敞口)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "diffFutuQty": {
-                    "description": "变动量(期货总量) 平安:保值净持仓量今日变动",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "diffHedgeQty": {
-                    "description": "套保变动量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "diffQty": {
-                    "description": "变动量(总敞口) 平安:净敞口今日变动",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "diffSpotHedgeQty": {
-                    "description": "变动量(现货应套保总量) 平安:应套保量今日变动",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "diffSpotQty": {
-                    "description": "变动量(现货总量) = 现货数量 - 期初现货数量 平安:采销定价净值今日变动",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "enumdicname": {
@@ -29293,11 +29317,7 @@
                 },
                 "ouruser": {
                     "description": "我方账号",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/erms3.CustomerInfo"
-                        }
-                    ]
+                    "$ref": "#/definitions/erms3.CustomerInfo"
                 },
                 "warehouseinfos": {
                     "description": "仓库信息列表",
@@ -29632,11 +29652,7 @@
                 },
                 "province": {
                     "description": "省",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/models.Division"
-                        }
-                    ]
+                    "$ref": "#/definitions/models.Division"
                 }
             }
         },
@@ -31651,7 +31667,7 @@
                     "type": "number"
                 },
                 "curaverageprice": {
-                    "description": "期均价",
+                    "description": "期均价",
                     "type": "number"
                 },
                 "curbuyamount": {
@@ -31663,7 +31679,7 @@
                     "type": "number"
                 },
                 "curmarketvalue": {
-                    "description": "参考市值(期末市值)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "curqty": {
@@ -31687,7 +31703,7 @@
                     "type": "number"
                 },
                 "curspotprice": {
-                    "description": "参考市价(最新价)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "cycletime": {
@@ -31719,7 +31735,7 @@
                     "type": "string"
                 },
                 "floatpl": {
-                    "description": "浮动损益",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "goodsunitid": {
@@ -31767,7 +31783,7 @@
                     "type": "number"
                 },
                 "todaybuyaverageprice": {
-                    "description": "今日采购均价",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "todaybuyqty": {
@@ -31787,7 +31803,7 @@
                     "type": "number"
                 },
                 "todaysellaverageprice": {
-                    "description": "今日销售均价",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "todaysellqty": {
@@ -34719,7 +34735,7 @@
                     "type": "integer"
                 },
                 "convertratio": {
-                    "description": "折算系数",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "cycletime": {
@@ -34743,11 +34759,11 @@
                     "type": "string"
                 },
                 "diffprice": {
-                    "description": "现期价格差 = 今日点价登记均价(基价) - 今日期货成交均价",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "diffqty": {
-                    "description": "期现数量差 = 套保计划量 - 今日期货关联成交量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "enddate": {
@@ -34755,7 +34771,7 @@
                     "type": "string"
                 },
                 "hedgeplanqty": {
-                    "description": "套保计划量 = TodayPricedQty * 折算系数 * (1/(1+增值税率)) * 套保比例",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "matchname": {
@@ -34779,31 +34795,31 @@
                     "type": "string"
                 },
                 "middlegoodspricedqty": {
-                    "description": "已定价量(套保品种 - 税前) = PricedQty * 折算系数",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "middlegoodspricedqty2": {
-                    "description": "已定价量(套保品种- 税后) = MiddleGoodsPricedQty * (1/(1+增值税率))",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "middlegoodspricedqty3": {
-                    "description": "已定价量(套保品种应套保量) = MiddleGoodsPricedQty2 *  套保比率",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "needhedgeratio": {
-                    "description": "套保系数",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "pricedamount": {
-                    "description": "已定价额(现货)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "pricedamount2": {
-                    "description": "已定价额(现货-基价额)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "pricedqty": {
-                    "description": "已定价量(现货)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "reckondate": {
@@ -34811,11 +34827,11 @@
                     "type": "string"
                 },
                 "relatedmiddlegoodsamount": {
-                    "description": "已关联额(期货)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "relatedmiddlegoodsqty": {
-                    "description": "已关联量(套保品种)(期货)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "spotcontractid": {
@@ -34823,39 +34839,39 @@
                     "type": "string"
                 },
                 "todayavgfutuprice": {
-                    "description": "今日期货成交均价 = TodayRelatedMiddleGoodsAmount /todayrelatedfutureqty",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "todayavgprice": {
-                    "description": "今日定价均价 = TodayPricedAmount / TodayPricedQty",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "todayavgprice2": {
-                    "description": "今日点价登记均价(基价) = TodayPricedAmount2 / TodayPricedQty",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "todaypricedamount": {
-                    "description": "今日定价额(现货)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "todaypricedamount2": {
-                    "description": "今日定价额(现货-基价额)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "todaypricedqty": {
-                    "description": "今日定价量(现货)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "todayrelatedfutureqty": {
-                    "description": "今日关联量(期货)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "todayrelatedmiddlegoodsamount": {
-                    "description": "今日关联额(期货)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "todayrelatedmiddlegoodsqty": {
-                    "description": "今日关联量(套保品-期货)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "updatetime": {
@@ -34867,7 +34883,7 @@
                     "type": "integer"
                 },
                 "vatrate": {
-                    "description": "增值税率",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "wrstandardcode": {
@@ -35416,7 +35432,7 @@
                     "type": "number"
                 },
                 "closeavgprice": {
-                    "description": "平仓均价",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "closepl": {
@@ -35484,7 +35500,7 @@
                     "type": "number"
                 },
                 "holdqty": {
-                    "description": "期末持仓量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "lastholdamount": {
@@ -35516,7 +35532,7 @@
                     "type": "number"
                 },
                 "openavgprice": {
-                    "description": "开仓均价",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "oriholdamount": {
@@ -35524,7 +35540,7 @@
                     "type": "number"
                 },
                 "oriholdqty": {
-                    "description": "期初持仓量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "oriopenamount": {
@@ -35568,7 +35584,7 @@
                     "type": "number"
                 },
                 "todaycloseqty": {
-                    "description": "今平仓量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "todaygoodsgroupspotqty": {
@@ -35584,7 +35600,7 @@
                     "type": "number"
                 },
                 "todayopenqty": {
-                    "description": "今开仓量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "userid": {
@@ -37358,11 +37374,7 @@
             "properties": {
                 "menu": {
                     "description": "父级菜单",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/models.ErmcpRoleMenu"
-                        }
-                    ]
+                    "$ref": "#/definitions/models.ErmcpRoleMenu"
                 },
                 "subMenu": {
                     "description": "子级菜单",
@@ -37668,11 +37680,7 @@
             "properties": {
                 "mainAcc": {
                     "description": "主账号",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/models.ErmcpTaAccountM"
-                        }
-                    ]
+                    "$ref": "#/definitions/models.ErmcpTaAccountM"
                 },
                 "subacclist": {
                     "description": "子账号列表",
@@ -39842,11 +39850,7 @@
             "properties": {
                 "riskRatioType": {
                     "description": "风险率类型表",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/models.Riskratiotype"
-                        }
-                    ]
+                    "$ref": "#/definitions/models.Riskratiotype"
                 },
                 "todayAccountMargins": {
                     "description": "今日账户保证金表",
@@ -53083,11 +53087,7 @@
                 },
                 "tHDetailEx": {
                     "description": "交易持仓扩展表记录",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/models.TradeHolderDetailEx"
-                        }
-                    ]
+                    "$ref": "#/definitions/models.TradeHolderDetailEx"
                 },
                 "thumurls": {
                     "description": "缩略图片(1:1)(逗号分隔)",
@@ -55159,11 +55159,7 @@
             "properties": {
                 "goodsinfo": {
                     "description": "商品信息",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/models.THJWrstandardDetail_GoodsInfo"
-                        }
-                    ]
+                    "$ref": "#/definitions/models.THJWrstandardDetail_GoodsInfo"
                 },
                 "spotgoodspricelogs": {
                     "description": "历史价格走势",
@@ -55297,11 +55293,7 @@
                 },
                 "goodsinfo": {
                     "description": "商品信息",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/models.THJPurchaseTradeDetail_Goodsinfo"
-                        }
-                    ]
+                    "$ref": "#/definitions/models.THJPurchaseTradeDetail_Goodsinfo"
                 },
                 "spotgoodspricelogs": {
                     "description": "历史价格走势",
@@ -55598,11 +55590,7 @@
                 },
                 "goodsinfo": {
                     "description": "商品信息",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/models.THJWrstandardDetail_GoodsInfo"
-                        }
-                    ]
+                    "$ref": "#/definitions/models.THJWrstandardDetail_GoodsInfo"
                 },
                 "presaleapplydeposits": {
                     "description": "支付方式",
@@ -57045,11 +57033,7 @@
                 },
                 "infoc": {
                     "description": "配置参数",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/pb.GoodsMarginCfgStruct"
-                        }
-                    ]
+                    "$ref": "#/definitions/pb.GoodsMarginCfgStruct"
                 },
                 "marketid": {
                     "description": "市场ID",
@@ -57081,7 +57065,7 @@
                     "type": "string"
                 },
                 "orderprice": {
-                    "description": "委托价格",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "orderqty": {
@@ -57150,7 +57134,7 @@
                     "type": "integer"
                 },
                 "qty": {
-                    "description": "转让数量(数量)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "tradeid": {
@@ -57625,7 +57609,7 @@
                     "type": "integer"
                 },
                 "freezeqty": {
-                    "description": "冻结数量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "goodscode": {
@@ -57661,7 +57645,7 @@
                     "type": "number"
                 },
                 "holderqty": {
-                    "description": "持仓数量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "isconfirmexercise": {
@@ -57685,7 +57669,7 @@
                     "type": "number"
                 },
                 "openqty": {
-                    "description": "建仓数量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "optiontype": {
@@ -59242,7 +59226,7 @@
                     "type": "string"
                 },
                 "fixedprice": {
-                    "description": "挂牌价格",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "handlestatus": {
@@ -59250,7 +59234,7 @@
                     "type": "integer"
                 },
                 "marginvalue": {
-                    "description": "履约保证金比例",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "marketid": {
@@ -59432,7 +59416,7 @@
             "type": "object",
             "properties": {
                 "averageprice": {
-                    "description": "成交均价",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "tradedate": {
@@ -59690,7 +59674,7 @@
                     "type": "integer"
                 },
                 "averageprice": {
-                    "description": "交割均价 = 交割金额 / 交割数量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "begindate": {
@@ -59814,7 +59798,7 @@
                     "type": "number"
                 },
                 "xgoodsamount": {
-                    "description": "合约金额 = 货款金额(DELIVERYAMOUNT) - 点价货款(P1GOODSREMAINAMOUNT)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "xgoodscode": {
@@ -60702,7 +60686,7 @@
                     "type": "string"
                 },
                 "stepvalue": {
-                    "description": "步骤值",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "templateid": {
@@ -61013,7 +60997,7 @@
                     "type": "integer"
                 },
                 "amount": {
-                    "description": "挂牌金额 = 委托数量 * 固定价或升贴水",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "bannerpicurl": {
@@ -61073,11 +61057,11 @@
                     "type": "number"
                 },
                 "freezecharge": {
-                    "description": "冻结手续费",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "freezemargin": {
-                    "description": "冻结保证金(保证金)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "futupricemove": {
@@ -61113,7 +61097,7 @@
                     "type": "string"
                 },
                 "marginvalue": {
-                    "description": "保证金设置值(履约保证金)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "marketid": {
@@ -61355,7 +61339,7 @@
                     "type": "integer"
                 },
                 "delistminqty": {
-                    "description": "起摘数量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "deliverymonth": {
@@ -61776,7 +61760,7 @@
                     "type": "string"
                 },
                 "unpaidamount": {
-                    "description": "剩余款(待支付金额)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "userid": {
@@ -62323,7 +62307,7 @@
                     "type": "integer"
                 },
                 "delistminqty": {
-                    "description": "起摘数量",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "deliverygoodscode": {
@@ -62460,11 +62444,11 @@
                     "type": "string"
                 },
                 "tradeamount": {
-                    "description": "日成交金额(当日单方向成交金额)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "tradeqty": {
-                    "description": "日成交数量(当日单方向成交数量)",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "wrstandardid": {
@@ -62633,7 +62617,7 @@
                     "type": "number"
                 },
                 "unpaidinterest": {
-                    "description": "未结费用",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "updatetime": {
@@ -63225,7 +63209,7 @@
                     "type": "string"
                 },
                 "orderprice": {
-                    "description": "委托价格",
+                    "description": "期初均价",
                     "type": "number"
                 },
                 "orderqty": {
@@ -66519,19 +66503,11 @@
             "properties": {
                 "organizationInfo": {
                     "description": "签署企业信息,用户类型为企业时必填",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/tencent.OrganizationInfo"
-                        }
-                    ]
+                    "$ref": "#/definitions/tencent.OrganizationInfo"
                 },
                 "personInfo": {
                     "description": "签署人信息,用户类型为个人时必填",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/tencent.PersonInfo"
-                        }
-                    ]
+                    "$ref": "#/definitions/tencent.PersonInfo"
                 },
                 "userESignRecordID": {
                     "description": "用户电子签记录表ID 只有当前状态是1和4的电子签记录才能发起合同签署",
@@ -66603,6 +66579,19 @@
                 }
             }
         },
+        "tencentcloud.BankCard4Rsp": {
+            "type": "object",
+            "properties": {
+                "code": {
+                    "description": "结果码 '0': '认证通过'; 非'0'表示认证失败",
+                    "type": "string"
+                },
+                "description": {
+                    "description": "业务结果描述。",
+                    "type": "string"
+                }
+            }
+        },
         "trade.QueryRecieptOrderRsp": {
             "type": "object",
             "required": [
@@ -66688,11 +66677,7 @@
                 },
                 "loginAccount": {
                     "description": "登录账号",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/models.Loginaccount"
-                        }
-                    ]
+                    "$ref": "#/definitions/models.Loginaccount"
                 },
                 "markets": {
                     "description": "市场",
@@ -66710,19 +66695,11 @@
                 },
                 "userAccount": {
                     "description": "用户账号",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/models.Useraccount"
-                        }
-                    ]
+                    "$ref": "#/definitions/models.Useraccount"
                 },
                 "userInfo": {
                     "description": "用户信息",
-                    "allOf": [
-                        {
-                            "$ref": "#/definitions/models.Userinfo"
-                        }
-                    ]
+                    "$ref": "#/definitions/models.Userinfo"
                 },
                 "username": {
                     "description": "用户姓名",

+ 123 - 107
docs/swagger.yaml

@@ -333,8 +333,7 @@ definitions:
         description: 合同编号(此处可传已完成签署的合同编号,实现追加签章的场景)
         type: string
       fillData:
-        allOf:
-        - $ref: '#/definitions/asign.APIFillData'
+        $ref: '#/definitions/asign.APIFillData'
         description: 单行文本、多行文本、日期、身份证类型参数填充。
       tableDatas:
         description: 表格填充数据
@@ -364,12 +363,10 @@ definitions:
   asign.BankCard4Req:
     properties:
       company:
-        allOf:
-        - $ref: '#/definitions/asign.CompanyBankCard4'
+        $ref: '#/definitions/asign.CompanyBankCard4'
         description: 企业法人银行卡四要素,实体类型为企业时必填
       person:
-        allOf:
-        - $ref: '#/definitions/asign.PersonBankCard4'
+        $ref: '#/definitions/asign.PersonBankCard4'
         description: 个人银行卡四要素,实体类型为个人时必填
       type:
         description: 实体类型 1:个人 2:企业
@@ -747,8 +744,7 @@ definitions:
           $ref: '#/definitions/models.Division'
         type: array
       province:
-        allOf:
-        - $ref: '#/definitions/models.Division'
+        $ref: '#/definitions/models.Division'
         description: 省
     type: object
   common.QueryTableDefineRsp:
@@ -1796,7 +1792,7 @@ definitions:
   ermcp.QryBusinessDjRsp:
     properties:
       amount:
-        description: 点价金额=(点价价格+升贴水)*点价数量
+        description: 期初均价
         type: number
       applyid:
         description: 申请人
@@ -2231,7 +2227,7 @@ definitions:
         description: 现货合同类型 - 1:采购 -1:销售
         type: integer
       deductamount:
-        description: 退款(非必填)
+        description: 期初均价
         type: number
       deliverygoodscode:
         description: 现货品种代码
@@ -2261,7 +2257,7 @@ definitions:
         description: 操作申请类型 - 1:点价 2:结算登记 3:款项登记 4:发票登记
         type: integer
       payamount:
-        description: 收付款(非必填)
+        description: 期初均价
         type: number
       pricemove:
         description: 升贴水
@@ -2383,8 +2379,7 @@ definitions:
           $ref: '#/definitions/models.ErmcpGGConvertCfg'
         type: array
       mg:
-        allOf:
-        - $ref: '#/definitions/models.ErmcpMiddleGoodsModel'
+        $ref: '#/definitions/models.ErmcpMiddleGoodsModel'
         description: 套保品种基本信息
       wrcList:
         description: 现货品种列表(现货商品折算配置)
@@ -2829,25 +2824,25 @@ definitions:
         description: 套利量
         type: number
       diffArbitrageQty:
-        description: 套利变动量
+        description: 期初均价
         type: number
       diffExposoureQty:
-        description: 变动量(套保敞口)
+        description: 期初均价
         type: number
       diffFutuQty:
-        description: 变动量(期货总量) 平安:保值净持仓量今日变动
+        description: 期初均价
         type: number
       diffHedgeQty:
-        description: 套保变动量
+        description: 期初均价
         type: number
       diffQty:
-        description: 变动量(总敞口) 平安:净敞口今日变动
+        description: 期初均价
         type: number
       diffSpotHedgeQty:
-        description: 变动量(现货应套保总量) 平安:应套保量今日变动
+        description: 期初均价
         type: number
       diffSpotQty:
-        description: 变动量(现货总量) = 现货数量 - 期初现货数量 平安:采销定价净值今日变动
+        description: 期初均价
         type: number
       enumdicname:
         description: 单位名称
@@ -4049,8 +4044,7 @@ definitions:
           $ref: '#/definitions/erms3.CustomerInfo'
         type: array
       ouruser:
-        allOf:
-        - $ref: '#/definitions/erms3.CustomerInfo'
+        $ref: '#/definitions/erms3.CustomerInfo'
         description: 我方账号
       warehouseinfos:
         description: 仓库信息列表
@@ -4295,8 +4289,7 @@ definitions:
           $ref: '#/definitions/models.Division'
         type: array
       province:
-        allOf:
-        - $ref: '#/definitions/models.Division'
+        $ref: '#/definitions/models.Division'
         description: 省
     type: object
   models.Arearole:
@@ -5789,7 +5782,7 @@ definitions:
         description: 期末额
         type: number
       curaverageprice:
-        description: 期均价
+        description: 期均价
         type: number
       curbuyamount:
         description: 期末采购总额
@@ -5798,7 +5791,7 @@ definitions:
         description: 期末采购总量
         type: number
       curmarketvalue:
-        description: 参考市值(期末市值)
+        description: 期初均价
         type: number
       curqty:
         description: 期末量
@@ -5816,7 +5809,7 @@ definitions:
         description: 期末销售总量
         type: number
       curspotprice:
-        description: 参考市价(最新价)
+        description: 期初均价
         type: number
       cycletime:
         description: 周期时间 月(YYYYMM)  季(YYYYQ) 年(YYYY) 周(YYYYIW) 全(0)【原值】
@@ -5840,7 +5833,7 @@ definitions:
         description: 现货品种单位名称(作废)
         type: string
       floatpl:
-        description: 浮动损益
+        description: 期初均价
         type: number
       goodsunitid:
         description: 现货品种单位id(作废)
@@ -5876,7 +5869,7 @@ definitions:
         description: 今日采购额(今采购额)
         type: number
       todaybuyaverageprice:
-        description: 今日采购均价
+        description: 期初均价
         type: number
       todaybuyqty:
         description: 今日采购量(今采购量)
@@ -5891,7 +5884,7 @@ definitions:
         description: 今日销售额(今销售额)
         type: number
       todaysellaverageprice:
-        description: 今日销售均价
+        description: 期初均价
         type: number
       todaysellqty:
         description: 今日销售量(今销售量)
@@ -8071,7 +8064,7 @@ definitions:
         description: 合同类型 1:采购 -1:销售
         type: integer
       convertratio:
-        description: 折算系数
+        description: 期初均价
         type: number
       cycletime:
         description: 周期时间 月(YYYYMM)  季(YYYYQ) 年(YYYY) 周(YYYYIW) 全(0)【原值】
@@ -8089,16 +8082,16 @@ definitions:
         description: 品种名称
         type: string
       diffprice:
-        description: 现期价格差 = 今日点价登记均价(基价) - 今日期货成交均价
+        description: 期初均价
         type: number
       diffqty:
-        description: 期现数量差 = 套保计划量 - 今日期货关联成交量
+        description: 期初均价
         type: number
       enddate:
         description: 结束交易日
         type: string
       hedgeplanqty:
-        description: 套保计划量 = TodayPricedQty * 折算系数 * (1/(1+增值税率)) * 套保比例
+        description: 期初均价
         type: number
       matchname:
         description: 交易对手方(个人:用户名称 企业:简称)
@@ -8116,64 +8109,64 @@ definitions:
         description: 套保品种名称
         type: string
       middlegoodspricedqty:
-        description: 已定价量(套保品种 - 税前) = PricedQty * 折算系数
+        description: 期初均价
         type: number
       middlegoodspricedqty2:
-        description: 已定价量(套保品种- 税后) = MiddleGoodsPricedQty * (1/(1+增值税率))
+        description: 期初均价
         type: number
       middlegoodspricedqty3:
-        description: 已定价量(套保品种应套保量) = MiddleGoodsPricedQty2 *  套保比率
+        description: 期初均价
         type: number
       needhedgeratio:
-        description: 套保系数
+        description: 期初均价
         type: number
       pricedamount:
-        description: 已定价额(现货)
+        description: 期初均价
         type: number
       pricedamount2:
-        description: 已定价额(现货-基价额)
+        description: 期初均价
         type: number
       pricedqty:
-        description: 已定价量(现货)
+        description: 期初均价
         type: number
       reckondate:
         description: 日照时期(yyyyMMdd)
         type: string
       relatedmiddlegoodsamount:
-        description: 已关联额(期货)
+        description: 期初均价
         type: number
       relatedmiddlegoodsqty:
-        description: 已关联量(套保品种)(期货)
+        description: 期初均价
         type: number
       spotcontractid:
         description: 现货合同ID(602+Unix秒时间戳(10位)+xxxxxx)
         type: string
       todayavgfutuprice:
-        description: 今日期货成交均价 = TodayRelatedMiddleGoodsAmount /todayrelatedfutureqty
+        description: 期初均价
         type: number
       todayavgprice:
-        description: 今日定价均价 = TodayPricedAmount / TodayPricedQty
+        description: 期初均价
         type: number
       todayavgprice2:
-        description: 今日点价登记均价(基价) = TodayPricedAmount2 / TodayPricedQty
+        description: 期初均价
         type: number
       todaypricedamount:
-        description: 今日定价额(现货)
+        description: 期初均价
         type: number
       todaypricedamount2:
-        description: 今日定价额(现货-基价额)
+        description: 期初均价
         type: number
       todaypricedqty:
-        description: 今日定价量(现货)
+        description: 期初均价
         type: number
       todayrelatedfutureqty:
-        description: 今日关联量(期货)
+        description: 期初均价
         type: number
       todayrelatedmiddlegoodsamount:
-        description: 今日关联额(期货)
+        description: 期初均价
         type: number
       todayrelatedmiddlegoodsqty:
-        description: 今日关联量(套保品-期货)
+        description: 期初均价
         type: number
       updatetime:
         description: 更新时间
@@ -8182,7 +8175,7 @@ definitions:
         description: 合同所属用户id
         type: integer
       vatrate:
-        description: 增值税率
+        description: 期初均价
         type: number
       wrstandardcode:
         description: 商品(品类) 代码
@@ -8590,7 +8583,7 @@ definitions:
         description: 手续费
         type: number
       closeavgprice:
-        description: 平仓均价
+        description: 期初均价
         type: number
       closepl:
         description: 平仓损益
@@ -8641,7 +8634,7 @@ definitions:
         description: 期末持仓额
         type: number
       holdqty:
-        description: 期末持仓量
+        description: 期初均价
         type: number
       lastholdamount:
         description: 当前持仓额
@@ -8665,13 +8658,13 @@ definitions:
         description: 期末开仓额
         type: number
       openavgprice:
-        description: 开仓均价
+        description: 期初均价
         type: number
       oriholdamount:
         description: 期初持仓额
         type: number
       oriholdqty:
-        description: 期初持仓量
+        description: 期初均价
         type: number
       oriopenamount:
         description: 期初开仓额
@@ -8704,7 +8697,7 @@ definitions:
         description: 今平仓额
         type: number
       todaycloseqty:
-        description: 今平仓量
+        description: 期初均价
         type: number
       todaygoodsgroupspotqty:
         description: 交易品种变化量 (=(期末持仓量 - 期初持仓量)* 合约乘数)
@@ -8716,7 +8709,7 @@ definitions:
         description: 今开仓额
         type: number
       todayopenqty:
-        description: 今开仓量
+        description: 期初均价
         type: number
       userid:
         description: 账户所属用户ID
@@ -10030,8 +10023,7 @@ definitions:
   models.ErmcpRoleMenuEx:
     properties:
       menu:
-        allOf:
-        - $ref: '#/definitions/models.ErmcpRoleMenu'
+        $ref: '#/definitions/models.ErmcpRoleMenu'
         description: 父级菜单
       subMenu:
         description: 子级菜单
@@ -10258,8 +10250,7 @@ definitions:
   models.ErmcpTaAccountEx:
     properties:
       mainAcc:
-        allOf:
-        - $ref: '#/definitions/models.ErmcpTaAccountM'
+        $ref: '#/definitions/models.ErmcpTaAccountM'
         description: 主账号
       subacclist:
         description: 子账号列表
@@ -11860,8 +11851,7 @@ definitions:
   models.GetTodayAccountConfigInfoRsp:
     properties:
       riskRatioType:
-        allOf:
-        - $ref: '#/definitions/models.Riskratiotype'
+        $ref: '#/definitions/models.Riskratiotype'
         description: 风险率类型表
       todayAccountMargins:
         description: 今日账户保证金表
@@ -21718,8 +21708,7 @@ definitions:
         description: 可退定金
         type: number
       tHDetailEx:
-        allOf:
-        - $ref: '#/definitions/models.TradeHolderDetailEx'
+        $ref: '#/definitions/models.TradeHolderDetailEx'
         description: 交易持仓扩展表记录
       thumurls:
         description: 缩略图片(1:1)(逗号分隔)
@@ -23251,8 +23240,7 @@ definitions:
   models.THJGoodsDetailRsp:
     properties:
       goodsinfo:
-        allOf:
-        - $ref: '#/definitions/models.THJWrstandardDetail_GoodsInfo'
+        $ref: '#/definitions/models.THJWrstandardDetail_GoodsInfo'
         description: 商品信息
       spotgoodspricelogs:
         description: 历史价格走势
@@ -23409,8 +23397,7 @@ definitions:
           $ref: '#/definitions/models.THJPurchaseTradeDetail_Date'
         type: array
       goodsinfo:
-        allOf:
-        - $ref: '#/definitions/models.THJPurchaseTradeDetail_Goodsinfo'
+        $ref: '#/definitions/models.THJPurchaseTradeDetail_Goodsinfo'
         description: 商品信息
       spotgoodspricelogs:
         description: 历史价格走势
@@ -23589,8 +23576,7 @@ definitions:
           $ref: '#/definitions/models.THJDeliveryMonth'
         type: array
       goodsinfo:
-        allOf:
-        - $ref: '#/definitions/models.THJWrstandardDetail_GoodsInfo'
+        $ref: '#/definitions/models.THJWrstandardDetail_GoodsInfo'
         description: 商品信息
       presaleapplydeposits:
         description: 支付方式
@@ -24640,8 +24626,7 @@ definitions:
         description: 商品ID
         type: integer
       infoc:
-        allOf:
-        - $ref: '#/definitions/pb.GoodsMarginCfgStruct'
+        $ref: '#/definitions/pb.GoodsMarginCfgStruct'
         description: 配置参数
       marketid:
         description: 市场ID
@@ -24665,7 +24650,7 @@ definitions:
         description: 委托单号
         type: string
       orderprice:
-        description: 委托价格
+        description: 期初均价
         type: number
       orderqty:
         description: 委托数量
@@ -24716,7 +24701,7 @@ definitions:
         description: 市场ID
         type: integer
       qty:
-        description: 转让数量(数量)
+        description: 期初均价
         type: number
       tradeid:
         description: 成交单号(关联持仓)
@@ -25069,7 +25054,7 @@ definitions:
         description: 行权日类型 - 1:滚动行权 2:固定日行权
         type: integer
       freezeqty:
-        description: 冻结数量
+        description: 期初均价
         type: number
       goodscode:
         description: 商品代码
@@ -25096,7 +25081,7 @@ definitions:
         description: 持仓价格
         type: number
       holderqty:
-        description: 持仓数量
+        description: 期初均价
         type: number
       isconfirmexercise:
         description: 是否确认行权- 0:否 1:是
@@ -25114,7 +25099,7 @@ definitions:
         description: 建仓价格
         type: number
       openqty:
-        description: 建仓数量
+        description: 期初均价
         type: number
       optiontype:
         description: 期权类型 - 1:认购(看涨) 2:认沽(看跌)
@@ -26275,13 +26260,13 @@ definitions:
         description: 单位名称
         type: string
       fixedprice:
-        description: 挂牌价格
+        description: 期初均价
         type: number
       handlestatus:
         description: 处理状态
         type: integer
       marginvalue:
-        description: 履约保证金比例
+        description: 期初均价
         type: number
       marketid:
         description: 市场ID
@@ -26416,7 +26401,7 @@ definitions:
   models.WrAverageTradePrice:
     properties:
       averageprice:
-        description: 成交均价
+        description: 期初均价
         type: number
       tradedate:
         description: 交易日yyyymm
@@ -26604,7 +26589,7 @@ definitions:
         description: 账号ID
         type: integer
       averageprice:
-        description: 交割均价 = 交割金额 / 交割数量
+        description: 期初均价
         type: number
       begindate:
         description: 开始交易日(yyyymmdd)
@@ -26697,7 +26682,7 @@ definitions:
         description: 交易合约交割价
         type: number
       xgoodsamount:
-        description: 合约金额 = 货款金额(DELIVERYAMOUNT) - 点价货款(P1GOODSREMAINAMOUNT)
+        description: 期初均价
         type: number
       xgoodscode:
         description: 商品代码
@@ -27356,7 +27341,7 @@ definitions:
         description: 步骤名称
         type: string
       stepvalue:
-        description: 步骤值
+        description: 期初均价
         type: number
       templateid:
         description: 履约计划模板ID
@@ -27591,7 +27576,7 @@ definitions:
         description: 是否全好友可见 - 0:否 1:是
         type: integer
       amount:
-        description: 挂牌金额 = 委托数量 * 固定价或升贴水
+        description: 期初均价
         type: number
       bannerpicurl:
         description: Banner图
@@ -27636,10 +27621,10 @@ definitions:
         description: 固定价格    -   [挂牌]
         type: number
       freezecharge:
-        description: 冻结手续费
+        description: 期初均价
         type: number
       freezemargin:
-        description: 冻结保证金(保证金)
+        description: 期初均价
         type: number
       futupricemove:
         description: 期货升贴水
@@ -27666,7 +27651,7 @@ definitions:
         description: 提单ID(208+Unix秒时间戳(10位)+xxxxxx)
         type: string
       marginvalue:
-        description: 保证金设置值(履约保证金)
+        description: 期初均价
         type: number
       marketid:
         description: 市场ID
@@ -27847,7 +27832,7 @@ definitions:
         description: 买卖 - 0:买 1:卖
         type: integer
       delistminqty:
-        description: 起摘数量
+        description: 期初均价
         type: number
       deliverymonth:
         description: 交收月
@@ -28165,7 +28150,7 @@ definitions:
         description: 履约类型 名称
         type: string
       unpaidamount:
-        description: 剩余款(待支付金额)
+        description: 期初均价
         type: number
       userid:
         description: 用户id
@@ -28577,7 +28562,7 @@ definitions:
         description: 是否允许部份摘牌 - 0:不允许 1:允许
         type: integer
       delistminqty:
-        description: 起摘数量
+        description: 期初均价
         type: number
       deliverygoodscode:
         description: 品种代码
@@ -28679,10 +28664,10 @@ definitions:
         description: 日期 格式 yyyymmdd
         type: string
       tradeamount:
-        description: 日成交金额(当日单方向成交金额)
+        description: 期初均价
         type: number
       tradeqty:
-        description: 日成交数量(当日单方向成交数量)
+        description: 期初均价
         type: number
       wrstandardid:
         description: 现货商品ID
@@ -28809,7 +28794,7 @@ definitions:
         description: 已计利息 -> 已计费用
         type: number
       unpaidinterest:
-        description: 未结费用
+        description: 期初均价
         type: number
       updatetime:
         description: 更新时间
@@ -29245,7 +29230,7 @@ definitions:
         description: 委托单号
         type: string
       orderprice:
-        description: 委托价格
+        description: 期初均价
         type: number
       orderqty:
         description: 委托数量
@@ -31736,12 +31721,10 @@ definitions:
   tencent.CreateFlowByTemplateDirectlyReq:
     properties:
       organizationInfo:
-        allOf:
-        - $ref: '#/definitions/tencent.OrganizationInfo'
+        $ref: '#/definitions/tencent.OrganizationInfo'
         description: 签署企业信息,用户类型为企业时必填
       personInfo:
-        allOf:
-        - $ref: '#/definitions/tencent.PersonInfo'
+        $ref: '#/definitions/tencent.PersonInfo'
         description: 签署人信息,用户类型为个人时必填
       userESignRecordID:
         description: 用户电子签记录表ID 只有当前状态是1和4的电子签记录才能发起合同签署
@@ -31795,6 +31778,15 @@ definitions:
         description: 姓名
         type: string
     type: object
+  tencentcloud.BankCard4Rsp:
+    properties:
+      code:
+        description: '结果码 ''0'': ''认证通过''; 非''0''表示认证失败'
+        type: string
+      description:
+        description: 业务结果描述。
+        type: string
+    type: object
   trade.QueryRecieptOrderRsp:
     properties:
       accountName:
@@ -31856,8 +31848,7 @@ definitions:
           $ref: '#/definitions/models.Goodsgroup'
         type: array
       loginAccount:
-        allOf:
-        - $ref: '#/definitions/models.Loginaccount'
+        $ref: '#/definitions/models.Loginaccount'
         description: 登录账号
       markets:
         description: 市场
@@ -31870,12 +31861,10 @@ definitions:
           $ref: '#/definitions/models.Systemparam'
         type: array
       userAccount:
-        allOf:
-        - $ref: '#/definitions/models.Useraccount'
+        $ref: '#/definitions/models.Useraccount'
         description: 用户账号
       userInfo:
-        allOf:
-        - $ref: '#/definitions/models.Userinfo'
+        $ref: '#/definitions/models.Userinfo'
         description: 用户信息
       username:
         description: 用户姓名
@@ -44191,6 +44180,33 @@ paths:
       summary: 查询用户电子签记录表
       tags:
       - 腾讯电子签
+  /TencentCloud/BankCard4:
+    post:
+      consumes:
+      - application/json
+      parameters:
+      - description: 入参
+        in: body
+        name: data
+        required: true
+        schema:
+          $ref: '#/definitions/asign.BankCard4Req'
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: OK
+          schema:
+            $ref: '#/definitions/asign.BankCard4Rsp'
+        "500":
+          description: Internal Server Error
+          schema:
+            $ref: '#/definitions/tencentcloud.BankCard4Rsp'
+      security:
+      - ApiKeyAuth: []
+      summary: 银行卡四要素认证
+      tags:
+      - 腾讯云
   /Tjmd/QueryQuoteGoodsList:
     get:
       description: 用户类型必传, 查掉期报价列表 marketids=掉期市场id

+ 2 - 2
go.mod

@@ -58,12 +58,12 @@ require (
 require (
 	github.com/bwmarrin/snowflake v0.3.0
 	github.com/bytedance/sonic v1.10.2
-	github.com/goinggo/mapstructure v0.0.0-20140717182941-194205d9b4a9
 	github.com/swaggo/files v1.0.1
 	github.com/swaggo/gin-swagger v1.6.0
 	github.com/swaggo/swag v1.16.2
-	github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.772
+	github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1050
 	github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/essbasic v1.0.772
+	github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/faceid v1.0.1050
 )
 
 require (

+ 4 - 3
go.sum

@@ -75,8 +75,6 @@ github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gG
 github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
 github.com/goccy/go-json v0.10.0 h1:mXKd9Qw4NuzShiRlOXKews24ufknHO7gx30lsDyokKA=
 github.com/goccy/go-json v0.10.0/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
-github.com/goinggo/mapstructure v0.0.0-20140717182941-194205d9b4a9 h1:wqckanyE9qc/XnvnybC6SHOb8Nyd62QXAZOzA8twFig=
-github.com/goinggo/mapstructure v0.0.0-20140717182941-194205d9b4a9/go.mod h1:64ikIrMv84B+raz7akXOqbF7cK3/OQQ/6cClY10oy7A=
 github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
 github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
 github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
@@ -183,10 +181,13 @@ github.com/tealeg/xlsx v1.0.5 h1:+f8oFmvY8Gw1iUXzPk+kz+4GpbDZPK1FhPiQRd+ypgE=
 github.com/tealeg/xlsx v1.0.5/go.mod h1:btRS8dz54TDnvKNosuAqxrM1QgN1udgk9O34bDCnORM=
 github.com/tebeka/strftime v0.1.3 h1:5HQXOqWKYRFfNyBMNVc9z5+QzuBtIXy03psIhtdJYto=
 github.com/tebeka/strftime v0.1.3/go.mod h1:7wJm3dZlpr4l/oVK0t1HYIc4rMzQ2XJlOMIUJUJH6XQ=
-github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.772 h1:zwJinPIIMaBUJB9Sr5eeMcNaEQBcMzsjev4S14RhA10=
 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.772/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
+github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1050 h1:SnzAe4ntwwrUf0jzgxE5Qm7wH8atRwvaDT+njfNExJ4=
+github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1050/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/essbasic v1.0.772 h1:iD060QlYTUVdEJ3stHhLZzuTYtKFuTbsMCygrcSisaM=
 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/essbasic v1.0.772/go.mod h1:4zkfwdL6iHCeCd+WTi9ngH2//I5dkM+n0J5b18t1MQQ=
+github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/faceid v1.0.1050 h1:fH0/hKqwMgT2H9qPy3yqs/Tj+cAoyGyTw5JdQdpv+MU=
+github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/faceid v1.0.1050/go.mod h1:fsKBrcvz3C2GlJGd3QI8Ow3Kgw0zFz/h9OAuT9LWZg4=
 github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI=
 github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08=
 github.com/ugorji/go/codec v1.2.9 h1:rmenucSohSTiyL09Y+l2OCk+FrMxGMzho2+tjr5ticU=

+ 9 - 0
main.go

@@ -123,6 +123,15 @@ func main() {
 		}
 	}
 
+	// 判断是否初始化动腾讯云
+	if config.SerCfg.TencentCloudCfg.Enabled == 1 {
+		err = utils.InitTencentCloudClient()
+		if err != nil {
+			logger.GetLogger().Errorf("init tencent cloud failed:%v", err.Error())
+			return
+		}
+	}
+
 	// 启动定时同步盘面Timer
 	models.StartSyncRedisQuoteDay()
 

+ 9 - 1
routers/router.go

@@ -31,6 +31,7 @@ import (
 	"mtp2_if/controllers/szdz"
 	"mtp2_if/controllers/taaccount"
 	"mtp2_if/controllers/tencent"
+	tencentcloud "mtp2_if/controllers/tencent-cloud"
 	"mtp2_if/controllers/tjmd"
 	"mtp2_if/controllers/trade"
 	"mtp2_if/controllers/tradexx"
@@ -848,7 +849,7 @@ func InitRouter() *gin.Engine {
 		zhongrongR.GET("GetUserInfo", zhongrong.GetUserInfo)
 	}
 
-	// ************************* 腾讯 *************************
+	// ************************* 腾讯(电子签) *************************
 	tencentR := apiR.Group("Tencent")
 	tencentR.Use()
 	{
@@ -863,6 +864,13 @@ func InitRouter() *gin.Engine {
 		tencentR.Use(token.Auth()).GET("GetTemplateInfo", tencent.GetTemplateInfo)
 	}
 
+	// ************************* 腾讯云 *************************
+	tencentCloudR := apiR.Group("TencentCloud")
+	tencentCloudR.Use()
+	{
+		tencentCloudR.POST("BankCard4", tencentcloud.BankCard4)
+	}
+
 	// ************************* 爱签 *************************
 	asignR := apiR.Group("Asign")
 	asignR.Use()

+ 187 - 0
services/tencent-cloud/api.go

@@ -0,0 +1,187 @@
+package tencentcloud
+
+import (
+	"encoding/json"
+	"errors"
+	"fmt"
+	"mtp2_if/db"
+	"mtp2_if/logger"
+	"mtp2_if/models"
+	"mtp2_if/utils"
+
+	reqModels "mtp2_if/services/asign"
+
+	faceid "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/faceid/v20180301"
+)
+
+type BankCard4Rsp struct {
+	Code        string `json:"code"`        // 结果码 '0': '认证通过'; 非'0'表示认证失败
+	Description string `json:"description"` // 业务结果描述。
+}
+
+func BankCard4EVerification(req reqModels.BankCard4Req) (rsp BankCard4Rsp, err error) {
+	if utils.TencenCloudFaceIdClient == nil {
+		err = fmt.Errorf("腾讯云FaceId客户端未初始化")
+		logger.GetLogger().Errorf("CreateConsoleLoginUrl failed: %s", err.Error())
+		return
+	}
+
+	// 校验入参
+	if req.Type == 1 && req.Person == nil {
+		err = errors.New("缺少参数")
+		return
+	}
+	if req.Type == 2 && req.Company == nil {
+		err = errors.New("缺少参数")
+		return
+	}
+
+	// 从交易库中获取类型为实名认证的电子签信息
+	var authinfo []byte
+	var record models.Useresignrecord
+	var has bool
+	has, err = db.GetEngine().Where("TEMPLATETYPE = 1 AND USERID = ?", req.UserId).Get(&record)
+	if err != nil {
+		return
+	}
+	if !has {
+		err = errors.New("无对应实名认证记录信息")
+		logger.GetLogger().Error("无对应实名认证记录信息, userId:", req.UserId)
+		return
+	}
+	if record.RECORDSTATUS == 3 {
+		// 原信息已实名,则判断两次提交的内容是否一致,如不一致则重新实名
+		if record.AUTHINFO == "" {
+			err = errors.New("实名认证记录信息异常")
+			logger.GetLogger().Error("实名认证记录信息异常, userId:", req.UserId)
+			return
+		}
+		if req.Type == 1 {
+			// 个人
+			var oriAuthInfo reqModels.PersonBankCard4
+			err = json.Unmarshal([]byte(record.AUTHINFO), &oriAuthInfo)
+			if err != nil {
+				return
+			}
+			if oriAuthInfo.RealName == req.Person.RealName &&
+				oriAuthInfo.IdCardNo == req.Person.IdCardNo &&
+				oriAuthInfo.BankCard == req.Person.BankCard &&
+				oriAuthInfo.Mobile == req.Person.Mobile {
+				// 信息一致,则直接返回已实名
+				err = errors.New("账户已实名")
+				logger.GetLogger().Error("账户已实名, userId:", req.UserId)
+				return
+			} else {
+				// 信息不一致,重新进行实名认证
+				if authinfo, err = json.Marshal(req.Person); err != nil {
+					return
+				}
+				sql := fmt.Sprintf(`
+					UPDATE useresignrecord
+					SET RECORDSTATUS = 1,
+						UPDATETIME = SYSDATE,
+						AUTHINFO = '%v'
+					WHERE USERID = %v AND TEMPLATETYPE = 1 
+				`, string(authinfo), req.UserId)
+				_, err = db.GetEngine().Exec(sql)
+				if err != nil {
+					return
+				}
+			}
+		} else {
+			// 企业
+			var oriAuthInfo reqModels.CompanyBankCard4
+			err = json.Unmarshal([]byte(record.AUTHINFO), &oriAuthInfo)
+			if err != nil {
+				return
+			}
+			if oriAuthInfo.CompanyName == req.Company.CompanyName &&
+				oriAuthInfo.CreditCode == req.Company.CreditCode &&
+				oriAuthInfo.RealName == req.Company.RealName &&
+				oriAuthInfo.IdCardNo == req.Company.IdCardNo &&
+				oriAuthInfo.BankCard == req.Company.BankCard &&
+				oriAuthInfo.Mobile == req.Company.Mobile {
+				// 信息一致,则直接返回已实名
+				err = errors.New("账户已实名")
+				logger.GetLogger().Error("账户已实名, userId:", req.UserId)
+				return
+			} else {
+				// 信息不一致,重新进行实名认证
+				if authinfo, err = json.Marshal(req.Company); err != nil {
+					return
+				}
+				sql := fmt.Sprintf(`
+					UPDATE useresignrecord
+					SET RECORDSTATUS = 1,
+						UPDATETIME = SYSDATE,
+						AUTHINFO = '%v'
+					WHERE USERID = %v AND TEMPLATETYPE = 1 
+				`, string(authinfo), req.UserId)
+				_, err = db.GetEngine().Exec(sql)
+				if err != nil {
+					return
+				}
+			}
+		}
+	}
+
+	// 目前腾讯云不支持企业实名认识,如果类型为企业则直接返回认证成功
+	if req.Type == 2 {
+		// 企业
+		sql := fmt.Sprintf(`
+					UPDATE useresignrecord
+					SET RECORDSTATUS = 3,
+						UPDATETIME = SYSDATE
+					WHERE USERID = %v AND TEMPLATETYPE = 1 
+				`, req.UserId)
+		_, err = db.GetEngine().Exec(sql)
+		if err == nil {
+			rsp = BankCard4Rsp{Code: "0", Description: "认证通过"}
+		}
+	} else {
+		// 个人
+		// 调用腾讯云接口
+		// request := &v20180301.BankCard4EVerificationRequest{
+		// 	Name:     &req.Person.RealName,
+		// 	BankCard: &req.Person.BankCard,
+		// 	Phone:    &req.Person.Mobile,
+		// 	IdCard:   &req.Person.IdCardNo,
+		// }
+		request := faceid.NewBankCard4EVerificationRequest()
+		request.Name = &req.Person.RealName
+		request.BankCard = &req.Person.BankCard
+		request.Phone = &req.Person.Mobile
+		request.IdCard = &req.Person.IdCardNo
+
+		var response *faceid.BankCard4EVerificationResponse
+		response, err = utils.TencenCloudFaceIdClient.BankCard4EVerification(request)
+		if err != nil {
+			logger.GetLogger().Error("调用腾讯云实名认证接口发生错误:", err.Error())
+			return
+		}
+		if response.Response.Result == nil {
+			err = errors.New("返回结果为空")
+			logger.GetLogger().Error("调用腾讯云实名认证接口发生错误:", err.Error())
+			return
+		}
+		if *response.Response.Result != "0" {
+			err = errors.New("返回结果失败,错误码(" + *response.Response.Result + "),返回信息(" + response.ToJsonString() + ")")
+			logger.GetLogger().Error("调用腾讯云实名认证接口返回结果不成功:", err.Error())
+			return
+		}
+
+		// 返回结果结果,更新记录状态
+		sql := fmt.Sprintf(`
+					UPDATE useresignrecord
+					SET RECORDSTATUS = 3,
+						UPDATETIME = SYSDATE
+					WHERE USERID = %v AND TEMPLATETYPE = 1 
+				`, req.UserId)
+		_, err = db.GetEngine().Exec(sql)
+		if err == nil {
+			rsp = BankCard4Rsp{Code: "0", Description: "认证通过"}
+		}
+	}
+
+	return
+}

+ 1 - 0
services/tencent-cloud/models.go

@@ -0,0 +1 @@
+package tencentcloud

+ 33 - 0
utils/TencentCloud.go

@@ -0,0 +1,33 @@
+package utils
+
+import (
+	SysConfig "mtp2_if/config"
+
+	"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common"
+	"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile"
+	faceid "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/faceid/v20180301"
+)
+
+var TencenCloudFaceIdClient *faceid.Client
+
+// InitTencentCloudClient 初始化Client
+func InitTencentCloudClient() (err error) {
+	secretId := SysConfig.SerCfg.TencentCloudCfg.SecretId
+	secretKey := SysConfig.SerCfg.TencentCloudCfg.SecretKey
+
+	// 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey,此处还需注意密钥对的保密
+	// 密钥可前往https://console.cloud.tencent.com/cam/capi网站进行获取
+	credential := common.NewCredential(
+		secretId,
+		secretKey,
+	)
+	// 实例化一个client选项,可选的,没有特殊需求可以跳过
+	cpf := profile.NewClientProfile()
+	cpf.HttpProfile.Endpoint = SysConfig.SerCfg.TencentCloudCfg.FaceIdEndPoint
+	TencenCloudFaceIdClient, err = faceid.NewClient(credential, "", cpf)
+	if err != nil {
+		return
+	}
+
+	return
+}