/// <summary> /// 更新拼团状态 /// </summary> public void UpdateGroupState() { using (brnshopEntities context = new brnshopEntities()) { var tran = context.Database.BeginTransaction(); try { //支付超时 var groups = context.bsp_groups.Where(t => t.isfail == false && t.isfinish == false && t.endtime <= DateTime.Now).ToList(); groups.ForEach(g => { g.isfail = true; }); context.SaveChanges(); //确认收货超时 //var maxquerytime = DateTime.Now.AddMinutes(-119); //orders = context.bsp_orders.Where(t => t.orderstate == (int)OrderState.Sending && t.shiptime.Value <= maxquerytime).ToList(); //orders.ForEach(o => //{ // o.orderstate = (int)OrderState.WaitReview; //}); context.SaveChanges(); tran.Commit(); } catch (Exception ex) { tran.Rollback(); Logger._.Error("更新拼团状态任务执行失败:", ex); } } }
/// <summary> /// 删除包厢 /// </summary> /// <param name="boxid"></param> /// <returns></returns> public ResultModel DeleteBox(int boxid) { using (brnshopEntities context = new brnshopEntities()) { var tran = context.Database.BeginTransaction(); try { var box = context.bsp_boxes.SingleOrDefault(t => t.boxid == boxid); if (box == null) { return(ResultModel.Fail("该包厢已删除,请刷新")); } context.bsp_boxes.Remove(box); context.SaveChanges(); tran.Commit(); new BoxCache().Init(); return(ResultModel.Success("删除成功")); } catch (Exception ex) { tran.Rollback(); Logger._.Error(ex); return(ResultModel.Error(ex.ToString())); } } }
/// <summary> /// 获取当前拼团活动正在进行的团 /// </summary> /// <returns></returns> public ResultModel GetRunningGroupListByInfo(int groupInfoId) { using (brnshopEntities context = new brnshopEntities()) { try { string sql = $@"select bsp_groups.*, bsp_groupdetails.groupdetailid gd_groupdetailid, bsp_groupdetails.groupid gd_groupid, bsp_groupdetails.paytime gd_paytime, bsp_groupdetails.sno gd_sno, bsp_groupdetails.uid gd_uid from bsp_groups left join bsp_groupdetails on bsp_groupdetails.groupid = bsp_groups.groupid where groupinfoid = {groupInfoId} and isfinish = 0 and isfail = 0"; var dt = SqlManager.FillDataTable(AppConfig.ConnectionString, new SqlCommand(sql)); var groups = dt.GetList <GroupModel>("").Distinct(new DistinctModel <GroupModel>()).ToList(); foreach (var group in groups) { //拼团信息 DataTable gddt = dt.Select($"groupid = {group.groupid}").CopyToDataTable(); group.details = gddt.GetList <GroupDetailModel>(""); } return(ResultModel.Success("", groups)); } catch (Exception ex) { Logger._.Error("GroupInfoList方法,", ex); return(ResultModel.Error(ex.ToString())); } } }
/// <summary> /// 更新包厢 /// </summary> /// <param name="boxid"></param> /// <param name="state"></param> /// <param name="name"></param> /// <returns></returns> public ResultModel UpdateBox(int boxid, BoxState state, string name, decimal price, decimal bookprice) { using (brnshopEntities context = new brnshopEntities()) { var tran = context.Database.BeginTransaction(); try { var box = context.bsp_boxes.SingleOrDefault(t => t.boxid == boxid); if (box == null) { return(ResultModel.Fail("该包厢已删除,请刷新")); } box.state = (int)state; box.name = name; box.price = price; box.bookprice = bookprice; if (state == BoxState.Empty) { box.username = ""; box.phone = ""; } context.SaveChanges(); tran.Commit(); new BoxCache().Init(); return(ResultModel.Success("修改成功")); } catch (Exception ex) { tran.Rollback(); Logger._.Error(ex); return(ResultModel.Error(ex.ToString())); } } }
/// <summary> /// 获取当前属性下的属性值列表 /// </summary> public List <AttributeValueInfo> GetAttributeValueInfos(int attrid) { using (brnshopEntities context = new brnshopEntities()) { try { List <AttributeValueInfo> result = new List <AttributeValueInfo>(); var attributevaluess = context.bsp_attributevalues.Where(t => t.attrid == attrid).ToList(); foreach (var attrvalue in attributevaluess) { AttributeValueInfo newattrvalue = new AttributeValueInfo() { attrvalueid = attrvalue.attrvalueid, attrvalue = attrvalue.attrvalue, attrname = attrvalue.attrname, }; result.Add(newattrvalue); } return(result); } catch (Exception ex) { Logger._.Error(ex); return(null); } } }
/// <summary> /// 新增拼团活动 /// </summary> public ResultModel CreateGroupInfo(GroupInfoModel model) { using (brnshopEntities context = new brnshopEntities()) { try { bsp_groupinfos newGroupInfo = new bsp_groupinfos(); newGroupInfo.endtime = model.endtime; newGroupInfo.groupoid = model.groupoid; newGroupInfo.groupprice = model.groupprice; newGroupInfo.grouptype = model.grouptype; newGroupInfo.maxtime = model.maxtime; newGroupInfo.needcount = model.needcount; newGroupInfo.shopprice = model.shopprice; newGroupInfo.starttime = model.starttime; context.bsp_groupinfos.Add(newGroupInfo); context.SaveChanges(); return(ResultModel.Success("新增成功")); } catch (Exception ex) { Logger._.Error("CreateGroupInfo方法,", ex); return(ResultModel.Error(ex.ToString())); } } }
/// <summary> /// 获取已经存在的属性列表 /// </summary> /// <returns></returns> public List <AttributeInfo> GetAttributeInfos() { using (brnshopEntities context = new brnshopEntities()) { try { List <AttributeInfo> result = new List <AttributeInfo>(); var attributes = context.bsp_attributes.ToList(); foreach (var attribute in attributes) { AttributeInfo newattr = new AttributeInfo() { attrid = attribute.attrid, name = attribute.name, remark = attribute.remark }; result.Add(newattr); } return(result); } catch (Exception ex) { Logger._.Error(ex); return(new List <AttributeInfo>()); } } }
public ResultModel AddAttributeValue(short attrid, string value) { using (brnshopEntities context = new brnshopEntities()) { try { var attrvalue = context.bsp_attributevalues.SingleOrDefault(t => t.attrid == attrid && t.attrvalue == value); if (attrvalue != null) { return(ResultModel.Fail("该属性值已经存在")); } var attr = context.bsp_attributes.SingleOrDefault(t => t.attrid == attrid); bsp_attributevalues newattrvalue = new bsp_attributevalues(); newattrvalue.attrid = attrid; newattrvalue.attrname = attr.name; newattrvalue.attrvalue = value; context.bsp_attributevalues.Add(newattrvalue); context.SaveChanges(); return(ResultModel.Success("", newattrvalue.attrvalueid)); } catch (Exception ex) { Logger._.Error(ex); return(ResultModel.Error(ex.ToString())); } } }
/// <summary> /// 添加分类 /// </summary> /// <returns></returns> public ResultModel AddCateGory(string name, int displayorder = 0) { using (brnshopEntities context = new brnshopEntities()) { try { var catrgory = context.bsp_categories.SingleOrDefault(t => t.name == name); if (catrgory != null) { return(ResultModel.Fail("已存在该分类")); } bsp_categories newcate = new bsp_categories(); newcate.name = name; newcate.displayorder = displayorder; newcate.pricerange = ""; newcate.path = ""; context.bsp_categories.Add(newcate); context.SaveChanges(); return(ResultModel.Success("添加成功", newcate.cateid)); } catch (Exception ex) { Logger._.Error(ex); return(ResultModel.Error(ex.ToString())); } } }
/// <summary> /// 删除分类 /// </summary> /// <param name="cateid"></param> /// <returns></returns> public ResultModel DeleteCateGory(int cateid) { using (brnshopEntities context = new brnshopEntities()) { try { var sql = $@"select COUNT(bsp_cateproducts.catepid) from bsp_cateproducts left join bsp_products on bsp_products.pid = bsp_cateproducts.pid where bsp_products.isdelete = 0 and bsp_cateproducts.cateid = {cateid}" ; var dt = SqlManager.FillDataTable(AppConfig.ConnectionString, new SqlCommand(sql)); if (dt != null && dt.Rows.Count > 0) { if (int.Parse(dt.Rows[0][0].ToString()) > 0) { return(ResultModel.Fail("该分类下存在商品,不允许删除")); } } var cate = context.bsp_categories.SingleOrDefault(t => t.cateid == cateid); if (cate == null) { return(ResultModel.Fail("该分类已经删除,请刷新")); } context.bsp_categories.Remove(cate); context.SaveChanges(); return(ResultModel.Success("删除成功")); } catch (Exception ex) { Logger._.Error(ex); return(ResultModel.Error(ex.ToString())); } } }
public ResultModel AddSKU(int pid, int valueid, int isdefaultprice, decimal price) { using (brnshopEntities context = new brnshopEntities()) { try { var sku = context.bsp_productskus.SingleOrDefault(t => t.pid == pid && t.attrvalueid == valueid); if (sku != null) { return(ResultModel.Fail("该规格SKU已经存在")); } var attrvalue = context.bsp_attributevalues.SingleOrDefault(t => t.attrvalueid == valueid); bsp_productskus newsku = new bsp_productskus(); newsku.pid = pid; newsku.attrid = attrvalue.attrid; newsku.attrvalueid = valueid; newsku.inputattr = attrvalue.attrname; newsku.inputvalue = attrvalue.attrvalue; newsku.isdefaultprice = isdefaultprice; newsku.price = price; context.bsp_productskus.Add(newsku); context.SaveChanges(); ProductCache.InitProductList(); return(ResultModel.Success("", newsku.recordid)); } catch (Exception ex) { Logger._.Error(ex); return(ResultModel.Error(ex.ToString())); } } }
/// <summary> /// 客户端调用Login之后传回Code,根据code获取openid,如果已存在用户信息,则返回用户信息,否则返回错误状态值,前端再请求用户授权 /// </summary> public ResultModel Login(string code) { string session2Url = string.Format("https://api.weixin.qq.com/sns/jscode2session?appid={0}&secret={1}&js_code={2}&grant_type=authorization_code", WXPayHelper.appid, WXPayHelper.appsecret, code); var jsonstr = HttpHelper.HttpGet(session2Url, ""); Code2SessionModel result = JsonConvert.DeserializeObject <Code2SessionModel>(jsonstr); if (result.errcode != 0) { Logger._.Error($"code2session接口请求失败,errcode:{result.errcode},errmsg:{result.errmsg}"); return(ResultModel.Error($"code2session接口请求失败,errcode:{result.errcode},errmsg:{result.errmsg}")); } using (brnshopEntities context = new brnshopEntities()) { try { var user = context.bsp_users.SingleOrDefault(t => t.openid == result.openid); if (user == null) { return(ResultModel.Fail(result.openid)); } return(ResultModel.Success("", user2ShowUser(user))); }catch (Exception ex) { Logger._.Error(ex); return(ResultModel.Error("数据库操作异常")); } } }
/// <summary> /// 编辑商家信息 /// </summary> /// <param name="model"></param> /// <returns></returns> public ResultModel EditSYSInfo(ShowSYSModel model) { using (brnshopEntities context = new brnshopEntities()) { try { var sys = context.bsp_businesses.FirstOrDefault(); sys.address = model.address; sys.name = model.name; sys.businessEnd = sys.businessEnd; sys.businessStart = sys.businessStart; sys.businessTimeStr = sys.businessTimeStr; sys.canSendRadius = sys.canSendRadius; sys.description = sys.description; sys.latitude = sys.latitude; sys.longitude = sys.longitude; sys.showimg = sys.showimg; context.SaveChanges(); return(ResultModel.Success("修改成功")); } catch (Exception ex) { Logger._.Error(ex); return(ResultModel.Error()); } } }
/// <summary> /// 获取首页拼团列表 /// </summary> /// <returns></returns> public LayuiTableApiResult GroupInfoListForAdmin() { using (brnshopEntities context = new brnshopEntities()) { LayuiTableApiResult result = new LayuiTableApiResult(); try { string sql = $@"select * from bsp_groupinfos"; List <GroupInfoModel> groupInfos = context.Database.SqlQuery <GroupInfoModel>(sql).ToList(); var couponTypes = coupon.GetCouponTypeForGroup(); foreach (var groupInfo in groupInfos) { groupInfo.couponTypeInfo = couponTypes.SingleOrDefault(t => t.ct_coupontypeid == groupInfo.groupoid); bool isfind = false; foreach (var products in ProductCache.ProductList) { foreach (var product in products.productInfos) { if (product.pid == groupInfo.couponTypeInfo.ct_pid) { groupInfo.productInfo = product; isfind = true; break; } } if (isfind) { break; } } var couponTypeInfodes = ""; if (groupInfo.couponTypeInfo.ct_type == 1) { couponTypeInfodes = $@" 满{Math.Round(groupInfo.couponTypeInfo.ct_fullmoney, 2)}减{Math.Round(groupInfo.couponTypeInfo.ct_cutmoney, 2)}"; } else { couponTypeInfodes = $@" {(int)groupInfo.couponTypeInfo.ct_discount}折"; } groupInfo.title = groupInfo.couponTypeInfo.ct_name + couponTypeInfodes; } result.code = 0; result.msg = ""; result.count = groupInfos.Count; result.data = groupInfos; return(result); } catch (Exception ex) { Logger._.Error("GroupInfoList方法,", ex); result.code = 1; result.msg = "GroupInfoList方法," + ex.ToString(); return(result); } } }
/// <summary> /// 新增优惠券(后台) /// </summary> /// <param name="model"></param> /// <returns></returns> public ResultModel AddCouponType(ShowCouponTypeInfo model) { using (brnshopEntities context = new brnshopEntities()) { var tran = context.Database.BeginTransaction(); try { //新增 if (model.ct_coupontypeid == 0) { bsp_coupontypes newcoupontype = new bsp_coupontypes(); newcoupontype.cutmoney = model.ct_cutmoney; newcoupontype.discount = model.ct_discount; newcoupontype.fullmoney = model.ct_fullmoney; newcoupontype.count = 0; newcoupontype.getmode = 0; newcoupontype.isstack = model.ct_isstack; newcoupontype.limitbrandid = 0; newcoupontype.limitcateid = 0; newcoupontype.limitproduct = 0; newcoupontype.money = 0; newcoupontype.name = model.ct_name; newcoupontype.orderamountlower = 0; newcoupontype.sendendtime = model.ct_sendendtime; newcoupontype.sendmode = 0; newcoupontype.sendstarttime = model.ct_sendstarttime; newcoupontype.state = 0; newcoupontype.type = model.ct_type; newcoupontype.useendtime = model.ct_useexpiretime == 1?model.ct_useendtime:DateTime.Now; newcoupontype.useexpiretime = model.ct_useexpiretime; newcoupontype.usemode = 0; newcoupontype.userranklower = 0; newcoupontype.usestarttime = model.ct_useexpiretime == 1 ? model.ct_usestarttime : DateTime.Now; newcoupontype.isforgroup = model.ct_isforgroup; context.bsp_coupontypes.Add(newcoupontype); context.SaveChanges(); if (model.ct_pid > 0) { bsp_couponproducts bsp_Couponproduct = new bsp_couponproducts(); bsp_Couponproduct.coupontypeid = newcoupontype.coupontypeid; bsp_Couponproduct.pid = model.ct_pid; context.bsp_couponproducts.Add(bsp_Couponproduct); context.SaveChanges(); } } tran.Commit(); return(ResultModel.Success("添加成功")); } catch (Exception ex) { tran.Rollback(); Logger._.Error(ex); return(ResultModel.Error()); } } }
/// <summary> /// 从缓存根据对象名获取文件地址 /// </summary> /// <param name="objectname"></param> /// <returns></returns> public static string GetFile(string objectname) { lock (GetFileObject) { try { var filecache = files.OrderByDescending(t => t.expiretime).FirstOrDefault(t => t.objectname == objectname); if (filecache == null || filecache.expiretime < DateTime.Now.AddMinutes(3)) { OSSHelper oSSHelper = new OSSHelper(); DateTime expireTime = DateTime.Now.AddMinutes(30); string ossurl = oSSHelper.GetFilePath(objectname, expireTime); using (brnshopEntities context = new brnshopEntities()) { var bsp_file = context.bsp_files.SingleOrDefault(t => t.objectname == objectname); bsp_file.ossurl = ossurl; if (filecache == null) { FileCacheModel newfilecache = new FileCacheModel(); newfilecache.expiretime = expireTime; newfilecache.objectname = objectname; newfilecache.ossurl = ossurl; newfilecache.requestcount = 1; newfilecache.timestamp = bsp_file.timestamp; files.Add(newfilecache); //if(files.Count() > 999) //{ // files.RemoveAt(0); //}//控制filecache数量 } else { filecache.ossurl = ossurl; filecache.expiretime = expireTime; filecache.requestcount++; bsp_file.requestcount += filecache.requestcount; filecache.requestcount = 0; } context.SaveChanges(); } Logger._.Info(files.Count.ToString()); return(ossurl); }//缓存中没有或三分钟内要过期就请求oss获取地址存入缓存和数据库 else { filecache.requestcount++; return(filecache.ossurl); } } catch (Exception ex) { Logger._.Error(ex); return(""); } } }
/// <summary> /// 用户参团(支付回调时调用) /// </summary> /// <returns></returns> public ResultModel JoinGroup(int GroupId, int uid, string outtradeno, string transaction_id) { using (brnshopEntities context = new brnshopEntities()) { var tran = context.Database.BeginTransaction(); try { bsp_groups Group = context.bsp_groups.SingleOrDefault(t => t.groupid == GroupId); Group.nowcount += 1; //拼团成功,发放优惠券 if (Group.needcount <= Group.nowcount) { Group.isfinish = true; Group.endtime = DateTime.Now; var groupdetails = context.bsp_groupdetails.Where(t => t.groupid == GroupId).ToList(); foreach (var groupdetail in groupdetails) { if (!groupdetail.isgetcoupon.Value) { coupon.RecpientCoupon(groupdetail.uid, Group.groupoid); groupdetail.isgetcoupon = true; } } } bsp_groupdetails newGroupetail = new bsp_groupdetails(); newGroupetail.groupid = Group.groupid; newGroupetail.paytime = DateTime.Now; newGroupetail.sno = Group.nowcount; newGroupetail.uid = uid; newGroupetail.isgetcoupon = false; newGroupetail.paytime = DateTime.Parse("1997-01-27"); newGroupetail.transaction_id = transaction_id; newGroupetail.outtradeno = outtradeno; if (Group.needcount <= Group.nowcount) { coupon.RecpientCoupon(newGroupetail.uid, Group.groupoid); newGroupetail.isgetcoupon = true; } context.bsp_groupdetails.Add(newGroupetail); context.SaveChanges(); ORDER.AddStatistics(true, Group, newGroupetail, context); tran.Commit(); return(ResultModel.Success("参团成功")); } catch (Exception ex) { Logger._.Error("JoinGroup方法,", ex); tran.Rollback(); return(ResultModel.Error(ex.ToString())); } } }
/// <summary> /// 用户发起拼团支付 /// </summary> /// <param name="isstart">1开团 2参团</param> /// <param name="gid"></param> /// <param name="uid"></param> /// <returns></returns> public ResultModel PayGroup(int isstart, int gid, int uid, decimal totalfee) { try { using (brnshopEntities context = new brnshopEntities()) { if (isstart == 1) { var groupCount = context.bsp_groups.Where(t => t.startuid == uid & t.groupinfoid == gid).Count(); if (groupCount > 0) { return(ResultModel.Fail("您已参与过该团")); } } else { var groupCount = context.bsp_groupdetails.Where(t => t.uid == uid & t.groupid == gid).Count(); if (groupCount > 0) { return(ResultModel.Fail("您已参与过该团")); } } var user = context.bsp_users.SingleOrDefault(t => t.uid == uid); WXPayHelper wXPayHelper = new WXPayHelper(); var unifiedorderResult = wXPayHelper.unifiedorderForGroup(isstart, gid, uid, "拼团", user.openid, totalfee); if (!unifiedorderResult.Item1) { return(ResultModel.Fail("拼团支付调用微信下单接口失败,详情见日志")); } SortedDictionary <string, object> payDic = unifiedorderResult.Item2 as SortedDictionary <string, object>; var timestamp = WXPayHelper.GetTimeStamp(); string aSign = $@"appId={payDic["appid"]}&nonceStr={payDic["nonce_str"].ToString()}&package=prepay_id={payDic["prepay_id"].ToString()}&signType=MD5&timeStamp={timestamp}&key={WXPayHelper.apisecret}"; WxpayDataForApi model = new WxpayDataForApi(); model.appId = payDic["appid"].ToString(); model.nonceStr = payDic["nonce_str"].ToString(); model.package = $@"prepay_id={payDic["prepay_id"].ToString()}"; model.paySign = EncryptHelp.EncryptMD5(aSign); model.signType = WxPayAPI.WxPayData.SIGN_TYPE_MD5; model.timeStamp = timestamp; return(ResultModel.Success("", model)); } } catch (Exception ex) { Logger._.Error("PayGroup方法,", ex); return(ResultModel.Error(ex.ToString())); } }
/// <summary> /// 用户开团(支付回调时调用) /// </summary> /// <returns></returns> public ResultModel StartGroup(int groupInfoId, int uid, string outtradeno, string transaction_id) { using (brnshopEntities context = new brnshopEntities()) { var tran = context.Database.BeginTransaction(); try { bsp_groupinfos GroupInfo = context.bsp_groupinfos.SingleOrDefault(t => t.groupinfoid == groupInfoId); bsp_groups newGroup = new bsp_groups(); newGroup.endtime = DateTime.Now.AddSeconds(GroupInfo.maxtime); newGroup.failtype = 0; newGroup.groupoid = GroupInfo.groupoid; newGroup.groupprice = GroupInfo.groupprice; newGroup.grouptype = GroupInfo.grouptype; newGroup.isfail = false; newGroup.isfinish = false; newGroup.maxtime = GroupInfo.maxtime; newGroup.needcount = GroupInfo.needcount; newGroup.nowcount = 1; newGroup.shopprice = GroupInfo.shopprice; newGroup.starttime = DateTime.Now; newGroup.startuid = uid; newGroup.groupinfoid = groupInfoId; context.bsp_groups.Add(newGroup); context.SaveChanges(); bsp_groupdetails newGroupetail = new bsp_groupdetails(); newGroupetail.groupid = newGroup.groupid; newGroupetail.paytime = DateTime.Now; newGroupetail.sno = 1; newGroupetail.uid = uid; newGroupetail.isgetcoupon = false; newGroupetail.paytime = DateTime.Parse("1997-01-27"); newGroupetail.transaction_id = transaction_id; newGroupetail.outtradeno = outtradeno; context.bsp_groupdetails.Add(newGroupetail); context.SaveChanges(); ORDER.AddStatistics(true, newGroup, newGroupetail, context); tran.Commit(); return(ResultModel.Success("开团成功")); } catch (Exception ex) { Logger._.Error("StartGroup方法,", ex); tran.Rollback(); return(ResultModel.Error(ex.ToString())); } } }
/// <summary> /// 添加编辑轮播图 /// </summary> /// <param name="model"></param> /// <returns></returns> public ResultModel AddBanner(AddBannerModel model) { using (brnshopEntities context = new brnshopEntities()) { var tran = context.Database.BeginTransaction(); try { if (model.bannerid == 0) { var newbanner = new bsp_banners(); newbanner.displayorder = model.displayorder; newbanner.endtime = model.endtime; newbanner.img = model.img; newbanner.isshow = 1; newbanner.starttime = model.starttime; newbanner.title = model.title; newbanner.type = (byte)model.bannerType; newbanner.url = model.url; context.bsp_banners.Add(newbanner); } else { var banner = context.bsp_banners.SingleOrDefault(t => t.id == model.bannerid); if (banner == null) { return(ResultModel.Fail("请刷新列表")); } banner.displayorder = model.displayorder; banner.endtime = model.endtime; banner.img = model.img; banner.starttime = model.starttime; banner.type = (byte)model.bannerType; banner.title = model.title; banner.url = model.url; } context.SaveChanges(); tran.Commit(); InitBanners(); return(ResultModel.Success("添加成功")); } catch (Exception ex) { Logger._.Error(ex); tran.Rollback(); return(ResultModel.Error()); } } }
/// <summary> /// 用户领用优惠券接口 /// </summary> /// <param name="uid"></param> /// <param name="couponTypeid"></param> public ResultModel RecpientCoupon(int uid, int couponTypeid, bool isFromGroup = false) { using (brnshopEntities context = new brnshopEntities()) { try { var coupontype = context.bsp_coupontypes.SingleOrDefault(t => t.coupontypeid == couponTypeid); var coupon = context.bsp_coupons.SingleOrDefault(t => t.uid == uid && t.coupontypeid == couponTypeid & t.createtime >= coupontype.sendstarttime & t.createtime <= coupontype.sendendtime); if (coupon != null && !isFromGroup) { return(ResultModel.Fail("您已经领取了该优惠券")); } var newcoupon = new bsp_coupons(); newcoupon.uid = uid; newcoupon.activateip = WXPayHelper.GetPublicIp(); newcoupon.activatetime = DateTime.Now; newcoupon.couponsn = WXPayHelper.GetTimeStamp(); newcoupon.coupontypeid = couponTypeid; newcoupon.createip = ""; newcoupon.createoid = 0; newcoupon.createtime = DateTime.Now; newcoupon.createuid = uid; newcoupon.useip = ""; newcoupon.usetime = DateTime.Parse("1997-01-01"); newcoupon.isuse = 0; if (coupontype.useexpiretime == 0) { newcoupon.expiretime = coupontype.useendtime; } else { newcoupon.expiretime = DateTime.Now.AddSeconds(coupontype.useexpiretime); } context.bsp_coupons.Add(newcoupon); context.SaveChanges(); return(ResultModel.Success()); } catch (Exception ex) { Logger._.Error(ex); return(ResultModel.Error()); } } }
/// <summary> /// 删除拼团活动 /// </summary> /// <param name="model"></param> /// <returns></returns> public ResultModel DeleteGroupInfo(int groupInfoId) { using (brnshopEntities context = new brnshopEntities()) { try { bsp_groupinfos GroupInfo = context.bsp_groupinfos.SingleOrDefault(t => t.groupinfoid == groupInfoId); context.bsp_groupinfos.Remove(GroupInfo); context.SaveChanges(); return(ResultModel.Success("删除成功")); } catch (Exception ex) { Logger._.Error("DeleteGroupInfo方法,", ex); return(ResultModel.Error(ex.ToString())); } } }
/// <summary> /// 删除轮播图 /// </summary> /// <returns></returns> public ResultModel DeleteBanner(int[] ids) { using (brnshopEntities context = new brnshopEntities()) { try { var banners = context.bsp_banners.Where(t => ids.Contains(t.id)).ToList(); context.bsp_banners.RemoveRange(banners); context.SaveChanges(); InitBanners(); return(ResultModel.Success("删除成功")); } catch (Exception ex) { Logger._.Error(ex); return(ResultModel.Error()); } } }
/// <summary> /// 修改商品分类信息 /// </summary> /// <param name="cateid"></param> /// <param name="name"></param> /// <param name="displayorder"></param> /// <returns></returns> public ResultModel UpdateCateGory(int cateid, string name, int displayorder) { using (brnshopEntities context = new brnshopEntities()) { try { var cate = context.bsp_categories.SingleOrDefault(t => t.cateid == cateid); cate.name = name; cate.displayorder = displayorder; context.SaveChanges(); return(ResultModel.Success("修改成功")); } catch (Exception ex) { Logger._.Error(ex); return(ResultModel.Error(ex.ToString())); } } }
public ResultModel Upload(byte[] content, string filename, string client) { OSSHelper osshelper = new OSSHelper(); var suffixname = filename.Split('.')[filename.Split('.').Length - 1]; var timestamp = EncryptHelp.GetTimeStamp(); var objectName = EncryptHelp.GetRandomStr(4) + timestamp + "." + suffixname; if (!osshelper.Upload(content, filename, objectName, OSSHelper.GetContentTypeBySuffix(suffixname))) { return(ResultModel.Error("oss文件上传失败,请联系管理员")); } using (brnshopEntities context = new brnshopEntities()) { try { bsp_files newfile = new bsp_files(); newfile.client = client; newfile.name = filename; newfile.ossurl = ""; newfile.requesturl = ""; newfile.suffixname = suffixname; newfile.timestamp = timestamp; newfile.uploadtime = DateTime.Now; newfile.objectname = objectName; newfile.requestcount = 0; newfile.domain = ConfigurationManager.AppSettings["filedomain"]; context.bsp_files.Add(newfile); context.SaveChanges(); //DateTime expirationTime = DateTime.Now.AddMinutes(30); //GetFilePath(objectName); return(ResultModel.Success(newfile.domain + newfile.objectname)); } catch (Exception ex) { Logger._.Error(ex); return(ResultModel.Error(ex.ToString())); } } }
/// <summary> /// 删除商品 /// </summary> /// <param name="pid"></param> /// <returns></returns> public ResultModel Deleteproduct(int pid) { using (brnshopEntities context = new brnshopEntities()) { var tran = context.Database.BeginTransaction(); try { var pro = context.bsp_products.SingleOrDefault(t => t.pid == pid); pro.isdelete = 1; context.SaveChanges(); tran.Commit(); new ProductCache().Init(); return(ResultModel.Success("删除成功")); } catch (Exception ex) { Logger._.Error(ex); tran.Rollback(); return(ResultModel.Error(ex.ToString())); } } }
public ResultModel DeleteSKU(int pid, int valueid) { using (brnshopEntities context = new brnshopEntities()) { try { var sku = context.bsp_productskus.SingleOrDefault(t => t.pid == pid && t.attrvalueid == valueid); if (sku == null) { return(ResultModel.Fail("该规格SKU已经删除")); } context.bsp_productskus.Remove(sku); context.SaveChanges(); ProductCache.InitProductList(); return(ResultModel.Success()); } catch (Exception ex) { Logger._.Error(ex); return(ResultModel.Error(ex.ToString())); } } }
/// <summary> /// 调用login判断无用户信息后,小程序端通过GetUserInfo之后获取用户信息之后发送给服务端存储,返回用户信息 /// </summary> public ResultModel SetUserInfo(ShowUserInfo showUserInfo) { using (brnshopEntities context = new brnshopEntities()) { try { var newuser = new bsp_users() { admingid = 0, avatar = showUserInfo.avater, email = "", gender = showUserInfo.gender, liftbantime = DateTime.Now, mobile = "", nickname = showUserInfo.nickname, openid = showUserInfo.openid, password = "", paycredits = 0, rankcredits = 0, salt = "", username = showUserInfo.username, userrid = 0, verifyemail = 0, verifymobile = 0 }; context.bsp_users.Add(newuser); context.SaveChanges(); showUserInfo.uid = newuser.uid; return(ResultModel.Success("", showUserInfo)); } catch (Exception ex) { Logger._.Error(ex); return(ResultModel.Error()); } } }
/// <summary> /// 结束发放优惠券 /// </summary> /// <param name="coupontypeids"></param> /// <returns></returns> public ResultModel StopCoupon(int[] coupontypeids) { using (brnshopEntities context = new brnshopEntities()) { var tran = context.Database.BeginTransaction(); try { foreach (var coupontypeid in coupontypeids) { var coupontype = context.bsp_coupontypes.SingleOrDefault(t => t.coupontypeid == coupontypeid); coupontype.sendendtime = DateTime.Now; context.SaveChanges(); } tran.Commit(); return(ResultModel.Success("结束发放成功")); } catch (Exception ex) { tran.Rollback(); Logger._.Error(ex); return(ResultModel.Error()); } } }
public ResultModel AddAttribute(string name) { using (brnshopEntities context = new brnshopEntities()) { try { var attr = context.bsp_attributes.SingleOrDefault(t => t.name == name); if (attr != null) { return(ResultModel.Fail("该属性已经存在")); } bsp_attributes newattr = new bsp_attributes(); newattr.name = name; context.bsp_attributes.Add(newattr); context.SaveChanges(); return(ResultModel.Success("", newattr.attrid)); } catch (Exception ex) { Logger._.Error(ex); return(ResultModel.Error(ex.ToString())); } } }