You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
1.9 KiB

package internal
import (
"context"
"fmt"
"github.com/gogf/gf/v2/os/gtime"
"go.mongodb.org/mongo-driver/bson"
"log"
)
func GetBazaar(ctx context.Context, year int32, date int32) (all []map[string]interface{}, err error) {
filter := bson.M{"_t": "BazaarActivity"}
if year != 0 {
filter["Year"] = year
}
if date != 0 {
filter["Date"] = date
}
err = MongoDatabaseList["0"].Collection("BazaarActivity").Find(ctx, filter).All(&all)
for _, v := range all {
v["StringId"] = fmt.Sprint(v["_id"])
}
if err != nil {
return
}
return all, err
}
func UpdateBazaar(ctx context.Context, data map[string]interface{}) (err error) {
filter := bson.M{"_t": "BazaarActivity"}
filter["Year"] = data["Year"]
filter["Date"] = data["Date"]
//log.Print("res.Bazaar", filter, data)
err = MongoDatabaseList["0"].Collection("BazaarActivity").UpdateOne(ctx, filter, bson.M{"$set": data})
log.Print("res.Bazaar", filter, data, err)
return
}
func InsertBazaar(ctx context.Context, data map[string]interface{}) (err error) {
filter := bson.M{"_t": "BazaarActivity"}
filter["Year"] = data["Year"]
filter["Date"] = data["Date"]
a, err := MongoDatabaseList["0"].Collection("BazaarActivity").Find(ctx, filter).Count()
if a > 0 {
delete(data, "_id")
delete(data, "_t")
err = MongoDatabaseList["0"].Collection("BazaarActivity").UpdateOne(ctx, filter, bson.M{"$set": data})
return
}
data["_id"] = gtime.TimestampNano()
data["_t"] = "BazaarActivity"
//log.Print("res.Bazaar", data)
ss, err := MongoDatabaseList["0"].Collection("BazaarActivity").InsertOne(ctx, data)
log.Print("InsertBazaar %v", ss)
return
}
func InsertBatchBazaar(ctx context.Context, datas []map[string]interface{}) (err error) {
time := gtime.TimestampNano()
for k, v := range datas {
v["_id"] = time + int64(k)
v["_t"] = "BazaarActivity"
}
ss, err := MongoDatabaseList["0"].Collection("BazaarActivity").InsertMany(ctx, datas)
log.Print("InsertBatchBazaar %v", ss)
return
}