Commit b112db03 authored by shajiaiming's avatar shajiaiming

fix

parent b0650fac
......@@ -82,6 +82,22 @@ func GetCoins(pageNum, pageSize int, maps interface{}) ([]*Coin, error) {
return coins, nil
}
func Find(name string, chain string) (*Coin, error) {
var coin Coin
err := db.Debug().Where("name = ? and chain = ?", name, chain).First(&coin).Error
if err != nil && err != gorm.ErrRecordNotFound {
return nil, err
}
err = db.Model(&coin).Error
if err != nil && err != gorm.ErrRecordNotFound {
return nil, err
}
return &coin, nil
}
/**
* 通过id获取指定币种信息
* @param id
......
......@@ -2,6 +2,7 @@ package models
import (
"bwallet/pkg/setting"
"fmt"
"github.com/jinzhu/gorm"
)
......@@ -98,6 +99,7 @@ func AddSupportedChain(data map[string]interface{}) (error) {
PlatformId: data["platform_id"].(int),
CoinId: data["coin_id"].(int),
}
fmt.Println(chain)
if err := db.Create(&chain).Error; err != nil {
return err
}
......
......@@ -5,6 +5,7 @@ import (
"bwallet/pkg/handler"
"bwallet/pkg/util"
"bwallet/service/auth_service"
"bwallet/service/coin_service"
"bwallet/service/supported_chain_service"
"bwallet/validate_service"
"github.com/Unknwon/com"
......@@ -58,6 +59,16 @@ func GetSupportedChains(c *gin.Context) {
}
func AddSupportedChain(c *gin.Context) {
token := c.Request.Header.Get("Token")
authService := auth_service.Auth{Token: token}
auth, _ := authService.GetUserInfo()
group := auth.Group
if ("administrator" != group) {
handler.SendResponse(c, errno.ErrUserAuthIncorrect, nil)
return
}
chain := validate_service.SupportedChain{}
c.ShouldBindJSON(&chain)
......@@ -68,38 +79,47 @@ func AddSupportedChain(c *gin.Context) {
return
}
}
return
//自定义验证
supportedCurrencyValidate := supported_chain_service.SupportedChain{
PlatformId: chain.PlatformId,
CoinId: 11111,
coinService := coin_service.Coin{
Name: chain.CoinName,
Chain: strings.ToUpper(chain.CoinName),
}
total, err := supportedCurrencyValidate.Count()
coin, err := coinService.Find()
if err != nil {
handler.SendResponse(c, errno.ErrCountSupportedChain, nil)
handler.SendResponse(c, errno.ErrCoinNotFound, nil)
return
}
if (total > 0) {
handler.SendResponse(c, errno.ErrExistSupportedChain, nil)
if "" == coin.Name {
coinService := coin_service.Coin{
Name: chain.CoinName,
Chain: "BTY",
}
coin, err = coinService.Find()
if err != nil {
handler.SendResponse(c, errno.ErrCoinNotFound, nil)
return
}
}
if "" == coin.Name {
handler.SendResponse(c, errno.ErrCoinNotFound, nil)
return
}
token := c.Request.Header.Get("Token")
authService := auth_service.Auth{Token: token}
auth, _ := authService.GetUserInfo()
group := auth.Group
chainService := supported_chain_service.SupportedChain{
PlatformId: chain.PlatformId,
CoinId: coin.ID,
}
var platform_id int
platform_id = auth.PlatformId
if ("administrator" == group) {
if chain.PlatformId != 0 {
platform_id = chain.PlatformId
}
total, err := chainService.Count()
if err != nil {
handler.SendResponse(c, errno.ErrCountCoin, nil)
return
}
chainService := supported_chain_service.SupportedChain{
PlatformId: platform_id,
CoinId: 11111,
if 0 != total {
handler.SendResponse(c, errno.ErrExistCoin, nil)
return
}
if err := chainService.Add(); err != nil {
......@@ -111,6 +131,16 @@ func AddSupportedChain(c *gin.Context) {
}
func DeleteSupportedChain(c *gin.Context) {
token := c.Request.Header.Get("Token")
authService := auth_service.Auth{Token: token}
auth, _ := authService.GetUserInfo()
group := auth.Group
if ("administrator" != group) {
handler.SendResponse(c, errno.ErrUserAuthIncorrect, nil)
return
}
valid := validation.Validation{}
id := com.StrTo(c.Param("id")).MustInt()
......@@ -133,18 +163,6 @@ func DeleteSupportedChain(c *gin.Context) {
return
}
token := c.Request.Header.Get("Token")
authService := auth_service.Auth{Token: token}
auth, _ := authService.GetUserInfo()
group := auth.Group
if ("administrator" != group) {
chain, _ := chainService.Get()
if chain.PlatformId != auth.PlatformId {
handler.SendResponse(c, errno.ErrUserAuthIncorrect, nil)
return
}
}
err = chainService.Delete()
if err != nil {
handler.SendResponse(c, errno.ErrDeleteSupportedChain, nil)
......
......@@ -72,6 +72,16 @@ func (c *Coin) GetAll() ([]*models.Coin, error) {
return coins, nil
}
func (c *Coin) Find() (*models.Coin, error) {
var coin *models.Coin
coin, err := models.Find(c.Name, c.Chain)
if err != nil {
return nil, err
}
return coin, nil
}
/**
* 添加币种信息
* @param
......
......@@ -63,6 +63,10 @@ func (c *SupportedChain) getMaps() (map[string]interface{}) {
maps["id"] = c.ID
}
if c.CoinId != 0 {
maps["coin_id"] = c.CoinId
}
if c.PlatformId != 0 {
maps["platform_id"] = c.PlatformId
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment