|
- package article
-
- import (
- "applet/app/db"
- "applet/app/e"
- "applet/app/md"
- "applet/app/svc"
- "applet/app/utils"
- "code.fnuoos.com/EggPlanet/egg_models.git/src/implement"
- "code.fnuoos.com/EggPlanet/egg_models.git/src/model"
- "fmt"
- "github.com/gin-gonic/gin"
- "time"
- )
-
- func List(c *gin.Context) {
- var req *md.ArticleListReq
- if err := c.ShouldBindJSON(&req); err != nil {
- e.OutErr(c, e.ERR_INVALID_ARGS, err)
- return
- }
- var resp md.ArticleListResp
- noticeList := make([]md.ArticleList, 0)
- NewArticleDb := implement.NewArticleDb(db.Db)
- notice, total, _ := NewArticleDb.FindArticleAndTotal(req.Page, req.Limit, "", "")
- resp.Total = total
- resp.SelectData = make([]map[string]interface{}, 0)
- NewArticleCateDb := implement.NewArticleCateDb(db.Db)
- pid, _ := NewArticleCateDb.FindArticleCate("1", "100", "0")
- if pid != nil {
- for _, v := range *pid {
- list := make([]map[string]string, 0)
- tmp := map[string]interface{}{
- "name": v.Name, "value": utils.IntToStr(v.Id), "list": list,
- }
- cate, _ := NewArticleCateDb.FindArticleCate("1", "1000", utils.IntToStr(v.Id))
- if cate != nil {
- for _, v1 := range *cate {
- tmp1 := map[string]string{
- "name": v1.Name, "value": utils.IntToStr(v1.Id),
- }
- list = append(list, tmp1)
- }
- tmp["list"] = list
- }
- resp.SelectData = append(resp.SelectData, tmp)
- }
- }
- resp.CateData = make([]map[string]interface{}, 0)
- cate, _, _ := NewArticleCateDb.FindArticleCateAndTotalPid("1", "100")
- if cate != nil {
- for _, v := range *cate {
- list := make([]map[string]string, 0)
- tmp := map[string]interface{}{
- "name": v.Name, "value": utils.IntToStr(v.Id), "list": list,
- }
- resp.CateData = append(resp.CateData, tmp)
- }
- }
- if notice != nil {
- for _, v := range *notice {
- isHide := "1"
- if v.Pid == 4 {
- isHide = "0"
- }
- tmp := md.ArticleList{
- CateId: utils.IntToStr(v.CateId),
- Title: v.Title,
- Content: v.Content,
- Cover: v.Cover,
- CoverUrl: svc.GetOssUrl(v.Cover),
- Id: utils.IntToStr(v.Id),
- Sort: utils.IntToStr(v.Sort),
- IsShow: utils.IntToStr(v.IsShow),
- Pid: utils.IntToStr(v.Pid),
- Url: fmt.Sprintf("%s%s?id=%s&is_hide=%s", svc.GetSysCfgStr("wap_host"), "/#/pages/course-detail-page/course-detail-page", utils.AnyToString(v.Id), isHide),
- }
- noticeList = append(noticeList, tmp)
- }
- }
- resp.List = noticeList
- e.OutSuc(c, resp, nil)
- return
- }
- func Save(c *gin.Context) {
- var req *md.ArticleSaveReq
- if err := c.ShouldBindJSON(&req); err != nil {
- e.OutErr(c, e.ERR_INVALID_ARGS, err)
- return
- }
- var data = new(model.Article)
- if utils.StrToInt(req.Id) > 0 {
- NewArticleDb := implement.NewArticleDb(db.Db)
- notice, _ := NewArticleDb.GetArticle(req.Id)
- if notice == nil {
- e.OutErr(c, 400, e.NewErr(400, "记录不存在"))
- return
- }
- data = notice
- } else {
- data.CreatedAt = int(time.Now().Unix())
- db.Db.Insert(data)
- }
- data.UpdatedAt = int(time.Now().Unix())
- data.Title = req.Title
- data.Cover = req.Cover
- data.Content = req.Content
- data.TypeId = utils.StrToInt(req.Pid)
- data.CateId = utils.StrToInt(req.CateId)
- data.Sort = utils.StrToInt(req.Sort)
- data.Pid = utils.StrToInt(req.Pid)
- data.IsShow = utils.StrToInt(req.IsShow)
- db.Db.Where("id=?", data.Id).AllCols().Update(data)
- e.OutSuc(c, "success", nil)
- return
- }
- func Del(c *gin.Context) {
- var req *md.ArticleDelReq
- if err := c.ShouldBindJSON(&req); err != nil {
- e.OutErr(c, e.ERR_INVALID_ARGS, err)
- return
- }
- db.Db.In("id", req.Ids).Delete(&model.Article{})
- e.OutSuc(c, "success", nil)
- return
- }
|