Commit a8089ee36df6f3f3accba64c3f9d0629fd33b2d9
Merge branch 'master' of http://39.98.150.180/antissoft/lvqianmeiye_ERP
Showing
33 changed files
with
995 additions
and
109 deletions
netcore/src/Application/NCC.API/appsettings.json
| @@ -29,7 +29,7 @@ | @@ -29,7 +29,7 @@ | ||
| 29 | "AllowedHosts": "*", | 29 | "AllowedHosts": "*", |
| 30 | "ConnectionStrings": { | 30 | "ConnectionStrings": { |
| 31 | "ConfigId": "db", | 31 | "ConfigId": "db", |
| 32 | - "DBName": "lqerp", | 32 | + "DBName": "lqerp_test", |
| 33 | "DBType": "MySql", //MySql;SqlServer;Oracle;PostgreSQL;Dm;Kdbndp; | 33 | "DBType": "MySql", //MySql;SqlServer;Oracle;PostgreSQL;Dm;Kdbndp; |
| 34 | //SqlServer | 34 | //SqlServer |
| 35 | // "DefaultConnection": "Data Source=localhost;Initial Catalog={0};User ID=sqladmin;Password=P@ssw0rd;MultipleActiveResultSets=true" | 35 | // "DefaultConnection": "Data Source=localhost;Initial Catalog={0};User ID=sqladmin;Password=P@ssw0rd;MultipleActiveResultSets=true" |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqEvent/LqEventCrInput.cs
| @@ -86,5 +86,10 @@ namespace NCC.Extend.Entitys.Dto.LqEvent | @@ -86,5 +86,10 @@ namespace NCC.Extend.Entitys.Dto.LqEvent | ||
| 86 | /// 每个成员包含:用户ID、部门ID、战队名称等信息 | 86 | /// 每个成员包含:用户ID、部门ID、战队名称等信息 |
| 87 | /// </remarks> | 87 | /// </remarks> |
| 88 | public List<LqEventUserCrInput> Members { get; set; } = new List<LqEventUserCrInput>(); | 88 | public List<LqEventUserCrInput> Members { get; set; } = new List<LqEventUserCrInput>(); |
| 89 | + | ||
| 90 | + /// <summary> | ||
| 91 | + /// 推送URL | ||
| 92 | + /// </summary> | ||
| 93 | + public string PushUrl { get; set; } | ||
| 89 | } | 94 | } |
| 90 | } | 95 | } |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqEvent/LqEventInfoOutput.cs
| @@ -46,6 +46,11 @@ namespace NCC.Extend.Entitys.Dto.LqEvent | @@ -46,6 +46,11 @@ namespace NCC.Extend.Entitys.Dto.LqEvent | ||
| 46 | public int eventType { get; set; } | 46 | public int eventType { get; set; } |
| 47 | 47 | ||
| 48 | /// <summary> | 48 | /// <summary> |
| 49 | + /// 推送URL | ||
| 50 | + /// </summary> | ||
| 51 | + public string pushUrl { get; set; } | ||
| 52 | + | ||
| 53 | + /// <summary> | ||
| 49 | /// 拓客活动成员列表 | 54 | /// 拓客活动成员列表 |
| 50 | /// </summary> | 55 | /// </summary> |
| 51 | public List<LqEventUserInfoOutput> Members { get; set; } = new List<LqEventUserInfoOutput>(); | 56 | public List<LqEventUserInfoOutput> Members { get; set; } = new List<LqEventUserInfoOutput>(); |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdDeductinfo/LqKdDeductinfoCrInput.cs
| @@ -17,10 +17,10 @@ namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo | @@ -17,10 +17,10 @@ namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo | ||
| 17 | /// 扣减类型 | 17 | /// 扣减类型 |
| 18 | /// </summary> | 18 | /// </summary> |
| 19 | [Required(ErrorMessage = "扣减类型不能为空")] | 19 | [Required(ErrorMessage = "扣减类型不能为空")] |
| 20 | - public int? DeductType { get; set; } | 20 | + public string DeductType { get; set; } |
| 21 | 21 | ||
| 22 | /// <summary> | 22 | /// <summary> |
| 23 | - /// 扣减关联ID | 23 | + /// 扣减品项关联ID |
| 24 | /// </summary> | 24 | /// </summary> |
| 25 | [Required(ErrorMessage = "扣减关联ID不能为空")] | 25 | [Required(ErrorMessage = "扣减关联ID不能为空")] |
| 26 | public string DeductId { get; set; } | 26 | public string DeductId { get; set; } |
| @@ -28,7 +28,6 @@ namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo | @@ -28,7 +28,6 @@ namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo | ||
| 28 | /// <summary> | 28 | /// <summary> |
| 29 | /// 开单id | 29 | /// 开单id |
| 30 | /// </summary> | 30 | /// </summary> |
| 31 | - [Required(ErrorMessage = "开单id不能为空")] | ||
| 32 | public string BillingId { get; set; } | 31 | public string BillingId { get; set; } |
| 33 | 32 | ||
| 34 | /// <summary> | 33 | /// <summary> |
| @@ -37,5 +36,35 @@ namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo | @@ -37,5 +36,35 @@ namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo | ||
| 37 | [Required(ErrorMessage = "合计金额不能为空")] | 36 | [Required(ErrorMessage = "合计金额不能为空")] |
| 38 | [Range(0.01, 999999.99, ErrorMessage = "合计金额必须在0.01到999999.99之间")] | 37 | [Range(0.01, 999999.99, ErrorMessage = "合计金额必须在0.01到999999.99之间")] |
| 39 | public decimal? Amount { get; set; } | 38 | public decimal? Amount { get; set; } |
| 39 | + | ||
| 40 | + /// <summary> | ||
| 41 | + /// 是否有效 | ||
| 42 | + /// </summary> | ||
| 43 | + public int? IsEffective { get; set; } | ||
| 44 | + | ||
| 45 | + /// <summary> | ||
| 46 | + /// 单价 | ||
| 47 | + /// </summary> | ||
| 48 | + public decimal? UnitPrice { get; set; } | ||
| 49 | + | ||
| 50 | + /// <summary> | ||
| 51 | + /// 品项名称 | ||
| 52 | + /// </summary> | ||
| 53 | + public string ItemName { get; set; } | ||
| 54 | + | ||
| 55 | + /// <summary> | ||
| 56 | + /// 品项id | ||
| 57 | + /// </summary> | ||
| 58 | + public string ItemId { get; set; } | ||
| 59 | + | ||
| 60 | + /// <summary> | ||
| 61 | + /// 品项次数 | ||
| 62 | + /// </summary> | ||
| 63 | + public decimal? ProjectNumber { get; set; } | ||
| 64 | + | ||
| 65 | + /// <summary> | ||
| 66 | + /// 创建时间 | ||
| 67 | + /// </summary> | ||
| 68 | + public DateTime? CreateTime { get; set; } | ||
| 40 | } | 69 | } |
| 41 | } | 70 | } |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdDeductinfo/LqKdDeductinfoInfoOutput.cs
| @@ -15,7 +15,7 @@ namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo | @@ -15,7 +15,7 @@ namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo | ||
| 15 | /// <summary> | 15 | /// <summary> |
| 16 | /// 扣减类型 | 16 | /// 扣减类型 |
| 17 | /// </summary> | 17 | /// </summary> |
| 18 | - public int? DeductType { get; set; } | 18 | + public string DeductType { get; set; } |
| 19 | 19 | ||
| 20 | /// <summary> | 20 | /// <summary> |
| 21 | /// 扣减类型名称 | 21 | /// 扣减类型名称 |
| @@ -36,5 +36,30 @@ namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo | @@ -36,5 +36,30 @@ namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo | ||
| 36 | /// 合计金额 | 36 | /// 合计金额 |
| 37 | /// </summary> | 37 | /// </summary> |
| 38 | public decimal? Amount { get; set; } | 38 | public decimal? Amount { get; set; } |
| 39 | + | ||
| 40 | + /// <summary> | ||
| 41 | + /// 是否有效 | ||
| 42 | + /// </summary> | ||
| 43 | + public int? IsEffective { get; set; } | ||
| 44 | + | ||
| 45 | + /// <summary> | ||
| 46 | + /// 单价 | ||
| 47 | + /// </summary> | ||
| 48 | + public decimal? UnitPrice { get; set; } | ||
| 49 | + | ||
| 50 | + /// <summary> | ||
| 51 | + /// 品项名称 | ||
| 52 | + /// </summary> | ||
| 53 | + public string ItemName { get; set; } | ||
| 54 | + | ||
| 55 | + /// <summary> | ||
| 56 | + /// 品项id | ||
| 57 | + /// </summary> | ||
| 58 | + public string ItemId { get; set; } | ||
| 59 | + | ||
| 60 | + /// <summary> | ||
| 61 | + /// 创建时间 | ||
| 62 | + /// </summary> | ||
| 63 | + public DateTime? CreateTime { get; set; } | ||
| 39 | } | 64 | } |
| 40 | } | 65 | } |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdDeductinfo/LqKdDeductinfoListOutput.cs
| @@ -15,7 +15,7 @@ namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo | @@ -15,7 +15,7 @@ namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo | ||
| 15 | /// <summary> | 15 | /// <summary> |
| 16 | /// 扣减类型 | 16 | /// 扣减类型 |
| 17 | /// </summary> | 17 | /// </summary> |
| 18 | - public int? DeductType { get; set; } | 18 | + public string DeductType { get; set; } |
| 19 | 19 | ||
| 20 | /// <summary> | 20 | /// <summary> |
| 21 | /// 扣减类型名称 | 21 | /// 扣减类型名称 |
| @@ -36,5 +36,30 @@ namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo | @@ -36,5 +36,30 @@ namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo | ||
| 36 | /// 合计金额 | 36 | /// 合计金额 |
| 37 | /// </summary> | 37 | /// </summary> |
| 38 | public decimal? Amount { get; set; } | 38 | public decimal? Amount { get; set; } |
| 39 | + | ||
| 40 | + /// <summary> | ||
| 41 | + /// 是否有效 | ||
| 42 | + /// </summary> | ||
| 43 | + public int? IsEffective { get; set; } | ||
| 44 | + | ||
| 45 | + /// <summary> | ||
| 46 | + /// 单价 | ||
| 47 | + /// </summary> | ||
| 48 | + public decimal? UnitPrice { get; set; } | ||
| 49 | + | ||
| 50 | + /// <summary> | ||
| 51 | + /// 品项名称 | ||
| 52 | + /// </summary> | ||
| 53 | + public string ItemName { get; set; } | ||
| 54 | + | ||
| 55 | + /// <summary> | ||
| 56 | + /// 品项id | ||
| 57 | + /// </summary> | ||
| 58 | + public string ItemId { get; set; } | ||
| 59 | + | ||
| 60 | + /// <summary> | ||
| 61 | + /// 创建时间 | ||
| 62 | + /// </summary> | ||
| 63 | + public DateTime? CreateTime { get; set; } | ||
| 39 | } | 64 | } |
| 40 | } | 65 | } |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdDeductinfo/LqKdDeductinfoListQueryInput.cs
| @@ -10,7 +10,7 @@ namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo | @@ -10,7 +10,7 @@ namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo | ||
| 10 | /// <summary> | 10 | /// <summary> |
| 11 | /// 扣减类型 | 11 | /// 扣减类型 |
| 12 | /// </summary> | 12 | /// </summary> |
| 13 | - public int? DeductType { get; set; } | 13 | + public string DeductType { get; set; } |
| 14 | 14 | ||
| 15 | /// <summary> | 15 | /// <summary> |
| 16 | /// 扣减关联ID | 16 | /// 扣减关联ID |
| @@ -31,5 +31,40 @@ namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo | @@ -31,5 +31,40 @@ namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo | ||
| 31 | /// 最大金额 | 31 | /// 最大金额 |
| 32 | /// </summary> | 32 | /// </summary> |
| 33 | public decimal? MaxAmount { get; set; } | 33 | public decimal? MaxAmount { get; set; } |
| 34 | + | ||
| 35 | + /// <summary> | ||
| 36 | + /// 是否有效 | ||
| 37 | + /// </summary> | ||
| 38 | + public int? IsEffective { get; set; } | ||
| 39 | + | ||
| 40 | + /// <summary> | ||
| 41 | + /// 品项名称 | ||
| 42 | + /// </summary> | ||
| 43 | + public string ItemName { get; set; } | ||
| 44 | + | ||
| 45 | + /// <summary> | ||
| 46 | + /// 品项id | ||
| 47 | + /// </summary> | ||
| 48 | + public string ItemId { get; set; } | ||
| 49 | + | ||
| 50 | + /// <summary> | ||
| 51 | + /// 最小单价 | ||
| 52 | + /// </summary> | ||
| 53 | + public decimal? MinUnitPrice { get; set; } | ||
| 54 | + | ||
| 55 | + /// <summary> | ||
| 56 | + /// 最大单价 | ||
| 57 | + /// </summary> | ||
| 58 | + public decimal? MaxUnitPrice { get; set; } | ||
| 59 | + | ||
| 60 | + /// <summary> | ||
| 61 | + /// 开始创建时间 | ||
| 62 | + /// </summary> | ||
| 63 | + public DateTime? StartCreateTime { get; set; } | ||
| 64 | + | ||
| 65 | + /// <summary> | ||
| 66 | + /// 结束创建时间 | ||
| 67 | + /// </summary> | ||
| 68 | + public DateTime? EndCreateTime { get; set; } | ||
| 34 | } | 69 | } |
| 35 | } | 70 | } |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdKdjlb/LqKdKdjlbCrInput.cs
| @@ -146,6 +146,16 @@ namespace NCC.Extend.Entitys.Dto.LqKdKdjlb | @@ -146,6 +146,16 @@ namespace NCC.Extend.Entitys.Dto.LqKdKdjlb | ||
| 146 | public string F_FIleUrl { get; set; } | 146 | public string F_FIleUrl { get; set; } |
| 147 | 147 | ||
| 148 | /// <summary> | 148 | /// <summary> |
| 149 | + /// 作废关联id | ||
| 150 | + /// </summary> | ||
| 151 | + public string cancelRefId { get; set; } | ||
| 152 | + | ||
| 153 | + /// <summary> | ||
| 154 | + /// 作废关联备注 | ||
| 155 | + /// </summary> | ||
| 156 | + public string cancelRefRemarks { get; set; } | ||
| 157 | + | ||
| 158 | + /// <summary> | ||
| 149 | /// 扣款信息 | 159 | /// 扣款信息 |
| 150 | /// </summary> | 160 | /// </summary> |
| 151 | public List<LqKdDeductinfoCrInput> lqKdKdjlbDeductList { get; set; } | 161 | public List<LqKdDeductinfoCrInput> lqKdKdjlbDeductList { get; set; } |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdKdjlb/LqKdKdjlbInfoOutput.cs
| @@ -59,10 +59,11 @@ namespace NCC.Extend.Entitys.Dto.LqKdKdjlb | @@ -59,10 +59,11 @@ namespace NCC.Extend.Entitys.Dto.LqKdKdjlb | ||
| 59 | /// </summary> | 59 | /// </summary> |
| 60 | public string ckfs { get; set; } | 60 | public string ckfs { get; set; } |
| 61 | 61 | ||
| 62 | + | ||
| 62 | /// <summary> | 63 | /// <summary> |
| 63 | - /// 储扣明细 | 64 | + /// 储扣总金额 |
| 64 | /// </summary> | 65 | /// </summary> |
| 65 | - public string ckmx { get; set; } | 66 | + public decimal deductAmount { get; set; } |
| 66 | 67 | ||
| 67 | /// <summary> | 68 | /// <summary> |
| 68 | /// 付款方式 | 69 | /// 付款方式 |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdPxmx/LqKdPxmxCrInput.cs
| @@ -54,14 +54,14 @@ namespace NCC.Extend.Entitys.Dto.LqKdKdjlb | @@ -54,14 +54,14 @@ namespace NCC.Extend.Entitys.Dto.LqKdKdjlb | ||
| 54 | public decimal projectNumber { get; set; } | 54 | public decimal projectNumber { get; set; } |
| 55 | 55 | ||
| 56 | /// <summary> | 56 | /// <summary> |
| 57 | - /// 是否有效 | 57 | + /// 来源类型 |
| 58 | /// </summary> | 58 | /// </summary> |
| 59 | - public int? isEnabled { get; set; } = 0; | 59 | + public string sourceType { get; set; } |
| 60 | 60 | ||
| 61 | /// <summary> | 61 | /// <summary> |
| 62 | - /// 来源类型 | 62 | + /// 备注 |
| 63 | /// </summary> | 63 | /// </summary> |
| 64 | - public string sourceType { get; set; } | 64 | + public string remark { get; set; } |
| 65 | 65 | ||
| 66 | /// <summary> | 66 | /// <summary> |
| 67 | /// 健康师业绩 | 67 | /// 健康师业绩 |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdPxmx/LqKdPxmxInfoOutput.cs
| @@ -68,6 +68,12 @@ namespace NCC.Extend.Entitys.Dto.LqKdKdjlb | @@ -68,6 +68,12 @@ namespace NCC.Extend.Entitys.Dto.LqKdKdjlb | ||
| 68 | /// </summary> | 68 | /// </summary> |
| 69 | public decimal actualPrice { get; set; } | 69 | public decimal actualPrice { get; set; } |
| 70 | 70 | ||
| 71 | + | ||
| 72 | + /// <summary> | ||
| 73 | + /// 备注 | ||
| 74 | + /// </summary> | ||
| 75 | + public string remark { get; set; } | ||
| 76 | + | ||
| 71 | /// <summary> | 77 | /// <summary> |
| 72 | /// 健康师业绩列表 | 78 | /// 健康师业绩列表 |
| 73 | /// </summary> | 79 | /// </summary> |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdQkbj/LqKdQkbjCrInput.cs
0 → 100644
| 1 | +using System; | ||
| 2 | +using System.ComponentModel.DataAnnotations; | ||
| 3 | + | ||
| 4 | +namespace NCC.Extend.Entitys.Dto.LqKdQkbj | ||
| 5 | +{ | ||
| 6 | + /// <summary> | ||
| 7 | + /// 开单欠款补缴记录创建输入 | ||
| 8 | + /// </summary> | ||
| 9 | + public class LqKdQkbjCrInput | ||
| 10 | + { | ||
| 11 | + /// <summary> | ||
| 12 | + /// 开单ID | ||
| 13 | + /// </summary> | ||
| 14 | + [Required(ErrorMessage = "开单ID不能为空")] | ||
| 15 | + public string BillingId { get; set; } | ||
| 16 | + | ||
| 17 | + /// <summary> | ||
| 18 | + /// 补缴金额 | ||
| 19 | + /// </summary> | ||
| 20 | + [Required(ErrorMessage = "补缴金额不能为空")] | ||
| 21 | + [Range(0.01, 999999.99, ErrorMessage = "补缴金额必须在0.01到999999.99之间")] | ||
| 22 | + public decimal PaymentAmount { get; set; } | ||
| 23 | + | ||
| 24 | + /// <summary> | ||
| 25 | + /// 补缴方式 | ||
| 26 | + /// </summary> | ||
| 27 | + [Required(ErrorMessage = "补缴方式不能为空")] | ||
| 28 | + public string PaymentMethod { get; set; } | ||
| 29 | + | ||
| 30 | + /// <summary> | ||
| 31 | + /// 补缴时间 | ||
| 32 | + /// </summary> | ||
| 33 | + [Required(ErrorMessage = "补缴时间不能为空")] | ||
| 34 | + public DateTime PaymentTime { get; set; } | ||
| 35 | + | ||
| 36 | + /// <summary> | ||
| 37 | + /// 补缴操作人 | ||
| 38 | + /// </summary> | ||
| 39 | + public string PaymentUser { get; set; } | ||
| 40 | + | ||
| 41 | + /// <summary> | ||
| 42 | + /// 补缴账户 | ||
| 43 | + /// </summary> | ||
| 44 | + public string PaymentAccount { get; set; } | ||
| 45 | + | ||
| 46 | + /// <summary> | ||
| 47 | + /// 补缴凭证号 | ||
| 48 | + /// </summary> | ||
| 49 | + public string PaymentReference { get; set; } | ||
| 50 | + | ||
| 51 | + /// <summary> | ||
| 52 | + /// 补缴备注 | ||
| 53 | + /// </summary> | ||
| 54 | + [StringLength(500, ErrorMessage = "补缴备注不能超过500个字符")] | ||
| 55 | + public string Remark { get; set; } | ||
| 56 | + } | ||
| 57 | +} |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdQkbj/LqKdQkbjInfoOutput.cs
0 → 100644
| 1 | +using System; | ||
| 2 | + | ||
| 3 | +namespace NCC.Extend.Entitys.Dto.LqKdQkbj | ||
| 4 | +{ | ||
| 5 | + /// <summary> | ||
| 6 | + /// 开单欠款补缴记录详情输出 | ||
| 7 | + /// </summary> | ||
| 8 | + public class LqKdQkbjInfoOutput | ||
| 9 | + { | ||
| 10 | + /// <summary> | ||
| 11 | + /// 主键 | ||
| 12 | + /// </summary> | ||
| 13 | + public string Id { get; set; } | ||
| 14 | + | ||
| 15 | + /// <summary> | ||
| 16 | + /// 开单ID | ||
| 17 | + /// </summary> | ||
| 18 | + public string BillingId { get; set; } | ||
| 19 | + | ||
| 20 | + /// <summary> | ||
| 21 | + /// 补缴金额 | ||
| 22 | + /// </summary> | ||
| 23 | + public decimal PaymentAmount { get; set; } | ||
| 24 | + | ||
| 25 | + /// <summary> | ||
| 26 | + /// 补缴方式 | ||
| 27 | + /// </summary> | ||
| 28 | + public string PaymentMethod { get; set; } | ||
| 29 | + | ||
| 30 | + /// <summary> | ||
| 31 | + /// 补缴方式名称 | ||
| 32 | + /// </summary> | ||
| 33 | + public string PaymentMethodName { get; set; } | ||
| 34 | + | ||
| 35 | + /// <summary> | ||
| 36 | + /// 补缴时间 | ||
| 37 | + /// </summary> | ||
| 38 | + public DateTime PaymentTime { get; set; } | ||
| 39 | + | ||
| 40 | + /// <summary> | ||
| 41 | + /// 补缴操作人 | ||
| 42 | + /// </summary> | ||
| 43 | + public string PaymentUser { get; set; } | ||
| 44 | + | ||
| 45 | + /// <summary> | ||
| 46 | + /// 补缴操作人姓名 | ||
| 47 | + /// </summary> | ||
| 48 | + public string PaymentUserName { get; set; } | ||
| 49 | + | ||
| 50 | + /// <summary> | ||
| 51 | + /// 补缴账户 | ||
| 52 | + /// </summary> | ||
| 53 | + public string PaymentAccount { get; set; } | ||
| 54 | + | ||
| 55 | + /// <summary> | ||
| 56 | + /// 补缴凭证号 | ||
| 57 | + /// </summary> | ||
| 58 | + public string PaymentReference { get; set; } | ||
| 59 | + | ||
| 60 | + /// <summary> | ||
| 61 | + /// 补缴备注 | ||
| 62 | + /// </summary> | ||
| 63 | + public string Remark { get; set; } | ||
| 64 | + | ||
| 65 | + /// <summary> | ||
| 66 | + /// 创建时间 | ||
| 67 | + /// </summary> | ||
| 68 | + public DateTime CreateTime { get; set; } | ||
| 69 | + | ||
| 70 | + /// <summary> | ||
| 71 | + /// 更新时间 | ||
| 72 | + /// </summary> | ||
| 73 | + public DateTime UpdateTime { get; set; } | ||
| 74 | + | ||
| 75 | + /// <summary> | ||
| 76 | + /// 是否有效 | ||
| 77 | + /// </summary> | ||
| 78 | + public int IsEffective { get; set; } | ||
| 79 | + } | ||
| 80 | +} |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdQkbj/LqKdQkbjListOutput.cs
0 → 100644
| 1 | +using System; | ||
| 2 | + | ||
| 3 | +namespace NCC.Extend.Entitys.Dto.LqKdQkbj | ||
| 4 | +{ | ||
| 5 | + /// <summary> | ||
| 6 | + /// 开单欠款补缴记录列表输出 | ||
| 7 | + /// </summary> | ||
| 8 | + public class LqKdQkbjListOutput | ||
| 9 | + { | ||
| 10 | + /// <summary> | ||
| 11 | + /// 主键 | ||
| 12 | + /// </summary> | ||
| 13 | + public string Id { get; set; } | ||
| 14 | + | ||
| 15 | + /// <summary> | ||
| 16 | + /// 开单ID | ||
| 17 | + /// </summary> | ||
| 18 | + public string BillingId { get; set; } | ||
| 19 | + | ||
| 20 | + /// <summary> | ||
| 21 | + /// 补缴金额 | ||
| 22 | + /// </summary> | ||
| 23 | + public decimal PaymentAmount { get; set; } | ||
| 24 | + | ||
| 25 | + /// <summary> | ||
| 26 | + /// 补缴方式 | ||
| 27 | + /// </summary> | ||
| 28 | + public string PaymentMethod { get; set; } | ||
| 29 | + | ||
| 30 | + /// <summary> | ||
| 31 | + /// 补缴方式名称 | ||
| 32 | + /// </summary> | ||
| 33 | + public string PaymentMethodName { get; set; } | ||
| 34 | + | ||
| 35 | + /// <summary> | ||
| 36 | + /// 补缴时间 | ||
| 37 | + /// </summary> | ||
| 38 | + public DateTime PaymentTime { get; set; } | ||
| 39 | + | ||
| 40 | + /// <summary> | ||
| 41 | + /// 补缴操作人 | ||
| 42 | + /// </summary> | ||
| 43 | + public string PaymentUser { get; set; } | ||
| 44 | + | ||
| 45 | + /// <summary> | ||
| 46 | + /// 补缴操作人姓名 | ||
| 47 | + /// </summary> | ||
| 48 | + public string PaymentUserName { get; set; } | ||
| 49 | + | ||
| 50 | + /// <summary> | ||
| 51 | + /// 补缴账户 | ||
| 52 | + /// </summary> | ||
| 53 | + public string PaymentAccount { get; set; } | ||
| 54 | + | ||
| 55 | + /// <summary> | ||
| 56 | + /// 补缴凭证号 | ||
| 57 | + /// </summary> | ||
| 58 | + public string PaymentReference { get; set; } | ||
| 59 | + | ||
| 60 | + /// <summary> | ||
| 61 | + /// 补缴备注 | ||
| 62 | + /// </summary> | ||
| 63 | + public string Remark { get; set; } | ||
| 64 | + | ||
| 65 | + /// <summary> | ||
| 66 | + /// 创建时间 | ||
| 67 | + /// </summary> | ||
| 68 | + public DateTime CreateTime { get; set; } | ||
| 69 | + | ||
| 70 | + /// <summary> | ||
| 71 | + /// 是否有效 | ||
| 72 | + /// </summary> | ||
| 73 | + public int IsEffective { get; set; } | ||
| 74 | + } | ||
| 75 | +} |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdQkbj/LqKdQkbjListQueryInput.cs
0 → 100644
| 1 | +using System; | ||
| 2 | + | ||
| 3 | +namespace NCC.Extend.Entitys.Dto.LqKdQkbj | ||
| 4 | +{ | ||
| 5 | + /// <summary> | ||
| 6 | + /// 开单欠款补缴记录列表查询输入 | ||
| 7 | + /// </summary> | ||
| 8 | + public class LqKdQkbjListQueryInput | ||
| 9 | + { | ||
| 10 | + /// <summary> | ||
| 11 | + /// 开单ID | ||
| 12 | + /// </summary> | ||
| 13 | + public string BillingId { get; set; } | ||
| 14 | + | ||
| 15 | + /// <summary> | ||
| 16 | + /// 补缴方式 | ||
| 17 | + /// </summary> | ||
| 18 | + public string PaymentMethod { get; set; } | ||
| 19 | + | ||
| 20 | + /// <summary> | ||
| 21 | + /// 补缴操作人 | ||
| 22 | + /// </summary> | ||
| 23 | + public string PaymentUser { get; set; } | ||
| 24 | + | ||
| 25 | + /// <summary> | ||
| 26 | + /// 最小补缴金额 | ||
| 27 | + /// </summary> | ||
| 28 | + public decimal? MinPaymentAmount { get; set; } | ||
| 29 | + | ||
| 30 | + /// <summary> | ||
| 31 | + /// 最大补缴金额 | ||
| 32 | + /// </summary> | ||
| 33 | + public decimal? MaxPaymentAmount { get; set; } | ||
| 34 | + | ||
| 35 | + /// <summary> | ||
| 36 | + /// 开始补缴时间 | ||
| 37 | + /// </summary> | ||
| 38 | + public DateTime? StartPaymentTime { get; set; } | ||
| 39 | + | ||
| 40 | + /// <summary> | ||
| 41 | + /// 结束补缴时间 | ||
| 42 | + /// </summary> | ||
| 43 | + public DateTime? EndPaymentTime { get; set; } | ||
| 44 | + | ||
| 45 | + /// <summary> | ||
| 46 | + /// 是否有效 | ||
| 47 | + /// </summary> | ||
| 48 | + public int? IsEffective { get; set; } | ||
| 49 | + | ||
| 50 | + /// <summary> | ||
| 51 | + /// 补缴凭证号 | ||
| 52 | + /// </summary> | ||
| 53 | + public string PaymentReference { get; set; } | ||
| 54 | + } | ||
| 55 | +} |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdQkbj/LqKdQkbjUpInput.cs
0 → 100644
| 1 | +using System; | ||
| 2 | +using System.ComponentModel.DataAnnotations; | ||
| 3 | + | ||
| 4 | +namespace NCC.Extend.Entitys.Dto.LqKdQkbj | ||
| 5 | +{ | ||
| 6 | + /// <summary> | ||
| 7 | + /// 开单欠款补缴记录更新输入 | ||
| 8 | + /// </summary> | ||
| 9 | + public class LqKdQkbjUpInput : LqKdQkbjCrInput | ||
| 10 | + { | ||
| 11 | + /// <summary> | ||
| 12 | + /// 主键 | ||
| 13 | + /// </summary> | ||
| 14 | + [Required(ErrorMessage = "主键不能为空")] | ||
| 15 | + public string Id { get; set; } | ||
| 16 | + } | ||
| 17 | +} |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhHyhk/MemberRemainingItemsOutput.cs
| @@ -92,6 +92,13 @@ namespace NCC.Extend.Entitys.Dto.LqXhHyhk | @@ -92,6 +92,13 @@ namespace NCC.Extend.Entitys.Dto.LqXhHyhk | ||
| 92 | public decimal RefundedCount { get; set; } | 92 | public decimal RefundedCount { get; set; } |
| 93 | 93 | ||
| 94 | /// <summary> | 94 | /// <summary> |
| 95 | + /// 已储扣数量 | ||
| 96 | + /// </summary> | ||
| 97 | + /// <remarks>该品项已储扣的次数</remarks> | ||
| 98 | + /// <example>0</example> | ||
| 99 | + public decimal DeductCount { get; set; } | ||
| 100 | + | ||
| 101 | + /// <summary> | ||
| 95 | /// 剩余数量 | 102 | /// 剩余数量 |
| 96 | /// </summary> | 103 | /// </summary> |
| 97 | /// <remarks>总购买数量减去已消费数量减去已退卡数量</remarks> | 104 | /// <remarks>总购买数量减去已消费数量减去已退卡数量</remarks> |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_event/LqEventEntity.cs
| @@ -50,5 +50,11 @@ namespace NCC.Extend.Entitys.lq_event | @@ -50,5 +50,11 @@ namespace NCC.Extend.Entitys.lq_event | ||
| 50 | /// </summary> | 50 | /// </summary> |
| 51 | [SugarColumn(ColumnName = "F_EventType")] | 51 | [SugarColumn(ColumnName = "F_EventType")] |
| 52 | public int EventType { get; set; } | 52 | public int EventType { get; set; } |
| 53 | + | ||
| 54 | + /// <summary> | ||
| 55 | + /// 推送URL | ||
| 56 | + /// </summary> | ||
| 57 | + [SugarColumn(ColumnName = "F_PushUrl")] | ||
| 58 | + public string PushUrl { get; set; } | ||
| 53 | } | 59 | } |
| 54 | } | 60 | } |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_kd_deductinfo/LqKdDeductinfoEntity.cs
| @@ -20,7 +20,7 @@ namespace NCC.Extend.Entitys.lq_kd_deductinfo | @@ -20,7 +20,7 @@ namespace NCC.Extend.Entitys.lq_kd_deductinfo | ||
| 20 | /// 扣减类型 | 20 | /// 扣减类型 |
| 21 | /// </summary> | 21 | /// </summary> |
| 22 | [SugarColumn(ColumnName = "F_DeductType")] | 22 | [SugarColumn(ColumnName = "F_DeductType")] |
| 23 | - public int? DeductType { get; set; } | 23 | + public string DeductType { get; set; } |
| 24 | 24 | ||
| 25 | /// <summary> | 25 | /// <summary> |
| 26 | /// 扣减关联ID | 26 | /// 扣减关联ID |
| @@ -40,5 +40,41 @@ namespace NCC.Extend.Entitys.lq_kd_deductinfo | @@ -40,5 +40,41 @@ namespace NCC.Extend.Entitys.lq_kd_deductinfo | ||
| 40 | /// </summary> | 40 | /// </summary> |
| 41 | [SugarColumn(ColumnName = "F_Amount")] | 41 | [SugarColumn(ColumnName = "F_Amount")] |
| 42 | public decimal? Amount { get; set; } | 42 | public decimal? Amount { get; set; } |
| 43 | + | ||
| 44 | + /// <summary> | ||
| 45 | + /// 是否有效 | ||
| 46 | + /// </summary> | ||
| 47 | + [SugarColumn(ColumnName = "F_IsEffective")] | ||
| 48 | + public int? IsEffective { get; set; } | ||
| 49 | + | ||
| 50 | + /// <summary> | ||
| 51 | + /// 单价 | ||
| 52 | + /// </summary> | ||
| 53 | + [SugarColumn(ColumnName = "F_UnitPrice")] | ||
| 54 | + public decimal? UnitPrice { get; set; } | ||
| 55 | + | ||
| 56 | + /// <summary> | ||
| 57 | + /// 品项名称 | ||
| 58 | + /// </summary> | ||
| 59 | + [SugarColumn(ColumnName = "F_ItemName")] | ||
| 60 | + public string ItemName { get; set; } | ||
| 61 | + | ||
| 62 | + /// <summary> | ||
| 63 | + /// 品项id | ||
| 64 | + /// </summary> | ||
| 65 | + [SugarColumn(ColumnName = "F_ItemId")] | ||
| 66 | + public string ItemId { get; set; } | ||
| 67 | + | ||
| 68 | + /// <summary> | ||
| 69 | + /// 创建时间 | ||
| 70 | + /// </summary> | ||
| 71 | + [SugarColumn(ColumnName = "F_CreateTime")] | ||
| 72 | + public DateTime? CreateTime { get; set; } | ||
| 73 | + | ||
| 74 | + /// <summary> | ||
| 75 | + /// 项目数量 | ||
| 76 | + /// </summary> | ||
| 77 | + [SugarColumn(ColumnName = "F_ProjectNumber")] | ||
| 78 | + public decimal? ProjectNumber { get; set; } | ||
| 43 | } | 79 | } |
| 44 | } | 80 | } |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_kd_kdjlb/LqKdKdjlbEntity.cs
| @@ -204,5 +204,18 @@ namespace NCC.Extend.Entitys.lq_kd_kdjlb | @@ -204,5 +204,18 @@ namespace NCC.Extend.Entitys.lq_kd_kdjlb | ||
| 204 | [SugarColumn(ColumnName = "F_IsEffective")] | 204 | [SugarColumn(ColumnName = "F_IsEffective")] |
| 205 | public int IsEffective { get; set; } = 1; | 205 | public int IsEffective { get; set; } = 1; |
| 206 | 206 | ||
| 207 | + | ||
| 208 | + /// <summary> | ||
| 209 | + /// 作废关联id | ||
| 210 | + /// </summary> | ||
| 211 | + [SugarColumn(ColumnName = "F_CancelRefId")] | ||
| 212 | + public string CancelRefId { get; set; } | ||
| 213 | + | ||
| 214 | + /// <summary> | ||
| 215 | + /// 作废关联备注 | ||
| 216 | + /// </summary> | ||
| 217 | + [SugarColumn(ColumnName = "F_CancelRefRemarks")] | ||
| 218 | + public string CancelRefRemarks { get; set; } | ||
| 219 | + | ||
| 207 | } | 220 | } |
| 208 | } | 221 | } |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_kd_pxmx/LqKdPxmxEntity.cs
| @@ -60,9 +60,6 @@ namespace NCC.Extend.Entitys.lq_kd_pxmx | @@ -60,9 +60,6 @@ namespace NCC.Extend.Entitys.lq_kd_pxmx | ||
| 60 | [SugarColumn(ColumnName = "F_CreateTIme")] | 60 | [SugarColumn(ColumnName = "F_CreateTIme")] |
| 61 | public DateTime? CreateTIme { get; set; } | 61 | public DateTime? CreateTIme { get; set; } |
| 62 | 62 | ||
| 63 | - | ||
| 64 | - | ||
| 65 | - | ||
| 66 | /// <summary> | 63 | /// <summary> |
| 67 | /// 项目次数 | 64 | /// 项目次数 |
| 68 | /// </summary> | 65 | /// </summary> |
| @@ -98,5 +95,11 @@ namespace NCC.Extend.Entitys.lq_kd_pxmx | @@ -98,5 +95,11 @@ namespace NCC.Extend.Entitys.lq_kd_pxmx | ||
| 98 | /// </summary> | 95 | /// </summary> |
| 99 | [SugarColumn(ColumnName = "F_IsEffective")] | 96 | [SugarColumn(ColumnName = "F_IsEffective")] |
| 100 | public int IsEffective { get; set; } = 1; | 97 | public int IsEffective { get; set; } = 1; |
| 98 | + | ||
| 99 | + /// <summary> | ||
| 100 | + /// 备注 | ||
| 101 | + /// </summary> | ||
| 102 | + [SugarColumn(ColumnName = "F_Remark")] | ||
| 103 | + public string Remark { get; set; } | ||
| 101 | } | 104 | } |
| 102 | } | 105 | } |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_kd_qkbj/LqKdQkbjEntity.cs
0 → 100644
| 1 | +using System; | ||
| 2 | +using NCC.Common.Const; | ||
| 3 | +using SqlSugar; | ||
| 4 | + | ||
| 5 | +namespace NCC.Extend.Entitys.lq_kd_qkbj | ||
| 6 | +{ | ||
| 7 | + /// <summary> | ||
| 8 | + /// 开单欠款补缴记录表 | ||
| 9 | + /// </summary> | ||
| 10 | + [SugarTable("lq_kd_qkbj")] | ||
| 11 | + [Tenant(ClaimConst.TENANT_ID)] | ||
| 12 | + public class LqKdQkbjEntity | ||
| 13 | + { | ||
| 14 | + /// <summary> | ||
| 15 | + /// 主键 | ||
| 16 | + /// </summary> | ||
| 17 | + [SugarColumn(ColumnName = "F_Id", IsPrimaryKey = true)] | ||
| 18 | + public string Id { get; set; } | ||
| 19 | + | ||
| 20 | + /// <summary> | ||
| 21 | + /// 开单ID | ||
| 22 | + /// </summary> | ||
| 23 | + [SugarColumn(ColumnName = "F_BillingId")] | ||
| 24 | + public string BillingId { get; set; } | ||
| 25 | + | ||
| 26 | + /// <summary> | ||
| 27 | + /// 补缴金额 | ||
| 28 | + /// </summary> | ||
| 29 | + [SugarColumn(ColumnName = "F_PaymentAmount")] | ||
| 30 | + public decimal PaymentAmount { get; set; } | ||
| 31 | + | ||
| 32 | + /// <summary> | ||
| 33 | + /// 补缴方式 | ||
| 34 | + /// </summary> | ||
| 35 | + [SugarColumn(ColumnName = "F_PaymentMethod")] | ||
| 36 | + public string PaymentMethod { get; set; } | ||
| 37 | + | ||
| 38 | + /// <summary> | ||
| 39 | + /// 补缴时间 | ||
| 40 | + /// </summary> | ||
| 41 | + [SugarColumn(ColumnName = "F_PaymentTime")] | ||
| 42 | + public DateTime PaymentTime { get; set; } | ||
| 43 | + | ||
| 44 | + /// <summary> | ||
| 45 | + /// 补缴操作人 | ||
| 46 | + /// </summary> | ||
| 47 | + [SugarColumn(ColumnName = "F_PaymentUser")] | ||
| 48 | + public string PaymentUser { get; set; } | ||
| 49 | + | ||
| 50 | + /// <summary> | ||
| 51 | + /// 补缴账户 | ||
| 52 | + /// </summary> | ||
| 53 | + [SugarColumn(ColumnName = "F_PaymentAccount")] | ||
| 54 | + public string PaymentAccount { get; set; } | ||
| 55 | + | ||
| 56 | + /// <summary> | ||
| 57 | + /// 补缴凭证号 | ||
| 58 | + /// </summary> | ||
| 59 | + [SugarColumn(ColumnName = "F_PaymentReference")] | ||
| 60 | + public string PaymentReference { get; set; } | ||
| 61 | + | ||
| 62 | + /// <summary> | ||
| 63 | + /// 补缴备注 | ||
| 64 | + /// </summary> | ||
| 65 | + [SugarColumn(ColumnName = "F_Remark")] | ||
| 66 | + public string Remark { get; set; } | ||
| 67 | + | ||
| 68 | + /// <summary> | ||
| 69 | + /// 创建时间 | ||
| 70 | + /// </summary> | ||
| 71 | + [SugarColumn(ColumnName = "F_CreateTime")] | ||
| 72 | + public DateTime CreateTime { get; set; } | ||
| 73 | + | ||
| 74 | + /// <summary> | ||
| 75 | + /// 更新时间 | ||
| 76 | + /// </summary> | ||
| 77 | + [SugarColumn(ColumnName = "F_UpdateTime")] | ||
| 78 | + public DateTime UpdateTime { get; set; } | ||
| 79 | + | ||
| 80 | + /// <summary> | ||
| 81 | + /// 是否有效 | ||
| 82 | + /// </summary> | ||
| 83 | + [SugarColumn(ColumnName = "F_IsEffective")] | ||
| 84 | + public int IsEffective { get; set; } = 1; | ||
| 85 | + } | ||
| 86 | +} |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Enum/StatusEnum.cs
| @@ -8,16 +8,16 @@ namespace NCC.Extend.Entitys.Enum | @@ -8,16 +8,16 @@ namespace NCC.Extend.Entitys.Enum | ||
| 8 | public enum StatusEnum | 8 | public enum StatusEnum |
| 9 | { | 9 | { |
| 10 | /// <summary> | 10 | /// <summary> |
| 11 | - /// 有效 | 11 | + /// 无效 |
| 12 | /// </summary> | 12 | /// </summary> |
| 13 | - [Description("有效")] | ||
| 14 | - 有效 = 0, | 13 | + [Description("无效")] |
| 14 | + 无效 = -1, | ||
| 15 | 15 | ||
| 16 | /// <summary> | 16 | /// <summary> |
| 17 | - /// 无效 | 17 | + /// 有效 |
| 18 | /// </summary> | 18 | /// </summary> |
| 19 | - [Description("无效")] | ||
| 20 | - 无效 = 1, | 19 | + [Description("有效")] |
| 20 | + 有效 = 1, | ||
| 21 | 21 | ||
| 22 | /// <summary> | 22 | /// <summary> |
| 23 | /// 删除 | 23 | /// 删除 |
netcore/src/Modularity/Extend/NCC.Extend/LqEventService.cs
| @@ -150,6 +150,7 @@ namespace NCC.Extend.LqEvent | @@ -150,6 +150,7 @@ namespace NCC.Extend.LqEvent | ||
| 150 | eventCoordinator = entity.EventCoordinator, | 150 | eventCoordinator = entity.EventCoordinator, |
| 151 | eventNumber = entity.EventNumber, | 151 | eventNumber = entity.EventNumber, |
| 152 | eventType = entity.EventType, | 152 | eventType = entity.EventType, |
| 153 | + pushUrl = entity.PushUrl, | ||
| 153 | }; | 154 | }; |
| 154 | 155 | ||
| 155 | // 3. 获取拓客活动成员信息 | 156 | // 3. 获取拓客活动成员信息 |
netcore/src/Modularity/Extend/NCC.Extend/LqJdqdService.cs
| @@ -28,7 +28,7 @@ namespace NCC.Extend.LqJdqd | @@ -28,7 +28,7 @@ namespace NCC.Extend.LqJdqd | ||
| 28 | /// <summary> | 28 | /// <summary> |
| 29 | /// 进店渠道服务 | 29 | /// 进店渠道服务 |
| 30 | /// </summary> | 30 | /// </summary> |
| 31 | - [ApiDescriptionSettings(Tag = "Extend",Name = "LqJdqd", Order = 200)] | 31 | + [ApiDescriptionSettings(Tag = "Extend", Name = "LqJdqd", Order = 200)] |
| 32 | [Route("api/Extend/[controller]")] | 32 | [Route("api/Extend/[controller]")] |
| 33 | public class LqJdqdService : ILqJdqdService, IDynamicApiController, ITransient | 33 | public class LqJdqdService : ILqJdqdService, IDynamicApiController, ITransient |
| 34 | { | 34 | { |
| @@ -43,7 +43,7 @@ namespace NCC.Extend.LqJdqd | @@ -43,7 +43,7 @@ namespace NCC.Extend.LqJdqd | ||
| 43 | ISqlSugarRepository<LqJdqdEntity> lqJdqdRepository, | 43 | ISqlSugarRepository<LqJdqdEntity> lqJdqdRepository, |
| 44 | IUserManager userManager) | 44 | IUserManager userManager) |
| 45 | { | 45 | { |
| 46 | - _lqJdqdRepository = lqJdqdRepository; | 46 | + _lqJdqdRepository = lqJdqdRepository; |
| 47 | _db = _lqJdqdRepository.Context; | 47 | _db = _lqJdqdRepository.Context; |
| 48 | _userManager = userManager; | 48 | _userManager = userManager; |
| 49 | } | 49 | } |
| @@ -73,12 +73,12 @@ namespace NCC.Extend.LqJdqd | @@ -73,12 +73,12 @@ namespace NCC.Extend.LqJdqd | ||
| 73 | var data = await _db.Queryable<LqJdqdEntity>() | 73 | var data = await _db.Queryable<LqJdqdEntity>() |
| 74 | .WhereIF(!string.IsNullOrEmpty(input.id), p => p.Id.Contains(input.id)) | 74 | .WhereIF(!string.IsNullOrEmpty(input.id), p => p.Id.Contains(input.id)) |
| 75 | .WhereIF(!string.IsNullOrEmpty(input.qdmc), p => p.Qdmc.Contains(input.qdmc)) | 75 | .WhereIF(!string.IsNullOrEmpty(input.qdmc), p => p.Qdmc.Contains(input.qdmc)) |
| 76 | - .Select(it=> new LqJdqdListOutput | 76 | + .Select(it => new LqJdqdListOutput |
| 77 | { | 77 | { |
| 78 | id = it.Id, | 78 | id = it.Id, |
| 79 | - qdmc=it.Qdmc, | ||
| 80 | - }).MergeTable().OrderBy(sidx+" "+input.sort).ToPagedListAsync(input.currentPage, input.pageSize); | ||
| 81 | - return PageResult<LqJdqdListOutput>.SqlSugarPageResult(data); | 79 | + qdmc = it.Qdmc, |
| 80 | + }).MergeTable().OrderBy(sidx + " " + input.sort).ToPagedListAsync(input.currentPage, input.pageSize); | ||
| 81 | + return PageResult<LqJdqdListOutput>.SqlSugarPageResult(data); | ||
| 82 | } | 82 | } |
| 83 | 83 | ||
| 84 | /// <summary> | 84 | /// <summary> |
| @@ -108,12 +108,12 @@ namespace NCC.Extend.LqJdqd | @@ -108,12 +108,12 @@ namespace NCC.Extend.LqJdqd | ||
| 108 | var data = await _db.Queryable<LqJdqdEntity>() | 108 | var data = await _db.Queryable<LqJdqdEntity>() |
| 109 | .WhereIF(!string.IsNullOrEmpty(input.id), p => p.Id.Contains(input.id)) | 109 | .WhereIF(!string.IsNullOrEmpty(input.id), p => p.Id.Contains(input.id)) |
| 110 | .WhereIF(!string.IsNullOrEmpty(input.qdmc), p => p.Qdmc.Contains(input.qdmc)) | 110 | .WhereIF(!string.IsNullOrEmpty(input.qdmc), p => p.Qdmc.Contains(input.qdmc)) |
| 111 | - .Select(it=> new LqJdqdListOutput | 111 | + .Select(it => new LqJdqdListOutput |
| 112 | { | 112 | { |
| 113 | id = it.Id, | 113 | id = it.Id, |
| 114 | - qdmc=it.Qdmc, | ||
| 115 | - }).MergeTable().OrderBy(sidx+" "+input.sort).ToListAsync(); | ||
| 116 | - return data; | 114 | + qdmc = it.Qdmc, |
| 115 | + }).MergeTable().OrderBy(sidx + " " + input.sort).ToListAsync(); | ||
| 116 | + return data; | ||
| 117 | } | 117 | } |
| 118 | 118 | ||
| 119 | /// <summary> | 119 | /// <summary> |
| @@ -135,7 +135,7 @@ namespace NCC.Extend.LqJdqd | @@ -135,7 +135,7 @@ namespace NCC.Extend.LqJdqd | ||
| 135 | { | 135 | { |
| 136 | exportData = await this.GetNoPagingList(input); | 136 | exportData = await this.GetNoPagingList(input); |
| 137 | } | 137 | } |
| 138 | - List<ParamsModel> paramList = "[{\"value\":\"渠道编号\",\"field\":\"id\"},{\"value\":\"渠道名称\",\"field\":\"qdmc\"},]".ToList<ParamsModel>(); | 138 | + List<ParamsModel> paramList = "[{\"value\":\"渠道编号\",\"field\":\"id\"},{\"value\":\"渠道名称\",\"field\":\"qdmc\"},]".ToList<ParamsModel>(); |
| 139 | ExcelConfig excelconfig = new ExcelConfig(); | 139 | ExcelConfig excelconfig = new ExcelConfig(); |
| 140 | excelconfig.FileName = "进店渠道.xls"; | 140 | excelconfig.FileName = "进店渠道.xls"; |
| 141 | excelconfig.HeadFont = "微软雅黑"; | 141 | excelconfig.HeadFont = "微软雅黑"; |
| @@ -178,7 +178,7 @@ namespace NCC.Extend.LqJdqd | @@ -178,7 +178,7 @@ namespace NCC.Extend.LqJdqd | ||
| 178 | //开启事务 | 178 | //开启事务 |
| 179 | _db.BeginTran(); | 179 | _db.BeginTran(); |
| 180 | //批量删除进店渠道 | 180 | //批量删除进店渠道 |
| 181 | - await _db.Deleteable<LqJdqdEntity>().In(d => d.Id,ids).ExecuteCommandAsync(); | 181 | + await _db.Deleteable<LqJdqdEntity>().In(d => d.Id, ids).ExecuteCommandAsync(); |
| 182 | //关闭事务 | 182 | //关闭事务 |
| 183 | _db.CommitTran(); | 183 | _db.CommitTran(); |
| 184 | } | 184 | } |
netcore/src/Modularity/Extend/NCC.Extend/LqKdKdjlbService.cs
| @@ -136,6 +136,7 @@ namespace NCC.Extend.LqKdKdjlb | @@ -136,6 +136,7 @@ namespace NCC.Extend.LqKdKdjlb | ||
| 136 | createTime = pxmx.CreateTIme, | 136 | createTime = pxmx.CreateTIme, |
| 137 | totalPrice = pxmx.TotalPrice, | 137 | totalPrice = pxmx.TotalPrice, |
| 138 | actualPrice = pxmx.ActualPrice, | 138 | actualPrice = pxmx.ActualPrice, |
| 139 | + remark = pxmx.Remark, | ||
| 139 | }; | 140 | }; |
| 140 | 141 | ||
| 141 | // 关联该品项的健康师业绩 | 142 | // 关联该品项的健康师业绩 |
| @@ -258,6 +259,233 @@ namespace NCC.Extend.LqKdKdjlb | @@ -258,6 +259,233 @@ namespace NCC.Extend.LqKdKdjlb | ||
| 258 | entity.Id = YitIdHelper.NextId().ToString(); | 259 | entity.Id = YitIdHelper.NextId().ToString(); |
| 259 | entity.CreateTime = DateTime.Now; | 260 | entity.CreateTime = DateTime.Now; |
| 260 | entity.UpdateTime = DateTime.Now; | 261 | entity.UpdateTime = DateTime.Now; |
| 262 | + entity.IsEffective = StatusEnum.有效.GetHashCode(); | ||
| 263 | + try | ||
| 264 | + { | ||
| 265 | + //开启事务 | ||
| 266 | + _db.BeginTran(); | ||
| 267 | + //判断是否有作废关联id | ||
| 268 | + if (!string.IsNullOrEmpty(input.cancelRefId)) | ||
| 269 | + { | ||
| 270 | + //查询作废关联id | ||
| 271 | + var cancelRefEntity = await _db.Queryable<LqKdKdjlbEntity>().FirstAsync(p => p.Id == input.cancelRefId); | ||
| 272 | + if (cancelRefEntity == null) | ||
| 273 | + { | ||
| 274 | + throw NCCException.Oh("作废关联id不存在"); | ||
| 275 | + } | ||
| 276 | + //将作废关联id的IsEffective设置为0 | ||
| 277 | + cancelRefEntity.IsEffective = StatusEnum.无效.GetHashCode(); | ||
| 278 | + await _db.Updateable(cancelRefEntity).ExecuteCommandAsync(); | ||
| 279 | + //把品项明细表的IsEffective设置为0 | ||
| 280 | + await _db.Updateable<LqKdPxmxEntity>().Where(p => p.Glkdbh == input.cancelRefId).UpdateColumns(p => new LqKdPxmxEntity { IsEffective = StatusEnum.无效.GetHashCode() }).ExecuteCommandAsync(); | ||
| 281 | + //把健康师业绩表的IsEffective设置为0 | ||
| 282 | + await _db.Updateable<LqKdJksyjEntity>().Where(p => p.Glkdbh == input.cancelRefId).UpdateColumns(p => new LqKdJksyjEntity { IsEffective = StatusEnum.无效.GetHashCode() }).ExecuteCommandAsync(); | ||
| 283 | + //把科技部老师业绩表的IsEffective设置为0 | ||
| 284 | + await _db.Updateable<LqKdKjbsyjEntity>().Where(p => p.Glkdbh == input.cancelRefId).UpdateColumns(p => new LqKdKjbsyjEntity { IsEffective = StatusEnum.无效.GetHashCode() }).ExecuteCommandAsync(); | ||
| 285 | + //把扣款信息表的IsEffective设置为0 | ||
| 286 | + await _db.Updateable<LqKdDeductinfoEntity>().Where(p => p.BillingId == input.cancelRefId).UpdateColumns(p => new LqKdDeductinfoEntity { IsEffective = StatusEnum.无效.GetHashCode() }).ExecuteCommandAsync(); | ||
| 287 | + } | ||
| 288 | + | ||
| 289 | + //新增开单记录表记录 | ||
| 290 | + entity.CreateUser = userInfo.userId; | ||
| 291 | + entity.DeductAmount = input.lqKdKdjlbDeductList.Sum(x => x.Amount ?? 0);//计算储扣总金额 | ||
| 292 | + var newEntity = await _db.Insertable(entity).IgnoreColumns(ignoreNullColumn: true).ExecuteReturnEntityAsync(); | ||
| 293 | + //循环品相信息 | ||
| 294 | + // 收集所有需要插入的实体,然后批量插入 | ||
| 295 | + var allPxmxEntities = new List<LqKdPxmxEntity>(); | ||
| 296 | + var allJksyjEntities = new List<LqKdJksyjEntity>(); | ||
| 297 | + var allKjbsyjEntities = new List<LqKdKjbsyjEntity>(); | ||
| 298 | + var allDeductEntities = new List<LqKdDeductinfoEntity>(); | ||
| 299 | + // 处理扣款信息列表 | ||
| 300 | + foreach (var item in input.lqKdKdjlbDeductList) | ||
| 301 | + { | ||
| 302 | + var lqKdDeductEntity = new LqKdDeductinfoEntity | ||
| 303 | + { | ||
| 304 | + Id = YitIdHelper.NextId().ToString(), | ||
| 305 | + BillingId = newEntity.Id, | ||
| 306 | + DeductId = item.DeductId, | ||
| 307 | + DeductType = item.DeductType, | ||
| 308 | + Amount = item.Amount, | ||
| 309 | + ProjectNumber = item.ProjectNumber, | ||
| 310 | + UnitPrice = item.UnitPrice, | ||
| 311 | + ItemName = item.ItemName, | ||
| 312 | + ItemId = item.ItemId, | ||
| 313 | + IsEffective = StatusEnum.有效.GetHashCode(), // 设置为有效 | ||
| 314 | + CreateTime = DateTime.Now, // 设置创建时间 | ||
| 315 | + }; | ||
| 316 | + allDeductEntities.Add(lqKdDeductEntity); | ||
| 317 | + } | ||
| 318 | + // 处理品项明细列表 | ||
| 319 | + foreach (var item in input.lqKdPxmxList) | ||
| 320 | + { | ||
| 321 | + // 创建品项明细实体 | ||
| 322 | + var lqKdPxmxEntity = new LqKdPxmxEntity | ||
| 323 | + { | ||
| 324 | + Id = YitIdHelper.NextId().ToString(), | ||
| 325 | + Glkdbh = newEntity.Id, | ||
| 326 | + Yjsj = input.kdrq, | ||
| 327 | + CreateTIme = DateTime.Now, | ||
| 328 | + MemberId = entity.Kdhy, | ||
| 329 | + IsEnabled = StatusEnum.有效.GetHashCode(), | ||
| 330 | + ProjectNumber = item.projectNumber, | ||
| 331 | + TotalPrice = (decimal)(item.pxjg * item.projectNumber), | ||
| 332 | + Px = item.px, | ||
| 333 | + Pxmc = item.pxmc, | ||
| 334 | + Pxjg = item.pxjg, | ||
| 335 | + SourceType = item.sourceType, | ||
| 336 | + ActualPrice = item.actualPrice, | ||
| 337 | + Remark = item.remark, | ||
| 338 | + IsEffective = StatusEnum.有效.GetHashCode(), | ||
| 339 | + }; | ||
| 340 | + allPxmxEntities.Add(lqKdPxmxEntity); | ||
| 341 | + | ||
| 342 | + // 收集该品项关联的健康师业绩 | ||
| 343 | + if (item.lqKdJksyjList != null && item.lqKdJksyjList.Any()) | ||
| 344 | + { | ||
| 345 | + //把jksxm保存到HealthInstructorNames | ||
| 346 | + foreach (var ijks_tem in item.lqKdJksyjList) | ||
| 347 | + { | ||
| 348 | + HealthInstructorNames += ijks_tem.jksxm + ","; | ||
| 349 | + allJksyjEntities.Add(new LqKdJksyjEntity | ||
| 350 | + { | ||
| 351 | + Id = YitIdHelper.NextId().ToString(), | ||
| 352 | + Glkdbh = newEntity.Id, | ||
| 353 | + Jks = ijks_tem.jks, | ||
| 354 | + Jksxm = ijks_tem.jksxm, | ||
| 355 | + Jkszh = ijks_tem.jkszh, | ||
| 356 | + Jksyj = ijks_tem.jksyj, | ||
| 357 | + Yjsj = input.kdrq, | ||
| 358 | + Jsj_id = ijks_tem.jsj_id, | ||
| 359 | + Kdpxid = lqKdPxmxEntity.Id, | ||
| 360 | + IsEffective = StatusEnum.有效.GetHashCode(), | ||
| 361 | + }); | ||
| 362 | + } | ||
| 363 | + } | ||
| 364 | + | ||
| 365 | + // 收集该品项关联的科技部老师业绩 | ||
| 366 | + if (item.lqKdKjbsyjList != null && item.lqKdKjbsyjList.Any()) | ||
| 367 | + { | ||
| 368 | + foreach (var ikjbs_tem in item.lqKdKjbsyjList) | ||
| 369 | + { | ||
| 370 | + allKjbsyjEntities.Add( | ||
| 371 | + new LqKdKjbsyjEntity | ||
| 372 | + { | ||
| 373 | + Id = YitIdHelper.NextId().ToString(), | ||
| 374 | + Glkdbh = newEntity.Id, | ||
| 375 | + Kjbls = ikjbs_tem.kjbls, | ||
| 376 | + Kjblsxm = ikjbs_tem.kjblsxm, | ||
| 377 | + Kjblszh = ikjbs_tem.kjblszh, | ||
| 378 | + Kjblsyj = ikjbs_tem.kjblsyj, | ||
| 379 | + Yjsj = input.kdrq, | ||
| 380 | + Kdpxid = lqKdPxmxEntity.Id, | ||
| 381 | + IsEffective = StatusEnum.有效.GetHashCode(), | ||
| 382 | + } | ||
| 383 | + ); | ||
| 384 | + } | ||
| 385 | + } | ||
| 386 | + } | ||
| 387 | + | ||
| 388 | + | ||
| 389 | + | ||
| 390 | + //通过会员id查询会员信息 | ||
| 391 | + var memberInfo = await _db.Queryable<LqKhxxEntity>().Where(u => u.Id == entity.Kdhy).FirstAsync(); | ||
| 392 | + //通过开单记录表查询这个会员开单金额 | ||
| 393 | + var kdAmount = await _db.Queryable<LqKdKdjlbEntity>().Where(u => u.Kdhy == entity.Kdhy).SumAsync(u => u.Sfyj); | ||
| 394 | + //如果开单金额小于500,为散客,如果大于500,为会员 | ||
| 395 | + if (kdAmount < 500) | ||
| 396 | + { | ||
| 397 | + memberInfo.Khlx = MemberTypeEnum.散客.GetHashCode().ToString(); | ||
| 398 | + } | ||
| 399 | + else | ||
| 400 | + { | ||
| 401 | + memberInfo.Khlx = MemberTypeEnum.会员.GetHashCode().ToString(); | ||
| 402 | + } | ||
| 403 | + await _db.Updateable(memberInfo).ExecuteCommandAsync(); | ||
| 404 | + // 批量插入扣款信息 | ||
| 405 | + if (allDeductEntities.Any()) | ||
| 406 | + { | ||
| 407 | + await _db.Insertable(allDeductEntities).ExecuteCommandAsync(); | ||
| 408 | + } | ||
| 409 | + // 批量插入品项明细 | ||
| 410 | + if (allPxmxEntities.Any()) | ||
| 411 | + { | ||
| 412 | + await _db.Insertable(allPxmxEntities).ExecuteCommandAsync(); | ||
| 413 | + } | ||
| 414 | + // 批量插入健康师业绩 | ||
| 415 | + if (allJksyjEntities.Any()) | ||
| 416 | + { | ||
| 417 | + await _db.Insertable(allJksyjEntities).ExecuteCommandAsync(); | ||
| 418 | + } | ||
| 419 | + // 批量插入科技部老师业绩 | ||
| 420 | + if (allKjbsyjEntities.Any()) | ||
| 421 | + { | ||
| 422 | + await _db.Insertable(allKjbsyjEntities).ExecuteCommandAsync(); | ||
| 423 | + } | ||
| 424 | + | ||
| 425 | + //关闭事务 | ||
| 426 | + _db.CommitTran(); | ||
| 427 | + | ||
| 428 | + // 生成开单记录字符串并发送到企业微信 | ||
| 429 | + try | ||
| 430 | + { | ||
| 431 | + var entityInfo = await GetInfo(newEntity.Id); | ||
| 432 | + if (entityInfo != null) | ||
| 433 | + { | ||
| 434 | + var orderRecordString = _stringGenerator.GenerateOrderRecordString(entityInfo, HealthInstructorNames); | ||
| 435 | + Console.WriteLine("开单记录字符串生成成功:"); | ||
| 436 | + Console.WriteLine(orderRecordString); | ||
| 437 | + | ||
| 438 | + // 发送到企业微信群 | ||
| 439 | + try | ||
| 440 | + { | ||
| 441 | + var sendResult = await _weChatBotService.SendOrderRecordMessage(orderRecordString); | ||
| 442 | + if (sendResult) | ||
| 443 | + { | ||
| 444 | + Console.WriteLine("开单记录已成功发送到企业微信群"); | ||
| 445 | + } | ||
| 446 | + else | ||
| 447 | + { | ||
| 448 | + Console.WriteLine("开单记录发送到企业微信群失败"); | ||
| 449 | + } | ||
| 450 | + } | ||
| 451 | + catch (Exception wechatEx) | ||
| 452 | + { | ||
| 453 | + Console.WriteLine($"发送企业微信消息异常: {wechatEx.Message}"); | ||
| 454 | + } | ||
| 455 | + } | ||
| 456 | + } | ||
| 457 | + catch (Exception ex) | ||
| 458 | + { | ||
| 459 | + // 字符串生成失败不影响主流程,只记录日志 | ||
| 460 | + Console.WriteLine($"生成开单记录字符串失败: {ex.Message}"); | ||
| 461 | + } | ||
| 462 | + } | ||
| 463 | + catch (Exception ex) | ||
| 464 | + { | ||
| 465 | + //回滚事务 | ||
| 466 | + _db.RollbackTran(); | ||
| 467 | + Console.WriteLine($"开单创建失败: {ex.Message}"); | ||
| 468 | + Console.WriteLine($"异常堆栈: {ex.StackTrace}"); | ||
| 469 | + throw NCCException.Oh(ErrorCode.COM1000); | ||
| 470 | + } | ||
| 471 | + } | ||
| 472 | + #endregion | ||
| 473 | + | ||
| 474 | + #region 新建开单记录表_备份 | ||
| 475 | + /// <summary> | ||
| 476 | + /// 新建开单记录表_备份 | ||
| 477 | + /// </summary> | ||
| 478 | + /// <param name="input">参数</param> | ||
| 479 | + /// <returns></returns> | ||
| 480 | + [HttpPost("Create_Bak")] | ||
| 481 | + public async Task Create_Bak([FromBody] LqKdKdjlbCrInput input) | ||
| 482 | + { | ||
| 483 | + var userInfo = await _userManager.GetUserInfo(); | ||
| 484 | + var entity = input.Adapt<LqKdKdjlbEntity>(); | ||
| 485 | + var HealthInstructorNames = ""; | ||
| 486 | + entity.Id = YitIdHelper.NextId().ToString(); | ||
| 487 | + entity.CreateTime = DateTime.Now; | ||
| 488 | + entity.UpdateTime = DateTime.Now; | ||
| 261 | try | 489 | try |
| 262 | { | 490 | { |
| 263 | //开启事务 | 491 | //开启事务 |
| @@ -1065,10 +1293,12 @@ namespace NCC.Extend.LqKdKdjlb | @@ -1065,10 +1293,12 @@ namespace NCC.Extend.LqKdKdjlb | ||
| 1065 | await _db.Updateable<LqKdJksyjEntity>().SetColumns(it => new LqKdJksyjEntity { IsEffective = 0 }).Where(it => it.Glkdbh == id).ExecuteCommandAsync(); | 1293 | await _db.Updateable<LqKdJksyjEntity>().SetColumns(it => new LqKdJksyjEntity { IsEffective = 0 }).Where(it => it.Glkdbh == id).ExecuteCommandAsync(); |
| 1066 | // 标记科技部老师业绩为无效 | 1294 | // 标记科技部老师业绩为无效 |
| 1067 | await _db.Updateable<LqKdKjbsyjEntity>().SetColumns(it => new LqKdKjbsyjEntity { IsEffective = 0 }).Where(it => it.Glkdbh == id).ExecuteCommandAsync(); | 1295 | await _db.Updateable<LqKdKjbsyjEntity>().SetColumns(it => new LqKdKjbsyjEntity { IsEffective = 0 }).Where(it => it.Glkdbh == id).ExecuteCommandAsync(); |
| 1296 | + // 标记开单_储扣详细表为无效 | ||
| 1297 | + await _db.Updateable<LqKdDeductinfoEntity>().SetColumns(it => new LqKdDeductinfoEntity { IsEffective = 0 }).Where(it => it.BillingId == id).ExecuteCommandAsync(); | ||
| 1068 | //关闭事务 | 1298 | //关闭事务 |
| 1069 | _db.CommitTran(); | 1299 | _db.CommitTran(); |
| 1070 | } | 1300 | } |
| 1071 | - catch (Exception ex) when (!(ex is NCCException)) | 1301 | + catch (Exception) |
| 1072 | { | 1302 | { |
| 1073 | //回滚事务 | 1303 | //回滚事务 |
| 1074 | _db.RollbackTran(); | 1304 | _db.RollbackTran(); |
| @@ -1141,65 +1371,94 @@ namespace NCC.Extend.LqKdKdjlb | @@ -1141,65 +1371,94 @@ namespace NCC.Extend.LqKdKdjlb | ||
| 1141 | int errorCount = 0; | 1371 | int errorCount = 0; |
| 1142 | var errorMessages = new List<string>(); | 1372 | var errorMessages = new List<string>(); |
| 1143 | 1373 | ||
| 1144 | - // 2. 逐条处理历史会员权益数据 | ||
| 1145 | - foreach (var item in historyData) | 1374 | + // 2. 批量处理数据,每批1000条 |
| 1375 | + const int batchSize = 1000; | ||
| 1376 | + var totalBatches = (int)Math.Ceiling((double)historyData.Count / batchSize); | ||
| 1377 | + | ||
| 1378 | + for (int batchIndex = 0; batchIndex < totalBatches; batchIndex++) | ||
| 1146 | { | 1379 | { |
| 1147 | - try | ||
| 1148 | - { | ||
| 1149 | - // 3. 生成开单记录ID | ||
| 1150 | - string kdjlbId = YitIdHelper.NextId().ToString(); | 1380 | + var batchData = historyData.Skip(batchIndex * batchSize).Take(batchSize).ToList(); |
| 1151 | 1381 | ||
| 1152 | - // 4. 创建开单记录 | ||
| 1153 | - var kdjlbEntity = new LqKdKdjlbEntity | 1382 | + var kdjlbEntities = new List<LqKdKdjlbEntity>(); |
| 1383 | + var pxmxEntities = new List<LqKdPxmxEntity>(); | ||
| 1384 | + | ||
| 1385 | + foreach (var item in batchData) | ||
| 1386 | + { | ||
| 1387 | + try | ||
| 1154 | { | 1388 | { |
| 1155 | - Id = kdjlbId, | ||
| 1156 | - Djmd = item.F_StoreId, // 直接使用F_StoreId | ||
| 1157 | - Kdhy = item.F_MemberId, | ||
| 1158 | - Kdhyc = item.会员名称, | ||
| 1159 | - Jsj = "暂无", | ||
| 1160 | - Kdhysjh = item.会员电话, | ||
| 1161 | - Kdrq = fixedDateTime, | ||
| 1162 | - Zdyj = Convert.ToDecimal(item.整单业绩 ?? 0), | ||
| 1163 | - Sfyj = Convert.ToDecimal(item.实付业绩 ?? 0), | ||
| 1164 | - Qk = Convert.ToDecimal(item.欠款 ?? 0), | ||
| 1165 | - CreateTime = fixedDateTime, | ||
| 1166 | - UpdateTime = fixedDateTime, | ||
| 1167 | - Sfskdd = "否", | ||
| 1168 | - IsEffective = 1, | ||
| 1169 | - Bz = "导入历史会员权益数据" | ||
| 1170 | - }; | 1389 | + // 3. 生成开单记录ID |
| 1390 | + string kdjlbId = YitIdHelper.NextId().ToString(); | ||
| 1391 | + | ||
| 1392 | + // 4. 创建开单记录 | ||
| 1393 | + var kdjlbEntity = new LqKdKdjlbEntity | ||
| 1394 | + { | ||
| 1395 | + Id = kdjlbId, | ||
| 1396 | + Djmd = (string)item.F_StoreId, // 直接使用F_StoreId | ||
| 1397 | + Kdhy = (string)item.F_MemberId, | ||
| 1398 | + Kdhyc = (string)item.会员名称, | ||
| 1399 | + Jsj = "暂无", | ||
| 1400 | + Kdhysjh = (string)item.会员电话, | ||
| 1401 | + Kdrq = fixedDateTime, | ||
| 1402 | + Zdyj = Convert.ToDecimal(item.整单业绩 ?? 0), | ||
| 1403 | + Sfyj = Convert.ToDecimal(item.实付业绩 ?? 0), | ||
| 1404 | + Qk = Convert.ToDecimal(item.欠款 ?? 0), | ||
| 1405 | + CreateTime = fixedDateTime, | ||
| 1406 | + UpdateTime = fixedDateTime, | ||
| 1407 | + Sfskdd = "否", | ||
| 1408 | + IsEffective = 1, | ||
| 1409 | + Bz = "导入历史会员权益数据" | ||
| 1410 | + }; | ||
| 1171 | 1411 | ||
| 1172 | - await _db.Insertable(kdjlbEntity).ExecuteCommandAsync(); | 1412 | + kdjlbEntities.Add(kdjlbEntity); |
| 1173 | 1413 | ||
| 1174 | - // 5. 创建品项明细 | ||
| 1175 | - string pxmxId = YitIdHelper.NextId().ToString(); | 1414 | + // 5. 创建品项明细 |
| 1415 | + string pxmxId = YitIdHelper.NextId().ToString(); | ||
| 1176 | 1416 | ||
| 1177 | - var pxmxEntity = new LqKdPxmxEntity | 1417 | + var pxmxEntity = new LqKdPxmxEntity |
| 1418 | + { | ||
| 1419 | + Id = pxmxId, | ||
| 1420 | + Glkdbh = kdjlbId, | ||
| 1421 | + Px = (string)item.F_ProjectId, | ||
| 1422 | + Pxmc = (string)item.品项名称, | ||
| 1423 | + Pxjg = Convert.ToDecimal(item.品项价格 ?? 0) / Convert.ToDecimal(item.品项次数 ?? 0), | ||
| 1424 | + ProjectNumber = Convert.ToDecimal(item.品项次数 ?? 0), | ||
| 1425 | + SourceType = (string)item.来源, | ||
| 1426 | + MemberId = (string)item.F_MemberId, | ||
| 1427 | + Yjsj = fixedDateTime, | ||
| 1428 | + CreateTIme = fixedDateTime, | ||
| 1429 | + IsEffective = 1, | ||
| 1430 | + IsEnabled = 0, | ||
| 1431 | + TotalPrice = Convert.ToDecimal(item.品项价格 ?? 0), | ||
| 1432 | + ActualPrice = Convert.ToDecimal(item.品项价格 ?? 0) | ||
| 1433 | + }; | ||
| 1434 | + | ||
| 1435 | + pxmxEntities.Add(pxmxEntity); | ||
| 1436 | + | ||
| 1437 | + successCount++; | ||
| 1438 | + } | ||
| 1439 | + catch (Exception ex) | ||
| 1178 | { | 1440 | { |
| 1179 | - Id = pxmxId, | ||
| 1180 | - Glkdbh = kdjlbId, | ||
| 1181 | - Px = item.F_ProjectId, | ||
| 1182 | - Pxmc = item.品项名称, | ||
| 1183 | - Pxjg = Convert.ToDecimal(item.品项价格 ?? 0), | ||
| 1184 | - ProjectNumber = Convert.ToDecimal(item.品项次数 ?? 0), | ||
| 1185 | - SourceType = item.来源, | ||
| 1186 | - MemberId = item.F_MemberId, | ||
| 1187 | - Yjsj = fixedDateTime, | ||
| 1188 | - CreateTIme = fixedDateTime, | ||
| 1189 | - IsEffective = 1, | ||
| 1190 | - IsEnabled = 0, | ||
| 1191 | - TotalPrice = Convert.ToDecimal(item.品项价格 ?? 0) * Convert.ToDecimal(item.品项次数 ?? 0), | ||
| 1192 | - ActualPrice = Convert.ToDecimal(item.品项价格 ?? 0) * Convert.ToDecimal(item.品项次数 ?? 0) | ||
| 1193 | - }; | 1441 | + errorCount++; |
| 1442 | + errorMessages.Add($"处理记录 {(string)item.会员编号}-{(string)item.品项名称} 时出错: {ex.Message}"); | ||
| 1443 | + } | ||
| 1444 | + } | ||
| 1194 | 1445 | ||
| 1195 | - await _db.Insertable(pxmxEntity).ExecuteCommandAsync(); | 1446 | + // 6. 批量插入开单记录 |
| 1447 | + if (kdjlbEntities.Any()) | ||
| 1448 | + { | ||
| 1449 | + await _db.Insertable(kdjlbEntities).ExecuteCommandAsync(); | ||
| 1450 | + } | ||
| 1196 | 1451 | ||
| 1197 | - successCount++; | 1452 | + // 7. 批量插入品项明细 |
| 1453 | + if (pxmxEntities.Any()) | ||
| 1454 | + { | ||
| 1455 | + await _db.Insertable(pxmxEntities).ExecuteCommandAsync(); | ||
| 1198 | } | 1456 | } |
| 1199 | - catch (Exception ex) | 1457 | + |
| 1458 | + // 8. 显示进度 | ||
| 1459 | + if (batchIndex % 10 == 0) | ||
| 1200 | { | 1460 | { |
| 1201 | - errorCount++; | ||
| 1202 | - errorMessages.Add($"处理记录 {item.会员编号}-{item.品项名称} 时出错: {ex.Message}"); | 1461 | + Console.WriteLine($"已处理 {batchIndex + 1}/{totalBatches} 批次,成功 {successCount} 条,失败 {errorCount} 条"); |
| 1203 | } | 1462 | } |
| 1204 | } | 1463 | } |
| 1205 | 1464 | ||
| @@ -1216,13 +1475,12 @@ namespace NCC.Extend.LqKdKdjlb | @@ -1216,13 +1475,12 @@ namespace NCC.Extend.LqKdKdjlb | ||
| 1216 | importTime = DateTime.Now | 1475 | importTime = DateTime.Now |
| 1217 | }; | 1476 | }; |
| 1218 | } | 1477 | } |
| 1219 | - catch (Exception ex) when (!(ex is NCCException)) | 1478 | + catch (Exception ex) |
| 1220 | { | 1479 | { |
| 1221 | _db.RollbackTran(); | 1480 | _db.RollbackTran(); |
| 1222 | throw NCCException.Oh($"导入历史会员权益数据失败: {ex.Message}"); | 1481 | throw NCCException.Oh($"导入历史会员权益数据失败: {ex.Message}"); |
| 1223 | } | 1482 | } |
| 1224 | } | 1483 | } |
| 1225 | #endregion | 1484 | #endregion |
| 1226 | - | ||
| 1227 | } | 1485 | } |
| 1228 | } | 1486 | } |
netcore/src/Modularity/Extend/NCC.Extend/LqKhxxService.cs
| @@ -34,6 +34,7 @@ using NCC.FriendlyException; | @@ -34,6 +34,7 @@ using NCC.FriendlyException; | ||
| 34 | using NCC.JsonSerialization; | 34 | using NCC.JsonSerialization; |
| 35 | using SqlSugar; | 35 | using SqlSugar; |
| 36 | using Yitter.IdGenerator; | 36 | using Yitter.IdGenerator; |
| 37 | +using NCC.Extend.Entitys.lq_kd_deductinfo; | ||
| 37 | 38 | ||
| 38 | namespace NCC.Extend.LqKhxx | 39 | namespace NCC.Extend.LqKhxx |
| 39 | { | 40 | { |
| @@ -578,6 +579,17 @@ namespace NCC.Extend.LqKhxx | @@ -578,6 +579,17 @@ namespace NCC.Extend.LqKhxx | ||
| 578 | }) | 579 | }) |
| 579 | .ToListAsync(); | 580 | .ToListAsync(); |
| 580 | 581 | ||
| 582 | + //查询储扣数据 | ||
| 583 | + var deductData = await _db.Queryable<LqKdDeductinfoEntity>() | ||
| 584 | + .Where(x => baseItems.Select(b => b.Id).Contains(x.DeductId)) | ||
| 585 | + .GroupBy(x => x.DeductId) | ||
| 586 | + .Select(x => new | ||
| 587 | + { | ||
| 588 | + BillingItemId = x.DeductId, | ||
| 589 | + TotalDeduct = SqlFunc.AggregateSum(x.Amount) | ||
| 590 | + }) | ||
| 591 | + .ToListAsync(); | ||
| 592 | + | ||
| 581 | // 组装结果 | 593 | // 组装结果 |
| 582 | var remainingItems = baseItems.Select(item => new RemainingItemInfo | 594 | var remainingItems = baseItems.Select(item => new RemainingItemInfo |
| 583 | { | 595 | { |
| @@ -589,12 +601,13 @@ namespace NCC.Extend.LqKhxx | @@ -589,12 +601,13 @@ namespace NCC.Extend.LqKhxx | ||
| 589 | TotalPurchased = item.ProjectNumber, | 601 | TotalPurchased = item.ProjectNumber, |
| 590 | ConsumedCount = consumedData.FirstOrDefault(c => c.BillingItemId == item.Id)?.TotalConsumed ?? 0, | 602 | ConsumedCount = consumedData.FirstOrDefault(c => c.BillingItemId == item.Id)?.TotalConsumed ?? 0, |
| 591 | RefundedCount = refundedData.FirstOrDefault(r => r.BillingItemId == item.Id)?.TotalRefunded ?? 0, | 603 | RefundedCount = refundedData.FirstOrDefault(r => r.BillingItemId == item.Id)?.TotalRefunded ?? 0, |
| 604 | + DeductCount = deductData.FirstOrDefault(d => d.BillingItemId == item.Id)?.TotalDeduct ?? 0, | ||
| 592 | }).ToList(); | 605 | }).ToList(); |
| 593 | 606 | ||
| 594 | // 计算剩余数量 | 607 | // 计算剩余数量 |
| 595 | foreach (var item in remainingItems) | 608 | foreach (var item in remainingItems) |
| 596 | { | 609 | { |
| 597 | - item.RemainingCount = item.TotalPurchased - item.ConsumedCount - item.RefundedCount; | 610 | + item.RemainingCount = item.TotalPurchased - item.ConsumedCount - item.RefundedCount - item.DeductCount; |
| 598 | } | 611 | } |
| 599 | return new MemberRemainingItemsOutput | 612 | return new MemberRemainingItemsOutput |
| 600 | { | 613 | { |
| @@ -719,7 +732,7 @@ namespace NCC.Extend.LqKhxx | @@ -719,7 +732,7 @@ namespace NCC.Extend.LqKhxx | ||
| 719 | Lxdz = "", // 联系地址 | 732 | Lxdz = "", // 联系地址 |
| 720 | Bz = "历史潜客导入", | 733 | Bz = "历史潜客导入", |
| 721 | CreateTime = DateTime.Now, | 734 | CreateTime = DateTime.Now, |
| 722 | - ExpandUser = (string)item.拓客员工, // 拓客人员 | 735 | + ExpandUser = (string)item.F_UserId, // 拓客人员 |
| 723 | MainHealthUser = null, | 736 | MainHealthUser = null, |
| 724 | SubHealthUser = null | 737 | SubHealthUser = null |
| 725 | }; | 738 | }; |
netcore/src/Modularity/Extend/NCC.Extend/LqStatisticsService.cs
| @@ -1464,7 +1464,7 @@ namespace NCC.Extend.LqStatistics | @@ -1464,7 +1464,7 @@ namespace NCC.Extend.LqStatistics | ||
| 1464 | SUM(CAST(jksyj.jksyj AS DECIMAL(18,2))) as order_performance | 1464 | SUM(CAST(jksyj.jksyj AS DECIMAL(18,2))) as order_performance |
| 1465 | FROM lq_kd_jksyj jksyj | 1465 | FROM lq_kd_jksyj jksyj |
| 1466 | INNER JOIN lq_kd_pxmx pxmx ON jksyj.F_kdpxid = pxmx.F_Id AND pxmx.F_IsEffective = 1 | 1466 | INNER JOIN lq_kd_pxmx pxmx ON jksyj.F_kdpxid = pxmx.F_Id AND pxmx.F_IsEffective = 1 |
| 1467 | - INNER JOIN lq_kd_kdjlb kd ON jksyj.glkdbh = kd.F_Id | 1467 | + INNER JOIN lq_kd_kdjlb kd ON jksyj.glkdbh COLLATE utf8mb4_general_ci = kd.F_Id COLLATE utf8mb4_general_ci |
| 1468 | WHERE jksyj.yjsj IS NOT NULL | 1468 | WHERE jksyj.yjsj IS NOT NULL |
| 1469 | AND jksyj.jksyj IS NOT NULL | 1469 | AND jksyj.jksyj IS NOT NULL |
| 1470 | AND jksyj.jksyj != '' | 1470 | AND jksyj.jksyj != '' |
| @@ -2529,7 +2529,7 @@ namespace NCC.Extend.LqStatistics | @@ -2529,7 +2529,7 @@ namespace NCC.Extend.LqStatistics | ||
| 2529 | SUM(CASE WHEN kd.sfskdd = '是' THEN COALESCE(kd.zdyj, 0) ELSE 0 END) as F_FirstOrderPerformance, | 2529 | SUM(CASE WHEN kd.sfskdd = '是' THEN COALESCE(kd.zdyj, 0) ELSE 0 END) as F_FirstOrderPerformance, |
| 2530 | SUM(CASE WHEN kd.sfskdd = '否' THEN COALESCE(kd.zdyj, 0) ELSE 0 END) as F_UpgradeOrderPerformance | 2530 | SUM(CASE WHEN kd.sfskdd = '否' THEN COALESCE(kd.zdyj, 0) ELSE 0 END) as F_UpgradeOrderPerformance |
| 2531 | FROM lq_kd_kdjlb kd | 2531 | FROM lq_kd_kdjlb kd |
| 2532 | - LEFT JOIN lq_mdxx md ON kd.djmd = md.F_Id | 2532 | + LEFT JOIN lq_mdxx md ON kd.djmd COLLATE utf8mb4_general_ci = md.F_Id COLLATE utf8mb4_general_ci |
| 2533 | WHERE kd.F_IsEffective = 1 | 2533 | WHERE kd.F_IsEffective = 1 |
| 2534 | AND DATE_FORMAT(kd.kdrq, '%Y%m') = @statisticsMonth | 2534 | AND DATE_FORMAT(kd.kdrq, '%Y%m') = @statisticsMonth |
| 2535 | GROUP BY kd.djmd, md.dm | 2535 | GROUP BY kd.djmd, md.dm |
| @@ -2539,7 +2539,7 @@ namespace NCC.Extend.LqStatistics | @@ -2539,7 +2539,7 @@ namespace NCC.Extend.LqStatistics | ||
| 2539 | kd.djmd as F_StoreId, | 2539 | kd.djmd as F_StoreId, |
| 2540 | COUNT(pxmx.F_ProjectNumber) as F_ItemQuantity | 2540 | COUNT(pxmx.F_ProjectNumber) as F_ItemQuantity |
| 2541 | FROM lq_kd_kdjlb kd | 2541 | FROM lq_kd_kdjlb kd |
| 2542 | - LEFT JOIN lq_kd_pxmx pxmx ON kd.F_Id = pxmx.glkdbh AND pxmx.F_IsEffective = 1 | 2542 | + LEFT JOIN lq_kd_pxmx pxmx ON kd.F_Id COLLATE utf8mb4_general_ci = pxmx.glkdbh COLLATE utf8mb4_general_ci AND pxmx.F_IsEffective = 1 |
| 2543 | WHERE kd.F_IsEffective = 1 | 2543 | WHERE kd.F_IsEffective = 1 |
| 2544 | AND DATE_FORMAT(kd.kdrq, '%Y%m') = @statisticsMonth | 2544 | AND DATE_FORMAT(kd.kdrq, '%Y%m') = @statisticsMonth |
| 2545 | GROUP BY kd.djmd | 2545 | GROUP BY kd.djmd |
| @@ -2924,7 +2924,7 @@ namespace NCC.Extend.LqStatistics | @@ -2924,7 +2924,7 @@ namespace NCC.Extend.LqStatistics | ||
| 2924 | var personalPerformanceSql = @" | 2924 | var personalPerformanceSql = @" |
| 2925 | UPDATE lq_salary_statistics s | 2925 | UPDATE lq_salary_statistics s |
| 2926 | INNER JOIN lq_statistics_personal_performance p | 2926 | INNER JOIN lq_statistics_personal_performance p |
| 2927 | - ON s.F_EmployeeId COLLATE utf8mb4_unicode_ci = p.F_EmployeeId COLLATE utf8mb4_unicode_ci | 2927 | + ON s.F_EmployeeId COLLATE utf8mb4_general_ci = p.F_EmployeeId COLLATE utf8mb4_general_ci |
| 2928 | AND s.F_StatisticsMonth = p.F_StatisticsMonth | 2928 | AND s.F_StatisticsMonth = p.F_StatisticsMonth |
| 2929 | SET | 2929 | SET |
| 2930 | s.F_TotalPerformance = p.F_TotalPerformance, | 2930 | s.F_TotalPerformance = p.F_TotalPerformance, |
| @@ -2944,7 +2944,7 @@ namespace NCC.Extend.LqStatistics | @@ -2944,7 +2944,7 @@ namespace NCC.Extend.LqStatistics | ||
| 2944 | var storePerformanceSql = @" | 2944 | var storePerformanceSql = @" |
| 2945 | UPDATE lq_salary_statistics s | 2945 | UPDATE lq_salary_statistics s |
| 2946 | INNER JOIN lq_statistics_store_total_performance st | 2946 | INNER JOIN lq_statistics_store_total_performance st |
| 2947 | - ON s.F_StoreId COLLATE utf8mb4_unicode_ci = st.F_StoreId COLLATE utf8mb4_unicode_ci | 2947 | + ON s.F_StoreId COLLATE utf8mb4_general_ci = st.F_StoreId COLLATE utf8mb4_general_ci |
| 2948 | AND s.F_StatisticsMonth = st.F_StatisticsMonth | 2948 | AND s.F_StatisticsMonth = st.F_StatisticsMonth |
| 2949 | SET | 2949 | SET |
| 2950 | s.F_StoreTotalPerformance = st.F_TotalOrderPerformance | 2950 | s.F_StoreTotalPerformance = st.F_TotalOrderPerformance |
| @@ -2960,7 +2960,7 @@ namespace NCC.Extend.LqStatistics | @@ -2960,7 +2960,7 @@ namespace NCC.Extend.LqStatistics | ||
| 2960 | var teamPerformanceSql = @" | 2960 | var teamPerformanceSql = @" |
| 2961 | UPDATE lq_salary_statistics s | 2961 | UPDATE lq_salary_statistics s |
| 2962 | INNER JOIN lq_statistics_gold_triangle gt | 2962 | INNER JOIN lq_statistics_gold_triangle gt |
| 2963 | - ON s.F_GoldTriangleId COLLATE utf8mb4_unicode_ci = gt.F_GoldTriangleId COLLATE utf8mb4_unicode_ci | 2963 | + ON s.F_GoldTriangleId COLLATE utf8mb4_general_ci = gt.F_GoldTriangleId COLLATE utf8mb4_general_ci |
| 2964 | AND s.F_StatisticsMonth = gt.F_StatisticsMonth | 2964 | AND s.F_StatisticsMonth = gt.F_StatisticsMonth |
| 2965 | SET | 2965 | SET |
| 2966 | s.F_TeamPerformance = gt.F_TotalPerformance | 2966 | s.F_TeamPerformance = gt.F_TotalPerformance |
netcore/src/Modularity/Extend/NCC.Extend/LqTkjlbService.cs
| @@ -190,10 +190,7 @@ namespace NCC.Extend.LqTkjlb | @@ -190,10 +190,7 @@ namespace NCC.Extend.LqTkjlb | ||
| 190 | //找到input.expansionUserId的用户信息 | 190 | //找到input.expansionUserId的用户信息 |
| 191 | var userInfo = await _db.Queryable<UserEntity>().Where(u => u.Id == input.expansionUserId).FirstAsync(); | 191 | var userInfo = await _db.Queryable<UserEntity>().Where(u => u.Id == input.expansionUserId).FirstAsync(); |
| 192 | //判断 岗位是否为健康师,如果是健康师,则设置拓客人员是健康师 | 192 | //判断 岗位是否为健康师,如果是健康师,则设置拓客人员是健康师 |
| 193 | - if (userInfo.Gw == "健康师") | ||
| 194 | - { | ||
| 195 | - MemberInfo.ExpandUser = input.expansionUserId; | ||
| 196 | - } | 193 | + MemberInfo.ExpandUser = input.expansionUserId; |
| 197 | MemberInfo.Gsmd = eventUserInfo.StoreId; | 194 | MemberInfo.Gsmd = eventUserInfo.StoreId; |
| 198 | var memberResult = await _db.Insertable(MemberInfo).IgnoreColumns(ignoreNullColumn: true).ExecuteCommandAsync(); | 195 | var memberResult = await _db.Insertable(MemberInfo).IgnoreColumns(ignoreNullColumn: true).ExecuteCommandAsync(); |
| 199 | if (!(memberResult > 0)) | 196 | if (!(memberResult > 0)) |
netcore/src/Modularity/Extend/NCC.Extend/LqYcsdJsjService.cs
| @@ -237,7 +237,7 @@ namespace NCC.Extend.LqYcsdJsj | @@ -237,7 +237,7 @@ namespace NCC.Extend.LqYcsdJsj | ||
| 237 | var month = input.DateTime.ToString("yyyyMM"); | 237 | var month = input.DateTime.ToString("yyyyMM"); |
| 238 | 238 | ||
| 239 | // 先查询用户的金三角关联信息 | 239 | // 先查询用户的金三角关联信息 |
| 240 | - var jsjUser = await _db.Queryable<NCC.Extend.Entitys.lq_jinsanjiao_user.LqJinsanjiaoUserEntity>().Where(x => x.UserId == input.UserId && x.DeleteMark == 0).FirstAsync(); | 240 | + var jsjUser = await _db.Queryable<LqJinsanjiaoUserEntity>().Where(x => x.UserId == input.UserId && x.DeleteMark == 0 && x.Month == month).FirstAsync(); |
| 241 | 241 | ||
| 242 | if (jsjUser == null) | 242 | if (jsjUser == null) |
| 243 | { | 243 | { |
netcore/src/Modularity/Extend/NCC.Extend/Utils/LqKdKdjlbStringGenerator.cs
| @@ -51,29 +51,21 @@ namespace NCC.Extend.Utils | @@ -51,29 +51,21 @@ namespace NCC.Extend.Utils | ||
| 51 | 51 | ||
| 52 | // 活动方案:532工程 | 52 | // 活动方案:532工程 |
| 53 | sb.AppendLine($"⏩活动方案:{entity.pxxx ?? "无"}"); | 53 | sb.AppendLine($"⏩活动方案:{entity.pxxx ?? "无"}"); |
| 54 | - | ||
| 55 | // 跟单配合:王经理 竹主任 陈思思老师 | 54 | // 跟单配合:王经理 竹主任 陈思思老师 |
| 56 | var techTeachers = GetTechTeachers(entity.lqKdKjbsyjList); | 55 | var techTeachers = GetTechTeachers(entity.lqKdKjbsyjList); |
| 57 | sb.AppendLine($"⏩跟单配合:{techTeachers}"); | 56 | sb.AppendLine($"⏩跟单配合:{techTeachers}"); |
| 58 | - | ||
| 59 | // 业绩:4800 | 57 | // 业绩:4800 |
| 60 | sb.AppendLine($"⏩业绩:{entity.zdyj}"); | 58 | sb.AppendLine($"⏩业绩:{entity.zdyj}"); |
| 61 | - | ||
| 62 | // 实付:4800 | 59 | // 实付:4800 |
| 63 | sb.AppendLine($"⏩实付:{entity.sfyj}"); | 60 | sb.AppendLine($"⏩实付:{entity.sfyj}"); |
| 64 | - | ||
| 65 | // 欠款: | 61 | // 欠款: |
| 66 | sb.AppendLine($"⏩欠款: {entity.qk}"); | 62 | sb.AppendLine($"⏩欠款: {entity.qk}"); |
| 67 | - | ||
| 68 | // 抵扣: | 63 | // 抵扣: |
| 69 | - sb.AppendLine($"⏩抵扣:{entity.ckmx ?? "无"}"); | ||
| 70 | - | 64 | + sb.AppendLine($"⏩抵扣:{entity.deductAmount}"); |
| 71 | // 来源:售后 | 65 | // 来源:售后 |
| 72 | sb.AppendLine($"⏩来源:{entity.khly ?? "无"}"); | 66 | sb.AppendLine($"⏩来源:{entity.khly ?? "无"}"); |
| 73 | - | ||
| 74 | // 是否属于升单: | 67 | // 是否属于升单: |
| 75 | sb.AppendLine($"⏩是否属于升单:{entity.sfskdd ?? "无"}"); | 68 | sb.AppendLine($"⏩是否属于升单:{entity.sfskdd ?? "无"}"); |
| 76 | - | ||
| 77 | // 简介:高姐是我们的老客,今天邀约到犀浦店做532,维维全程陪同,陈思思老师在操作过程中给姐姐分享企业文化,找到顾客需求、邀请王经理 竹主任 给到顾客福利、顾客爽快成交,私密档案已了解到70%,感谢顾客的信任与支持 ,王经理 竹主任 陈老师辛苦了[玫瑰]维维真棒[强]龙城国际店加油!我们还在努力中!家人们给我们打气加油👏👏👏👏等待我们的捷报👍👍 | 69 | // 简介:高姐是我们的老客,今天邀约到犀浦店做532,维维全程陪同,陈思思老师在操作过程中给姐姐分享企业文化,找到顾客需求、邀请王经理 竹主任 给到顾客福利、顾客爽快成交,私密档案已了解到70%,感谢顾客的信任与支持 ,王经理 竹主任 陈老师辛苦了[玫瑰]维维真棒[强]龙城国际店加油!我们还在努力中!家人们给我们打气加油👏👏👏👏等待我们的捷报👍👍 |
| 78 | sb.AppendLine($"⏩简介:{entity.jj ?? "无"}"); | 70 | sb.AppendLine($"⏩简介:{entity.jj ?? "无"}"); |
| 79 | 71 |
netcore/src/Modularity/Extend/NCC.Extend/Utils/WeChatBotTestController.cs
| @@ -78,7 +78,6 @@ namespace NCC.Extend.Utils | @@ -78,7 +78,6 @@ namespace NCC.Extend.Utils | ||
| 78 | zdyj = 1000, | 78 | zdyj = 1000, |
| 79 | sfyj = 1000, | 79 | sfyj = 1000, |
| 80 | qk = 0, | 80 | qk = 0, |
| 81 | - ckmx = "无", | ||
| 82 | khly = "测试来源", | 81 | khly = "测试来源", |
| 83 | sfskdd = "无", | 82 | sfskdd = "无", |
| 84 | jj = "这是一条测试开单记录", | 83 | jj = "这是一条测试开单记录", |
修复排序规则冲突_精简版.sql
0 → 100644
| 1 | +-- 修复排序规则冲突 - 精简版 | ||
| 2 | +-- 只更新报错的相关表 | ||
| 3 | + | ||
| 4 | +-- 1. 统一 BASE_USER 表的所有字段排序规则 | ||
| 5 | +ALTER TABLE BASE_USER CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; | ||
| 6 | + | ||
| 7 | +-- 2. 统一 lq_mdxx 表的所有字段排序规则 | ||
| 8 | +ALTER TABLE lq_mdxx CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; | ||
| 9 | + | ||
| 10 | +-- 3. 统一 lq_zjl_mdsmxsz 表的所有字段排序规则 | ||
| 11 | +ALTER TABLE lq_zjl_mdsmxsz CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; | ||
| 12 | + | ||
| 13 | +-- 4. 统一 lq_ycsd_jsj 表的所有字段排序规则 | ||
| 14 | +ALTER TABLE lq_ycsd_jsj CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; | ||
| 15 | + | ||
| 16 | +-- 5. 统一 lq_kd_jksyj 表的所有字段排序规则 | ||
| 17 | +ALTER TABLE lq_kd_jksyj CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; | ||
| 18 | + | ||
| 19 | +-- 6. 统一 lq_statistics_gold_triangle 表的所有字段排序规则 | ||
| 20 | +ALTER TABLE lq_statistics_gold_triangle CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; | ||
| 21 | + | ||
| 22 | +-- 7. 统一 lq_jinsanjiao_user 表的所有字段排序规则 | ||
| 23 | +ALTER TABLE lq_jinsanjiao_user CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; | ||
| 24 | + | ||
| 25 | +-- 8. 统一 lq_salary_statistics 表的所有字段排序规则 | ||
| 26 | +ALTER TABLE lq_salary_statistics CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; | ||
| 27 | + | ||
| 28 | +-- 9. 统一 lq_kd_pxmx 表的所有字段排序规则 | ||
| 29 | +ALTER TABLE lq_kd_pxmx CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; | ||
| 30 | + | ||
| 31 | +-- 10. 跳过 lq_kd_kdjlb 表(表太大,无法转换) | ||
| 32 | +-- ALTER TABLE lq_kd_kdjlb CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; | ||
| 33 | + | ||
| 34 | +-- 11. 统一 lq_xmzl 表的所有字段排序规则 | ||
| 35 | +ALTER TABLE lq_xmzl CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; | ||
| 36 | + | ||
| 37 | +-- 12. 统一 lq_statistics_personal_performance 表的所有字段排序规则 | ||
| 38 | +ALTER TABLE lq_statistics_personal_performance CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; | ||
| 39 | + | ||
| 40 | +-- 13. 统一 lq_statistics_store_total_performance 表的所有字段排序规则 | ||
| 41 | +ALTER TABLE lq_statistics_store_total_performance CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; | ||
| 42 | + | ||
| 43 | +-- 验证排序规则是否统一 | ||
| 44 | +SELECT | ||
| 45 | + TABLE_NAME, | ||
| 46 | + TABLE_COLLATION | ||
| 47 | +FROM INFORMATION_SCHEMA.TABLES | ||
| 48 | +WHERE TABLE_SCHEMA = DATABASE() | ||
| 49 | + AND TABLE_NAME IN ('BASE_USER', 'lq_mdxx', 'lq_zjl_mdsmxsz', 'lq_ycsd_jsj', 'lq_kd_jksyj', 'lq_statistics_gold_triangle', 'lq_jinsanjiao_user', 'lq_salary_statistics', 'lq_kd_pxmx', 'lq_xmzl', 'lq_statistics_personal_performance', 'lq_statistics_store_total_performance') | ||
| 50 | +ORDER BY TABLE_NAME; |