package event_s import ( "git.hilo.cn/hilo-common/domain" "hilo-group/_const/enum/msg_e" "hilo-group/domain/event/group_power_ev" "hilo-group/domain/model/groupPower_m" "hilo-group/domain/model/msg_m" "hilo-group/domain/model/user_m" ) func EventInit() { GroupPowerEvents() } func GroupPowerEvents() { //加入势力 group_power_ev.AddGroupPowerJoinAsync(func(model *domain.Model, e interface{}) error { event, ok := e.(*group_power_ev.GroupPowerJoinEvent) if !ok { model.Log.Errorf("AddGroupPowerJoinAsync event type err") return nil } model.Log.Infof("msg AddGroupPowerJoinAsync UserId:%v, GroupPowerId:%v", event.UserId, event.GroupPowerId) //获取势力主 mgrUserId, err := groupPower_m.GetGroupPowerMgr(model, event.GroupPowerId) if err != nil { return err } mgrUser, err := user_m.GetUser(model, mgrUserId) if err != nil { return err } joinUser, err := user_m.GetUser(model, event.UserId) if err != nil { return err } if err := msg_m.NewUserRecord(model, mgrUser.ID, msg_e.GroupPowerUserJoin, joinUser.Nick, joinUser.ID, "", "", "", "", "").Persistent(); err != nil { model.Log.Errorf("msg AddGroupPowerJoinAsync NewUserRecord err:%v", err) return nil } msg_m.SendEmasMsgAssistant(model, mgrUser.ExternalId, mgrUser.DeviceType) return nil }) //离开势力 group_power_ev.AddGroupPowerLeaveAsync(func(model *domain.Model, e interface{}) error { event, ok := e.(*group_power_ev.GroupPowerLeaveEvent) if !ok { model.Log.Errorf("AddGroupPowerLeaveAsync event type err") return nil } model.Log.Infof("msg AddGroupPowerLeaveAsync UserId:%v, GroupPowerId:%v", event.UserId, event.GroupPowerId) //获取势力主 mgrUserId, err := groupPower_m.GetGroupPowerMgr(model, event.GroupPowerId) if err != nil { return err } mgrUser, err := user_m.GetUser(model, mgrUserId) if err != nil { return err } joinUser, err := user_m.GetUser(model, event.UserId) if err != nil { return err } if err := msg_m.NewUserRecord(model, mgrUser.ID, msg_e.GroupPowerUserLeave, joinUser.Nick, joinUser.ID, "", "", "", "", "").Persistent(); err != nil { model.Log.Errorf("msg AddGroupPowerLeaveAsync NewUserRecord err:%v", err) return nil } msg_m.SendEmasMsgAssistant(model, mgrUser.ExternalId, mgrUser.DeviceType) return nil }) }