mirror of
https://github.com/tiger1103/gfast.git
synced 2026-09-21 18:20:47 +00:00
新增模型与CMS
This commit is contained in:
@@ -110,6 +110,10 @@ func (c *Auth) AddMenu(r *ghttp.Request) {
|
||||
if !auth_service.CheckMenuNameUnique(menu.Name, 0) {
|
||||
response.FailJson(true, r, "菜单规则名称已经存在")
|
||||
}
|
||||
//判断路由是否已经存在
|
||||
if !auth_service.CheckMenuPathUnique(menu.Path, 0) {
|
||||
response.FailJson(true, r, "路由地址已经存在")
|
||||
}
|
||||
//保存到数据库
|
||||
err, _ := auth_service.AddMenu(menu)
|
||||
if err != nil {
|
||||
@@ -148,6 +152,10 @@ func (c *Auth) EditMenu(r *ghttp.Request) {
|
||||
if !auth_service.CheckMenuNameUnique(menu.Name, id) {
|
||||
response.FailJson(true, r, "菜单规则名称已经存在")
|
||||
}
|
||||
//判断路由是否已经存在
|
||||
if !auth_service.CheckMenuPathUnique(menu.Path, id) {
|
||||
response.FailJson(true, r, "路由地址已经存在")
|
||||
}
|
||||
//保存到数据库
|
||||
err, _ := auth_service.EditMenu(menu, id)
|
||||
if err != nil {
|
||||
|
||||
@@ -0,0 +1,194 @@
|
||||
package admin
|
||||
|
||||
import (
|
||||
"gfast/app/model/admin/cms_category"
|
||||
"gfast/app/service/admin/cms_service"
|
||||
"gfast/app/service/admin/dict_service"
|
||||
"gfast/app/service/admin/model_service"
|
||||
"gfast/app/service/cache_service"
|
||||
"gfast/library/response"
|
||||
"github.com/gogf/gf/frame/g"
|
||||
"github.com/gogf/gf/net/ghttp"
|
||||
"github.com/gogf/gf/util/gconv"
|
||||
"github.com/gogf/gf/util/gvalid"
|
||||
)
|
||||
|
||||
//cms栏目管理
|
||||
type CmsMenu struct{}
|
||||
|
||||
// @Summary 栏目列表
|
||||
// @Description 分页列表
|
||||
// @Tags 栏目管理
|
||||
// @Param data body cms_category.ReqSearchList true "data"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/cms/menu/list [get]
|
||||
// @Security
|
||||
func (c *CmsMenu) List(r *ghttp.Request) {
|
||||
var req *cms_category.ReqSearchList
|
||||
//获取参数
|
||||
if err := r.Parse(&req); err != nil {
|
||||
response.FailJson(true, r, err.(*gvalid.Error).FirstString())
|
||||
}
|
||||
menus, err := cms_service.GetMenuListSearch(req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
//栏目显示状态
|
||||
statusOptions, err := dict_service.GetDictWithDataByType("sys_show_hide", "", "")
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
//栏目类型
|
||||
typeOptions, err := dict_service.GetDictWithDataByType("cms_category_type", "", "")
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
res := g.Map{
|
||||
"list": menus,
|
||||
"statusOptions": statusOptions,
|
||||
"typeOptions": typeOptions,
|
||||
}
|
||||
response.SusJson(true, r, "ok", res)
|
||||
}
|
||||
|
||||
// @Summary 添加栏目
|
||||
// @Description 添加栏目
|
||||
// @Tags 栏目管理
|
||||
// @Param data body cms_category.ReqAdd true "data"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/cms/menu/add [post]
|
||||
// @Security
|
||||
func (c *CmsMenu) Add(r *ghttp.Request) {
|
||||
if r.Method == "POST" {
|
||||
var req *cms_category.ReqAdd
|
||||
//获取参数
|
||||
if err := r.Parse(&req); err != nil {
|
||||
response.FailJson(true, r, err.(*gvalid.Error).FirstString())
|
||||
}
|
||||
_, err := cms_service.AddSave(req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
cache_service.New().RemoveByTag(cache_service.AdminCmsTag)
|
||||
response.SusJson(true, r, "栏目添加成功")
|
||||
}
|
||||
//获取上级分类(频道)
|
||||
menus, err := cms_service.GetMenuListChannel()
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
|
||||
res := g.Map{
|
||||
"parentList": menus,
|
||||
}
|
||||
response.SusJson(true, r, "添加栏目", res)
|
||||
}
|
||||
|
||||
// @Summary 修改栏目
|
||||
// @Description 修改栏目
|
||||
// @Tags 栏目管理
|
||||
// @Param data body cms_category.ReqEdit true "data"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/cms/menu/edit [post]
|
||||
// @Security
|
||||
func (c *CmsMenu) Edit(r *ghttp.Request) {
|
||||
if r.Method == "POST" {
|
||||
var req *cms_category.ReqEdit
|
||||
//获取参数
|
||||
if err := r.Parse(&req); err != nil {
|
||||
response.FailJson(true, r, err.(*gvalid.Error).FirstString())
|
||||
}
|
||||
_, err := cms_service.EditSave(req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
cache_service.New().RemoveByTag(cache_service.AdminCmsTag)
|
||||
response.SusJson(true, r, "栏目修改成功")
|
||||
}
|
||||
//获取栏目数据
|
||||
id := r.GetInt("id")
|
||||
menuInfo, err := cms_service.GetMenuInfoById(id)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
if menuInfo == nil {
|
||||
response.FailJson(true, r, "参数错误")
|
||||
}
|
||||
//获取上级分类(频道)
|
||||
menus, err := cms_service.GetMenuListChannel()
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
|
||||
res := g.Map{
|
||||
"menuInfo": menuInfo,
|
||||
"parentList": menus,
|
||||
}
|
||||
response.SusJson(true, r, "修改栏目", res)
|
||||
}
|
||||
|
||||
// @Summary 栏目排序
|
||||
// @Description 栏目排序
|
||||
// @Tags 栏目管理
|
||||
// @Param data body string true "data"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/cms/menu/sort [post]
|
||||
// @Security
|
||||
func (c *CmsMenu) Sort(r *ghttp.Request) {
|
||||
sorts := r.Get("sorts")
|
||||
s := gconv.Map(sorts)
|
||||
if s == nil {
|
||||
response.FailJson(true, r, "排序失败")
|
||||
}
|
||||
for k, v := range s {
|
||||
cms_category.Model.Where("id=?", k).Data("list_order", v).Update()
|
||||
}
|
||||
cache_service.New().RemoveByTag(cache_service.AdminCmsTag)
|
||||
response.SusJson(true, r, "排序成功")
|
||||
}
|
||||
|
||||
// @Summary 删除栏目
|
||||
// @Description 删除栏目
|
||||
// @Tags 栏目管理
|
||||
// @Param ids body integer true "ids"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/cms/menu/delete [delete]
|
||||
// @Security
|
||||
func (c *CmsMenu) Delete(r *ghttp.Request) {
|
||||
ids := r.GetInts("ids")
|
||||
if len(ids) == 0 {
|
||||
response.FailJson(true, r, "删除失败")
|
||||
}
|
||||
err := cms_service.DeleteMenuByIds(ids)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, "删除失败")
|
||||
}
|
||||
cache_service.New().RemoveByTag(cache_service.AdminCmsTag)
|
||||
response.SusJson(true, r, "删除信息成功", ids)
|
||||
}
|
||||
|
||||
// @Summary 栏目模型选项
|
||||
// @Description 栏目模型选项
|
||||
// @Tags 栏目管理
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/cms/menu/modelOptions [get]
|
||||
// @Security
|
||||
func (c *CmsMenu) ModelOptions(r *ghttp.Request) {
|
||||
//栏目模型分类
|
||||
modelOptions, err := dict_service.GetDictWithDataByType("cms_cate_models", "", "")
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
values := gconv.SliceAny(modelOptions["values"])
|
||||
keys := make([]int, len(values))
|
||||
for k, val := range values {
|
||||
data := gconv.Map(val)
|
||||
keys[k] = gconv.Int(data["key"])
|
||||
}
|
||||
//获取对应模型
|
||||
models, err := model_service.GetModelsByCateIds(keys)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "ok", models)
|
||||
}
|
||||
@@ -0,0 +1,178 @@
|
||||
package admin
|
||||
|
||||
import (
|
||||
"gfast/app/model/admin/cms_news"
|
||||
"gfast/app/service/admin/cms_service"
|
||||
"gfast/app/service/admin/dict_service"
|
||||
"gfast/app/service/admin/user_service"
|
||||
"gfast/library/response"
|
||||
"github.com/gogf/gf/frame/g"
|
||||
"github.com/gogf/gf/net/ghttp"
|
||||
"github.com/gogf/gf/util/gvalid"
|
||||
)
|
||||
|
||||
type CmsNews struct{}
|
||||
|
||||
// @Summary 信息列表
|
||||
// @Description 信息列表
|
||||
// @Tags 文章管理
|
||||
// @Param data body cms_news.ReqListSearchParams true "data"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/cms/news/list [get]
|
||||
// @Security
|
||||
func (c *CmsNews) List(r *ghttp.Request) {
|
||||
var req *cms_news.ReqListSearchParams
|
||||
//获取参数
|
||||
if err := r.Parse(&req); err != nil {
|
||||
response.FailJson(true, r, err.(*gvalid.Error).FirstString())
|
||||
}
|
||||
total, page, list, err := cms_service.NewsListByPage(req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
//获取可选栏目
|
||||
menus, err := cms_service.GetPublishableMenuList(req.CateId...)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
|
||||
//文章发布状态
|
||||
statusOptions, err := dict_service.GetDictWithDataByType("cms_news_pub_type", "", "")
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
//文章附加状态
|
||||
attrOptions, err := dict_service.GetDictWithDataByType("cms_news_attr", "", "")
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
//文章附加状态
|
||||
typeOptions, err := dict_service.GetDictWithDataByType("cms_news_type", "", "")
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
result := g.Map{
|
||||
"currentPage": page,
|
||||
"total": total,
|
||||
"list": list,
|
||||
"menus": menus,
|
||||
"statusOptions": statusOptions,
|
||||
"attrOptions": attrOptions,
|
||||
"typeOptions": typeOptions,
|
||||
}
|
||||
response.SusJson(true, r, "信息列表", result)
|
||||
}
|
||||
|
||||
// @Summary 添加信息
|
||||
// @Description 添加信息
|
||||
// @Tags 文章管理
|
||||
// @Param data body cms_news.ReqAddParams true "data"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/cms/news/add [post]
|
||||
// @Security
|
||||
func (c *CmsNews) Add(r *ghttp.Request) {
|
||||
if r.Method == "POST" {
|
||||
var req *cms_news.ReqAddParams
|
||||
//获取参数
|
||||
if err := r.Parse(&req); err != nil {
|
||||
response.FailJson(true, r, err.(*gvalid.Error).FirstString())
|
||||
}
|
||||
cateIds := r.GetInts("cateIds")
|
||||
userId := user_service.GetLoginID(r)
|
||||
_, err := cms_service.AddNews(req, cateIds, userId)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "添加信息成功")
|
||||
}
|
||||
//获取可选栏目
|
||||
menus, err := cms_service.GetPublishableMenuList()
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
res := g.Map{
|
||||
"menus": menus,
|
||||
}
|
||||
response.SusJson(true, r, "添加信息", res)
|
||||
}
|
||||
|
||||
// @Summary 修改信息
|
||||
// @Description 修改信息
|
||||
// @Tags 文章管理
|
||||
// @Param data body cms_news.ReqEditParams true "data"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/cms/news/edit [post]
|
||||
// @Security
|
||||
func (c *CmsNews) Edit(r *ghttp.Request) {
|
||||
if r.Method == "POST" {
|
||||
var req *cms_news.ReqEditParams
|
||||
//获取参数
|
||||
if err := r.Parse(&req); err != nil {
|
||||
response.FailJson(true, r, err.(*gvalid.Error).FirstString())
|
||||
}
|
||||
cateIds := r.GetInts("cateIds")
|
||||
err := cms_service.EditNews(req, cateIds)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "修改信息成功")
|
||||
}
|
||||
id := r.GetInt("id")
|
||||
if id == 0 {
|
||||
response.FailJson(true, r, "参数错误")
|
||||
}
|
||||
//获取文章信息
|
||||
news, err := cms_service.GetNewsById(id)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
checkedCategoryId, err := cms_service.GetCheckedCategoryIdByNewsId(news.Id)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
|
||||
res := g.Map{
|
||||
"menus": checkedCategoryId,
|
||||
"news": news,
|
||||
}
|
||||
response.SusJson(true, r, "添加信息", res)
|
||||
}
|
||||
|
||||
// @Summary 删除信息
|
||||
// @Description 删除信息
|
||||
// @Tags 文章管理
|
||||
// @Param ids body integer true "ids[1,2,3..]"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/cms/news/delete [delete]
|
||||
// @Security
|
||||
func (c *CmsNews) Delete(r *ghttp.Request) {
|
||||
ids := r.GetInts("ids")
|
||||
if len(ids) == 0 {
|
||||
response.FailJson(true, r, "删除失败")
|
||||
}
|
||||
err := cms_service.DeleteCmsByIds(ids)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, "删除失败")
|
||||
}
|
||||
response.SusJson(true, r, "删除信息成功")
|
||||
}
|
||||
|
||||
// @Summary 获取模型字段
|
||||
// @Description 获取模型字段
|
||||
// @Tags 栏目管理
|
||||
// @Param cateIds body integer true "cateIds[1,2,3...]"
|
||||
// @Param newsId body integer true "newsId"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/cms/news/getModelFields [get]
|
||||
// @Security
|
||||
func (c *CmsNews) GetModelFields(r *ghttp.Request) {
|
||||
//获取栏目ID
|
||||
cateIds := r.GetInts("cateIds")
|
||||
//文章id
|
||||
newsId := r.GetInt64("newsId")
|
||||
res, err := cms_service.GetModelFieldsByCateIds(r, cateIds, newsId)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "ok", res)
|
||||
}
|
||||
@@ -242,32 +242,24 @@ func (c *Dict) DataDelete(r *ghttp.Request) {
|
||||
response.SusJson(true, r, "删除成功")
|
||||
}
|
||||
|
||||
// @Summary 字典状态
|
||||
// @Description 字典状态
|
||||
// @Summary 获取字典对应选项
|
||||
// @Description 获取字典对应选项
|
||||
// @Tags 字典管理
|
||||
// @Param dictType query string true "dictType"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/config/dict/sysNormalDisable [post]
|
||||
// @Security
|
||||
func (c *Dict) SysNormalDisable(r *ghttp.Request) {
|
||||
func (c *Dict) GetDicts(r *ghttp.Request) {
|
||||
dictType := r.GetString("dictType")
|
||||
//菜单正常or停用状态
|
||||
statusOptions, err := dict_service.GetDictWithDataByType("sys_normal_disable", "", "")
|
||||
statusOptions, err := dict_service.GetDictWithDataByType(dictType, "", "")
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "", statusOptions)
|
||||
response.SusJson(true, r, "ok", statusOptions)
|
||||
|
||||
}
|
||||
|
||||
func (c *Dict) SysCommonStatus(r *ghttp.Request) {
|
||||
//获取相关选项
|
||||
logStatus, err := dict_service.GetDictWithDataByType("sys_oper_log_status", "", "全部")
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
|
||||
response.SusJson(true, r, "ok", logStatus)
|
||||
}
|
||||
|
||||
// 获取字典选择框列表
|
||||
func (c *Dict) OptionSelect(r *ghttp.Request) {
|
||||
//获取所有字典类型列表
|
||||
|
||||
@@ -0,0 +1,151 @@
|
||||
package admin
|
||||
|
||||
import (
|
||||
"gfast/app/model/admin/model_category"
|
||||
"gfast/app/service/admin/model_service"
|
||||
"gfast/app/service/admin/user_service"
|
||||
"gfast/app/service/cache_service"
|
||||
"gfast/library/response"
|
||||
"github.com/gogf/gf/frame/g"
|
||||
"github.com/gogf/gf/net/ghttp"
|
||||
"github.com/gogf/gf/util/gconv"
|
||||
"github.com/gogf/gf/util/gvalid"
|
||||
)
|
||||
|
||||
//模型分类
|
||||
type ModelCategory struct{}
|
||||
|
||||
// @Summary 模型列表
|
||||
// @Description 模型列表
|
||||
// @Tags 模型分类
|
||||
// @Param data body model_category.SearchReq true "data"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/model/category/list [get]
|
||||
// @Security
|
||||
func (c *ModelCategory) List(r *ghttp.Request) {
|
||||
var req *model_category.SearchReq
|
||||
//获取参数
|
||||
if err := r.Parse(&req); err != nil {
|
||||
response.FailJson(true, r, err.(*gvalid.Error).FirstString())
|
||||
}
|
||||
total, list, err := model_service.GetCategoryList(req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
res := g.Map{
|
||||
"total": total,
|
||||
"list": list,
|
||||
}
|
||||
response.SusJson(true, r, "信息列表", res)
|
||||
}
|
||||
|
||||
// @Summary 模型分类
|
||||
// @Description 模型分类
|
||||
// @Tags 模型分类
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/model/category/all [post]
|
||||
// @Security
|
||||
func (c *ModelCategory) All(r *ghttp.Request) {
|
||||
list, err := model_service.GetCategoryAll()
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "ok", list)
|
||||
}
|
||||
|
||||
// @Summary 添加模型分类
|
||||
// @Description 添加模型分类
|
||||
// @Tags 模型分类
|
||||
// @Param data body model_category.AddReq true "data"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/model/category/add [post]
|
||||
// @Security
|
||||
func (c *ModelCategory) Add(r *ghttp.Request) {
|
||||
var req *model_category.AddReq
|
||||
//获取参数
|
||||
if err := r.Parse(&req); err != nil {
|
||||
response.FailJson(true, r, err.(*gvalid.Error).FirstString())
|
||||
}
|
||||
|
||||
req.CreateBy = gconv.Uint(user_service.GetLoginID(r))
|
||||
err := model_service.AddCategory(req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
cache_service.New().RemoveByTag(cache_service.AdminModelTag)
|
||||
response.SusJson(true, r, "添加成功")
|
||||
}
|
||||
|
||||
// @Summary 修改模型分类
|
||||
// @Description 修改模型分类
|
||||
// @Tags 模型分类
|
||||
// @Param data body model_category.EditReq true "data"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/model/category/edit [post]
|
||||
// @Security
|
||||
func (c *ModelCategory) Edit(r *ghttp.Request) {
|
||||
if r.Method == "POST" {
|
||||
var req *model_category.EditReq
|
||||
//获取参数
|
||||
if err := r.Parse(&req); err != nil {
|
||||
response.FailJson(true, r, err.(*gvalid.Error).FirstString())
|
||||
}
|
||||
|
||||
req.UpdateBy = gconv.Uint(user_service.GetLoginID(r))
|
||||
err := model_service.EditCategory(req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
cache_service.New().RemoveByTag(cache_service.AdminModelTag)
|
||||
response.SusJson(true, r, "修改成功")
|
||||
}
|
||||
id := r.GetInt64("id")
|
||||
if id == 0 {
|
||||
response.FailJson(true, r, "参数错误")
|
||||
}
|
||||
cate, err := model_service.GetCategoryById(id)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "ok", cate)
|
||||
}
|
||||
|
||||
// @Summary 分类排序
|
||||
// @Description 分类排序
|
||||
// @Tags 模型分类
|
||||
// @Param sorts body string true "sorts"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/model/category/sort [post]
|
||||
// @Security
|
||||
func (c *ModelCategory) Sort(r *ghttp.Request) {
|
||||
sorts := r.Get("sorts")
|
||||
s := gconv.Map(sorts)
|
||||
if s == nil {
|
||||
response.FailJson(true, r, "排序失败")
|
||||
}
|
||||
for k, v := range s {
|
||||
model_category.Model.Where(model_category.Columns.CId+"=?", k).Data(model_category.Columns.CSort, v).Update()
|
||||
}
|
||||
cache_service.New().RemoveByTag(cache_service.AdminModelTag)
|
||||
response.SusJson(true, r, "排序成功")
|
||||
}
|
||||
|
||||
// @Summary 删除分类
|
||||
// @Description 删除分类
|
||||
// @Tags 模型分类
|
||||
// @Param ids body integer true "ids"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/model/category/delete [delete]
|
||||
// @Security
|
||||
func (c *ModelCategory) Delete(r *ghttp.Request) {
|
||||
ids := r.GetInts("ids")
|
||||
if len(ids) == 0 {
|
||||
response.FailJson(true, r, "删除失败")
|
||||
}
|
||||
err := model_service.DeleteCategoryByIds(ids)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, "删除失败")
|
||||
}
|
||||
cache_service.New().RemoveByTag(cache_service.AdminModelTag)
|
||||
response.SusJson(true, r, "删除成功", ids)
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
package admin
|
||||
|
||||
import (
|
||||
"gfast/app/model/admin/model_fields"
|
||||
"gfast/app/service/admin/model_service"
|
||||
"gfast/app/service/admin/user_service"
|
||||
"gfast/library/response"
|
||||
"github.com/gogf/gf/frame/g"
|
||||
"github.com/gogf/gf/net/ghttp"
|
||||
"github.com/gogf/gf/util/gconv"
|
||||
"github.com/gogf/gf/util/gvalid"
|
||||
)
|
||||
|
||||
//控制器
|
||||
type ModelFields struct{}
|
||||
|
||||
//列表页
|
||||
func (c *ModelFields) List(r *ghttp.Request) {
|
||||
// 定义一个结构体存储请求参数
|
||||
var req *model_fields.SelectPageReq
|
||||
// 获取参数
|
||||
err := r.Parse(&req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.(*gvalid.Error).FirstString())
|
||||
}
|
||||
list, err := model_service.SelectFieldsAll(req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
result := g.Map{
|
||||
"list": list,
|
||||
}
|
||||
response.SusJson(true, r, "获取列表数据成功", result)
|
||||
}
|
||||
|
||||
// 新增
|
||||
func (c *ModelFields) Add(r *ghttp.Request) {
|
||||
if r.Method == "POST" {
|
||||
var req *model_fields.AddReq
|
||||
// 通过Parse方法解析获取参数
|
||||
err := r.Parse(&req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.(*gvalid.Error).FirstString())
|
||||
}
|
||||
req.CreateBy = gconv.Uint64(user_service.GetLoginID(r))
|
||||
// 调用service中的添加函数添加
|
||||
err = model_service.AddFieldsSave(req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "添加成功")
|
||||
}
|
||||
}
|
||||
|
||||
// 修改
|
||||
func (c *ModelFields) Edit(r *ghttp.Request) {
|
||||
// 如果是post提交的请求就执行修改操作
|
||||
if r.Method == "POST" {
|
||||
var editReq *model_fields.EditReq
|
||||
// 通过Parse方法解析获取参数
|
||||
err := r.Parse(&editReq)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.(*gvalid.Error).FirstString())
|
||||
}
|
||||
editReq.UpdateBy = gconv.Uint64(user_service.GetLoginID(r))
|
||||
err = model_service.EditFieldsSave(editReq)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "修改参数成功")
|
||||
}
|
||||
// 不是post提交的请求就到修改页面后查询出要修改的记录
|
||||
id := r.GetInt("id")
|
||||
params, err := model_fields.GetByID(int64(id))
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "ok", params)
|
||||
}
|
||||
|
||||
// 删除
|
||||
func (c *ModelFields) Delete(r *ghttp.Request) {
|
||||
var req *model_fields.RemoveReq
|
||||
//获取参数
|
||||
if err := r.Parse(&req); err != nil {
|
||||
response.FailJson(true, r, err.(*gvalid.Error).FirstString())
|
||||
}
|
||||
err := model_service.DeleteFieldsByIds(req.Ids)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, "删除失败")
|
||||
}
|
||||
response.SusJson(true, r, "删除成功")
|
||||
}
|
||||
|
||||
//修改字段属性
|
||||
func (c *ModelFields) SetFieldsAttr(r *ghttp.Request) {
|
||||
var req *model_fields.SetFieldsAttrReq
|
||||
//获取参数
|
||||
if err := r.Parse(&req); err != nil {
|
||||
response.FailJson(true, r, err.(*gvalid.Error).FirstString())
|
||||
}
|
||||
if err := model_service.SetFieldsAttr(req); err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "修改成功", req)
|
||||
}
|
||||
@@ -0,0 +1,170 @@
|
||||
package admin
|
||||
|
||||
import (
|
||||
"gfast/app/model/admin/model_info"
|
||||
"gfast/app/service/admin/model_service"
|
||||
"gfast/app/service/admin/user_service"
|
||||
"gfast/library/response"
|
||||
"github.com/gogf/gf/frame/g"
|
||||
"github.com/gogf/gf/net/ghttp"
|
||||
"github.com/gogf/gf/util/gvalid"
|
||||
)
|
||||
|
||||
//控制器
|
||||
type ModelInfo struct{}
|
||||
|
||||
// @Summary 列表页
|
||||
// @Description 列表页
|
||||
// @Tags 模型列表
|
||||
// @Param data body model_info.SelectPageReq true "data"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/model/info/list [post]
|
||||
// @Security
|
||||
func (c *ModelInfo) List(r *ghttp.Request) {
|
||||
// 定义一个结构体存储请求参数
|
||||
var req *model_info.SelectPageReq
|
||||
// 获取参数
|
||||
err := r.Parse(&req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.(*gvalid.Error).FirstString())
|
||||
}
|
||||
total, page, list, err := model_service.SelectListByPage(req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
result := g.Map{
|
||||
"currentPage": page,
|
||||
"total": total,
|
||||
"list": list,
|
||||
}
|
||||
response.SusJson(true, r, "获取列表数据成功", result)
|
||||
}
|
||||
|
||||
// @Summary 新增
|
||||
// @Description 新增
|
||||
// @Tags 模型列表
|
||||
// @Param data body model_info.AddReq true "data"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/model/info/add [post]
|
||||
// @Security
|
||||
func (c *ModelInfo) Add(r *ghttp.Request) {
|
||||
if r.Method == "POST" {
|
||||
var req *model_info.AddReq
|
||||
// 通过Parse方法解析获取参数
|
||||
err := r.Parse(&req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.(*gvalid.Error).FirstString())
|
||||
}
|
||||
req.CreateBy = user_service.GetLoginID(r)
|
||||
// 调用service中的添加函数添加
|
||||
err = model_service.AddSave(req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "添加模型成功")
|
||||
}
|
||||
}
|
||||
|
||||
// @Summary 修改
|
||||
// @Description 修改
|
||||
// @Tags 模型列表
|
||||
// @Param data body model_info.EditReq true "data"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/model/info/edit [post]
|
||||
// @Security
|
||||
func (c *ModelInfo) Edit(r *ghttp.Request) {
|
||||
// 如果是post提交的请求就执行修改操作
|
||||
if r.Method == "POST" {
|
||||
var editReq *model_info.EditReq
|
||||
// 通过Parse方法解析获取参数
|
||||
err := r.Parse(&editReq)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.(*gvalid.Error).FirstString())
|
||||
}
|
||||
editReq.UpdateBy = user_service.GetLoginID(r)
|
||||
err = model_service.EditSave(editReq)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "修改参数成功")
|
||||
}
|
||||
// 不是post提交的请求就到修改页面后查询出要修改的记录
|
||||
id := r.GetInt64("id")
|
||||
params, err := model_service.GetByID(id)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "ok", params)
|
||||
}
|
||||
|
||||
// @Summary 删除
|
||||
// @Description 删除
|
||||
// @Tags 模型列表
|
||||
// @Param data body model_info.RemoveReq true "data"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/model/info/delete [post]
|
||||
// @Security
|
||||
func (c *ModelInfo) Delete(r *ghttp.Request) {
|
||||
var req *model_info.RemoveReq
|
||||
//获取参数
|
||||
if err := r.Parse(&req); err != nil {
|
||||
response.FailJson(true, r, err.(*gvalid.Error).FirstString())
|
||||
}
|
||||
err := model_service.DeleteByIds(req.Ids)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, "删除失败")
|
||||
}
|
||||
response.SusJson(true, r, "删除成功")
|
||||
}
|
||||
|
||||
// @Summary 设置模型状态
|
||||
// @Description 设置模型状态
|
||||
// @Tags 模型列表
|
||||
// @Param data body model_info.StatusSetReq true "data"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/model/info/setStatus [post]
|
||||
// @Security
|
||||
func (c *ModelInfo) SetStatus(r *ghttp.Request) {
|
||||
var req *model_info.StatusSetReq
|
||||
//获取参数
|
||||
if err := r.Parse(&req); err != nil {
|
||||
response.FailJson(true, r, err.(*gvalid.Error).FirstString())
|
||||
}
|
||||
err := model_service.SetInfoStatus(req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "状态设置成功")
|
||||
}
|
||||
|
||||
// @Summary 模型生成
|
||||
// @Description 模型生成
|
||||
// @Tags 模型列表
|
||||
// @Param modelId path int true "int valid"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/model/info/createModel [post]
|
||||
// @Security
|
||||
func (c *ModelInfo) CreateModel(r *ghttp.Request) {
|
||||
modelId := r.GetInt64("modelId")
|
||||
err := model_service.CreateModel(modelId)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "模型生成成功")
|
||||
}
|
||||
|
||||
// @Summary 复制模型
|
||||
// @Description 复制模型
|
||||
// @Tags 模型列表
|
||||
// @Param modelId path int true "int valid"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/model/info/copyModel [post]
|
||||
// @Security
|
||||
func (c *ModelInfo) CopyModel(r *ghttp.Request) {
|
||||
modelId := r.GetInt64("modelId")
|
||||
err := model_service.CopyModel(modelId)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "模型复制成功")
|
||||
}
|
||||
@@ -0,0 +1,138 @@
|
||||
package admin
|
||||
|
||||
import (
|
||||
"gfast/app/model/admin/plug_ad"
|
||||
"gfast/app/service/admin/plug_service"
|
||||
"gfast/library/response"
|
||||
"github.com/gogf/gf/util/gconv"
|
||||
"github.com/gogf/gf/util/gvalid"
|
||||
|
||||
"github.com/gogf/gf/frame/g"
|
||||
"github.com/gogf/gf/net/ghttp"
|
||||
)
|
||||
|
||||
type PlugAd struct{}
|
||||
|
||||
// @Summary 添加广告
|
||||
// @Description 添加广告
|
||||
// @Tags 广告列表
|
||||
// @Param data body plug_ad.AddReq true "data"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/plug/ad/info/add [post]
|
||||
// @Security
|
||||
func (c *PlugAd) Add(r *ghttp.Request) {
|
||||
if r.Method == "POST" {
|
||||
var req *plug_ad.AddReq
|
||||
// 通过Parse方法解析获取参数
|
||||
err := r.Parse(&req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.(*gvalid.Error).FirstString())
|
||||
}
|
||||
// 调用service中的添加函数添加广告
|
||||
err = plug_service.AddSaveAd(req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "添加成功!")
|
||||
}
|
||||
}
|
||||
|
||||
// @Summary 删除广告
|
||||
// @Description 删除广告
|
||||
// @Tags 广告列表
|
||||
// @Param data body integer true "ids"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/plug/ad/info/delete [delete]
|
||||
// @Security
|
||||
func (c *PlugAd) Delete(r *ghttp.Request) {
|
||||
ids := r.GetInts("plugAdID")
|
||||
if len(ids) == 0 {
|
||||
response.FailJson(true, r, "ID获取失败,删除失败")
|
||||
}
|
||||
err := plug_service.DeleteByIDs(ids)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "删除成功")
|
||||
}
|
||||
|
||||
// @Summary 修改广告
|
||||
// @Description 修改广告
|
||||
// @Tags 广告列表
|
||||
// @Param data body plug_ad.EditReq true "data"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/plug/ad/info/edit [post]
|
||||
// @Security
|
||||
func (c *PlugAd) Edit(r *ghttp.Request) {
|
||||
// 如果是post提交的请求就执行修改操作
|
||||
if r.Method == "POST" {
|
||||
var editReq *plug_ad.EditReq
|
||||
// 通过Parse方法解析获取参数
|
||||
err := r.Parse(&editReq)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.(*gvalid.Error).FirstString())
|
||||
}
|
||||
err = plug_service.EditPlugAdSave(editReq)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "修改参数成功")
|
||||
}
|
||||
// 不是post提交的请求就到修改页面后查询出要修改的记录
|
||||
id := r.GetInt("plugAdID")
|
||||
params, err := plug_service.GetPlugAdByID(int64(id))
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "ok", params)
|
||||
}
|
||||
|
||||
// @Summary 广告列表
|
||||
// @Description 广告列表
|
||||
// @Tags 广告列表
|
||||
// @Param data body plug_ad.SelectPageReq true "data"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/plug/ad/info/list [get]
|
||||
// @Security
|
||||
func (c *PlugAd) List(r *ghttp.Request) {
|
||||
// 定义一个结构体存储请求参数
|
||||
var req *plug_ad.SelectPageReq
|
||||
// 获取参数
|
||||
err := r.Parse(&req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
total, page, list, err := plug_service.SelectPlugAdListByPage(req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
result := g.Map{
|
||||
"currentPage": page,
|
||||
"total": total,
|
||||
"list": list,
|
||||
}
|
||||
response.SusJson(true, r, "广告列表", result)
|
||||
}
|
||||
|
||||
// @Summary 栏目排序
|
||||
// @Description 栏目排序
|
||||
// @Tags 广告列表
|
||||
// @Param sorts body integer true "sorts[]"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/plug/ad/info/sort [post]
|
||||
// @Security
|
||||
func (c *PlugAd) Sort(r *ghttp.Request) {
|
||||
sorts := r.Get("sorts")
|
||||
s := gconv.Map(sorts)
|
||||
if s == nil {
|
||||
response.FailJson(true, r, "获取记录id、序号失败")
|
||||
}
|
||||
var err error
|
||||
for k, v := range s {
|
||||
_, err = plug_ad.Model.Where("ad_id=?", k).Data("ad_sort", v).Update()
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
}
|
||||
response.SusJson(true, r, "排序成功")
|
||||
}
|
||||
@@ -0,0 +1,151 @@
|
||||
package admin
|
||||
|
||||
import (
|
||||
"gfast/app/model/admin/plug_adtype"
|
||||
"gfast/app/service/admin/plug_service"
|
||||
"gfast/library/response"
|
||||
"github.com/gogf/gf/errors/gerror"
|
||||
"github.com/gogf/gf/util/gconv"
|
||||
|
||||
"github.com/gogf/gf/frame/g"
|
||||
"github.com/gogf/gf/net/ghttp"
|
||||
"github.com/gogf/gf/util/gvalid"
|
||||
)
|
||||
|
||||
type AdType struct{}
|
||||
|
||||
// @Summary 添加广告位
|
||||
// @Description 添加广告位
|
||||
// @Tags 广告位管理
|
||||
// @Param data body plug_adtype.AddReq true "data"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/plug/ad/type/add [post]
|
||||
// @Security
|
||||
func (c *AdType) Add(r *ghttp.Request) {
|
||||
if r.Method == "POST" {
|
||||
var req *plug_adtype.AddReq
|
||||
// 通过Parse方法解析获取参数
|
||||
err := r.Parse(&req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.(*gvalid.Error).FirstString())
|
||||
}
|
||||
// 调用service中的添加函数添加广告位
|
||||
err = plug_service.AddSave(req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "添加成功!")
|
||||
}
|
||||
}
|
||||
|
||||
// @Summary 删除广告位
|
||||
// @Description 删除广告位
|
||||
// @Tags 广告位管理
|
||||
// @Param adtypeID body integer true "adtypeID[1,2,3...]"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/plug/ad/type/delete [delete]
|
||||
// @Security
|
||||
func (c *AdType) Delete(r *ghttp.Request) {
|
||||
// 从页面获取要删除记录的 ID int切片
|
||||
id := r.GetInts("adTypeID")
|
||||
if len(id) == 0 {
|
||||
response.FailJson(true, r, "ID获取失败,删除失败")
|
||||
}
|
||||
err := plug_service.DeleteAdTypeByID(id)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "删除成功")
|
||||
}
|
||||
|
||||
// @Summary 修改广告位信息
|
||||
// @Description 修改广告位信息
|
||||
// @Tags 广告位管理
|
||||
// @Param data body plug_adtype.EditReq true "data"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/plug/ad/type/edit [post]
|
||||
// @Security
|
||||
func (c *AdType) Edit(r *ghttp.Request) {
|
||||
// 如果是post提交的请求就执行修改操作
|
||||
if r.Method == "POST" {
|
||||
var editReq *plug_adtype.EditReq
|
||||
// 通过Parse方法解析获取参数
|
||||
err := r.Parse(&editReq)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.(*gvalid.Error).FirstString())
|
||||
}
|
||||
err = plug_service.EditSave(editReq)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "修改参数成功")
|
||||
}
|
||||
// 不是post提交的请求就到修改页面后查询出要修改的记录
|
||||
id := r.GetInt("adTypeID")
|
||||
params, err := plug_service.GetAdtypeByID(int64(id))
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "ok", params)
|
||||
}
|
||||
|
||||
// @Summary 广告位列表
|
||||
// @Description 广告位列表
|
||||
// @Tags 广告位管理
|
||||
// @Param data body plug_adtype.SelectPageReq true "data"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/plug/ad/type/list [get]
|
||||
// @Security
|
||||
func (c *AdType) List(r *ghttp.Request) {
|
||||
// 定义一个结构体存储请求参数
|
||||
var req *plug_adtype.SelectPageReq
|
||||
// 获取参数
|
||||
err := r.Parse(&req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
total, page, list, err := plug_service.SelectListByPage(req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
result := g.Map{
|
||||
"currentPage": page,
|
||||
"total": total,
|
||||
"list": list,
|
||||
}
|
||||
response.SusJson(true, r, "广告位列表", result)
|
||||
}
|
||||
|
||||
// @Summary 栏目排序
|
||||
// @Description 栏目排序
|
||||
// @Tags 广告位管理
|
||||
// @Param sorts body integer true "sorts"
|
||||
// @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /system/plug/ad/type/sort [post]
|
||||
// @Security
|
||||
func (c *AdType) Sort(r *ghttp.Request) {
|
||||
sorts := r.Get("sorts")
|
||||
s := gconv.Map(sorts)
|
||||
if s == nil {
|
||||
response.FailJson(true, r, "排序失败")
|
||||
}
|
||||
var err error
|
||||
for k, v := range s {
|
||||
_, err = plug_adtype.Model.Where("adtype_id=?", k).Data("adtype_sort", v).Update()
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
}
|
||||
response.SusJson(true, r, "排序成功")
|
||||
}
|
||||
|
||||
// 查询所有广告位名和对应id
|
||||
func (c *AdType) Type(r *ghttp.Request) {
|
||||
res, err := plug_adtype.Model.FindAll()
|
||||
if err != nil {
|
||||
g.Log().Error(err)
|
||||
err = gerror.New("查询所有广告位名失败!")
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "广告位名列表", res)
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
package admin
|
||||
|
||||
import (
|
||||
"gfast/app/model/admin/plug_link"
|
||||
"gfast/app/service/admin/plug_link_service"
|
||||
"gfast/library/response"
|
||||
|
||||
"github.com/gogf/gf/frame/g"
|
||||
"github.com/gogf/gf/net/ghttp"
|
||||
"github.com/gogf/gf/util/gconv"
|
||||
"github.com/gogf/gf/util/gvalid"
|
||||
)
|
||||
|
||||
type PlugLink struct{}
|
||||
|
||||
// 添加链接
|
||||
func (c *PlugLink) Add(r *ghttp.Request) {
|
||||
if r.Method == "POST" {
|
||||
var req *plug_link.AddReq
|
||||
// 通过Parse方法解析获取参数
|
||||
err := r.Parse(&req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.(*gvalid.Error).FirstString())
|
||||
}
|
||||
// 调用service中的添加函数添加链接
|
||||
err = plug_link.AddSave(req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "添加成功!")
|
||||
}
|
||||
}
|
||||
|
||||
// 批量删除链接
|
||||
func (c *PlugLink) Delete(r *ghttp.Request) {
|
||||
ids := r.GetInts("plugLinkID")
|
||||
if len(ids) == 0 {
|
||||
response.FailJson(true, r, "ID获取失败,删除失败")
|
||||
}
|
||||
err := plug_link_service.DeleteByIDs(ids)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "删除成功")
|
||||
}
|
||||
|
||||
// 修改链接
|
||||
func (c *PlugLink) Edit(r *ghttp.Request) {
|
||||
// 如果是post提交的请求就执行修改操作
|
||||
if r.Method == "POST" {
|
||||
var editReq *plug_link.EditReq
|
||||
// 通过Parse方法解析获取参数
|
||||
err := r.Parse(&editReq)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.(*gvalid.Error).FirstString())
|
||||
}
|
||||
err = plug_link_service.EditPlugLinkSave(editReq)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "修改链接成功")
|
||||
}
|
||||
// 不是post提交的请求就到修改页面后查询出要修改的记录
|
||||
id := r.GetInt("plugLinkID")
|
||||
params, err := plug_link_service.GetPlugLinkByID(int64(id))
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "ok", params)
|
||||
}
|
||||
|
||||
// 友情链接列表
|
||||
func (c *PlugLink) List(r *ghttp.Request) {
|
||||
// 定义一个结构体存储请求参数
|
||||
var req *plug_link.SelectPageReq
|
||||
// 获取参数
|
||||
err := r.Parse(&req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
total, page, list, err := plug_link_service.SelectPlugLinkListByPage(req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
result := g.Map{
|
||||
"currentPage": page,
|
||||
"total": total,
|
||||
"list": list,
|
||||
}
|
||||
response.SusJson(true, r, "链接列表", result)
|
||||
}
|
||||
|
||||
// 链接排序
|
||||
func (c *PlugLink) Sort(r *ghttp.Request) {
|
||||
sorts := r.Get("sorts")
|
||||
s := gconv.Map(sorts)
|
||||
if s == nil {
|
||||
response.FailJson(true, r, "获取记录id、序号失败")
|
||||
}
|
||||
var err error
|
||||
for k, v := range s {
|
||||
_, err = plug_link.Model.Where("link_id=?", k).Data("link_order", v).Update()
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
}
|
||||
response.SusJson(true, r, "排序成功")
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
package admin
|
||||
|
||||
import (
|
||||
"gfast/app/model/admin/plug_linktype"
|
||||
"gfast/app/service/admin/plug_link_service"
|
||||
"gfast/library/response"
|
||||
"github.com/gogf/gf/errors/gerror"
|
||||
|
||||
"github.com/gogf/gf/frame/g"
|
||||
"github.com/gogf/gf/net/ghttp"
|
||||
"github.com/gogf/gf/util/gconv"
|
||||
"github.com/gogf/gf/util/gvalid"
|
||||
)
|
||||
|
||||
type LinkType struct{}
|
||||
|
||||
// 添加栏目
|
||||
func (c *LinkType) Add(r *ghttp.Request) {
|
||||
// 判断提交方式
|
||||
if r.Method == "POST" {
|
||||
// 定义req来保存请求参数
|
||||
var req *plug_linktype.AddReq
|
||||
// 解析req获取参数
|
||||
err := r.Parse(&req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.(*gvalid.Error).FirstString())
|
||||
}
|
||||
// 调用添加的方法添加栏目
|
||||
err = plug_link_service.AddSave(req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "添加成功!")
|
||||
}
|
||||
}
|
||||
|
||||
// 删除栏目
|
||||
func (c *LinkType) Delete(r *ghttp.Request) {
|
||||
// 获取要删除的栏目ID切片
|
||||
ids := r.GetInts("linkTypeID")
|
||||
if len(ids) == 0 {
|
||||
response.FailJson(true, r, "ID获取失败,删除失败")
|
||||
}
|
||||
err := plug_link_service.DeleteLinkTypeByID(ids)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "删除成功")
|
||||
}
|
||||
|
||||
// 修改栏目
|
||||
func (c *LinkType) Edit(r *ghttp.Request) {
|
||||
// 如果不是POST提交的请求,则说明是第一次发送修改请求,需到修改页面查出要修改记录信息
|
||||
if r.Method == "POST" {
|
||||
var req *plug_linktype.EditReq
|
||||
err := r.Parse(&req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.(*gvalid.Error).FirstString())
|
||||
}
|
||||
err = plug_link_service.EditSave(req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "修改栏目成功")
|
||||
}
|
||||
// 不是post提交的请求就到修改页面后查询出要修改的记录
|
||||
id := r.GetInt("linkTypeID")
|
||||
params, err := plug_link_service.GetLinkTypeByID(int64(id))
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "ok", params)
|
||||
}
|
||||
|
||||
// 友情链接栏目列表
|
||||
func (c *LinkType) List(r *ghttp.Request) {
|
||||
// 定义一个结构体存储请求参数
|
||||
var req *plug_linktype.SelectPageReq
|
||||
// 获取参数
|
||||
err := r.Parse(&req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
total, page, list, err := plug_link_service.SelectListByPage(req)
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
result := g.Map{
|
||||
"currentPage": page,
|
||||
"total": total,
|
||||
"list": list,
|
||||
}
|
||||
response.SusJson(true, r, "栏目列表", result)
|
||||
}
|
||||
|
||||
//栏目排序
|
||||
func (c *LinkType) Sort(r *ghttp.Request) {
|
||||
sorts := r.Get("sorts")
|
||||
s := gconv.Map(sorts)
|
||||
if s == nil {
|
||||
response.FailJson(true, r, "排序失败")
|
||||
}
|
||||
var err error
|
||||
for k, v := range s {
|
||||
_, err = plug_linktype.Model.Where("linktype_id=?", k).Data("linktype_order", v).Update()
|
||||
if err != nil {
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
}
|
||||
response.SusJson(true, r, "排序成功")
|
||||
}
|
||||
|
||||
// 查询所有分类名和对应id
|
||||
func (c *LinkType) Type(r *ghttp.Request) {
|
||||
res, err := plug_linktype.Model.FindAll()
|
||||
if err != nil {
|
||||
g.Log().Error(err)
|
||||
err = gerror.New("查询所有分类列表失败!")
|
||||
response.FailJson(true, r, err.Error())
|
||||
}
|
||||
response.SusJson(true, r, "分类列表", res)
|
||||
}
|
||||
Reference in New Issue
Block a user