Browse Source

学校中间件列表雏形

Li 2 years ago
parent
commit
e6a94e958c

+ 59 - 0
TEAMModelBI/Controllers/Census/SchoolController.cs

@@ -22,6 +22,7 @@ using TEAMModelOS.SDK.DI;
 using TEAMModelOS.SDK.Extension;
 using TEAMModelOS.SDK.Models;
 using TEAMModelOS.SDK.Models.Cosmos.BI;
+using TEAMModelOS.SDK.Models.Cosmos.BI.BISchool;
 using TEAMModelOS.SDK.Models.Service.BI;
 using TEAMModelOS.SDK.Models.Service.BIStatsWay;
 
@@ -682,6 +683,64 @@ namespace TEAMModelBI.Controllers.Census
             return Ok(new { state = RespondCode.Ok ,area, statsInfo, scIds });
         }
 
+        /// <summary>
+        /// 学校信息
+        /// </summary>
+        /// <param name="jsonElement"></param>
+        /// <returns></returns>
+        [ProducesDefaultResponseType]
+        [HttpPost("get-scinfos")]
+        public async Task<IActionResult> GetScInfos(JsonElement jsonElement)
+        {
+            var cosmosClient = _azureCosmos.GetCosmosClient();
+            List<string> scId = await CommonFind.FindScIds(cosmosClient, "select value(c.id) from c ", "Base");
+
+            foreach (var itemId in scId)
+            {
+                BIRelation bIRelation = null;
+                var resRel = await cosmosClient.GetContainer(Constant.TEAMModelOS, "School").ReadItemStreamAsync(itemId, new PartitionKey("BIRel"));
+                if (resRel.Status == 200)
+                {
+                    using var fileJson = await JsonDocument.ParseAsync(resRel.ContentStream);
+                    bIRelation = fileJson.ToObject<BIRelation>();
+                }
+                else
+                {
+                    ScBaseInfo scBaseInfo = await cosmosClient.GetContainer(Constant.TEAMModelOS, "School").ReadItemAsync<ScBaseInfo>(itemId, new PartitionKey("Base"));
+                    string areaName = null;
+                    if (!string.IsNullOrEmpty(scBaseInfo.areaId)) 
+                    {
+                        await foreach (var itemName in cosmosClient.GetContainer(Constant.TEAMModelOS, "Normal").GetItemQueryIterator<string>(queryText: $"select value(c.name) from c where c.pk='Area' and c.id='{scBaseInfo.areaId}'", requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey("Base-Area") }))
+                        {
+                            areaName = itemName;
+                        }
+                    }
+
+                    bIRelation = new BIRelation()
+                    {
+                        name = scBaseInfo.name,
+                        picture = scBaseInfo.picture,
+                        size = scBaseInfo.size,
+                        createDate = scBaseInfo.createTime,
+                        region = scBaseInfo.region,
+                        province = scBaseInfo.province,
+                        city = scBaseInfo.city,
+                        dist = scBaseInfo.dist,
+                        address = scBaseInfo.address,
+                        areaId = scBaseInfo.areaId,
+                        scale = scBaseInfo.scale,
+                        areaName = areaName,
+                        upDate = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()
+                    };
+
+                }
+
+            }
+
+
+            return Ok(new { state = 200 });
+        }
+
 
         /// <summary>
         /// 依据Id查询School容器  数据管理工具——查询工具

+ 113 - 0
TEAMModelOS.SDK/Models/Cosmos/BI/BISchool/BIRelation.cs

@@ -0,0 +1,113 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace TEAMModelOS.SDK.Models.Cosmos.BI.BISchool
+{
+    /// <summary>
+    /// BI学校列表中间件
+    /// </summary>
+    public class BIRelation : CosmosEntity
+    {
+        //id   学校列表
+        //code BIRel
+        //pk  state
+        public BIRelation()
+        {
+            code = "BIRel";
+            pk = "Stats";
+        }
+        /// <summary>
+        /// 学校名称
+        /// </summary>
+        public string name { get; set; }
+        /// <summary>
+        /// 学校log
+        /// </summary>
+        public string picture { get; set; }
+        /// <summary>
+        /// 国家
+        /// </summary>
+        public string region { get; set; }
+        /// <summary>
+        /// 省份
+        /// </summary>
+        public string province { get; set; }
+        /// <summary>
+        /// 城市
+        /// </summary>
+        public string city { get; set; }
+        /// <summary>
+        /// 区/县/郡
+        /// </summary>
+        public string dist { get; set; }
+        /// <summary>
+        /// 详细地址
+        /// </summary>
+        public string address { get; set; }
+        /// <summary>
+        /// 所在区级Id
+        /// </summary>
+        public string areaId { get; set; }
+        /// <summary>
+        /// 所在区级名称
+        /// </summary>
+        public string areaName { get; set; }
+        /// <summary>
+        /// 空间大小
+        /// </summary>
+        public int size { get; set; }
+        /// <summary>
+        /// 规模大小
+        /// </summary>
+        public int scale { get; set; }
+        /// <summary>
+        /// 学校顾问信息
+        /// </summary>
+        public List<IdInfo> assists { get; set; }
+        /// <summary>
+        /// 学校销售
+        /// </summary>
+        public List<IdInfo> sales { get; set; }
+        /// <summary>
+        /// 学校软体id
+        /// </summary>
+        public List<string> serial { get; set; }
+        /// <summary>
+        /// 学校服务id
+        /// </summary>
+        public List<string> service { get; set; }
+        /// <summary>
+        /// 学校硬体
+        /// </summary>
+        public List<string> hard { get; set; }
+        /// <summary>
+        /// 本条数据更新时间
+        /// </summary>
+        public long upDate { get; set; }
+        /// <summary>
+        /// 学校创建时间
+        /// </summary>
+        public long createDate { get; set; }
+    }
+    /// <summary>
+    /// 账户简易信息
+    /// </summary>
+    public class IdInfo
+    {
+        /// <summary>
+        /// 账号id
+        /// </summary>
+        public string id { get; set; }
+        /// <summary>
+        /// 账号名称
+        /// </summary>
+        public string name { get; set; }
+        /// <summary>
+        /// 账号头像
+        /// </summary>
+        public string picture { get; set; }
+    }
+}

+ 42 - 0
TEAMModelOS.SDK/Models/Cosmos/BI/CurrencyModel.cs

@@ -17,12 +17,54 @@ namespace TEAMModelOS.SDK.Models.Cosmos.BI
     {
         public string id { get; set; }
         public string code { get; set; }
+
+        /// <summary>
+        /// 学校名称
+        /// </summary>
         public string name { get; set; }
+        /// <summary>
+        /// 学校log
+        /// </summary>
         public string picture { get; set; }
         public int size { get; set; }
         public long createTime { get; set; }
     }
 
+    /// <summary>
+    /// 学校基础信息信息
+    /// </summary>
+    public class ScBaseInfo : ScBase 
+    {
+        /// <summary>
+        /// 国家
+        /// </summary>
+        public string region { get; set; }
+        /// <summary>
+        /// 省份
+        /// </summary>
+        public string province { get; set; }
+        /// <summary>
+        /// 城市
+        /// </summary>
+        public string city { get; set; }
+        /// <summary>
+        /// 区/县/郡
+        /// </summary>
+        public string dist { get; set; }
+        /// <summary>
+        /// 详细地址
+        /// </summary>
+        public string address { get; set; }
+        /// <summary>
+        /// 所在区级Id
+        /// </summary>
+        public string areaId { get; set; }
+        /// <summary>
+        /// 规模大小
+        /// </summary>
+        public int scale { get; set; }
+    }
+
     /// <summary>
     /// 
     /// </summary>