package test import ( "app.yhyue.com/moapp/jybase/common" "app.yhyue.com/moapp/jybase/mongodb" "testing" ) func Test_Award(t *testing.T) { Mgo := &mongodb.MongodbSim{ MongodbAddr: "192.168.3.206:27080", Size: 5, DbName: "qfw", UserName: "", Password: "", ReplSet: "", } Mgo.InitPool() query := map[string]interface{}{} query["i_shareCount"] = map[string]interface{}{ "$gt": 0, "$lte": 4, } auser, _ := Mgo.Find("user", query, "", `{"_id":1}`, false, -1, -1) var users []string for _, v := range *auser { users = append(users, common.InterfaceToStr(v["_id"])) } q := map[string]interface{}{} ndatas := []map[string]interface{}{} for _, u := range users { q["$or"] = []map[string]interface{}{ {"share_uid": u}, {"shared_uid": u}, } data, _ := Mgo.Find("user_share", q, `{"createtime":1}`, `{"_id":1,"createtime":1,"shared_uid":1}`, false, 0, 4) if len(*data) > 0 { for _, vv := range *data { ndata := map[string]interface{}{} if common.InterfaceToStr(vv["shared_uid"]) == u { ndata["getway"] = "被邀请注册成功" } else { ndata["getway"] = "邀请好友成功" } ndata["userid"] = u ndata["award"] = "subvip" ndata["num"] = 7 ndata["date"] = vv["createtime"] ndata["activity_code"] = "inviteRegister" ndata["detail"] = "" ndatas = append(ndatas, ndata) } } } Mgo.SaveBulk("activity_award", ndatas...) }