Parcourir la source

1.用户资料接口增加email/证件反面照字段
2.增加查机构库存新接口
3.联调问题修改

zou.yingbin il y a 4 ans
Parent
commit
d72d4db2dd
10 fichiers modifiés avec 920 ajouts et 2960 suppressions
  1. 16 0
      controllers/ermcp3/qryErmcp3.go
  2. 278 485
      docs/docs.go
  3. 278 485
      docs/swagger.json
  4. 296 1963
      docs/swagger.yaml
  5. 24 24
      models/ermcp3.go
  6. 8 2
      models/ermcpAccMgr.go
  7. 8 1
      models/ermcpUser.go
  8. 1 0
      routers/router.go
  9. 4 0
      utils/encryptUtils.go
  10. 7 0
      utils/sqlUtils.go

+ 16 - 0
controllers/ermcp3/qryErmcp3.go

@@ -297,6 +297,22 @@ func QueryAreaStockApply(c *gin.Context) {
 	a.DoGetDataI(&m)
 }
 
+// QueryAreaStock
+// @Summary 查询机构库存(库存管理/当前库存)
+// @Produce json
+// @Security ApiKeyAuth
+// @Param userid query int true "用户ID"
+// @Success 200 {array} models.Ermcp3AreaStock
+// @Failure 500 {object} app.Response
+// @Router /Ermcp3/QueryAreaStock [get]
+// @Tags 企业风险管理v3(app)
+func QueryAreaStock(c *gin.Context) {
+	a := app.GinUtils{Gin: app.Gin{C: c}}
+	m := models.Ermcp3AreaStock{}
+	a.DoBindReq(&m)
+	a.DoGetDataI(&m)
+}
+
 // QueryAreaStockApplySum
 // @Summary 查询已登记出入库信息(入库登记/已入库信息 | 出库登记/已出库信息)
 // @Produce json

Fichier diff supprimé car celui-ci est trop grand
+ 278 - 485
docs/docs.go


Fichier diff supprimé car celui-ci est trop grand
+ 278 - 485
docs/swagger.json


Fichier diff supprimé car celui-ci est trop grand
+ 296 - 1963
docs/swagger.yaml


+ 24 - 24
models/ermcp3.go

@@ -1207,30 +1207,30 @@ func (r *Ermcp3AreaStockApplySum) GetDataEx() (interface{}, error) {
 
 // Ermcp3AreaStock 机构库存表
 type Ermcp3AreaStock struct {
-	TODAYBUYINQTY      float64 `json:"todaybuyinqty"  xorm:"'TODAYBUYINQTY'"`           // 今日采购入库量
-	TODAYPRODUCEINQTY  float64 `json:"todayproduceinqty"  xorm:"'TODAYPRODUCEINQTY'"`   // 今日生产入库量
-	TODAYSELLOUTQTY    float64 `json:"todayselloutqty"  xorm:"'TODAYSELLOUTQTY'"`       // 今日销售出库量
-	TODAYPRODUCEOUTQTY float64 `json:"todayproduceoutqty"  xorm:"'TODAYPRODUCEOUTQTY'"` // 今日生产出库量
-	UPDATETIME         string  `json:"updatetime"  xorm:"'UPDATETIME'"`                 // 更新时间
-	USERID             int64   `json:"userid"  xorm:"'USERID'"`                         // 机构ID
-	WRSTANDARDID       string  `json:"wrstandardid"  xorm:"'WRSTANDARDID'"`             // 品类ID
-	SPOTGOODSBRANDID   int32   `json:"spotgoodsbrandid"  xorm:"'SPOTGOODSBRANDID'"`     // 现货品牌ID
-	WAREHOUSEINFOID    string  `json:"warehouseinfoid"  xorm:"'WAREHOUSEINFOID'"`       // 仓库ID
-	ORISTOCK           float64 `json:"oristock"  xorm:"'ORISTOCK'"`                     // 期初库存量(昨日量)
-	CURSTOCK           float64 `json:"curstock"  xorm:"'CURSTOCK'"`                     // 期末库存量(今日量)
-	WRSTANDARDNAME     string  `json:"wrstandardname"  xorm:"'WRSTANDARDNAME'"`         // 品类名称
-	WRSTANDARDCODE     string  `json:"wrstandardcode"  xorm:"'WRSTANDARDCODE'"`         // 品类代码
-	UNITID             int32   `json:"unitid"  xorm:"'UNITID'"`                         // 单位id
-	BRANDNAME          string  `json:"brandname"  xorm:"'BRANDNAME'"`                   // 品牌名称
-	WAREHOUSENAME      string  `json:"warehousename"  xorm:"'WAREHOUSENAME'"`           // 仓库名称
-	WAREHOUSECODE      string  `json:"warehousecode"  xorm:"'WAREHOUSECODE'"`           // 仓库代码
-	WAREHOUSETYPE      int32   `json:"warehousetype"  xorm:"'WAREHOUSETYPE'"`           // 仓库类型 - 1 厂库  2 自有库  3 合作库
-	USERNAME           string  `json:"username"`                                        // 机构名称
-	ENUMDICNAME        string  `json:"enumdicname"`                                     // 单位名称
-	DELIVERYGOODSID    int32   `json:"deliverygoodsid"  xorm:"'DELIVERYGOODSID'"`       // 现货品种id
-	DELIVERYGOODSCODE  string  `json:"deliverygoodscode"  xorm:"'DELIVERYGOODSCODE'"`   // 现货品种代码
-	DELIVERYGOODSNAME  string  `json:"deliverygoodsname"  xorm:"'DELIVERYGOODSNAME'"`   // 现货品种名称
-	GOODSUNITID        int32   `json:"goodsunitid"  xorm:"'GOODSUNITID'"`               // 现货商品单位id
+	TODAYBUYINQTY      float64 `json:"todaybuyinqty"  xorm:"'TODAYBUYINQTY'"`                    // 今日采购入库量
+	TODAYPRODUCEINQTY  float64 `json:"todayproduceinqty"  xorm:"'TODAYPRODUCEINQTY'"`            // 今日生产入库量
+	TODAYSELLOUTQTY    float64 `json:"todayselloutqty"  xorm:"'TODAYSELLOUTQTY'"`                // 今日销售出库量
+	TODAYPRODUCEOUTQTY float64 `json:"todayproduceoutqty"  xorm:"'TODAYPRODUCEOUTQTY'"`          // 今日生产出库量
+	UPDATETIME         string  `json:"updatetime"  xorm:"'UPDATETIME'"`                          // 更新时间
+	USERID             int64   `json:"userid"  xorm:"'USERID'" form:"userid" binding:"required"` // 机构ID
+	WRSTANDARDID       string  `json:"wrstandardid"  xorm:"'WRSTANDARDID'"`                      // 品类ID
+	SPOTGOODSBRANDID   int32   `json:"spotgoodsbrandid"  xorm:"'SPOTGOODSBRANDID'"`              // 现货品牌ID
+	WAREHOUSEINFOID    string  `json:"warehouseinfoid"  xorm:"'WAREHOUSEINFOID'"`                // 仓库ID
+	ORISTOCK           float64 `json:"oristock"  xorm:"'ORISTOCK'"`                              // 期初库存量(昨日量)
+	CURSTOCK           float64 `json:"curstock"  xorm:"'CURSTOCK'"`                              // 期末库存量(今日量)
+	WRSTANDARDNAME     string  `json:"wrstandardname"  xorm:"'WRSTANDARDNAME'"`                  // 品类名称
+	WRSTANDARDCODE     string  `json:"wrstandardcode"  xorm:"'WRSTANDARDCODE'"`                  // 品类代码
+	UNITID             int32   `json:"unitid"  xorm:"'UNITID'"`                                  // 单位id
+	BRANDNAME          string  `json:"brandname"  xorm:"'BRANDNAME'"`                            // 品牌名称
+	WAREHOUSENAME      string  `json:"warehousename"  xorm:"'WAREHOUSENAME'"`                    // 仓库名称
+	WAREHOUSECODE      string  `json:"warehousecode"  xorm:"'WAREHOUSECODE'"`                    // 仓库代码
+	WAREHOUSETYPE      int32   `json:"warehousetype"  xorm:"'WAREHOUSETYPE'"`                    // 仓库类型 - 1 厂库  2 自有库  3 合作库
+	USERNAME           string  `json:"username"`                                                 // 机构名称
+	ENUMDICNAME        string  `json:"enumdicname"`                                              // 单位名称
+	DELIVERYGOODSID    int32   `json:"deliverygoodsid"  xorm:"'DELIVERYGOODSID'"`                // 现货品种id
+	DELIVERYGOODSCODE  string  `json:"deliverygoodscode"  xorm:"'DELIVERYGOODSCODE'"`            // 现货品种代码
+	DELIVERYGOODSNAME  string  `json:"deliverygoodsname"  xorm:"'DELIVERYGOODSNAME'"`            // 现货品种名称
+	GOODSUNITID        int32   `json:"goodsunitid"  xorm:"'GOODSUNITID'"`                        // 现货商品单位id
 }
 
 func (r *Ermcp3AreaStock) calc() {

+ 8 - 2
models/ermcpAccMgr.go

@@ -187,6 +187,8 @@ type ErmcpTaAccount struct {
 	RELATEDUSERID   int64  `json:"relateduserid"  xorm:"'RELATEDUSERID'"`     // 关联userid
 	ACCOUNTNAME     string `json:"accountname"  xorm:"'ACCOUNTNAME'"`         // 账户名称
 	PARENTACCOUNTID int64  `json:"parentaccountid"  xorm:"'PARENTACCOUNTID'"` // 父账户id
+
+	HEDGEACCOUNTCODE string `json:"hedgeaccountcode"  xorm:"'HEDGEACCOUNTCODE'"` // 主账号登录代码(仅当是主账号时有值,子账号没有登录账号)
 }
 
 func (r *ErmcpTaAccount) calc() {
@@ -200,8 +202,12 @@ func (r *ErmcpTaAccount) buildSql() string {
 		"       t.ismain," +
 		"       t.relateduserid," +
 		"       t.accountname," +
-		"       t.parentaccountid" +
+		"       t.parentaccountid," +
+		"       l.hedgeaccountcode" +
 		"  from taaccount t" +
+		"  left join hedge_outmainconfig l" +
+		"    on t.accountid = l.accountid" +
+		"   and t.ismain = 1" +
 		" where 1 = 1"
 	sqlId.And("t.relateduserid", r.RELATEDUSERID)
 	return sqlId.String()
@@ -236,7 +242,7 @@ func (r *ErmcpTaAccount) GetDataEx() (interface{}, error) {
 // MainAccountInfo 主账号详情
 type MainAccountInfo struct {
 	ACCOUNTID        string `json:"accountid"  xorm:"'ACCOUNTID'"`               // 账号id
-	HEDGEACCOUNTCODE string `json:"hedgeaccountcode"  xorm:"'HEDGEACCOUNTCODE'"` // 外部账号代码
+	HEDGEACCOUNTCODE string `json:"hedgeaccountcode"  xorm:"'HEDGEACCOUNTCODE'"` // 外部账号代码(主账号登录代码)
 	HEDGEACCOUNTPWD  string `json:"hedgeaccountpwd"  xorm:"'HEDGEACCOUNTPWD'"`   // 密码
 	AUTHCODE         string `json:"authcode"  xorm:"'AUTHCODE'"`                 // 授权码
 	APPID            string `json:"appid"  xorm:"'APPID'"`                       // AppID

+ 8 - 1
models/ermcpUser.go

@@ -166,6 +166,7 @@ type ErmcpUserModel struct {
 	STATUSDESC        string `json:"statusdesc"`                                    // 账户状态中文描述
 	ATTACHMENT1       string `json:"attachment1"  xorm:"'ATTACHMENT1'"`             // 附件1
 	CARDFRONTPHOTOURL string `json:"cardfrontphotourl"  xorm:"'CARDFRONTPHOTOURL'"` // 证件正面图片地址
+	CARDBACKPHOTOURL  string `json:"cardbackphotourl"  xorm:"'CARDBACKPHOTOURL'"`   // 证件反面图片地址
 	COUNTRYID         int32  `json:"countryid"  xorm:"'COUNTRYID'"`                 // 国家
 	PROVINCEID        int32  `json:"provinceid"  xorm:"'PROVINCEID'"`               // 省
 	CITYID            int32  `json:"cityid"  xorm:"'CITYID'"`                       // 市
@@ -177,6 +178,7 @@ type ErmcpUserModel struct {
 	TAXPAYERNUM       string `json:"taxpayernum"  xorm:"'taxpayernum'"`             // 纳税人识别号
 	LEGALPERSONNAME   string `json:"legalpersonname"  xorm:"'legalpersonname'"`     // 法人姓名(企业)
 	CONTACTNAME       string `json:"contactname"  xorm:"'contactname'"`             // 联系人
+	EMAIL             string `json:"email"  xorm:"'EMAIL'"`                         // 邮件
 }
 
 func (r *ErmcpUserModel) buildWskhSql(accStatus string) string {
@@ -194,6 +196,7 @@ func (r *ErmcpUserModel) buildWskhSql(accStatus string) string {
 		"       t.REMARK," +
 		"       t.ATTACHMENT1," +
 		"       t.CARDFRONTPHOTOURL," +
+		"       t.CARDBACKPHOTOURL," +
 		"       t.userstate         status," +
 		"       t.countryid," +
 		"       t.provinceid," +
@@ -204,7 +207,8 @@ func (r *ErmcpUserModel) buildWskhSql(accStatus string) string {
 		"       to_char(t.auditime,'yyyy-mm-dd hh24:mi:ss') audittime," +
 		"       t.taxpayernum," +
 		"       t.legalpersonname," +
-		"       t.contactname" +
+		"       t.contactname," +
+		"       t.email" +
 		"  from wskh_userinfo t" +
 		"  left join enumdicitem e" +
 		"    on t.cardtype = e.enumitemname" +
@@ -231,6 +235,7 @@ func (r *ErmcpUserModel) buildSql(accStatus string) string {
 		"       u.REMARK," +
 		"       u.ATTACHMENT1," +
 		"       u.CARDFRONTPHOTOURL," +
+		"       u.CARDBACKPHOTOURL," +
 		"       t.accountstatus     status," +
 		"       u.countryid," +
 		"       u.provinceid," +
@@ -238,6 +243,7 @@ func (r *ErmcpUserModel) buildSql(accStatus string) string {
 		"       u.taxpayernum," +
 		"       u.legalpersonname," +
 		"       u.contactname," +
+		"       u.email," +
 		"       to_char(t.createtime,'yyyy-mm-dd hh24:mi:ss') createtime," +
 		"       to_char(t.modifytime,'yyyy-mm-dd hh24:mi:ss') modifytime," +
 		"       to_char(t.audittime,'yyyy-mm-dd hh24:mi:ss') audittime," +
@@ -279,6 +285,7 @@ func (r *ErmcpUserModel) DecryptField(isWskh bool) {
 
 	r.CARDNUM = fd(r.CARDNUM)
 	r.MOBILE = fd(r.MOBILE)
+	r.EMAIL = fd(r.EMAIL)
 
 	if !isWskh {
 		// 正式用户表(非网上开户)需要解密电话号码

+ 1 - 0
routers/router.go

@@ -424,6 +424,7 @@ func InitRouter() *gin.Engine {
 		ermcp3R.GET("/QueryGoodsbrand", ermcp3.QueryGoodsbrand)
 		ermcp3R.GET("/QueryGoodsWrstandard", ermcp3.QueryGoodsWrstandard)
 		ermcp3R.GET("/QueryAreaStockApply", ermcp3.QueryAreaStockApply)
+		ermcp3R.GET("/QueryAreaStock", ermcp3.QueryAreaStock)
 		ermcp3R.GET("/QueryAreaStockApplySum", ermcp3.QueryAreaStockApplySum)
 		ermcp3R.GET("/QueryAreaStockReport", ermcp3.QueryAreaStockReport)
 		ermcp3R.GET("/QueryAreaStockReportDetail", ermcp3.QueryAreaStockReportDetail)

+ 4 - 0
utils/encryptUtils.go

@@ -51,6 +51,10 @@ func PKCS5UnPadding(origData []byte) []byte {
 	length := len(origData)
 	// 去掉最后一个字节 unpadding 次
 	unpadding := int(origData[length-1])
+	// 防止数据越界崩溃
+	if length-unpadding >= len(origData) {
+		return origData
+	}
 	return origData[:(length - unpadding)]
 }
 

+ 7 - 0
utils/sqlUtils.go

@@ -60,3 +60,10 @@ func (r *SQLVal) LessOrEq(fieldName string, val interface{}) {
 func (r *SQLVal) Join(condition string) {
 	*r = *r + SQLVal(condition)
 }
+
+// JoinEx  bJoin是否增加
+func (r *SQLVal) JoinEx(bJoin bool, condition string) {
+	if bJoin {
+		r.Join(condition)
+	}
+}

Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff