浏览代码

fix:引入mongodb

Roc 11 月之前
父节点
当前提交
6e9443f4f9
共有 2 个文件被更改,包括 58 次插入5 次删除
  1. 30 0
      models/mgo/base_from_business_data.go
  2. 28 5
      services/base_from_business.go

+ 30 - 0
models/mgo/base_from_business_data.go

@@ -5,6 +5,7 @@ import (
 	"errors"
 	"eta/eta_index_lib/utils"
 	"fmt"
+	"github.com/qiniu/qmgo"
 	"go.mongodb.org/mongo-driver/bson"
 	"time"
 )
@@ -56,6 +57,17 @@ func (m *BaseFromBusinessData) DataBaseName() string {
 	return "hz_data"
 }
 
+// GetCollection
+// @Description: 获取mongodb集合的句柄
+// @author: Roc
+// @receiver m
+// @datetime 2024-04-26 13:41:33
+// @return string
+func (m *BaseFromBusinessData) GetCollection() *qmgo.Collection {
+	db := utils.MgoDataCli.Database(m.DataBaseName())
+	return db.Collection(m.CollectionName())
+}
+
 // GetAllDataList
 // @Description: 根据条件获取所有数据
 // @author: Roc
@@ -100,6 +112,24 @@ func (m *BaseFromBusinessData) BatchInsertData(dataList interface{}) (err error)
 	return
 }
 
+// UpdateDataByColl
+// @Description: 单条数据修改
+// @author: Roc
+// @receiver m
+// @datetime 2024-04-26 15:01:51
+// @param params interface{}
+// @param whereParams interface{}
+// @return err error
+func (m *BaseFromBusinessData) UpdateDataByColl(coll *qmgo.Collection, params, whereParams interface{}) (err error) {
+	ctx := context.TODO()
+	err = coll.UpdateOne(ctx, whereParams, params)
+	if err != nil {
+		fmt.Println("BatchInsertData:Err:" + err.Error())
+		return
+	}
+	return
+}
+
 // UpdateData
 // @Description: 单条数据修改
 // @author: Roc

+ 28 - 5
services/base_from_business.go

@@ -171,12 +171,35 @@ func HandleBusinessIndex(indexItem *models.AddBusinessIndexReq) (err error) {
 		}
 	}
 
-	result, err := mogDataObj.HandleData(addDataList, updateDataList)
-	if err != nil {
-		fmt.Println("mogDataObj.HandleData() Err:" + err.Error())
-		return
+	// 入库
+	{
+		if len(addDataList) > 0 {
+			err = mogDataObj.BatchInsertData(addDataList)
+			if err != nil {
+				fmt.Println("mogDataObj.HandleData() Err:" + err.Error())
+				return
+			}
+		}
+
+		if len(updateDataList) > 0 {
+			coll := mogDataObj.GetCollection()
+			for _, v := range updateDataList {
+				err = mogDataObj.UpdateDataByColl(coll, bson.M{"_id": v.ID}, bson.M{"$set": bson.M{"value": v.Value, "modify_time": v.ModifyTime}})
+				if err != nil {
+					fmt.Println("UpdateDataByColl:Err:" + err.Error())
+					return
+				}
+			}
+		}
 	}
-	fmt.Println("result", result)
+
+	// 支持事务的话,下面操作
+	//result, err := mogDataObj.HandleData(addDataList, updateDataList)
+	//if err != nil {
+	//	fmt.Println("mogDataObj.HandleData() Err:" + err.Error())
+	//	return
+	//}
+	//fmt.Println("result", result)
 
 	////修改最大最小日期
 	//mysteelIndexMaxItem, err := dataObj.GetMysteelIndexInfoMaxAndMinInfo(indexItem.IndexCode)