public Order updateStatus(Order order) { if (order != null) { using (DataContext db = new SqlserverContext()) { Table <Order> T_Order = db.GetTable <Order>(); //Order orders = (from c in T_Order where c.UserID == userId && c.ID == orderId select c) as Order; Order orders = T_Order.FirstOrDefault <Order>(x => x.ID.Equals(order.ID)); LogerHelper.debug(orders.UserID); if (orders != null) { Order order1 = T_Order.FirstOrDefault <Order>(x => x.ID.Equals(order.ID)); order1.State = (int)Commons.Type.USING; db.SubmitChanges(); LogerHelper.debug("还车修改订单状态成功!" + orders.State); if (orders != null) { return(orders); } } else { LogerHelper.debug("还车修改订单状态失败!"); } } } else { LogerHelper.debug("输入order为空"); } return(null); }
public ActionResult Register(UserReg infos, HttpPostedFileBase UserDriverLicense) { LogerHelper.debug("/User/Register" + infos.LoginID + " " + infos.LoginPwd); DefaultResult result = new DefaultResult(); try { //判断是普通用户 if (String.IsNullOrWhiteSpace(infos.LoginID) || String.IsNullOrWhiteSpace(infos.LoginPwd) || String.IsNullOrWhiteSpace(infos.CardId) || UserDriverLicense == null || String.IsNullOrWhiteSpace(infos.appkey) || String.IsNullOrWhiteSpace(infos.phone) || String.IsNullOrWhiteSpace(infos.zone) || String.IsNullOrWhiteSpace(infos.code) ) { //注册信息不全,返回json字符串{‘’:‘’} result.Code = "0101"; result.Data = ""; result.Message = "用户注册输入参数有空值"; //账号:11位数字 //密码:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。 } //else if (!(Regex.IsMatch(info.Telephone,@"^[0-9]{11}$")&&Regex.IsMatch(info.Password,@"^[0-9a-zA-Z]{32}$"))) //{ // json.Data = new UserRegResult() { Code = "00", Response = "00", Data = "00", Message = "输入参数格式不对" }; //} else { string DriverLicensePath = string.Empty; DriverLicensePath = SaveFile(UserDriverLicense, DriverLicensePath); infos.UserDriveLicense = DriverLicensePath; //创建普通用户并增加权限 UserLogin logins = userbll.UserRegHandler(infos); if (logins != null) {//账号不存在 //USER_MANAGER.addPrivilege(current); result.Code = "0000"; result.Data = ""; result.Message = "用户注册成功"; LogHelper.OutPut(this.Url.RequestContext, "用户注册成功"); } else {//账号存在 result.Code = "0001"; result.Data = ""; result.Message = "用户注册失败"; LogHelper.OutPut(this.Url.RequestContext, "用户注册失败"); } } } catch (Exception e) { result.Code = "0201"; result.Data = ""; result.Message = "系统繁忙,请联系客服"; LogHelper.Exception(this.Url.RequestContext, e); //注册出现异常 } return(Json(result)); }
//记录输入参数日志 public static void Input(params object[] p) { foreach (object t in p) { //如果参数是对象,输出序列化后对象 //如过参数是一个或多个字符串 LogerHelper.debug(ObjectToJson(t)); } }
public bool cupPayment(Cup cup) { if (!String.IsNullOrWhiteSpace(cup.txnType) && !String.IsNullOrWhiteSpace(cup.txnTime) && !String.IsNullOrWhiteSpace(cup.respCode) && !String.IsNullOrWhiteSpace(cup.merId) && !String.IsNullOrWhiteSpace(cup.orderId) && !String.IsNullOrWhiteSpace(cup.payType) && !String.IsNullOrWhiteSpace(cup.payCardNo) && cup.txnAmt != 0) { //1.发送到消息队列 2.存入缓存 //交易成功 if (cup.respCode.Equals(Commons.CUP_SUCCESS)) { Order order = alipayDb.QueryOrder(cup.orderId) as Order; //存在该订单 if (order != null) { Recharge charge = new Recharge() { ID = Guid.NewGuid().ToString(), UserID = order.UserID, OrderID = cup.orderId, //单位:分 Amount = cup.txnAmt, Creater = Commons.orderHandler.USER.ToString(), CreateTime = DateTime.Now.ToString(), PayOrderID = cup.queryId, Remark = "银联消费类交易交易", Type = (int)Commons.PayType.RECHARGE }; OrderLog orderlog = new OrderLog() { CarID = order.CarID, CreateTime = DateTime.Now.ToString(), OrderID = cup.orderId, Remark = "银联订单支付完成", State = (int)Commons.Type.USING, Time = DateTime.Now.ToString(), UserID = order.UserID }; cupQueue.SendCup(cup); cupQueue.SendRecharge(charge); LogerHelper.debug("银联操作成功"); //cupQueue.SendOrderLog(orderlog); return(true); } } } return(false); }
public bool alipayPayment(Com.ChinaPalmPay.Platform.RentCar.Model.Alipay alipay) { //验证是否是支付宝发出的通知 //如果alipay通知正确,存入消息队列 if (!String.IsNullOrWhiteSpace(alipay.out_trade_no) && alipay.total_fee != 0 && !String.IsNullOrWhiteSpace(alipay.trade_status) && !String.IsNullOrWhiteSpace(alipay.trade_no)) { //1.发送到消息队列 2.存入缓存 //交易成功 if (alipay.trade_status.Equals(Commons.success) || alipay.trade_status.Equals(Commons.finished)) { Order order = alipayDb.QueryOrder(alipay.out_trade_no); if (order != null) { Recharge charge = new Recharge() { ID = Guid.NewGuid().ToString(), UserID = order.UserID, OrderID = alipay.out_trade_no, //单位:分 Amount = alipay.total_fee * 100, Creater = Commons.orderHandler.USER.ToString(), CreateTime = DateTime.Now.ToString(), PayOrderID = alipay.trade_no, Remark = "支付宝交易", Type = (int)Commons.PayType.RECHARGE }; OrderLog orderlog = new OrderLog() { CarID = order.CarID, CreateTime = DateTime.Now.ToString(), OrderID = alipay.out_trade_no, Remark = "支付宝订单支付完成", State = (int)Commons.Type.USING, Time = DateTime.Now.ToString(), UserID = order.UserID }; alipayQueue.Send(alipay); alipayQueue.Send(charge); //alipayQueue.Send(orderlog); LogerHelper.debug("支付宝操作成功"); return(true); } } } return(false); }
//***********************用户注册DB操作BEGIN********************************* public UserLogin Create(UserGroup Base, UserLogin login, User info, UserRegister register) { //DbTransaction tran = null; //DbConnection conn = null; //内存中不包含该用户,保存用户信息 if (Base != null && info != null && login != null && register != null) { using (DataContext db = new SqlserverContext()) { Table <UserGroup> T_UserGroup = db.GetTable <UserGroup>(); Table <UserLogin> T_UserLogin = db.GetTable <UserLogin>(); Table <User> T_User = db.GetTable <User>(); Table <UserRegister> T_UserRegister = db.GetTable <UserRegister>(); //conn = db.Connection; //if (conn.State == ConnectionState.Closed) //{ // conn.Open(); // tran = conn.BeginTransaction(); //} T_UserGroup.InsertOnSubmit(Base); T_UserLogin.InsertOnSubmit(login); T_User.InsertOnSubmit(info); T_UserRegister.InsertOnSubmit(register); //tran.Commit(); db.SubmitChanges(); LogerHelper.debug("REGESTER SUCCESS"); //conn.Close(); return(login); //注册账号已经存在 } } // ctx.Connection.Close(); //数据保存出错 //HashOperator.getInstance().Set<UserGroup>("InsertUserBaseError", Base.ID, Base); //HashOperator.getInstance().Set<User>("InsertUserInfoError", info.UserGroupID, info); //保存失败,继续存储,保证数据库与内存数据实现同步 //Thread oThread = new Thread(delegate() //{ // List<UserGroup> _userbase = HashOperator.getInstance().GetAll<UserGroup>("InsertUserBaseError"); // List<User> _userinfo = HashOperator.getInstance().GetAll<User>("InsertUserInfoError"); // SaveOrUpdateError.insertUser(_userbase, _userinfo); //}); //oThread.Name = "INSERT_User"; //oThread.Start(); //存储日志 return(null); }
public ActionResult PayNotifyUrl() { try { string[] strs = Request.RawUrl.ToString().Split("/".ToCharArray()); string userID = strs[strs.Length - 1]; LogerHelper.DefaultInfo(strs[strs.Length - 1]); NotifyHandler resHandler = new NotifyHandler(Request.InputStream); Hashtable table = resHandler.Parameters; ArrayList akeys = new ArrayList(table.Keys); akeys.Sort(); foreach (string k in akeys) { string v = (string)table[k]; LogerHelper.DefaultInfo(v); } string openid = resHandler.GetParameter("openid"); string total_fee = resHandler.GetParameter("total_fee"); string out_trade_no = resHandler.GetParameter("out_trade_no"); LogerHelper.DefaultInfo("total_fee: " + total_fee); LogerHelper.DefaultInfo("out_trade_no: " + out_trade_no); resHandler.SetKey(Mch_Id); //验证请求是否从微信发过来(安全) // if (resHandler.IsTenpaySign()) // { //正确的订单处理 LogerHelper.DefaultInfo("nofify ok"); //此处userid是回调url最后一个参数 if (paymentbll.chargePayment(userID, Convert.ToInt32(total_fee), out_trade_no, (int)Commons.PayType.RECHARGE)) { LogerHelper.debug("微信支付成功!"); } // WebHelper.Post(LocalContext.platformUrl + "/Pay/Recharge", "UserID=" + (Common.GlobalMap[openid] as UserInformation).userid + "Amount=" + total_fee + "PayOrderID=" + out_trade_no + "Type=1"); // } // else // { //错误的订单处理 // LogerHelper.DefaultInfo("nofify no"); // } } catch (Exception ex) { LogerHelper.DefaultInfo("ex: " + ex.ToString()); } return(Content("success")); }
public ActionResult verifyOpenId(string openid) { DefaultResult result = new DefaultResult(); try { if (!String.IsNullOrWhiteSpace(openid)) { User user = userbll.queryOpenIdHandler(openid); if (user != null) { LogerHelper.debug("查询openid" + openid); result.Code = "0000"; result.Data = new { UserId = user.UserId, PhoneNumber = user.PhoneNumber, Password = user.Password, CardID = user.CardID, UserDriverLicense = Properties.getHost() + user.UserDriverLicense, UserStatus = user.UserStatus }; result.Message = "微信账号openId已存在"; LogHelper.OutPut(this.Url.RequestContext, new { UserId = user.UserId, PhoneNumber = user.PhoneNumber, Password = user.Password, CardID = user.CardID, UserDriverLicense = Properties.getHost() + user.UserDriverLicense, UserStatus = user.UserStatus }); } else { result.Code = "0001"; result.Data = null; result.Message = "微信账号openId不存在"; LogHelper.OutPut(this.Url.RequestContext, "微信账号openId不存在"); } } else { result.Code = "0101"; result.Data = ""; result.Message = "微信账号openid参数为null"; } } catch (Exception e) { result.Code = "0201"; result.Data = ""; result.Message = "系统繁忙,请联系客服"; LogHelper.Exception(this.Url.RequestContext, e); } return(Json(result)); }
public CarStat addCarStat(OrderLog order) { LogerHelper.DefaultInfo("addCarStat:" + order.OrderID); //增加车状态 using (DataContext db = new SqlserverContext()) { Table <CarStat> T_PILE = db.GetTable <CarStat>(); CarStat stat = new CarStat(); CarStat c = (from m in T_PILE where m.CarID == order.CarID select m).FirstOrDefault(); stat.id = Guid.NewGuid().ToString().Replace("-", ""); stat.stat = (int)Commons.CatStatus.idle; stat.UserID = order.UserID; stat.CarID = order.CarID; stat.PilesID = c.PilesID; stat.CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); T_PILE.InsertOnSubmit(stat); db.SubmitChanges(); LogerHelper.debug("还车 Add CarStat 成功!"); return(stat); } }
// GET: /Pay/ /**充值或消费或付款**/ //IOS侧微信支付回调 //192.168.0.5:8787/Pay/Recharge public ActionResult Charge(string UserID, int?Amount, string PayOrderID, int?Type) { string response = Request.Params.ToString(); LogerHelper.DefaultInfo("微信回调"); LogerHelper.DefaultInfo(response); string rrr = Request.Form.ToString(); LogerHelper.DefaultInfo("POST:" + rrr); if (paymentbll.chargePayment(UserID, Amount, PayOrderID, Type)) { LogerHelper.debug("微信支付成功!"); } return(Content("cccc")); //if (!String.IsNullOrWhiteSpace(UserID) && !String.IsNullOrWhiteSpace(UserID) // &&!String.IsNullOrWhiteSpace(UserID) && !String.IsNullOrWhiteSpace(UserID)) //{ //} //return null; }
public ActionResult WeChatUserReg(string PhoneNumber, string Password, string IDCardNo, string OpenID, HttpPostedFileBase UserDriverLicense) { LogerHelper.debug("/User/WeChatUserReg " + PhoneNumber + " " + Password + " " + IDCardNo + " " + OpenID + " " + UserDriverLicense); DefaultResult result = new DefaultResult(); try { if (!String.IsNullOrWhiteSpace(PhoneNumber) && !String.IsNullOrWhiteSpace(Password) && !String.IsNullOrWhiteSpace(OpenID) && !String.IsNullOrWhiteSpace(IDCardNo) && UserDriverLicense != null) { User userByCardID = db_manager.getUserByCardID(IDCardNo); //if (userByCardID!=null && userByCardID.PhoneNumber == PhoneNumber) { // result.Code = "0005"; // result.Data = null; // result.Message = "身份证已存在,手机号码不一致"; // LogHelper.OutPut(this.Url.RequestContext, "微信用户绑定失败"); // return Json(result); //} //User userByPhoneNumber = db_manager.getUserByPhoneNumber(PhoneNumber); //if (userByPhoneNumber != null && userByPhoneNumber.CardID == IDCardNo) //{ // result.Code = "0006"; // result.Data = null; // result.Message = "手机号码已存在,身份证不一致"; // LogHelper.OutPut(this.Url.RequestContext, "微信用户绑定失败"); // return Json(result); //} if (userByCardID != null && !userByCardID.PhoneNumber.Equals(PhoneNumber)) { result.Code = "0005"; result.Data = null; result.Message = "身份证已存在,手机号码不一致"; LogHelper.OutPut(this.Url.RequestContext, "微信用户绑定失败"); return(Json(result)); } User userByPhoneNumber = db_manager.getUserByPhoneNumber(PhoneNumber); if (userByPhoneNumber != null && !userByPhoneNumber.CardID.Equals(IDCardNo)) { result.Code = "0006"; result.Data = null; result.Message = "手机号码已存在,身份证不一致"; LogHelper.OutPut(this.Url.RequestContext, "微信用户绑定失败"); return(Json(result)); } string DriverLicensePath = string.Empty; // filePicturePath = SaveFile(filePicture, filePicturePath); // info.PitcurePath = filePicturePath; DriverLicensePath = SaveFile(UserDriverLicense, DriverLicensePath); User use = userbll.WechatUserReg(PhoneNumber, Password, IDCardNo, OpenID, DriverLicensePath); if (use != null) { result.Code = "0000"; result.Data = new { userId = use.UserId, CardId = use.CardID, UserDriverLicense = Properties.getHost() + use.UserDriverLicense, UserStatus = use.UserStatus }; result.Message = "微信用户绑定成功"; LogHelper.OutPut(this.Url.RequestContext, new { userId = use.UserId, CardId = use.CardID, UserDriverLicense = Properties.getHost() + use.UserDriverLicense, UserStatus = use.UserStatus }); } else { result.Code = "0001"; result.Data = null; result.Message = "微信用户绑定失败"; LogHelper.OutPut(this.Url.RequestContext, "微信用户绑定失败"); } } else { result.Code = "0101"; result.Data = ""; result.Message = "微信用户绑定输入参数有空值"; } } catch (Exception ex) { LogerHelper.debug("绑定异常!" + ex.Message); result.Code = "0201"; result.Data = ""; result.Message = "系统繁忙,请联系客服"; LogHelper.Exception(this.Url.RequestContext, ex); } return(Json(result)); }
//银联支付结果回调接口 public ActionResult CupComplete(Cup cup) { LogerHelper.DefaultInfo(Request.ToString()); if (Request.HttpMethod == "POST") { // 使用Dictionary保存参数 Dictionary <string, string> resData = new Dictionary <string, string>(); NameValueCollection coll = Request.Form; string[] requestItem = coll.AllKeys; for (int i = 0; i < requestItem.Length; i++) { resData.Add(requestItem[i], Request.Form[requestItem[i]]); } // 返回报文中不包含UPOG,表示Server端正确接收交易请求,则需要验证Server端返回报文的签名 if (SDKUtil.Validate(resData, Encoding.UTF8)) { cup.accNo = resData["accNo"]; cup.bindId = resData["bindId"]; cup.bizType = resData["bizType"]; cup.cupParams = coll.ToString(); cup.id = resData["id"]; cup.merId = resData["merId"]; cup.orderId = resData["orderId"]; cup.payCardIssueName = resData["payCardIssueName"]; cup.payCardNo = resData["payCardNo"]; cup.payCardType = resData["payCardType"]; cup.payType = resData["payType"]; cup.queryId = resData["queryId"]; cup.respCode = resData["respCode"]; cup.respMsg = resData["respMsg"]; cup.settleAmt = Convert.ToInt32(resData["settleAmt"]); cup.settleDate = resData["settleDate"]; cup.txnAmt = Convert.ToInt32(resData["txnAmt"]); cup.txnTime = resData["txnTime"]; cup.txnType = resData["txnType"]; string respcode = resData["respCode"]; //Response.Write("商户端验证返回报文签名成功\n"); //商户端根据返回报文内容处理自己的业务逻辑 ,DEMO此处只输出报文结果 //StringBuilder builder = new StringBuilder(); //builder.Append("<tr><td align=\"center\" colspan=\"2\"><b>商户端接收银联返回报文并按照表格形式输出结果</b></td></tr>"); //for (int i = 0; i < requestItem.Length; i++) //{ // builder.Append("<tr><td width=\"30%\" align=\"right\">" + requestItem[i] + "</td><td style='word-break:break-all'>" + Request.Form[requestItem[i]] + "</td></tr>"); //} //builder.Append("<tr><td width=\"30%\" align=\"right\">商户端验证银联返回报文结果</td><td>验证签名成功.</td></tr>"); //Response.Write(builder.ToString()); cup.cupParams = coll.ToString(); cup.id = Guid.NewGuid().ToString().Replace("-", ""); if (paymentbll.cupPayment(cup)) { LogerHelper.debug("银联支付成功"); return(Content("success")); } } else { LogerHelper.debug("银联支付失败"); // Response.Write("<tr><td width=\"30%\" align=\"right\">商户端验证银联返回报文结果</td><td>验证签名失败.</td></tr>"); } } return(Content("fail")); }