package handler import ( "context" "dashoo.cn/common_definition/comm_def" "dashoo.cn/micro_libary/micro_srv" "dashoo.cn/micro_libary/myerrors" "errors" "github.com/gogf/gf/frame/g" system2 "lims_adapter/model/system" "lims_adapter/model/user" "lims_adapter/service/system" ) type System struct{} // DictInfo 获取字典数据 func (s *System) DictInfo(ctx context.Context, req *system2.DictReq, rsp *comm_def.CommonMsg) error { tenant, err := micro_srv.GetTenant(ctx) if err != nil { return err } g.Log().Info("Received user.DictInfo request @ " + tenant) if req.DictCode == "" { return errors.New("字典类型不能为空") } dictInfo, err := system.NewSrv(tenant).DictInfo(req) _, err, code, _ := myerrors.CheckError(err) if err != nil { return err } rsp.Code = code rsp.Data = dictInfo return nil } // UserList 设备预约权管理:获取用户信息 func (s *System) UserList(ctx context.Context, req *user.UserInfoReq, rsp *comm_def.CommonMsg) error { tenant, err := micro_srv.GetTenant(ctx) if err != nil { return err } g.Log().Info("Received user.UserList request @ " + tenant) userList, err := system.NewSrv(tenant).UserList(req) _, err, code, _ := myerrors.CheckError(err) if err != nil { return err } rsp.Code = code rsp.Msg = "" rsp.Data = userList return nil } // GetProgramGroup 获取课题组信息 func (s *System) GetProgramGroup(ctx context.Context, req *user.UserQualification, rsp *comm_def.CommonMsg) error { tenant, err := micro_srv.GetTenant(ctx) if err != nil { return err } g.Log().Info("Received user.GetProgramGroup request @ " + tenant) programGroup, err := system.NewSrv(tenant).GetProgramGroup(req.Id) _, err, _, _ = myerrors.CheckError(err) if err != nil { return err } rsp.Data = programGroup return nil } // GetUserList 主从用户管理:获取用户信息 // 请求类型参数 req.ReqType 1 查询主用户 2 查询相关从用户 3 查询可添加为从主用户 func (s *System) GetUserList(ctx context.Context, req *user.UserInfoReq, rsp *comm_def.CommonMsg) error { tenant, err := micro_srv.GetTenant(ctx) if err != nil { return err } userInfo, err := micro_srv.GetUserInfo(ctx) if err != nil { return err } g.Log().Info("Received user.GetUserList request @ " + tenant) userList, err := system.NewSrv(tenant).GetUserList(req, userInfo.Id) _, err, code, _ := myerrors.CheckError(err) if err != nil { return err } rsp.Code = code rsp.Msg = "" rsp.Data = userList return nil } // AddMainUserOrSubUser 添加主从用户 // 请求类型参数 req.ReqType 1 添加主用户(只需修改base_user的IsMain字段) func (s *System) AddMainUserOrSubUser(ctx context.Context, req *user.AddMainOrSubReq, rsp *comm_def.CommonMsg) error { tenant, err := micro_srv.GetTenant(ctx) if err != nil { return err } userInfo, err := micro_srv.GetUserInfo(ctx) if err != nil { return err } g.Log().Info("Received user.AddMainUserOrSubUser request @ " + tenant) err = system.NewSrv(tenant).AddMainUserOrUser(req, userInfo) _, err, code, _ := myerrors.CheckError(err) if err != nil { return err } rsp.Code = code rsp.Msg = "添加用户成功!" return nil } // DeleteMainUserOrSubUser 删除主从用户 func (s *System) DeleteMainUserOrSubUser(ctx context.Context, req *user.AddMainOrSubReq, rsp *comm_def.CommonMsg) error { tenant, err := micro_srv.GetTenant(ctx) if err != nil { return err } userInfo, err := micro_srv.GetUserInfo(ctx) if err != nil { return err } g.Log().Info("Received user.DeleteMainUserOrSubUser request @ " + tenant) err = system.NewSrv(tenant).DeleteMainUserOrSubUser(req, userInfo) _, err, code, msg := myerrors.CheckError(err) if err != nil { return err } rsp.Msg = msg rsp.Code = code return nil } // UserBindAccount 用户绑定 func (s *System) UserBindAccount(ctx context.Context, req *user.UserBindAccountReq, rsp *comm_def.CommonMsg) error { tenant, err := micro_srv.GetTenant(ctx) if err != nil { return err } g.Log().Info("Received user.UserBindAccount request @ " + tenant) err = system.NewSrv(tenant).UserBindAccount(req) _, err, code, msg := myerrors.CheckError(err) if err != nil { return err } rsp.Msg = msg rsp.Code = code return nil } // 获取登录人信息 func (s *System) GetLoginUser(ctx context.Context, _, rsp *comm_def.CommonMsg) error { userInfo, err := micro_srv.GetUserInfo(ctx) if err != nil { return err } rsp.Msg = "登录成功" rsp.Code = 200 rsp.Data = userInfo return nil }