Beispiel #1
0
        /// <summary>
        /// 审核通过打款
        /// </summary>
        /// <param name="autoId">记录Id</param>
        /// <param name="userId">操作人账号</param>
        /// <param name="msg">提示信息</param>
        /// <returns></returns>
        public bool Pass(int autoId, string userId, out string msg)
        {
            msg = "";
            var record = Get(autoId);

            if (record.Status == 1)
            {
                msg = "该记录已打款";
                return(false);
            }

            switch (record.Type)
            {
                #region 分销提现
            case "DistributionWithdraw":    //分销提现
                BLLDistribution     bllDis = new BLLDistribution();
                List <WithdrawCash> list   = new List <WithdrawCash>();
                WithdrawCash        model  = Get <WithdrawCash>(string.Format("TranId='{0}'", record.TranId));
                if (model == null)
                {
                    msg = "该记录已标记为失败";
                    return(false);
                }
                list.Add(model);
                if (!bllDis.UpdateWithrawCashStatus(list, 2, out msg))
                {
                    return(false);
                }
                break;
                #endregion

                #region 商城退款
            case "MallRefund":    //退款
                BLLMall      bllMall = new BLLMall();
                WXMallRefund refund  = bllMall.Get <WXMallRefund>(string.Format("RefundId='{0}'", record.TranId));
                switch (refund.Status)
                {
                case 2:
                    msg = "未同意退款";
                    return(false);

                case 5:
                    msg = "未收到货拒绝退款";
                    return(false);

                case 7:
                    msg = "退款申请关闭";
                    return(false);

                default:
                    break;
                }
                if (!bllMall.Refund(refund.OrderDetailId, out msg))
                {
                    return(false);
                }

                break;

                #endregion
            default:
                msg = "未定义的类型";
                return(false);
            }
            record.UpdateTime  = DateTime.Now;
            record.Status      = 1;
            record.OperaUserId = userId;
            if (Update(record))
            {
                return(true);
            }
            return(false);
        }