12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using MySystem.MainModels;
- namespace MySystem
- {
- public class ProductNormDbconn
- {
- public readonly static ProductNormDbconn Instance = new ProductNormDbconn();
- #region 获取单个字段
- public ProductNorm Get(int Id)
- {
- string key = "ProductNorm:" + Id;
- if (RedisDbconn.Instance.Exists(key))
- {
- ProductNorm obj = RedisDbconn.Instance.Get<ProductNorm>(key);
- if (obj != null)
- {
- return obj;
- }
- }
- WebCMSEntities db = new WebCMSEntities();
- ProductNorm orderPro = db.ProductNorm.FirstOrDefault(m => m.Id == Id);
- if (orderPro != null)
- {
- RedisDbconn.Instance.Set(key, orderPro);
- RedisDbconn.Instance.SetExpire(key, Library.function.get_Random(1800, 5400));
- }
- return orderPro;
- }
- #endregion
- #region 获取列表
- public List<int> GetList(int ProductId = 1, int pageNum = 1, int pageSize = 10)
- {
- string key = "ProductNorms:" + ProductId;
- List<int> list = new List<int>();
- if (RedisDbconn.Instance.Exists(key))
- {
- list = RedisDbconn.Instance.GetList<int>(key, pageNum, pageSize);
- if (list.Count > 0)
- {
- return list;
- }
- }
- List<int> newlist = new List<int>();
- WebCMSEntities db = new WebCMSEntities();
- var mysqllist = db.ProductNorm.Select(m => new { m.Id, m.ProductId }).Where(m=>m.ProductId == ProductId).OrderByDescending(m => m.Id).ToList();
- if (mysqllist.Count > 0)
- {
- foreach (var sub in mysqllist)
- {
- newlist.Add(sub.Id);
- }
- RedisDbconn.Instance.Clear(key);
- foreach (int sub in newlist)
- {
- RedisDbconn.Instance.AddRightList(key, sub);
- }
- RedisDbconn.Instance.SetExpire(key, Library.function.get_Random(1800, 5400));
- }
- db.Dispose();
- return newlist;
- }
- #endregion
- }
- }
|