Ejemplo n.º 1
0
        public ActionResult Cashier(int payid)
        {
            var payCashier = payCashierDao.Single(payid);

            respBackPayModel model = JsonConvert.DeserializeObject <respBackPayModel>(payCashier.Value);
            UserBankCard     ubk   = userBankCardDao.Single(payCashier.UbkId);
            JObject          data  = new JObject();

            data["respBackPay"] = JObject.FromObject(model);
            data["ubk"]         = JObject.FromObject(ubk);
            ResultModel result = new ResultModel(data);

            if (payCashier.State == 1)
            {
                result.backState = -200;
                result.message   = "订单已支付完成";
            }
            else if (payCashier.State == -1)
            {
                result.backState = -200;
                result.message   = "订单已过期";
            }

            return(View(result));
        }
Ejemplo n.º 2
0
        public ActionResult UpdateBankCard(int Id)
        {
            UserBankCard kv = new  UserBankCard();

            if (Id > 0)
            {
                kv = userBankCardDao.Single(Id);
            }
            return(View(kv));
        }
Ejemplo n.º 3
0
        public IActionResult Delete(UserBankCard userBankCardService)
        {
            var result = _userBankCardService.Delete(userBankCardService);

            if (result.Success)
            {
                return(Ok(result));
            }
            return(BadRequest(result));
        }
Ejemplo n.º 4
0
        public static respMasgetModel <respTreatyApplyModel> TreatyApply(int UbkId, int Platform, Logic.ChannelType chanel)
        {
            string LogDic = "申请开通快捷协议";

            UserBankCard ubk    = userBankCardDao.Single(UbkId);
            int          TypeId = (int)chanel;
            MasgetUser   mUser  = masgetUserDao.Single(" UserId=@UserId and TypeId=@TypeId", new { ubk.UserId, TypeId });

            if (mUser == null)
            {
                Logs.WriteLog($"未查到用户:UserId:{ubk.UserId},Platform:{Platform},ubkId:{UbkId}", MasgetLogDic, LogDic);
                return(new respMasgetModel <respTreatyApplyModel>()
                {
                    ret = -9999, message = "用户未进件"
                });
            }
            Users user = usersDao.Single(ubk.UserId);
            bool  flag = false;

            //创建快捷协议记录
            var btaId = bankTreatyApplyDao.Init(ubk.UserId, UbkId, ubk.BankCard, ubk.Mobile, Platform, (int)chanel);
            //获取请求流水号
            int requestId = yeepayLogDao.Init((int)Masget.Enums.MasgetType.申请开通快捷协议, ubk.UserId, Platform, btaId, (int)chanel);

            Logs.WriteLog($"获取请求流水号:UserId:{ubk.UserId},Platform:{Platform},requestId:{requestId},ubkId:{UbkId},btaId:{btaId}", MasgetLogDic, LogDic);

            reqTreatyApplyModel model = new reqTreatyApplyModel();

            model.accountname     = user.RealName;
            model.accounttype     = "1";
            model.bankaccount     = ubk.BankCard;
            model.certificatetype = "1";
            model.certificateno   = user.IdCard;
            model.mobilephone     = ubk.Mobile;
            model.collecttype     = "1";
            model.startdate       = "";
            model.enddate         = "";
            model.bankcode        = "";
            model.bank            = "";
            model.cvv2            = ubk.CVN2.ToString();
            model.expirationdate  = $"{ubk.ExpiresMouth}{ubk.ExpiresYear}";
            model.fronturl        = "";
            model.backurl         = "";
            //model.accountrule = "1";
            string json = Order <reqTreatyApplyModel>(model);
            var    resp = PostUrl <respTreatyApplyModel>(requestId, "masget.pay.collect.router.treaty.apply", json, LogDic, chanel, mUser.ID);

            if (resp.backState == 0)
            {
                //更新快捷协议
                flag = bankTreatyApplyDao.UpdateTreatycode(btaId, resp.data.treatycode, resp.data.smsseq, 1);// 1等待确认
                Logs.WriteLog($"申请开通快捷协议:UserId:{ubk.UserId},Platform:{Platform},requestId:{requestId},flag:{flag}", MasgetLogDic, LogDic);
            }
            return(resp);
        }
Ejemplo n.º 5
0
        public ActionResult Cashier(int payid, string code)
        {
            var payCashier         = payCashierDao.Single(payid);
            respBackPayModel model = JsonConvert.DeserializeObject <respBackPayModel>(payCashier.Value);
            UserBankCard     ubk   = userBankCardDao.Single(payCashier.UbkId);
            JObject          data  = new JObject();

            data["respBackPay"] = JObject.FromObject(model);
            data["ubk"]         = JObject.FromObject(ubk);
            ResultModel result = new ResultModel(data);

            if (!ITOrm.Utility.StringHelper.TypeParse.IsNumeric(code))
            {
                result.backState = -100;
                result.message   = "验证码必须为数字";
                return(View(result));
            }
            if (payCashier.State == 1)
            {
                result.backState = -200;
                result.message   = "订单已支付完成";
                return(View(result));
            }
            else if (payCashier.State == -1)
            {
                result.backState = -200;
                result.message   = "订单已过期";
                return(View(result));
            }



            var payResult = MasgetDepository.PayConfirmpay(payid, code, (int)Logic.Platform.系统, (Logic.ChannelType)payCashier.ChannelType);

            userEventDao.UserEventInit((int)Logic.Platform.系统, payCashier.UserId, Ip.GetClientIp(), payResult.backState == 0 ? 1 : 0, "Pay", "Cashier", $"{{payid:{payid},code:{code}}}");
            if (payResult.backState == 0)
            {
                result.backState = -200;
                result.message   = "支付成功";
                return(new RedirectResult("/itapi/pay/success?backState=0&message=支付成功"));
            }
            else
            {
                result.backState = -100;
                result.message   = payResult.message;
                return(View(result));
            }
        }
Ejemplo n.º 6
0
        public static respMasgetModel <respTreatyQueryModel> TreatyQuery(int Platform, Logic.ChannelType chanel, string bankaccount)
        {
            respMasgetModel <respTreatyQueryModel> tip = new respMasgetModel <respTreatyQueryModel>();
            string       LogDic = "查询快捷协议";
            UserBankCard ubk    = userBankCardDao.Single("BankCard=@bankaccount", new { bankaccount });

            if (ubk == null)
            {
                tip.ret     = -100;
                tip.message = "未查到卡记录";
                return(tip);
            }
            MasgetUser mUser = masgetUserDao.Single(" UserId=@UserId", new { ubk.UserId });

            if (mUser == null)
            {
                tip.ret     = -100;
                tip.message = "用户未开户";
                return(tip);
            }
            bool flag = false;
            //获取请求流水号
            int requestId = yeepayLogDao.Init((int)Masget.Enums.MasgetType.查询快捷协议, ubk.UserId, Platform, 0, (int)chanel);

            Logs.WriteLog($"获取请求流水号:UserId:{ ubk.UserId},Platform:{Platform},requestId:{requestId}", MasgetLogDic, LogDic);
            reqMasgetModel req = new reqMasgetModel();

            req.chanel = chanel;
            reqTreatyQueryModel model = new reqTreatyQueryModel();

            model.pcompanyid  = req.appid;
            model.companyid   = mUser.CompanyId;
            model.bankaccount = bankaccount;
            model.treatycode  = "";
            //model.accountrule = "1";
            string json = Order <reqTreatyQueryModel>(model);
            var    resp = PostUrl <respTreatyQueryModel>(requestId, "masget.pay.compay.router.samename.update", json, LogDic, chanel);

            if (resp.backState == 0)
            {
            }
            return(resp);
        }
Ejemplo n.º 7
0
        public ActionResult UpdateBankCard(string Mobile, string BankCard, string BankCode, string CVN2, string ExpiresYear, string ExpiresMouth, int ID)
        {
            int          backState = -100;
            string       msg       = string.Empty;
            UserBankCard bank      = new UserBankCard();
            string       ubcurl    = "";

            if (ID > 0)
            {
                bank   = userBankCardDao.Single(ID);
                ubcurl = "/users/info/" + bank.UserId;
                if (bank.TypeId == 0 && bank.BankCard != BankCard && bank.BankCode != BankCode)
                {
                    return(new RedirectResult($"/Prompt?state=-100&msg=结算卡不支持修改卡号和所属银行&url={url}"));
                }
                bank.Mobile       = Mobile;
                bank.BankCard     = BankCard;
                bank.BankCode     = BankCode;
                bank.CVN2         = CVN2;
                bank.ExpiresYear  = ExpiresYear;
                bank.ExpiresMouth = ExpiresMouth;

                var list = bankTreatyApplyDao.GetQuery(" State=2 And UbkID=@ID", new { ID });
                if (list != null && list.Count > 0)
                {
                    foreach (var item in list)
                    {
                        MasgetDepository.TreatyModify(ID, CVN2, ExpiresYear, ExpiresMouth, (int)Logic.Platform.系统, (Logic.ChannelType)item.ChannelType);
                    }
                }

                var result = userBankCardDao.Update(bank);
                backState = result ? 0 : -100;
                msg       = result ? "修改成功" :"修改失败";
            }


            return(new RedirectResult($"/Prompt?state={backState}&msg={msg}&url={ubcurl}"));
        }
Ejemplo n.º 8
0
        public ResultModel ValidateBank(UserBankCard entity)
        {
            ResultModel result = new ResultModel();

            result.backState = 0;
            result.message   = "验证成功";
            if (entity == null)
            {
                result.backState = -100;
                result.message   = "卡记录对象为空";
                return(result);
            }
            if (!(entity.BankCard.Length > 13 && entity.BankCard.Length < 21))
            {
                result.backState = -100;
                result.message   = "银行卡号有误,请核对您的卡号信息";
                return(result);
            }
            if (!TypeParse.IsMobile(entity.Mobile))
            {
                result.backState = -100;
                result.message   = "预留手机号格式验证失败";
                return(result);
            }
            if (string.IsNullOrEmpty(entity.CVN2))
            {
                result.backState = -100;
                result.message   = "CVN2未填写";
                return(result);
            }
            if (string.IsNullOrEmpty(entity.ExpiresYear) || string.IsNullOrEmpty(entity.ExpiresMouth))
            {
                result.backState = -100;
                result.message   = "有效期年月未填写";
                return(result);
            }
            return(result);
        }
Ejemplo n.º 9
0
        public string BankBind(int cid = 0, int UserId = 0, string mobile = "", string bankcard = "", string bankcode = "", int typeid = 0, string cvn2 = "", string expiresYear = "", string expiresMouth = "", string OpeningBank = "", string OpeningSerialBank = "", int BankID = 0)
        {
            Logs.WriteLog($"Action:User,Cmd:BankBind,UserId:{UserId},mobile:{mobile},bankcard:{bankcard},bankcode:{bankcode},typeid:{typeid},cvn2:{cvn2},expiresYear:{expiresYear},expiresMouth:{expiresMouth},OpeningBank:{OpeningBank},OpeningSerialBank:{OpeningSerialBank}", "d:\\Log\\ITOrm", "BankBind");
            userEventDao.UserBankBind(cid, UserId, Ip.GetClientIp(), mobile, bankcard, bankcode, typeid, cvn2, expiresYear, expiresMouth, OpeningBank, OpeningSerialBank, BankID);

            var version = TQuery.GetString("version");

            if (cid == 3 && version == "1.0.0")
            {
                string temp = expiresYear;
                expiresYear  = expiresMouth;
                expiresMouth = temp;
            }
            #region 验证
            if (!TypeParse.IsMobile(mobile))
            {
                return(ApiReturnStr.getError(-100, "预留手机号格式验证失败"));
            }
            if (!(bankcard.Length > 13 && bankcard.Length < 21))
            {
                return(ApiReturnStr.getError(-100, "银行卡参数错误"));
            }
            if (string.IsNullOrEmpty(bankcode))
            {
                return(ApiReturnStr.getError(-100, "银行编号不能为空"));
            }
            Users user = userDao.Single(UserId);
            if (user == null || user.UserId <= 0)
            {
                return(ApiReturnStr.getError(-100, "用户不存在"));
            }
            if (user.IsRealState != 1)
            {
                return(ApiReturnStr.getError(-100, "用户未实名认证,无法绑卡"));
            }
            if (typeid == 1)//如果是结算卡
            {
                if (string.IsNullOrEmpty(cvn2) || string.IsNullOrEmpty(expiresYear) || string.IsNullOrEmpty(expiresMouth))
                {
                    return(ApiReturnStr.getError(-100, "支付卡参数有误"));
                }

                if (BankID == 0)
                {
                    UserBankCard ubc = userBankCardDao.Single(" UserId=@UserId and BankCard=@bankcard and TypeId=1  ", new { UserId, bankcard });
                    if (ubc != null && ubc.ID > 0)
                    {
                        return(ApiReturnStr.getError(-100, "该支付卡已经绑定过,不能重复绑定"));
                    }
                }
            }
            else
            {
                UserBankCard ubc = userBankCardDao.Single(" UserId=@UserId and TypeId=0 and  State=1 ", new { UserId });
                if (ubc != null && ubc.ID > 0)
                {
                    return(ApiReturnStr.getApiData(-100, "结算卡只能绑定一张"));
                }
            }
            UserBankCard model = null;
            if (BankID > 0)
            {
                model = userBankCardDao.Single(BankID);
                if (model == null)
                {
                    return(ApiReturnStr.getApiData(-100, "BankID记录不存在"));
                }
                if (model.State == 1)
                {
                    return(ApiReturnStr.getApiData(-100, "该银行卡已通过验证,不可修改信息"));
                }
            }
            else
            {
                model = new UserBankCard();
            }
            #endregion

            #region 绑卡
            var result = BankCardBindHelper.Bind(typeid, user.RealName, user.IdCard, bankcard, mobile, cvn2, expiresYear, expiresMouth);

            model.BankCard          = result.bankCard;
            model.BankCode          = bankcode;
            model.BankName          = bankDao.QueryBankName(bankcode);
            model.CVN2              = cvn2;
            model.ExpiresYear       = expiresYear;
            model.ExpiresMouth      = expiresMouth;
            model.UTime             = DateTime.Now;
            model.Mobile            = mobile;
            model.TypeId            = typeid;
            model.OpeningBank       = OpeningBank;
            model.OpeningSerialBank = OpeningSerialBank;
            model.State             = 0;// result.backState ? 1 : 0;//默认为0
            model.RelationId        = ",0,";
            bool flag = false;
            if (BankID == 0)
            {
                model.UserId   = UserId;
                model.IP       = Ip.GetClientIp();
                model.CTime    = DateTime.Now;
                model.Platform = cid;
                int num = userBankCardDao.Insert(model);
                flag = num > 0;
                return(ApiReturnStr.getError(flag ? 0 : -100, flag ? "绑定成功" : "绑定失败"));
            }
            else
            {
                var list = bankTreatyApplyDao.GetQuery(" State=2 And UbkID=@BankID", new { BankID });
                if (list != null && list.Count > 0)
                {
                    foreach (var item in list)
                    {
                        MasgetDepository.TreatyModify(BankID, cvn2, expiresYear, expiresMouth, cid, (Logic.ChannelType)item.ChannelType);
                    }
                }
                flag = userBankCardDao.Update(model);
                return(ApiReturnStr.getError(flag ? 0 : -100, flag ? "修改成功" : "修改失败"));
            }

            #endregion
        }
Ejemplo n.º 10
0
        public static ResultModelData <JObject> SendMsgCode(int payCId, int Platform, string tengGuid)
        {
            ResultModelData <JObject> ret = new ResultModelData <JObject>();

            ret.backState = -100;
            ret.message   = "发送失败";


            string       LogDic = "发送收银短信";
            PayCashier   payc   = payCashierDao.Single(payCId);
            PayRecord    pay    = payRecordDao.Single(payc.PayRecordId);
            UserBankCard ubk    = userBankCardDao.Single(payc.UbkId);
            int          typeId = (int)Teng.Enums.TengType.发送收银短信;
            int          cnt    = yeepayLogDao.Count(" UserId=@UserId and KeyId=@PayRecordId and ChannelType=@ChannelType and typeId=@typeId ", new { payc.UserId, payc.PayRecordId, payc.ChannelType, typeId });

            if (cnt > 4)
            {
                ret.message = "该订单短信发送次数超限";
                return(ret);
            }
            //获取请求流水号
            int requestId = yeepayLogDao.Init(typeId, payc.UserId, Platform, payc.PayRecordId, (int)Logic.ChannelType.腾付通);

            Logs.WriteLog($"获取请求流水号:payCId:{payCId},UserId:{payc.UserId},Platform:{Platform},tengGuid:{tengGuid},requestId:{requestId}", TengLogDic, LogDic);
            bool flag = false;

            //发送短信
            var     resultMsg = SystemSendMsg.Send(Logic.EnumSendMsg.腾付通收银短信, ubk.Mobile, pay.Amount);
            SendMsg model     = new SendMsg();

            model.UserId     = payc.UserId;
            model.TypeId     = (int)Logic.EnumSendMsg.腾付通收银短信;
            model.Context    = resultMsg.content;
            model.CTime      = DateTime.Now;
            model.IP         = ITOrm.Utility.Client.Ip.GetClientIp();
            model.Merchant   = resultMsg.Merchant;
            model.Mobile     = resultMsg.Mobile;
            model.Platform   = Platform;
            model.Service    = "teng";
            model.RelationId = resultMsg.relationId;
            model.State      = resultMsg.backState ? 2 : 1;
            model.UTime      = DateTime.Now;
            int result = sendMsgDao.Insert(model);

            if (resultMsg.backState && result > 0)
            {
                string key       = Constant.teng_mobile_code + tengGuid;
                var    cacheData = new JObject();
                cacheData["mobile"] = resultMsg.Mobile;
                cacheData["code"]   = resultMsg.code;
                MemcachHelper.Set(key, cacheData.ToString(), ITOrm.Utility.Const.Constant.mobile_code_expires);
                var data = new JObject();
                data["tengGuid"] = tengGuid;
                if (Constant.IsDebug)
                {
                    data["code"] = resultMsg.code;
                }
                ret.backState = 0;
                ret.message   = "发送成功";
                ret.Data      = data;
            }
            #region 日志处理
            //返回后日志记录
            yeepayLogParasDao.Init(requestId, JsonConvert.SerializeObject(ret), 1);
            //易宝日志状态更新
            flag = yeepayLogDao.UpdateState(requestId, ret.backState.ToString(), ret.message, ret.backState == 0 ? 1 : ret.backState);
            #endregion
            return(ret);
        }
Ejemplo n.º 11
0
        public static respMasgetModel <respSubcompanyAddModel> SubcompanyAdd(int UserId, int Platform, Logic.ChannelType chanel)
        {
            string LogDic = "快速进件";

            UserBankCard ubk  = userBankCardDao.Single("UserId=@UserId and State=1 and TypeId=0  ", new { UserId });
            Users        user = usersDao.Single(UserId);
            bool         flag = false;
            //获取请求流水号
            int requestId = yeepayLogDao.Init((int)Masget.Enums.MasgetType.快速进件, UserId, Platform, 0, (int)chanel);

            Logs.WriteLog($"获取请求流水号:UserId:{UserId},Platform:{Platform},requestId:{requestId},chanel:{chanel}", MasgetLogDic, LogDic);
            string wu = "";

            switch (chanel)
            {
            case Logic.ChannelType.荣邦科技积分:
                break;

            case Logic.ChannelType.荣邦科技无积分:
                wu = "(无积分)";
                break;

            case Logic.ChannelType.荣邦3:
                wu = "(积分3)";
                break;

            default:
                break;
            }
            reqSubcompanyAddModel model = new reqSubcompanyAddModel();

            model.companyname = $"{user.RealName}({user.UserId}){wu}";
            model.companycode = user.UserId.ToString();
            model.accountname = user.RealName;
            model.bankaccount = ubk.BankCard;
            //model.accounttype = "1";
            //model.bankcardtype = "1";
            model.mobilephone = ubk.Mobile;
            model.idcardno    = user.IdCard;
            model.address     = "无";
            model.loginname   = ubk.Mobile;



            Logic.VipType vip       = (Logic.VipType)user.VipType;
            var           optionFee = SelectOptionFee(chanel, vip);

            model.ratecode = optionFee.ratecode;

            model.bank     = "";
            model.bankcode = "";
            //model.accountrule = "1";
            string json = Order <reqSubcompanyAddModel>(model);
            var    resp = PostUrl <respSubcompanyAddModel>(requestId, "masget.webapi.com.subcompany.add", json, LogDic, chanel);

            if (resp.backState == 0)
            {
                //创建用户
                var mid = masgetUserDao.Init(UserId, resp.data.appid, resp.data.session, resp.data.secretkey, resp.data.companyid, Platform, (int)chanel, optionFee.Rate1, optionFee.Rate3);
                Logs.WriteLog($"创建荣邦渠道用户:UserId:{UserId},Platform:{Platform},requestId:{requestId},MasgetUserId:{mid},Rate1{optionFee.Rate1},Rate3:{optionFee.Rate3}", MasgetLogDic, LogDic);
                if (chanel == Logic.ChannelType.荣邦3)
                {
                    masgetUserDao.UpdateState(UserId, (int)chanel, 1);
                    Logs.WriteLog($"默认设置已入驻:UserId:{UserId},chanel:{Platform},MasgetUserId:{mid}", MasgetLogDic, LogDic);
                }
            }
            return(resp);
        }
 public IResult Add(UserBankCard userBankCard)
 {
     _userBankCardDal.Add(userBankCard);
     return(new SuccessDataResult <Rental>(Messages.Added));
 }
Ejemplo n.º 13
0
        public static respMasgetModel <respTreatyConfirmModel> TreatyConfirm(int UbkId, string Authcode, int Platform, Logic.ChannelType chanel)
        {
            string LogDic = "确认开通快捷协议";

            int             TypeId = (int)chanel;
            BankTreatyApply bta    = bankTreatyApplyDao.Single(" UbkId=@UbkId and ChannelType=@TypeId", new { UbkId, TypeId });

            if (bta == null)
            {
                Logs.WriteLog($"未查到协议记录:UserId:{bta.UserId},Platform:{Platform},BtaId:{bta.ID}", MasgetLogDic, LogDic);
                return(new respMasgetModel <respTreatyConfirmModel>()
                {
                    ret = -9999, message = "未查到协议记录"
                });
            }
            if (bta.State == 2)
            {
                Logs.WriteLog($"快捷协议已开通:UserId:{bta.UserId},Platform:{Platform},BtaId:{bta.ID}", MasgetLogDic, LogDic);
                return(new respMasgetModel <respTreatyConfirmModel>()
                {
                    ret = -9999, message = "快捷协议已开通"
                });
            }
            MasgetUser mUser = masgetUserDao.Single(" UserId=@UserId and TypeId=@TypeId", new { bta.UserId, TypeId });

            if (mUser == null)
            {
                Logs.WriteLog($"未查到用户:UserId:{bta.UserId},Platform:{Platform},BtaId:{bta.ID}", MasgetLogDic, LogDic);
                return(new respMasgetModel <respTreatyConfirmModel>()
                {
                    ret = -9999, message = "用户未进件"
                });
            }
            Users user = usersDao.Single(bta.UserId);
            bool  flag = false;

            //获取请求流水号
            int requestId = yeepayLogDao.Init((int)Masget.Enums.MasgetType.确认开通快捷协议, bta.UserId, Platform, bta.ID, (int)chanel);

            Logs.WriteLog($"获取请求流水号:UserId:{bta.UserId},Platform:{Platform},requestId:{requestId},BtaId:{bta.ID}", MasgetLogDic, LogDic);

            reqTreatyConfirmModel model = new reqTreatyConfirmModel();

            model.authcode   = Authcode;
            model.smsseq     = bta.Smsseq;
            model.treatycode = bta.Treatycode;

            //model.accountrule = "1";
            string json = Order <reqTreatyConfirmModel>(model);
            var    resp = PostUrl <respTreatyConfirmModel>(requestId, "masget.pay.collect.router.treaty.confirm", json, LogDic, chanel, mUser.ID);

            if (resp.backState == 0)
            {
                //更新快捷协议
                flag = bankTreatyApplyDao.UpdateTreatycode(bta.ID, resp.data.treatycode, bta.Smsseq, 2);// 1开通成功
                Logs.WriteLog($"确认开通快捷协议:UserId:{bta.UserId},Platform:{Platform},requestId:{requestId},btaId:{bta.ID},flag:{flag}", MasgetLogDic, LogDic);
                //更新银行卡对应通道可用
                UserBankCard ubk = userBankCardDao.Single(UbkId);
                ubk.State       = 1;
                ubk.UTime       = DateTime.Now;
                ubk.RelationId += TypeId + ",";
                flag            = userBankCardDao.Update(ubk);
                Logs.WriteLog($"更新银行卡对应通道可用:UserId:{bta.UserId},Platform:{Platform},requestId:{requestId},UbkId:{UbkId},flag:{flag}", MasgetLogDic, LogDic);
            }
            return(resp);
        }
Ejemplo n.º 14
0
        //api.itorm.com/itapi/server/receiveApiNotice?requestId=100000029&amount=100
        public string receiveApiNotice()
        {
            string result               = "fail";
            bool   flag                 = false;
            string requestId            = TQuery.GetInput("requestId");
            noticeReceiveApiModel model = new noticeReceiveApiModel();

            model.code           = "0000";
            model.message        = "支付成功";
            model.amount         = TQuery.GetDecimal("amount", 0m).ToString("F2");
            model.fee            = (TQuery.GetDecimal("amount", 0m) * 0.002m).ToString("F2");
            model.externalld     = DateTime.Now.ToString("yyyyMMddHHmmssfff");
            model.payerPhone     = "15110167786";
            model.payerName      = "陈鑫";
            model.payTime        = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            model.requestId      = requestId;
            model.src            = "B";
            model.status         = "SUCCESS";
            model.lastNo         = "0239";
            model.bankCode       = "icbc";
            model.busiType       = "COMMON";
            model.customerNumber = "123456";

            //返回后日志记录
            Logs.WriteLog("回调参数:" + JsonConvert.SerializeObject(model), "d:\\Log\\Yeepay", "ReceiveApi");
            yeepayLogParasDao.Init(Convert.ToInt32(requestId), JsonConvert.SerializeObject(model), 2);

            //更新
            yeepayLogDao.UpdateState(Convert.ToInt32(requestId), model.code, model.message, (model.backState == 0 && model.status == "SUCCESS") ? 10 : -1);

            if (model.backState == 0 && model.status == "SUCCESS")//成功
            {
                var yeepayLog = yeepayLogDao.Single(Convert.ToInt32(requestId));
                var payRecord = payRecordDao.Single(yeepayLog.KeyId);
                if (payRecord.State == 1)
                {
                    result = "SUCCESS";
                    return(result);
                }
                //修改订单信息
                payRecord.PayTime    = Convert.ToDateTime(model.payTime);
                payRecord.State      = 1;
                payRecord.PayerPhone = model.payerPhone;
                payRecord.PayerName  = model.payerName;
                payRecord.LastNo     = model.lastNo;
                payRecord.Message    = model.message;
                payRecord.BankCode   = model.bankCode;
                payRecord.Fee        = Convert.ToDecimal(model.fee);
                payRecord.Src        = model.src;
                flag = payRecordDao.Update(payRecord);
                //添加支付银行卡
                int ubkCnt = userBankCardDao.Count(" UserId=@UserId and TypeId=0 and State=1 and  BankCard=@BankCard ", new { payRecord.UserId, payRecord.BankCard });
                if (ubkCnt == 0)
                {
                    UserBankCard ubk = new UserBankCard();
                    ubk.BankCard = payRecord.BankCard;
                    ubk.TypeId   = 1;
                    ubk.State    = 1;
                    ubk.UserId   = payRecord.UserId;
                    ubk.Mobile   = model.payerPhone;
                    ubk.IP       = ITOrm.Utility.Client.Ip.GetClientIp();
                    ubk.Platform = 1;
                    ubk.BankCode = model.bankCode;
                    userBankCardDao.Insert(ubk);
                }

                if (flag)
                {
                    result = "SUCCESS";
                }
            }
            return(result);
        }
Ejemplo n.º 15
0
        public string withDrawApiNotice()
        {
            bool   flag   = false;
            string result = "fail";
            noticeWithDrawApiModel model = new noticeWithDrawApiModel();

            model.externalNo         = "100000030";
            model.serialNo           = "2342423423";
            model.transferStatus     = "SUCCESSED";
            model.requestTime        = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            model.handleTime         = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            model.transferWay        = "1";
            model.receiver           = "陈鑫";
            model.receiverBankCardNo = "6222020200083410239";
            model.receiverBank       = "工商银行";
            model.amount             = "100";
            model.fee          = "2";
            model.basicFee     = "3";
            model.exTargetFee  = "4";
            model.actualAmount = "91";
            model.failReason   = "成功";


            //返回后日志记录
            Logs.WriteLog("回调参数:" + JsonConvert.SerializeObject(model), "d:\\Log\\Yeepay", "WithDrawApi");
            yeepayLogParasDao.Init(Convert.ToInt32(model.externalNo), JsonConvert.SerializeObject(model), 2);

            int state = -1;

            switch (model.transferStatus)
            {
            case "SUCCESSED":
                state = 10;
                break;

            case "RECEIVED":
                state = 1;
                break;

            case "PROCESSING":
                state = 2;
                break;

            case "FAILED":
                state = -1;
                break;

            case "REFUNED":
                state = -2;
                break;

            case "CANCELLED":
                state = -3;
                break;

            default:
                state = -4;
                break;
            }
            //更新
            yeepayLogDao.UpdateState(Convert.ToInt32(model.externalNo), model.transferStatus == "SUCCESSED" ? "0000" : "9999", model.failReason, state);
            var yeepayLog = yeepayLogDao.Single(Convert.ToInt32(model.externalNo));
            var draw      = withDrawDao.Single(yeepayLog.KeyId);

            if (draw.State == 10)
            {
                result = "SUCCESS";
                return(result);
            }


            //修改订单信息
            draw.UTime   = DateTime.Now;
            draw.State   = state;
            draw.Message = model.failReason;
            if (state == 10)
            {
                draw.Receiver           = model.receiver;
                draw.ReceiverBankCardNo = model.receiverBankCardNo;
                draw.ReceiverBank       = model.receiverBank;
                draw.Fee          = Convert.ToDecimal(model.fee);
                draw.BasicFee     = Convert.ToDecimal(model.basicFee);
                draw.ExTargetFee  = Convert.ToDecimal(model.exTargetFee);
                draw.ActualAmount = Convert.ToDecimal(model.actualAmount);
                flag = withDrawDao.Update(draw);
            }
            //添加支付银行卡
            int ubkCnt = withDrawDao.Count(" UserId=@UserId and TypeId=0 and State=1 and  BankCard=@BankCard ", new { draw.UserId, draw.ReceiverBankCardNo });

            if (ubkCnt == 0)
            {
                UserBankCard ubk = new UserBankCard();
                ubk.BankCard = model.receiverBankCardNo;
                ubk.TypeId   = 0;
                ubk.State    = 1;
                ubk.UserId   = draw.UserId;
                //ubk.Mobile = model.payerPhone;
                ubk.IP       = ITOrm.Utility.Client.Ip.GetClientIp();
                ubk.Platform = 1;
                //ubk.BankCode = model.bankCode;
                userBankCardDao.Insert(ubk);
            }

            if (flag)
            {
                result = "SUCCESS";
            }

            return(result);
        }
 public IResult Update(UserBankCard userBankCard)
 {
     _userBankCardDal.Delete(userBankCard);
     return(new SuccessResult(Messages.Deleted));
 }
Ejemplo n.º 17
0
 /// <summary>
 /// 插入数据
 /// </summary>
 /// <returns>返回,成功:true,失败:false</returns>
 public int Insert(UserBankCard entity)
 {
     return(dal.Insert(entity));
 }
Ejemplo n.º 18
0
 /// <summary>
 /// Delete,根据实体对象删除
 /// </summary>
 /// <returns>返回,成功:true,失败:false</returns>
 public bool Delete(UserBankCard entity)
 {
     return(dal.Update(entity));
 }