Пример #1
0
        public string GetUrl(string url, object model)
        {
            var modelSys = new
            {
                appKey  = _tuangouAppKey,
                ts      = ToolsCommon.GetTimestampInt32(),
                version = "2.0",
            };

            var sort = modelSys.GetType().GetProperties().OrderBy(a => a.Name);

            string str = "";
            string pas = "";

            foreach (var item in sort)
            {
                str += item.Name + item.GetValue(modelSys, null);
                pas += item.Name + "=" + item.GetValue(modelSys, null) + "&";
            }

            str = _tuangouAppSecret + str + JsonConvert.SerializeObject(model);

            string sign = ToolsCommon.SHA1Encrypt(str);

            return(url + "?" + pas + "sign=" + sign);
        }
Пример #2
0
        public async Task <List <StockRuleShopProdDTO> > GetListShopProdAsync(string userId)
        {
            var rules = new List <StockRuleEntity>();

            using (var context = new O2OContext())
            {
                var service = new BaseService <StockRuleEntity>(context);

                rules = await service
                        .Where(x => x.UserId == userId)
                        .Include(x => x.StockRuleShops)
                        .Include(x => x.StockRuleProds)
                        .ToListAsync();
            }

            var shopProds = new List <StockRuleShopProdDTO>();

            foreach (var rule in rules)
            {
                foreach (var stockRuleShop in rule.StockRuleShops)
                {
                    shopProds.Add(new StockRuleShopProdDTO()
                    {
                        ShopNo         = stockRuleShop.ShopNo,
                        StockRuleProds = rule.StockRuleProds.Select(x => ToolsCommon.EntityToEntity(x, new StockRuleProdDTO()) as StockRuleProdDTO).ToList()
                    });
                }
            }

            return(shopProds);
        }
Пример #3
0
 public void Update(
     string id,
     string userName,
     string loginName,
     string password,
     string connString,
     string ket,
     string description)
 {
     using (O2OContext db = new O2OContext())
     {
         BaseService <UserEntity> baseService = new BaseService <UserEntity>(db);
         UserEntity entity = baseService.FirstOrDefault(a => a.Id == id) ?? throw new ArgumentNullException("ÉÌ»§²»´æÔÚ");
         entity.Id        = id;
         entity.UserName  = userName;
         entity.LoginName = loginName;
         if (!string.IsNullOrWhiteSpace(password))
         {
             entity.PasswordHash = ToolsCommon.MD5Encrypt(password + entity.PasswordSalt);
         }
         if (!string.IsNullOrWhiteSpace(connString))
         {
             entity.ConnString = ToolsCommon.ToBase64(connString);
         }
         entity.Ket         = ket;
         entity.Description = description;
         baseService.Update(entity);
     }
 }
Пример #4
0
        public void Add(
            string id,
            string userName,
            string loginName,
            string password,
            string connString,
            string ket,
            string description)
        {
            UserEntity entity = new UserEntity()
            {
                Id           = id,
                UserName     = userName,
                LoginName    = loginName,
                PasswordSalt = ToolsCommon.CreateVerifyCode(5)
            };

            entity.PasswordHash = ToolsCommon.MD5Encrypt(password + entity.PasswordSalt);
            entity.ConnString   = ToolsCommon.ToBase64(connString);
            entity.Ket          = ket;
            entity.Description  = description;
            entity.CreateDate   = DateTime.Now;
            using (O2OContext db = new O2OContext())
                new BaseService <UserEntity>(db).Add(entity);
        }
Пример #5
0
 public Mt_AccountDTO GetAccount(string userId)
 {
     using (var db = new O2OContext())
     {
         UserEntity userEntity = new BaseService <UserEntity>(db).Entities.FirstOrDefault(a => a.Id == userId);
         return(userEntity != null?ToolsCommon.EntityToEntity(userEntity.Mt_Accounts.FirstOrDefault(), new Mt_AccountDTO()) as Mt_AccountDTO : (Mt_AccountDTO)null);
     }
 }
Пример #6
0
 public Mt_AccountDTO GetAccount(Guid id)
 {
     using (var db = new O2OContext())
     {
         var mtAccountEntity = new BaseService <Mt_AccountEntity>(db).FirstOrDefault(a => a.Id == id);
         return(mtAccountEntity == null ? null : ToolsCommon.EntityToEntity(mtAccountEntity, new Mt_AccountDTO()) as Mt_AccountDTO);
     }
 }
Пример #7
0
        // GET: Main
        public ActionResult Index()
        {
            string id   = Session["UserId"].ToString();
            var    user = _service.Get(id);

            Session["CON_STR"] = ToolsCommon.FromBase64(user.ConnString);

            return(View(user));
        }
Пример #8
0
        public Result List()
        {
            var model = new
            {
                timestamp    = ToolsCommon.GetTimestamp(),
                app_id       = _waimaiAppId,
                app_poi_code = _shopNo,
            };

            string url = GetUrl("https://waimaiopen.meituan.com/api/v1/food/list", model);
            string res = HttpCommon.Get(url);

            JObject json = JObject.Parse(res);

            if (json["error"] != null)
            {
                return(Tools.ResultErr(json["error"]["msg"].ToString()));
            }

            JArray data = JArray.Parse(json["data"].ToString());

            if (data == null)
            {
                return(Tools.ResultErr());
            }

            var list = new List <object>();

            foreach (var d in data)
            {
                JArray skus = JArray.Parse(d["skus"].ToString());
                foreach (var s in skus)
                {
                    if (d["app_food_code"] != null & s["sku_id"] != null)
                    {
                        if (d["app_food_code"].ToString() != "" && s["sku_id"].ToString() != "")
                        {
                            var prod = new
                            {
                                CateName = d["category_name"],
                                ProdCode = d["app_food_code"],
                                ProdNo   = s["sku_id"],
                                ProdName = d["name"],
                                Spec     = s["spec"],
                                Price    = s["price"],
                                Stock    = s["stock"].ToString() == "" ? "9999" : s["stock"],
                                State    = d["is_sold_out"]
                            };

                            list.Add(prod);
                        }
                    }
                }
            }

            return(Tools.ResultOk(list));
        }
Пример #9
0
        public void Add(UserDTO dto)
        {
            using (O2OContext context = new O2OContext())
            {
                BaseService <UserEntity> service = new BaseService <UserEntity>(context);

                var entity = ToolsCommon.EntityToEntity(dto, new UserEntity()) as UserEntity;

                service.Add(entity);
            }
        }
Пример #10
0
        public UserDTO GetByLoginName(string loginName, string id = "")
        {
            using (O2OContext context = new O2OContext())
            {
                BaseService <UserEntity> service = new BaseService <UserEntity>(context);

                var entity = service.Entities.FirstOrDefault(a => a.LoginName == loginName && (id == "" || a.Id != id));

                return(ToolsCommon.EntityToEntity(entity, new UserDTO()) as UserDTO);
            }
        }
Пример #11
0
        public UserDTO Get(string id)
        {
            using (O2OContext context = new O2OContext())
            {
                BaseService <UserEntity> service = new BaseService <UserEntity>(context);

                var entity = service.Entities.FirstOrDefault(a => a.Id == id);

                return(ToolsCommon.EntityToEntity(entity, new UserDTO()) as UserDTO);
            }
        }
Пример #12
0
        public ActionResult GetVerCode()
        {
            //利用CaptchaGen验证码组件,用法参照文档,先通过Nuget安装组件 Install-PackAge CaptchaGen
            //1:获取验证码文字
            var VerNum = ToolsCommon.CreateVerifyCode(4);

            TempData["code"] = VerNum;                                            //保存到Sesion里面,使用过一次后就自动清除,这就是TempData的用法
            MemoryStream ms = ImageFactory.GenerateImage(VerNum, 60, 100, 20, 6); //此处不能用using语法

            return(File(ms, "image/jpeg"));
        }
Пример #13
0
        public Ele_AccountDTO Get(Guid id)
        {
            using (var context = new O2OContext())
            {
                var service = new BaseService <Ele_AccountEntity>(context);

                Ele_AccountEntity entity = service.GetById(id);

                return(ToolsCommon.EntityToEntity(entity, new Ele_AccountDTO()) as Ele_AccountDTO);
            }
        }
Пример #14
0
        public void Update(Ele_AccountDTO dto)
        {
            using (var context = new O2OContext())
            {
                var service = new BaseService <Ele_AccountEntity>(context);

                var entity = ToolsCommon.EntityToEntity(dto, new Ele_AccountEntity()) as Ele_AccountEntity;

                service.Update(entity);
            }
        }
Пример #15
0
        public async Task <ShopConfigDTO> GetAsync(string userId, string shopNo)
        {
            using (var context = new O2OContext())
            {
                var service = new BaseService <ShopConfigEntity>(context);

                var entity = await service.Entities.FirstOrDefaultAsync(a => a.UserId == userId && a.ShopNo == shopNo);

                return(entity is null ? new ShopConfigDTO() : ToolsCommon.EntityToEntity(entity, new ShopConfigDTO()) as ShopConfigDTO);
            }
        }
Пример #16
0
        public void Add(List <PreProdDTO> list)
        {
            using (O2OContext context = new O2OContext())
            {
                BaseService <PreProdEntity> service = new BaseService <PreProdEntity>(context);

                var entityList = list.Select(a => ToolsCommon.EntityToEntity(a, new PreProdEntity()) as PreProdEntity).ToList();

                service.AddRange(entityList);
            }
        }
Пример #17
0
        public void Update(Ele_ShopDTO dto)
        {
            using (O2OContext context = new O2OContext())
            {
                BaseService <Ele_ShopEntity> service = new BaseService <Ele_ShopEntity>(context);

                var entity = ToolsCommon.EntityToEntity(dto, new Ele_ShopEntity()) as Ele_ShopEntity;

                service.Update(entity);
            }
        }
Пример #18
0
        public async Task CreateShopAsync(StockRuleShopDTO input)
        {
            using (var context = new O2OContext())
            {
                var service = new BaseService <StockRuleShopEntity>(context);

                var entity = ToolsCommon.EntityToEntity(input, new StockRuleShopEntity()) as StockRuleShopEntity;

                service.Add(entity);
            }
        }
Пример #19
0
        public async Task <StockRuleProdDTO> GetProdAsync(Guid stockRuleId, string prodNo)
        {
            using (var context = new O2OContext())
            {
                var service = new BaseService <StockRuleProdEntity>(context);

                var entity = await service.Entities.FirstOrDefaultAsync(x => x.StockRuleId == stockRuleId && x.ProdNo == prodNo);

                return(ToolsCommon.EntityToEntity(entity, new StockRuleProdDTO()) as StockRuleProdDTO);
            }
        }
Пример #20
0
        public Result GetOrderDetail(string orderId)
        {
            var data = new
            {
                timestamp = ToolsCommon.GetTimestamp(),
                app_id    = _waimaiAppId,
                order_id  = orderId
            };

            return(Tools.ResultMt(HttpCommon.Get(this.GetUrl("https://waimaiopen.meituan.com/api/v1/order/getOrderDetail", data))));
        }
Пример #21
0
        public void Update(OrderEntity entity, Dictionary <string, object> dic)
        {
            ToolsCommon.SetValue(entity, dic);

            using (var context = new O2OContext())
            {
                var service = new BaseService <OrderEntity>(context);

                service.Update(entity);
            }
        }
Пример #22
0
        public async Task UpdateAsync(List <ShopConfigDTO> inputs)
        {
            using (var context = new O2OContext())
            {
                var service = new BaseService <ShopConfigEntity>(context);

                var userId = inputs[0].UserId;
                service.Delete(x => x.UserId == userId);

                service.AddRange(inputs.Select(x => ToolsCommon.EntityToEntity(x, new ShopConfigEntity()) as ShopConfigEntity));
            }
        }
Пример #23
0
        public Ele_AccountDTO Get(string userId, string shopNo)
        {
            using (var context = new O2OContext())
            {
                var entity = from a in context.Ele_Account
                             join b in context.Ele_Shop on a.Id equals b.AccountId
                             where a.UserId == userId && b.ShopNo == shopNo
                             select a;

                return(ToolsCommon.EntityToEntity(entity, new Ele_AccountDTO()) as Ele_AccountDTO);
            }
        }
Пример #24
0
        public List <UserDTO> GetAll(string para = "")
        {
            using (O2OContext context = new O2OContext())
            {
                BaseService <UserEntity> service = new BaseService <UserEntity>(context);

                return(service.Entities.
                       ToList().
                       Select(a => ToolsCommon.EntityToEntity(a, new UserDTO()) as UserDTO).
                       ToList());
            }
        }
Пример #25
0
        public IEnumerable <dynamic> GetMtFoods(Mt_AccountDTO account, string shopNo)
        {
            var model = new JObject()
            {
                { "timestamp", ToolsCommon.GetTimestamp() },
                { "app_id", account.WaimaiAppId },
                { "app_poi_code", shopNo }
            };

            var url = GetUrl(account.WaimaiAppSecret, "https://waimaiopen.meituan.com/api/v1/food/list", model);
            var res = HttpCommon.Get(url);

            var json = JObject.Parse(res);

            if (json["error"] != null)
            {
                return(new List <dynamic>());
            }

            var data = JArray.Parse(json["data"].ToString());

            var list = new List <dynamic>();

            foreach (var d in data)
            {
                var skus = JArray.Parse(d["skus"].ToString());
                foreach (var s in skus)
                {
                    if (d["app_food_code"] != null & s["sku_id"] != null)
                    {
                        if (d["app_food_code"].ToString() != "" && s["sku_id"].ToString() != "")
                        {
                            var prod = new
                            {
                                CateName = d["category_name"],
                                ProdCode = d["app_food_code"],
                                ProdNo   = s["sku_id"],
                                ProdName = d["name"],
                                Spec     = s["spec"],
                                Price    = s["price"],
                                Stock    = s["stock"].ToString() == "" ? "9999" : s["stock"],
                                State    = d["is_sold_out"]
                            };

                            list.Add(prod);
                        }
                    }
                }
            }

            return(list);
        }
Пример #26
0
        public List <Mt_AccountDTO> GetList(string userId)
        {
            using (var context = new O2OContext())
            {
                var service = new BaseService <Mt_AccountEntity>(context);

                return(service
                       .Where(a => a.UserId == userId)
                       .ToList()
                       .Select(a => ToolsCommon.EntityToEntity(a, new Mt_AccountDTO()) as Mt_AccountDTO)
                       .ToList());
            }
        }
Пример #27
0
        public async Task <List <ShopConfigDTO> > GetListAsync(string userId)
        {
            using (var context = new O2OContext())
            {
                var service = new BaseService <ShopConfigEntity>(context);

                return((await service.Entities
                        .Where(x => x.UserId == userId)
                        .ToListAsync())
                       .Select(x => ToolsCommon.EntityToEntity(x, new ShopConfigDTO()) as ShopConfigDTO)
                       .ToList());
            }
        }
Пример #28
0
        public async Task <List <StockRuleShopDTO> > GetListShopAsync(Guid id)
        {
            using (var context = new O2OContext())
            {
                var service = new BaseService <StockRuleShopEntity>(context);

                var entities = await service.Where(x => x.StockRuleId == id).ToListAsync();

                return(entities
                       .Select(x => ToolsCommon.EntityToEntity(x, new StockRuleShopDTO()) as StockRuleShopDTO)
                       .ToList());
            }
        }
Пример #29
0
        public Result Confirm(string orderID)
        {
            var model = new
            {
                timestamp = ToolsCommon.GetTimestamp(),
                app_id    = _waimaiAppId,
                order_id  = orderID,
            };

            string url = GetUrl("https://waimaiopen.meituan.com/api/v1/order/confirm", model);

            return(Tools.ResultMt(HttpCommon.Get(url)));
        }
Пример #30
0
        public Result GetOrderIdByDaySeq(DateTime datetime, int daySeq)
        {
            var data = new
            {
                timestamp    = ToolsCommon.GetTimestamp(),
                app_id       = this._waimaiAppId,
                app_poi_code = this._shopNo,
                date_time    = datetime.ToString("yyyyMMdd"),
                day_seq      = daySeq
            };

            return(Tools.ResultMt(HttpCommon.Get(this.GetUrl("https://waimaiopen.meituan.com/api/v1/order/getOrderIdByDaySeq", (object)data))));
        }