public (string receivers, string msg) ParseHookMsg(WekanHookMsg hookMsg) { //logger.LogInformation($"新成员加入,cardid:{hookMsg.cardId}"); var card = repository.GetCardinfo(hookMsg.cardId); return(ParseReceivers(card), ParseMsgText(card, hookMsg)); }
protected override void DoMore(Boardinfo board, WekanHookMsg hookMsg) { if (board.Members.Any(c => c.IsActive == false)) { repository.RefreshBoardMember(hookMsg.boardId); } }
public IActionResult Ding([FromBody] WekanHookMsg obj) { //logger.LogInformation(obj.GetActioUrl()); Task.Factory.StartNew(async(state) => { await dingNotify.Notify((WekanHookMsg)state); }, obj); return(new ContentResult() { Content = "回调了" }); }
public async Task Notify(WekanHookMsg msg) { IHookAction hookMsgWapper = hookActionFactory.GetHookAction(msg.description); if (hookMsgWapper?.NeedNotify == true) { await Task.Delay(1000); var dingmsg = hookMsgWapper.ParseHookMsg(msg); dingWapper.SendDingMsg(dingmsg.receivers, dingmsg.msg); } await Task.CompletedTask; }
public (string receivers, string msg) ParseHookMsg(WekanHookMsg hookMsg) { if (string.IsNullOrEmpty(hookMsg.boardId)) { return(null, null); } var board = repository.GetBoardinfo(hookMsg.boardId); if (board == null) { return(null, null); } DoMore(board, hookMsg); return( board.Members.Select(c => c.Username).ToArray().JoinToString(), hookMsg.text ); }
protected override string ParseMsgText(Cardinfo card, WekanHookMsg hookMsg) { return(hookMsg.text.Replace("act-joinAssignee", $"被指派到任务[{hookMsg.card}]中")); }
protected override string ParseMsgText(Cardinfo card, WekanHookMsg hookMsg) { return(hookMsg.text); }
protected abstract string ParseMsgText(Cardinfo card, WekanHookMsg hookMsg);
protected virtual void DoMore(Boardinfo board, WekanHookMsg hookMsg) { }