From 0ac73423b8d5bb464a05c3c3437d91155b6242ce Mon Sep 17 00:00:00 2001
From: liteng <930372551@qq.com>
Date: Sat, 15 Dec 2018 16:08:27 +0800
Subject: [PATCH] =?UTF-8?q?=E7=BC=96=E8=BE=91=E8=B4=B4=E5=9B=BE=E7=B1=BB?=
=?UTF-8?q?=E5=9E=8B=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ShadowEditor.Model/Map/MapEditModel.cs | 5 +++
ShadowEditor.Model/Map/MapModel.cs | 10 +++++
.../Controllers/MapController.cs | 38 +++++++++++++++++--
.../Controllers/MeshController.cs | 3 +-
4 files changed, 52 insertions(+), 4 deletions(-)
diff --git a/ShadowEditor.Model/Map/MapEditModel.cs b/ShadowEditor.Model/Map/MapEditModel.cs
index f643c2f9..c8b3f192 100644
--- a/ShadowEditor.Model/Map/MapEditModel.cs
+++ b/ShadowEditor.Model/Map/MapEditModel.cs
@@ -20,5 +20,10 @@ namespace ShadowEditor.Model.Map
/// 名称
///
public string Name { get; set; }
+
+ ///
+ /// 类别
+ ///
+ public string Category { get; set; }
}
}
diff --git a/ShadowEditor.Model/Map/MapModel.cs b/ShadowEditor.Model/Map/MapModel.cs
index c481fc4b..2a693d71 100644
--- a/ShadowEditor.Model/Map/MapModel.cs
+++ b/ShadowEditor.Model/Map/MapModel.cs
@@ -21,6 +21,16 @@ namespace ShadowEditor.Model.Map
///
public string Name { get; set; }
+ ///
+ /// 类别ID
+ ///
+ public string CategoryID { get; set; }
+
+ ///
+ /// 类别名称
+ ///
+ public string CategoryName { get; set; }
+
///
/// 全拼
///
diff --git a/ShadowEditor.Server/Controllers/MapController.cs b/ShadowEditor.Server/Controllers/MapController.cs
index 98b5edaa..5247f763 100644
--- a/ShadowEditor.Server/Controllers/MapController.cs
+++ b/ShadowEditor.Server/Controllers/MapController.cs
@@ -30,12 +30,30 @@ namespace ShadowEditor.Server.Controllers
public JsonResult List()
{
var mongo = new MongoHelper();
- var docs = mongo.FindAll(Constant.MapCollectionName);
+
+ // 获取所有类别
+ var filter = Builders.Filter.Eq("Type", "Map");
+ var categories = mongo.FindMany(Constant.CategoryCollectionName, filter);
+
+ var maps = mongo.FindAll(Constant.MapCollectionName);
var list = new List();
- foreach (var i in docs)
+ foreach (var i in maps)
{
+ var categoryID = "";
+ var categoryName = "";
+
+ if (i.Contains("Category") && !i["Category"].IsBsonNull && !string.IsNullOrEmpty(i["Category"].ToString()))
+ {
+ var doc = categories.Where(n => n["_id"].ToString() == i["Category"].ToString()).FirstOrDefault();
+ if (doc != null)
+ {
+ categoryID = doc["_id"].ToString();
+ categoryName = doc["Name"].ToString();
+ }
+ }
+
var builder = new StringBuilder();
if (i["Url"].IsBsonDocument) // 立体贴图
@@ -56,6 +74,8 @@ namespace ShadowEditor.Server.Controllers
{
ID = i["ID"].AsObjectId.ToString(),
Name = i["Name"].AsString,
+ CategoryID = categoryID,
+ CategoryName = categoryName,
TotalPinYin = i["TotalPinYin"].ToString(),
FirstPinYin = i["FirstPinYin"].ToString(),
Type = i["Type"].AsString,
@@ -238,7 +258,19 @@ namespace ShadowEditor.Server.Controllers
var update1 = Builders.Update.Set("Name", model.Name);
var update2 = Builders.Update.Set("TotalPinYin", pinyin.TotalPinYin);
var update3 = Builders.Update.Set("FirstPinYin", pinyin.FirstPinYin);
- var update = Builders.Update.Combine(update1, update2, update3);
+
+ UpdateDefinition update5;
+
+ if (string.IsNullOrEmpty(model.Category))
+ {
+ update5 = Builders.Update.Unset("Category");
+ }
+ else
+ {
+ update5 = Builders.Update.Set("Category", model.Category);
+ }
+
+ var update = Builders.Update.Combine(update1, update2, update3, update5);
mongo.UpdateOne(Constant.MapCollectionName, filter, update);
return Json(new
diff --git a/ShadowEditor.Server/Controllers/MeshController.cs b/ShadowEditor.Server/Controllers/MeshController.cs
index af48de7b..d164d984 100644
--- a/ShadowEditor.Server/Controllers/MeshController.cs
+++ b/ShadowEditor.Server/Controllers/MeshController.cs
@@ -31,7 +31,8 @@ namespace ShadowEditor.Server.Controllers
var mongo = new MongoHelper();
// 获取所有类别
- var categories = mongo.FindAll(Constant.CategoryCollectionName);
+ var filter = Builders.Filter.Eq("Type", "Mesh");
+ var categories = mongo.FindMany(Constant.CategoryCollectionName, filter);
var meshes = mongo.FindAll(Constant.MeshCollectionName);