コード例 #1
0
        public ResInfo PayCharge(Model.WeChat.Charge ChargeDto)
        {
            string errMsg = "";

            Model.WeChat.Card card = new Model.WeChat.Card();
            BLL.WeChat.Charge bll  = new BLL.WeChat.Charge(connStr);
            bool flag = bll.PayCharge(ChargeDto, out errMsg, out card);

            if (flag)
            {
                resInfo.ResCode = 1;
                resInfo.ResMsg  = errMsg;
                resInfo.ResData = card;
            }
            else
            {
                resInfo.ResCode = -1;
                resInfo.ResMsg  = errMsg;
            }
            return(resInfo);
        }
コード例 #2
0
ファイル: Charge.cs プロジェクト: bosco-zixin/wsy
        public bool PayCharge(Model.WeChat.Charge chargeDto, out string errMsg, out Model.WeChat.Card card)
        {
            int    ret    = 0;
            string chrgID = "";

            errMsg = string.Empty;
            card   = new Model.WeChat.Card();
            try
            {
                ret = dal.ChargeFee(chargeDto, ref chrgID);
                if (ret == 1)
                {
                    Model.WeChat.CardIdent mdlCardIdent = dal.GetChargeCardInfo(chrgID);
                    if (!string.IsNullOrEmpty(mdlCardIdent.CardID)) //判断本次收费有无卡表
                    {
                        card = dal.GetCardStr(2, chargeDto.NodeID, mdlCardIdent, "", 0, chrgID);
                    }
                    else
                    {
                        errMsg = "收费成功!";
                    }
                }
                else
                {
                    if (ret == -1 || ret == -2)
                    {
                        errMsg = "欠费金额发生变化,收费失败!";
                    }
                    else if (ret == -3)
                    {
                        errMsg = "基本账户金额发生变化,收费失败!";
                    }
                    else if (ret == -4)
                    {
                        errMsg = "项目账户金额发生变化,收费失败!";
                    }
                    else
                    {
                        errMsg = "其它原因导致收费失败!(" + ret.ToString() + ")";
                    }
                }
            }
            catch (Exception ex)
            {
                errMsg = "收费异常!" + ex.Message;
            }

            if (ret != 1) //收费失败,存余额
            {
                ret = dal.ChargeBalance(chargeDto, ref chrgID);
                if (ret == 1)
                {
                    errMsg = "收费失败后充入余额成功!";
                }
                else
                {
                    errMsg = "收费失败后充入余额失败!";
                }
            }
            return(ret == 1);
        }