Pārlūkot izejas kodu

涌益分类更新

xyxie 1 gadu atpakaļ
vecāks
revīzija
81686f87ca
2 mainītis faili ar 32 papildinājumiem un 3 dzēšanām
  1. 7 0
      models/base_from_yongyi.go
  2. 25 3
      services/base_from_yongyi.go

+ 7 - 0
models/base_from_yongyi.go

@@ -330,3 +330,10 @@ func (y *BaseFromYongyiClassify) GetByClassifyName(classifyName string) (item *B
 	err = o.Raw(sql, classifyName).QueryRow(&item)
 	return
 }
+
+func (y *BaseFromYongyiClassify) GetParentClassify() (items []*BaseFromYongyiClassify, err error) {
+	o := orm.NewOrm()
+	sql := ` SELECT * FROM base_from_yongyi_classify WHERE classify_name in ("日度", "月度", "周度", "年度", "旬度") and parent_id=0 `
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}

+ 25 - 3
services/base_from_yongyi.go

@@ -20,12 +20,24 @@ func HandleYongyiIndex(req *models.HandleYongyiExcelDataReq) (err error) {
 			go alarm_msg.SendAlarmMsg(msg, 3)
 		}
 	}()
+	// 查询所有的一级分类
+	classifyObj := new(models.BaseFromYongyiClassify)
+	classifyList, err := classifyObj.GetParentClassify()
+	if err != nil {
+		err = fmt.Errorf("查询一级目录信息失败 Err:%s", err)
+		return
+	}
+	classifyMap := make(map[string]int, 0)
+	for _, v := range classifyList {
+		classifyMap[v.ClassifyName] = int(v.ClassifyId)
+	}
+
 	for _, v := range req.List {
 		if v.IndexName == "" || v.IndexCode == "" {
 			errMsgList = append(errMsgList, fmt.Sprintf("新增指标异常,指标编码%s或者指标ID%s为空:", v.IndexCode, v.IndexName))
 			continue
 		}
-		err = handleYongyiIndex(v, req.TerminalCode)
+		err = handleYongyiIndex(v, req.TerminalCode, classifyMap)
 		if err != nil {
 			errMsgList = append(errMsgList, fmt.Sprintf("新增指标异常,指标编码:%s, Err: %s", v.IndexCode, err))
 			return
@@ -34,7 +46,7 @@ func HandleYongyiIndex(req *models.HandleYongyiExcelDataReq) (err error) {
 	return
 }
 
-func handleYongyiIndex(req *models.HandleYongyiExcelData, terminalCode string) (err error) {
+func handleYongyiIndex(req *models.HandleYongyiExcelData, terminalCode string, classifyMap map[string]int) (err error) {
 	indexName := req.IndexName
 	indexCode := req.IndexCode
 	excelDataMap := req.ExcelDataMap
@@ -65,13 +77,15 @@ func handleYongyiIndex(req *models.HandleYongyiExcelData, terminalCode string) (
 	var classifyId int64
 	now := time.Now()
 	if req.ClassifyName != "" {
+		classifyParentId := 0
+		classifyParentId, _ = classifyMap[req.Frequency]
 		classifyObj, err = classifyObj.GetByClassifyName(req.ClassifyName)
 		if err != nil {
 			if err.Error() == utils.ErrNoRow() {
 				//新增分类
 				classifyObj = &models.BaseFromYongyiClassify{
 					ClassifyName:    req.ClassifyName,
-					ParentId:        0,
+					ParentId:        classifyParentId,
 					SysUserId:       0,
 					SysUserRealName: "",
 					Level:           1,
@@ -91,6 +105,14 @@ func handleYongyiIndex(req *models.HandleYongyiExcelData, terminalCode string) (
 			}
 		} else {
 			classifyId = classifyObj.ClassifyId
+			classifyObj.ModifyTime = now
+			classifyObj.Sort = req.ClassifySort
+			classifyObj.ParentId = classifyParentId
+			e := classifyObj.Update([]string{"ParentId", "Sort", "ModifyTime"})
+			if e != nil {
+				fmt.Println("classifyObj Update Err:" + e.Error())
+				return
+			}
 		}
 	}