コード例 #1
0
        /// <summary>
        /// 会员开销户确认【1301】
        /// 该接口仅用作与市场间核对会员身份,核对成功后返回银行成功,否则返回银行失败。该接口中的子账户账号请不要记录,因为如果1315接口通知失败,会进行回滚。
        /// </summary>
        /// <param name="parmaKeyDict"></param>
        /// <returns></returns>
        public string BuildString_1301(ExHashTable parmaKeyDict)
        {
            string result = string.Empty;
            //接收的数据
            var req = Utils.ToDataResult(parmaKeyDict, GlobalData.B2BSpotVersion);

            if (req != null)
            {
                Req_1301 reqModel     = req.ToModel <Req_1301>();
                var      resModel     = new Res_1301();
                var      notifyResult = new NotifyResult()
                {
                    ReqData    = reqModel,
                    RspData    = resModel,
                    DataResult = req
                };
                //处理业务
                var handler = BuildHandler.GetHandler();
                if (handler != null)
                {
                    handler.Process(req.FuncCode, notifyResult);
                }
                //业务处理成功后更改 响应码:RspCode 为成功 "000000"
                parmaKeyDict.Set("RspCode", notifyResult.RspStatus.Code);
                parmaKeyDict.Set("RspMsg", notifyResult.RspStatus.Msg);
                //返回内容
                result = Utils.JoinModelString <Res_1301>(notifyResult.RspData);
            }
            return(result);
        }
コード例 #2
0
        /// <summary>
        /// 处理1301的请求
        /// </summary>
        /// <param name="req_1301"></param>
        /// <returns></returns>
        public static int AddOrUpdateMemberInfo(Req_1301 req_1301)
        {
            string sql = "select count(1) from MemberInfo where CustAcctId=@CustAcctId and ThirdCustId=@ThirdCustId";
            var    obj = MySqlHelper.ExecuteScalar(strConnection, sql, new MySqlParameter[] {
                new MySqlParameter("@CustAcctId", req_1301.CustAcctId),
                new MySqlParameter("@ThirdCustId", req_1301.ThirdCustId)
            });
            int retValue = -1;

            if (obj != null)
            {
                var param = new MySqlParameter[] {
                    new MySqlParameter("@SupAcctId", req_1301.SupAcctId),
                    new MySqlParameter("@CustAcctId", req_1301.CustAcctId),
                    new MySqlParameter("@CustName", req_1301.CustName),
                    new MySqlParameter("@ThirdCustId", req_1301.ThirdCustId),
                    new MySqlParameter("@IdType", req_1301.IdType),
                    new MySqlParameter("@IdCode", req_1301.IdCode),
                    new MySqlParameter("@CustFlag", req_1301.CustFlag),
                    new MySqlParameter("@TotalAmount", req_1301.TotalAmount),
                    new MySqlParameter("@TotalBalance", req_1301.TotalBalance),
                    new MySqlParameter("@TotalFreezeAmount", req_1301.TotalFreezeAmount)
                };
                if (int.TryParse(obj.ToString(), out retValue) && retValue == 0)
                {
                    //添加
                    sql  = "insert into MemberInfo(`SupAcctId`,`CustAcctId`,`CustName`,`ThirdCustId`,`IdType`,`IdCode`,`CustFlag`,`TotalAmount`,`TotalBalance`,`TotalFreezeAmount`,`LastOption`) values(";
                    sql += "  @SupAcctId,@CustAcctId,@CustName,@ThirdCustId,@IdType,@IdCode,@CustFlag,@TotalAmount,@TotalBalance,@TotalFreezeAmount ,'add_1301') ";
                    obj  = MySqlHelper.ExecuteScalar(strConnection, sql + ";select @@IDENTITY;", param);
                    int.TryParse(obj.ToString(), out retValue);
                }
                else
                {
                    //修改
                    sql = " update MemberInfo set Status=@Status, SupAcctId=@SupAcctId,CustName=@CustName,IdType=@IdType,IdCode=@IdCode,CustFlag=@CustFlag,TotalAmount=@TotalAmount,TotalBalance=@TotalBalance,TotalFreezeAmount=@TotalFreezeAmount,LastOption='update_1301' where CustAcctId=@CustAcctId and ThirdCustId=@ThirdCustId";
                    var list = new List <MySqlParameter>();
                    list.AddRange(param);
                    list.Add(new MySqlParameter("@Status", req_1301.FuncFlag == 1));
                    obj = MySqlHelper.ExecuteNonQuery(strConnection, sql, param);
                    int.TryParse(obj.ToString(), out retValue);
                }
            }
            return(retValue);
        }
コード例 #3
0
        public void Process(string funcCode, NotifyResult notifyResult)
        {
            //通讯信息
            var recvResult = notifyResult.DataResult;

            switch (funcCode)
            {
            case "1301":
            {
                //接收业务数据
                Req_1301 req_1301 = notifyResult.ReqData as Req_1301;
                //处理业务
                //MemberInfoDataAccess.AddOrUpdateMemberInfo(req_1301);

                //构造返回结果
                string serialNumber = AssistantHelper.GetOrderId(6, "yyyyMMddHHmmss", "");
                notifyResult.RspData.ThirdLogNo = serialNumber;
                notifyResult.RspData.Reserve    = "1301";

                notifyResult.RspStatus.Code = "000000";
                notifyResult.RspStatus.Msg  = "交易成功";
            }
            break;

            case "1315":    //出入金账户维护【1315】
            {
                Req_1315 req_1315 = notifyResult.ReqData as Req_1315;
                //处理业务
                //记录签约后返回来的子账户和出入金账号 后续用到
                //MemberInfoDataAccess.AddOrUpdateMemberInfo(req_1315);
                //构造返回结果
                string serialNumber = AssistantHelper.GetOrderId(6, "yyyyMMddHHmmss", "");
                notifyResult.RspData.ThirdLogNo = serialNumber;
                notifyResult.RspData.Reserve    = "1315";

                notifyResult.RspStatus.Code = "000000";
                notifyResult.RspStatus.Msg  = "交易成功";
            }
            break;

            case "1303":    //会员签解约维护【1303】
            {
                //接收业务数据
                Req_1303 req_1303 = notifyResult.ReqData as Req_1303;
                //处理业务
                //MemberInfoDataAccess.AddOrUpdateMemberInfo(req_1303);

                //构造返回结果
                string serialNumber = AssistantHelper.GetOrderId(6, "yyyyMMddHHmmss", "");
                notifyResult.RspData.ThirdLogNo = serialNumber;
                notifyResult.RspData.Reserve    = "1303";
                notifyResult.RspStatus.Code     = "000000";
                notifyResult.RspStatus.Msg      = "交易成功";
            }
            break;

            case "1310":    //入金(银行发起)【1310】
            {
                Req_1310 req_1310 = notifyResult.ReqData as Req_1310;
                //处理业务
                //....

                //构造返回结果
                string serialNumber = AssistantHelper.GetOrderId(6, "yyyyMMddHHmmss", "");
                notifyResult.RspData.ThirdLogNo = serialNumber;
                notifyResult.RspData.Reserve    = "1310";

                notifyResult.RspStatus.Code = "000000";
                notifyResult.RspStatus.Msg  = "交易成功";
            }
            break;

            case "1312":    //出金(银行发起)【1312】
            {
                Req_1312 req_1312 = notifyResult.ReqData as Req_1312;
                //处理业务
                //....

                //构造返回结果
                string serialNumber = AssistantHelper.GetOrderId(6, "yyyyMMddHHmmss", "");
                notifyResult.RspData.ThirdLogNo = serialNumber;
                notifyResult.RspData.Reserve    = "1312";

                notifyResult.RspStatus.Code = "000000";
                notifyResult.RspStatus.Msg  = "交易成功";
            }
            break;

            case "1019":    //查交易网端会员管理账户余额
            {
                Req_1019 req_1019 = notifyResult.ReqData as Req_1019;
                //处理业务
                //....

                //构造返回结果
                string serialNumber = AssistantHelper.GetOrderId(6, "yyyyMMddHHmmss", "");
                notifyResult.RspData.ThirdLogNo = serialNumber;
                notifyResult.RspData.Reserve    = "1019";

                notifyResult.RspStatus.Code = "000000";
                notifyResult.RspStatus.Msg  = "交易成功";
            }
            break;

            case "1326":    //银行复核通知
            {
                Req_1326 req_1326 = notifyResult.ReqData as Req_1326;
                //处理业务
                //....

                //构造返回结果
                string serialNumber = AssistantHelper.GetOrderId(6, "yyyyMMddHHmmss", "");
                notifyResult.RspData.ThirdLogNo = serialNumber;
                notifyResult.RspData.Reserve    = "1326";

                notifyResult.RspStatus.Code = "000000";
                notifyResult.RspStatus.Msg  = "交易成功";
            }
            break;

            case "FILE04":    //ERP文件上传、下载结果通知
            {
                Req_FILE04 req_FILE04 = notifyResult.ReqData as Req_FILE04;
                //处理业务 跨行快付的业务
                //....
                notifyResult.RspStatus.Code = "000000";
                notifyResult.RspStatus.Msg  = "交易成功";
            }
            break;

            case "F002":    //银行通知 明细报表生成通知接口
            {
                Req_F002 req_F002 = notifyResult.ReqData as Req_F002;
                //记录日志

                notifyResult.RspStatus.Code = "000000";
                notifyResult.RspStatus.Msg  = "交易成功";
            }
            break;

            default:
                break;
            }
        }