Explorar el Código

增加接口:
/Ferroalloy/QueryUserLevelInfo
查询用户等级信息

zhou.xiaoning hace 3 años
padre
commit
c0870713e1

+ 29 - 1
controllers/ferroalloy/mine.go

@@ -2,7 +2,10 @@ package ferroalloy
 
 import (
 	"mtp2_if/global/app"
+	"mtp2_if/global/e"
+	"mtp2_if/logger"
 	"mtp2_if/models"
+	"net/http"
 
 	"github.com/gin-gonic/gin"
 )
@@ -11,7 +14,7 @@ import (
 // @Summary  查询我的推荐列表
 // @Produce json
 // @Security ApiKeyAuth
-// @Param    userid   query    int true  "用户ID"
+// @Param    userid query    int true "用户ID"
 // @Param    page     query    int false "页码"
 // @Param    pagesize query    int false "每页条数"
 // @Success  200      {array}  models.MyRefer
@@ -39,3 +42,28 @@ func QueryMyRegisterMoney(c *gin.Context) {
 	a.DoBindReq(&m)
 	a.DoGetDataEx(&m)
 }
+
+// QueryUserLevelInfo
+// @Summary  查询用户等级信息
+// @Produce  json
+// @Security ApiKeyAuth
+// @Param    userid   query    int true  "用户ID"
+// @Success  200    {array}  models.THJUserLevelInfo
+// @Failure  500    {object} app.Response
+// @Router   /Ferroalloy/QueryUserLevelInfo [get]
+// @Tags     铁合金
+func QueryUserLevelInfo(c *gin.Context) {
+	a := app.GinUtils{Gin: app.Gin{C: c}}
+	m := models.THJUserLevelInfo{}
+	if err := a.C.ShouldBind(&m); err != nil {
+		a.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
+		return
+	}
+
+	if err := m.Get(); err == nil {
+		a.Gin.Response(http.StatusOK, e.SUCCESS, m)
+	} else {
+		logger.GetLogger().Errorf("query fail, %v", err)
+		a.Gin.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
+	}
+}

+ 6 - 5
controllers/guangzuan/tradeService.go

@@ -17,9 +17,10 @@ import (
 // @Security LoginID
 // @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 "每页条数"
-// @Success  200      {array}  models.GzcjjcorderM
+// @Success  200           {array}  models.GzcjjcorderM
 // @Failure  500           {object} app.Response
 // @Router   /Guangzuan/QueryGZCJJCOrder [get]
 // @Tags     广钻
@@ -36,12 +37,12 @@ func QueryGZCJJCOrder(c *gin.Context) {
 // @Security ApiKeyAuth
 // @Security LoginID
 // @Security Group
-// @Param    userid   query    int true  "用户ID"
+// @Param    userid        query    int true  "用户ID"
 // @Param    orderid  query    int 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
+// @Failure  500           {object} app.Response
 // @Router   /Guangzuan/QueryGZCJJCOrderDetail [get]
 // @Tags     广钻
 func QueryGZCJJCOrderDetail(c *gin.Context) {

+ 77 - 0
docs/docs.go

@@ -8424,6 +8424,48 @@ const docTemplate = `{
                 }
             }
         },
+        "/Ferroalloy/QueryUserLevelInfo": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "铁合金"
+                ],
+                "summary": "查询用户等级信息",
+                "parameters": [
+                    {
+                        "type": "integer",
+                        "description": "用户ID",
+                        "name": "userid",
+                        "in": "query",
+                        "required": true
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "OK",
+                        "schema": {
+                            "type": "array",
+                            "items": {
+                                "$ref": "#/definitions/models.THJUserLevelInfo"
+                            }
+                        }
+                    },
+                    "500": {
+                        "description": "Internal Server Error",
+                        "schema": {
+                            "$ref": "#/definitions/app.Response"
+                        }
+                    }
+                }
+            }
+        },
         "/Ferroalloy/QueryUserScoreLog": {
             "get": {
                 "security": [
@@ -9172,6 +9214,12 @@ const docTemplate = `{
                     },
                     {
                         "type": "integer",
+                        "description": "执行状态 - 1:未生效 2:进行中 3:已结束",
+                        "name": "executestatus",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
                         "description": "页码",
                         "name": "page",
                         "in": "query"
@@ -40867,6 +40915,35 @@ const docTemplate = `{
                 }
             }
         },
+        "models.THJUserLevelInfo": {
+            "type": "object",
+            "properties": {
+                "appup": {
+                    "description": "晋升已累计的数量",
+                    "type": "integer"
+                },
+                "checkday": {
+                    "description": "最近一次考核日",
+                    "type": "string"
+                },
+                "levelgroup": {
+                    "description": "当前等级",
+                    "type": "string"
+                },
+                "nextlevelgroup": {
+                    "description": "下一等级",
+                    "type": "string"
+                },
+                "notyet": {
+                    "description": "晋升还差多少数量",
+                    "type": "integer"
+                },
+                "progress": {
+                    "description": "进度",
+                    "type": "number"
+                }
+            }
+        },
         "models.THJWrstandard": {
             "type": "object",
             "properties": {

+ 77 - 0
docs/swagger.json

@@ -8415,6 +8415,48 @@
                 }
             }
         },
+        "/Ferroalloy/QueryUserLevelInfo": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "铁合金"
+                ],
+                "summary": "查询用户等级信息",
+                "parameters": [
+                    {
+                        "type": "integer",
+                        "description": "用户ID",
+                        "name": "userid",
+                        "in": "query",
+                        "required": true
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "OK",
+                        "schema": {
+                            "type": "array",
+                            "items": {
+                                "$ref": "#/definitions/models.THJUserLevelInfo"
+                            }
+                        }
+                    },
+                    "500": {
+                        "description": "Internal Server Error",
+                        "schema": {
+                            "$ref": "#/definitions/app.Response"
+                        }
+                    }
+                }
+            }
+        },
         "/Ferroalloy/QueryUserScoreLog": {
             "get": {
                 "security": [
@@ -9163,6 +9205,12 @@
                     },
                     {
                         "type": "integer",
+                        "description": "执行状态 - 1:未生效 2:进行中 3:已结束",
+                        "name": "executestatus",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
                         "description": "页码",
                         "name": "page",
                         "in": "query"
@@ -40858,6 +40906,35 @@
                 }
             }
         },
+        "models.THJUserLevelInfo": {
+            "type": "object",
+            "properties": {
+                "appup": {
+                    "description": "晋升已累计的数量",
+                    "type": "integer"
+                },
+                "checkday": {
+                    "description": "最近一次考核日",
+                    "type": "string"
+                },
+                "levelgroup": {
+                    "description": "当前等级",
+                    "type": "string"
+                },
+                "nextlevelgroup": {
+                    "description": "下一等级",
+                    "type": "string"
+                },
+                "notyet": {
+                    "description": "晋升还差多少数量",
+                    "type": "integer"
+                },
+                "progress": {
+                    "description": "进度",
+                    "type": "number"
+                }
+            }
+        },
         "models.THJWrstandard": {
             "type": "object",
             "properties": {

+ 51 - 0
docs/swagger.yaml

@@ -17073,6 +17073,27 @@ definitions:
     - marketid
     - userid
     type: object
+  models.THJUserLevelInfo:
+    properties:
+      appup:
+        description: 晋升已累计的数量
+        type: integer
+      checkday:
+        description: 最近一次考核日
+        type: string
+      levelgroup:
+        description: 当前等级
+        type: string
+      nextlevelgroup:
+        description: 下一等级
+        type: string
+      notyet:
+        description: 晋升还差多少数量
+        type: integer
+      progress:
+        description: 进度
+        type: number
+    type: object
   models.THJWrstandard:
     properties:
       areauserid:
@@ -29569,6 +29590,32 @@ paths:
       summary: 查询采购详情
       tags:
       - 铁合金
+  /Ferroalloy/QueryUserLevelInfo:
+    get:
+      parameters:
+      - description: 用户ID
+        in: query
+        name: userid
+        required: true
+        type: integer
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: OK
+          schema:
+            items:
+              $ref: '#/definitions/models.THJUserLevelInfo'
+            type: array
+        "500":
+          description: Internal Server Error
+          schema:
+            $ref: '#/definitions/app.Response'
+      security:
+      - ApiKeyAuth: []
+      summary: 查询用户等级信息
+      tags:
+      - 铁合金
   /Ferroalloy/QueryUserScoreLog:
     get:
       parameters:
@@ -30009,6 +30056,10 @@ paths:
         name: userid
         required: true
         type: integer
+      - description: 执行状态 - 1:未生效 2:进行中 3:已结束
+        in: query
+        name: executestatus
+        type: integer
       - description: 页码
         in: query
         name: page

+ 66 - 3
models/ferroalloy.go

@@ -1533,7 +1533,70 @@ func (r *PromotionIncomeDetail) GetDataByPage() (interface{}, error, int, int, i
 }
 
 type THJUserLevelInfo struct {
-	LEVELGROUPID     int32  `json:"levelgroupid" xorm:"LEVELGROUPID"`         // 交易商级别分组(THJ)
-	NEXTLEVELGROUPID int32  `json:"nextlevelgroupid" xorm:"NEXTLEVELGROUPID"` // 下一级别交易商级别分组(THJ)
-	CheckDay         string `json:"checkday" xorm:"-"`
+	LEVELGROUP       string  `json:"levelgroup" xorm:"LEVELGROUP"`         // 当前等级
+	NEXTLEVELGROUPID string  `json:"nextlevelgroup" xorm:"NEXTLEVELGROUP"` // 下一等级
+	CheckDay         string  `json:"checkday" xorm:"-"`                    // 最近一次考核日
+	AppUp            int     `json:"appup"`                                // 晋升已累计的数量
+	NotYet           int     `json:"notyet"`                               // 晋升还差多少数量
+	Progress         float64 `json:"progress"`                             // 进度
+
+	USERID int64 `json:"-" xorm:"-" form:"userid" binding:"required"` // 用户ID
+}
+
+func (r *THJUserLevelInfo) Get() (err error) {
+	type tmpStruct struct {
+		USERID            int64   `json:"userid" xorm:"USERID"`                       // 用户ID
+		LEVELGROUPID      int32   `json:"levelgroupid" xorm:"LEVELGROUPID"`           // 交易商级别分组(THJ)
+		BUYTOTALQTY       int64   `json:"buytotalqty" xorm:"BUYTOTALQTY"`             // 一级买总量(采购市场)(THJ)
+		BUYTOTALQTY2      int64   `json:"buytotalqty2" xorm:"BUYTOTALQTY2"`           // 一级买总量(供求市场)(THJ)
+		BROKERPROFITRATE  float64 `json:"brokerprofitrate" xorm:"BROKERPROFITRATE"`   // 会员采购分出比例(THJ)
+		BROKERPROFITRATE2 float64 `json:"brokerprofitrate2" xorm:"BROKERPROFITRATE2"` // 会员供求分出比例(THJ)
+		BROKERPROFITRATE3 float64 `json:"brokerprofitrate3" xorm:"BROKERPROFITRATE3"` // 会员转让分出比例(THJ)
+		BUYTOTALQTY3      int64   `json:"buytotalqty3" xorm:"BUYTOTALQTY3"`           // 一级买总量(合同转让)(THJ)
+
+		GROUPNAME  string `json:"groupname" xorm:"GROUPNAME"`   // 分级名称
+		GROUPNAME2 string `json:"groupname2" xorm:"GROUPNAME2"` // 下一级分级名称
+		UPBUYQTY   int32  `json:"upbuyqty" xorm:"UPBUYQTY"`     // 晋级一级采购总量
+	}
+	t := tmpStruct{}
+	sql := fmt.Sprintf(`
+	select 
+		i.GROUPNAME, 
+		i2.groupname GROUPNAME2,
+		i2.UPBUYQTY,
+		t.* 
+	from thj_useraccount t 
+	left join thj_investorlevelgroup i on i.levelgroupid = t.levelgroupid
+	left join thj_investorlevelgroup i2 on i2.levelgroupid = (t.levelgroupid + 1)
+	where t.userid = %v`, r.USERID)
+	_, err = db.GetEngine().SQL(sql).Get(&t)
+	if err != nil {
+		return
+	}
+	r.LEVELGROUP = t.GROUPNAME
+	r.NEXTLEVELGROUPID = t.GROUPNAME2
+	r.AppUp = int(t.BUYTOTALQTY) + int(t.BUYTOTALQTY2) + int(t.BUYTOTALQTY3)
+	r.NotYet = int(t.UPBUYQTY) - r.AppUp
+	r.Progress = float64(r.AppUp) / float64(t.UPBUYQTY)
+
+	dates := make([]string, 0)
+	sql = `
+	select aa.d from 
+	(select to_char(to_date(extract(year from sysdate) || t.checkday, 'yyyymmdd'),'yyyy-mm-dd') d,
+		(to_date(extract(year from sysdate) || t.checkday,'yyyymmdd') - sysdate) a
+	from thj_investorcheckday t
+	union
+	select to_char(to_date(extract(year from sysdate) + 1 || t.checkday, 'yyyymmdd'),'yyyy-mm-dd') d,
+		(to_date(extract(year from sysdate)+1 || t.checkday,'yyyymmdd') - sysdate) a
+	from thj_investorcheckday t) aa where aa.a >= 0 order by aa.a
+	`
+	err = db.GetEngine().SQL(sql).Find(&dates)
+	if err != nil {
+		return
+	}
+	if len(dates) > 0 {
+		r.CheckDay = dates[0]
+	}
+
+	return
 }

+ 39 - 38
models/guangzuan.go

@@ -2512,43 +2512,43 @@ func (r *GZHomeData) GetGZHomeData() (err error) {
 
 // GzcjjcorderM 出境检测单据表
 type GzcjjcorderM struct {
-	ORDERID           int64     `json:"orderid" xorm:"ORDERID"`                                // 单据ID(801+Unix秒时间戳(10位)+xxxxxx)
-	USERID            int64     `json:"userid" xorm:"USERID" form:"userid" binding:"required"` // 用户ID
-	ACCOUNTID         int64     `json:"accountid" xorm:"ACCOUNTID"`                            // 资金账户ID
-	ORDERSN           string    `json:"ordersn" xorm:"ORDERSN"`                                // 单据流水号 - yymm000 - yy表示年份,mm表示月份,年份、月份以两位数表示;000表示流水序号,序号不足三位以0补全
-	ORDERNO           string    `json:"orderno" xorm:"ORDERNO"`                                // 单据编号 - 合同编号:GZDECJJC+单据流水号
-	GZCJACCOUNTTYPE   int32     `json:"gzcjaccounttype" xorm:"GZCJACCOUNTTYPE"`                // 检测账户类型 - 枚举"GZCJAccountType"
-	GZCJACCOUNT       string    `json:"gzcjaccount" xorm:"GZCJACCOUNT"`                        // 送检账户
-	COMPANYNAMECN     string    `json:"companynamecn" xorm:"COMPANYNAMECN"`                    // 公司名称(中文)
-	COMPANYNAMEEN     string    `json:"companynameen" xorm:"COMPANYNAMEEN"`                    // 公司名称(英文)
-	ADDRESSCN         string    `json:"addresscn" xorm:"ADDRESSCN"`                            // 地址(中文)
-	ADDRESSEN         string    `json:"addressen" xorm:"ADDRESSEN"`                            // 地址(英文)
-	CONTACTNAME       string    `json:"contactname" xorm:"CONTACTNAME"`                        // 联系人姓名
-	CONTACTPOSITION   string    `json:"contactposition" xorm:"CONTACTPOSITION"`                // 联系人职位
-	CONTACTPHONENO    string    `json:"contactphoneno" xorm:"CONTACTPHONENO"`                  // 联系人电话
-	EMAIL             string    `json:"email" xorm:"EMAIL"`                                    // 邮箱
-	GZCJCATEGORYTYPE  int32     `json:"gzcjcategorytype" xorm:"GZCJCATEGORYTYPE"`              // 货物品类 -  枚举"GZCJCategoryType"
-	PROCESSINGCOUNTRY string    `json:"processingcountry" xorm:"PROCESSINGCOUNTRY"`            // 成品钻石加工国
-	ZSORIGIN          string    `json:"zsorigin" xorm:"ZSORIGIN"`                              // 天然钻石毛坯原产地
-	GZCJDELIVERYTYPE  int32     `json:"gzcjdeliverytype" xorm:"GZCJDELIVERYTYPE"`              // 收货方式 - 枚举"GZCJDeliveryType"
-	GZCJSTATUS        int32     `json:"gzcjstatus" xorm:"GZCJSTATUS"`                          // 单据状态(出境检测) -  枚举"GZCJStatus"
-	TOTALNUMBER       int32     `json:"totalnumber" xorm:"TOTALNUMBER"`                        // 总粒数
-	TOTALWEIGHT       float64   `json:"totalweight" xorm:"TOTALWEIGHT"`                        // 总克拉数(保留3位小数)
-	TOTALAMOUNT       float64   `json:"totalamount" xorm:"TOTALAMOUNT"`                        // 总金额(美元)
-	CREATETIME        time.Time `json:"createtime" xorm:"CREATETIME"`                          // 创建时间
-	ADVANCEAMOUNT     float64   `json:"advanceamount" xorm:"ADVANCEAMOUNT"`                    // 总预付款
-	SETTLEAMOUNT      float64   `json:"settleamount" xorm:"SETTLEAMOUNT"`                      // 总结算费用
-	HANDLESTATUS      int32     `json:"handlestatus" xorm:"HANDLESTATUS"`                      // 处理状态
-	EXECUTESTATUS     int32     `json:"executestatus" xorm:"EXECUTESTATUS"`                    // 执行状态 - 1:未生效 2:进行中 3:已结束
-	SERVICEFEESUM     float64   `json:"servicefeesum" xorm:"SERVICEFEESUM"`                    // 汇总综合服务费 - 明细上值汇总
-	REALSERVICEFEE    float64   `json:"realservicefee" xorm:"REALSERVICEFEE"`                  // 应收综合服务费
-	TOTALWEIGHTGM     float64   `json:"totalweightgm" xorm:"TOTALWEIGHTGM"`                    // 总净重(克)  = TotalWeight * 0.2 (2位小数)
-	TOTALGROSSWEIGHT  float64   `json:"totalgrossweight" xorm:"TOTALGROSSWEIGHT"`              // 总毛重(克) = 每100颗单颗裸石毛重200克,毛重不足200克按200克计 (TotalNumber/100 向上取整) * 200
-	ORIGINCOUNTRY     string    `json:"origincountry" xorm:"ORIGINCOUNTRY"`                    // 原产国
-	INVOICEREMARK     string    `json:"invoiceremark" xorm:"INVOICEREMARK"`                    // 复核备注 - 发票装箱单使用
-	WEIGHTRANGE       string    `json:"weightrange" xorm:"WEIGHTRANGE"`                        // 重量规格范围 - Min(Weight) - Max(Weight)
-	SHAPERANGE        string    `json:"shaperange" xorm:"SHAPERANGE"`                          // 形状范围
-	COLORRANGE        string    `json:"colorrange" xorm:"COLORRANGE"`                          // 颜色范围
+	ORDERID           int64     `json:"orderid" xorm:"ORDERID"`                                  // 单据ID(801+Unix秒时间戳(10位)+xxxxxx)
+	USERID            int64     `json:"userid" xorm:"USERID" form:"userid" binding:"required"`   // 用户ID
+	ACCOUNTID         int64     `json:"accountid" xorm:"ACCOUNTID"`                              // 资金账户ID
+	ORDERSN           string    `json:"ordersn" xorm:"ORDERSN"`                                  // 单据流水号 - yymm000 - yy表示年份,mm表示月份,年份、月份以两位数表示;000表示流水序号,序号不足三位以0补全
+	ORDERNO           string    `json:"orderno" xorm:"ORDERNO"`                                  // 单据编号 - 合同编号:GZDECJJC+单据流水号
+	GZCJACCOUNTTYPE   int32     `json:"gzcjaccounttype" xorm:"GZCJACCOUNTTYPE"`                  // 检测账户类型 - 枚举"GZCJAccountType"
+	GZCJACCOUNT       string    `json:"gzcjaccount" xorm:"GZCJACCOUNT"`                          // 送检账户
+	COMPANYNAMECN     string    `json:"companynamecn" xorm:"COMPANYNAMECN"`                      // 公司名称(中文)
+	COMPANYNAMEEN     string    `json:"companynameen" xorm:"COMPANYNAMEEN"`                      // 公司名称(英文)
+	ADDRESSCN         string    `json:"addresscn" xorm:"ADDRESSCN"`                              // 地址(中文)
+	ADDRESSEN         string    `json:"addressen" xorm:"ADDRESSEN"`                              // 地址(英文)
+	CONTACTNAME       string    `json:"contactname" xorm:"CONTACTNAME"`                          // 联系人姓名
+	CONTACTPOSITION   string    `json:"contactposition" xorm:"CONTACTPOSITION"`                  // 联系人职位
+	CONTACTPHONENO    string    `json:"contactphoneno" xorm:"CONTACTPHONENO"`                    // 联系人电话
+	EMAIL             string    `json:"email" xorm:"EMAIL"`                                      // 邮箱
+	GZCJCATEGORYTYPE  int32     `json:"gzcjcategorytype" xorm:"GZCJCATEGORYTYPE"`                // 货物品类 -  枚举"GZCJCategoryType"
+	PROCESSINGCOUNTRY string    `json:"processingcountry" xorm:"PROCESSINGCOUNTRY"`              // 成品钻石加工国
+	ZSORIGIN          string    `json:"zsorigin" xorm:"ZSORIGIN"`                                // 天然钻石毛坯原产地
+	GZCJDELIVERYTYPE  int32     `json:"gzcjdeliverytype" xorm:"GZCJDELIVERYTYPE"`                // 收货方式 - 枚举"GZCJDeliveryType"
+	GZCJSTATUS        int32     `json:"gzcjstatus" xorm:"GZCJSTATUS"`                            // 单据状态(出境检测) -  枚举"GZCJStatus"
+	TOTALNUMBER       int32     `json:"totalnumber" xorm:"TOTALNUMBER"`                          // 总粒数
+	TOTALWEIGHT       float64   `json:"totalweight" xorm:"TOTALWEIGHT"`                          // 总克拉数(保留3位小数)
+	TOTALAMOUNT       float64   `json:"totalamount" xorm:"TOTALAMOUNT"`                          // 总金额(美元)
+	CREATETIME        time.Time `json:"createtime" xorm:"CREATETIME"`                            // 创建时间
+	ADVANCEAMOUNT     float64   `json:"advanceamount" xorm:"ADVANCEAMOUNT"`                      // 总预付款
+	SETTLEAMOUNT      float64   `json:"settleamount" xorm:"SETTLEAMOUNT"`                        // 总结算费用
+	HANDLESTATUS      int32     `json:"handlestatus" xorm:"HANDLESTATUS"`                        // 处理状态
+	EXECUTESTATUS     int32     `json:"executestatus" xorm:"EXECUTESTATUS" form:"executestatus"` // 执行状态 - 1:未生效 2:进行中 3:已结束
+	SERVICEFEESUM     float64   `json:"servicefeesum" xorm:"SERVICEFEESUM"`                      // 汇总综合服务费 - 明细上值汇总
+	REALSERVICEFEE    float64   `json:"realservicefee" xorm:"REALSERVICEFEE"`                    // 应收综合服务费
+	TOTALWEIGHTGM     float64   `json:"totalweightgm" xorm:"TOTALWEIGHTGM"`                      // 总净重(克)  = TotalWeight * 0.2 (2位小数)
+	TOTALGROSSWEIGHT  float64   `json:"totalgrossweight" xorm:"TOTALGROSSWEIGHT"`                // 总毛重(克) = 每100颗单颗裸石毛重200克,毛重不足200克按200克计 (TotalNumber/100 向上取整) * 200
+	ORIGINCOUNTRY     string    `json:"origincountry" xorm:"ORIGINCOUNTRY"`                      // 原产国
+	INVOICEREMARK     string    `json:"invoiceremark" xorm:"INVOICEREMARK"`                      // 复核备注 - 发票装箱单使用
+	WEIGHTRANGE       string    `json:"weightrange" xorm:"WEIGHTRANGE"`                          // 重量规格范围 - Min(Weight) - Max(Weight)
+	SHAPERANGE        string    `json:"shaperange" xorm:"SHAPERANGE"`                            // 形状范围
+	COLORRANGE        string    `json:"colorrange" xorm:"COLORRANGE"`                            // 颜色范围
 
 	GZCJCATEGORYTYPEDISPLAY string `json:"gzcjcategorytypedisplay" xorm:"GZCJCATEGORYTYPEDISPLAY"` // 货物品类
 	GZCJDELIVERYTYPEDISPLAY string `json:"gzcjdeliverytypedisplay" xorm:"GZCJDELIVERYTYPEDISPLAY"` // 收货方式
@@ -2575,6 +2575,7 @@ func (r *GzcjjcorderM) buildSql() string {
 	WHERE t.USERID = %v
 	`
 	sqlId.FormatParam(r.USERID)
+	sqlId.JoinFormat("and t.EXECUTESTATUS = %v", r.EXECUTESTATUS, r.EXECUTESTATUS > 0)
 	sqlId.OrderByDesc("t.CREATETIME")
 
 	sqlId.Page(r.Page, r.PageSize)
@@ -2751,7 +2752,7 @@ func (r *GzbsfworderM) buildSql() string {
 	WHERE t.USERID = %v
 	`
 	sqlId.FormatParam(r.USERID)
-	sqlId.JoinFormat("and t.EXECUTESTATUS = %v", r.EXECUTESTATUS, r.EXECUTESTATUS > 0)
+	sqlId.AndEx("t.EXECUTESTATUS", r.EXECUTESTATUS, r.EXECUTESTATUS > 0)
 	sqlId.OrderByDesc("t.CREATETIME")
 
 	sqlId.Page(r.Page, r.PageSize)

+ 54 - 0
models/ori.go

@@ -259,3 +259,57 @@ type Thjuserscorelog struct {
 func (r *Thjuserscorelog) TableName() string {
 	return "THJ_USERSCORELOG"
 }
+
+// Thjuseraccount 用户扩展表(铁合金)
+type Thjuseraccount struct {
+	USERID            int64   `json:"userid" xorm:"USERID"`                       // 用户ID
+	LEVELGROUPID      int32   `json:"levelgroupid" xorm:"LEVELGROUPID"`           // 交易商级别分组(THJ)
+	BUYTOTALQTY       int64   `json:"buytotalqty" xorm:"BUYTOTALQTY"`             // 一级买总量(采购市场)(THJ)
+	BUYTOTALQTY2      int64   `json:"buytotalqty2" xorm:"BUYTOTALQTY2"`           // 一级买总量(供求市场)(THJ)
+	BROKERPROFITRATE  float64 `json:"brokerprofitrate" xorm:"BROKERPROFITRATE"`   // 会员采购分出比例(THJ)
+	BROKERPROFITRATE2 float64 `json:"brokerprofitrate2" xorm:"BROKERPROFITRATE2"` // 会员供求分出比例(THJ)
+	BROKERPROFITRATE3 float64 `json:"brokerprofitrate3" xorm:"BROKERPROFITRATE3"` // 会员转让分出比例(THJ)
+	BUYTOTALQTY3      int64   `json:"buytotalqty3" xorm:"BUYTOTALQTY3"`           // 一级买总量(合同转让)(THJ)
+}
+
+// TableName is THJ_USERACCOUNT
+func (r *Thjuseraccount) TableName() string {
+	return "THJ_USERACCOUNT"
+}
+
+// Thjinvestorlevelgroup 交易商级别分组表
+type Thjinvestorlevelgroup struct {
+	LEVELGROUPID       int64     `json:"levelgroupid" xorm:"LEVELGROUPID"`             // 自增ID(SEQ_THJ_INVESTORLEVELGROUP)
+	GROUPLEVEL         int32     `json:"grouplevel" xorm:"GROUPLEVEL"`                 // 分组级别 - 唯一
+	GROUPNAME          string    `json:"groupname" xorm:"GROUPNAME"`                   // 分级名称
+	UPBUYQTY           int32     `json:"upbuyqty" xorm:"UPBUYQTY"`                     // 晋级一级采购总量
+	KEEPBUYQTY         int32     `json:"keepbuyqty" xorm:"KEEPBUYQTY"`                 // 保级一级采购总量
+	UPDATORID          int64     `json:"updatorid" xorm:"UPDATORID"`                   // 更新人
+	UPDATETIME         time.Time `json:"updatetime" xorm:"UPDATETIME"`                 // 平台更新时间
+	LEVELONEALGORITHM  int32     `json:"levelonealgorithm" xorm:"LEVELONEALGORITHM"`   // 一级分润算法(采购) 1:比率  2:固定
+	LEVELONEVALUE      float64   `json:"levelonevalue" xorm:"LEVELONEVALUE"`           // 一级分润值(采购)
+	LEVELTWOALGORITHM  int32     `json:"leveltwoalgorithm" xorm:"LEVELTWOALGORITHM"`   // 二级级分润算法(采购) 1:比率  2:固定
+	LEVELTWOVALUE      float64   `json:"leveltwovalue" xorm:"LEVELTWOVALUE"`           // 二级分润值(采购)
+	LEVELONEALGORITHM2 int32     `json:"levelonealgorithm2" xorm:"LEVELONEALGORITHM2"` // 一级分润算法(供求) 1:比率  2:固定
+	LEVELONEVALUE2     float64   `json:"levelonevalue2" xorm:"LEVELONEVALUE2"`         // 一级分润值(供求)
+	LEVELONEALGORITHM3 int32     `json:"levelonealgorithm3" xorm:"LEVELONEALGORITHM3"` // 一级分润算法(转让) 1:比率  2:固定
+	LEVELONEVALUE3     float64   `json:"levelonevalue3" xorm:"LEVELONEVALUE3"`         // 一级分润值(转让)
+}
+
+// TableName is THJ_INVESTORLEVELGROUP
+func (r *Thjinvestorlevelgroup) TableName() string {
+	return "THJ_INVESTORLEVELGROUP"
+}
+
+// Thjinvestorcheckday 交易商考核时间表
+type Thjinvestorcheckday struct {
+	AUTOID     int64     `json:"autoid" xorm:"AUTOID"`         // AutoID(SEQ_THJ_INVESTORCHECKDAY)
+	CHECKDAY   string    `json:"checkday" xorm:"CHECKDAY"`     // 考核日期(MMdd)
+	CREATORID  int64     `json:"creatorid" xorm:"CREATORID"`   // 创建人
+	CREATETIME time.Time `json:"createtime" xorm:"CREATETIME"` // 创建时间
+}
+
+// TableName is THJ_INVESTORCHECKDAY
+func (r *Thjinvestorcheckday) TableName() string {
+	return "THJ_INVESTORCHECKDAY"
+}

+ 1 - 0
routers/router.go

@@ -709,6 +709,7 @@ func InitRouter() *gin.Engine {
 		ferroalloyR.Use(token.Auth()).GET("QueryTHJPromotionIncome", ferroalloy.QueryTHJPromotionIncome)
 		ferroalloyR.Use(token.Auth()).GET("QueryTHJPromotionIncomeDetail", ferroalloy.QueryTHJPromotionIncomeDetail)
 		ferroalloyR.Use(token.Auth()).GET("QueryTHJPurchaseTransferOrderDetail", ferroalloy.QueryTHJPurchaseTransferOrderDetail)
+		ferroalloyR.Use(token.Auth()).GET("QueryUserLevelInfo", ferroalloy.QueryUserLevelInfo)
 	}
 
 	return r