1
This commit is contained in:
parent
554e2a7b92
commit
8838b12415
@ -5,7 +5,10 @@ import (
|
||||
"strconv"
|
||||
"vote-admin-api/api/dao"
|
||||
"vote-admin-api/api/dto"
|
||||
"vote-admin-api/api/requests"
|
||||
"vote-admin-api/api/responses"
|
||||
"vote-admin-api/global"
|
||||
"vote-admin-api/utils"
|
||||
)
|
||||
|
||||
type System struct{}
|
||||
@ -38,3 +41,72 @@ func (r *System) GetSystemTime(c *gin.Context) {
|
||||
|
||||
responses.OkWithData(g, c)
|
||||
}
|
||||
|
||||
// PutSystemTime 修改投票时间
|
||||
func (b *System) PutSystemTime(c *gin.Context) {
|
||||
systemRequest := requests.SystemRequest{}
|
||||
req := systemRequest.PutSystemTime
|
||||
if err := c.ShouldBind(&req); err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
// 参数验证
|
||||
if err := global.Validate.Struct(req); err != nil {
|
||||
responses.FailWithMessage(utils.Translate(err), c)
|
||||
return
|
||||
}
|
||||
|
||||
id := c.Param("system_time_id")
|
||||
if id == "" {
|
||||
responses.FailWithMessage("缺少参数", c)
|
||||
return
|
||||
}
|
||||
|
||||
// 将 id 转换为 int64 类型
|
||||
systemTimeId, err := strconv.ParseInt(id, 10, 64)
|
||||
if err != nil {
|
||||
responses.Fail(c)
|
||||
return
|
||||
}
|
||||
|
||||
// 获取数据
|
||||
systemTimeDao := dao.SystemTimeDao{}
|
||||
systemTime, err := systemTimeDao.GetSystemTimeById(systemTimeId)
|
||||
if err != nil {
|
||||
responses.FailWithMessage("数据异常", c)
|
||||
return
|
||||
}
|
||||
|
||||
// 修改值
|
||||
systemTimeData := make(map[string]interface{})
|
||||
|
||||
if req.StartTime != systemTime.StartTime {
|
||||
systemTimeData["start_time"] = req.StartTime
|
||||
}
|
||||
|
||||
if req.EndTime != systemTime.EndTime {
|
||||
systemTimeData["end_time"] = req.EndTime
|
||||
}
|
||||
|
||||
if len(systemTimeData) > 0 {
|
||||
// 开始事务
|
||||
tx := global.Db.Begin()
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
tx.Rollback()
|
||||
}
|
||||
}()
|
||||
|
||||
err = systemTimeDao.EditSystemTimeById(tx, systemTimeId, systemTimeData)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
responses.FailWithMessage("操作失败", c)
|
||||
return
|
||||
}
|
||||
|
||||
tx.Commit()
|
||||
}
|
||||
|
||||
responses.Ok(c)
|
||||
}
|
||||
|
||||
@ -183,6 +183,7 @@ func (r *UserVoteDay) GetArticleVotePage(c *gin.Context) {
|
||||
response := &dto.UserVoteDto{
|
||||
Id: fmt.Sprintf("%d", v.ArticleId),
|
||||
AppIden: v.User.AppIden,
|
||||
OpenId: v.User.OpenId,
|
||||
VotedAt: createdAt,
|
||||
}
|
||||
|
||||
@ -244,6 +245,7 @@ func (r *UserVoteDay) GetVideoVotePage(c *gin.Context) {
|
||||
response := &dto.UserVoteDto{
|
||||
Id: fmt.Sprintf("%d", v.VideoId),
|
||||
AppIden: v.User.AppIden,
|
||||
OpenId: v.User.OpenId,
|
||||
VotedAt: createdAt,
|
||||
}
|
||||
|
||||
|
||||
@ -21,6 +21,7 @@ type UserDto struct {
|
||||
type UserVoteDto struct {
|
||||
Id string `json:"id"` // 图文/视频标识
|
||||
AppIden string `json:"app_iden"` // app唯一标识
|
||||
OpenId string `json:"open_id"` // open_id
|
||||
Title string `json:"title"` // 标题
|
||||
VotedAt string `json:"voted_at"` // 投票时间
|
||||
}
|
||||
|
||||
13
api/requests/System.go
Normal file
13
api/requests/System.go
Normal file
@ -0,0 +1,13 @@
|
||||
package requests
|
||||
|
||||
import "vote-admin-api/api/model"
|
||||
|
||||
type SystemRequest struct {
|
||||
PutSystemTime // 修改投票时间
|
||||
}
|
||||
|
||||
// PutSystemTime 修改投票时间
|
||||
type PutSystemTime struct {
|
||||
StartTime *model.LocalTime `json:"start_time" form:"start_time" label:"开始投票时间" validate:"required"`
|
||||
EndTime *model.LocalTime `json:"end_time" form:"end_time" label:"结束投票时间" validate:"required"`
|
||||
}
|
||||
@ -150,7 +150,7 @@ func privateRouter(r *gin.Engine, api controller.Api) {
|
||||
agreementGroup := basicGroup.Group("/agreement")
|
||||
{
|
||||
// 获取协议列表-分页
|
||||
agreementGroup.POST("/page", api.BaseAgreement.GetBaseAgreementPage)
|
||||
agreementGroup.GET("/page", api.BaseAgreement.GetBaseAgreementPage)
|
||||
|
||||
// 获取协议详情
|
||||
agreementGroup.GET("/:agreement_id", api.BaseAgreement.GetBaseAgreement)
|
||||
@ -201,6 +201,9 @@ func privateRouter(r *gin.Engine, api controller.Api) {
|
||||
{
|
||||
// 获取投票时间详情
|
||||
timeGroup.GET("/:system_time_id", api.System.GetSystemTime)
|
||||
|
||||
// 修改投票时间
|
||||
timeGroup.PUT("/:system_time_id", api.System.PutSystemTime)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user