|
@@ -38,7 +38,7 @@ namespace TEAMModelOS.Controllers.Syllabus
|
|
|
/// <param name="request"></param>
|
|
|
/// <param name="builder"></param>
|
|
|
/// <returns></returns>
|
|
|
- delegate Task DeleteDelegate<T>(JosnRPCRequest<Dictionary<string, object>> request, JsonRPCResponseBuilder builder);
|
|
|
+ delegate Task<List<T>> DeleteDelegate<T>(JosnRPCRequest<Dictionary<string, object>> request, JsonRPCResponseBuilder builder);
|
|
|
|
|
|
/// <summary>
|
|
|
/// 保存或者更新学校 知识点 或者 知识块 代理
|
|
@@ -231,7 +231,7 @@ namespace TEAMModelOS.Controllers.Syllabus
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- builder.Error("'SubjectCode' or 'SchoolCode' is null or empty!", "'SubjectCode' or 'SchoolCode' is null or empty!");
|
|
|
+ builder.Error(false,ResponseCode.PARAMS_ERROR,"参数异常");
|
|
|
}
|
|
|
return builder.Data(data.OrderBy(m => m.order)).Extend(new Dictionary<string, object> { { "count", data.Count } }).build();
|
|
|
}
|
|
@@ -262,6 +262,18 @@ namespace TEAMModelOS.Controllers.Syllabus
|
|
|
|
|
|
item.id = ShaHashHelper.GetSHA1(item.id);
|
|
|
}
|
|
|
+ if (item.type == 1 && item.points.Count > 0) {
|
|
|
+ List<string> vs = item.points;
|
|
|
+ foreach (string s in vs) {
|
|
|
+ List<Knowledge> knowledges = await _cosmos.FindByDict<Knowledge>(new Dictionary<string, object>() { { "id",s} });
|
|
|
+ foreach (Knowledge knowledge in knowledges) {
|
|
|
+ knowledge.points.Remove(item.id);
|
|
|
+ knowledge.points.Add(item.id);
|
|
|
+ }
|
|
|
+ await _cosmos.SaveAll(knowledges);
|
|
|
+ }
|
|
|
+ item.points.Clear();
|
|
|
+ }
|
|
|
}
|
|
|
List<Knowledge> ts = await _cosmos.SaveAll(schoolBlocks);
|
|
|
if (ts.Count > 0) builder.Data(ts).Extend(new Dictionary<string, object> { { "count", ts.Count } });
|
|
@@ -280,19 +292,26 @@ namespace TEAMModelOS.Controllers.Syllabus
|
|
|
{
|
|
|
JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
|
|
|
DeleteDelegate<Knowledge> deleteDelegate1 = Delete<Knowledge>;
|
|
|
- await deleteDelegate1(request, builder);
|
|
|
+ List<Knowledge> Knowledges = await deleteDelegate1(request, builder);
|
|
|
+ foreach (Knowledge Knowledge in Knowledges) {
|
|
|
+ if (Knowledge.type == 1) {
|
|
|
+ List<Knowledge> knowledges = await _cosmos.FindSQL<Knowledge>("SELECT value(c) FROM c join a in c.points where Contains(a, '"+ Knowledge.id + "') = true ",true);
|
|
|
+ foreach (Knowledge knowledge in knowledges) knowledge.points.Remove(Knowledge.id);
|
|
|
+ await _cosmos.SaveAll(knowledges);
|
|
|
+ }
|
|
|
+ }
|
|
|
return builder.build();
|
|
|
}
|
|
|
|
|
|
|
|
|
- private async Task Delete<T>(JosnRPCRequest<Dictionary<string, object>> request, JsonRPCResponseBuilder builder)
|
|
|
+ private async Task<List<T>> Delete<T>(JosnRPCRequest<Dictionary<string, object>> request, JsonRPCResponseBuilder builder)
|
|
|
{
|
|
|
List<T> schoolBlocks = await _cosmos.FindByDict<T>(request.@params,true);
|
|
|
Type t = typeof(T);
|
|
|
+ List<T> list = new List<T>();
|
|
|
if (schoolBlocks.IsNotEmpty())
|
|
|
{
|
|
|
- schoolBlocks.ForEach(x => {
|
|
|
- //log4net 日志記錄
|
|
|
+ foreach (T item in schoolBlocks) {
|
|
|
string uuidKey = Guid.NewGuid().ToString();
|
|
|
string logkey = "【" + uuidKey + "】";
|
|
|
LogHelper.Info(this,
|
|
@@ -302,32 +321,42 @@ namespace TEAMModelOS.Controllers.Syllabus
|
|
|
+ "【删除表】"
|
|
|
+ t.Name
|
|
|
+ "【删除内容】"
|
|
|
- + x.ToJson()
|
|
|
+ + item.ToJson()
|
|
|
+ logkey);
|
|
|
- _cosmos.DeleteAsync<T>(x);
|
|
|
- });
|
|
|
- builder.Data("删除成功");
|
|
|
+ list.Add(await _cosmos.DeleteAsync<T>(item));
|
|
|
+
|
|
|
+ }
|
|
|
+ if (list.Count > 0)
|
|
|
+ {
|
|
|
+ builder.Data("删除成功");
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ builder.Error(false, ResponseCode.FAILED, "删除失败");
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- builder.Error(false, ResponseCode.NOT_FOUND, "未找到对应知识块");
|
|
|
+ builder.Error(false, ResponseCode.NOT_FOUND, "未找到对应删除数据");
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
|
|
|
+ return list;
|
|
|
+ }
|
|
|
|
|
|
+/*
|
|
|
[HttpPost("Test")]
|
|
|
- public BaseJosnRPCResponse Test(JosnRPCRequest<Dictionary<string, object>> request)
|
|
|
+ public async Task<BaseJosnRPCResponse> TestAsync(JosnRPCRequest<Dictionary<string, object>> request)
|
|
|
{
|
|
|
JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
|
|
|
if (request.@params != null)
|
|
|
{
|
|
|
- IQueryable<dynamic> data = _cosmos.FindByDict("SchoolBlock", request.@params);
|
|
|
- return builder.Data(data).build();
|
|
|
+ // IQueryable<dynamic> data = _cosmos.FindByDict("SchoolBlock", request.@params);
|
|
|
+ List<Knowledge> knowledges =await _cosmos.FindSQL<Knowledge>("SELECT value(c) FROM c join a in c.points where Contains(a, 'bbd677cafb8dd84b22213af7675a4f27dbdd9541') = true ",true);
|
|
|
+ return builder.Data(knowledges).build();
|
|
|
|
|
|
}
|
|
|
else return builder.Error(false, ResponseCode.PARAMS_ERROR, "参数为空").build();
|
|
|
- }
|
|
|
+ }*/
|
|
|
|
|
|
}
|
|
|
}
|