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
0a4c7d5d
Commit
0a4c7d5d
authored
Dec 03, 2020
by
shajiaiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
直播banner api
parent
c82c4410
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
455 additions
and
0 deletions
+455
-0
live_banner.go
models/live_banner.go
+101
-0
model.go
models/model.go
+12
-0
errno.go
pkg/errno/errno.go
+7
-0
live_banner.go
routers/api/backend/live_banner.go
+217
-0
router.go
routers/router.go
+6
-0
live_banner.go
service/live_banner_service/live_banner.go
+97
-0
live_banner.go
validate_service/live_banner.go
+15
-0
No files found.
models/live_banner.go
0 → 100644
View file @
0a4c7d5d
package
models
import
(
"bwallet/pkg/setting"
"github.com/jinzhu/gorm"
)
type
LiveBanner
struct
{
Model
TargetLink
string
`json:"target_link"`
ImageUrl
string
`json:"image_url"`
Title
string
`json:"title"`
PlatformId
int
`json:"platform_id"`
Sort
int32
`json:"sort"`
Status
uint8
`json:"status"`
}
func
(
b
LiveBanner
)
TableName
()
string
{
return
setting
.
DatabaseSetting
.
Name_Sources
+
".wallet_live_banner"
}
func
ExistLiveBannerById
(
id
int
)
(
bool
,
error
)
{
var
banner
LiveBanner
err
:=
db
.
Select
(
"id"
)
.
Where
(
"id = ?"
,
id
)
.
First
(
&
banner
)
.
Error
if
err
!=
nil
&&
err
!=
gorm
.
ErrRecordNotFound
{
return
false
,
err
}
if
banner
.
ID
>
0
{
return
true
,
nil
}
return
false
,
nil
}
func
GetLiveBanner
(
id
int
)
(
*
LiveBanner
,
error
)
{
var
banner
LiveBanner
err
:=
db
.
Where
(
"id = ?"
,
id
)
.
First
(
&
banner
)
.
Error
if
err
!=
nil
&&
err
!=
gorm
.
ErrRecordNotFound
{
return
nil
,
err
}
err
=
db
.
Model
(
&
banner
)
.
Error
if
err
!=
nil
&&
err
!=
gorm
.
ErrRecordNotFound
{
return
nil
,
err
}
return
&
banner
,
nil
}
func
GetLiveBannerTotal
(
maps
interface
{})
(
int
,
error
)
{
var
count
int
if
err
:=
db
.
Model
(
&
LiveBanner
{})
.
Where
(
maps
)
.
Count
(
&
count
)
.
Error
;
err
!=
nil
{
return
0
,
err
}
return
count
,
nil
}
func
GetLiveBanners
(
pageNum
,
pageSize
int
,
maps
interface
{})
([]
*
LiveBanner
,
error
)
{
var
banners
[]
*
LiveBanner
err
:=
db
.
Where
(
maps
)
.
Offset
(
pageNum
)
.
Limit
(
pageSize
)
.
Find
(
&
banners
)
.
Error
if
err
!=
nil
&&
err
!=
gorm
.
ErrRecordNotFound
{
return
nil
,
err
}
return
banners
,
nil
}
func
AddLiveBanner
(
data
map
[
string
]
interface
{})
(
error
)
{
banner
:=
LiveBanner
{
TargetLink
:
data
[
"target_link"
]
.
(
string
),
ImageUrl
:
data
[
"image_url"
]
.
(
string
),
Title
:
data
[
"title"
]
.
(
string
),
PlatformId
:
data
[
"platform_id"
]
.
(
int
),
Sort
:
data
[
"sort"
]
.
(
int32
),
Status
:
data
[
"status"
]
.
(
uint8
),
}
if
err
:=
db
.
Create
(
&
banner
)
.
Error
;
err
!=
nil
{
return
err
}
return
nil
}
func
EditLiveBanner
(
id
int
,
data
interface
{})
error
{
if
err
:=
db
.
Debug
()
.
Model
(
&
LiveBanner
{})
.
Where
(
"id = ?"
,
id
)
.
Updates
(
data
)
.
Error
;
err
!=
nil
{
return
err
}
return
nil
}
func
DeleteLiveBanner
(
id
int
)
error
{
if
err
:=
db
.
Where
(
"id = ?"
,
id
)
.
Delete
(
LiveBanner
{})
.
Error
;
err
!=
nil
{
return
err
}
return
nil
}
models/model.go
0 → 100644
View file @
0a4c7d5d
package
models
import
(
"time"
)
type
BaseModel
struct
{
ID
uint
`gorm:"primary_key"`
CreatedAt
time
.
Time
`json:"createdAt"`
UpdatedAt
time
.
Time
`json:"updatedAt"`
DeletedAt
*
time
.
Time
`json:"deletedAt"`
}
pkg/errno/errno.go
View file @
0a4c7d5d
...
@@ -171,4 +171,11 @@ var (
...
@@ -171,4 +171,11 @@ var (
ErrUpdateLiveTitleRecord
=
&
Errno
{
Code
:
20102
,
Message
:
"The live title record update error."
}
ErrUpdateLiveTitleRecord
=
&
Errno
{
Code
:
20102
,
Message
:
"The live title record update error."
}
ErrDeleteLiveTitleRecord
=
&
Errno
{
Code
:
20102
,
Message
:
"The live title record delete error."
}
ErrDeleteLiveTitleRecord
=
&
Errno
{
Code
:
20102
,
Message
:
"The live title record delete error."
}
ErrExistLiveTitleRecord
=
&
Errno
{
Code
:
20103
,
Message
:
"The live title record already exists."
}
ErrExistLiveTitleRecord
=
&
Errno
{
Code
:
20103
,
Message
:
"The live title record already exists."
}
// live banner errors
ErrLiveBannerNotFound
=
&
Errno
{
Code
:
20101
,
Message
:
"The live banner was not found."
}
ErrCountLiveBanner
=
&
Errno
{
Code
:
20102
,
Message
:
"The live banners statistic error."
}
ErrAddLiveBanner
=
&
Errno
{
Code
:
20101
,
Message
:
"The live banner add error."
}
ErrUpdateLiveBanner
=
&
Errno
{
Code
:
20102
,
Message
:
"The live banner update error."
}
ErrDeleteLiveBanner
=
&
Errno
{
Code
:
20102
,
Message
:
"The live banner delete error."
}
)
)
routers/api/backend/live_banner.go
0 → 100644
View file @
0a4c7d5d
package
backend
import
(
"bwallet/pkg/errno"
"bwallet/pkg/handler"
"bwallet/pkg/util"
"bwallet/service/live_banner_service"
"bwallet/validate_service"
"github.com/Unknwon/com"
"github.com/astaxie/beego/validation"
"github.com/gin-gonic/gin"
"strconv"
"strings"
)
func
GetLiveBanners
(
c
*
gin
.
Context
)
{
token
:=
c
.
Request
.
Header
.
Get
(
"Token"
)
user
,
_
:=
util
.
ParseToken
(
token
)
var
platform_id
int
platform_id
=
user
.
UserInfo
.
PlatformId
group
:=
user
.
UserInfo
.
Group
if
(
"administrator"
==
group
)
{
if
arg
:=
c
.
Query
(
"platform_id"
);
arg
!=
""
{
platform_id
=
com
.
StrTo
(
c
.
DefaultQuery
(
"platform_id"
,
strconv
.
Itoa
(
platform_id
)))
.
MustInt
()
}
}
status
:=
com
.
StrTo
(
c
.
DefaultQuery
(
"status"
,
"1"
))
.
MustUint8
()
bannerService
:=
live_banner_service
.
LiveBanner
{
Status
:
status
,
PlatformId
:
platform_id
,
PageNum
:
util
.
GetPage
(
c
),
PageSize
:
util
.
GetLimit
(
c
),
}
total
,
err
:=
bannerService
.
Count
()
if
err
!=
nil
{
handler
.
SendResponse
(
c
,
errno
.
ErrCountWallet
,
nil
)
return
}
banners
,
err
:=
bannerService
.
GetAll
()
if
err
!=
nil
{
handler
.
SendResponse
(
c
,
errno
.
InternalServerError
,
nil
)
return
}
data
:=
make
(
map
[
string
]
interface
{})
data
[
"items"
]
=
banners
data
[
"total"
]
=
total
handler
.
SendResponse
(
c
,
nil
,
data
)
}
func
GetLiveBanner
(
c
*
gin
.
Context
)
{
id
:=
com
.
StrTo
(
c
.
DefaultQuery
(
"id"
,
"0"
))
.
MustInt
()
valid
:=
validation
.
Validation
{}
valid
.
Min
(
id
,
1
,
"id"
)
.
Message
(
"ID必须大于0"
)
if
valid
.
HasErrors
()
{
handler
.
SendResponse
(
c
,
errno
.
ErrValidation
,
nil
)
return
}
token
:=
c
.
Request
.
Header
.
Get
(
"Token"
)
user
,
_
:=
util
.
ParseToken
(
token
)
group
:=
user
.
UserInfo
.
Group
var
platform_id
int
platform_id
=
id
if
(
"administrator"
!=
group
&&
id
!=
user
.
UserInfo
.
PlatformId
)
{
handler
.
SendResponse
(
c
,
errno
.
ErrUserTokenIncorrect
,
nil
)
return
}
bannerService
:=
live_banner_service
.
LiveBanner
{
Id
:
platform_id
}
exists
,
err
:=
bannerService
.
ExistById
()
if
err
!=
nil
{
handler
.
SendResponse
(
c
,
errno
.
ErrLiveBannerNotFound
,
nil
)
return
}
if
(
!
exists
)
{
handler
.
SendResponse
(
c
,
errno
.
ErrLiveBannerNotFound
,
nil
)
return
}
banner
,
err
:=
bannerService
.
Get
()
if
err
!=
nil
{
handler
.
SendResponse
(
c
,
errno
.
ErrLiveBannerNotFound
,
nil
)
return
}
handler
.
SendResponse
(
c
,
nil
,
banner
)
}
func
AddLiveBanner
(
c
*
gin
.
Context
)
{
token
:=
c
.
Request
.
Header
.
Get
(
"Token"
)
user
,
_
:=
util
.
ParseToken
(
token
)
group
:=
user
.
UserInfo
.
Group
if
(
"administrator"
!=
group
)
{
handler
.
SendResponse
(
c
,
errno
.
ErrUserAuthIncorrect
,
nil
)
return
}
banner
:=
validate_service
.
LiveBanner
{}
c
.
ShouldBindJSON
(
&
banner
)
if
ok
,
errors
:=
validate_service
.
ValidateInputs
(
banner
);
!
ok
{
for
_
,
err
:=
range
errors
{
handler
.
SendResponse
(
c
,
errno
.
ErrBind
,
strings
.
Join
(
err
,
" "
))
return
}
}
bannerService
:=
live_banner_service
.
LiveBanner
{
ImageUrl
:
banner
.
ImageUrl
,
TargetLink
:
banner
.
TargetLink
,
Title
:
banner
.
Title
,
PlatformId
:
banner
.
PlatformId
,
Status
:
banner
.
Status
,
Sort
:
banner
.
Sort
,
}
if
err
:=
bannerService
.
Add
();
err
!=
nil
{
handler
.
SendResponse
(
c
,
errno
.
ErrAddLiveBanner
,
nil
)
return
}
handler
.
SendResponse
(
c
,
nil
,
nil
)
}
func
EditLiveBanner
(
c
*
gin
.
Context
)
{
banner
:=
validate_service
.
EditLiveBanner
{}
c
.
ShouldBindJSON
(
&
banner
)
//方法一
if
ok
,
errors
:=
validate_service
.
ValidateInputs
(
banner
);
!
ok
{
for
_
,
err
:=
range
errors
{
handler
.
SendResponse
(
c
,
errno
.
ErrBind
,
strings
.
Join
(
err
,
" "
))
return
}
}
bannerService
:=
live_banner_service
.
LiveBanner
{
Id
:
banner
.
Id
,
ImageUrl
:
banner
.
ImageUrl
,
TargetLink
:
banner
.
TargetLink
,
Title
:
banner
.
Title
,
PlatformId
:
banner
.
PlatformId
,
Status
:
banner
.
Status
,
Sort
:
banner
.
Sort
,
}
token
:=
c
.
Request
.
Header
.
Get
(
"Token"
)
user
,
_
:=
util
.
ParseToken
(
token
)
group
:=
user
.
UserInfo
.
Group
if
(
"administrator"
!=
group
&&
user
.
UserInfo
.
PlatformId
!=
banner
.
PlatformId
)
{
handler
.
SendResponse
(
c
,
errno
.
ErrUserAuthIncorrect
,
nil
)
return
}
exists
,
err
:=
bannerService
.
ExistById
()
if
err
!=
nil
||
!
exists
{
handler
.
SendResponse
(
c
,
errno
.
ErrLiveBannerNotFound
,
nil
)
return
}
if
err
:=
bannerService
.
Edit
();
err
!=
nil
{
handler
.
SendResponse
(
c
,
errno
.
ErrUpdateLiveBanner
,
nil
)
return
}
handler
.
SendResponse
(
c
,
nil
,
nil
)
}
func
DeleteLiveBanner
(
c
*
gin
.
Context
)
{
id
:=
com
.
StrTo
(
c
.
DefaultQuery
(
"id"
,
"0"
))
.
MustInt
()
valid
:=
validation
.
Validation
{}
valid
.
Min
(
id
,
1
,
"id"
)
.
Message
(
"Id必须大于0"
)
if
valid
.
HasErrors
()
{
handler
.
SendResponse
(
c
,
valid
.
Errors
[
0
],
nil
)
return
}
token
:=
c
.
Request
.
Header
.
Get
(
"Token"
)
user
,
_
:=
util
.
ParseToken
(
token
)
group
:=
user
.
UserInfo
.
Group
bannerService
:=
live_banner_service
.
LiveBanner
{
Id
:
id
}
exists
,
err
:=
bannerService
.
ExistById
()
if
err
!=
nil
||
!
exists
{
handler
.
SendResponse
(
c
,
errno
.
ErrLiveBannerNotFound
,
nil
)
return
}
banner
,
err
:=
bannerService
.
Get
()
if
err
!=
nil
{
handler
.
SendResponse
(
c
,
errno
.
ErrValidation
,
nil
)
return
}
if
(
"administrator"
!=
group
&&
user
.
UserInfo
.
PlatformId
!=
banner
.
PlatformId
)
{
handler
.
SendResponse
(
c
,
errno
.
ErrUserAuthIncorrect
,
nil
)
return
}
err
=
bannerService
.
Delete
()
if
err
!=
nil
{
handler
.
SendResponse
(
c
,
errno
.
ErrDeleteLiveBanner
,
nil
)
return
}
handler
.
SendResponse
(
c
,
nil
,
nil
)
}
routers/router.go
View file @
0a4c7d5d
...
@@ -120,6 +120,12 @@ func InitRouter() *gin.Engine {
...
@@ -120,6 +120,12 @@ func InitRouter() *gin.Engine {
api
.
PUT
(
"/live-info"
,
backend
.
VerifyLiveInfo
)
api
.
PUT
(
"/live-info"
,
backend
.
VerifyLiveInfo
)
api
.
GET
(
"/live-title-record"
,
backend
.
GetLiveTitleRecord
)
api
.
GET
(
"/live-title-record"
,
backend
.
GetLiveTitleRecord
)
api
.
PUT
(
"/live-title-record"
,
backend
.
VerifyLiveTitleRecord
)
api
.
PUT
(
"/live-title-record"
,
backend
.
VerifyLiveTitleRecord
)
api
.
GET
(
"/live-banners"
,
backend
.
GetLiveBanners
)
api
.
GET
(
"/live-banner"
,
backend
.
GetLiveBanner
)
api
.
POST
(
"/live-banner"
,
backend
.
AddLiveBanner
)
api
.
PUT
(
"/live-banner"
,
backend
.
EditLiveBanner
)
api
.
DELETE
(
"/live-banner"
,
backend
.
DeleteLiveBanner
)
}
}
return
r
return
r
...
...
service/live_banner_service/live_banner.go
0 → 100644
View file @
0a4c7d5d
package
live_banner_service
import
(
"bwallet/models"
)
type
LiveBanner
struct
{
Id
int
TargetLink
string
ImageUrl
string
Title
string
PlatformId
int
Sort
int32
Status
uint8
PageNum
int
PageSize
int
}
func
(
b
*
LiveBanner
)
Get
()
(
*
models
.
LiveBanner
,
error
)
{
banner
,
err
:=
models
.
GetLiveBanner
(
b
.
Id
)
if
err
!=
nil
{
return
nil
,
err
}
return
banner
,
nil
}
func
(
b
*
LiveBanner
)
GetAll
()
([]
*
models
.
LiveBanner
,
error
)
{
var
banners
[]
*
models
.
LiveBanner
banners
,
err
:=
models
.
GetLiveBanners
(
b
.
PageNum
,
b
.
PageSize
,
b
.
getMaps
())
if
err
!=
nil
{
return
nil
,
err
}
return
banners
,
nil
}
func
(
b
*
LiveBanner
)
Add
()
error
{
banner
:=
map
[
string
]
interface
{}{
"target_link"
:
b
.
TargetLink
,
"image_url"
:
b
.
ImageUrl
,
"title"
:
b
.
Title
,
"sort"
:
b
.
Sort
,
"status"
:
b
.
Status
,
"platform_id"
:
b
.
PlatformId
,
}
if
err
:=
models
.
AddLiveBanner
(
banner
);
err
!=
nil
{
return
err
}
return
nil
}
func
(
b
*
LiveBanner
)
Edit
()
error
{
return
models
.
EditLiveBanner
(
b
.
Id
,
map
[
string
]
interface
{}{
"target_link"
:
b
.
TargetLink
,
"image_url"
:
b
.
ImageUrl
,
"title"
:
b
.
Title
,
"sort"
:
b
.
Sort
,
"status"
:
b
.
Status
,
"platform_id"
:
b
.
PlatformId
,
})
}
func
(
b
*
LiveBanner
)
ExistById
()
(
bool
,
error
)
{
return
models
.
ExistLiveBannerById
(
b
.
Id
)
}
func
(
b
*
LiveBanner
)
Count
()
(
int
,
error
)
{
return
models
.
GetLiveBannerTotal
(
b
.
getMaps
())
}
func
(
b
*
LiveBanner
)
Delete
()
error
{
return
models
.
DeleteLiveBanner
(
b
.
Id
)
}
func
(
b
*
LiveBanner
)
getMaps
()
(
map
[
string
]
interface
{})
{
maps
:=
make
(
map
[
string
]
interface
{})
if
b
.
Id
!=
0
{
maps
[
"id"
]
=
b
.
Id
}
if
b
.
Status
!=
0
{
maps
[
"status"
]
=
b
.
Status
}
if
b
.
PlatformId
!=
0
{
maps
[
"platform_id"
]
=
b
.
PlatformId
}
return
maps
}
validate_service/live_banner.go
0 → 100644
View file @
0a4c7d5d
package
validate_service
type
LiveBanner
struct
{
ImageUrl
string
`json:"image_url" validate:"required"`
TargetLink
string
`json:"target_link"`
Title
string
`json:"title"`
PlatformId
int
`json:"platform_id" validate:"required"`
Sort
int32
`json:"sort" validate:"required"`
Status
uint8
`json:"status" validate:"required,min=1,max=2"`
}
type
EditLiveBanner
struct
{
LiveBanner
Id
int
`json:"id" 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