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