package main import ( "context" "flag" "fmt" "log" . "app.yhyue.com/moapp/jybase/common" "app.yhyue.com/moapp/jybase/mongodb" ml "app.yhyue.com/moapp/jybase/mysql" "bp.jydev.jianyu360.cn/BaseService/resourceCenter/rpc/pb" "bp.jydev.jianyu360.cn/BaseService/resourceCenter/rpc/resource" upb "bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/pb" "bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/usercenter" "github.com/zeromicro/go-zero/core/discov" "github.com/zeromicro/go-zero/zrpc" ) var etcdAddress string = "192.168.3.206:2379" func main() { phone := flag.String("p", "", "手机号") m := flag.Int("m", 0, "1:查询权益 2:开通权益 3:取消权益") flag.Parse() if *phone == "" { log.Fatalln("-p 参数无效") } BaseService := &ml.Mysql{ Address: "192.168.3.217:4000", UserName: "root", PassWord: "=PDT49#80Z!RVv52_z", DBName: "base_service", MaxOpenConns: 2, MaxIdleConns: 2, } BaseService.Init() ur := BaseService.SelectBySql(`select id from base_user where phone=?`, *phone) if ur == nil || len(*ur) <= 0 { log.Fatalln("没有找到该用户!") } id := Int64All((*ur)[0]["id"]) msg := "用户:" + fmt.Sprint(id) + " 手机号:" + *phone var c = resource.NewResource(zrpc.MustNewClient(zrpc.RpcClientConf{ Etcd: discov.EtcdConf{ Hosts: []string{etcdAddress}, Key: "resource.rpc", }, })) if *m == 1 { r, err := c.Haspowers(context.Background(), &pb.HaspowersReq{ Appid: "10000", EntId: 0, EntUserId: 0, UserId: id, }) if err != nil { log.Println(msg, "查询医械云权益失败!", err) } else { mp := map[string]bool{} for _, v := range r.Powers { mp[v] = true } all := map[string]string{ "医疗标讯搜索": "lyh_yl_ylbxss", "医疗机构搜索": "lyh_yl_yljgss", "经销商搜索": "lyh_yl_jxsss", "医疗机构画像": "lyh_yl_yljghx", "医疗机构认领": "lyh_yl_yljgrl", "经销商认领": "lyh_yl_jxsrl", "医疗订阅": "lyh_yl_yldy", } for k, v := range all { if !mp[v] { log.Fatalln(msg, "医械云权益权益异常,缺少权益:", k) } } for k, _ := range all { log.Println(msg, "拥有医械云权益:", k) } } } else if *m == 2 { r, err := c.PowerHandle(context.Background(), &pb.PowerReq{ Appid: "10000", GoodsCode: "lyh", GoodsSpecId: 13, EntId: 0, UserId: id, BuyNum: 1, Type: 1, }) if err != nil { log.Println(msg, "医械云权益开通失败!", err) } else if r.Status == 1 { log.Println(msg, "医械云权益已开通!") } else { log.Println(msg, "医械云权益开通失败!") } } else if *m == 3 { r, err := c.PowerHandle(context.Background(), &pb.PowerReq{ Appid: "10000", GoodsCode: "lyh", GoodsSpecId: 13, EntId: 0, UserId: id, BuyNum: 1, Type: -1, }) if err != nil { log.Println(msg, "医械云权益取消失败!", err) } else if r.Status == 1 { log.Println(msg, "医械云权益已取消!") } else { log.Println(msg, "医械云权益取消失败!") } } else { log.Fatalln("-m 参数无效") } if *m == 2 || *m == 3 { var cc = usercenter.NewUserCenter(zrpc.MustNewClient(zrpc.RpcClientConf{ Etcd: discov.EtcdConf{ Hosts: []string{etcdAddress}, Key: "usercenter.rpc", }, })) Mgo := &mongodb.MongodbSim{ MongodbAddr: "192.168.3.206:27080", Size: 1, DbName: "qfw", ReplSet: "", UserName: "", Password: "", } Mgo.InitPool() u, _ := Mgo.FindOneByField("user", map[string]interface{}{"base_user_id": id}, `{"_id":1}`) userId := mongodb.BsonIdToSId((*u)["_id"]) resp, err := cc.WorkDesktopClearUserInfo(context.Background(), &upb.WorkDesktopClearUserInfoReq{ UserId: userId, AppId: "10000", Platform: "PC", UserIds: userId, NewUserId: fmt.Sprint(id), }) if err != nil { log.Fatalln("清除用户工作桌面缓存失败", err) } else if resp.ErrorCode != 0 { log.Fatalln("清除用户工作桌面缓存失败", resp.ErrorMsg) } } }