public ActionResult giveGoods(int appId, int orderId) { if (appId <= 0) { return(Json(new { isok = false, msg = "appId非法" }, JsonRequestBehavior.AllowGet)); } if (dzaccount == null) { return(Json(new { isok = false, msg = "登录信息超时" }, JsonRequestBehavior.AllowGet)); } XcxAppAccountRelation xcx = XcxAppAccountRelationBLL.SingleModel.GetModelByaccountidAndAppid(appId, dzaccount.Id.ToString()); if (xcx == null) { return(Json(new { isok = false, msg = "小程序未授权" }, JsonRequestBehavior.AllowGet)); } ExchangeActivityOrder model = ExchangeActivityOrderBLL.SingleModel.GetModel($"Id={orderId} and appId={appId}"); if (model == null) { return(Json(new { isok = false, msg = "数据不存在" }, JsonRequestBehavior.AllowGet)); } if (model.state != 2) { return(Json(new { isok = false, msg = "状态错误" }, JsonRequestBehavior.AllowGet)); } if (model.Way != 0) { model.state = 4; } else { model.state = 3; } if (ExchangeActivityOrderBLL.SingleModel.Update(model, "state")) { return(Json(new { isok = true, msg = "发货成功!" }, JsonRequestBehavior.AllowGet)); } return(Json(new { isok = false, msg = "发货异常" }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 积分兑换商品 只有返回为2才表示成功 /// </summary> /// <param name="exchangeActivity">兑换商品</param> /// <param name="userId"></param> /// <param name="appId"></param> /// <param name="address">收货地址</param> /// <returns>0→积分不足,1→生成订单失败,2→成功,3→系统异常</returns> public int SubUserIntegral(ExchangeActivity exchangeActivity, int userId, int appId, string address, int way = 0) { //.先生成订单,生成成功后拿到 订单Id //1.根据订单Id更新订单状态 2.扣除积分以及3.插入积分记录日志 放在事务里执行 ExchangeUserIntegral exchangeUserIntegral = GetModel($"userId={userId}"); if (exchangeUserIntegral == null || exchangeUserIntegral.integral < exchangeActivity.integral) { return(-1);//积分不足(请先进行消费获得积分)! } ExchangeActivityOrder exchangeActivityOrder = new ExchangeActivityOrder { appId = appId, UserId = userId, ActivityId = exchangeActivity.id, integral = exchangeActivity.integral, PayWay = 0, BuyCount = 1, address = address, state = 0, AddTime = DateTime.Now, activityImg = exchangeActivity.activityimg, activityName = exchangeActivity.activityname, originalPrice = exchangeActivity.originalPrice, Way = way }; int orderId = Convert.ToInt32(ExchangeActivityOrderBLL.SingleModel.Add(exchangeActivityOrder)); if (orderId <= 0) { return(-2);//支付失败(生成订单失败) } var TranModel = new TransactionModel(); List <string> listSql = new List <string>(); //减积分商品库存 exchangeActivity.stock--; listSql.Add(ExchangeActivityBLL.SingleModel.BuildUpdateSql(exchangeActivity, "stock")); #region 生成积分兑换商品订单操作 //对外订单号规则:年月日时分 + 商品ID最后3位数字 var idStr = exchangeActivity.id.ToString(); if (idStr.Length >= 3) { idStr = idStr.Substring(idStr.Length - 3, 3); } else { idStr.PadLeft(3, '0'); } idStr = $"{DateTime.Now.ToString("yyyyMMddHHmm")}{idStr}"; exchangeActivityOrder.Id = orderId; exchangeActivityOrder.OrderNum = idStr; exchangeActivityOrder.state = 2; exchangeActivityOrder.PayTime = DateTime.Now; listSql.Add(ExchangeActivityOrderBLL.SingleModel.BuildUpdateSql(exchangeActivityOrder, "state,PayTime,OrderNum")); #endregion #region 扣除用户积分操作 exchangeUserIntegral.integral = exchangeUserIntegral.integral - exchangeActivity.integral; exchangeUserIntegral.UpdateDate = DateTime.Now; listSql.Add(BuildUpdateSql(exchangeUserIntegral, "integral,UpdateDate")); #endregion #region 插入积分兑换商品后扣除积分的日志 ExchangeUserIntegralLog userIntegralLog = new ExchangeUserIntegralLog { ruleId = 0, appId = appId, integral = -1, price = 0, ruleType = -1, goodids = "-1", orderId = orderId, usegoodids = "-1", userId = userId, actiontype = -1, curintegral = exchangeActivity.integral, AddTime = DateTime.Now, UpdateDate = DateTime.Now, ordertype = 1, buyPrice = exchangeActivity.price }; listSql.Add(ExchangeUserIntegralLogBLL.SingleModel.BuildAddSql(userIntegralLog)); #endregion if (listSql.Count > 0) { TranModel.Add(listSql.ToArray()); if (ExchangeActivityOrderBLL.SingleModel.ExecuteTransactionDataCorect(TranModel.sqlArray, TranModel.ParameterArray)) { return(orderId); } } return(-3); }