/************************************************************ ** @Description: controllers ** @Author: Bee ** @Date: 2019-02-15 20:21 ** @Last Modified by: Bee ** @Last Modified time: 2019-02-15 20:21 *************************************************************/ package controllers import ( "encoding/json" "github.com/astaxie/beego" "github.com/george518/PPGo_Job/models" "strings" "time" ) type NotifyTplController struct { BaseController } func (self *NotifyTplController) List() { self.Data["pageTitle"] = "通知模板" self.display() } func (self *NotifyTplController) Add() { self.Data["pageTitle"] = "新增通知模板" self.Data["serverGroup"] = serverGroupLists(self.serverGroups, self.userId) self.display() } func (self *NotifyTplController) Edit() { self.Data["pageTitle"] = "编辑通知模板" id, _ := self.GetInt("id", 0) notifyTpl, _ := models.NotifyTplGetById(id) row := make(map[string]interface{}) row["id"] = notifyTpl.Id row["tpl_name"] = notifyTpl.TplName row["tpl_type"] = notifyTpl.TplType row["title"] = notifyTpl.Title row["content"] = notifyTpl.Content row["status"] = notifyTpl.Status self.Data["notifyTpl"] = row self.display() } func (self *NotifyTplController) AjaxSave() { tpl_id, _ := self.GetInt("id") if tpl_id == 0 { notifyTpl := new(models.NotifyTpl) notifyTpl.TplName = strings.TrimSpace(self.GetString("tpl_name")) notifyTpl.TplType, _ = self.GetInt("tpl_type") notifyTpl.Title = strings.TrimSpace(self.GetString("title")) notifyTpl.Content = strings.TrimSpace(self.GetString("content")) notifyTpl.CreateId = self.userId notifyTpl.CreateTime = time.Now().Unix() notifyTpl.Type = models.NotifyTplTypeDefault notifyTpl.Status, _ = self.GetInt("status") if notifyTpl.TplType == 1 || notifyTpl.TplType == 2 || notifyTpl.TplType == 3 { m := make(map[string]string) err := json.Unmarshal([]byte(notifyTpl.Content), &m) if err != nil { self.ajaxMsg("模板内容格式错误,"+err.Error(), MSG_ERR) } } if _, err := models.NotifyTplAdd(notifyTpl); err != nil { self.ajaxMsg(err.Error(), MSG_ERR) } self.ajaxMsg("", MSG_OK) } notifyTpl, _ := models.NotifyTplGetById(tpl_id) //修改 notifyTpl.Id = tpl_id notifyTpl.UpdateId = self.userId notifyTpl.UpdateTime = time.Now().Unix() notifyTpl.TplName = strings.TrimSpace(self.GetString("tpl_name")) notifyTpl.TplType, _ = self.GetInt("tpl_type") notifyTpl.Title = strings.TrimSpace(self.GetString("title")) notifyTpl.Content = strings.TrimSpace(self.GetString("content")) notifyTpl.Status, _ = self.GetInt("status") if notifyTpl.Type == models.NotifyTplTypeSystem { self.ajaxMsg("系统模板禁止更新", MSG_ERR) } if notifyTpl.TplType == 1 || notifyTpl.TplType == 2 || notifyTpl.TplType == 3 { m := make(map[string]string) err := json.Unmarshal([]byte(notifyTpl.Content), &m) if err != nil { self.ajaxMsg("模板内容格式错误,"+err.Error(), MSG_ERR) } } if err := notifyTpl.Update(); err != nil { self.ajaxMsg("更新失败,"+err.Error(), MSG_ERR) } self.ajaxMsg("", MSG_OK) } func (self *NotifyTplController) AjaxDel() { id, _ := self.GetInt("id") notifyTpl, _ := models.NotifyTplGetById(id) if notifyTpl.Type == models.NotifyTplTypeSystem { self.ajaxMsg("系统模板禁止删除", MSG_ERR) } if err := models.NotifyTplDelById(id); err != nil { self.ajaxMsg("删除失败,"+err.Error(), MSG_ERR) } self.ajaxMsg("操作成功", MSG_OK) } func (self *NotifyTplController) Table() { //列表 page, err := self.GetInt("page") if err != nil { page = 1 } limit, err := self.GetInt("limit") if err != nil { limit = 30 } tplName := strings.TrimSpace(self.GetString("tplName")) StatusText := []string{ "禁用", "正常", } TplTypeText := []string{ "邮件", "信息", "钉钉", "微信", } self.pageSize = limit //查询条件 filters := make([]interface{}, 0) if tplName != "" { filters = append(filters, "tpl_name__icontains", tplName) } result, count := models.NotifyTplGetList(page, self.pageSize, filters...) list := make([]map[string]interface{}, len(result)) for k, v := range result { row := make(map[string]interface{}) row["id"] = v.Id row["type"] = v.Type row["tpl_name"] = v.TplName row["tpl_type"] = v.TplType row["tpl_type_text"] = TplTypeText[v.TplType] row["status"] = v.Status row["status_text"] = StatusText[v.Status] row["create_time"] = beego.Date(time.Unix(v.CreateTime, 0), "Y-m-d H:i:s") row["update_time"] = beego.Date(time.Unix(v.UpdateTime, 0), "Y-m-d H:i:s") list[k] = row } self.ajaxList("成功", MSG_OK, count, list) }