This commit is contained in:
2025-02-22 18:31:07 +08:00
parent c5241a8e43
commit 6f0856535c
5 changed files with 173 additions and 89 deletions

View File

@ -0,0 +1,39 @@
package fronted
import (
"go-admin/app/admin/service"
"go-admin/app/admin/service/dto"
"go-admin/common/service/sysservice/sysstatuscode"
statuscode "go-admin/common/status_code"
"github.com/gin-gonic/gin"
"github.com/go-admin-team/go-admin-core/sdk/api"
)
type LineCoinnetwork struct {
api.Api
}
// 获取区块链网络列表
func (e LineCoinnetwork) GetList(c *gin.Context) {
s := service.LineCoinnetwork{}
err := e.MakeContext(c).
MakeOrm().
MakeService(&s.Service).
Errors
if err != nil {
e.Logger.Error(err)
e.Error(500, err, err.Error())
return
}
data := make([]dto.LineCoinnetworkAppResp, 0)
code := s.GetOpenList(&data)
if code != statuscode.OK {
e.Error(code, nil, sysstatuscode.GetStatusCodeDescription(c, code))
return
}
e.OK(data, "success")
}

View File

@ -2,17 +2,20 @@ package models
import (
"go-admin/common/models"
"github.com/shopspring/decimal"
)
type LineCoinnetwork struct {
models.Model
NetworkName string `json:"networkName" gorm:"type:varchar(255);comment:网络名称"`
TokenName string `json:"tokenName" gorm:"type:varchar(255);comment:网络token名称"`
ArrivalNum int64 `json:"arrivalNum" gorm:"type:int;comment:充值区块确认数"`
UnlockNum int64 `json:"unlockNum" gorm:"type:int;comment:提现解锁确认数"`
UnlockTime int64 `json:"unlockTime" gorm:"type:int;comment:提现确认平均时间,单位分钟"`
Fee string `json:"fee" gorm:"type:decimal(32,6);comment:网络手续费,该字段是动态的,后面会有服务定时更新该字段"`
NetworkName string `json:"networkName" gorm:"type:varchar(255);comment:网络名称"`
TokenName string `json:"tokenName" gorm:"type:varchar(255);comment:网络token名称"`
ArrivalNum int64 `json:"arrivalNum" gorm:"type:int;comment:充值区块确认数"`
UnlockNum int64 `json:"unlockNum" gorm:"type:int;comment:提现解锁确认数"`
UnlockTime int64 `json:"unlockTime" gorm:"type:int;comment:提现确认平均时间,单位分钟"`
Fee decimal.Decimal `json:"fee" gorm:"type:decimal(32,6);comment:网络手续费(百分比)"`
MinWithdrawal decimal.Decimal `json:"minWithdrawal" gorm:"type:decimal(32,6);comment:最小提现金额"`
models.ModelTime
models.ControlBy
}

View File

@ -5,12 +5,14 @@ import (
jwt "github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth"
"go-admin/app/admin/apis"
"go-admin/common/middleware"
"go-admin/app/admin/fronted"
"go-admin/common/actions"
"go-admin/common/middleware"
)
func init() {
routerCheckRole = append(routerCheckRole, registerLineCoinnetworkRouter)
routerFrontedCheckRole = append(routerFrontedCheckRole, registerLineCoinnetworkFrontedRouter)
}
// registerLineCoinnetworkRouter
@ -24,4 +26,12 @@ func registerLineCoinnetworkRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJ
r.PUT("/:id", actions.PermissionAction(), api.Update)
r.DELETE("", api.Delete)
}
}
}
func registerLineCoinnetworkFrontedRouter(v1 *gin.RouterGroup) {
api := fronted.LineCoinnetwork{}
r := v1.Group("/line-coinnetwork")
{
r.GET("/list", api.GetList)
}
}

View File

@ -1,59 +1,68 @@
package dto
import (
"go-admin/app/admin/models"
"go-admin/common/dto"
common "go-admin/common/models"
"github.com/shopspring/decimal"
)
type LineCoinnetworkGetPageReq struct {
dto.Pagination `search:"-"`
LineCoinnetworkOrder
dto.Pagination `search:"-"`
LineCoinnetworkOrder
}
type LineCoinnetworkOrder struct {
Id string `form:"idOrder" search:"type:order;column:id;table:line_coinnetwork"`
NetworkName string `form:"networkNameOrder" search:"type:order;column:network_name;table:line_coinnetwork"`
TokenName string `form:"tokenNameOrder" search:"type:order;column:token_name;table:line_coinnetwork"`
ArrivalNum string `form:"arrivalNumOrder" search:"type:order;column:arrival_num;table:line_coinnetwork"`
UnlockNum string `form:"unlockNumOrder" search:"type:order;column:unlock_num;table:line_coinnetwork"`
UnlockTime string `form:"unlockTimeOrder" search:"type:order;column:unlock_time;table:line_coinnetwork"`
Fee string `form:"feeOrder" search:"type:order;column:fee;table:line_coinnetwork"`
CreateBy string `form:"createByOrder" search:"type:order;column:create_by;table:line_coinnetwork"`
UpdateBy string `form:"updateByOrder" search:"type:order;column:update_by;table:line_coinnetwork"`
CreatedAt string `form:"createdAtOrder" search:"type:order;column:created_at;table:line_coinnetwork"`
UpdatedAt string `form:"updatedAtOrder" search:"type:order;column:updated_at;table:line_coinnetwork"`
DeletedAt string `form:"deletedAtOrder" search:"type:order;column:deleted_at;table:line_coinnetwork"`
Id string `form:"idOrder" search:"type:order;column:id;table:line_coinnetwork"`
NetworkName string `form:"networkNameOrder" search:"type:order;column:network_name;table:line_coinnetwork"`
TokenName string `form:"tokenNameOrder" search:"type:order;column:token_name;table:line_coinnetwork"`
ArrivalNum string `form:"arrivalNumOrder" search:"type:order;column:arrival_num;table:line_coinnetwork"`
UnlockNum string `form:"unlockNumOrder" search:"type:order;column:unlock_num;table:line_coinnetwork"`
UnlockTime string `form:"unlockTimeOrder" search:"type:order;column:unlock_time;table:line_coinnetwork"`
Fee string `form:"feeOrder" search:"type:order;column:fee;table:line_coinnetwork"`
CreateBy string `form:"createByOrder" search:"type:order;column:create_by;table:line_coinnetwork"`
UpdateBy string `form:"updateByOrder" search:"type:order;column:update_by;table:line_coinnetwork"`
CreatedAt string `form:"createdAtOrder" search:"type:order;column:created_at;table:line_coinnetwork"`
UpdatedAt string `form:"updatedAtOrder" search:"type:order;column:updated_at;table:line_coinnetwork"`
DeletedAt string `form:"deletedAtOrder" search:"type:order;column:deleted_at;table:line_coinnetwork"`
}
func (m *LineCoinnetworkGetPageReq) GetNeedSearch() interface{} {
return *m
}
type LineCoinnetworkInsertReq struct {
Id int `json:"-" comment:"主键ID"` // 主键ID
NetworkName string `json:"networkName" comment:"网络名称"`
TokenName string `json:"tokenName" comment:"网络token名称"`
ArrivalNum int64 `json:"arrivalNum" comment:"充值区块确认数"`
UnlockNum int64 `json:"unlockNum" comment:"提现解锁确认数"`
UnlockTime int64 `json:"unlockTime" comment:"提现确认平均时间,单位分钟"`
Fee string `json:"fee" comment:"网络手续费,该字段是动态的,后面会有服务定时更新该字段"`
common.ControlBy
type LineCoinnetworkAppResp struct {
Id int `json:"id"`
NetworkName string `json:"networkName"`
MinWithdrawal decimal.Decimal `json:"minWithdrawal"`
Fee decimal.Decimal `json:"fee"`
}
func (s *LineCoinnetworkInsertReq) Generate(model *models.LineCoinnetwork) {
if s.Id == 0 {
model.Model = common.Model{ Id: s.Id }
}
model.NetworkName = s.NetworkName
model.TokenName = s.TokenName
model.ArrivalNum = s.ArrivalNum
model.UnlockNum = s.UnlockNum
model.UnlockTime = s.UnlockTime
model.Fee = s.Fee
model.CreateBy = s.CreateBy // 添加这而,需要记录是被谁创建的
type LineCoinnetworkInsertReq struct {
Id int `json:"-" comment:"主键ID"` // 主键ID
NetworkName string `json:"networkName" comment:"网络名称"`
TokenName string `json:"tokenName" comment:"网络token名称"`
ArrivalNum int64 `json:"arrivalNum" comment:"充值区块确认数"`
UnlockNum int64 `json:"unlockNum" comment:"提现解锁确认数"`
UnlockTime int64 `json:"unlockTime" comment:"提现确认平均时间,单位分钟"`
Fee decimal.Decimal `json:"fee" comment:"网络手续费百分比"`
MinWithdrawal decimal.Decimal `json:"minWithdrawal" comment:"最小提现金额"`
common.ControlBy
}
func (s *LineCoinnetworkInsertReq) Generate(model *models.LineCoinnetwork) {
if s.Id == 0 {
model.Model = common.Model{Id: s.Id}
}
model.NetworkName = s.NetworkName
model.TokenName = s.TokenName
model.ArrivalNum = s.ArrivalNum
model.UnlockNum = s.UnlockNum
model.UnlockTime = s.UnlockTime
model.Fee = s.Fee
model.MinWithdrawal = s.MinWithdrawal
model.CreateBy = s.CreateBy // 添加这而,需要记录是被谁创建的
}
func (s *LineCoinnetworkInsertReq) GetId() interface{} {
@ -61,27 +70,29 @@ func (s *LineCoinnetworkInsertReq) GetId() interface{} {
}
type LineCoinnetworkUpdateReq struct {
Id int `uri:"id" comment:"主键ID"` // 主键ID
NetworkName string `json:"networkName" comment:"网络名称"`
TokenName string `json:"tokenName" comment:"网络token名称"`
ArrivalNum int64 `json:"arrivalNum" comment:"充值区块确认数"`
UnlockNum int64 `json:"unlockNum" comment:"提现解锁确认数"`
UnlockTime int64 `json:"unlockTime" comment:"提现确认平均时间,单位分钟"`
Fee string `json:"fee" comment:"网络手续费,该字段是动态的,后面会有服务定时更新该字段"`
common.ControlBy
Id int `uri:"id" comment:"主键ID"` // 主键ID
NetworkName string `json:"networkName" comment:"网络名称"`
TokenName string `json:"tokenName" comment:"网络token名称"`
ArrivalNum int64 `json:"arrivalNum" comment:"充值区块确认数"`
UnlockNum int64 `json:"unlockNum" comment:"提现解锁确认数"`
UnlockTime int64 `json:"unlockTime" comment:"提现确认平均时间,单位分钟"`
Fee decimal.Decimal `json:"fee" comment:"网络手续费百分比"`
MinWithdrawal decimal.Decimal `json:"minWithdrawal" comment:"最小提现金额"`
common.ControlBy
}
func (s *LineCoinnetworkUpdateReq) Generate(model *models.LineCoinnetwork) {
if s.Id == 0 {
model.Model = common.Model{ Id: s.Id }
}
model.NetworkName = s.NetworkName
model.TokenName = s.TokenName
model.ArrivalNum = s.ArrivalNum
model.UnlockNum = s.UnlockNum
model.UnlockTime = s.UnlockTime
model.Fee = s.Fee
model.UpdateBy = s.UpdateBy // 添加这而,需要记录是被谁更新的
func (s *LineCoinnetworkUpdateReq) Generate(model *models.LineCoinnetwork) {
if s.Id == 0 {
model.Model = common.Model{Id: s.Id}
}
model.NetworkName = s.NetworkName
model.TokenName = s.TokenName
model.ArrivalNum = s.ArrivalNum
model.UnlockNum = s.UnlockNum
model.UnlockTime = s.UnlockTime
model.Fee = s.Fee
model.MinWithdrawal = s.MinWithdrawal
model.UpdateBy = s.UpdateBy // 添加这而,需要记录是被谁更新的
}
func (s *LineCoinnetworkUpdateReq) GetId() interface{} {
@ -90,8 +101,9 @@ func (s *LineCoinnetworkUpdateReq) GetId() interface{} {
// LineCoinnetworkGetReq 功能获取请求参数
type LineCoinnetworkGetReq struct {
Id int `uri:"id"`
Id int `uri:"id"`
}
func (s *LineCoinnetworkGetReq) GetId() interface{} {
return s.Id
}

View File

@ -3,13 +3,15 @@ package service
import (
"errors"
"github.com/go-admin-team/go-admin-core/sdk/service"
"github.com/go-admin-team/go-admin-core/sdk/service"
"github.com/jinzhu/copier"
"gorm.io/gorm"
"go-admin/app/admin/models"
"go-admin/app/admin/service/dto"
"go-admin/common/actions"
cDto "go-admin/common/dto"
statuscode "go-admin/common/status_code"
)
type LineCoinnetwork struct {
@ -59,9 +61,9 @@ func (e *LineCoinnetwork) Get(d *dto.LineCoinnetworkGetReq, p *actions.DataPermi
// Insert 创建LineCoinnetwork对象
func (e *LineCoinnetwork) Insert(c *dto.LineCoinnetworkInsertReq) error {
var err error
var data models.LineCoinnetwork
c.Generate(&data)
var err error
var data models.LineCoinnetwork
c.Generate(&data)
err = e.Orm.Create(&data).Error
if err != nil {
e.Log.Errorf("LineCoinnetworkService Insert error:%s \r\n", err)
@ -72,22 +74,22 @@ func (e *LineCoinnetwork) Insert(c *dto.LineCoinnetworkInsertReq) error {
// Update 修改LineCoinnetwork对象
func (e *LineCoinnetwork) Update(c *dto.LineCoinnetworkUpdateReq, p *actions.DataPermission) error {
var err error
var data = models.LineCoinnetwork{}
e.Orm.Scopes(
actions.Permission(data.TableName(), p),
).First(&data, c.GetId())
c.Generate(&data)
var err error
var data = models.LineCoinnetwork{}
e.Orm.Scopes(
actions.Permission(data.TableName(), p),
).First(&data, c.GetId())
c.Generate(&data)
db := e.Orm.Save(&data)
if err = db.Error; err != nil {
e.Log.Errorf("LineCoinnetworkService Save error:%s \r\n", err)
return err
}
if db.RowsAffected == 0 {
return errors.New("无权更新该数据")
}
return nil
db := e.Orm.Save(&data)
if err = db.Error; err != nil {
e.Log.Errorf("LineCoinnetworkService Save error:%s \r\n", err)
return err
}
if db.RowsAffected == 0 {
return errors.New("无权更新该数据")
}
return nil
}
// Remove 删除LineCoinnetwork
@ -99,11 +101,29 @@ func (e *LineCoinnetwork) Remove(d *dto.LineCoinnetworkDeleteReq, p *actions.Dat
actions.Permission(data.TableName(), p),
).Delete(&data, d.GetId())
if err := db.Error; err != nil {
e.Log.Errorf("Service RemoveLineCoinnetwork error:%s \r\n", err)
return err
}
if db.RowsAffected == 0 {
return errors.New("无权删除该数据")
}
e.Log.Errorf("Service RemoveLineCoinnetwork error:%s \r\n", err)
return err
}
if db.RowsAffected == 0 {
return errors.New("无权删除该数据")
}
return nil
}
// 获取区块链列表
// 状态码
func (e *LineCoinnetwork) GetOpenList(list *[]dto.LineCoinnetworkAppResp) int {
var datas []models.LineCoinnetwork
item := dto.LineCoinnetworkAppResp{}
if err := e.Orm.Model(&models.LineCoinnetwork{}).Find(&datas).Error; err != nil {
return statuscode.ServerError
}
for _, v := range datas {
copier.Copy(&item, v)
*list = append(*list, item)
}
return statuscode.OK
}