Пример #1
0
        public HttpResponseMessage cardchargeopr(requestCardCharge requestdata)
        {
            APIResultBase apiresult = new APIResultBase();
            string        message   = "";
            int           result    = new ConsumeBaseBLL().CardChargeOpr(requestdata, out message);

            if (result != 0)
            {
                apiresult.code = "1";
                if (string.IsNullOrWhiteSpace(message))
                {
                    message = "卡充值/退款操作失败";
                }
                apiresult.msg = message;
            }
            return(Request.CreateResponse(apiresult));
        }
Пример #2
0
        /// <summary>
        /// 卡充值退款操作
        /// </summary>
        /// <param name="requestData"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        public int CardChargeOpr(requestCardCharge requestData, out string message)
        {
            message = "";
            int result = 0;

            if (string.IsNullOrWhiteSpace(requestData.CardNo))
            {
                result  = 1;
                message = "参数CardNo不能为空";
                return(result);
            }

            CardModel cardModel = new CardBLL().GetCardByCardNo(requestData.CardNo);

            if (cardModel == null)
            {
                result  = 1;
                message = "CardNo[" + requestData.CardNo + "]不存在或已删除";
                return(result);
            }

            int OprType = requestData.OprType;

            IThirdApp thirdApp = ThirdAppFactory.Create(Common.CommonSettings.ThirdApp);

            if (thirdApp == null)
            {
                LogHelper.Error("ThirdApp未配置");
            }

            switch (OprType)
            {
            case 1:     //充值
                CardChargeModel chargeModel = new CardChargeModel();
                chargeModel.CardNo = cardModel.CardNo;
                float balance  = 0;
                float oprmoney = 0;
                float.TryParse(cardModel.Balance, out balance);
                float.TryParse(requestData.OprMoney, out oprmoney);

                chargeModel.AfterMoney = (balance + oprmoney).ToString();
                chargeModel.OprMoney   = requestData.OprMoney;
                chargeModel.OprType    = 1;
                chargeModel.PreMoney   = cardModel.Balance;
                chargeModel.Remark     = requestData.Remark;

                result = thirdApp.CardChargeOpr(chargeModel, OprType, out message);
                if (result == 0)
                {
                    new CardChargeBLL().Insert(chargeModel);

                    cardModel.Balance = chargeModel.AfterMoney;
                    new CardBLL().Update(cardModel);
                }


                break;

            case 2:     //退款
                CardChargeModel chargeModel2 = new CardChargeModel();
                chargeModel2.CardNo = cardModel.CardNo;
                float balance2  = 0;
                float oprmoney2 = 0;
                float.TryParse(cardModel.Balance, out balance2);
                float.TryParse(requestData.OprMoney, out oprmoney2);

                chargeModel2.AfterMoney = (balance2 - oprmoney2).ToString();
                chargeModel2.OprMoney   = requestData.OprMoney;
                chargeModel2.OprType    = 2;
                chargeModel2.PreMoney   = cardModel.Balance;
                chargeModel2.Remark     = requestData.Remark;

                result = thirdApp.CardChargeOpr(chargeModel2, OprType, out message);
                if (result == 0)
                {
                    new CardChargeBLL().Insert(chargeModel2);
                    cardModel.Balance = chargeModel2.AfterMoney;
                    new CardBLL().Update(cardModel);
                }
                break;

            default:
                break;
            }



            return(result);
        }