package comm import ( "go_dreamfactory/pb" ) /* 业务模块 对外接口定义处 */ type ( ISys interface { IsAccess(funcName string, userLv int32) bool } //邮件业务模块对外接口定义 提供给其他模块使用的 Imail interface { CreateNewMail(session IUserSession, mail *pb.DBMailData) bool SendNewMail(mail *pb.DBMailData, uid ...string) bool // 批量发送邮件 支持跨服 } //道具背包接口 IItems interface { //查询用户背包物品数量 QueryItemAmount(uId string, itemid string) (amount uint32) //查询用户背包多个物品数量 QueryItemsAmount(uId string, itemid ...string) (result map[string]uint32) ///添加单个物品到背包 (可以加物品和减物品) AddItem(session IUserSession, itemid string, addnum int32, bPush bool) (code pb.ErrorCode) ///添加多个物品到背包 (可以加物品和减物品) AddItems(session IUserSession, items map[string]int32, bPush bool) (code pb.ErrorCode) } //英雄 IHero interface { //查询用户卡片数量 QueryHeroAmount(uId string, heroCfgId string) (amount uint32) //创建指定数量 CreateRepeatHero(session IUserSession, heroCfgId string, num int32, bPush bool) (code pb.ErrorCode) // 批量创建英雄 CreateRepeatHeros(session IUserSession, heros map[string]int32, bPush bool) (code pb.ErrorCode) // 获取英雄 // heroId 英雄ID GetHeroByObjID(uid, heroId string) (*pb.DBHero, pb.ErrorCode) // 佩戴装备 UpdateEquipment(session IUserSession, hero *pb.DBHero, equip []*pb.DB_Equipment) (code pb.ErrorCode) //获取玩家英雄列表 GetHeroList(uid string) []*pb.DBHero //清理玩家英雄数据 CleanData(uid string) // 获取指定星级等级的英雄 GetSpecifiedHero(session IUserSession, heroConfId string, star, lv, amount int32) (code pb.ErrorCode) // 英雄加经验 AddHeroExp(session IUserSession, heroObjID string, exp int32) (code pb.ErrorCode) // 英雄练功 KungFuHero(session IUserSession, heroObjID string, bKongfu bool) (code pb.ErrorCode) //Create Monster CreateMonster(heroCid string, star, lv int32) (hero *pb.DBHero) // 跨服查询英雄详细信息 QueryCrossHeroinfo(oid string) (hero *pb.DBHero, err error) GetHeroListByUse(uid string) []*pb.DBHero // 非初始状态的英雄列表 } //玩家 IUser interface { //获取本服用户数据 GetUser(uid string) *pb.DBUser // 获取跨服用户数据 GetCrossUser(uid string) (*pb.DBUser, error) //获取用户回话 GetUserSession(uid string) *pb.CacheUser //查询用户属性值 例如 金币 经验 QueryAttributeValue(uid string, attr string) (value int64) //添加/减少属性值 第四个参数控制是否推送给前端 AddAttributeValue(session IUserSession, attr string, add int32, bPush bool) (code pb.ErrorCode) // 批量处理 AddAttributeValues(session IUserSession, attrs map[string]int32, bPush bool) (code pb.ErrorCode) //用户改变事件 EventUserChanged(session IUserSession) //获取用户expand GetUserExpand(uid string) (result *pb.DBUserExpand, err error) //更新用户expand ChangeUserExpand(uid string, value map[string]interface{}) error // 本服在线玩家列表 UserOnlineList() ([]*pb.CacheUser, error) // 跨服在线玩家列表 CrossUserOnlineList() ([]*pb.CacheUser, error) // 跨服用户会话 CrossUserSession(uid string) *pb.CacheUser // 跨服搜索玩家 CrossSearchUser(nickname string) ([]*pb.DBUser, error) // 获取远程用户 GetRemoteUser(uid string) (*pb.DBUser, error) // 搜索远程用户 SearchRmoteUser(nickname string) ([]*pb.DBUser, error) // 获取远程用户expand GetRemoteUserExpand(uid string) (result *pb.DBUserExpand, err error) // 更新远程用户expand ChangeRemoteUserExpand(uid string, value map[string]interface{}) error } //武器模块 IEquipment interface { //查询服务资源数量 db id QueryEquipment(uid string, Id string) (equipment *pb.DB_Equipment, code pb.ErrorCode) //查询服务资源数量 参数武器配置id QueryEquipmentAmount(uid string, equipmentId string) (amount uint32) //添加新武器 AddNewEquipments(session IUserSession, cIds map[string]uint32, bPush bool) (code pb.ErrorCode) } IMainline interface { // 修改章节信息 ModifyMainlineData(uid string, id int32) (code pb.ErrorCode) /// 查询章节ID GetUsermainLineData(uid string) (mainlineId int32) } //任务 ITask interface { //初始化 日常/周常/成就 InitTaskAll(uid string) // 初始化指定的任务 InitTaskByTag(uid string, taskTag TaskTag) //清空任务 ResetTask(uid string, taskTag TaskTag) // 清理玩家任务数据 CleanData(uid string) // 获取当前任务 GetTaskById(uid string, taskId int32) *pb.DBTask // 获取已完成的任务列表 GetTaskFinished(uid string, taskType TaskTag) []*pb.DBTask } // 随机任务 IRtask interface { // 条件校验 CheckCondi(uid string, condiId int32) (code pb.ErrorCode) // 远程条件校验 RemoteCheckCondi(uid string, condiId int32, rsp *pb.DBRtaskRecord) error //任务触发 SendToRtask(session IUserSession, rtaskType TaskType, params ...int32) (code pb.ErrorCode) // 初始化条件数据 InitCondiData(uid string) error // 获取任务条件记录 GetCondiData(uid string) *pb.DBRtaskRecord // bingo任务 BingoRtask(session IUserSession, groupId, rtaskId int32) error } //好友 IFriend interface { // 重置点赞列表和每日友情点 ResetFriend(uid string) // 获取好友数量 GetFriendCount(uid string) int32 // 获取好友列表 GetFriendList(uid string) []string // 使用好友助战英雄 好友ID:friendId UseAssistHero(uid, friendId string) (*pb.DBHero, error) } //聊天系统 IChat interface { //推送消息到世界频道 SendWorldChat(msg *pb.DBChat) (code pb.ErrorCode) //推送聊天消息到工会 SendUnionChat(msg *pb.DBChat) (code pb.ErrorCode) //推送消息到用户 SendUserChat(msg *pb.DBChat) (code pb.ErrorCode) //广播系统消息 SendSysChatToWorld(ctype ChatSystemType, appenddata interface{}, value int32, agrs ...interface{}) (code pb.ErrorCode) //广播系统消息 SendSysChatToUser(session IUserSession, ctype ChatSystemType, value int32, agrs ...interface{}) (code pb.ErrorCode) } //战斗系统 IBattle interface { ///创建pve战斗 CreatePveBattle(session IUserSession, req *pb.BattlePVEReq) (code pb.ErrorCode, record *pb.DBBattleRecord) ///创建pvb战斗 CreatePvbBattle(session IUserSession, req *pb.BattlePVEReq) (code pb.ErrorCode, record *pb.DBBattleRecord) ///创建pvp战斗 CreatePvpBattle(session IUserSession, req *pb.BattlePVPReq) (code pb.ErrorCode, record *pb.DBBattleRecord) //校验战报 CheckBattleReport(session IUserSession, report *pb.BattleReport) (code pb.ErrorCode, iswin bool) } IGm interface { CreateCmd(session IUserSession, cmd string) (code pb.ErrorCode) } // 修改爬塔 IPagoda interface { ModifyPagodaFloor(session IUserSession, level int32) (code pb.ErrorCode) CheckUserBasePagodaInfo(uid string) (data *pb.DBPagodaRecord) // 查询玩家最佳通关记录 } IHeroFetter interface { ModifyHeroFetterData(uid string, obj string, data map[string]interface{}) (code pb.ErrorCode) // 修改羁绊信息 QueryHeroFetter(uid string) (data []*pb.DBHeroFetter) // 查询所有的羁绊信息 //QueryOneHeroFetter(uid string, cid string) *pb.DBHeroFetter // 通过英雄配置id 查询羁绊信息 AddHeroFetterData(uid string, heroConfId string) (code pb.ErrorCode) // 创建一条羁绊信息 } //月子秘境 IMoonFantasy interface { //触发月之秘境 Trigger(session IUserSession, source *pb.BattleReport) } IViking interface { CheckUserBaseVikingInfo(uid string) (data []*pb.DBVikingRank) // 查询玩家最佳通关记录 } IHunting interface { CheckUserBaseHuntingInfo(uid string) (data []*pb.DBHuntingRank) // 查询玩家最佳通关记录 } // 公会 ISociaty interface { //会长弹劾处理 ProcessAccuse(uid, sociatyId string) // 公会成员 Members(uid string) (list []*pb.SociatyMemberInfo) } //星座图 IHoroscope interface { //计算新作图属性 ComputeHeroNumeric(uid string, hero ...*pb.DBHero) } )