예제 #1
0
        /// <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();
                    }
                });
            });
        }
예제 #2
0
        /// <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);
            });
        }