瀏覽代碼

Merge branch 'hotfix/upload_tips_1012' into debug

hsun 1 年之前
父節點
當前提交
2ffc2f70d9

+ 5 - 2
controllers/base_common.go

@@ -4,6 +4,7 @@ import (
 	"encoding/json"
 	"eta/eta_api/cache"
 	"eta/eta_api/models"
+	"eta/eta_api/services/alarm_msg"
 	"eta/eta_api/utils"
 	"fmt"
 	"github.com/beego/beego/v2/server/web"
@@ -55,12 +56,14 @@ func (c *BaseCommonController) ServeJSON(encoding ...bool) {
 		hasEncoding = true
 	}
 	if c.Data["json"] == nil {
-		go utils.SendEmail("异常提醒:"+utils.RunMode, "接口:"+"URI:"+c.Ctx.Input.URI()+";无返回值", utils.EmailSendToUsers)
+		//go utils.SendEmail("异常提醒:"+utils.RunMode, "接口:"+"URI:"+c.Ctx.Input.URI()+";无返回值", utils.EmailSendToUsers)
+		go alarm_msg.SendAlarmMsg("接口:URI:"+c.Ctx.Input.URI()+";无返回值", 3)
 		return
 	}
 	baseRes := c.Data["json"].(*models.BaseResponse)
 	if baseRes != nil && !baseRes.Success && baseRes.IsSendEmail {
-		go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "URI:"+c.Ctx.Input.URI()+" ErrMsg:"+baseRes.ErrMsg+";Msg"+baseRes.Msg, utils.EmailSendToUsers)
+		//go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "URI:"+c.Ctx.Input.URI()+" ErrMsg:"+baseRes.ErrMsg+";Msg"+baseRes.Msg, utils.EmailSendToUsers)
+		go alarm_msg.SendAlarmMsg("失败提醒:URI:"+c.Ctx.Input.URI()+" ErrMsg:"+baseRes.ErrMsg+";Msg"+baseRes.Msg, 3)
 	}
 
 	//新增uuid记录

+ 2 - 0
controllers/data_manage/chart_info.go

@@ -2218,6 +2218,8 @@ func (this *ChartInfoController) ChartInfoBase64Upload() {
 	case <-doneChannel:
 		fmt.Println("done")
 	case err := <-errorChannel:
+		br.Msg = "文件上传失败"
+		br.ErrMsg = fmt.Sprintf("execute command failure err: %s", err.Error())
 		fmt.Println("execute command failure err:" + err.Error())
 		return
 	}

+ 2 - 0
controllers/data_manage/future_good/future_good_chart_info.go

@@ -2395,6 +2395,8 @@ func (this *FutureGoodChartInfoController) ChartInfoBase64Upload() {
 	case <-doneChannel:
 		fmt.Println("done")
 	case err := <-errorChannel:
+		br.Msg = "文件上传失败"
+		br.ErrMsg = fmt.Sprintf("execute command failure err: %s", err.Error())
 		fmt.Println("execute command failure err:" + err.Error())
 		return
 	}

+ 93 - 0
models/sandbox/sandbox_classify.go

@@ -0,0 +1,93 @@
+package sandbox
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"time"
+)
+
+type SandboxClassify struct {
+	SandboxClassifyId   int       `orm:"column(sandbox_classify_id);pk"`
+	SandboxClassifyName string    `description:"分类名称"`
+	ParentId          int       `description:"父级id"`
+	HasData           int       `description:"是否含有指标数据"`
+	CreateTime        time.Time `description:"创建时间"`
+	ModifyTime        time.Time `description:"修改时间"`
+	SysUserId         int       `description:"创建人id"`
+	SysUserRealName   string    `description:"创建人姓名"`
+	Level             int       `description:"层级"`
+	Sort              int       `description:"排序字段,越小越靠前,默认值:10"`
+}
+
+func AddSandboxClassify(item *SandboxClassify) (lastId int64, err error) {
+	o := orm.NewOrmUsingDB("data")
+	lastId, err = o.Insert(item)
+	return
+}
+
+// GetSandboxClassifyByParentId
+func GetSandboxClassifyByParentId(parentId int) (items []*SandboxClassifyItems, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := ` SELECT * FROM sandbox_classify WHERE parent_id=? order by sort asc,sandbox_classify_id asc`
+	_, err = o.Raw(sql, parentId).QueryRows(&items)
+	return
+}
+
+// GetSandboxClassifyAll
+func GetSandboxClassifyAll() (items []*SandboxClassifyItems, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := ` SELECT * FROM sandbox_classify WHERE parent_id<>0 order by sort asc,sandbox_classify_id asc`
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}
+
+type SandboxClassifyItems struct {
+	SandboxClassifyId   int       `orm:"column(sandbox_classify_id);pk"`
+	SandboxClassifyName string    `description:"分类名称"`
+	ParentId            int       `description:"父级id"`
+	HasData             int       `description:"是否含有指标数据"`
+	CreateTime          time.Time `description:"创建时间"`
+	ModifyTime          time.Time `description:"修改时间"`
+	SysUserId           int       `description:"创建人id"`
+	SysUserRealName     string    `description:"创建人姓名"`
+	Level               int       `description:"层级"`
+	Sort                int       `description:"排序字段,越小越靠前,默认值:10"`
+	SandboxId           int       `description:"沙盘id"`
+	Children            []*SandboxClassifyItems
+}
+
+type SandboxClassifyListResp struct {
+	AllNodes []*SandboxClassifyItems
+}
+
+type AddSandboxClassifyReq struct {
+	SandboxClassifyName string `description:"分类名称"`
+	ParentId            int    `description:"父级id,第一级传0"`
+	Level               int    `description:"层级,第一级传0,其余传上一级的层级"`
+}
+
+func GetSandboxClassifyCount(sandboxClassifyName string, parentId int) (count int, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := `SELECT COUNT(1) AS count FROM sandbox_classify WHERE parent_id=? AND sandbox_classify_name=? `
+	err = o.Raw(sql, parentId, sandboxClassifyName).QueryRow(&count)
+	return
+}
+
+// GetSandboxClassifyMaxSort 获取沙盘分类下最大的排序数
+func GetSandboxClassifyMaxSort(parentId int) (sort int, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := `SELECT Max(sort) AS sort FROM sandbox_classify WHERE parent_id=? `
+	err = o.Raw(sql, parentId).QueryRow(&sort)
+	return
+}
+
+type EditSandboxClassifyReq struct {
+	SandboxClassifyName string `description:"分类名称"`
+	SandboxClassifyId   int    `description:"分类id"`
+}
+
+func GetSandboxClassifyById(classifyId int) (item *SandboxClassify, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := `SELECT * FROM sandbox_classify WHERE sandbox_classify_id=? `
+	err = o.Raw(sql, classifyId).QueryRow(&item)
+	return
+}

+ 0 - 142
services/meeting_probabilities.go

@@ -1,142 +0,0 @@
-package services
-
-//func MeetingProbabilities() (err error) {
-//	templatePath := "/Users/xiexiaoyuan/1111.xlsx"
-//	f, tmpErr := excelize.OpenFile(templatePath)
-//	if tmpErr != nil {
-//		fmt.Println("打开文件失败,Err:" + tmpErr.Error())
-//		err = tmpErr
-//		return
-//	}
-//	defer func() {
-//		// 关闭工作簿
-//		if err := f.Close(); err != nil {
-//			fmt.Println(err)
-//		}
-//	}()
-//	// 获取工作表中指定单元格的值
-//	cell, err := f.GetCellValue("Sheet1", "B5")
-//	if err != nil {
-//		fmt.Println(err)
-//		return
-//	}
-//	fmt.Println(cell)
-//	// 获取 Sheet1 上所有单元格
-//	rows, err := f.GetRows("Sheet1")
-//	if err != nil {
-//		fmt.Println(err)
-//		return
-//	}
-//	minCowLength := 60
-//	minRowlength := 84
-//	realCowLength := minCowLength
-//	realRowLength := minRowlength
-//	data := make([][]interface{}, 0)
-//	var null []struct{}
-//	cellData := make([]request.ISheetCellData, 0)
-//	var tmpCt request.ISheetDataCt
-//	tmpCt.Fa = "General"
-//	tmpCt.T = "g"
-//
-//	for r, row := range rows {
-//		lenCow := len(row)
-//		var dataRow []interface{}
-//		for c, colCell := range row {
-//			if colCell == "" {
-//				dataRow = append(dataRow, null)
-//			} else {
-//				var tmp request.ISheetData
-//				tmp.M = colCell
-//				tmp.Ct = tmpCt
-//				tmp.V = colCell
-//				dataRow = append(dataRow, tmp)
-//
-//				var tmpS request.ISheetCellData
-//				tmpS.R = r
-//				tmpS.C = c
-//				tmpS.V = tmp
-//				cellData = append(cellData, tmpS)
-//			}
-//			fmt.Print(colCell, "\t")
-//		}
-//		if lenCow < minCowLength {
-//			lastCow := minCowLength - lenCow
-//			for i := 0; i < lastCow; i++ {
-//				dataRow = append(dataRow, null)
-//			}
-//		}
-//		realCowLength = len(dataRow)
-//		data = append(data, dataRow)
-//	}
-//	lenRow := len(rows)
-//	//补充剩余的单元格
-//	if lenRow < minRowlength {
-//		lastRow := minRowlength - lenRow
-//		for i := 0; i < lastRow; i++ {
-//			var dataRow []interface{}
-//			for j := 0; j < minCowLength; j++ {
-//				dataRow = append(dataRow, null)
-//			}
-//			data = append(data, dataRow)
-//		}
-//	}
-//	realRowLength = len(data)
-//	//visibleDataRow
-//	var visibleDataRow []int
-//	tmpVdr := 0
-//	for i := 1; i <= realRowLength; i++ {
-//		tmpVdr = i * 20
-//		visibleDataRow = append(visibleDataRow, tmpVdr)
-//	}
-//	var visibleDataColumn []int
-//	tmpVdr = 0
-//	for i := 1; i <= realCowLength; i++ {
-//		tmpVdr = i * 74
-//		visibleDataColumn = append(visibleDataColumn, tmpVdr)
-//	}
-//	sheet := new(request.ISheet)
-//	sheet.ScrollTop = 0
-//	sheet.ScrollLeft = 0
-//	sheet.Index = "Sheet_pekSifat0Kci_1694244624851"
-//	sheet.Status = 1
-//	sheet.JfGirdSelectSave = []struct{}{}
-//	sheet.LuckySheetSelectSave = []struct{}{}
-//	sheet.Data = data
-//	sheet.Config = make(map[string]struct{}, 0)
-//	sheet.VisibleDataRow = visibleDataRow
-//	sheet.VisibleDataColumn = visibleDataColumn
-//	sheet.ChWidth = 4560
-//	sheet.RhHeight = 1760
-//	sheet.LuckySheetSelectionRange = make([]int, 0)
-//	sheet.ZoomRatio = 1
-//	sheet.CellData = cellData
-//
-//	var content []byte
-//	content, err = json.Marshal(sheet)
-//	if err != nil {
-//		return
-//	}
-//	var req request.AddExcelInfoReq
-//	req.ExcelClassifyId = 19
-//	timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
-//	req.ExcelName = "Meeting" + timestamp
-//	excelInfo := &data_manage.ExcelInfo{
-//		//ExcelInfoId:     0,
-//		ExcelName:       req.ExcelName,
-//		Source:          1,
-//		ExcelType:       req.ExcelType,
-//		UniqueCode:      utils.MD5(utils.EXCEL_DATA_PREFIX + "_" + timestamp),
-//		ExcelClassifyId: req.ExcelClassifyId,
-//		SysUserId:       19,
-//		SysUserRealName: "admin",
-//		Content:         string(content),
-//		ExcelImage:      req.ExcelImage,
-//		Sort:            0,
-//		IsDelete:        0,
-//		ModifyTime:      time.Now(),
-//		CreateTime:      time.Now(),
-//	}
-//
-//	err = data_manage.AddExcelInfo(excelInfo)
-//	return
-//}

+ 23 - 1
services/ppt.go

@@ -143,7 +143,29 @@ func pptContent2Html(content string, isEnglish bool) (htm string, err error) {
 	pageLen := len(contents)
 	htmlContent := ``
 	// iframe图表/表格域名
-	chartRoot := utils.PublicChartHost
+
+	// 获取基础配置, 若未配置则直接返回
+
+	// 获取配置好的短信模版
+	smsCond := ` AND conf_key = ? `
+	smsPars := make([]interface{}, 0)
+	smsPars = append(smsPars, "ChartViewUrl")
+	conf := new(models.BusinessConf)
+	conf, e := conf.GetItemByCondition(smsCond, smsPars)
+	if e != nil {
+		if e.Error() == utils.ErrNoRow() {
+			err = fmt.Errorf("请先配置公共图库的地址")
+			return
+		}
+		err = fmt.Errorf("获取聚合短信配置信息失败, Err: %s", e.Error())
+		return
+	}
+	if conf.ConfVal == "" {
+		err = fmt.Errorf("请先配置公共图库的地址")
+		return
+	}
+
+	chartRoot := conf.ConfVal
 	if pageLen > 0 {
 		htmlPrefix := `<p style="text-align: left; margin-top: 10px; font-size: 16px;">`
 		htmlSuffix := `</p>`