Browse Source

编辑章节信息

xyxie 1 year ago
parent
commit
5a2b75b79c
4 changed files with 171 additions and 16 deletions
  1. 142 0
      controllers/report_chapter_type.go
  2. 10 16
      models/report_chapter_type.go
  3. 18 0
      routers/commentsRouter.go
  4. 1 0
      routers/router.go

+ 142 - 0
controllers/report_chapter_type.go

@@ -0,0 +1,142 @@
+package controllers
+
+import (
+	"encoding/json"
+	"hongze/hz_crm_api/models"
+	"hongze/hz_crm_api/utils"
+)
+
+// ReportChapterTypeController 报告章节配置
+type ReportChapterTypeController struct {
+	BaseAuthController
+}
+
+// List
+// @Title 报告章节列表
+// @Description 报告章节列表
+// @Param   ReportType  query  string  true  "报告类型: day-晨报; week-周报"
+// @Success 200 {object} models.ReportChapterTypePageListResp
+// @router /chapter_type/list [get]
+func (this *ReportChapterTypeController) List() {
+	br := new(models.BaseResponse).Init()
+	br.IsSendEmail = false
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	sysUser := this.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+	reportType := this.GetString("ReportType")
+	typeArr := []string{utils.REPORT_TYPE_DAY, utils.REPORT_TYPE_WEEK}
+	if !utils.InArrayByStr(typeArr, reportType) {
+		br.Msg = "请选择报告类型"
+		return
+	}
+
+	cond := ` AND research_type = ?`
+	pars := make([]interface{}, 0)
+	pars = append(pars, reportType)
+	list, e := models.GetReportChapterTypePageList(cond, pars)
+	if e != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取报告章节列表失败, Err: " + e.Error()
+		return
+	}
+	respList := make([]*models.ReportChapterTypeListItem, 0)
+	for i := range list {
+		respList = append(respList, &models.ReportChapterTypeListItem{
+			ReportChapterTypeId:   list[i].ReportChapterTypeId,
+			ReportChapterTypeName: list[i].ReportChapterTypeName,
+			Sort:                  list[i].Sort,
+			CreatedTime:           list[i].CreatedTime.Format(utils.FormatDateTime),
+			ResearchType:          list[i].ResearchType,
+			SelectedImage:         list[i].SelectedImage,
+			UnselectedImage:       list[i].UnselectedImage,
+			WordsImage:            list[i].YbBottomIcon, // 此处的不一样
+			EditImgUrl:            list[i].EditImgUrl,
+			IsShow:                list[i].IsShow,
+		})
+	}
+
+	resp := new(models.ReportChapterTypeListResp)
+	resp.List = respList
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+}
+
+// Edit
+// @Title 编辑报告章节
+// @Description 编辑报告章节
+// @Param	request  body  models.ReportChapterTypeEditReq  true  "type json string"
+// @Success 200 string "操作成功"
+// @router /chapter_type/edit [post]
+func (this *ReportChapterTypeController) Edit() {
+	br := new(models.BaseResponse).Init()
+	br.IsSendEmail = false
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	sysUser := this.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+	var req models.ReportChapterTypeEditReq
+	if err := json.Unmarshal(this.Ctx.Input.RequestBody, &req); err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+	if req.ReportChapterTypeId <= 0 {
+		br.Msg = "章节ID有误"
+		return
+	}
+
+	item, e := models.GetReportChapterTypeById(req.ReportChapterTypeId)
+	if e != nil {
+		br.Msg = "操作失败"
+		br.ErrMsg = "获取报告章节失败, Err:" + e.Error()
+		return
+	}
+
+	item.SelectedImage = req.SelectedImage
+	item.UnselectedImage = req.UnselectedImage
+	item.PcSelectedImage = req.SelectedImage
+	item.PcUnselectedImage = req.UnselectedImage
+	item.EditImgUrl = req.EditImgUrl
+	item.YbIconUrl = req.UnselectedImage
+	item.YbBottomIcon = req.WordsImage
+	item.IsShow = req.IsShow
+	item.ReportChapterTypeThumb = req.EditImgUrl
+	item.BannerUrl = req.UnselectedImage
+
+	updateCols := []string{"SelectedImage", "UnselectedImage",
+		"PcSelectedImage", "PcUnselectedImage", "EditImgUrl", "YbIconUrl", "YbBottomIcon", "IsShow",
+		"ReportChapterTypeThumb", "BannerUrl",
+	}
+	if e = item.Update(updateCols); e != nil {
+		br.Msg = "操作失败"
+		br.ErrMsg = "更新报告章节失败, Err:" + e.Error()
+		return
+	}
+
+	// 清除小程序端的章节缓存
+	{
+		key := "hongze_yb:report_chapter_type:GetEffectTypeID"
+		_ = utils.Rc.Delete(key)
+	}
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "操作成功"
+}

+ 10 - 16
models/report_chapter_type.go

@@ -2,7 +2,6 @@ package models
 
 import (
 	"github.com/beego/beego/v2/client/orm"
-	"github.com/rdlucklib/rdluck_tools/paging"
 	"hongze/hz_crm_api/utils"
 	"time"
 )
@@ -299,9 +298,8 @@ type UpdateReportChapterTypeResp struct {
 	Week []*ReportChapterType `description:"所有周报品种"`
 }
 
-type ReportChapterTypePageListResp struct {
-	List   []*ReportChapterTypeListItem
-	Paging *paging.PagingItem `description:"分页数据"`
+type ReportChapterTypeListResp struct {
+	List []*ReportChapterTypeListItem
 }
 
 // GetReportChapterTypeCount 获取章节类型总数
@@ -314,13 +312,12 @@ func GetReportChapterTypeCount(condition string, pars []interface{}) (count int,
 }
 
 // GetReportChapterTypeList 获取章节类型列表
-func GetReportChapterTypePageList(condition string, pars []interface{}, startSize, pageSize int) (list []*ReportChapterType, err error) {
+func GetReportChapterTypePageList(condition string, pars []interface{}) (list []*ReportChapterType, err error) {
 	o := orm.NewOrm()
 	sql := ` SELECT * FROM report_chapter_type WHERE 1 = 1 `
 	sql += condition
 	sql += ` ORDER BY sort ASC, created_time DESC`
-	sql += ` LIMIT ?,?`
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&list)
+	_, err = o.Raw(sql, pars).QueryRows(&list)
 	return
 }
 
@@ -352,15 +349,12 @@ type ReportChapterTypeAddReq struct {
 
 // ReportChapterTypeEditReq 编辑章节类型请求体
 type ReportChapterTypeEditReq struct {
-	ReportChapterTypeId   int    `description:"报告章节类型id"`
-	ReportChapterTypeName string `description:"报告章节类型名称"`
-	Sort                  int    `description:"排序字段"`
-	ResearchType          string `description:"研报类型"`
-	SelectedImage         string `description:"选中时的icon"`
-	UnselectedImage       string `description:"未选中时的icon"`
-	WordsImage            string `description:"带字的icon"`
-	EditImgUrl            string `description:"管理后台编辑时选用的图"`
-	IsShow                int    `description:"显示隐藏: 1-显示; 0-隐藏"`
+	ReportChapterTypeId int    `description:"报告章节类型id"`
+	SelectedImage       string `description:"选中时的icon"`
+	UnselectedImage     string `description:"未选中时的icon"`
+	WordsImage          string `description:"带字的icon"`
+	EditImgUrl          string `description:"管理后台编辑时选用的图"`
+	IsShow              int    `description:"显示隐藏: 1-显示; 0-隐藏"`
 }
 
 // ReportChapterTypeDelReq 删除章节类型请求体

+ 18 - 0
routers/commentsRouter.go

@@ -10384,6 +10384,24 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["hongze/hz_crm_api/controllers:ReportChapterTypeController"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers:ReportChapterTypeController"],
+        beego.ControllerComments{
+            Method: "Edit",
+            Router: `/chapter_type/edit`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["hongze/hz_crm_api/controllers:ReportChapterTypeController"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers:ReportChapterTypeController"],
+        beego.ControllerComments{
+            Method: "List",
+            Router: `/chapter_type/list`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hz_crm_api/controllers:ReportController"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers:ReportController"],
         beego.ControllerComments{
             Method: "GetDayWeekReportChapterTypeList",

+ 1 - 0
routers/router.go

@@ -63,6 +63,7 @@ func init() {
 			web.NSInclude(
 				&controllers.ReportController{},
 				&controllers.ReportUploadCommonController{},
+				&controllers.ReportChapterTypeController{},
 			),
 		),
 		web.NSNamespace("/statistic_report",