修改了飞花令相关接口
This commit is contained in:
parent
27bcd29967
commit
e44601c30f
@ -91,7 +91,7 @@ func (r *BaseToken) GetTokenList(c *gin.Context) {
|
||||
func (r *BaseToken) AddBaseToken(c *gin.Context) {
|
||||
baseTokenRequest := requests.BaseTokenRequest{}
|
||||
req := baseTokenRequest.AddBaseToken
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
if err := c.ShouldBind(&req); err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
@ -122,23 +122,6 @@ func (r *BaseToken) AddBaseToken(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
// 新增飞花令明细
|
||||
baseTokenItemDao := dao.BaseTokenItemDao{}
|
||||
for _, item := range req.BaseTokenItem {
|
||||
baseTokenItem := &model.BaseTokenItem{
|
||||
TokenId: baseToken.TokenId,
|
||||
ItemName: item.ItemName,
|
||||
ItemImage: utils.RemoveOssDomain(item.ItemImage),
|
||||
ItemSort: item.ItemSort,
|
||||
}
|
||||
baseTokenItem, err := baseTokenItemDao.AddBaseTokenItem(tx, baseTokenItem)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
responses.FailWithMessage("新增失败", c)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
tx.Commit()
|
||||
responses.Ok(c)
|
||||
}
|
||||
@ -147,7 +130,7 @@ func (r *BaseToken) AddBaseToken(c *gin.Context) {
|
||||
func (r *BaseToken) PutBaseToken(c *gin.Context) {
|
||||
baseTokenRequest := requests.BaseTokenRequest{}
|
||||
req := baseTokenRequest.PutBaseToken
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
if err := c.ShouldBind(&req); err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
@ -201,31 +184,6 @@ func (r *BaseToken) PutBaseToken(c *gin.Context) {
|
||||
}
|
||||
}
|
||||
|
||||
// 删除明细
|
||||
baseTokenItemDao := dao.BaseTokenItemDao{}
|
||||
err = baseTokenItemDao.DeleteBaseTokenItemByTokenId(tx, baseToken.TokenId)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
responses.FailWithMessage("修改失败", c)
|
||||
return
|
||||
}
|
||||
|
||||
// 新增飞花令明细
|
||||
for _, item := range req.BaseTokenItem {
|
||||
baseTokenItem := &model.BaseTokenItem{
|
||||
TokenId: baseToken.TokenId,
|
||||
ItemName: item.ItemName,
|
||||
ItemImage: utils.RemoveOssDomain(item.ItemImage),
|
||||
ItemSort: item.ItemSort,
|
||||
}
|
||||
baseTokenItem, err := baseTokenItemDao.AddBaseTokenItem(tx, baseTokenItem)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
responses.FailWithMessage("修改失败", c)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
tx.Commit()
|
||||
responses.Ok(c)
|
||||
}
|
||||
|
||||
@ -4,10 +4,12 @@ import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"knowledge/api/dao"
|
||||
"knowledge/api/dto"
|
||||
"knowledge/api/model"
|
||||
"knowledge/api/requests"
|
||||
"knowledge/api/responses"
|
||||
"knowledge/global"
|
||||
"knowledge/utils"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
type BaseTokenItem struct{}
|
||||
@ -84,3 +86,174 @@ func (r *BaseTokenItem) GetBaseTokenItemList(c *gin.Context) {
|
||||
|
||||
responses.OkWithData(g, c)
|
||||
}
|
||||
|
||||
// AddBaseTokenItem 新增
|
||||
func (r *BaseTokenItem) AddBaseTokenItem(c *gin.Context) {
|
||||
baseTokenItemRequest := requests.BaseTokenItemRequest{}
|
||||
req := baseTokenItemRequest.AddBaseTokenItem
|
||||
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
|
||||
}
|
||||
|
||||
// 开始事务
|
||||
tx := global.Db.Begin()
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
tx.Rollback()
|
||||
}
|
||||
}()
|
||||
|
||||
// 获取飞花令数据
|
||||
tokenId, err := strconv.ParseInt(req.TokenId, 10, 64)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
responses.Fail(c)
|
||||
return
|
||||
}
|
||||
|
||||
baseTokenDao := dao.BaseTokenDao{}
|
||||
baseToken, err := baseTokenDao.GetBaseTokenById(tokenId)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
responses.FailWithMessage("飞花令错误", c)
|
||||
return
|
||||
}
|
||||
|
||||
// 新增飞花令明细
|
||||
baseTokenItemDao := dao.BaseTokenItemDao{}
|
||||
baseTokenItem := &model.BaseTokenItem{
|
||||
TokenId: baseToken.TokenId,
|
||||
ItemName: req.ItemName,
|
||||
ItemImage: utils.RemoveOssDomain(req.ItemImage),
|
||||
ItemSort: req.ItemSort,
|
||||
}
|
||||
baseTokenItem, err = baseTokenItemDao.AddBaseTokenItem(tx, baseTokenItem)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
responses.FailWithMessage("新增失败", c)
|
||||
return
|
||||
}
|
||||
|
||||
tx.Commit()
|
||||
responses.Ok(c)
|
||||
}
|
||||
|
||||
// PutBaseTokenItem 修改
|
||||
func (r *BaseTokenItem) PutBaseTokenItem(c *gin.Context) {
|
||||
baseTokenItemRequest := requests.BaseTokenItemRequest{}
|
||||
req := baseTokenItemRequest.PutBaseTokenItem
|
||||
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("item_id")
|
||||
if id == "" {
|
||||
responses.FailWithMessage("缺少参数", c)
|
||||
return
|
||||
}
|
||||
|
||||
// 将 id 转换为 int64 类型
|
||||
itemId, err := strconv.ParseInt(id, 10, 64)
|
||||
if err != nil {
|
||||
responses.Fail(c)
|
||||
return
|
||||
}
|
||||
|
||||
// 获取详情
|
||||
baseTokenItemDao := dao.BaseTokenItemDao{}
|
||||
baseTokenItem, err := baseTokenItemDao.GetBaseTokenItemById(itemId)
|
||||
if err != nil {
|
||||
responses.FailWithMessage("数据不存在", c)
|
||||
return
|
||||
}
|
||||
|
||||
// 开始事务
|
||||
tx := global.Db.Begin()
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
tx.Rollback()
|
||||
}
|
||||
}()
|
||||
|
||||
baseTokenItemData := make(map[string]interface{})
|
||||
if req.ItemName != baseTokenItem.ItemName {
|
||||
baseTokenItemData["item_name"] = req.ItemName
|
||||
}
|
||||
|
||||
if req.ItemSort != baseTokenItem.ItemSort {
|
||||
baseTokenItemData["item_sort"] = req.ItemSort
|
||||
}
|
||||
|
||||
itemImage := utils.RemoveOssDomain(req.ItemImage)
|
||||
if itemImage != baseTokenItem.ItemImage {
|
||||
baseTokenItemData["item_image"] = itemImage
|
||||
}
|
||||
|
||||
if len(baseTokenItemData) > 0 {
|
||||
err := baseTokenItemDao.EditBaseTokenItemById(tx, itemId, baseTokenItemData)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
responses.FailWithMessage("修改失败", c)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
tx.Commit()
|
||||
responses.Ok(c)
|
||||
}
|
||||
|
||||
// DeleteBaseTokenItem 删除
|
||||
func (r *BaseTokenItem) DeleteBaseTokenItem(c *gin.Context) {
|
||||
id := c.Param("item_id")
|
||||
if id == "" {
|
||||
responses.FailWithMessage("缺少参数", c)
|
||||
return
|
||||
}
|
||||
|
||||
// 将 id 转换为 int64 类型
|
||||
itemId, err := strconv.ParseInt(id, 10, 64)
|
||||
if err != nil {
|
||||
responses.Fail(c)
|
||||
return
|
||||
}
|
||||
|
||||
// 获取详情
|
||||
baseTokenItemDao := dao.BaseTokenItemDao{}
|
||||
_, err = baseTokenItemDao.GetBaseTokenItemById(itemId)
|
||||
if err != nil {
|
||||
responses.FailWithMessage("数据不存在", c)
|
||||
return
|
||||
}
|
||||
|
||||
// 开始事务
|
||||
tx := global.Db.Begin()
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
tx.Rollback()
|
||||
}
|
||||
}()
|
||||
|
||||
err = baseTokenItemDao.DeleteBaseTokenItemById(tx, itemId)
|
||||
if err != nil {
|
||||
responses.FailWithMessage("删除失败", c)
|
||||
return
|
||||
}
|
||||
|
||||
tx.Commit()
|
||||
|
||||
responses.Ok(c)
|
||||
}
|
||||
|
||||
@ -21,26 +21,10 @@ type GetTokenList struct {
|
||||
|
||||
// AddBaseToken 新增
|
||||
type AddBaseToken struct {
|
||||
TokenName string `json:"token_name" form:"token_name" label:"名称" validate:"required"` // 名称
|
||||
BaseTokenItem []AddBaseTokenItem `json:"base_token_item" form:"base_token_item" label:"明细" validate:"required"`
|
||||
}
|
||||
|
||||
// AddBaseTokenItem 新增-明细
|
||||
type AddBaseTokenItem struct {
|
||||
ItemName string `json:"item_name" form:"item_name" label:"名称" validate:"required"`
|
||||
ItemImage string `json:"item_image" form:"item_image" label:"图片地址" validate:"required"`
|
||||
ItemSort int `json:"item_sort" form:"item_sort" label:"排序(越大越靠前)" validate:"required"`
|
||||
TokenName string `json:"token_name" form:"token_name" label:"名称" validate:"required"` // 名称
|
||||
}
|
||||
|
||||
// PutBaseToken 修改
|
||||
type PutBaseToken struct {
|
||||
TokenName string `json:"token_name" form:"token_name" label:"名称" validate:"required"` // 名称
|
||||
BaseTokenItem []AddBaseTokenItem `json:"base_token_item" form:"base_token_item" label:"明细" validate:"required"`
|
||||
}
|
||||
|
||||
// PutBaseTokenItem 修改-明细
|
||||
type PutBaseTokenItem struct {
|
||||
ItemName string `json:"item_name" form:"item_name" label:"名称" validate:"required"`
|
||||
ItemImage string `json:"item_image" form:"item_image" label:"图片地址" validate:"required"`
|
||||
ItemSort int `json:"item_sort" form:"item_sort" label:"排序(越大越靠前)" validate:"required"`
|
||||
TokenName string `json:"token_name" form:"token_name" label:"名称" validate:"required"` // 名称
|
||||
}
|
||||
|
||||
@ -3,7 +3,8 @@ package requests
|
||||
type BaseTokenItemRequest struct {
|
||||
GetBaseTokenItemPage // 获取列表-分页
|
||||
GetBaseTokenItemList // 获取列表
|
||||
AddItem // 新增
|
||||
AddBaseTokenItem // 新增
|
||||
PutBaseTokenItem // 修改
|
||||
}
|
||||
|
||||
// GetBaseTokenItemPage 获取列表-分页
|
||||
@ -20,8 +21,17 @@ type GetBaseTokenItemList struct {
|
||||
ItemName string `json:"item_name" form:"item_name" label:"名称"`
|
||||
}
|
||||
|
||||
// AddItem 新增
|
||||
type AddItem struct {
|
||||
TokenId string `json:"token_id" form:"token_id" label:"飞花令id"`
|
||||
ItemName string `json:"item_name" form:"item_name" label:"名称"`
|
||||
// AddBaseTokenItem 新增
|
||||
type AddBaseTokenItem struct {
|
||||
TokenId string `json:"token_id" form:"token_id" label:"飞花令id"`
|
||||
ItemName string `json:"item_name" form:"item_name" label:"名称" validate:"required"`
|
||||
ItemImage string `json:"item_image" form:"item_image" label:"图片地址" validate:"required"`
|
||||
ItemSort int `json:"item_sort" form:"item_sort" label:"排序(越大越靠前)" validate:"required"`
|
||||
}
|
||||
|
||||
// PutBaseTokenItem 修改
|
||||
type PutBaseTokenItem struct {
|
||||
ItemName string `json:"item_name" form:"item_name" label:"名称" validate:"required"`
|
||||
ItemImage string `json:"item_image" form:"item_image" label:"图片地址" validate:"required"`
|
||||
ItemSort int `json:"item_sort" form:"item_sort" label:"排序(越大越靠前)" validate:"required"`
|
||||
}
|
||||
|
||||
@ -233,6 +233,15 @@ func privateRouter(r *gin.Engine, api controller.Api) {
|
||||
|
||||
// 获取列表
|
||||
itemGroup.GET("/list", api.BaseTokenItem.GetBaseTokenItemList)
|
||||
|
||||
// 新增
|
||||
itemGroup.POST("", api.BaseTokenItem.AddBaseTokenItem)
|
||||
|
||||
// 修改
|
||||
itemGroup.PUT("/:item_id", api.BaseTokenItem.PutBaseTokenItem)
|
||||
|
||||
// 删除
|
||||
itemGroup.DELETE("/:item_id", api.BaseTokenItem.DeleteBaseTokenItem)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user