CrazyIter_Bin 1 年之前
父節點
當前提交
d00f60714d

+ 11 - 3
TEAMModelOS.SDK/DI/CoreAPI/CoreAPIHttpService.cs

@@ -373,7 +373,7 @@ lang 语系"zh-cn" ,zh-tw", "en-us"
                             dynamic action  = new ExpandoObject();
                             //处理action
                             string urlAction = "";
-                            if (notifyCode.Equals("request_school") || notifyCode.Equals("invite_school")/*|| notifyCode.Equals("quit_school")*/) {
+                            if (notifyCode.Equals("request_school") || notifyCode.Equals("invite_school")|| notifyCode.Equals("invoice-notify")) {
                                 if (site.Equals("Global")) {
                                     urlAction = "https://www.teammodel.net/core/process-notify";
                                 }
@@ -397,8 +397,16 @@ lang 语系"zh-cn" ,zh-tw", "en-us"
                                 urlAction = $"{urlAction}?notifyCode={notifyCode}&data={rdata}";
                                 if (msgs.Count == 3)
                                 {
-                                    string urlA = $"{urlAction}&notifyEvent=1&ticket=";
-                                    actions.Add(new { type = "click", label = msgs[2], url = urlA, tokenbindtype = 1 });
+                                    if (msgs[2].Contains("{link}"))
+                                    {
+                                        string urlA =  $"{replaceData["link"]}";
+                                        actions.Add(new { type = "click", label = msgs[2].Replace("{link}",""), url = urlA, tokenbindtype = 1 });
+                                    }
+                                    else {
+                                        string urlA = $"{urlAction}&notifyEvent=1&ticket=";
+                                        actions.Add(new { type = "click", label = msgs[2], url = urlA, tokenbindtype = 1 });
+                                    }
+                                    
                                 }
                                 if (msgs.Count == 4) {
                                     string urlA = $"{urlAction}&notifyEvent=1&ticket=";

+ 1 - 1
TEAMModelOS.SDK/Models/Cosmos/Normal/TMDOrder.cs

@@ -19,7 +19,7 @@ namespace TEAMModelOS.SDK.Models
         public string item_desc { get; set; }
         public string buyer_name { get; set; }
         public string buyer_tmid { get; set; }
-        public string buyer_mobile { get; set; }
+        public string buyer_phone { get; set; }
         public string buyer_email { get; set; }
         public string return_url { get; set; }
         public string notify_url { get; set; }

+ 85 - 83
TEAMModelOS/Controllers/Both/CourseBaseController.cs

@@ -2162,13 +2162,27 @@ namespace TEAMModelOS.Controllers.Both
                 List<Course> schoolCourses = new List<Course>();
                 HashSet<string> schoolIds = new HashSet<string>();
                 string sql = "select value c from c where c.pk='Course' ";
-                await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetItemQueryIterator<Course>(queryText: sql, requestOptions:new QueryRequestOptions {PartitionKey=  new PartitionKey("Course-cdxxps") }))
+                await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetItemQueryIterator<Course>(queryText: sql))
                 {
                     schoolCourses.Add(item);
+
                     if (!string.IsNullOrWhiteSpace(item.school))
                     {
-                        schoolIds.Add(item.school);
+                        if (item.school.Equals("ydzt") ||item.school.Equals("xcfx") ||item.school.Equals("hlgj") ||item.school.Equals("hbcn") ||item.school.Equals("kjyxx") ||item.school.Equals("bjgsex") || item.school.Equals("cdxxps") ||item.school.Equals("pclxxx"))
+                        {
+
+                        }
+                        else
+                        {
+                            schoolCourses.Add(item);
+                            schoolIds.Add(item.school);
+                        }
                     }
+                    //if (!string.IsNullOrWhiteSpace(item.school))
+                    //{
+                    //    schoolIds.Add(item.school);
+
+                    //}
                 }
                 List<School> schools = new List<School>();
                 if (schoolIds.Count>0)
@@ -2182,9 +2196,6 @@ namespace TEAMModelOS.Controllers.Both
                 List<CourseDto> schoolCourseDtos = new List<CourseDto>();
                 foreach (var course in schoolCourses)
                 {
-                    if (course.name.Equals("英语")) {
-                        Console.WriteLine("1");
-                    }
                     var school = schools.Find(z => z.id.Equals(course.school));
                     if (school==null) { continue; }
                     var period = school.period.Find(z => z.id.Equals(course.period?.id));
@@ -2271,7 +2282,6 @@ namespace TEAMModelOS.Controllers.Both
                                         period= new IdName { id= course.period?.id, name =course.period?.name },
                                         school=school.id,
                                         scope="school",
-
                                         creatorId=course.creatorId,
                                         desc=course.desc,
                                         status=1,
@@ -2453,12 +2463,12 @@ namespace TEAMModelOS.Controllers.Both
                 List<Course> schoolCourses = new List<Course>();
                 HashSet<string> schoolIds = new HashSet<string>();
                 string sql = "select value c from c where c.pk='Course' ";
-                await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetItemQueryIterator<Course>(queryText: sql, requestOptions: new QueryRequestOptions { PartitionKey= new PartitionKey("Course-cdxxps")}))
+                await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetItemQueryIterator<Course>(queryText: sql))
                 {
                    
                     if (!string.IsNullOrWhiteSpace(item.school))
                     {
-                        if (item.school.Equals("ydzt") ||item.school.Equals("xcfx") ||item.school.Equals("hlgj") ||item.school.Equals("hbcn") ||item.school.Equals("kjyxx") ||item.school.Equals("bjgsex") ||item.school.Equals("pclxxx"))
+                        if (item.school.Equals("ydzt") ||item.school.Equals("xcfx") ||item.school.Equals("hlgj") ||item.school.Equals("hbcn") ||item.school.Equals("kjyxx") ||item.school.Equals("bjgsex") || item.school.Equals("cdxxps") ||item.school.Equals("pclxxx"))
                         {
 
                         }
@@ -2486,10 +2496,10 @@ namespace TEAMModelOS.Controllers.Both
                     //删除之前迁移的数据
                     foreach (var item in schools)
                     {
-                        //var resultBase = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetList<CourseBase>("select value c from c", $"CourseBase-{item.id}");
-                        //await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).DeleteItemsStreamAsync(resultBase.list.Select(z => z.id).ToList(), $"CourseBase-{item.id}");
-                        //var resultTask = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetList<CorrectTask>("select value c from c", $"CourseTask-{item.id}");
-                        //await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).DeleteItemsStreamAsync(resultTask.list.Select(z => z.id).ToList(), $"CourseTask-{item.id}");
+                        var resultBase = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetList<CourseBase>("select value c from c", $"CourseBase-{item.id}");
+                        await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).DeleteItemsStreamAsync(resultBase.list.Select(z => z.id).ToList(), $"CourseBase-{item.id}");
+                        var resultTask = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetList<CorrectTask>("select value c from c", $"CourseTask-{item.id}");
+                        await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).DeleteItemsStreamAsync(resultTask.list.Select(z => z.id).ToList(), $"CourseTask-{item.id}");
                     }
                 }
                 List<CourseDto> schoolCourseDtos = new List<CourseDto>();
@@ -2507,64 +2517,59 @@ namespace TEAMModelOS.Controllers.Both
                     Azure.Response response = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).ReadItemStreamAsync(course.id, new PartitionKey($"CourseBase-{school.id}"));
                     if (response.Status==200)
                     {
-                          courseBase = JsonDocument.Parse(response.Content).RootElement.ToObject<CourseBase>();
+                        courseBase = JsonDocument.Parse(response.Content).RootElement.ToObject<CourseBase>();
                         if (courseBase!= null)
                         {
-                            if (string.IsNullOrWhiteSpace(courseBase.no))
+                            //生成新的课程编号
+                            string sqlNo = $"select  value c.no from c where c.period.id='{courseBase.period.id}'  ";
+                            var result = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetList<string>(sqlNo, courseBase.code);
+                            if (result.list.IsNotEmpty())
                             {
-                                //生成新的课程编号
-                                string sqlNo = $"select  value c.no from c where c.period.id='{courseBase.period.id}'  ";
-                                var result = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetList<string>(sqlNo, courseBase.code);
-                                if (result.list.IsNotEmpty())
+                                int index = period.subjects.FindIndex(z => z.id.Equals(courseBase.subject.id))+1;
+                                var nos = result.list.FindAll(x => !string.IsNullOrWhiteSpace(x) &&  x.StartsWith($"{index}")).ToHashSet<string>();
+                                if (nos != null)
                                 {
-                                    int index = period.subjects.FindIndex(z => z.id.Equals(courseBase.subject.id))+1;
-                                    var nos = result.list.FindAll(x => !string.IsNullOrWhiteSpace(x) &&  x.StartsWith($"{index}")).ToHashSet<string>();
-                                    if (nos != null)
+                                    string couresNo = string.Empty;
+                                    List<string> order = nos.Where(y => !string.IsNullOrEmpty(y) && Regex.IsMatch(y, @"^\d*$")).OrderBy(x => int.Parse(x)).ToList();
+                                    if (!order.Contains($"{index}00"))
+                                    {
+                                        order.Insert(0, $"{index}00");
+                                    }
+                                    if (order != null)
                                     {
-                                        string couresNo = string.Empty;
-                                        List<string> order = nos.Where(y => !string.IsNullOrEmpty(y) && Regex.IsMatch(y, @"^\d*$")).OrderBy(x => int.Parse(x)).ToList();
                                         if (!order.Contains($"{index}00"))
                                         {
                                             order.Insert(0, $"{index}00");
                                         }
-                                        if (order != null)
-                                        {
-                                            if (!order.Contains($"{index}00"))
-                                            {
-                                                order.Insert(0, $"{index}00");
-                                            }
-                                        }
-                                        else { order = new List<string>() { $"{index}00" }; }
-                                        for (int i = 0; i < order.Count; i++)
+                                    }
+                                    else { order = new List<string>() { $"{index}00" }; }
+                                    for (int i = 0; i < order.Count; i++)
+                                    {
+                                        couresNo = $"{int.Parse(order[i]) + 1}";
+                                        int no = i + 1;
+                                        if (no <= order.Count - 1)
                                         {
-                                            couresNo = $"{int.Parse(order[i]) + 1}";
-                                            int no = i + 1;
-                                            if (no <= order.Count - 1)
+                                            if (!couresNo.Equals(order[no]))
                                             {
-                                                if (!couresNo.Equals(order[no]))
-                                                {
-                                                    break;
-                                                }
+                                                break;
                                             }
                                         }
-                                        if (string.IsNullOrWhiteSpace(couresNo))
-                                        {
-                                            couresNo=$"{index}99";
-                                        }
-                                        courseBase.no=couresNo;
                                     }
-                                    else
+                                    if (string.IsNullOrWhiteSpace(couresNo))
                                     {
-                                        courseBase.no= $"{index}01";
+                                        couresNo=$"{index}99";
                                     }
+                                    courseBase.no=couresNo;
                                 }
                                 else
                                 {
-                                    courseBase.no= $"{(period.subjects.FindIndex(z => z.id.Equals(courseBase.subject.id))+1)}01";
+                                    courseBase.no= $"{index}01";
                                 }
                             }
-
-
+                            else
+                            {
+                                courseBase.no= $"{(period.subjects.FindIndex(z => z.id.Equals(courseBase.subject.id))+1)}01";
+                            }
                         }
                     }
                     else {
@@ -2585,59 +2590,56 @@ namespace TEAMModelOS.Controllers.Both
                             status=1,
                             grade=0,
                         };
-                        if (string.IsNullOrWhiteSpace(courseBase.no))
+                        //生成新的课程编号
+                        string sqlNo = $"select  value c.no from c where c.period.id='{courseBase.period.id}'  ";
+                        var result = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetList<string>(sqlNo, courseBase.code);
+                        if (result.list.IsNotEmpty())
                         {
-                            //生成新的课程编号
-                            string sqlNo = $"select  value c.no from c where c.period.id='{courseBase.period.id}'  ";
-                            var result = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetList<string>(sqlNo, courseBase.code);
-                            if (result.list.IsNotEmpty())
+                            int index = period.subjects.FindIndex(z => z.id.Equals(courseBase.subject.id))+1;
+                            var nos = result.list.FindAll(x => !string.IsNullOrWhiteSpace(x) &&  x.StartsWith($"{index}")).ToHashSet<string>();
+                            if (nos != null)
                             {
-                                int index = period.subjects.FindIndex(z => z.id.Equals(courseBase.subject.id))+1;
-                                var nos = result.list.FindAll(x => !string.IsNullOrWhiteSpace(x) &&  x.StartsWith($"{index}")).ToHashSet<string>();
-                                if (nos != null)
+                                string couresNo = string.Empty;
+                                List<string> order = nos.Where(y => !string.IsNullOrEmpty(y) && Regex.IsMatch(y, @"^\d*$")).OrderBy(x => int.Parse(x)).ToList();
+                                if (!order.Contains($"{index}00"))
+                                {
+                                    order.Insert(0, $"{index}00");
+                                }
+                                if (order != null)
                                 {
-                                    string couresNo = string.Empty;
-                                    List<string> order = nos.Where(y => !string.IsNullOrEmpty(y) && Regex.IsMatch(y, @"^\d*$")).OrderBy(x => int.Parse(x)).ToList();
                                     if (!order.Contains($"{index}00"))
                                     {
                                         order.Insert(0, $"{index}00");
                                     }
-                                    if (order != null)
+                                }
+                                else { order = new List<string>() { $"{index}00" }; }
+                                for (int i = 0; i < order.Count; i++)
+                                {
+                                    couresNo = $"{int.Parse(order[i]) + 1}";
+                                    int no = i + 1;
+                                    if (no <= order.Count - 1)
                                     {
-                                        if (!order.Contains($"{index}00"))
+                                        if (!couresNo.Equals(order[no]))
                                         {
-                                            order.Insert(0, $"{index}00");
+                                            break;
                                         }
                                     }
-                                    else { order = new List<string>() { $"{index}00" }; }
-                                    for (int i = 0; i < order.Count; i++)
-                                    {
-                                        couresNo = $"{int.Parse(order[i]) + 1}";
-                                        int no = i + 1;
-                                        if (no <= order.Count - 1)
-                                        {
-                                            if (!couresNo.Equals(order[no]))
-                                            {
-                                                break;
-                                            }
-                                        }
-                                    }
-                                    if (string.IsNullOrWhiteSpace(couresNo))
-                                    {
-                                        couresNo=$"{index}99";
-                                    }
-                                    courseBase.no=couresNo;
                                 }
-                                else
+                                if (string.IsNullOrWhiteSpace(couresNo))
                                 {
-                                    courseBase.no= $"{index}01";
+                                    couresNo=$"{index}99";
                                 }
+                                courseBase.no=couresNo;
                             }
                             else
                             {
-                                courseBase.no= $"{(period.subjects.FindIndex(z => z.id.Equals(courseBase.subject.id))+1)}01";
+                                courseBase.no= $"{index}01";
                             }
                         }
+                        else
+                        {
+                            courseBase.no= $"{(period.subjects.FindIndex(z => z.id.Equals(courseBase.subject.id))+1)}01";
+                        }
                     }
                    
                     List<ScheduleTask> schedules = new List<ScheduleTask>();

文件差異過大導致無法顯示
+ 93 - 14
TEAMModelOS/Controllers/System/WeChatPayController.cs


+ 3 - 2
TEAMModelOS/Controllers/Teacher/InitController.cs

@@ -53,12 +53,13 @@ namespace TEAMModelOS.Controllers
         private readonly AzureRedisFactory _azureRedis;
         private readonly DingDing _dingDing;
         private readonly Option _option;
-        private readonly IConfiguration _configuration;
-        private readonly CoreAPIHttpService _coreAPIHttpService;
+        
         private readonly IPSearcher _searcher;
         private readonly ILogger<InitController> _logger;
         private readonly HttpTrigger _httpTrigger;
         private readonly IWebHostEnvironment _environment;
+        private readonly IConfiguration _configuration;
+        private readonly CoreAPIHttpService _coreAPIHttpService;
 
         public InitController(IWebHostEnvironment environment,ILogger<InitController> logger, IPSearcher searcher, CoreAPIHttpService coreAPIHttpService, AzureCosmosFactory azureCosmos, AzureStorageFactory azureStorage, AzureRedisFactory azureRedis, DingDing dingDing, IOptionsSnapshot<Option> option, IConfiguration configuration,  HttpTrigger httpTrigger)
         {

+ 1 - 0
TEAMModelOS/Lang/en-us.json

@@ -24,6 +24,7 @@
   "teacher_space-retract": [ "School space reclamation notice", "Your space in {schoolName} has been reclaimed by the administrator" ],
   "create-school": [ "Create schools in batches", "{tmdname}You successfully created schools in batch with Bi" ],
   "copy-file_area": [ "Batch copy file start", "{tmdname}您用BI创区成功开始复制区域文件" ],
+  "invoice-notify": [ "订单发票通知", "您购买的产品:[{item_desc}],订单编号:[{order_no}],已经开具发票!", "下载[link]" ],
   "art-template-comment1": "{studentName}同学,你在本次艺术评测活动中整体{level}。",
   "art-template-comment2": "你在本次考核中{quotasHigh}等指标取得很好的成绩,希望继续保持。",
   "art-template-comment3": "你在本次考核中{quotasLow}等指标有待提高,希望进一步加强。",

+ 1 - 0
TEAMModelOS/Lang/zh-cn.json

@@ -24,6 +24,7 @@
   "teacher_space-retract": [ "学校空间回收通知", "您在{schoolName}的空间已被管理员回收" ],
   "create-school": [ "批量创建学校", "{tmdname}您用BI批量创建学校成功" ],
   "copy-file_area": [ "批复制文件开始", "{tmdname}您用BI创区成功开始复制区域文件" ],
+  "invoice-notify": [ "订单发票通知", "您购买的产品:[{item_desc}],订单编号:[{order_no}],已经开具发票!", "下载[link]" ],
   "art-template-comment1": "{studentName}同学,你在本次艺术评测活动中整体{level}。",
   "art-template-comment2": "你在本次考核中{quotasHigh}等指标取得很好的成绩,希望继续保持。",
   "art-template-comment3": "你在本次考核中{quotasLow}等指标有待提高,希望进一步加强。",

+ 1 - 0
TEAMModelOS/Lang/zh-tw.json

@@ -24,6 +24,7 @@
   "teacher_space-retract": [ "學校空間回收通知", "您在{schoolName}的空間已被管理員回收" ],
   "create-school": [ "批量創建學校", "{tmdname}您用BI批量創建學校成功" ],
   "copy-file_area": [ "批復制文件開始", "{tmdname}您用BI创区成功开始复制区域文件" ],
+  "invoice-notify": [ "订单发票通知", "您购买的产品:[{item_desc}],订单编号:[{order_no}],已经开具发票!", "下载{link}" ],
   "art-template-comment1": "{studentName}同学,你在本次艺术评测活动中整体{level}。",
   "art-template-comment2": "你在本次考核中{quotasHigh}等指标取得很好的成绩,希望继续保持。",
   "art-template-comment3": "你在本次考核中{quotasLow}等指标有待提高,希望进一步加强。",

+ 32 - 32
TEAMModelOS/appsettings.Development.json

@@ -22,48 +22,48 @@
   },
   "Azure": {
     // 测试站数据库
-    "Storage": {
-      "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=teammodeltest;AccountKey=O2W2vadCqexDxWO+px+QK7y1sHwsYj8f/WwKLdOdG5RwHgW/Dupz9dDUb4c1gi6ojzQaRpFUeAAmOu4N9E+37A==;EndpointSuffix=core.chinacloudapi.cn"
-    },
-    "Cosmos": {
-      "ConnectionString": "AccountEndpoint=https://cdhabookdep-free.documents.azure.cn:443/;AccountKey=JTUVk92Gjsx17L0xqxn0X4wX2thDPMKiw4daeTyV1HzPb6JmBeHdtFY1MF1jdctW1ofgzqkDMFOtcqS46by31A==;"
-    },
-    "Redis": {
-      "ConnectionString": "52.130.252.100:6379,password=habook,ssl=false,abortConnect=False,writeBuffer=10240"
-    },
-    "ServiceBus": {
-      "ConnectionString": "Endpoint=sb://teammodelos.servicebus.chinacloudapi.cn/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=Sy4h4EQ8zP+7w/lOLi1X3tGord/7ShFHimHs1vC50Dc=",
-      "ActiveTask": "dep-active-task",
-      "ItemCondQueue": "dep-itemcond",
-      "GenPdfQueue": "dep-genpdf"
-    },
-    "SignalR": {
-      "ConnectionString": "Endpoint=https://channel.service.signalr.net;AccessKey=KrblW06tuA4a/GyqRPDU0ynFFmAWxbAvyJihHclSXbQ=;Version=1.0;"
-    }
-    // 正式站数据库
     //"Storage": {
-    //  "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=teammodelos;AccountKey=Dl04mfZ9hE9cdPVO1UtqTUQYN/kz/dD/p1nGvSq4tUu/4WhiKcNRVdY9tbe8620nPXo/RaXxs+1F9sVrWRo0bg==;EndpointSuffix=core.chinacloudapi.cn"
+    //  "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=teammodeltest;AccountKey=O2W2vadCqexDxWO+px+QK7y1sHwsYj8f/WwKLdOdG5RwHgW/Dupz9dDUb4c1gi6ojzQaRpFUeAAmOu4N9E+37A==;EndpointSuffix=core.chinacloudapi.cn"
     //},
     //"Cosmos": {
-    //  "ConnectionString": "AccountEndpoint=https://teammodelos.documents.azure.cn:443/;AccountKey=clF73GwPECfP1lKZTCvs8gLMMyCZig1HODFbhDUsarsAURO7TcOjVz6ZFfPqr1HzYrfjCXpMuVD5TlEG5bFGGg==;"
+    //  "ConnectionString": "AccountEndpoint=https://cdhabookdep-free.documents.azure.cn:443/;AccountKey=JTUVk92Gjsx17L0xqxn0X4wX2thDPMKiw4daeTyV1HzPb6JmBeHdtFY1MF1jdctW1ofgzqkDMFOtcqS46by31A==;"
     //},
     //"Redis": {
-    //  "ConnectionString": "CoreRedisCN.redis.cache.chinacloudapi.cn:6380,password=LyJWP1ORJdv+poXWofAF97lhCEQPg1wXWqvtzXGXQuE=,ssl=True,abortConnect=False"
+    //  "ConnectionString": "52.130.252.100:6379,password=habook,ssl=false,abortConnect=False,writeBuffer=10240"
     //},
     //"ServiceBus": {
-    //  "ConnectionString": "Endpoint=sb://coreiotservicebuscnpro.servicebus.chinacloudapi.cn/;SharedAccessKeyName=TEAMModelOS;SharedAccessKey=llRPBMDJG9w1Nnifj+pGhV0g4H2REcq0PjvX2qqpcOg=",
-    //  "ActiveTask": "active-task",
-    //  "ItemCondQueue": "itemcond",
-    //  "GenPdfQueue": "genpdf"
+    //  "ConnectionString": "Endpoint=sb://teammodelos.servicebus.chinacloudapi.cn/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=Sy4h4EQ8zP+7w/lOLi1X3tGord/7ShFHimHs1vC50Dc=",
+    //  "ActiveTask": "dep-active-task",
+    //  "ItemCondQueue": "dep-itemcond",
+    //  "GenPdfQueue": "dep-genpdf"
     //},
     //"SignalR": {
-    //  "ConnectionString": "Endpoint=https://channel.signalr.azure.cn;AccessKey=AtcB7JYFNUbUXb1rGxa3PVksQ2X5YSv3JOHZR9J88tw=;Version=1.0;"
-    //},
-    //"Speech": {
-    //  "SubscriptionKey": "a4f5f4e2e2e54c6e8b0a4a0b4a0a4a0b",
-    //  "Region": "chinanorth3",
-    //  "Endpoint": "https://chinanorth3.api.cognitive.azure.cn/sts/v1.0/issuetoken"
+    //  "ConnectionString": "Endpoint=https://channel.service.signalr.net;AccessKey=KrblW06tuA4a/GyqRPDU0ynFFmAWxbAvyJihHclSXbQ=;Version=1.0;"
     //}
+    // 正式站数据库
+    "Storage": {
+      "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=teammodelos;AccountKey=Dl04mfZ9hE9cdPVO1UtqTUQYN/kz/dD/p1nGvSq4tUu/4WhiKcNRVdY9tbe8620nPXo/RaXxs+1F9sVrWRo0bg==;EndpointSuffix=core.chinacloudapi.cn"
+    },
+    "Cosmos": {
+      "ConnectionString": "AccountEndpoint=https://teammodelos.documents.azure.cn:443/;AccountKey=clF73GwPECfP1lKZTCvs8gLMMyCZig1HODFbhDUsarsAURO7TcOjVz6ZFfPqr1HzYrfjCXpMuVD5TlEG5bFGGg==;"
+    },
+    "Redis": {
+      "ConnectionString": "CoreRedisCN.redis.cache.chinacloudapi.cn:6380,password=LyJWP1ORJdv+poXWofAF97lhCEQPg1wXWqvtzXGXQuE=,ssl=True,abortConnect=False"
+    },
+    "ServiceBus": {
+      "ConnectionString": "Endpoint=sb://coreiotservicebuscnpro.servicebus.chinacloudapi.cn/;SharedAccessKeyName=TEAMModelOS;SharedAccessKey=llRPBMDJG9w1Nnifj+pGhV0g4H2REcq0PjvX2qqpcOg=",
+      "ActiveTask": "active-task",
+      "ItemCondQueue": "itemcond",
+      "GenPdfQueue": "genpdf"
+    },
+    "SignalR": {
+      "ConnectionString": "Endpoint=https://channel.signalr.azure.cn;AccessKey=AtcB7JYFNUbUXb1rGxa3PVksQ2X5YSv3JOHZR9J88tw=;Version=1.0;"
+    },
+    "Speech": {
+      "SubscriptionKey": "a4f5f4e2e2e54c6e8b0a4a0b4a0a4a0b",
+      "Region": "chinanorth3",
+      "Endpoint": "https://chinanorth3.api.cognitive.azure.cn/sts/v1.0/issuetoken"
+    }
   },
   "HaBookAuth": {
     "CoreId": {