public bool Update(CsUsers model) { var strSql = new StringBuilder(); strSql.Append("UPDATE CrabShop.dbo.[CsUsers] SET "); strSql.Append("UserName = @UserName,UserPhone = @UserPhone,UserSex = @UserSex,UserState = @UserState,OpenId = @OpenId,Remarks = @Remarks,UserBalance = @UserBalance,TotalWight = @TotalWight"); strSql.Append(" WHERE UserId = @UserId"); return(DbClient.Excute(strSql.ToString(), model) > 0); }
public int Add(CsUsers model) { var strSql = new StringBuilder(); strSql.Append("INSERT INTO CrabShop.dbo.[CsUsers] ("); strSql.Append("UserName,UserPhone,UserSex,UserState,OpenId,Remarks,UserBalance,TotalWight"); strSql.Append(") VALUES ("); strSql.Append("@UserName,@UserPhone,@UserSex,@UserState,@OpenId,@Remarks,@UserBalance,@TotalWight);"); strSql.Append("SELECT @@IDENTITY"); return(DbClient.ExecuteScalar <int>(strSql.ToString(), model)); }
public IHttpActionResult GetUserInfo(string openId) { CsUsers user = _csUsersBll.GetModel(openId); if (user != null) { return(Json(new { status = true, user })); } LogHelper.Log("public IHttpActionResult GetAddress", "openId 未能查询到用户信息"); return(Json(new { status = false })); }
public IHttpActionResult GetAddress(string openId) { CsUsers user = _csUsersBll.GetModel(openId); if (user != null) { //根据userId查询出发件信息和收获地址信息 List <CsSend> sendList = _csSendBll.GetModelList(" and UserId=" + user.UserId).OrderBy(x => x.IsDefault).ThenBy(x => x.SendId).ToList(); List <CsAddress> addressList = _csAddressBll.GetModelList(" and UserId=" + user.UserId + " and AddressState=1 ").OrderBy(x => x.IsDefault).ThenBy(x => x.AddressId).ToList(); CsDistrictBll disBLL = new CsDistrictBll(); int firstPrice = 0, fllowPrice = 0; if (addressList.Count > 0) { string province = addressList[0].Details.Split('&')[0]; CsDistrict district = disBLL.GetModel(" Name ='" + province + "'"); if (district != null) { firstPrice = district.FirstPrice; fllowPrice = district.FllowPrice; } } return(Json(new { status = true, user, sendList, addressList, firstPrice, fllowPrice })); } LogHelper.Log("public IHttpActionResult GetAddress-------openId:" + openId, "openId 未能查询到用户信息"); return(Json(new { status = false, user = "", sendList = "", addressList = "", firstPrice = 0, fllowPrice = 0 })); }
public IHttpActionResult AddUser(CsUsers user) { user.UserBalance = 0; user.TotalWight = 0; user.UserState = 1; int number = 0; //根据手机号先关联 CsUsers oldUser = _csUsersBll.GetModelByTelPhone(user.UserPhone); if (oldUser != null) { oldUser.OpenId = user.OpenId; bool bl = _csUsersBll.Update(oldUser); if (bl) { number = oldUser.UserId; } } else { number = _csUsersBll.Add(user); } if (number > 0) { return(Json(new { status = true, userid = number })); } else { return(Json(new { status = false, userid = 0 })); } }
public ActionResult ImportCsOrder(string path) { path = AppDomain.CurrentDomain.SetupInformation.ApplicationBase + path.Replace("..", ""); var fileArr = path.Split(new[] { "/" }, StringSplitOptions.RemoveEmptyEntries); var fileName = fileArr[fileArr.Length - 1]; IList <CsOrderView.CsOrderImport> orders; try { orders = NpoiHelper.ReadExcel(path.Replace("/" + fileName, ""), fileName).ToList <CsOrderView.CsOrderImport>(); } catch (Exception ex) { LogHelper.Log(ex.ToJson(), "execl文件读取失败"); return(Json(new ResModel { ResStatus = ResStatue.No, Data = "execl 文件读取失败,请确认文件数据正确, 请检查日志描述" })); } if (!orders.Any()) { return(Json(new ResModel { ResStatus = ResStatue.No, Data = "当前Excel中没有数据,请确认文件是否包含规定完整的数据" })); } var users = _csUsersBll.GetModelList($" AND (UserName IN ('{string.Join("','", orders.Select(x => x.收货人))}') OR UserPhone IN ('{string.Join("','", orders.Select(x => x.收货人电话))}'))"); var products = _csProductsBll.GetModelList(""); var parts = _csPartsBll.GetModelList(""); var data = new List <CsOrderView.CsOrderAndDetail>(); var item = new CsOrderView.CsOrderAndDetail(); var lastType = ExcelRow.Other; // 记录上一行状态 var endEmpty = new List <int>(); // 记录尾部空行 var overEndEmpty = false; // 尾部空行是否结束 for (var i = orders.Count - 1; i >= 0; i--) { var type = ExcelRowType(orders[i]); if (type == ExcelRow.Empty && !overEndEmpty) { endEmpty.Add(i); } else { overEndEmpty = true; } if (type == ExcelRow.Empty && lastType == ExcelRow.Empty && overEndEmpty) { return(Json(new ResModel { ResStatus = ResStatue.No, Data = "当前Excel中,两个订单信息中间,存在连续多空行.请仔细确认数据, 数据一旦上传将无法撤回" })); } lastType = type; } // 将尾部空行删除只保留一个 endEmpty.ForEach(x => orders.RemoveAt(x)); orders.Add(new CsOrderView.CsOrderImport()); foreach (var order in orders) { var type = ExcelRowType(order); if (type == ExcelRow.Other) { return(Json(new ResModel { ResStatus = ResStatue.No, Data = "当前Excel中不满足格式的单元格,请仔细确认数据, 数据一旦上传将无法撤回" })); } if (type == ExcelRow.Empty) { data.Add(item); item = new CsOrderView.CsOrderAndDetail(); continue; } var product = products.FirstOrDefault(x => x.ProductNumber == order.商品编码); var part = parts.FirstOrDefault(x => x.PartNumber == order.商品编码); var pId = 0; // 商品Id var cType = ChoseType.螃蟹; // 蟹或配件 if (product == null && part == null) { return(Json(new ResModel { ResStatus = ResStatue.No, Data = $"商品编码:{order.商品编码},不存在与数据库中,请仔细确认数据" })); } if (product != null) { pId = product.ProductId; cType = ChoseType.螃蟹; } if (part != null) { pId = part.PartId; cType = ChoseType.配件; } if (type == ExcelRow.Order) { var user = users.FirstOrDefault(x => x.UserPhone == order.收货人电话 && x.UserName == order.收货人); int userId; if (user == null) { user = new CsUsers { UserSex = "先生", UserName = order.收货人, UserPhone = order.收货人电话, OpenId = "", Remarks = "", TotalWight = 0, UserBalance = 0, UserState = 1 }; userId = _csUsersBll.Add(user); } else { userId = user.UserId; } Thread.Sleep(5); item.CsOrder = new CsOrder { RowStatus = RowStatus.效.GetHashCode(), DeleteDescribe = "", OrderState = OrderState.已发货.GetHashCode(), UserId = userId, ActualMoney = order.实收金额.ToDecimal(), OrderDelivery = order.货运单号, SendAddress = $"{order.发货人}${order.发货人电话}", OrderAddress = $"${order.收货人}" + $"({user.UserSex})$${order.收货人电话}${order.收货地址})", DeleteDate = "1900-1-1".ToDate(), DiscountMoney = order.总金额.ToDecimal() - order.实收金额.ToDecimal(), OrderDate = DateTime.Now, OrderNumber = DateTime.Now.ToString(OrderNumberFormat), TotalMoney = order.总金额.ToDecimal() }; item.CsOrderDetails.Add(new CsOrderDetail { ProductId = pId, ProductNumber = order.数量.ToInt(), ChoseType = cType.GetHashCode(), TotalPrice = order.单价.ToDecimal() * order.数量.ToInt(), UnitPrice = order.单价.ToDecimal() }); } if (type == ExcelRow.Detail) { item.CsOrderDetails.Add(new CsOrderDetail { ProductId = pId, ProductNumber = order.数量.ToInt(), ChoseType = cType.GetHashCode(), TotalPrice = order.单价.ToDecimal() * order.数量.ToInt(), UnitPrice = order.单价.ToDecimal() }); } } var count = 0; var countDetail = 0; foreach (var d in data) { if (d.CsOrder.RowStatus == RowStatus.无效.GetHashCode()) { return(Json(new ResModel { ResStatus = ResStatue.No, Data = "存在无效订单,请检查表格总的数据是否满足要求" })); } var orderId = _csOrderBll.Add(d.CsOrder); foreach (var detail in d.CsOrderDetails) { detail.OrderId = orderId; _csOrderDetailBll.Add(detail); countDetail++; } count++; } return(Json(new ResModel { ResStatus = ResStatue.Yes, Data = $"导入{count}条订单记录,以及共计{countDetail}条商品记录" })); }