/* * 优惠券 */ using System; using System.Collections.Generic; using System.Linq; using System.Data; using MySystem.Models.Main; using Library; using LitJson; namespace MySystem.Service.Main { public class CouponsService { string _conn = ""; public CouponsService() { _conn = ConfigurationManager.AppSettings["SqlConnStr"].ToString(); } /// /// 查询列表 /// /// 关联表 /// 查询条件(sql语句) /// 总数(输出) /// 页码 /// 每页条数 /// public List> List(List relationData, string condition, out int count, int page = 1, int limit = 30, string orderBy = "Sort desc,Id desc") { List fields = new List(); //要显示的列 fields.Add("Id"); fields.Add("CreateDate"); //添加时间 fields.Add("Status"); //状态 fields.Add("Name"); //名称 fields.Add("IsNewUser"); //新创客使用 fields.Add("IsPublic"); //是否公开领取 fields.Add("Stock"); //库存 fields.Add("Kind"); //优惠券类型 fields.Add("MerchantId"); //商家 fields.Add("ProductColId"); //商品分类 fields.Add("ProductId"); //商品 fields.Add("UserMaxLevel"); //创客最高等级 fields.Add("UserMinLevel"); //创客最低等级 fields.Add("UseStartDate"); //开始使用时间 fields.Add("UseEndDate"); //结束使用时间 fields.Add("IsRepeat"); //是否重复 fields.Add("RepeatType"); //重复类型 fields.Add("IsReUse"); //是否一次性使用 fields.Add("PublicStartDate"); //公开领取开始时间 fields.Add("PublicEndDate"); //公开领取结束时间 fields.Add("PublicMax"); //公开每人领取数量 fields.Add("PublicMaxByDay"); //公开每人每天领取数量 fields.Add("IsSuperpose"); //是否叠加使用 fields.Add("AndPromotion"); //是否与促销活动同时使用 fields.Add("FullReduceMoney"); //满多少可用 fields.Add("FullReduceData"); //满减数据 fields.Add("ExpireStartDate"); //过期开始时间 fields.Add("ExpireEndDate"); //过期结束时间 Dictionary obj = new DbService(AppConfig.Base.dbTables, _conn).IndexData("Coupons", relationData, orderBy, page, limit, condition, fields); List> diclist = obj["data"] as List>; count = int.Parse(obj["count"].ToString()); return diclist; } public List> List(List relationData, string condition, int page = 1, int limit = 30, string orderBy = "Sort desc,Id desc") { List fields = new List(); //要显示的列 fields.Add("Id"); fields.Add("CreateDate"); //添加时间 fields.Add("Status"); //状态 fields.Add("Name"); //名称 fields.Add("IsNewUser"); //新创客使用 fields.Add("IsPublic"); //是否公开领取 fields.Add("Stock"); //库存 fields.Add("Kind"); //优惠券类型 fields.Add("MerchantId"); //商家 fields.Add("ProductColId"); //商品分类 fields.Add("ProductId"); //商品 fields.Add("UserMaxLevel"); //创客最高等级 fields.Add("UserMinLevel"); //创客最低等级 fields.Add("UseStartDate"); //开始使用时间 fields.Add("UseEndDate"); //结束使用时间 fields.Add("IsRepeat"); //是否重复 fields.Add("RepeatType"); //重复类型 fields.Add("IsReUse"); //是否一次性使用 fields.Add("PublicStartDate"); //公开领取开始时间 fields.Add("PublicEndDate"); //公开领取结束时间 fields.Add("PublicMax"); //公开每人领取数量 fields.Add("PublicMaxByDay"); //公开每人每天领取数量 fields.Add("IsSuperpose"); //是否叠加使用 fields.Add("AndPromotion"); //是否与促销活动同时使用 fields.Add("FullReduceMoney"); //满多少可用 fields.Add("FullReduceData"); //满减数据 fields.Add("ExpireStartDate"); //过期开始时间 fields.Add("ExpireEndDate"); //过期结束时间 Dictionary obj = new DbService(AppConfig.Base.dbTables, _conn).IndexData("Coupons", relationData, orderBy, page, limit, condition, fields); List> diclist = obj["data"] as List>; return diclist; } /// /// 查询一条记录 /// /// 主键Id /// public Coupons Query(int Id) { WebCMSEntities db = new WebCMSEntities(); Coupons editData = db.Coupons.FirstOrDefault(m => m.Id == Id) ?? new Coupons(); db.Dispose(); return editData; } /// /// 查询记录数 /// /// 主键Id /// public int Count(string condition = "") { int result = 0; DataTable dt = CustomerSqlConn.dtable("select count(Id) from Coupons where 1=1" + condition, _conn); if(dt.Rows.Count > 0) { result = int.Parse(function.CheckInt(dt.Rows[0][0].ToString())); } return result; } /// /// 查询是否存在 /// /// 主键Id /// public bool Exist(int Id) { WebCMSEntities db = new WebCMSEntities(); bool check = db.Coupons.Any(m => m.Id == Id); db.Dispose(); return check; } /// /// 添加数据 /// /// 要设置的字段 /// public AppResultJson Add(Dictionary fields, bool check = true) { if(check) { if (string.IsNullOrEmpty(fields["Name"].ToString())) { return new AppResultJson() { Status = "-1", Info = "请填写名称" }; } if (string.IsNullOrEmpty(fields["Stock"].ToString())) { return new AppResultJson() { Status = "-1", Info = "请填写库存" }; } if (!function.IsNum(fields["Stock"].ToString())) { return new AppResultJson() { Status = "-1", Info = "请填写正确的库存" }; } if (string.IsNullOrEmpty(fields["PublicMax"].ToString())) { return new AppResultJson() { Status = "-1", Info = "请填写公开每人领取数量" }; } if (!function.IsInt(fields["PublicMax"].ToString())) { return new AppResultJson() { Status = "-1", Info = "请填写正确的公开每人领取数量" }; } if (string.IsNullOrEmpty(fields["PublicMaxByDay"].ToString())) { return new AppResultJson() { Status = "-1", Info = "请填写公开每人每天领取数量" }; } if (!function.IsInt(fields["PublicMaxByDay"].ToString())) { return new AppResultJson() { Status = "-1", Info = "请填写正确的公开每人每天领取数量" }; } if (string.IsNullOrEmpty(fields["FullReduceMoney"].ToString())) { return new AppResultJson() { Status = "-1", Info = "请填写满多少可用" }; } if (!function.IsNum(fields["FullReduceMoney"].ToString())) { return new AppResultJson() { Status = "-1", Info = "请填写正确的满多少可用" }; } if (string.IsNullOrEmpty(fields["FullReduceData"].ToString())) { return new AppResultJson() { Status = "-1", Info = "请填写满减数据" }; } if (!function.IsNum(fields["FullReduceData"].ToString())) { return new AppResultJson() { Status = "-1", Info = "请填写正确的满减数据" }; } if (string.IsNullOrEmpty(fields["ExpireStartDate"].ToString())) { return new AppResultJson() { Status = "-1", Info = "请填写过期开始时间" }; } if (string.IsNullOrEmpty(fields["ExpireEndDate"].ToString())) { return new AppResultJson() { Status = "-1", Info = "请填写过期结束时间" }; } } int Id = new DbService(AppConfig.Base.dbTables, _conn).Add("Coupons", fields, 0); return new AppResultJson(){ Status = "1", Data = Id }; } /// /// 修改数据 /// /// 要设置的字段 /// 主键Id public AppResultJson Edit(Dictionary fields, int Id, bool check = true) { if(check) { if (string.IsNullOrEmpty(fields["Name"].ToString())) { return new AppResultJson() { Status = "-1", Info = "请填写名称" }; } if (string.IsNullOrEmpty(fields["Stock"].ToString())) { return new AppResultJson() { Status = "-1", Info = "请填写库存" }; } if (!function.IsNum(fields["Stock"].ToString())) { return new AppResultJson() { Status = "-1", Info = "请填写正确的库存" }; } if (string.IsNullOrEmpty(fields["PublicMax"].ToString())) { return new AppResultJson() { Status = "-1", Info = "请填写公开每人领取数量" }; } if (!function.IsInt(fields["PublicMax"].ToString())) { return new AppResultJson() { Status = "-1", Info = "请填写正确的公开每人领取数量" }; } if (string.IsNullOrEmpty(fields["PublicMaxByDay"].ToString())) { return new AppResultJson() { Status = "-1", Info = "请填写公开每人每天领取数量" }; } if (!function.IsInt(fields["PublicMaxByDay"].ToString())) { return new AppResultJson() { Status = "-1", Info = "请填写正确的公开每人每天领取数量" }; } if (string.IsNullOrEmpty(fields["FullReduceMoney"].ToString())) { return new AppResultJson() { Status = "-1", Info = "请填写满多少可用" }; } if (!function.IsNum(fields["FullReduceMoney"].ToString())) { return new AppResultJson() { Status = "-1", Info = "请填写正确的满多少可用" }; } if (string.IsNullOrEmpty(fields["FullReduceData"].ToString())) { return new AppResultJson() { Status = "-1", Info = "请填写满减数据" }; } if (!function.IsNum(fields["FullReduceData"].ToString())) { return new AppResultJson() { Status = "-1", Info = "请填写正确的满减数据" }; } if (string.IsNullOrEmpty(fields["ExpireStartDate"].ToString())) { return new AppResultJson() { Status = "-1", Info = "请填写过期开始时间" }; } if (string.IsNullOrEmpty(fields["ExpireEndDate"].ToString())) { return new AppResultJson() { Status = "-1", Info = "请填写过期结束时间" }; } } new DbService(AppConfig.Base.dbTables, _conn).Edit("Coupons", fields, Id); return new AppResultJson(){ Status = "1", Data = Id }; } /// /// 逻辑删除 /// /// 主键Id public void Remove(int Id) { Dictionary fields = new Dictionary(); fields.Add("Status", -1); new DbService(AppConfig.Base.dbTables, _conn).Edit("Coupons", fields, Id); } /// /// 删除数据 /// /// 主键Id public void Delete(int Id) { new DbService(AppConfig.Base.dbTables, _conn).Delete("Coupons", Id); } /// /// 排序 /// /// 主键Id /// 排序序号 public void Sort(int Id, int Sort) { new DbService(AppConfig.Base.dbTables, _conn).Sort("Coupons", Sort, Id); } /// /// 导入数据 /// /// json数据 public void Import(string ExcelData) { WebCMSEntities db = new WebCMSEntities(); JsonData list = JsonMapper.ToObject(ExcelData); for (int i = 1; i < list.Count;i++ ) { JsonData dr = list[i]; db.Coupons.Add(new Coupons() { CreateDate = DateTime.Now, UpdateDate = DateTime.Now, }); db.SaveChanges(); } db.Dispose(); } /// /// 导出excel表格 /// /// 查询条件(单个字段) /// 查询条件(sql语句) /// // public void ExportExcel(List relationData, string condition) // { // } } }