Ejemplo n.º 1
0
        private void DeductChargeForNews()
        {
            string _newsId = XYECOM.Core.XYRequest.GetQueryString("nid");
            string _webMoney = XYECOM.Core.XYRequest.GetQueryString("webmoney");
            string _money = XYECOM.Core.XYRequest.GetQueryString("money");

            if (_newsId.Equals("") || _webMoney.Equals("") || _money.Equals(""))
            {
                ResponseXML(Result.Null, "数据不完整!");
            }

            long newsId = Convert.ToInt64(_newsId);

            Decimal webmoney = Convert.ToDecimal(_webMoney);
            Decimal money = Convert.ToDecimal(_money);

            Int64 userId = 0;
            if (Business.CheckUser.CheckUserLogin())
                userId = Business.CheckUser.UserInfo.userid;

            XYECOM.Model.ChargeNewsSetInfo chargeNesSetInfo = new XYECOM.Model.ChargeNewsSetInfo();
            XYECOM.Business.ChargeNewsSet chargeNewsSetBLL = new XYECOM.Business.ChargeNewsSet();
            XYECOM.Business.ChargeNews chargeNewsBLL = new XYECOM.Business.ChargeNews();

            if (webmoney == 0 && money == 0)
            {
                chargeNesSetInfo.U_ID = userId;
                chargeNesSetInfo.NS_ID = newsId;

                int row = chargeNewsSetBLL.Insert(chargeNesSetInfo);
                if (row >= 0)
                    //strMsg = "ok$0";   //添加成功,因为扣费皆为0,所以只插入付费信息
                    ResponseXML(Result.Success, "添加成功");
                else
                    //strMsg = "err$1";  //缴费失败
                    ResponseXML(Result.Failed, "缴费失败");
            }
            else
            {
                int rowAff = chargeNewsBLL.ConsumeUpdateMoney(userId, newsId, webmoney, money);

                if (rowAff >= 0)
                { //strMsg += "ok$1";   //扣费成功,消费记录,付费记录都成功
                    ResponseXML(Result.Success, "成功");
                }
                else if (rowAff == -1)
                    //strMsg += "err$-1"; //扣费失败,因为帐户余额不足
                    ResponseXML(Result.Failed, "帐户余额不足");
                else
                    //strMsg += "err$1";  //扣费失败
                    ResponseXML(Result.Failed, "帐户余额不足");

            }
        }
Ejemplo n.º 2
0
        private void IsFreeNews()
        {
            string strMsg = "";
            Result result = Result.Null;
            String data = "";
            string newsId = XYECOM.Core.XYRequest.GetQueryString("nid");

            if (newsId.Equals(""))
            {
                ResponseXML(result, "数据不完整");
            }

            long ns_id = Convert.ToInt64(newsId);

            XYECOM.Business.ChargeNews chargeNewsBLL = new XYECOM.Business.ChargeNews();

            Int64 userId = 0;
            if (Business.CheckUser.CheckUserLogin())
                userId = Business.CheckUser.UserInfo.userid;

            int webMoney;   //虚拟货币
            int money;      //现金货币

            int val = chargeNewsBLL.GetIsCharged(userId, ns_id, out webMoney, out money);
            if (val < 0)
            {
                if (val == -3)
                {
                    strMsg = "没有登录";        //代表不可以查看,原因收费新闻,没有登录
                    result = Result.Failed;
                }
                else if (val == -2)
                {
                    strMsg = "权限不足";        //代表不可以查看,原因权限不足
                    result = Result.Failed;
                }
                else
                {
                    strMsg = "";                //可以查看,原因非收费新闻
                    result = Result.Success;
                }
            }
            else if (val > 0)
            {
                strMsg = "已付费";           //代表可以查看,原因已经付过费
                result = Result.Success;
            }
            else
            {
                if (webMoney == 0 && money == 0)
                {
                    strMsg = "";
                    result = Result.Success;
                }
                else
                {
                    strMsg = "收费新闻尚未付费";
                    result = Result.Failed;
                }
                data = "<webmoney>" + webMoney + "</webmoney><money>" + money + "</money>"; //代表不可以查看,因为收费新闻尚未付费
            }
            ResponseXML(result, strMsg, data);
        }