public ActionResult Save(ProductCategory obj)
        {
            var re = new OpResult();

            obj.CompanyId = CommonService.CompanyId;
            if (ProductCategoryService.IsExist(o => o.CompanyId == obj.CompanyId && o.CategoryPSN == obj.CategoryPSN && o.Title == obj.Title && o.Id != obj.Id))
            {
                re.Message = "已存在该名称";
            }
            else if (obj.Id == 0)
            {
                if (obj.CategoryPSN > 0 && ProductService.IsExist(o => o.CompanyId == obj.CompanyId && o.CategorySN == obj.CategoryPSN))
                {
                    re.Message = "该分类存在商品,不允许创建!";
                    return(Content(re.ToJson()));
                }
                var max = ProductCategoryService.MaxSn;
                obj.CategorySN   = max;
                obj.Grade        = GetGrade;
                obj.CategoryCode = ProductCategoryService.MaxCode(obj.CategoryPSN);
                re = ProductCategoryService.Add(obj);
                #region 操作日志
                var msg = LogEngine.CompareModelToLog <ProductCategory>(LogModule.种类管理, obj);
                new LogEngine().WriteInsert(msg, LogModule.种类管理);
                #endregion
            }
            else
            {
                var supp = ProductCategoryService.FindById(obj.Id);
                obj.ToCopyProperty(supp);
                //supp.Grade = GetGrade;
                var oProCate = new ProductCategory();
                ExtendHelper.CopyProperty <ProductCategory>(oProCate, supp);
                re = ProductCategoryService.Update(supp);
                #region 操作日志
                var msg = LogEngine.CompareModelToLog <ProductCategory>(LogModule.种类管理, supp, oProCate);
                new LogEngine().WriteUpdate(msg, LogModule.种类管理);
                #endregion
            }
            if (re.Successed)
            {
                var stores = string.Join(",", WarehouseService.GetList().Select(o => o.StoreId));
                Pharos.Infrastructure.Data.Redis.RedisManager.Publish("SyncDatabase", new Pharos.ObjectModels.DTOs.DatabaseChanged()
                {
                    CompanyId = CommonService.CompanyId, StoreId = stores, Target = "ProductCategory"
                });
            }
            return(Content(re.ToJson()));
        }