/// <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); }
/// <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); }
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; } }