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
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 |
|
}
|
|
|