|
@@ -35,7 +35,7 @@ namespace TEAMModelOS.Controllers.Syllabus.Seed
|
|
|
/// <param name="identity"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpGet("Knowledge")]
|
|
|
- public BaseJosnRPCResponse Knowledge(string code = "Subject_Chinese-Period_21")
|
|
|
+ public async Task<BaseJosnRPCResponse> Knowledge(string code = "Subject_Chinese-Period_21")
|
|
|
{
|
|
|
string[] sp = code.Split("-");
|
|
|
JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
|
|
@@ -48,11 +48,16 @@ namespace TEAMModelOS.Controllers.Syllabus.Seed
|
|
|
int index = 0;
|
|
|
foreach (Point point1 in points)
|
|
|
{
|
|
|
+
|
|
|
+ KnowledgeBlock knowledgeBlock1= await knowledgeBlockService.FindOneByDict<KnowledgeBlock>(new Dictionary<string, object> { { "Name",point1.pointName }, { "SubjectCode", sp[0] }});
|
|
|
string RowKey1 = Guid.NewGuid().ToString();
|
|
|
+ if (knowledgeBlock1 != null && !string.IsNullOrEmpty(knowledgeBlock1.RowKey))
|
|
|
+ {
|
|
|
+ RowKey1 = knowledgeBlock1.RowKey;
|
|
|
+ }
|
|
|
if (point1.childPoint != null)
|
|
|
{
|
|
|
-
|
|
|
- KnowledgeBlock block1 = new KnowledgeBlock
|
|
|
+ knowledgeBlock1 = new KnowledgeBlock
|
|
|
{
|
|
|
RowKey = RowKey1,
|
|
|
PartitionKey = "zh-CN",
|
|
@@ -62,22 +67,34 @@ namespace TEAMModelOS.Controllers.Syllabus.Seed
|
|
|
Order = index,
|
|
|
AdvicePeriodCode = sp[1]
|
|
|
};
|
|
|
- knowledgeBlocks.Add(block1);
|
|
|
+ await knowledgeBlockService.SaveOrUpdate<KnowledgeBlock>(knowledgeBlock1);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
+ KnowledgePoint knowledgePoint = await knowledgeBlockService.FindOneByDict<KnowledgePoint>(new Dictionary<string, object> { { "Name", point1.pointName }, { "SubjectCode", sp[0] } });
|
|
|
string RowKey3 = Guid.NewGuid().ToString();
|
|
|
- string RowKey4 = Guid.NewGuid().ToString();
|
|
|
- KnowledgePoint knowledgePoint = new KnowledgePoint
|
|
|
+ if (knowledgePoint != null && !string.IsNullOrEmpty(knowledgePoint.RowKey))
|
|
|
{
|
|
|
- RowKey = RowKey3,
|
|
|
- PartitionKey = "zh-CN",
|
|
|
- SubjectCode = sp[0],
|
|
|
- Name = point1.pointName,
|
|
|
- AdvicePeriodCode = sp[1],
|
|
|
- Order = index
|
|
|
- };
|
|
|
+ RowKey3 = knowledgePoint.RowKey;
|
|
|
+ if (!knowledgePoint.AdvicePeriodCode.Contains(sp[1]))
|
|
|
+ {
|
|
|
+ knowledgePoint.AdvicePeriodCode = knowledgePoint.AdvicePeriodCode + "," + sp[1];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ knowledgePoint = new KnowledgePoint
|
|
|
+ {
|
|
|
+ RowKey = RowKey3,
|
|
|
+ PartitionKey = "zh-CN",
|
|
|
+ SubjectCode = sp[0],
|
|
|
+ Name = point1.pointName,
|
|
|
+ AdvicePeriodCode = sp[1],
|
|
|
+ Order = index
|
|
|
+ };
|
|
|
+ }
|
|
|
|
|
|
+ string RowKey4 = Guid.NewGuid().ToString();
|
|
|
KnowledgeBlockPoint blockPoint = new KnowledgeBlockPoint
|
|
|
{
|
|
|
RowKey = RowKey4,
|
|
@@ -87,11 +104,11 @@ namespace TEAMModelOS.Controllers.Syllabus.Seed
|
|
|
BlockId = RowKey1,
|
|
|
PointId = RowKey3,
|
|
|
Order = index,
|
|
|
- AdvicePeriodCode = sp[1],
|
|
|
+ AdvicePeriodCode = knowledgePoint.AdvicePeriodCode,
|
|
|
SubjectCode = sp[0]
|
|
|
};
|
|
|
- knowledgePoints.Add(knowledgePoint);
|
|
|
- blockPoints.Add(blockPoint);
|
|
|
+ await knowledgeBlockService.SaveOrUpdate<KnowledgePoint>(knowledgePoint);
|
|
|
+ await knowledgeBlockService.SaveOrUpdate<KnowledgeBlockPoint>(blockPoint);
|
|
|
}
|
|
|
index++;
|
|
|
if (point1.childPoint != null)
|
|
@@ -99,34 +116,98 @@ namespace TEAMModelOS.Controllers.Syllabus.Seed
|
|
|
foreach (Point point2 in point1.childPoint)
|
|
|
{
|
|
|
string RowKey2 = Guid.NewGuid().ToString();
|
|
|
- KnowledgeBlock block2 = new KnowledgeBlock
|
|
|
+ KnowledgeBlock knowledgeBlock2 = await knowledgeBlockService.FindOneByDict<KnowledgeBlock>(new Dictionary<string, object> { { "Name", point2.pointName }, { "SubjectCode", sp[0] } });
|
|
|
+ if (knowledgeBlock2 != null && !string.IsNullOrEmpty(knowledgeBlock2.RowKey))
|
|
|
{
|
|
|
- RowKey = RowKey2,
|
|
|
- PartitionKey = "zh-CN",
|
|
|
- Name = point2.pointName,
|
|
|
- SubjectCode = sp[0],
|
|
|
- Pid = RowKey1,
|
|
|
- Order = index,
|
|
|
- AdvicePeriodCode = sp[1],
|
|
|
- };
|
|
|
- knowledgeBlocks.Add(block2);
|
|
|
- index++;
|
|
|
+ RowKey2 = knowledgeBlock2.RowKey;
|
|
|
+ knowledgeBlock2.Pid = knowledgeBlock2.RowKey;
|
|
|
+ }
|
|
|
if (point2.childPoint != null)
|
|
|
{
|
|
|
- foreach (Point point3 in point2.childPoint)
|
|
|
+ knowledgeBlock1 = new KnowledgeBlock
|
|
|
{
|
|
|
- string RowKey3 = Guid.NewGuid().ToString();
|
|
|
- string RowKey4 = Guid.NewGuid().ToString();
|
|
|
- KnowledgePoint knowledgePoint = new KnowledgePoint
|
|
|
+ RowKey = RowKey2,
|
|
|
+ PartitionKey = "zh-CN",
|
|
|
+ Name = point2.pointName,
|
|
|
+ SubjectCode = sp[0],
|
|
|
+ Pid = knowledgeBlock1.RowKey,
|
|
|
+ Order = index,
|
|
|
+ AdvicePeriodCode = sp[1]
|
|
|
+ };
|
|
|
+ await knowledgeBlockService.SaveOrUpdate<KnowledgeBlock>(knowledgeBlock1);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ KnowledgePoint knowledgePoint = await knowledgeBlockService.FindOneByDict<KnowledgePoint>(new Dictionary<string, object> { { "Name", point2.pointName }, { "SubjectCode", sp[0] } });
|
|
|
+ string RowKey3 = Guid.NewGuid().ToString();
|
|
|
+ if (knowledgePoint != null && !string.IsNullOrEmpty(knowledgePoint.RowKey))
|
|
|
+ {
|
|
|
+ RowKey3 = knowledgePoint.RowKey;
|
|
|
+ if (!knowledgePoint.AdvicePeriodCode.Contains(sp[1]))
|
|
|
+ {
|
|
|
+ knowledgePoint.AdvicePeriodCode = knowledgePoint.AdvicePeriodCode + "," + sp[1];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ knowledgePoint = new KnowledgePoint
|
|
|
{
|
|
|
RowKey = RowKey3,
|
|
|
PartitionKey = "zh-CN",
|
|
|
SubjectCode = sp[0],
|
|
|
- Name = point3.pointName,
|
|
|
+ Name = point2.pointName,
|
|
|
AdvicePeriodCode = sp[1],
|
|
|
Order = index
|
|
|
};
|
|
|
+ }
|
|
|
|
|
|
+ string RowKey4 = Guid.NewGuid().ToString();
|
|
|
+ KnowledgeBlockPoint blockPoint = new KnowledgeBlockPoint
|
|
|
+ {
|
|
|
+ RowKey = RowKey4,
|
|
|
+ PartitionKey = "zh-CN",
|
|
|
+ Name = point2.pointName,
|
|
|
+ Alias = point2.pointName,
|
|
|
+ BlockId = RowKey2,
|
|
|
+ PointId = RowKey3,
|
|
|
+ Order = index,
|
|
|
+ AdvicePeriodCode = knowledgePoint.AdvicePeriodCode,
|
|
|
+ SubjectCode = sp[0]
|
|
|
+ };
|
|
|
+ await knowledgeBlockService.SaveOrUpdate<KnowledgePoint>(knowledgePoint);
|
|
|
+ await knowledgeBlockService.SaveOrUpdate<KnowledgeBlockPoint>(blockPoint);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ index++;
|
|
|
+ if (point2.childPoint != null)
|
|
|
+ {
|
|
|
+ foreach (Point point3 in point2.childPoint)
|
|
|
+ {
|
|
|
+ KnowledgePoint knowledgePoint = await knowledgeBlockService.FindOneByDict<KnowledgePoint>(new Dictionary<string, object> { { "Name", point3.pointName }, { "SubjectCode", sp[0] } });
|
|
|
+ string RowKey3 = Guid.NewGuid().ToString();
|
|
|
+ if (knowledgePoint != null && !string.IsNullOrEmpty(knowledgePoint.RowKey))
|
|
|
+ {
|
|
|
+ RowKey3 = knowledgePoint.RowKey;
|
|
|
+ if (!knowledgePoint.AdvicePeriodCode.Contains(sp[1]))
|
|
|
+ {
|
|
|
+ knowledgePoint.AdvicePeriodCode = knowledgePoint.AdvicePeriodCode + "," + sp[1];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ knowledgePoint = new KnowledgePoint
|
|
|
+ {
|
|
|
+ RowKey = RowKey3,
|
|
|
+ PartitionKey = "zh-CN",
|
|
|
+ SubjectCode = sp[0],
|
|
|
+ Name = point3.pointName,
|
|
|
+ AdvicePeriodCode = sp[1],
|
|
|
+ Order = index
|
|
|
+ };
|
|
|
+ }
|
|
|
+ string RowKey4 = Guid.NewGuid().ToString();
|
|
|
KnowledgeBlockPoint blockPoint = new KnowledgeBlockPoint
|
|
|
{
|
|
|
RowKey = RowKey4,
|
|
@@ -139,18 +220,15 @@ namespace TEAMModelOS.Controllers.Syllabus.Seed
|
|
|
AdvicePeriodCode = sp[1],
|
|
|
SubjectCode = sp[0]
|
|
|
};
|
|
|
- knowledgePoints.Add(knowledgePoint);
|
|
|
- blockPoints.Add(blockPoint);
|
|
|
index++;
|
|
|
+ await knowledgeBlockService.SaveOrUpdate<KnowledgePoint>(knowledgePoint);
|
|
|
+ await knowledgeBlockService.SaveOrUpdate<KnowledgeBlockPoint>(blockPoint);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- knowledgeBlockService.SaveOrUpdateAll(knowledgeBlocks);
|
|
|
- knowledgeBlockService.SaveOrUpdateAll(knowledgePoints);
|
|
|
- knowledgeBlockService.SaveOrUpdateAll(blockPoints);
|
|
|
builder.Data(points);
|
|
|
return builder.build();
|
|
|
}
|