Browse Source

add 区块星链

tags/v2.2.0
DengBiao 2 years ago
parent
commit
32f6e4a45b
3 changed files with 185 additions and 0 deletions
  1. +157
    -0
      db/db_block_coin_platform_guide_price_for_coin_records.go
  2. +14
    -0
      db/model/block_coin_platform_guide_price_for_coin_records.go
  3. +14
    -0
      rule/block_star_chain_settlement.go

+ 157
- 0
db/db_block_coin_platform_guide_price_for_coin_records.go View File

@@ -0,0 +1,157 @@
package db

import (
"code.fnuoos.com/go_rely_warehouse/zyos_go_order_relate_rule.git/db/model"
zhios_order_relate_utils "code.fnuoos.com/go_rely_warehouse/zyos_go_order_relate_rule.git/utils"
zhios_order_relate_logx "code.fnuoos.com/go_rely_warehouse/zyos_go_order_relate_rule.git/utils/logx"
"errors"
"fmt"
"reflect"
"xorm.io/xorm"
)

// BatchSelectBlockCoinPlatformGuidePriceForCoinRecords 批量查询数据 TODO::和下面的方法重复了,建议采用下面的 `BlockCoinPlatformGuidePriceForCoinRecordsFindByParams` 方法
func BatchSelectBlockCoinPlatformGuidePriceForCoinRecords(Db *xorm.Engine, params map[string]interface{}) (*[]model.BlockCoinPlatformGuidePriceForCoinRecords, error) {
var BlockCoinPlatformGuidePriceForCoinRecordsData []model.BlockCoinPlatformGuidePriceForCoinRecords
if err := Db.In(zhios_order_relate_utils.AnyToString(params["key"]), params["value"]).
Find(&BlockCoinPlatformGuidePriceForCoinRecordsData); err != nil {
return nil, zhios_order_relate_logx.Warn(err)
}
return &BlockCoinPlatformGuidePriceForCoinRecordsData, nil
}

// BlockCoinPlatformGuidePriceForCoinRecordsInsert 插入单条数据
func BlockCoinPlatformGuidePriceForCoinRecordsInsert(session *xorm.Session, BlockCoinPlatformGuidePriceForCoinRecords *model.BlockCoinPlatformGuidePriceForCoinRecords) (int, error) {
_, err := session.InsertOne(BlockCoinPlatformGuidePriceForCoinRecords)
if err != nil {
return 0, err
}
return BlockCoinPlatformGuidePriceForCoinRecords.Id, nil
}

// BatchAddBlockCoinPlatformGuidePriceForCoinRecords 批量新增数据
func BatchAddBlockCoinPlatformGuidePriceForCoinRecords(Db *xorm.Engine, BlockCoinPlatformGuidePriceForCoinRecordsData []*model.BlockCoinPlatformGuidePriceForCoinRecords) (int64, error) {
affected, err := Db.Insert(BlockCoinPlatformGuidePriceForCoinRecordsData)
if err != nil {
return 0, err
}
return affected, nil
}

func GetBlockCoinPlatformGuidePriceForCoinRecordsCount(Db *xorm.Engine) int {
var BlockCoinPlatformGuidePriceForCoinRecords model.BlockCoinPlatformGuidePriceForCoinRecords
session := Db.Where("")
count, err := session.Count(&BlockCoinPlatformGuidePriceForCoinRecords)
if err != nil {
return 0
}
return int(count)
}

// BlockCoinPlatformGuidePriceForCoinRecordsDelete 删除记录
func BlockCoinPlatformGuidePriceForCoinRecordsDelete(Db *xorm.Engine, id interface{}) (int64, error) {
if reflect.TypeOf(id).Kind() == reflect.Slice {
return Db.In("id", id).Delete(model.BlockCoinPlatformGuidePriceForCoinRecords{})
} else {
return Db.Where("id = ?", id).Delete(model.BlockCoinPlatformGuidePriceForCoinRecords{})
}
}

// BlockCoinPlatformGuidePriceForCoinRecordsUpdate 更新记录
func BlockCoinPlatformGuidePriceForCoinRecordsUpdate(session *xorm.Session, id interface{}, BlockCoinPlatformGuidePriceForCoinRecords *model.BlockCoinPlatformGuidePriceForCoinRecords, forceColums ...string) (int64, error) {
var (
affected int64
err error
)
if forceColums != nil {
affected, err = session.Where("id=?", id).Cols(forceColums...).Update(BlockCoinPlatformGuidePriceForCoinRecords)
} else {
affected, err = session.Where("id=?", id).Update(BlockCoinPlatformGuidePriceForCoinRecords)
}
if err != nil {
return 0, err
}
return affected, nil
}

// BlockCoinPlatformGuidePriceForCoinRecordsGetOneByParams 通过传入的参数查询数据(单条)
func BlockCoinPlatformGuidePriceForCoinRecordsGetOneByParams(session *xorm.Session, params map[string]interface{}) (*model.BlockCoinPlatformGuidePriceForCoinRecords, error) {
var m model.BlockCoinPlatformGuidePriceForCoinRecords
var query = fmt.Sprintf("%s =?", params["key"])
has, err := session.Where(query, params["value"]).Get(&m)
if err != nil {
return nil, zhios_order_relate_logx.Error(err)
}
if has == false {
return nil, errors.New("未查询到相应的 block_star_chain 记录")
}
return &m, nil
}

// BlockCoinPlatformGuidePriceForCoinRecordsFindByParams 通过传入的参数查询数据(多条)
func BlockCoinPlatformGuidePriceForCoinRecordsFindByParams(Db *xorm.Engine, params map[string]interface{}) (*[]model.BlockCoinPlatformGuidePriceForCoinRecords, error) {
var m []model.BlockCoinPlatformGuidePriceForCoinRecords
if params["value"] == nil {
return nil, errors.New("参数有误")
}
if params["key"] == nil {
//查询全部数据
err := Db.Find(&m)
if err != nil {
return nil, zhios_order_relate_logx.Error(err)
}
return &m, nil
} else {
if reflect.TypeOf(params["value"]).Kind() == reflect.Slice {
//指定In查询
if err := Db.In(zhios_order_relate_utils.AnyToString(params["key"]), params["value"]).Find(&m); err != nil {
return nil, zhios_order_relate_logx.Warn(err)
}
return &m, nil
} else {
var query = fmt.Sprintf("%s =?", params["key"])
err := Db.Where(query, params["value"]).Find(&m)
if err != nil {
return nil, zhios_order_relate_logx.Error(err)
}
return &m, nil
}

}
}

func BlockCoinPlatformGuidePriceForCoinRecordsFindByParamsByPage(Db *xorm.Engine, params map[string]interface{}, page, pageSize int) (*[]model.BlockCoinPlatformGuidePriceForCoinRecords, error) {
var m []model.BlockCoinPlatformGuidePriceForCoinRecords
if params["value"] == nil {
return nil, errors.New("参数有误")
}
if page == 0 && pageSize == 0 {
page = 1
pageSize = 10
}

if params["key"] == nil {
//查询全部数据
err := Db.Limit(pageSize, (page-1)*pageSize).Find(&m)
if err != nil {
return nil, zhios_order_relate_logx.Error(err)
}
return &m, nil
} else {
if reflect.TypeOf(params["value"]).Kind() == reflect.Slice {
//指定In查询
if err := Db.In(zhios_order_relate_utils.AnyToString(params["key"]), params["value"]).Limit(pageSize, (page-1)*pageSize).Find(&m); err != nil {
return nil, zhios_order_relate_logx.Warn(err)
}
return &m, nil
} else {
var query = fmt.Sprintf("%s =?", params["key"])
err := Db.Where(query, params["value"]).Limit(pageSize, (page-1)*pageSize).Find(&m)
if err != nil {
return nil, zhios_order_relate_logx.Error(err)
}
return &m, nil
}

}
}

+ 14
- 0
db/model/block_coin_platform_guide_price_for_coin_records.go View File

@@ -0,0 +1,14 @@
package model

import (
"time"
)

type BlockCoinPlatformGuidePriceForCoinRecords struct {
Id int `json:"id" xorm:"not null pk autoincr INT(11)"`
CoinId int `json:"coin_id" xorm:"not null comment('虚拟币id') INT(11)"`
PlatformGuidePriceForCoin string `json:"platform_guide_price_for_coin" xorm:"not null default 0.0000000000 comment('平台区块币指导价') DECIMAL(22,10)"`
Date string `json:"date" xorm:"not null default '0000-00' comment('日期') VARCHAR(50)"`
CreateAt time.Time `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' comment('变更数量') DATETIME"`
UpdateAt time.Time `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' comment('变更前总数量') DATETIME"`
}

+ 14
- 0
rule/block_star_chain_settlement.go View File

@@ -165,6 +165,20 @@ func DailySettlementBlockStarChain(engine *xorm.Engine, mid string) (err error)
return errors.New("更新 block_star_chain 的 settlement_date 记录失败")
}

//8、将昨日的“平台区块币指导价”插入到 block_coin_platform_guide_price_for_coin_records
var blockCoinPlatformGuidePriceForCoinRecords = model.BlockCoinPlatformGuidePriceForCoinRecords{
CoinId: blockStarChain.Coin1,
PlatformGuidePriceForCoin: blockStarChain.PlatformGuidePriceForCoin,
Date: now.AddDate(0, 0, -1).Format("2006-01"),
CreateAt: now,
UpdateAt: now,
}
_, err = db.BlockCoinPlatformGuidePriceForCoinRecordsInsert(session, &blockCoinPlatformGuidePriceForCoinRecords)
if err != nil {
_ = session.Rollback()
return err
}

err = session.Commit()
if err != nil {
_ = session.Rollback()


Loading…
Cancel
Save