|
@@ -0,0 +1,102 @@
|
|
|
+package mgodb
|
|
|
+
|
|
|
+import (
|
|
|
+ "context"
|
|
|
+ "eta/eta_forum_hub/utils"
|
|
|
+ "go.mongodb.org/mongo-driver/bson"
|
|
|
+ "go.mongodb.org/mongo-driver/mongo/options"
|
|
|
+ "time"
|
|
|
+)
|
|
|
+
|
|
|
+func GetEdbDataCalculateByEdbInfoId(edbInfoId int) (items []*EdbDataBase, err error) {
|
|
|
+ findOptions := options.Find()
|
|
|
+ db := NewMgo(utils.MONGODB_COMMUNITY, "edb_data_calculate", MgoClient)
|
|
|
+ filter := bson.D{{"edb_info_id", edbInfoId}}
|
|
|
+ ctx := context.TODO()
|
|
|
+ cur, err := db.Find(filter, findOptions)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // Close the cursor once finished
|
|
|
+ defer cur.Close(ctx)
|
|
|
+ for cur.Next(ctx) {
|
|
|
+ // create a value into which the single document can be decoded
|
|
|
+ var elem EdbDataBase
|
|
|
+ err = cur.Decode(&elem)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ items = append(items, &elem)
|
|
|
+ }
|
|
|
+
|
|
|
+ if err = cur.Err(); err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+func GetEdbDataCalculateByEdbCode(edbCode string) (items []*EdbDataBase, err error) {
|
|
|
+ findOptions := options.Find()
|
|
|
+ db := NewMgo(utils.MONGODB_COMMUNITY, "edb_data_calculate", MgoClient)
|
|
|
+ filter := bson.D{{"edb_code", edbCode}}
|
|
|
+ ctx := context.TODO()
|
|
|
+ cur, err := db.Find(filter, findOptions)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // Close the cursor once finished
|
|
|
+ defer cur.Close(ctx)
|
|
|
+ for cur.Next(ctx) {
|
|
|
+ // create a value into which the single document can be decoded
|
|
|
+ var elem EdbDataBase
|
|
|
+ err = cur.Decode(&elem)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ items = append(items, &elem)
|
|
|
+ }
|
|
|
+
|
|
|
+ if err = cur.Err(); err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+func InsertEdbCalculateDataBatch(items []interface{}) (err error) {
|
|
|
+ db := NewMgo(utils.MONGODB_COMMUNITY, "edb_data_calculate", MgoClient)
|
|
|
+ _, err = db.InsertMany(items)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+func ModifyEdbCalculateDataEdbInfoId(edbInfoId int64, edbCode string) (err error) {
|
|
|
+ filter := bson.D{{"edb_code", edbCode}}
|
|
|
+ update := bson.D{{"$set", bson.D{{"edb_info_id", edbInfoId}, {"modify_time", time.Now().Format("2006-01-02 15:04:05")}}}}
|
|
|
+ db := NewMgo(utils.MONGODB_COMMUNITY, "edb_data_calculate", MgoClient)
|
|
|
+ _, err = db.UpdateMany(filter, update)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// 删除
|
|
|
+func DeleteEdbInfoCalculateDataByEdbInfoId(edbInfoId int) (err error) {
|
|
|
+ filter := bson.D{{"edb_info_id", edbInfoId}}
|
|
|
+ db := NewMgo(utils.MONGODB_COMMUNITY, "edb_data_calculate", MgoClient)
|
|
|
+ _, err = db.DeleteMany(filter)
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// 更新指标的值
|
|
|
+func ModifyValueEdbCalculateDataValue(edbCode string, dataTime string, value string) (err error) {
|
|
|
+ filter := bson.D{{"edb_code", edbCode}, {"data_time", dataTime}}
|
|
|
+ update := bson.D{{"$set", bson.D{{"value", value}, {"modify_time", time.Now().Format("2006-01-02 15:04:05")}}}}
|
|
|
+ db := NewMgo(utils.MONGODB_COMMUNITY, "edb_data_calculate", MgoClient)
|
|
|
+ _, err = db.UpdateOne(filter, update)
|
|
|
+ return
|
|
|
+}
|