|
|
@@ -291,3 +291,282 @@ func (r *QhjRSTriggerLog) GetDataEx() (interface{}, error) {
|
|
|
}
|
|
|
return sData, err
|
|
|
}
|
|
|
+
|
|
|
+// UserReceiveInfo 用户收货信息
|
|
|
+type UserReceiveInfo struct {
|
|
|
+ AUTOID int32 `json:"autoid" xorm:"AUTOID"` // AutoID
|
|
|
+ USERID int64 `json:"userid" xorm:"USERID"` // 用户ID
|
|
|
+ RECEIVERNAME string `json:"receivername" xorm:"RECEIVERNAME"` // 提货人姓名
|
|
|
+ CARDTYPEID int32 `json:"cardtypeid" xorm:"CARDTYPEID"` // 证件类型
|
|
|
+ CARDNUM string `json:"cardnum" xorm:"CARDNUM"` // 证件号码(加密存储)
|
|
|
+ PHONENUM string `json:"phonenum" xorm:"PHONENUM"` // 提货人联系方式(加密存储)
|
|
|
+ ADDRESS string `json:"address" xorm:"ADDRESS"` // 提货人详细地址
|
|
|
+ TAKEREMARK string `json:"takeremark" xorm:"TAKEREMARK"` // 提货备注
|
|
|
+ COUNTRYID int32 `json:"countryid" xorm:"COUNTRYID"` // 国家
|
|
|
+ PROVINCEID int32 `json:"provinceid" xorm:"PROVINCEID"` // 省
|
|
|
+ CITYID int32 `json:"cityid" xorm:"CITYID"` // 市
|
|
|
+ DISTRICTID int32 `json:"districtid" xorm:"DISTRICTID"` // 地区
|
|
|
+ ISDEFAULT int32 `json:"isdefault" xorm:"ISDEFAULT"` // 是否默认地址 - 0:否 1:是
|
|
|
+ HASENCRYPT int32 `json:"hasencrypt" xorm:"HASENCRYPT"` // 数据是否已加密 - 0:未加密 1:已加密
|
|
|
+}
|
|
|
+
|
|
|
+func (r *UserReceiveInfo) calc() {
|
|
|
+ // 加密过的长度 > 16, 否则是未加密的
|
|
|
+ if len(r.CARDNUM) > 16 {
|
|
|
+ r.CARDNUM = DecryptField(r.CARDNUM)
|
|
|
+ }
|
|
|
+ if len(r.PHONENUM) > 16 {
|
|
|
+ r.PHONENUM = DecryptField(r.PHONENUM)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func (r *UserReceiveInfo) buildSql() string {
|
|
|
+ var sqlId utils.SQLVal = "SELECT t.AUTOID," +
|
|
|
+ " t.USERID," +
|
|
|
+ " t.RECEIVERNAME," +
|
|
|
+ " t.CARDTYPEID," +
|
|
|
+ " t.CARDNUM," +
|
|
|
+ " t.PHONENUM," +
|
|
|
+ " t.ADDRESS," +
|
|
|
+ " t.TAKEREMARK," +
|
|
|
+ " t.COUNTRYID," +
|
|
|
+ " t.PROVINCEID," +
|
|
|
+ " t.CITYID," +
|
|
|
+ " t.DISTRICTID," +
|
|
|
+ " t.ISDEFAULT," +
|
|
|
+ " t.HASENCRYPT" +
|
|
|
+ " FROM USERRECEIVEINFO t" +
|
|
|
+ " WHERE 1 = 1"
|
|
|
+ sqlId.And("t.USERID", r.USERID)
|
|
|
+ return sqlId.String()
|
|
|
+}
|
|
|
+
|
|
|
+// GetDataEx 获取用户收货信息
|
|
|
+func (r *UserReceiveInfo) GetDataEx() (interface{}, error) {
|
|
|
+ sData := make([]UserReceiveInfo, 0)
|
|
|
+ err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
|
|
|
+ for i := range sData {
|
|
|
+ sData[i].calc()
|
|
|
+ }
|
|
|
+ return sData, err
|
|
|
+}
|
|
|
+
|
|
|
+// UserCollectConfig 提现账户设置
|
|
|
+type UserCollectConfig struct {
|
|
|
+ COLLECTCONFIGID string `json:"collectconfigid" xorm:"COLLECTCONFIGID"` // 收款账户配置ID(SEQ_USERCOLLECTCONFIG)
|
|
|
+ USERID int64 `json:"userid" xorm:"USERID"` // 收款人用户ID
|
|
|
+ COLLECTACCOUNTNO string `json:"collectaccountno" xorm:"COLLECTACCOUNTNO"` // 收款人账户
|
|
|
+ COLLECTACCOUNTNAME string `json:"collectaccountname" xorm:"COLLECTACCOUNTNAME"` // 收款人账户名称
|
|
|
+ COLLECTBANKNAME string `json:"collectbankname" xorm:"COLLECTBANKNAME"` // 收款人开户行
|
|
|
+ COLLECTBRANCHBANKNAME string `json:"collectbranchbankname" xorm:"COLLECTBRANCHBANKNAME"` // 收款人开户支行
|
|
|
+ REMARK string `json:"remark" xorm:"REMARK"` // 备注
|
|
|
+ ACCOUNTSTATUS int32 `json:"accountstatus" xorm:"ACCOUNTSTATUS"` // 账户状态 - 1:正常 2:停用 3:注销
|
|
|
+}
|
|
|
+
|
|
|
+func (r *UserCollectConfig) calc() {
|
|
|
+ // 加密后的长度是32的倍数
|
|
|
+ if len(r.COLLECTACCOUNTNO)%32 == 0 {
|
|
|
+ r.COLLECTACCOUNTNO = DecryptField(r.COLLECTACCOUNTNO)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func (r *UserCollectConfig) buildSql() string {
|
|
|
+ var sqlId utils.SQLVal = "SELECT t.COLLECTCONFIGID," +
|
|
|
+ " t.USERID," +
|
|
|
+ " t.COLLECTACCOUNTNO," +
|
|
|
+ " t.COLLECTACCOUNTNAME," +
|
|
|
+ " t.COLLECTBANKNAME," +
|
|
|
+ " t.COLLECTBRANCHBANKNAME," +
|
|
|
+ " t.REMARK," +
|
|
|
+ " t.ACCOUNTSTATUS" +
|
|
|
+ " FROM USERCOLLECTCONFIG t" +
|
|
|
+ " WHERE 1 = 1"
|
|
|
+ sqlId.And("t.USERID", r.USERID)
|
|
|
+ return sqlId.String()
|
|
|
+}
|
|
|
+
|
|
|
+// GetDataEx 获取提现账户设置
|
|
|
+func (r *UserCollectConfig) GetDataEx() (interface{}, error) {
|
|
|
+ sData := make([]UserCollectConfig, 0)
|
|
|
+ err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
|
|
|
+ for i := range sData {
|
|
|
+ sData[i].calc()
|
|
|
+ }
|
|
|
+ return sData, err
|
|
|
+}
|
|
|
+
|
|
|
+// QhjTradeGoodsPickup 提货单
|
|
|
+type QhjTradeGoodsPickup struct {
|
|
|
+ AUDITSRC int32 `json:"auditsrc" xorm:"AUDITSRC"` // 更新来源 - 1:管理端 2:终端
|
|
|
+ STOREUSERID int64 `json:"storeuserid" xorm:"STOREUSERID"` // 门店用户ID (千海金)
|
|
|
+ ARTRADEDATE string `json:"artradedate" xorm:"ARTRADEDATE"` // 自动收货交易日(yyyyMMdd)
|
|
|
+ EXPRESSCOMPANY string `json:"expresscompany" xorm:"EXPRESSCOMPANY"` // 物流公司
|
|
|
+ UPDATETIME string `json:"updatetime" xorm:"UPDATETIME"` // 更新时间
|
|
|
+ AUDITTRADEDATE string `json:"audittradedate" xorm:"AUDITTRADEDATE"` // 审核交易日(yyyyMMdd)
|
|
|
+ EXPRESSNUM string `json:"expressnum" xorm:"EXPRESSNUM"` // 物流单号
|
|
|
+ TAKEORDERID int64 `json:"takeorderid" xorm:"TAKEORDERID"` // 提货单号(905+Unix秒时间戳(10位)+xxxxxx)
|
|
|
+ ACCOUNTID int64 `json:"accountid" xorm:"ACCOUNTID"` // 账户ID
|
|
|
+ GOODSID int64 `json:"goodsid" xorm:"GOODSID"` // 商品ID
|
|
|
+ USERID int64 `json:"userid" xorm:"USERID"` // 用户ID
|
|
|
+ QTY float64 `json:"qty" xorm:"QTY"` // 交易商品总手数(交易商品 - 69模式按成交量放大) - 明细表的交易商品手数汇总
|
|
|
+ REQTIME string `json:"reqtime" xorm:"REQTIME"` // 提货申请时间
|
|
|
+ RECIVERNAME string `json:"recivername" xorm:"RECIVERNAME"` // 提货人姓名
|
|
|
+ CARDTYPEID int32 `json:"cardtypeid" xorm:"CARDTYPEID"` // 提货人证件类型
|
|
|
+ CARDNUM string `json:"cardnum" xorm:"CARDNUM"` // 提货人证件号码
|
|
|
+ PHONENUM string `json:"phonenum" xorm:"PHONENUM"` // 提货人联系方式
|
|
|
+ TAKEMODE int32 `json:"takemode" xorm:"TAKEMODE"` // 提货方式 - 2:自提 3:配送(邮寄)
|
|
|
+ ADDRESS string `json:"address" xorm:"ADDRESS"` // 提货人详细地址
|
|
|
+ TAKEREMARK string `json:"takeremark" xorm:"TAKEREMARK"` // 提货备注
|
|
|
+ TAKEORDERSTATUS int32 `json:"takeorderstatus" xorm:"TAKEORDERSTATUS"` // 提货状态 - 1:备货中 2:待取货(自提) 3:已取货(自提) 4:待收货(邮寄) 5:已收货(邮寄) 6:自动收货(邮寄) 7:已拒绝 8:已撤销
|
|
|
+ AUDITER int32 `json:"auditer" xorm:"AUDITER"` // 审核人
|
|
|
+ AUDITTIME string `json:"audittime" xorm:"AUDITTIME"` // 审核时间(发货时间)
|
|
|
+ CHECKREMARK string `json:"checkremark" xorm:"CHECKREMARK"` // 审核备注
|
|
|
+ TRADEDATE string `json:"tradedate" xorm:"TRADEDATE"` // 交易日(yyyyMMdd)
|
|
|
+ MARKETID int32 `json:"marketid" xorm:"MARKETID"` // 市场ID
|
|
|
+ HANDLESTATUS int32 `json:"handlestatus" xorm:"HANDLESTATUS"` // 处理状态
|
|
|
+ AMOUNT float64 `json:"amount" xorm:"AMOUNT"` // 提货金额
|
|
|
+ COUNTRYID int32 `json:"countryid" xorm:"COUNTRYID"` // 国家
|
|
|
+ PROVINCEID int32 `json:"provinceid" xorm:"PROVINCEID"` // 省
|
|
|
+ CITYID int32 `json:"cityid" xorm:"CITYID"` // 市
|
|
|
+ DISTRICTID int32 `json:"districtid" xorm:"DISTRICTID"` // 地区
|
|
|
+ PICKUPGOODSID string `json:"pickupgoodsid" xorm:"PICKUPGOODSID"` // 提货商品ID
|
|
|
+ GOODSAGREEUNIT float64 `json:"goodsagreeunit" xorm:"GOODSAGREEUNIT"` // 交易商品乘数
|
|
|
+ PICKUPGOODSAGREEUNIT float64 `json:"pickupgoodsagreeunit" xorm:"PICKUPGOODSAGREEUNIT"` // 提货商品合约乘数
|
|
|
+ PICKUPRATIO float64 `json:"pickupratio" xorm:"PICKUPRATIO"` // 提货系数
|
|
|
+ PICKUPGOODSQTY float64 `json:"pickupgoodsqty" xorm:"PICKUPGOODSQTY"` // 提货商品手数(数量)
|
|
|
+ GOODSQTY float64 `json:"goodsqty" xorm:"GOODSQTY"` // 交易商品手数(69模式按成交量小数位放大取整)
|
|
|
+ PREPAREDAYS int32 `json:"preparedays" xorm:"PREPAREDAYS"` // 备货期(天)-提货单明细表
|
|
|
+ PICKUPGOODSNAME string `json:"pickupgoodsname" xorm:"PICKUPGOODSNAME"` // 提货商品名称
|
|
|
+ PICKUPGOODSUNITID int32 `json:"pickupgoodsunitid" xorm:"PICKUPGOODSUNITID"` // 单位ID(提货商品)
|
|
|
+
|
|
|
+ ENUMDICNAME string `json:"enumdicname"` // 单位名称(提货商品)
|
|
|
+ USERNAME string `json:"username"` // 用户名称
|
|
|
+ STOREUSERNAME string `json:"storeusername"` // 门店用户名称
|
|
|
+}
|
|
|
+
|
|
|
+func (r *QhjTradeGoodsPickup) calc() {
|
|
|
+ r.ENUMDICNAME = mtpcache.GetEnumDicitemName(r.PICKUPGOODSUNITID)
|
|
|
+ r.STOREUSERNAME = mtpcache.GetUserNameByUserId(r.STOREUSERID)
|
|
|
+ r.USERNAME = mtpcache.GetUserNameByUserId(r.USERID)
|
|
|
+}
|
|
|
+
|
|
|
+func (r *QhjTradeGoodsPickup) buildSql() string {
|
|
|
+ var sqlId utils.SQLVal = "SELECT t.AUDITSRC," +
|
|
|
+ " t.STOREUSERID," +
|
|
|
+ " t.ARTRADEDATE," +
|
|
|
+ " t.EXPRESSCOMPANY," +
|
|
|
+ " to_char(t.UPDATETIME, 'yyyy-mm-dd hh24:mi:ss') UPDATETIME," +
|
|
|
+ " t.AUDITTRADEDATE," +
|
|
|
+ " t.EXPRESSNUM," +
|
|
|
+ " t.TAKEORDERID," +
|
|
|
+ " t.ACCOUNTID," +
|
|
|
+ " t.GOODSID," +
|
|
|
+ " t.USERID," +
|
|
|
+ " t.QTY," +
|
|
|
+ " to_char(t.REQTIME, 'yyyy-mm-dd hh24:mi:ss') REQTIME," +
|
|
|
+ " t.RECIVERNAME," +
|
|
|
+ " t.CARDTYPEID," +
|
|
|
+ " t.CARDNUM," +
|
|
|
+ " t.PHONENUM," +
|
|
|
+ " t.TAKEMODE," +
|
|
|
+ " t.ADDRESS," +
|
|
|
+ " t.TAKEREMARK," +
|
|
|
+ " t.TAKEORDERSTATUS," +
|
|
|
+ " t.AUDITER," +
|
|
|
+ " to_char(t.AUDITTIME, 'yyyy-mm-dd hh24:mi:ss') AUDITTIME," +
|
|
|
+ " t.CHECKREMARK," +
|
|
|
+ " t.TRADEDATE," +
|
|
|
+ " t.MARKETID," +
|
|
|
+ " t.HANDLESTATUS," +
|
|
|
+ " t.AMOUNT," +
|
|
|
+ " t.COUNTRYID," +
|
|
|
+ " t.PROVINCEID," +
|
|
|
+ " t.CITYID," +
|
|
|
+ " t.DISTRICTID," +
|
|
|
+ " k.PICKUPGOODSID," +
|
|
|
+ " k.GOODSAGREEUNIT," +
|
|
|
+ " k.PICKUPGOODSAGREEUNIT," +
|
|
|
+ " k.PICKUPRATIO," +
|
|
|
+ " k.PICKUPGOODSQTY," +
|
|
|
+ " k.GOODSQTY," +
|
|
|
+ " k.PREPAREDAYS," +
|
|
|
+ " g.PICKUPGOODSNAME," +
|
|
|
+ " g.PICKUPGOODSUNITID" +
|
|
|
+ " FROM TRADE_GOODSPICKUP t" +
|
|
|
+ " LEFT JOIN TRADE_GOODSPICKUPDETAIL k on t.takeorderid = k.takeorderid" +
|
|
|
+ " LEFT JOIN PICKUPGOODS g on k.pickupgoodsid=g.pickupgoodsid" +
|
|
|
+ " WHERE 1 = 1"
|
|
|
+ sqlId.And("t.USERID", r.USERID)
|
|
|
+ return sqlId.String()
|
|
|
+}
|
|
|
+
|
|
|
+// GetDataEx 获取提货单
|
|
|
+func (r *QhjTradeGoodsPickup) GetDataEx() (interface{}, error) {
|
|
|
+ sData := make([]QhjTradeGoodsPickup, 0)
|
|
|
+ err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
|
|
|
+ for i := range sData {
|
|
|
+ sData[i].calc()
|
|
|
+ }
|
|
|
+ return sData, err
|
|
|
+}
|
|
|
+
|
|
|
+// QhjPickGoods 提货商品
|
|
|
+type QhjPickGoods struct {
|
|
|
+ PICKUPGOODSID string `json:"pickupgoodsid" xorm:"PICKUPGOODSID"` // 提货商品ID
|
|
|
+ PICKUPGOODSNAME string `json:"pickupgoodsname" xorm:"PICKUPGOODSNAME"` // 提货商品名称
|
|
|
+ PICKUPGOODSUNITID int32 `json:"pickupgoodsunitid" xorm:"PICKUPGOODSUNITID"` // 单位ID
|
|
|
+ PICKUPGOODSAGREEUNIT float64 `json:"pickupgoodsagreeunit" xorm:"PICKUPGOODSAGREEUNIT"` // 合约乘数
|
|
|
+ PICKUPGOODSDESC string `json:"pickupgoodsdesc" xorm:"PICKUPGOODSDESC"` // 描述
|
|
|
+ IMAGEADDRESS string `json:"imageaddress" xorm:"IMAGEADDRESS"` // 图片
|
|
|
+ REMARK string `json:"remark" xorm:"REMARK"` // 备注
|
|
|
+ MODIFYSRC int32 `json:"modifysrc" xorm:"MODIFYSRC"` // 修改来源 - 1:管理端 2:终端
|
|
|
+ MODIFIERID int64 `json:"modifierid" xorm:"MODIFIERID"` // 修改人
|
|
|
+ UPDATETIME string `json:"updatetime" xorm:"UPDATETIME"` // 更新时间
|
|
|
+ PREPAREDAYS int32 `json:"preparedays" xorm:"PREPAREDAYS"` // 备货期(天)
|
|
|
+ PICKUPGOODSSTATUS int32 `json:"pickupgoodsstatus" xorm:"PICKUPGOODSSTATUS"` // 状态 - 1:正常 2:停用 3:注销
|
|
|
+
|
|
|
+ MODIFIERNAME string `json:"modifiername"` // 修改人名称
|
|
|
+ FilterStatus string `json:"-"` // 状态过淲
|
|
|
+}
|
|
|
+
|
|
|
+func (r *QhjPickGoods) calc() {
|
|
|
+ if r.MODIFYSRC == 1 {
|
|
|
+ r.MODIFIERNAME = mtpcache.GetSystemmangerLoginCode(r.MODIFIERID)
|
|
|
+ } else {
|
|
|
+ r.MODIFIERNAME = mtpcache.GetLoginCodeByLoginId(r.MODIFIERID)
|
|
|
+ }
|
|
|
+ if r.MODIFIERNAME == "" {
|
|
|
+ r.MODIFIERNAME = mtpcache.GetUserNameByUserId(r.MODIFIERID)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func (r *QhjPickGoods) buildSql() string {
|
|
|
+ var sqlId utils.SQLVal = "SELECT t.PICKUPGOODSID," +
|
|
|
+ " t.PICKUPGOODSNAME," +
|
|
|
+ " t.PICKUPGOODSUNITID," +
|
|
|
+ " t.PICKUPGOODSAGREEUNIT," +
|
|
|
+ " to_char(t.PICKUPGOODSDESC) PICKUPGOODSDESC," +
|
|
|
+ " to_char(t.IMAGEADDRESS) IMAGEADDRESS," +
|
|
|
+ " t.REMARK," +
|
|
|
+ " t.MODIFYSRC," +
|
|
|
+ " t.MODIFIERID," +
|
|
|
+ " to_char(t.UPDATETIME, 'yyyy-mm-dd hh24:mi:ss') UPDATETIME," +
|
|
|
+ " t.PREPAREDAYS," +
|
|
|
+ " t.PICKUPGOODSSTATUS" +
|
|
|
+ " FROM PICKUPGOODS t" +
|
|
|
+ " WHERE 1 = 1"
|
|
|
+ if len(r.FilterStatus) > 0 {
|
|
|
+ sqlId.Join(fmt.Sprintf(" and t.PICKUPGOODSSTATUS in(%v)", r.FilterStatus))
|
|
|
+ }
|
|
|
+ return sqlId.String()
|
|
|
+}
|
|
|
+
|
|
|
+// GetDataEx 获取提货商品
|
|
|
+func (r *QhjPickGoods) GetDataEx() (interface{}, error) {
|
|
|
+ sData := make([]QhjPickGoods, 0)
|
|
|
+ err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
|
|
|
+ for i := range sData {
|
|
|
+ sData[i].calc()
|
|
|
+ }
|
|
|
+ return sData, err
|
|
|
+}
|