protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { int shopid = MyCommFun.RequestInt("shopid"); if (shopid == 0) { Response.Redirect("index.aspx"); } float x = MyCommFun.RequestFloat("x", 0); float y = MyCommFun.RequestFloat("y", 0); int wid = MyCommFun.RequestWid(); if (wid == 0) { return; } if (x == 0 || y == 0) { Response.Redirect("index.aspx"); } BindData(wid, shopid, x, y); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { float xPoint = MyCommFun.RequestFloat("x", 0); float yPoint = MyCommFun.RequestFloat("y", 0); if (xPoint == 0 || yPoint == 0) { return; } int wid = MyCommFun.RequestWid(); if (wid == 0) { return; } BindData(xPoint, yPoint, wid); } }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/json"; string _action = MyCommFun.QueryString("myact"); string openid = MyCommFun.RequestOpenid(); //得到微信用户的openid Dictionary <string, string> jsonDict = new Dictionary <string, string>(); int sid = MyCommFun.RequestInt("sid"); int uid = 0; BLL.wx_ucard_store storeBll = new BLL.wx_ucard_store(); BLL.wx_ucard_users_consumeinfo conBll = new BLL.wx_ucard_users_consumeinfo(); BLL.wx_ucard_score scoreBll = new BLL.wx_ucard_score(); BLL.wx_ucard_users userBll = new BLL.wx_ucard_users(); Model.wx_ucard_users_consumeinfo consume = new Model.wx_ucard_users_consumeinfo(); Model.wx_ucard_score score = new Model.wx_ucard_score(); Model.wx_ucard_store store = storeBll.GetModel(sid); if (store == null) { jsonDict.Add("ret", "err"); jsonDict.Add("msg", "店铺不存在"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } if (_action == "userreg") { #region //用户第一次领取卡 jsonDict = new Dictionary <string, string>(); if (sid == 0) { jsonDict.Add("ret", "error"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } string tel = MyCommFun.QueryString("tel"); string realName = MyCommFun.QueryString("truename"); XCWeiXin.Model.wx_ucard_users user = userBll.GetStoreUserInfo(openid, sid); if (user == null) { //第一次添加 user = new Model.wx_ucard_users(); user.mobile = tel; user.realName = realName; user.regTime = DateTime.Now; user.sid = sid; user.openid = openid; user.ttScore = 0; user.consumeScore = 0; user.qdScore = 0; user.consumeMoney = 0; user.regIp = MXRequest.GetIP(); int ret = userBll.Add(user); if (ret > 0) { jsonDict.Add("ret", "succ"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); } else { jsonDict.Add("ret", "err"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); } } else { user.mobile = tel; user.realName = realName; user.regTime = DateTime.Now; user.sid = sid; user.openid = openid; user.regIp = MXRequest.GetIP(); bool ret = userBll.Update(user); if (ret) { jsonDict.Add("ret", "succ"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); } else { jsonDict.Add("ret", "err"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); } } context.Response.End(); #endregion } else if (_action == "qiandao") { #region 签到 jsonDict = new Dictionary <string, string>(); sid = MyCommFun.RequestInt("sid"); uid = MyCommFun.RequestInt("uid"); if (sid == 0 || uid == 0) { jsonDict.Add("ret", "error"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } bool hasqd = conBll.hasDayQD(sid, uid, DateTime.Now); int retScore = 0; if (!hasqd) { //新增 //取签到积分策略 score = scoreBll.GetStoreModel(sid); if (score != null) { //判断是否6天连续签到,并且6天内没有给额外的奖励 DateTime day6before = DateTime.Now.AddDays(-6); int record = conBll.GetRecordCount("sId=" + sid + " and uid=" + uid + " and moduleType='签到' and addTime>='" + day6before.ToShortDateString() + "' and addTime<'" + DateTime.Now.ToShortDateString() + "' and moduleActionId=6 "); if (record >= 5) { consume = new Model.wx_ucard_users_consumeinfo(); consume.sId = sid; consume.uid = uid; consume.moduleType = "签到"; consume.moduleActionName = "连续6天签到奖励"; consume.moduleActionId = 6; consume.score = MyCommFun.Obj2Int(score.qiandao6Score) + score.qiandaoScore.Value; conBll.AddJiFen(consume, 0); retScore = MyCommFun.Obj2Int(score.qiandao6Score) + score.qiandaoScore.Value; } else { consume = new Model.wx_ucard_users_consumeinfo(); consume.sId = sid; consume.uid = uid; consume.moduleType = "签到"; consume.score = score.qiandaoScore.Value; conBll.AddJiFen(consume, 0); retScore = score.qiandaoScore.Value; } } } jsonDict.Add("ret", "succ"); jsonDict.Add("msg", "+" + retScore + "分,明天继续"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); #endregion } else if (_action == "tequan") { #region //消费: 特权 ,注意,只有在新增这个的时候记录user表总积分,修改的时候 对user表的总积分和金额先减后加 jsonDict = new Dictionary <string, string>(); sid = MyCommFun.RequestInt("sid"); //店铺id uid = MyCommFun.RequestInt("uid"); //用户id string sn = MyCommFun.QueryString("sncode"); string pwd = MyCommFun.QueryString("parssword"); float money = MyCommFun.RequestFloat("money", 0); int pid = MyCommFun.RequestInt("pid"); //特权主键id string type = MyCommFun.QueryString("type"); //tequan:特权 if (sid == 0 || uid == 0 || pid == 0) { jsonDict.Add("ret", "error"); jsonDict.Add("msg", "error"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } if (pwd != store.consumePwd) { jsonDict.Add("ret", "error"); jsonDict.Add("msg", "密码错误"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } int ssid = userBll.ExistsStoreAndUser(uid); if (ssid == 0 || sid != ssid) { //验证,用户存在,店铺存在,并且用户属于这个店铺 return; } BLL.wx_ucard_privileges privBll = new BLL.wx_ucard_privileges(); Model.wx_ucard_privileges privileges = privBll.GetModel(pid); if (privileges == null) { jsonDict.Add("ret", "error"); jsonDict.Add("msg", "特权不存在"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } //积分策略 score = scoreBll.GetStoreModel(sid); int avgScore = score.consumeMoneyScore.Value / score.consumeMoney.Value; //1先添加消费明细,和修改用户的总积分和总消费金额 //IList<Model.wx_ucard_users_consumeinfo> conlist = conBll.GetModelList("moduleType='特权' and moduleActionId=" + privileges.id + " and sid=" + sid + " and uid=" + uid); //if (conlist == null || conlist.Count <= 0 || conlist[0] == null) //{ //新增 consume = new Model.wx_ucard_users_consumeinfo(); consume.moduleActionId = 10; consume.moduleType = "特权"; consume.moduleActionId = privileges.id; consume.moduleActionName = privileges.pName; consume.sId = sid; consume.uid = uid; consume.consumeMoney = (decimal)money; consume.addTime = DateTime.Now; consume.sn = sn; consume.pwd = pwd; consume.cMoneyType = 2; consume.score = (int)(avgScore * money); consume.cScoreType = 1; conBll.Add(consume, true); //} //else //{ // //修改 // consume = conlist[0]; // decimal oldMoney = MyCommFun.Obj2Decimal(consume.consumeMoney, 0); // int oldScore = MyCommFun.Obj2Int(consume.score); // consume.moduleActionName = privileges.pName; // consume.consumeMoney = (decimal)money; // consume.sn = sn; // consume.pwd = pwd; // consume.cMoneyType = 2; // consume.score = (int)(avgScore * money); // conBll.UpdateInfoAndUserTT(consume, oldMoney, oldScore); //} jsonDict.Add("ret", "succ"); jsonDict.Add("msg", "获得" + consume.score.Value + "积分 "); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); #endregion } else if (_action == "lq_yhq") { #region 领取优惠券 jsonDict = new Dictionary <string, string>(); sid = MyCommFun.RequestInt("sid"); //店铺id uid = MyCommFun.RequestInt("uid"); //用户id string sn = MyCommFun.QueryString("sncode"); string pwd = MyCommFun.QueryString("parssword"); float money = MyCommFun.RequestFloat("money", 0); int ticketId = MyCommFun.RequestInt("cid");//优惠券主键id if (sid == 0 || uid == 0 || ticketId == 0) { jsonDict.Add("ret", "error"); jsonDict.Add("msg", "error"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } if (pwd != store.consumePwd) { jsonDict.Add("ret", "error"); jsonDict.Add("msg", "密码错误"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } int ssid = userBll.ExistsStoreAndUser(uid); if (ssid == 0 || sid != ssid) { //验证,用户存在,店铺存在,并且用户属于这个店铺 return; } BLL.wx_ucard_ticket ticketBll = new BLL.wx_ucard_ticket(); Model.wx_ucard_ticket ticket = ticketBll.GetModel(ticketId); if (ticket == null) { jsonDict.Add("ret", "error"); jsonDict.Add("msg", "优惠券不存在"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } int syTimes = ticketBll.getsyTimesByTicket(uid, ticketId); if (syTimes <= 0) { jsonDict.Add("ret", "error"); jsonDict.Add("msg", "已没有使用次数"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } //积分策略 score = scoreBll.GetStoreModel(sid); int avgScore = score.consumeMoneyScore.Value / score.consumeMoney.Value; //1先添加消费明细,和修改用户的总积分和总消费金额 //新增 consume = new Model.wx_ucard_users_consumeinfo(); consume.moduleActionId = 10; consume.moduleType = "优惠券"; consume.moduleActionId = ticket.id; consume.moduleActionName = ticket.tName; consume.sId = sid; consume.uid = uid; consume.consumeMoney = (decimal)money; consume.addTime = DateTime.Now; consume.sn = sn; consume.pwd = pwd; consume.cMoneyType = 2; consume.score = (int)(avgScore * money); consume.cScoreType = 1; conBll.Add(consume, true); syTimes -= 1; jsonDict.Add("ret", "succ"); jsonDict.Add("msg", "获得" + consume.score.Value + "积分 "); jsonDict.Add("sy", syTimes.ToString()); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); #endregion } else if (_action == "gift") { #region 兑换礼品券 jsonDict = new Dictionary <string, string>(); sid = MyCommFun.RequestInt("sid"); //店铺id uid = MyCommFun.RequestInt("uid"); //用户id string sn = MyCommFun.QueryString("sncode"); string pwd = MyCommFun.QueryString("parssword"); float money = MyCommFun.RequestFloat("money", 0); int giftId = MyCommFun.RequestInt("gid");//礼品主键id if (sid == 0 || uid == 0 || giftId == 0) { jsonDict.Add("ret", "error"); jsonDict.Add("msg", "error"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } if (pwd != store.consumePwd) { jsonDict.Add("ret", "error"); jsonDict.Add("msg", "密码错误"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } int ssid = userBll.ExistsStoreAndUser(uid); if (ssid == 0 || sid != ssid) { //验证,用户存在,店铺存在,并且用户属于这个店铺 return; } BLL.wx_ucard_gift giftBll = new BLL.wx_ucard_gift(); Model.wx_ucard_gift gift = giftBll.GetModel(giftId); if (gift == null) { jsonDict.Add("ret", "error"); jsonDict.Add("msg", "优惠券不存在"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } int userTTScore = userBll.GetUserJiFen(uid); if (userTTScore < gift.score.Value) { jsonDict.Add("ret", "error"); jsonDict.Add("msg", "积分不够"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } //1先添加消费明细,和修改用户的总积分和总消费金额 //新增 consume = new Model.wx_ucard_users_consumeinfo(); consume.moduleActionId = 10; consume.moduleType = "礼品券"; consume.moduleActionId = gift.id; consume.moduleActionName = gift.gName; consume.sId = sid; consume.uid = uid; consume.addTime = DateTime.Now; consume.sn = sn; consume.pwd = pwd; consume.score = -gift.score.Value; consume.cScoreType = 1; conBll.Add(consume, false); jsonDict.Add("ret", "succ"); jsonDict.Add("msg", "成功兑换礼品扣除 " + gift.score.Value + " 积分 "); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); #endregion } }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/json"; BLL.wx_shop_cart cartBll = new BLL.wx_shop_cart(); string _action = MyCommFun.QueryString("myact"); string openid = MyCommFun.RequestOpenid(); //得到微信用户的openid Dictionary <string, string> jsonDict = new Dictionary <string, string>(); if (_action == "addCart") { #region 添加购物车 try { int wid = MyCommFun.RequestInt("wid"); int productId = MyCommFun.RequestInt("productid"); int skuId = MyCommFun.RequestInt("mid"); string skuInfo = MyCommFun.QueryString("attr"); int productNum = MyCommFun.RequestInt("bc"); decimal totalPrice = (decimal)MyCommFun.RequestFloat("totprice", 0); Model.wx_shop_cart cart = new Model.wx_shop_cart(); IList <Model.wx_shop_cart> cartList = cartBll.GetModelList("productId=" + productId + " and openid='" + openid + "' and skuId=" + skuId); bool isAdd = true; if (cartList != null && cartList.Count > 0) { isAdd = false; cart = cartList[0]; } if (isAdd) { cart.createDate = DateTime.Now; cart.openid = openid; cart.productId = productId; cart.productNum = productNum; cart.skuId = skuId; cart.skuInfo = skuInfo; cart.totPrice = totalPrice * productNum; cart.wid = wid; int ret = cartBll.Add(cart); if (ret > 0) { jsonDict.Add("errCode", "false"); } else { jsonDict.Add("errCode", "true"); } } else { cart.openid = openid; cart.productNum += productNum; cart.skuId = skuId; cart.skuInfo = skuInfo; cart.totPrice += totalPrice * productNum; cart.wid = wid; bool ret = cartBll.Update(cart); if (ret) { jsonDict.Add("errCode", "false"); } else { jsonDict.Add("errCode", "true"); } } } catch (Exception ex) { jsonDict.Add("errCode", "true"); } finally { context.Response.Write(MyCommFun.getJsonStr(jsonDict)); } #endregion } else if (_action == "pcount") { #region 购物车商品数量 jsonDict = new Dictionary <string, string>(); int wid = MyCommFun.RequestInt("wid"); int count = cartBll.GetRecordCount("wid=" + wid + " and openid='" + openid + "'"); jsonDict.Add("data", count.ToString()); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); #endregion } else if (_action == "remove") { #region 移除购物车商品 jsonDict = new Dictionary <string, string>(); int cartId = MyCommFun.RequestInt("id"); cartBll.Delete(cartId); jsonDict.Add("errCode", "false"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); #endregion } else if (_action == "modifyNum") { #region 修改购物车商品数量 jsonDict = new Dictionary <string, string>(); int cartId = MyCommFun.RequestInt("ic"); int newNum = MyCommFun.RequestInt("bc"); cartBll.UpdateNum(cartId, newNum); jsonDict.Add("errCode", "false"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); #endregion } else if (_action == "getCity") { #region 择省份,改变城市列表 int privice = MyCommFun.RequestInt("pvid"); BLL.pre_common_district areaBll = new BLL.pre_common_district(); IList <Model.pre_common_district> disList = areaBll.GetModelList("upid=" + privice + " and level=2"); Model.pre_common_district dis; StringBuilder jsonStr = new StringBuilder("{\"errCode\":0,\"retCode\":0,\"msgType\":0,\"errMsg\":\"\",\"data\":["); for (int i = 0; i < disList.Count; i++) { dis = new Model.pre_common_district(); if (i != disList.Count - 1) { jsonStr.Append("{\"id\":" + disList[i].id + ",\"name\":\"" + disList[i].name + "\"},"); } else { jsonStr.Append("{\"id\":" + disList[i].id + ",\"name\":\"" + disList[i].name + "\"}"); } } jsonStr.Append("]}"); context.Response.Write(jsonStr); #endregion } else if (_action == "getArea") { #region 择城市,改变区域列表 int ctid = MyCommFun.RequestInt("ctid"); BLL.pre_common_district areaBll = new BLL.pre_common_district(); IList <Model.pre_common_district> disList = areaBll.GetModelList("upid=" + ctid + " and level=3"); Model.pre_common_district dis; StringBuilder jsonStr = new StringBuilder("{\"errCode\":0,\"retCode\":0,\"msgType\":0,\"errMsg\":\"\",\"data\":["); for (int i = 0; i < disList.Count; i++) { dis = new Model.pre_common_district(); if (i != disList.Count - 1) { jsonStr.Append("{\"id\":" + disList[i].id + ",\"name\":\"" + disList[i].name + "\"},"); } else { jsonStr.Append("{\"id\":" + disList[i].id + ",\"name\":\"" + disList[i].name + "\"}"); } } jsonStr.Append("]}"); context.Response.Write(jsonStr); #endregion } else if (_action == "order_save") { #region 保存订单信息 //获得传参信息 int wid = MyCommFun.RequestInt("wid"); int payment_id = MyCommFun.RequestInt("pc"); //支付方式:1货到付款;3微支付 int express_id = MyCommFun.RequestInt("mtype"); //物流方式 // string orderStrList = MyCommFun.QueryString("orderStrList"); //检查物流方式 if (express_id == 0) { context.Response.Write("{\"errCode\":3, \"msg\":\"对不起,请选择配送方式!\"}"); return; } BLL.wx_shop_user_addr uAddrBll = new BLL.wx_shop_user_addr(); IList <Model.wx_shop_user_addr> uaddrList = uAddrBll.GetOpenidAddrName(openid, wid); if (uaddrList == null || uaddrList.Count <= 0 || uaddrList[0].id <= 0) { context.Response.Write("{\"errCode\":3, \"msg\":\"收货地址不存在,无法结算!\"}"); return; } //检查购物车商品 IList <Model.cartProduct> cartList = cartBll.GetCartList(openid, wid); if (cartList == null) { context.Response.Write("{\"errCode\":3, \"msg\":\"对不起,购物车为空,无法结算!\"}"); return; } //统计购物车 decimal payable_amount = cartList.Sum(c => c.totPrice); //物流费用 BLL.express expressBll = new BLL.express(); Model.express expModel = expressBll.GetModel(express_id); //支付方式 BLL.payment pbll = new BLL.payment(); Model.payment payModel = pbll.GetModelBypTypeId(payment_id); //保存订单======================================================================= Model.orders model = new Model.orders(); model.order_no = "b" + Utils.GetOrderNumber(); //订单号B开头为商品订单 model.wid = wid; model.openid = openid; model.modelName = "微商城"; model.modelCode = "shop"; model.modelActionName = ""; model.modelActionId = 0; model.user_id = 0; model.user_name = ""; model.payment_id = payment_id; model.express_id = express_id; model.accept_name = uaddrList[0].contractPerson; model.post_code = ""; model.telphone = uaddrList[0].tel; model.mobile = uaddrList[0].tel; model.area = uaddrList[0].province; model.city = uaddrList[0].city; model.district = uaddrList[0].area; model.address = uaddrList[0].province + " " + uaddrList[0].city + " " + uaddrList[0].area + " " + uaddrList[0].addrDetail; model.message = ""; model.payable_amount = payable_amount; //应付商品总金额 model.real_amount = payable_amount; //实际商品总金额, model.status = 1; model.express_status = 1; model.express_fee = expModel.express_fee; //物流费用 if (payment_id == 1) { //货到付款,需要确认订单 model.payment_status = 0; //标记未付款 } else { //先款后货 model.payment_status = 1; //标记未付款 } bool quicklyFH = false; //如果是先款后货的话 if (payment_id == 3) { if (payModel.poundage_type == 1) //百分比 { model.payment_fee = model.real_amount * payModel.poundage_amount / 100; } else //固定金额 { model.payment_fee = payModel.poundage_amount; } BLL.wx_payment_wxpay wxBll = new BLL.wx_payment_wxpay(); Model.wx_payment_wxpay wxpay = wxBll.GetModelByWid(wid); quicklyFH = wxpay.quicklyFH; } if (quicklyFH) { model.express_status = 0; } //订单总金额=实付商品金额+运费+支付手续费 model.order_amount = model.real_amount + model.express_fee + model.payment_fee; //购物积分,可为负数 model.point = 0; model.add_time = DateTime.Now; //商品详细列表 List <Model.order_goods> gls = new List <Model.order_goods>(); foreach (Model.cartProduct item in cartList) { gls.Add(new Model.order_goods { goods_id = item.productId, goods_title = item.productName, goods_price = item.avgPrice, real_price = item.avgPrice, quantity = item.productNum, point = 0 }); } model.order_goods = gls; int result = new BLL.orders().Add(model); if (result < 1) { context.Response.Write("{\"errCode\":3, \"msg\":\"订单保存过程中发生错误,请重新提交!\"}"); return; } //清空购物车,此步骤移到确认支付页面 // //提交成功,返回URL order_no context.Response.Write("{\"errCode\":true,\"payType\":\"" + payment_id + "\", \"order_no\":\"" + model.order_no + "\",\"orderid\":\"" + result + "\",\"wid\":\"" + wid + "\",\"openid\":\"" + openid + "\",\"payable_amount\":\"" + payable_amount + "\", \"msg\":\"恭喜您,订单已成功提交!\"}"); return; #endregion } else if (_action == "order_canel") { #region //取消订单 int orderid = MyCommFun.RequestInt("order_id"); BLL.orders oBll = new BLL.orders(); oBll.UpdateField(orderid, "status=4"); context.Response.Write("{\"errCode\":true, \"msg\":\"订单已取消!\"}"); #endregion } else if (_action == "shouhuo") { #region //确认收货 int orderid = MyCommFun.RequestInt("order_id"); BLL.orders oBll = new BLL.orders(); Model.orders order = oBll.GetModel(orderid); if (order.payment_id == 1) { //货到付款 oBll.UpdateField(orderid, "express_status=2,payment_status=2 , status=3"); } else { //在线支付 oBll.UpdateField(orderid, "express_status=2,payment_status=2 , status=3"); } context.Response.Write("{\"errCode\":true, \"msg\":\"确认收货!\"}"); #endregion } else if (_action == "clearMyOrder") { #region 清空我的购物车订单,在支付页面,支付成功后执行此功能 int wid = MyCommFun.RequestInt("wid"); cartBll.RemoveCartInfo(wid, openid); #endregion } }