Esempio n. 1
0
        public int CardChargeOpr(CardChargeModel requestData, int OprType, out string message)
        {
            message = "";
            int   result  = 0;
            float balance = 0;

            float.TryParse(requestData.AfterMoney, out balance);//不能用此余额,需要查询第三方系统里的余额

            float preMoney = 0;

            float.TryParse(requestData.PreMoney, out preMoney);

            float oprMoney = 0;

            float.TryParse(requestData.OprMoney, out oprMoney);

            EmployeeCardModel model = new EastRiverBLL().GetEmployeeCardByCardNo(requestData.CardNo);

            if (model == null)
            {
                result  = 1;
                message = "第三方系统未查询到卡号[" + requestData.CardNo + "]";
            }
            else
            {
                EmployeeAccountModel accountModel = new EastRiverBLL().GetEmployeeAccountByCardNo(requestData.CardNo);
                if (accountModel == null)
                {
                    result  = 1;
                    message = "第三方系统消费账户未查询到卡号[" + requestData.CardNo + "]";
                }
                else
                {
                    //TODO: 是否需要更新第三方的充值表 和 退款表
                    switch (OprType)
                    {
                    case 1:     //充值
                        balance = model.card_balance + oprMoney;
                        break;

                    case 2:     //退款
                        balance = model.card_balance - oprMoney;
                        break;

                    default:
                        break;
                    }

                    preMoney                  = model.card_balance;
                    model.card_balance        = balance;
                    accountModel.card_balance = balance;

                    requestData.AfterMoney = balance.ToString();
                    requestData.PreMoney   = preMoney.ToString();
                    new EastRiverBLL().UpdateEmployeeCard(model);
                    new EastRiverBLL().UpdateEmployeeAccount(accountModel);
                }
            }
            return(result);
        }
Esempio n. 2
0
        /// <summary>
        /// 卡操作
        /// </summary>
        /// <param name="requestData"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        public int CardOpr(requestCardOpr requestData, out string message)
        {
            message = "";
            int result = 0;

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

            if (string.IsNullOrWhiteSpace(requestData.PersonId))
            {
                //result = 1;
                //message = "参数PersonId不能为空";
                requestData.PersonId = requestData.CardNo.Trim();
                LogHelper.Info("卡操作:传递的参数PersonID为空。使用CardNo进行人事登记");
                //return result;
            }
            string deptId = "00000000-0000-0000-0000-000000000000";

            if (!string.IsNullOrWhiteSpace(requestData.DeptId))
            {
                deptId = requestData.DeptId.Trim();
            }


            DepartmentModel depart = null;
            PersonBLL       bll    = new PersonBLL();
            PersonModel     person = bll.GetPersonByPersonId(requestData.PersonId);

            if (person == null)
            {
                //创建部门和人事资料

                PersonModel requestPerson = new PersonModel();
                requestPerson.PersonName = string.IsNullOrWhiteSpace(requestData.PersonName) ? requestData.PersonId : requestData.PersonName;
                requestPerson.PersonId   = requestData.PersonId;
                requestPerson.DeptId     = deptId;
                DepartmentModel requestDetp = new DepartmentModel();
                requestDetp.DeptId = deptId;
                depart             = new DepartmentBLL().GetDepartmentByDeptId(requestDetp.DeptId);
                if (depart == null)
                {
                    requestDetp.DeptName = string.IsNullOrWhiteSpace(requestData.DeptName) ? "默认部门" : requestData.DeptName;
                    requestDetp.DeptNo   = deptId;
                    result = DeptOpr(requestDetp, out message);
                    if (result != 0)
                    {
                        return(result);
                    }
                    depart = requestDetp;
                }
                result = PersonOpr(requestPerson, out message);
                if (result != 0)
                {
                    return(result);
                }
                person = requestPerson;
            }
            if (depart == null)
            {
                depart = new DepartmentBLL().GetDepartmentByDeptId(person.DeptId);
            }
            int OprType = 0;//1:新增发行, 2:退卡, 3:挂失,4,更新

            if (requestData.Status == 1)
            {
                OprType = 2;//退卡
            }
            else if (requestData.Status == 2)
            {
                OprType = 3;//挂失
            }

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

            if (OprType == 2)
            {
                if (cardModel == null)
                {
                    result = 0;
                    return(result);
                }
            }
            if (OprType == 3)
            {
                if (cardModel == null)
                {
                    result  = 1;
                    message = "CardNo[" + requestData.CardNo + "]不存在或已删除";
                    return(result);
                }
            }
            if (cardModel == null)
            {
                OprType             = OprType == 0 ? 1 : OprType;
                cardModel           = new CardModel();//发行
                cardModel.BackMoney = "";
                cardModel.Balance   = "0";
                cardModel.BeginTime = requestData.BeginTime;
                cardModel.CardCost  = requestData.CardCost;
                cardModel.CardNo    = requestData.CardNo;
                cardModel.EndTime   = requestData.EndTime;
                cardModel.PersonId  = requestData.PersonId;
                cardModel.Status    = requestData.Status;
            }
            else
            {
                OprType = OprType == 0 ? 4 : OprType;//更新
                if (((DateTime)requestData.BeginTime).Year > 2000)
                {
                    cardModel.BeginTime = requestData.BeginTime;
                }

                if (((DateTime)requestData.EndTime).Year > 2000)
                {
                    cardModel.EndTime = requestData.EndTime;
                }

                cardModel.PersonId = requestData.PersonId;
                cardModel.Status   = requestData.Status;
                cardModel.CardCost = requestData.CardCost;
            }
            if (OprType != 1)
            {
                if (cardModel == null)
                {
                    result  = 1;
                    message = "CardNo[" + requestData.CardNo + "]不存在或已删除";
                    return(result);
                }
            }
            IThirdApp thirdApp = ThirdAppFactory.Create(Common.CommonSettings.ThirdApp);

            if (thirdApp != null)
            {
                thirdApp.CardOpr(cardModel, person, depart, OprType, out message);
            }

            switch (OprType)
            {
            case 1:     //新增
                new CardBLL().Insert(cardModel);
                break;

            case 2:     //退卡
                //float balance = 0;
                //float backmoney = 0;
                //float.TryParse(cardModel.Balance, out balance);
                //float.TryParse(cardModel.BackMoney, out backmoney);
                cardModel.Balance = "0";
                new CardBLL().Delete(cardModel);

                CardChargeModel chargeModel = new CardChargeModel();
                chargeModel.CardNo     = cardModel.CardNo;
                chargeModel.AfterMoney = "0";
                chargeModel.OprMoney   = cardModel.Balance;
                chargeModel.OprType    = 2;
                chargeModel.PreMoney   = cardModel.Balance;
                chargeModel.Remark     = "退卡注销金额清为0,注销金额" + cardModel.Balance;

                new CardChargeBLL().Insert(chargeModel);;
                break;

            case 3:     //挂失
                requestData.Status = 2;
                new CardBLL().Update(cardModel);
                break;

            case 4:     //更新
                new CardBLL().Update(cardModel);
                break;

            default:
                break;
            }


            return(result);
        }
Esempio n. 3
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);
        }
Esempio n. 4
0
 public void Insert(CardChargeModel model)
 {
     model.CreateTime = DateTime.Now;
     model.ModifyTime = DateTime.Now;
     CardChargeDAL.ProxyInstance.Insert <CardChargeModel>(model);
 }