From be8af91704af59c64fa4dca48ce85a9501ee93b7 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sat, 6 Sep 2025 08:00:42 +0800 Subject: [PATCH] Add demo --- .../MongoDbTest/UnitTest/Cases.cs | 1 + .../MongoDbTest/UnitTest/QueryJson7.cs | 249 ++++++++++++++++++ 2 files changed, 250 insertions(+) create mode 100644 Src/Asp.NetCore2/MongoDbTest/UnitTest/QueryJson7.cs diff --git a/Src/Asp.NetCore2/MongoDbTest/UnitTest/Cases.cs b/Src/Asp.NetCore2/MongoDbTest/UnitTest/Cases.cs index f0b19af96..c00be0c33 100644 --- a/Src/Asp.NetCore2/MongoDbTest/UnitTest/Cases.cs +++ b/Src/Asp.NetCore2/MongoDbTest/UnitTest/Cases.cs @@ -21,6 +21,7 @@ namespace MongoDbTest QueryJson4.Init(); QueryJson5.Init(); QueryJson6.Init(); + QueryJson7.Init(); QueryLeftJoin.Init(); QueryLeftJoin2.Init(); QueryLeftJoin3.Init(); diff --git a/Src/Asp.NetCore2/MongoDbTest/UnitTest/QueryJson7.cs b/Src/Asp.NetCore2/MongoDbTest/UnitTest/QueryJson7.cs new file mode 100644 index 000000000..c21b8c2b0 --- /dev/null +++ b/Src/Asp.NetCore2/MongoDbTest/UnitTest/QueryJson7.cs @@ -0,0 +1,249 @@ +using MongoDB.Bson.Serialization.Attributes; +using MongoDB.Bson; +using SqlSugar.MongoDb; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using SqlSugar; +using System.ComponentModel; + +namespace MongoDbTest +{ + public class QueryJson7 + { + internal static void Init() + { + var db = DbHelper.GetNewDb(); + db.CodeFirst.InitTables(); + db.DbMaintenance.TruncateTable(); + + var val = new Pub_ElectCurve() + { + ElectDate = "2025", + ElectName = "测试", + ElectDayInfo = new List() + { + new() + { + ElectDayDate = "工作日", + ElectDayVals = new double[] { 0, 1, 2, 3, 4, 5 } + } + }, + ElectYearCurve = new Pub_ElectYearInfo[2] + { + new Pub_ElectYearInfo() + { + ElectType = 0, ElectVal = 1.0 + }, + new Pub_ElectYearInfo() + { + ElectType = 0, ElectVal = 1.0 + + } + } + }; + var id = db.Insertable( + val).ExecuteReturnPkList().First(); + + var col=db.Updateable().SetColumns(x => x.ElectName == "1") + .Where(x => x.Id == id).ExecuteCommand(); + + if (col != 1) Cases.ThrowUnitError(); + } + + + /// + /// 电量曲线设置 + /// + [SugarTable("pub_electcurve_setting")] + public class Pub_ElectCurve : MongoDbBase + { + /// + /// 年份 + /// + public string ElectDate { get; set; } + + /// + /// 曲线名称 + /// + public string ElectName { get; set; } + + /// + /// 年分月曲线 + /// + [SugarColumn(IsJson = true)] + public Pub_ElectYearInfo[] ElectYearCurve { get; set; } = new Pub_ElectYearInfo[2]; + + /// + /// 月分日曲线-按日期类型权重 + /// + [SugarColumn(IsJson = true)] + public List ElectMonDInfo { get; set; } = new(); + + /// + /// 日分时曲线-按日期类型权重 + /// + [SugarColumn(IsJson = true)] + public List ElectDayInfo { get; set; } = new(); + + /// + /// 月分日曲线-按日期权重 + /// + [SugarColumn(IsJson = true)] + public List ElectMonInfo { get; set; } = new(); + + /// + /// 日分时曲线-按日期权重 + /// + [SugarColumn(IsJson = true)] + public List ElectHouInfo { get; set; } = new(); + } + + /// + /// 电量曲线设置 - 年分月曲线 + /// + public class Pub_ElectYearInfo + { + /// + /// 类型 0:按日期类型权重 1:按日期权重 + /// + public int ElectType { get; set; } + + /// + /// 权重 + /// + public double ElectVal { get; set; } + } + + /// + /// 电量曲线设置 - 月分日曲线-按日期类型权重 + /// + public class Pub_ElectMonDInfo + { + /// + /// 月份 + /// + public int ElectMonDate { get; set; } + + /// + /// 权重值:1-31 + /// + [SugarColumn(IsJson = true)] + public double[] ElectMonVals { get; set; } + } + + /// + /// 电量曲线设置 - 日分时曲线-按日期类型权重 + /// + public class Pub_ElectDayInfo + { + /// + /// 日期类型 + /// + public string ElectDayDate { get; set; } + + /// + /// 权重值:0-23 + /// + [SugarColumn(IsJson = true)] + public double[] ElectDayVals { get; set; } = new double[24]; + } + + /// + /// 电量曲线设置 - 月分日曲线-按日期权重 + /// + public class Pub_ElectMonInfo + { + /// + /// 月份 + /// + public int ElectMonDate { get; set; } + + /// + /// 工作日权重 + /// + public double ElectWeekDay { get; set; } + + /// + /// 周六权重 + /// + public double ElectSaturday { get; set; } + + /// + /// 周日权重 + /// + public double ElectSunday { get; set; } + + /// + /// 法定节假日权重 + /// + public double ElectStaHolidays { get; set; } + + /// + /// 调休节假日权重 + /// + public double ElectPaidHolidays { get; set; } + } + + /// + /// 电量曲线设置 - 日分时曲线-按日期权重 + /// + public class Pub_ElectHouInfo + { + /// + /// 日期类型 + /// + public PubDayType ElectHouType { get; set; } + + /// + /// 日期类型名称 + /// + public string ElectHouTypeName { get { return this.ElectHouType.ToString(); } set { } } + + /// + /// 权重值:0-23 + /// + [SugarColumn(IsJson = true)] + public double[] ElectHouVals { get; set; } = new double[24]; + } + + /// + /// 日类型 + /// + public enum PubDayType + { + /// + /// 工作日 + /// + [Description("工作日")] + WeekDay, + + /// + /// 周六 + /// + [Description("周六")] + Saturday, + + /// + /// 周日 + /// + [Description("周日")] + Sunday, + + /// + /// 法定节假日 + /// + [Description("法定节假日")] + StaHolidays, + + /// + /// 调休节假日 + /// + [Description("调休节假日")] + PaidHolidays + } + } + +}