Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
bwallet
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Go
bwallet
Commits
7adb0e5c
Commit
7adb0e5c
authored
Jan 16, 2020
by
shajiaiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
75516466
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
354 additions
and
166 deletions
+354
-166
platform_chain.go
models/platform_chain.go
+0
-88
recommend_coin.go
models/recommend_coin.go
+0
-0
supported_chain.go
models/supported_chain.go
+119
-0
wallet_coin_relation.go
models/wallet_coin_relation.go
+62
-0
errno.go
pkg/errno/errno.go
+6
-6
supported_chain.go
routers/api/v1/supported_chain.go
+43
-37
wallet_coin_relation.go
routers/api/v1/wallet_coin_relation.go
+45
-0
router.go
routers/router.go
+4
-4
supported_chain.go
service/supported_chain_service/supported_chain.go
+27
-31
wallet_coin_relation.go
service/wallet_coin_relation_service/wallet_coin_relation.go
+42
-0
supported_chain.go
validate_service/supported_chain.go
+6
-0
No files found.
models/platform_chain.go
deleted
100644 → 0
View file @
75516466
package
models
import
(
"bwallet/pkg/setting"
"github.com/jinzhu/gorm"
)
type
PlatformChain
struct
{
Model
Id
int
`json:"primary_key,omitempty"`
ChainId
int
`json:"chain_id"`
PlatformId
int
`json:"platform_id"`
Chain
Chain
`json:"Chain"`
Platform
Wallet
`json:"Platform"`
}
func
(
c
PlatformChain
)
TableName
()
string
{
return
setting
.
DatabaseSetting
.
Name_Sources
+
".wallet_platform_chain"
}
func
GetPlatformChain
(
id
int
)
(
*
PlatformChain
,
error
)
{
var
platformChain
PlatformChain
err
:=
db
.
Where
(
"id = ?"
,
id
)
.
First
(
&
platformChain
)
.
Error
if
err
!=
nil
&&
err
!=
gorm
.
ErrRecordNotFound
{
return
nil
,
err
}
err
=
db
.
Model
(
&
platformChain
)
.
Error
if
err
!=
nil
&&
err
!=
gorm
.
ErrRecordNotFound
{
return
nil
,
err
}
return
&
platformChain
,
nil
}
func
ExistPlatformChainById
(
id
int
)
(
bool
,
error
)
{
var
platformChain
PlatformChain
err
:=
db
.
Select
(
"id"
)
.
Where
(
"id = ?"
,
id
)
.
First
(
&
platformChain
)
.
Error
if
err
!=
nil
&&
err
!=
gorm
.
ErrRecordNotFound
{
return
false
,
err
}
if
platformChain
.
ID
>
0
{
return
true
,
nil
}
return
false
,
nil
}
func
GetPlatformChainTotal
(
maps
interface
{})
(
int
,
error
)
{
var
count
int
if
err
:=
db
.
Model
(
&
PlatformChain
{})
.
Where
(
maps
)
.
Count
(
&
count
)
.
Error
;
err
!=
nil
{
return
0
,
err
}
return
count
,
nil
}
func
GetPlatformChains
(
pageNum
,
pageSize
int
,
maps
interface
{})
([]
*
PlatformChain
,
error
)
{
var
platformChain
[]
*
PlatformChain
err
:=
db
.
Preload
(
"Chain"
)
.
Preload
(
"Platform"
)
.
Where
(
maps
)
.
Offset
(
pageNum
)
.
Limit
(
pageSize
)
.
Find
(
&
platformChain
)
.
Error
if
err
!=
nil
&&
err
!=
gorm
.
ErrRecordNotFound
{
return
nil
,
err
}
return
platformChain
,
nil
}
func
AddPlatformChain
(
data
map
[
string
]
interface
{})
(
error
)
{
platformChain
:=
PlatformChain
{
PlatformId
:
data
[
"platform_id"
]
.
(
int
),
ChainId
:
data
[
"chain_id"
]
.
(
int
),
}
if
err
:=
db
.
Create
(
&
platformChain
)
.
Error
;
err
!=
nil
{
return
err
}
return
nil
}
func
DeletePlatformChain
(
id
int
)
error
{
if
err
:=
db
.
Where
(
"id = ?"
,
id
)
.
Delete
(
PlatformChain
{})
.
Error
;
err
!=
nil
{
return
err
}
return
nil
}
models/
coin_recommend
.go
→
models/
recommend_coin
.go
View file @
7adb0e5c
File moved
models/supported_chain.go
0 → 100644
View file @
7adb0e5c
package
models
import
(
"bwallet/pkg/setting"
"github.com/jinzhu/gorm"
)
type
SupportedChain
struct
{
Model
Id
int
`json:"primary_key,omitempty"`
PlatformId
int
`json:"platform_id"`
//钱包ID
CoinId
int
`json:"coin_id"`
//币种ID
Coin
*
Coin
`gorm:"ForeignKey:Id"`
}
func
(
c
SupportedChain
)
TableName
()
string
{
return
setting
.
DatabaseSetting
.
Name_Sources
+
".coin_supported_chain"
}
/**
* 通过id检查记录是否存在
* @param id
* @return
*/
func
ExistSupportedChainById
(
id
int
)
(
bool
,
error
)
{
var
chain
SupportedChain
err
:=
db
.
Select
(
"id"
)
.
Where
(
"id = ?"
,
id
)
.
First
(
&
chain
)
.
Error
if
err
!=
nil
&&
err
!=
gorm
.
ErrRecordNotFound
{
return
false
,
err
}
if
chain
.
ID
>
0
{
return
true
,
nil
}
return
false
,
nil
}
/**
* 获取符合条件的信息总数
* @param id
* @return
*/
func
GetSupportedChainTotal
(
maps
interface
{})
(
int
,
error
)
{
var
count
int
if
err
:=
db
.
Model
(
&
SupportedChain
{})
.
Where
(
maps
)
.
Count
(
&
count
)
.
Error
;
err
!=
nil
{
return
0
,
err
}
return
count
,
nil
}
/**
* 获取符合条件的信息
* @param id
* @return
*/
func
GetSupportedChains
(
pageNum
,
pageSize
int
,
maps
interface
{})
([]
*
SupportedChain
,
error
)
{
var
chains
[]
*
SupportedChain
err
:=
db
.
Preload
(
"Coin"
)
.
Where
(
maps
)
.
Offset
(
pageNum
)
.
Limit
(
pageSize
)
.
Find
(
&
chains
)
.
Error
if
err
!=
nil
&&
err
!=
gorm
.
ErrRecordNotFound
{
return
nil
,
err
}
return
chains
,
nil
}
/**
* 通过id获取指定id信息
* @param id
* @return
*/
func
GetSupportedChain
(
id
int
)
(
*
SupportedChain
,
error
)
{
var
chain
SupportedChain
err
:=
db
.
Where
(
"id = ?"
,
id
)
.
First
(
&
chain
)
.
Error
if
err
!=
nil
&&
err
!=
gorm
.
ErrRecordNotFound
{
return
nil
,
err
}
err
=
db
.
Model
(
&
chain
)
.
Error
if
err
!=
nil
&&
err
!=
gorm
.
ErrRecordNotFound
{
return
nil
,
err
}
return
&
chain
,
nil
}
/**
* 添加支持主链
* @param
* @return
*/
func
AddSupportedChain
(
data
map
[
string
]
interface
{})
(
error
)
{
chain
:=
SupportedChain
{
PlatformId
:
data
[
"platform_id"
]
.
(
int
),
CoinId
:
data
[
"coin_id"
]
.
(
int
),
}
if
err
:=
db
.
Create
(
&
chain
)
.
Error
;
err
!=
nil
{
return
err
}
return
nil
}
/**
* 删除支持主链信息
* @param
* @return
*/
func
DeleteSupportedChain
(
id
int
)
error
{
if
err
:=
db
.
Where
(
"id = ?"
,
id
)
.
Delete
(
SupportedChain
{})
.
Error
;
err
!=
nil
{
return
err
}
return
nil
}
models/wallet_coin_relation.go
0 → 100644
View file @
7adb0e5c
package
models
import
(
"bwallet/pkg/setting"
"github.com/jinzhu/gorm"
)
type
WalletCoinRelation
struct
{
Model
Id
int
`json:"id,omitempty"`
PlatformId
int
`json:"platform_id"`
//钱包ID
CoinId
int
`json:"coin_id"`
//币种ID
Coin
*
Coin
`gorm:"ForeignKey:CoinId"`
}
func
(
c
WalletCoinRelation
)
TableName
()
string
{
return
setting
.
DatabaseSetting
.
Name_Sources
+
".wallet_coin_relation"
}
/**
* 获取符合条件的信息总数
* @param id
* @return
*/
func
GetWalletCoinRelationTotal
(
maps
interface
{})
(
int
,
error
)
{
var
count
int
if
err
:=
db
.
Model
(
&
WalletCoinRelation
{})
.
Where
(
maps
)
.
Count
(
&
count
)
.
Error
;
err
!=
nil
{
return
0
,
err
}
return
count
,
nil
}
/**
* 获取符合条件的信息
* @param id
* @return
*/
func
GetWalletCoinRelations
(
pageNum
,
pageSize
int
,
maps
interface
{})
([]
*
WalletCoinRelation
,
error
)
{
var
coins
[]
*
WalletCoinRelation
err
:=
db
.
Preload
(
"Coin"
)
.
Where
(
maps
)
.
Offset
(
pageNum
)
.
Limit
(
pageSize
)
.
Find
(
&
coins
)
.
Error
if
err
!=
nil
&&
err
!=
gorm
.
ErrRecordNotFound
{
return
nil
,
err
}
return
coins
,
nil
}
/**
* 删除钱包币关系
* @param
* @return
*/
func
DeleteWalletCoinRelation
(
platform_id
,
coin_id
int
)
error
{
if
err
:=
db
.
Where
(
"platform_id = ? and coin_id = ?"
,
platform_id
,
coin_id
)
.
Delete
(
WalletCoinRelation
{})
.
Error
;
err
!=
nil
{
return
err
}
return
nil
}
pkg/errno/errno.go
View file @
7adb0e5c
...
@@ -104,12 +104,12 @@ var (
...
@@ -104,12 +104,12 @@ var (
ErrExistSupportedCurrency
=
&
Errno
{
Code
:
20103
,
Message
:
"The supported currency already exists."
}
ErrExistSupportedCurrency
=
&
Errno
{
Code
:
20103
,
Message
:
"The supported currency already exists."
}
// wallet supported chain errors
// wallet supported chain errors
Err
Wallet
SupportedChainNotFound
=
&
Errno
{
Code
:
20101
,
Message
:
"The wallet supported chain was not found."
}
ErrSupportedChainNotFound
=
&
Errno
{
Code
:
20101
,
Message
:
"The wallet supported chain was not found."
}
ErrCount
Wallet
SupportedChain
=
&
Errno
{
Code
:
20102
,
Message
:
"The wallet supported chain statistic error."
}
ErrCountSupportedChain
=
&
Errno
{
Code
:
20102
,
Message
:
"The wallet supported chain statistic error."
}
ErrAdd
Wallet
SupportedChain
=
&
Errno
{
Code
:
20101
,
Message
:
"The wallet supported chain add error."
}
ErrAddSupportedChain
=
&
Errno
{
Code
:
20101
,
Message
:
"The wallet supported chain add error."
}
Err
UpdateWalletSupportedChain
=
&
Errno
{
Code
:
20102
,
Message
:
"The wallet supported chain upda
te error."
}
Err
DeleteSupportedChain
=
&
Errno
{
Code
:
20102
,
Message
:
"The wallet supported chain dele
te error."
}
Err
DeleteWalletSupportedChain
=
&
Errno
{
Code
:
20102
,
Message
:
"The wallet supported chain delete error
."
}
Err
ExistSupportedChain
=
&
Errno
{
Code
:
20103
,
Message
:
"The wallet supported chain already exists
."
}
ErrExistWalletSupportedChain
=
&
Errno
{
Code
:
20103
,
Message
:
"The wallet supported chain already exists."
}
// user errors
// user errors
ErrUserTokenIncorrect
=
&
Errno
{
Code
:
40001
,
Message
:
"The user token was incorrect."
}
ErrUserTokenIncorrect
=
&
Errno
{
Code
:
40001
,
Message
:
"The user token was incorrect."
}
...
...
routers/api/v1/
platform
_chain.go
→
routers/api/v1/
supported
_chain.go
View file @
7adb0e5c
...
@@ -5,7 +5,7 @@ import (
...
@@ -5,7 +5,7 @@ import (
"bwallet/pkg/handler"
"bwallet/pkg/handler"
"bwallet/pkg/util"
"bwallet/pkg/util"
"bwallet/service/auth_service"
"bwallet/service/auth_service"
"bwallet/service/
platform
_chain_service"
"bwallet/service/
supported
_chain_service"
"bwallet/validate_service"
"bwallet/validate_service"
"github.com/Unknwon/com"
"github.com/Unknwon/com"
"github.com/astaxie/beego/validation"
"github.com/astaxie/beego/validation"
...
@@ -13,70 +13,74 @@ import (
...
@@ -13,70 +13,74 @@ import (
"strings"
"strings"
)
)
func
GetPlatformChains
(
c
*
gin
.
Context
)
{
func
GetSupportedChains
(
c
*
gin
.
Context
)
{
valid
:=
validation
.
Validation
{}
token
:=
c
.
Request
.
Header
.
Get
(
"Token"
)
token
:=
c
.
Request
.
Header
.
Get
(
"Token"
)
authService
:=
auth_service
.
Auth
{
Token
:
token
}
authService
:=
auth_service
.
Auth
{
Token
:
token
}
auth
,
_
:=
authService
.
GetUserInfo
()
auth
,
_
:=
authService
.
GetUserInfo
()
group
:=
auth
.
Group
group
:=
auth
.
Group
var
platform_id
int
var
platform_id
int
platform_id
=
auth
.
PlatformId
if
(
"administrator"
==
group
)
{
if
(
"administrator"
==
group
)
{
if
arg
:=
c
.
Query
(
"platform_id"
);
arg
!=
""
{
platform_id
=
com
.
StrTo
(
c
.
DefaultQuery
(
"platform_id"
,
"1"
))
.
MustInt
()
platform_id
=
com
.
StrTo
(
c
.
Query
(
"platform_id"
))
.
MustInt
()
}
else
{
platform_id
=
auth
.
PlatformId
}
}
if
valid
.
HasErrors
()
{
handler
.
SendResponse
(
c
,
errno
.
ErrValidation
,
nil
)
return
}
}
platformChainService
:=
platform_chain_service
.
Platform
Chain
{
chainService
:=
supported_chain_service
.
Supported
Chain
{
PlatformId
:
platform_id
,
PlatformId
:
platform_id
,
PageNum
:
util
.
GetPage
(
c
),
PageNum
:
util
.
GetPage
(
c
),
PageSize
:
util
.
GetLimit
(
c
),
PageSize
:
util
.
GetLimit
(
c
),
}
}
total
,
err
:=
platformC
hainService
.
Count
()
total
,
err
:=
c
hainService
.
Count
()
if
err
!=
nil
{
if
err
!=
nil
{
handler
.
SendResponse
(
c
,
errno
.
ErrCount
Wallet
SupportedChain
,
nil
)
handler
.
SendResponse
(
c
,
errno
.
ErrCountSupportedChain
,
nil
)
return
return
}
}
c
oinRecommends
,
err
:=
platformC
hainService
.
GetAll
()
c
hains
,
err
:=
c
hainService
.
GetAll
()
if
err
!=
nil
{
if
err
!=
nil
{
handler
.
SendResponse
(
c
,
errno
.
InternalServerError
,
nil
)
handler
.
SendResponse
(
c
,
errno
.
InternalServerError
,
nil
)
return
return
}
}
data
:=
make
(
map
[
string
]
interface
{})
data
:=
make
(
map
[
string
]
interface
{})
data
[
"items"
]
=
c
oinRecommend
s
data
[
"items"
]
=
c
hain
s
data
[
"total"
]
=
total
data
[
"total"
]
=
total
handler
.
SendResponse
(
c
,
nil
,
data
)
handler
.
SendResponse
(
c
,
nil
,
data
)
}
}
func
Add
Platform
Chain
(
c
*
gin
.
Context
)
{
func
Add
Supported
Chain
(
c
*
gin
.
Context
)
{
platform_chain
:=
validate_service
.
Platform
Chain
{}
chain
:=
validate_service
.
Supported
Chain
{}
c
.
ShouldBindJSON
(
&
platform_
chain
)
c
.
ShouldBindJSON
(
&
chain
)
//方法一
//方法一
if
ok
,
errors
:=
validate_service
.
ValidateInputs
(
platform_
chain
);
!
ok
{
if
ok
,
errors
:=
validate_service
.
ValidateInputs
(
chain
);
!
ok
{
for
_
,
err
:=
range
errors
{
for
_
,
err
:=
range
errors
{
handler
.
SendResponse
(
c
,
errno
.
ErrBind
,
strings
.
Join
(
err
,
" "
))
handler
.
SendResponse
(
c
,
errno
.
ErrBind
,
strings
.
Join
(
err
,
" "
))
return
return
}
}
}
}
return
//自定义验证
//自定义验证
platformChainValidate
:=
platform_chain_service
.
Platform
Chain
{
supportedCurrencyValidate
:=
supported_chain_service
.
Supported
Chain
{
PlatformId
:
platform_
chain
.
PlatformId
,
PlatformId
:
chain
.
PlatformId
,
C
hainId
:
platform_chain
.
ChainId
,
C
oinId
:
11111
,
}
}
total
,
err
:=
platformChain
Validate
.
Count
()
total
,
err
:=
supportedCurrency
Validate
.
Count
()
if
err
!=
nil
{
if
err
!=
nil
{
handler
.
SendResponse
(
c
,
errno
.
ErrCount
Wallet
SupportedChain
,
nil
)
handler
.
SendResponse
(
c
,
errno
.
ErrCountSupportedChain
,
nil
)
return
return
}
}
if
(
total
>
0
)
{
if
(
total
>
0
)
{
handler
.
SendResponse
(
c
,
errno
.
ErrExist
Wallet
SupportedChain
,
nil
)
handler
.
SendResponse
(
c
,
errno
.
ErrExistSupportedChain
,
nil
)
return
return
}
}
...
@@ -88,25 +92,26 @@ func AddPlatformChain(c *gin.Context) {
...
@@ -88,25 +92,26 @@ func AddPlatformChain(c *gin.Context) {
var
platform_id
int
var
platform_id
int
platform_id
=
auth
.
PlatformId
platform_id
=
auth
.
PlatformId
if
(
"administrator"
==
group
)
{
if
(
"administrator"
==
group
)
{
if
platform_
chain
.
PlatformId
!=
0
{
if
chain
.
PlatformId
!=
0
{
platform_id
=
platform_
chain
.
PlatformId
platform_id
=
chain
.
PlatformId
}
}
}
}
platformChainService
:=
platform_chain_service
.
Platform
Chain
{
chainService
:=
supported_chain_service
.
Supported
Chain
{
PlatformId
:
platform_id
,
PlatformId
:
platform_id
,
C
hainId
:
platform_chain
.
ChainId
,
C
oinId
:
11111
,
}
}
if
err
:=
platformC
hainService
.
Add
();
err
!=
nil
{
if
err
:=
c
hainService
.
Add
();
err
!=
nil
{
handler
.
SendResponse
(
c
,
errno
.
ErrAdd
Wallet
SupportedChain
,
nil
)
handler
.
SendResponse
(
c
,
errno
.
ErrAddSupportedChain
,
nil
)
return
return
}
}
handler
.
SendResponse
(
c
,
nil
,
nil
)
handler
.
SendResponse
(
c
,
nil
,
nil
)
}
}
func
DeletePlatformChain
(
c
*
gin
.
Context
)
{
func
DeleteSupportedChain
(
c
*
gin
.
Context
)
{
valid
:=
validation
.
Validation
{}
valid
:=
validation
.
Validation
{}
id
:=
com
.
StrTo
(
c
.
Param
(
"id"
))
.
MustInt
()
id
:=
com
.
StrTo
(
c
.
Param
(
"id"
))
.
MustInt
()
valid
.
Min
(
id
,
1
,
"id"
)
.
Message
(
"ID必须大于0"
)
valid
.
Min
(
id
,
1
,
"id"
)
.
Message
(
"ID必须大于0"
)
...
@@ -116,15 +121,15 @@ func DeletePlatformChain(c *gin.Context) {
...
@@ -116,15 +121,15 @@ func DeletePlatformChain(c *gin.Context) {
return
return
}
}
platformChainService
:=
platform_chain_service
.
PlatformChain
{
Id
:
id
}
chainService
:=
supported_chain_service
.
SupportedChain
{
ID
:
id
}
exists
,
err
:=
platformC
hainService
.
ExistById
()
exists
,
err
:=
c
hainService
.
ExistById
()
if
err
!=
nil
{
if
err
!=
nil
{
handler
.
SendResponse
(
c
,
errno
.
Err
WalletSupportedChainNotFound
,
nil
)
handler
.
SendResponse
(
c
,
errno
.
Err
Validation
,
nil
)
return
return
}
}
if
!
exists
{
if
!
exists
{
handler
.
SendResponse
(
c
,
errno
.
Err
WalletSupportedChainNotFound
,
nil
)
handler
.
SendResponse
(
c
,
errno
.
Err
Validation
,
nil
)
return
return
}
}
...
@@ -133,15 +138,16 @@ func DeletePlatformChain(c *gin.Context) {
...
@@ -133,15 +138,16 @@ func DeletePlatformChain(c *gin.Context) {
auth
,
_
:=
authService
.
GetUserInfo
()
auth
,
_
:=
authService
.
GetUserInfo
()
group
:=
auth
.
Group
group
:=
auth
.
Group
if
(
"administrator"
!=
group
)
{
if
(
"administrator"
!=
group
)
{
platform_chain
,
_
:=
platformC
hainService
.
Get
()
chain
,
_
:=
c
hainService
.
Get
()
if
platform_
chain
.
PlatformId
!=
auth
.
PlatformId
{
if
chain
.
PlatformId
!=
auth
.
PlatformId
{
handler
.
SendResponse
(
c
,
errno
.
ErrUserAuthIncorrect
,
nil
)
handler
.
SendResponse
(
c
,
errno
.
ErrUserAuthIncorrect
,
nil
)
return
return
}
}
}
}
err
=
platformChainService
.
Delete
()
err
=
chainService
.
Delete
()
if
err
!=
nil
{
if
err
!=
nil
{
handler
.
SendResponse
(
c
,
errno
.
ErrDelete
Wallet
SupportedChain
,
nil
)
handler
.
SendResponse
(
c
,
errno
.
ErrDeleteSupportedChain
,
nil
)
return
return
}
}
...
...
routers/api/v1/wallet_coin_relation.go
0 → 100644
View file @
7adb0e5c
package
v1
import
(
"bwallet/pkg/errno"
"bwallet/pkg/handler"
"bwallet/pkg/util"
"bwallet/service/auth_service"
"bwallet/service/wallet_coin_relation_service"
"github.com/gin-gonic/gin"
)
func
GetWalletCoinRelationCoinRelations
(
c
*
gin
.
Context
)
{
token
:=
c
.
Request
.
Header
.
Get
(
"Token"
)
authService
:=
auth_service
.
Auth
{
Token
:
token
}
auth
,
_
:=
authService
.
GetUserInfo
()
var
platform_id
int
platform_id
=
auth
.
PlatformId
walletCoinRelateionService
:=
wallet_coin_relation_service
.
WalletCoinRelation
{}
walletCoinRelateionService
=
wallet_coin_relation_service
.
WalletCoinRelation
{
PlatformId
:
platform_id
,
PageNum
:
util
.
GetPage
(
c
),
PageSize
:
util
.
GetLimit
(
c
),
}
total
,
err
:=
walletCoinRelateionService
.
Count
()
if
err
!=
nil
{
//handler.SendResponse(c, errno.ErrCountWalletCoinRelation, nil)
return
}
coins
,
err
:=
walletCoinRelateionService
.
GetAll
()
if
err
!=
nil
{
handler
.
SendResponse
(
c
,
errno
.
InternalServerError
,
nil
)
return
}
data
:=
make
(
map
[
string
]
interface
{})
data
[
"items"
]
=
coins
data
[
"total"
]
=
total
handler
.
SendResponse
(
c
,
nil
,
data
)
}
routers/router.go
View file @
7adb0e5c
...
@@ -29,7 +29,7 @@ func InitRouter() *gin.Engine {
...
@@ -29,7 +29,7 @@ func InitRouter() *gin.Engine {
{
{
//api.POST("/upload",v1.Upload)
//api.POST("/upload",v1.Upload)
api
.
GET
(
"/coins"
,
v1
.
Get
Coi
ns
)
api
.
GET
(
"/coins"
,
v1
.
Get
WalletCoinRelationCoinRelatio
ns
)
api
.
POST
(
"/coin"
,
v1
.
AddCoin
)
api
.
POST
(
"/coin"
,
v1
.
AddCoin
)
api
.
GET
(
"/coin/:id"
,
v1
.
GetCoin
)
api
.
GET
(
"/coin/:id"
,
v1
.
GetCoin
)
api
.
PUT
(
"/coin"
,
v1
.
EditCoin
)
api
.
PUT
(
"/coin"
,
v1
.
EditCoin
)
...
@@ -62,9 +62,9 @@ func InitRouter() *gin.Engine {
...
@@ -62,9 +62,9 @@ func InitRouter() *gin.Engine {
api
.
DELETE
(
"/supported-currency/:id"
,
v1
.
DeleteSupportedCurrency
)
api
.
DELETE
(
"/supported-currency/:id"
,
v1
.
DeleteSupportedCurrency
)
api
.
GET
(
"/currencies"
,
v1
.
GetCurrencies
)
api
.
GET
(
"/currencies"
,
v1
.
GetCurrencies
)
api
.
GET
(
"/
platform-chains"
,
v1
.
GetPlatform
Chains
)
api
.
GET
(
"/
supported-chains"
,
v1
.
GetSupported
Chains
)
api
.
POST
(
"/
platform-chain"
,
v1
.
AddPlatform
Chain
)
api
.
POST
(
"/
supported-chain"
,
v1
.
AddSupported
Chain
)
api
.
DELETE
(
"/
platform-chain/:id"
,
v1
.
DeletePlatform
Chain
)
api
.
DELETE
(
"/
supported-chain/:id"
,
v1
.
DeleteSupported
Chain
)
}
}
return
r
return
r
...
...
service/
platform_chain_service/platform
_chain.go
→
service/
supported_chain_service/supported
_chain.go
View file @
7adb0e5c
package
platform
_chain_service
package
supported
_chain_service
import
(
import
"bwallet/models"
"bwallet/models"
)
type
PlatformChain
struct
{
type
SupportedChain
struct
{
Id
int
ID
int
ChainId
int
PlatformId
int
PlatformId
int
CoinId
int
PageNum
int
PageNum
int
PageSize
int
PageSize
int
}
}
func
(
c
*
PlatformChain
)
Get
()
(
*
models
.
PlatformChain
,
error
)
{
func
(
c
*
SupportedChain
)
Get
()
(
*
models
.
SupportedChain
,
error
)
{
chain
,
err
:=
models
.
GetSupportedChain
(
c
.
ID
)
platformChain
,
err
:=
models
.
GetPlatformChain
(
c
.
Id
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
return
platformC
hain
,
nil
return
c
hain
,
nil
}
}
func
(
c
*
PlatformChain
)
GetAll
()
([]
*
models
.
Platform
Chain
,
error
)
{
func
(
c
*
SupportedChain
)
GetAll
()
([]
*
models
.
Supported
Chain
,
error
)
{
var
c
oinsRecommend
[]
*
models
.
Platform
Chain
var
c
hains
[]
*
models
.
Supported
Chain
c
oinsRecommend
,
err
:=
models
.
GetPlatform
Chains
(
c
.
PageNum
,
c
.
PageSize
,
c
.
getMaps
())
c
hains
,
err
:=
models
.
GetSupported
Chains
(
c
.
PageNum
,
c
.
PageSize
,
c
.
getMaps
())
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
return
c
oinsRecommend
,
nil
return
c
hains
,
nil
}
}
func
(
c
*
Platform
Chain
)
Add
()
error
{
func
(
c
*
Supported
Chain
)
Add
()
error
{
platformC
hain
:=
map
[
string
]
interface
{}{
c
hain
:=
map
[
string
]
interface
{}{
"platform_id"
:
c
.
PlatformId
,
"platform_id"
:
c
.
PlatformId
,
"c
hain_id"
:
c
.
Cha
inId
,
"c
oin_id"
:
c
.
Co
inId
,
}
}
if
err
:=
models
.
Add
PlatformChain
(
platformC
hain
);
err
!=
nil
{
if
err
:=
models
.
Add
SupportedChain
(
c
hain
);
err
!=
nil
{
return
err
return
err
}
}
return
nil
return
nil
}
}
func
(
c
*
Platform
Chain
)
ExistById
()
(
bool
,
error
)
{
func
(
c
*
Supported
Chain
)
ExistById
()
(
bool
,
error
)
{
return
models
.
Exist
PlatformChainById
(
c
.
Id
)
return
models
.
Exist
SupportedChainById
(
c
.
ID
)
}
}
func
(
c
*
Platform
Chain
)
Count
()
(
int
,
error
)
{
func
(
c
*
Supported
Chain
)
Count
()
(
int
,
error
)
{
return
models
.
Get
Platform
ChainTotal
(
c
.
getMaps
())
return
models
.
Get
Supported
ChainTotal
(
c
.
getMaps
())
}
}
func
(
c
*
Platform
Chain
)
Delete
()
error
{
func
(
c
*
Supported
Chain
)
Delete
()
error
{
return
models
.
Delete
PlatformChain
(
c
.
Id
)
return
models
.
Delete
SupportedChain
(
c
.
ID
)
}
}
func
(
c
*
Platform
Chain
)
getMaps
()
(
map
[
string
]
interface
{})
{
func
(
c
*
Supported
Chain
)
getMaps
()
(
map
[
string
]
interface
{})
{
maps
:=
make
(
map
[
string
]
interface
{})
maps
:=
make
(
map
[
string
]
interface
{})
if
c
.
PlatformId
!=
0
{
if
c
.
ID
!=
0
{
maps
[
"
platform_id"
]
=
c
.
PlatformId
maps
[
"
id"
]
=
c
.
ID
}
}
if
c
.
Chain
Id
!=
0
{
if
c
.
Platform
Id
!=
0
{
maps
[
"
chain_id"
]
=
c
.
Chain
Id
maps
[
"
platform_id"
]
=
c
.
Platform
Id
}
}
return
maps
return
maps
}
}
service/wallet_coin_relation_service/wallet_coin_relation.go
0 → 100644
View file @
7adb0e5c
package
wallet_coin_relation_service
import
(
"bwallet/models"
)
type
WalletCoinRelation
struct
{
PlatformId
int
CoinId
int
PageNum
int
PageSize
int
}
func
(
w
*
WalletCoinRelation
)
GetAll
()
([]
*
models
.
WalletCoinRelation
,
error
)
{
var
coins
[]
*
models
.
WalletCoinRelation
coins
,
err
:=
models
.
GetWalletCoinRelations
(
w
.
PageNum
,
w
.
PageSize
,
w
.
getMaps
())
if
err
!=
nil
{
return
nil
,
err
}
return
coins
,
nil
}
func
(
w
*
WalletCoinRelation
)
Count
()
(
int
,
error
)
{
return
models
.
GetWalletCoinRelationTotal
(
w
.
getMaps
())
}
func
(
c
*
WalletCoinRelation
)
getMaps
()
(
map
[
string
]
interface
{})
{
maps
:=
make
(
map
[
string
]
interface
{})
//if c.PlatformId != 0 {
// maps["platform_id"] = c.PlatformId
//}
if
c
.
CoinId
!=
0
{
maps
[
"coin_id"
]
=
c
.
CoinId
}
return
maps
}
validate_service/supported_chain.go
0 → 100644
View file @
7adb0e5c
package
validate_service
type
SupportedChain
struct
{
PlatformId
int
`json:"platform_id" validate:"required"`
CoinName
string
`json:"coin_name" validate:"required"`
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment