/// <summary> /// 活期项目转出本金 /// </summary> /// <param name="projectCode"></param> /// <param name="grouping"></param> /// <param name="callBack"></param> public static void SendReturnPrinInte(int projectCode, IGrouping <li_projects, li_claims> grouping, Action callBack) { var context = new Agp2pDataContext(); //创建本息到账请求并设置分账列表 var returnPrinInteReqMsg = new ReturnPrinInteReqMsg(projectCode, grouping.Sum(pcsc => pcsc.principal).ToString("f"), true); //生成分账列表(每个转出用户的本金) returnPrinInteReqMsg.SetSubledgerList(grouping.ToLookup(c => c.dt_users)); //发送请求 MessageBus.Main.PublishAsync(returnPrinInteReqMsg, msg => { //处理请求同步返回结果 var returnPrinInteRespMsg = BaseRespMsg.NewInstance <ReturnPrinInteRespMsg>(msg.SynResult); returnPrinInteRespMsg.Sync = true; returnPrinInteReqMsg.Remarks = "isEarly=false&isHuoqi=true"; MessageBus.Main.PublishAsync(returnPrinInteRespMsg, result => { if (callBack != null && returnPrinInteRespMsg.HasHandle) { callBack(); } }); }); }
/// <summary> /// 发送本息到账请求 /// </summary> /// <param name="projectCode"></param> /// <param name="sum"></param> /// <param name="repayTaskId">定期为还款计划id,活期为转出人id</param> /// <param name="isEarlyPay"></param> /// <param name="huoqi"></param> /// <param name="callBack"></param> public static void SendReturnPrinInte(int projectCode, string sum, int repayTaskId, bool isEarlyPay, bool isHuoqi) { var context = new Agp2pDataContext(); //创建本息到账请求并设置分账列表 var returnPrinInteReqMsg = new ReturnPrinInteReqMsg(projectCode, sum, isHuoqi); //定期项目需计算全部投资者本息明细 var repayRask = context.li_repayment_tasks.SingleOrDefault(r => r.id == repayTaskId); var transList = TransactionFacade.GenerateRepayTransactions(repayRask, DateTime.Now); returnPrinInteReqMsg.SetSubledgerList(transList); returnPrinInteReqMsg.Remarks = $"isEarly=false&repayTaskId={repayTaskId}&isHuoqi={isHuoqi}"; //发送请求 MessageBus.Main.PublishAsync(returnPrinInteReqMsg, msg => { //处理请求同步返回结果 var returnPrinInteRespMsg = BaseRespMsg.NewInstance <ReturnPrinInteRespMsg>(msg.SynResult); MessageBus.Main.PublishAsync(returnPrinInteRespMsg); }); }