Commit b45d55f7d41e9102d1125da84a00e25409a0bbf8
1 parent
b1e65b28
Refactor LqEventService and related DTOs to enhance event handling; implement ma…
…nual mapping for event output, update member retrieval logic, and streamline event type retrieval. Modify LqHytkHytkService to adjust entity relationships and improve data handling. Introduce deduct information handling in LqKdKdjlbService and update related DTOs for consistency. Enhance LqTkjlbService to improve data retrieval and organization. Update LqXhHyhkService to refine consumption tracking and improve data integrity.
Showing
37 changed files
with
1099 additions
and
567 deletions
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqEvent/EventTypeEnumOutput.cs renamed to netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/Common/EnumOutput.cs
| 1 | -using System.ComponentModel; | ||
| 2 | - | ||
| 3 | -namespace NCC.Extend.Entitys.Dto.LqEvent | 1 | +namespace NCC.Extend.Entitys.Dto.Common |
| 4 | { | 2 | { |
| 5 | /// <summary> | 3 | /// <summary> |
| 6 | - /// 拓客类型枚举输出 | 4 | + /// 通用枚举输出 |
| 7 | /// </summary> | 5 | /// </summary> |
| 8 | - public class EventTypeEnumOutput | 6 | + public class EnumOutput |
| 9 | { | 7 | { |
| 10 | /// <summary> | 8 | /// <summary> |
| 11 | /// 枚举值 | 9 | /// 枚举值 |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqEvent/LqEventUpInput.cs
| @@ -14,7 +14,7 @@ namespace NCC.Extend.Entitys.Dto.LqEvent | @@ -14,7 +14,7 @@ namespace NCC.Extend.Entitys.Dto.LqEvent | ||
| 14 | /// 主键ID | 14 | /// 主键ID |
| 15 | /// </summary> | 15 | /// </summary> |
| 16 | [Required(ErrorMessage = "活动ID不能为空")] | 16 | [Required(ErrorMessage = "活动ID不能为空")] |
| 17 | - public new int? Id { get; set; } | 17 | + public new string Id { get; set; } |
| 18 | 18 | ||
| 19 | /// <summary> | 19 | /// <summary> |
| 20 | /// 活动名称 | 20 | /// 活动名称 |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqEvent/StoreTeamDataOutput.cs
0 → 100644
| 1 | +using System.Collections.Generic; | ||
| 2 | + | ||
| 3 | +namespace NCC.Extend.Entitys.Dto.LqEvent | ||
| 4 | +{ | ||
| 5 | + /// <summary> | ||
| 6 | + /// 门店战队数据输出 | ||
| 7 | + /// </summary> | ||
| 8 | + public class StoreTeamDataOutput | ||
| 9 | + { | ||
| 10 | + /// <summary> | ||
| 11 | + /// 门店ID | ||
| 12 | + /// </summary> | ||
| 13 | + public string StoreId { get; set; } | ||
| 14 | + | ||
| 15 | + /// <summary> | ||
| 16 | + /// 门店名称 | ||
| 17 | + /// </summary> | ||
| 18 | + public string StoreName { get; set; } | ||
| 19 | + | ||
| 20 | + /// <summary> | ||
| 21 | + /// 战队列表 | ||
| 22 | + /// </summary> | ||
| 23 | + public List<TeamInfoOutput> TeamList { get; set; } = new List<TeamInfoOutput>(); | ||
| 24 | + } | ||
| 25 | +} |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqEvent/TeamInfoOutput.cs
0 → 100644
| 1 | +using System.Collections.Generic; | ||
| 2 | + | ||
| 3 | +namespace NCC.Extend.Entitys.Dto.LqEvent | ||
| 4 | +{ | ||
| 5 | + /// <summary> | ||
| 6 | + /// 战队信息输出 | ||
| 7 | + /// </summary> | ||
| 8 | + public class TeamInfoOutput | ||
| 9 | + { | ||
| 10 | + /// <summary> | ||
| 11 | + /// 战队名称 | ||
| 12 | + /// </summary> | ||
| 13 | + public string TeamName { get; set; } | ||
| 14 | + | ||
| 15 | + /// <summary> | ||
| 16 | + /// 战队用户信息列表 | ||
| 17 | + /// </summary> | ||
| 18 | + public List<TeamUserInfoOutput> TeamUserInfo { get; set; } = new List<TeamUserInfoOutput>(); | ||
| 19 | + } | ||
| 20 | +} |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqEvent/TeamUserInfoOutput.cs
0 → 100644
| 1 | +using System; | ||
| 2 | + | ||
| 3 | +namespace NCC.Extend.Entitys.Dto.LqEvent | ||
| 4 | +{ | ||
| 5 | + /// <summary> | ||
| 6 | + /// 战队用户信息输出 | ||
| 7 | + /// </summary> | ||
| 8 | + public class TeamUserInfoOutput | ||
| 9 | + { | ||
| 10 | + /// <summary> | ||
| 11 | + /// 拓客用户ID | ||
| 12 | + /// </summary> | ||
| 13 | + public string ExpansionUserId { get; set; } | ||
| 14 | + | ||
| 15 | + /// <summary> | ||
| 16 | + /// 拓客用户姓名 | ||
| 17 | + /// </summary> | ||
| 18 | + public string ExpansionUserName { get; set; } | ||
| 19 | + | ||
| 20 | + /// <summary> | ||
| 21 | + /// 拓客数量 | ||
| 22 | + /// </summary> | ||
| 23 | + public int ExpansionCount { get; set; } | ||
| 24 | + | ||
| 25 | + /// <summary> | ||
| 26 | + /// 活动目标 | ||
| 27 | + /// </summary> | ||
| 28 | + public int EventTarget { get; set; } | ||
| 29 | + } | ||
| 30 | +} |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqEventUser/LqEventUserCrInput.cs
| @@ -42,6 +42,6 @@ namespace NCC.Extend.Entitys.Dto.LqEventUser | @@ -42,6 +42,6 @@ namespace NCC.Extend.Entitys.Dto.LqEventUser | ||
| 42 | /// <summary> | 42 | /// <summary> |
| 43 | /// 目标张数 | 43 | /// 目标张数 |
| 44 | /// </summary> | 44 | /// </summary> |
| 45 | - public int? TargetCount { get; set; } | 45 | + public int TargetCount { get; set; } = 0; |
| 46 | } | 46 | } |
| 47 | } | 47 | } |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqHytkHytk/LqHytkHytkCrInput.cs
| @@ -95,15 +95,5 @@ namespace NCC.Extend.Entitys.Dto.LqHytkHytk | @@ -95,15 +95,5 @@ namespace NCC.Extend.Entitys.Dto.LqHytkHytk | ||
| 95 | /// 退卡品项明细列表 | 95 | /// 退卡品项明细列表 |
| 96 | /// </summary> | 96 | /// </summary> |
| 97 | public List<LqHytkMxCrInput> lqHytkMxList { get; set; } | 97 | public List<LqHytkMxCrInput> lqHytkMxList { get; set; } |
| 98 | - | ||
| 99 | - /// <summary> | ||
| 100 | - /// 退卡健康师业绩列表 | ||
| 101 | - /// </summary> | ||
| 102 | - public List<LqHytkJksyjCrInput> lqHytkJksyjList { get; set; } | ||
| 103 | - | ||
| 104 | - /// <summary> | ||
| 105 | - /// 退卡科技部老师业绩列表 | ||
| 106 | - /// </summary> | ||
| 107 | - public List<LqHytkKjbsyjCrInput> lqHytkKjbsyjList { get; set; } | ||
| 108 | } | 98 | } |
| 109 | } | 99 | } |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqHytkMx/LqHytkMxCrInput.cs
| @@ -16,9 +16,14 @@ namespace NCC.Extend.Entitys.Dto.LqHytkMx | @@ -16,9 +16,14 @@ namespace NCC.Extend.Entitys.Dto.LqHytkMx | ||
| 16 | public string id { get; set; } | 16 | public string id { get; set; } |
| 17 | 17 | ||
| 18 | /// <summary> | 18 | /// <summary> |
| 19 | - /// 关联退卡编号 | 19 | + /// 关联退卡Id |
| 20 | /// </summary> | 20 | /// </summary> |
| 21 | - public string gltkbh { get; set; } | 21 | + public string refundInfoId { get; set; } |
| 22 | + | ||
| 23 | + /// <summary> | ||
| 24 | + /// 退卡记录Id | ||
| 25 | + /// </summary> | ||
| 26 | + public string billingItemId { get; set; } | ||
| 22 | 27 | ||
| 23 | /// <summary> | 28 | /// <summary> |
| 24 | /// 品项 | 29 | /// 品项 |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqHytkMx/LqHytkMxInfoOutput.cs
| @@ -16,9 +16,14 @@ namespace NCC.Extend.Entitys.Dto.LqHytkMx | @@ -16,9 +16,14 @@ namespace NCC.Extend.Entitys.Dto.LqHytkMx | ||
| 16 | public string id { get; set; } | 16 | public string id { get; set; } |
| 17 | 17 | ||
| 18 | /// <summary> | 18 | /// <summary> |
| 19 | - /// 关联退卡编号 | 19 | + /// 关联退卡Id |
| 20 | /// </summary> | 20 | /// </summary> |
| 21 | - public string gltkbh { get; set; } | 21 | + public string refundInfoId { get; set; } |
| 22 | + | ||
| 23 | + /// <summary> | ||
| 24 | + /// 退卡记录Id | ||
| 25 | + /// </summary> | ||
| 26 | + public string billingItemId { get; set; } | ||
| 22 | 27 | ||
| 23 | /// <summary> | 28 | /// <summary> |
| 24 | /// 品项编号 | 29 | /// 品项编号 |
| @@ -43,22 +48,22 @@ namespace NCC.Extend.Entitys.Dto.LqHytkMx | @@ -43,22 +48,22 @@ namespace NCC.Extend.Entitys.Dto.LqHytkMx | ||
| 43 | /// <summary> | 48 | /// <summary> |
| 44 | /// 项目次数 | 49 | /// 项目次数 |
| 45 | /// </summary> | 50 | /// </summary> |
| 46 | - public int? F_ProjectNumber { get; set; } | 51 | + public int projectNumber { get; set; } |
| 47 | 52 | ||
| 48 | /// <summary> | 53 | /// <summary> |
| 49 | /// 是否有效 | 54 | /// 是否有效 |
| 50 | /// </summary> | 55 | /// </summary> |
| 51 | - public int? F_IsEnabled { get; set; } | 56 | + public int isEnabled { get; set; } |
| 52 | 57 | ||
| 53 | /// <summary> | 58 | /// <summary> |
| 54 | /// 来源类型(开卡/赠送/其他) | 59 | /// 来源类型(开卡/赠送/其他) |
| 55 | /// </summary> | 60 | /// </summary> |
| 56 | - public string F_SourceType { get; set; } | 61 | + public string sourceType { get; set; } |
| 57 | 62 | ||
| 58 | /// <summary> | 63 | /// <summary> |
| 59 | /// 合计金额(品项价格 × 项目次数) | 64 | /// 合计金额(品项价格 × 项目次数) |
| 60 | /// </summary> | 65 | /// </summary> |
| 61 | - public decimal? F_TotalPrice { get; set; } | 66 | + public decimal? totalPrice { get; set; } |
| 62 | 67 | ||
| 63 | /// <summary> | 68 | /// <summary> |
| 64 | /// 健康师业绩列表 | 69 | /// 健康师业绩列表 |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdDeductinfo/LqKdDeductinfoCrInput.cs
0 → 100644
| 1 | +using System; | ||
| 2 | +using System.ComponentModel.DataAnnotations; | ||
| 3 | + | ||
| 4 | +namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo | ||
| 5 | +{ | ||
| 6 | + /// <summary> | ||
| 7 | + /// 开单扣减信息创建输入 | ||
| 8 | + /// </summary> | ||
| 9 | + public class LqKdDeductinfoCrInput | ||
| 10 | + { | ||
| 11 | + /// <summary> | ||
| 12 | + /// 扣减类型 | ||
| 13 | + /// </summary> | ||
| 14 | + [Required(ErrorMessage = "扣减类型不能为空")] | ||
| 15 | + public int? DeductType { get; set; } | ||
| 16 | + | ||
| 17 | + /// <summary> | ||
| 18 | + /// 扣减关联ID | ||
| 19 | + /// </summary> | ||
| 20 | + [Required(ErrorMessage = "扣减关联ID不能为空")] | ||
| 21 | + public string DeductId { get; set; } | ||
| 22 | + | ||
| 23 | + /// <summary> | ||
| 24 | + /// 开单id | ||
| 25 | + /// </summary> | ||
| 26 | + [Required(ErrorMessage = "开单id不能为空")] | ||
| 27 | + public string BillingId { get; set; } | ||
| 28 | + | ||
| 29 | + /// <summary> | ||
| 30 | + /// 合计金额 | ||
| 31 | + /// </summary> | ||
| 32 | + [Required(ErrorMessage = "合计金额不能为空")] | ||
| 33 | + [Range(0.01, 999999.99, ErrorMessage = "合计金额必须在0.01到999999.99之间")] | ||
| 34 | + public decimal? Amount { get; set; } | ||
| 35 | + } | ||
| 36 | +} |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdDeductinfo/LqKdDeductinfoInfoOutput.cs
0 → 100644
| 1 | +using System; | ||
| 2 | + | ||
| 3 | +namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo | ||
| 4 | +{ | ||
| 5 | + /// <summary> | ||
| 6 | + /// 开单扣减信息详情输出 | ||
| 7 | + /// </summary> | ||
| 8 | + public class LqKdDeductinfoInfoOutput | ||
| 9 | + { | ||
| 10 | + /// <summary> | ||
| 11 | + /// 主键 | ||
| 12 | + /// </summary> | ||
| 13 | + public string Id { get; set; } | ||
| 14 | + | ||
| 15 | + /// <summary> | ||
| 16 | + /// 扣减类型 | ||
| 17 | + /// </summary> | ||
| 18 | + public int? DeductType { get; set; } | ||
| 19 | + | ||
| 20 | + /// <summary> | ||
| 21 | + /// 扣减类型名称 | ||
| 22 | + /// </summary> | ||
| 23 | + public string DeductTypeName { get; set; } | ||
| 24 | + | ||
| 25 | + /// <summary> | ||
| 26 | + /// 扣减关联ID | ||
| 27 | + /// </summary> | ||
| 28 | + public string DeductId { get; set; } | ||
| 29 | + | ||
| 30 | + /// <summary> | ||
| 31 | + /// 开单id | ||
| 32 | + /// </summary> | ||
| 33 | + public string BillingId { get; set; } | ||
| 34 | + | ||
| 35 | + /// <summary> | ||
| 36 | + /// 合计金额 | ||
| 37 | + /// </summary> | ||
| 38 | + public decimal? Amount { get; set; } | ||
| 39 | + } | ||
| 40 | +} |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdDeductinfo/LqKdDeductinfoListOutput.cs
0 → 100644
| 1 | +using System; | ||
| 2 | + | ||
| 3 | +namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo | ||
| 4 | +{ | ||
| 5 | + /// <summary> | ||
| 6 | + /// 开单扣减信息列表输出 | ||
| 7 | + /// </summary> | ||
| 8 | + public class LqKdDeductinfoListOutput | ||
| 9 | + { | ||
| 10 | + /// <summary> | ||
| 11 | + /// 主键 | ||
| 12 | + /// </summary> | ||
| 13 | + public string Id { get; set; } | ||
| 14 | + | ||
| 15 | + /// <summary> | ||
| 16 | + /// 扣减类型 | ||
| 17 | + /// </summary> | ||
| 18 | + public int? DeductType { get; set; } | ||
| 19 | + | ||
| 20 | + /// <summary> | ||
| 21 | + /// 扣减类型名称 | ||
| 22 | + /// </summary> | ||
| 23 | + public string DeductTypeName { get; set; } | ||
| 24 | + | ||
| 25 | + /// <summary> | ||
| 26 | + /// 扣减关联ID | ||
| 27 | + /// </summary> | ||
| 28 | + public string DeductId { get; set; } | ||
| 29 | + | ||
| 30 | + /// <summary> | ||
| 31 | + /// 开单id | ||
| 32 | + /// </summary> | ||
| 33 | + public string BillingId { get; set; } | ||
| 34 | + | ||
| 35 | + /// <summary> | ||
| 36 | + /// 合计金额 | ||
| 37 | + /// </summary> | ||
| 38 | + public decimal? Amount { get; set; } | ||
| 39 | + } | ||
| 40 | +} |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdDeductinfo/LqKdDeductinfoListQueryInput.cs
0 → 100644
| 1 | +using System; | ||
| 2 | + | ||
| 3 | +namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo | ||
| 4 | +{ | ||
| 5 | + /// <summary> | ||
| 6 | + /// 开单扣减信息列表查询输入 | ||
| 7 | + /// </summary> | ||
| 8 | + public class LqKdDeductinfoListQueryInput | ||
| 9 | + { | ||
| 10 | + /// <summary> | ||
| 11 | + /// 扣减类型 | ||
| 12 | + /// </summary> | ||
| 13 | + public int? DeductType { get; set; } | ||
| 14 | + | ||
| 15 | + /// <summary> | ||
| 16 | + /// 扣减关联ID | ||
| 17 | + /// </summary> | ||
| 18 | + public string DeductId { get; set; } | ||
| 19 | + | ||
| 20 | + /// <summary> | ||
| 21 | + /// 开单id | ||
| 22 | + /// </summary> | ||
| 23 | + public string BillingId { get; set; } | ||
| 24 | + | ||
| 25 | + /// <summary> | ||
| 26 | + /// 最小金额 | ||
| 27 | + /// </summary> | ||
| 28 | + public decimal? MinAmount { get; set; } | ||
| 29 | + | ||
| 30 | + /// <summary> | ||
| 31 | + /// 最大金额 | ||
| 32 | + /// </summary> | ||
| 33 | + public decimal? MaxAmount { get; set; } | ||
| 34 | + } | ||
| 35 | +} |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdDeductinfo/LqKdDeductinfoUpInput.cs
0 → 100644
| 1 | +using System; | ||
| 2 | +using System.ComponentModel.DataAnnotations; | ||
| 3 | + | ||
| 4 | +namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo | ||
| 5 | +{ | ||
| 6 | + /// <summary> | ||
| 7 | + /// 开单扣减信息更新输入 | ||
| 8 | + /// </summary> | ||
| 9 | + public class LqKdDeductinfoUpInput : LqKdDeductinfoCrInput | ||
| 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/LqKdKdjlb/LqKdKdjlbCrInput.cs
| 1 | using System; | 1 | using System; |
| 2 | using System.Collections.Generic; | 2 | using System.Collections.Generic; |
| 3 | using NCC.Common.Model; | 3 | using NCC.Common.Model; |
| 4 | +using NCC.Extend.Entitys.Dto.LqKdDeductinfo; | ||
| 4 | 5 | ||
| 5 | namespace NCC.Extend.Entitys.Dto.LqKdKdjlb | 6 | namespace NCC.Extend.Entitys.Dto.LqKdKdjlb |
| 6 | { | 7 | { |
| @@ -150,6 +151,11 @@ namespace NCC.Extend.Entitys.Dto.LqKdKdjlb | @@ -150,6 +151,11 @@ namespace NCC.Extend.Entitys.Dto.LqKdKdjlb | ||
| 150 | public string F_FIleUrl { get; set; } | 151 | public string F_FIleUrl { get; set; } |
| 151 | 152 | ||
| 152 | /// <summary> | 153 | /// <summary> |
| 154 | + /// 扣款信息 | ||
| 155 | + /// </summary> | ||
| 156 | + public List<LqKdDeductinfoCrInput> lqKdKdjlbDeductList { get; set; } | ||
| 157 | + | ||
| 158 | + /// <summary> | ||
| 153 | /// 开单_品项明细 | 159 | /// 开单_品项明细 |
| 154 | /// </summary> | 160 | /// </summary> |
| 155 | public List<LqKdPxmxCrInput> lqKdPxmxList { get; set; } | 161 | public List<LqKdPxmxCrInput> lqKdPxmxList { get; set; } |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqTkjlb/LqTkjlbCrInput.cs
| @@ -16,42 +16,42 @@ namespace NCC.Extend.Entitys.Dto.LqTkjlb | @@ -16,42 +16,42 @@ namespace NCC.Extend.Entitys.Dto.LqTkjlb | ||
| 16 | /// <summary> | 16 | /// <summary> |
| 17 | /// 拓客时间 | 17 | /// 拓客时间 |
| 18 | /// </summary> | 18 | /// </summary> |
| 19 | - public DateTime? tksj { get; set; } | 19 | + public DateTime expansionTime { get; set; } |
| 20 | + | ||
| 21 | + /// <summary> | ||
| 22 | + /// 拓客人员 | ||
| 23 | + /// </summary> | ||
| 24 | + public string expansionUserId { get; set; } | ||
| 20 | 25 | ||
| 21 | /// <summary> | 26 | /// <summary> |
| 22 | /// 顾客姓名 | 27 | /// 顾客姓名 |
| 23 | /// </summary> | 28 | /// </summary> |
| 24 | - public string gkxm { get; set; } | 29 | + public string customerName { get; set; } |
| 25 | 30 | ||
| 26 | /// <summary> | 31 | /// <summary> |
| 27 | - /// 电话号码 | 32 | + /// 顾客电话号码 |
| 28 | /// </summary> | 33 | /// </summary> |
| 29 | - public string dhhm { get; set; } | 34 | + public string customerPhone { get; set; } |
| 30 | 35 | ||
| 31 | /// <summary> | 36 | /// <summary> |
| 32 | /// 购买张数 | 37 | /// 购买张数 |
| 33 | /// </summary> | 38 | /// </summary> |
| 34 | - public int? gmzs { get; set; } | 39 | + public int buyNumber { get; set; } |
| 35 | 40 | ||
| 36 | /// <summary> | 41 | /// <summary> |
| 37 | /// 支付方式 | 42 | /// 支付方式 |
| 38 | /// </summary> | 43 | /// </summary> |
| 39 | - public string zffs { get; set; } | 44 | + public string paymentMethod { get; set; } |
| 40 | 45 | ||
| 41 | /// <summary> | 46 | /// <summary> |
| 42 | /// 是否加微信 | 47 | /// 是否加微信 |
| 43 | /// </summary> | 48 | /// </summary> |
| 44 | - public string sfjwx { get; set; } | 49 | + public string isAddWeChat { get; set; } |
| 45 | 50 | ||
| 46 | /// <summary> | 51 | /// <summary> |
| 47 | /// 备注 | 52 | /// 备注 |
| 48 | /// </summary> | 53 | /// </summary> |
| 49 | - public string bz { get; set; } | ||
| 50 | - | ||
| 51 | - /// <summary> | ||
| 52 | - /// 拓客人员 | ||
| 53 | - /// </summary> | ||
| 54 | - public string tkry { get; set; } | 54 | + public string remarks { get; set; } |
| 55 | 55 | ||
| 56 | /// <summary> | 56 | /// <summary> |
| 57 | /// 拓客活动id | 57 | /// 拓客活动id |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqTkjlb/LqTkjlbInfoOutput.cs
| @@ -16,52 +16,57 @@ namespace NCC.Extend.Entitys.Dto.LqTkjlb | @@ -16,52 +16,57 @@ namespace NCC.Extend.Entitys.Dto.LqTkjlb | ||
| 16 | /// <summary> | 16 | /// <summary> |
| 17 | /// 拓客时间 | 17 | /// 拓客时间 |
| 18 | /// </summary> | 18 | /// </summary> |
| 19 | - public DateTime? tksj { get; set; } | 19 | + public DateTime expansionTime { get; set; } |
| 20 | 20 | ||
| 21 | /// <summary> | 21 | /// <summary> |
| 22 | /// 拓客人员 | 22 | /// 拓客人员 |
| 23 | /// </summary> | 23 | /// </summary> |
| 24 | - public string tkry { get; set; } | 24 | + public string expansionUserId { get; set; } |
| 25 | + | ||
| 26 | + /// <summary> | ||
| 27 | + /// 拓客人员 | ||
| 28 | + /// </summary> | ||
| 29 | + public string expansionUserName { get; set; } | ||
| 25 | 30 | ||
| 26 | /// <summary> | 31 | /// <summary> |
| 27 | /// 顾客姓名 | 32 | /// 顾客姓名 |
| 28 | /// </summary> | 33 | /// </summary> |
| 29 | - public string gkxm { get; set; } | 34 | + public string customerName { get; set; } |
| 30 | 35 | ||
| 31 | /// <summary> | 36 | /// <summary> |
| 32 | - /// 电话号码 | 37 | + /// 顾客电话号码 |
| 33 | /// </summary> | 38 | /// </summary> |
| 34 | - public string dhhm { get; set; } | 39 | + public string customerPhone { get; set; } |
| 35 | 40 | ||
| 36 | /// <summary> | 41 | /// <summary> |
| 37 | /// 购买张数 | 42 | /// 购买张数 |
| 38 | /// </summary> | 43 | /// </summary> |
| 39 | - public int? gmzs { get; set; } | 44 | + public int buyNumber { get; set; } |
| 40 | 45 | ||
| 41 | /// <summary> | 46 | /// <summary> |
| 42 | /// 支付方式 | 47 | /// 支付方式 |
| 43 | /// </summary> | 48 | /// </summary> |
| 44 | - public string zffs { get; set; } | 49 | + public string paymentMethod { get; set; } |
| 45 | 50 | ||
| 46 | /// <summary> | 51 | /// <summary> |
| 47 | /// 是否加微信 | 52 | /// 是否加微信 |
| 48 | /// </summary> | 53 | /// </summary> |
| 49 | - public string sfjwx { get; set; } | 54 | + public string isAddWeChat { get; set; } |
| 50 | 55 | ||
| 51 | /// <summary> | 56 | /// <summary> |
| 52 | /// 备注 | 57 | /// 备注 |
| 53 | /// </summary> | 58 | /// </summary> |
| 54 | - public string bz { get; set; } | 59 | + public string remarks { get; set; } |
| 55 | 60 | ||
| 56 | /// <summary> | 61 | /// <summary> |
| 57 | - /// 所属门店 | 62 | + /// 所属门店ID |
| 58 | /// </summary> | 63 | /// </summary> |
| 59 | - public string ssmd { get; set; } | 64 | + public string storeId { get; set; } |
| 60 | 65 | ||
| 61 | /// <summary> | 66 | /// <summary> |
| 62 | /// 所属战队 | 67 | /// 所属战队 |
| 63 | /// </summary> | 68 | /// </summary> |
| 64 | - public string sszd { get; set; } | 69 | + public string teamName { get; set; } |
| 65 | 70 | ||
| 66 | /// <summary> | 71 | /// <summary> |
| 67 | /// 拓客活动id | 72 | /// 拓客活动id |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqTkjlb/LqTkjlbListOutput.cs
| @@ -15,52 +15,57 @@ namespace NCC.Extend.Entitys.Dto.LqTkjlb | @@ -15,52 +15,57 @@ namespace NCC.Extend.Entitys.Dto.LqTkjlb | ||
| 15 | /// <summary> | 15 | /// <summary> |
| 16 | /// 拓客时间 | 16 | /// 拓客时间 |
| 17 | /// </summary> | 17 | /// </summary> |
| 18 | - public DateTime? tksj { get; set; } | 18 | + public DateTime expansionTime { get; set; } |
| 19 | 19 | ||
| 20 | /// <summary> | 20 | /// <summary> |
| 21 | /// 拓客人员 | 21 | /// 拓客人员 |
| 22 | /// </summary> | 22 | /// </summary> |
| 23 | - public string tkry { get; set; } | 23 | + public string expansionUserId { get; set; } |
| 24 | + | ||
| 25 | + /// <summary> | ||
| 26 | + /// 拓客人员 | ||
| 27 | + /// </summary> | ||
| 28 | + public string expansionUserName { get; set; } | ||
| 24 | 29 | ||
| 25 | /// <summary> | 30 | /// <summary> |
| 26 | /// 顾客姓名 | 31 | /// 顾客姓名 |
| 27 | /// </summary> | 32 | /// </summary> |
| 28 | - public string gkxm { get; set; } | 33 | + public string customerName { get; set; } |
| 29 | 34 | ||
| 30 | /// <summary> | 35 | /// <summary> |
| 31 | - /// 电话号码 | 36 | + /// 顾客电话号码 |
| 32 | /// </summary> | 37 | /// </summary> |
| 33 | - public string dhhm { get; set; } | 38 | + public string customerPhone { get; set; } |
| 34 | 39 | ||
| 35 | /// <summary> | 40 | /// <summary> |
| 36 | /// 购买张数 | 41 | /// 购买张数 |
| 37 | /// </summary> | 42 | /// </summary> |
| 38 | - public int? gmzs { get; set; } | 43 | + public int buyNumber { get; set; } |
| 39 | 44 | ||
| 40 | /// <summary> | 45 | /// <summary> |
| 41 | /// 支付方式 | 46 | /// 支付方式 |
| 42 | /// </summary> | 47 | /// </summary> |
| 43 | - public string zffs { get; set; } | 48 | + public string paymentMethod { get; set; } |
| 44 | 49 | ||
| 45 | /// <summary> | 50 | /// <summary> |
| 46 | /// 是否加微信 | 51 | /// 是否加微信 |
| 47 | /// </summary> | 52 | /// </summary> |
| 48 | - public string sfjwx { get; set; } | 53 | + public string isAddWeChat { get; set; } |
| 49 | 54 | ||
| 50 | /// <summary> | 55 | /// <summary> |
| 51 | /// 备注 | 56 | /// 备注 |
| 52 | /// </summary> | 57 | /// </summary> |
| 53 | - public string bz { get; set; } | 58 | + public string remarks { get; set; } |
| 54 | 59 | ||
| 55 | /// <summary> | 60 | /// <summary> |
| 56 | - /// 所属门店 | 61 | + /// 所属门店ID |
| 57 | /// </summary> | 62 | /// </summary> |
| 58 | - public string ssmd { get; set; } | 63 | + public string storeId { get; set; } |
| 59 | 64 | ||
| 60 | /// <summary> | 65 | /// <summary> |
| 61 | /// 所属战队 | 66 | /// 所属战队 |
| 62 | /// </summary> | 67 | /// </summary> |
| 63 | - public string sszd { get; set; } | 68 | + public string teamName { get; set; } |
| 64 | 69 | ||
| 65 | /// <summary> | 70 | /// <summary> |
| 66 | /// 拓客活动id | 71 | /// 拓客活动id |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqTkjlb/LqTkjlbListQueryInput.cs
| 1 | -using NCC.Common.Filter; | ||
| 2 | -using System.Collections.Generic; | 1 | +using System.Collections.Generic; |
| 2 | +using NCC.Common.Filter; | ||
| 3 | 3 | ||
| 4 | namespace NCC.Extend.Entitys.Dto.LqTkjlb | 4 | namespace NCC.Extend.Entitys.Dto.LqTkjlb |
| 5 | { | 5 | { |
| @@ -14,65 +14,68 @@ namespace NCC.Extend.Entitys.Dto.LqTkjlb | @@ -14,65 +14,68 @@ namespace NCC.Extend.Entitys.Dto.LqTkjlb | ||
| 14 | public string selectKey { get; set; } | 14 | public string selectKey { get; set; } |
| 15 | 15 | ||
| 16 | /// <summary> | 16 | /// <summary> |
| 17 | - /// | 17 | + /// |
| 18 | /// </summary> | 18 | /// </summary> |
| 19 | public int dataType { get; set; } | 19 | public int dataType { get; set; } |
| 20 | 20 | ||
| 21 | - | ||
| 22 | /// <summary> | 21 | /// <summary> |
| 23 | /// 拓客编号 | 22 | /// 拓客编号 |
| 24 | /// </summary> | 23 | /// </summary> |
| 25 | public string id { get; set; } | 24 | public string id { get; set; } |
| 26 | - | 25 | + |
| 27 | /// <summary> | 26 | /// <summary> |
| 28 | /// 拓客时间 | 27 | /// 拓客时间 |
| 29 | /// </summary> | 28 | /// </summary> |
| 30 | - public string tksj { get; set; } | ||
| 31 | - | 29 | + public string expansionTime { get; set; } |
| 30 | + | ||
| 32 | /// <summary> | 31 | /// <summary> |
| 33 | /// 拓客人员 | 32 | /// 拓客人员 |
| 34 | /// </summary> | 33 | /// </summary> |
| 35 | - public string tkry { get; set; } | ||
| 36 | - | 34 | + public string expansionUserId { get; set; } |
| 35 | + | ||
| 37 | /// <summary> | 36 | /// <summary> |
| 38 | /// 顾客姓名 | 37 | /// 顾客姓名 |
| 39 | /// </summary> | 38 | /// </summary> |
| 40 | - public string gkxm { get; set; } | ||
| 41 | - | 39 | + public string customerName { get; set; } |
| 40 | + | ||
| 42 | /// <summary> | 41 | /// <summary> |
| 43 | - /// 电话号码 | 42 | + /// 顾客电话号码 |
| 44 | /// </summary> | 43 | /// </summary> |
| 45 | - public string dhhm { get; set; } | ||
| 46 | - | 44 | + public string customerPhone { get; set; } |
| 45 | + | ||
| 47 | /// <summary> | 46 | /// <summary> |
| 48 | /// 购买张数 | 47 | /// 购买张数 |
| 49 | /// </summary> | 48 | /// </summary> |
| 50 | - public string gmzs { get; set; } | ||
| 51 | - | 49 | + public string buyNumber { get; set; } |
| 50 | + | ||
| 52 | /// <summary> | 51 | /// <summary> |
| 53 | /// 支付方式 | 52 | /// 支付方式 |
| 54 | /// </summary> | 53 | /// </summary> |
| 55 | - public string zffs { get; set; } | ||
| 56 | - | 54 | + public string paymentMethod { get; set; } |
| 55 | + | ||
| 57 | /// <summary> | 56 | /// <summary> |
| 58 | /// 是否加微信 | 57 | /// 是否加微信 |
| 59 | /// </summary> | 58 | /// </summary> |
| 60 | - public string sfjwx { get; set; } | ||
| 61 | - | 59 | + public string isAddWeChat { get; set; } |
| 60 | + | ||
| 62 | /// <summary> | 61 | /// <summary> |
| 63 | /// 备注 | 62 | /// 备注 |
| 64 | /// </summary> | 63 | /// </summary> |
| 65 | - public string bz { get; set; } | ||
| 66 | - | 64 | + public string remarks { get; set; } |
| 65 | + | ||
| 67 | /// <summary> | 66 | /// <summary> |
| 68 | - /// 所属门店 | 67 | + /// 拓客活动id |
| 69 | /// </summary> | 68 | /// </summary> |
| 70 | - public string ssmd { get; set; } | ||
| 71 | - | 69 | + public string eventId { get; set; } |
| 70 | + | ||
| 71 | + /// <summary> | ||
| 72 | + /// 所属门店ID | ||
| 73 | + /// </summary> | ||
| 74 | + public string storeId { get; set; } | ||
| 75 | + | ||
| 72 | /// <summary> | 76 | /// <summary> |
| 73 | /// 所属战队 | 77 | /// 所属战队 |
| 74 | /// </summary> | 78 | /// </summary> |
| 75 | - public string sszd { get; set; } | ||
| 76 | - | 79 | + public string teamName { get; set; } |
| 77 | } | 80 | } |
| 78 | } | 81 | } |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqTkjlb/LqTkjlbRankingOutput.cs
| @@ -10,13 +10,13 @@ namespace NCC.Extend.Entitys.Dto.LqTkjlb | @@ -10,13 +10,13 @@ namespace NCC.Extend.Entitys.Dto.LqTkjlb | ||
| 10 | /// <summary> | 10 | /// <summary> |
| 11 | /// 所属战队 | 11 | /// 所属战队 |
| 12 | /// </summary> | 12 | /// </summary> |
| 13 | - public string sszd { get; set; } | ||
| 14 | - | 13 | + public string teamName { get; set; } |
| 14 | + | ||
| 15 | /// <summary> | 15 | /// <summary> |
| 16 | /// 拓客人数 | 16 | /// 拓客人数 |
| 17 | /// </summary> | 17 | /// </summary> |
| 18 | - public int tkrs { get; set; } | ||
| 19 | - | 18 | + public int expansionUserCount { get; set; } |
| 19 | + | ||
| 20 | /// <summary> | 20 | /// <summary> |
| 21 | /// 排名 | 21 | /// 排名 |
| 22 | /// </summary> | 22 | /// </summary> |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhHyhk/LqXhHyhkCrInput.cs
| @@ -13,71 +13,70 @@ namespace NCC.Extend.Entitys.Dto.LqXhHyhk | @@ -13,71 +13,70 @@ namespace NCC.Extend.Entitys.Dto.LqXhHyhk | ||
| 13 | /// 耗卡编号 | 13 | /// 耗卡编号 |
| 14 | /// </summary> | 14 | /// </summary> |
| 15 | public string id { get; set; } | 15 | public string id { get; set; } |
| 16 | - | 16 | + |
| 17 | /// <summary> | 17 | /// <summary> |
| 18 | /// 门店 | 18 | /// 门店 |
| 19 | /// </summary> | 19 | /// </summary> |
| 20 | public string md { get; set; } | 20 | public string md { get; set; } |
| 21 | - | 21 | + |
| 22 | /// <summary> | 22 | /// <summary> |
| 23 | /// 门店编号 | 23 | /// 门店编号 |
| 24 | /// </summary> | 24 | /// </summary> |
| 25 | public string mdbh { get; set; } | 25 | public string mdbh { get; set; } |
| 26 | - | 26 | + |
| 27 | /// <summary> | 27 | /// <summary> |
| 28 | /// 门店名称 | 28 | /// 门店名称 |
| 29 | /// </summary> | 29 | /// </summary> |
| 30 | public string mdmc { get; set; } | 30 | public string mdmc { get; set; } |
| 31 | - | 31 | + |
| 32 | /// <summary> | 32 | /// <summary> |
| 33 | /// 会员 | 33 | /// 会员 |
| 34 | /// </summary> | 34 | /// </summary> |
| 35 | public string hy { get; set; } | 35 | public string hy { get; set; } |
| 36 | - | 36 | + |
| 37 | /// <summary> | 37 | /// <summary> |
| 38 | /// 会员账号 | 38 | /// 会员账号 |
| 39 | /// </summary> | 39 | /// </summary> |
| 40 | public string hyzh { get; set; } | 40 | public string hyzh { get; set; } |
| 41 | - | 41 | + |
| 42 | /// <summary> | 42 | /// <summary> |
| 43 | /// 会员名称 | 43 | /// 会员名称 |
| 44 | /// </summary> | 44 | /// </summary> |
| 45 | public string hymc { get; set; } | 45 | public string hymc { get; set; } |
| 46 | - | 46 | + |
| 47 | /// <summary> | 47 | /// <summary> |
| 48 | /// 顾客类型 | 48 | /// 顾客类型 |
| 49 | /// </summary> | 49 | /// </summary> |
| 50 | public string gklx { get; set; } | 50 | public string gklx { get; set; } |
| 51 | - | 51 | + |
| 52 | /// <summary> | 52 | /// <summary> |
| 53 | /// 消费金额 | 53 | /// 消费金额 |
| 54 | /// </summary> | 54 | /// </summary> |
| 55 | public string xfje { get; set; } | 55 | public string xfje { get; set; } |
| 56 | - | 56 | + |
| 57 | /// <summary> | 57 | /// <summary> |
| 58 | /// 手工费用 | 58 | /// 手工费用 |
| 59 | /// </summary> | 59 | /// </summary> |
| 60 | public string sgfy { get; set; } | 60 | public string sgfy { get; set; } |
| 61 | - | 61 | + |
| 62 | /// <summary> | 62 | /// <summary> |
| 63 | /// 是否有科技部 | 63 | /// 是否有科技部 |
| 64 | /// </summary> | 64 | /// </summary> |
| 65 | public string sfykjb { get; set; } | 65 | public string sfykjb { get; set; } |
| 66 | - | 66 | + |
| 67 | /// <summary> | 67 | /// <summary> |
| 68 | /// 耗卡时间 | 68 | /// 耗卡时间 |
| 69 | /// </summary> | 69 | /// </summary> |
| 70 | public DateTime? hksj { get; set; } | 70 | public DateTime? hksj { get; set; } |
| 71 | - | 71 | + |
| 72 | /// <summary> | 72 | /// <summary> |
| 73 | /// 操作人员 | 73 | /// 操作人员 |
| 74 | /// </summary> | 74 | /// </summary> |
| 75 | public string czry { get; set; } | 75 | public string czry { get; set; } |
| 76 | - | 76 | + |
| 77 | /// <summary> | 77 | /// <summary> |
| 78 | /// 耗卡_品项明细 | 78 | /// 耗卡_品项明细 |
| 79 | /// </summary> | 79 | /// </summary> |
| 80 | public List<LqXhPxmxCrInput> lqXhPxmxList { get; set; } | 80 | public List<LqXhPxmxCrInput> lqXhPxmxList { get; set; } |
| 81 | - | ||
| 82 | } | 81 | } |
| 83 | } | 82 | } |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhHyhk/MemberRemainingItemsOutput.cs
| @@ -17,13 +17,13 @@ namespace NCC.Extend.Entitys.Dto.LqXhHyhk | @@ -17,13 +17,13 @@ namespace NCC.Extend.Entitys.Dto.LqXhHyhk | ||
| 17 | /// </summary> | 17 | /// </summary> |
| 18 | /// <example>GK2025022100004</example> | 18 | /// <example>GK2025022100004</example> |
| 19 | public string MemberId { get; set; } | 19 | public string MemberId { get; set; } |
| 20 | - | 20 | + |
| 21 | /// <summary> | 21 | /// <summary> |
| 22 | /// 会员姓名 | 22 | /// 会员姓名 |
| 23 | /// </summary> | 23 | /// </summary> |
| 24 | /// <example>张三</example> | 24 | /// <example>张三</example> |
| 25 | public string MemberName { get; set; } | 25 | public string MemberName { get; set; } |
| 26 | - | 26 | + |
| 27 | /// <summary> | 27 | /// <summary> |
| 28 | /// 剩余品项列表 | 28 | /// 剩余品项列表 |
| 29 | /// </summary> | 29 | /// </summary> |
| @@ -41,51 +41,56 @@ namespace NCC.Extend.Entitys.Dto.LqXhHyhk | @@ -41,51 +41,56 @@ namespace NCC.Extend.Entitys.Dto.LqXhHyhk | ||
| 41 | public class RemainingItemInfo | 41 | public class RemainingItemInfo |
| 42 | { | 42 | { |
| 43 | /// <summary> | 43 | /// <summary> |
| 44 | + /// 开单品项id | ||
| 45 | + /// </summary> | ||
| 46 | + public string BillingItemId { get; set; } | ||
| 47 | + | ||
| 48 | + /// <summary> | ||
| 44 | /// 品项ID | 49 | /// 品项ID |
| 45 | /// </summary> | 50 | /// </summary> |
| 46 | /// <example>94</example> | 51 | /// <example>94</example> |
| 47 | public string ItemId { get; set; } | 52 | public string ItemId { get; set; } |
| 48 | - | 53 | + |
| 49 | /// <summary> | 54 | /// <summary> |
| 50 | /// 品项名称 | 55 | /// 品项名称 |
| 51 | /// </summary> | 56 | /// </summary> |
| 52 | /// <example>胶原宝宝-单部位</example> | 57 | /// <example>胶原宝宝-单部位</example> |
| 53 | public string ItemName { get; set; } | 58 | public string ItemName { get; set; } |
| 54 | - | 59 | + |
| 55 | /// <summary> | 60 | /// <summary> |
| 56 | /// 品项单价 | 61 | /// 品项单价 |
| 57 | /// </summary> | 62 | /// </summary> |
| 58 | /// <example>100.00</example> | 63 | /// <example>100.00</example> |
| 59 | public decimal ItemPrice { get; set; } | 64 | public decimal ItemPrice { get; set; } |
| 60 | - | 65 | + |
| 61 | /// <summary> | 66 | /// <summary> |
| 62 | /// 来源类型 | 67 | /// 来源类型 |
| 63 | /// </summary> | 68 | /// </summary> |
| 64 | /// <remarks>品项的来源类型,用于区分相同品项的不同来源</remarks> | 69 | /// <remarks>品项的来源类型,用于区分相同品项的不同来源</remarks> |
| 65 | /// <example>开卡</example> | 70 | /// <example>开卡</example> |
| 66 | public string SourceType { get; set; } | 71 | public string SourceType { get; set; } |
| 67 | - | 72 | + |
| 68 | /// <summary> | 73 | /// <summary> |
| 69 | /// 总购买数量 | 74 | /// 总购买数量 |
| 70 | /// </summary> | 75 | /// </summary> |
| 71 | /// <remarks>该品项的总购买次数</remarks> | 76 | /// <remarks>该品项的总购买次数</remarks> |
| 72 | /// <example>3</example> | 77 | /// <example>3</example> |
| 73 | public decimal TotalPurchased { get; set; } | 78 | public decimal TotalPurchased { get; set; } |
| 74 | - | 79 | + |
| 75 | /// <summary> | 80 | /// <summary> |
| 76 | /// 已耗卡数量 | 81 | /// 已耗卡数量 |
| 77 | /// </summary> | 82 | /// </summary> |
| 78 | /// <remarks>该品项已消费的次数</remarks> | 83 | /// <remarks>该品项已消费的次数</remarks> |
| 79 | /// <example>1</example> | 84 | /// <example>1</example> |
| 80 | public decimal ConsumedCount { get; set; } | 85 | public decimal ConsumedCount { get; set; } |
| 81 | - | 86 | + |
| 82 | /// <summary> | 87 | /// <summary> |
| 83 | /// 已退卡数量 | 88 | /// 已退卡数量 |
| 84 | /// </summary> | 89 | /// </summary> |
| 85 | /// <remarks>该品项已退卡的次数</remarks> | 90 | /// <remarks>该品项已退卡的次数</remarks> |
| 86 | /// <example>0</example> | 91 | /// <example>0</example> |
| 87 | public decimal RefundedCount { get; set; } | 92 | public decimal RefundedCount { get; set; } |
| 88 | - | 93 | + |
| 89 | /// <summary> | 94 | /// <summary> |
| 90 | /// 剩余数量 | 95 | /// 剩余数量 |
| 91 | /// </summary> | 96 | /// </summary> |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhPxmx/LqXhPxmxCrInput.cs
| @@ -14,9 +14,9 @@ namespace NCC.Extend.Entitys.Dto.LqXhPxmx | @@ -14,9 +14,9 @@ namespace NCC.Extend.Entitys.Dto.LqXhPxmx | ||
| 14 | public string id { get; set; } | 14 | public string id { get; set; } |
| 15 | 15 | ||
| 16 | /// <summary> | 16 | /// <summary> |
| 17 | - /// 关联开单编号 | 17 | + /// 开单品项明细表id |
| 18 | /// </summary> | 18 | /// </summary> |
| 19 | - public string glkdbh { get; set; } | 19 | + public string billingItemId { get; set; } |
| 20 | 20 | ||
| 21 | /// <summary> | 21 | /// <summary> |
| 22 | /// 品项 | 22 | /// 品项 |
| @@ -34,11 +34,6 @@ namespace NCC.Extend.Entitys.Dto.LqXhPxmx | @@ -34,11 +34,6 @@ namespace NCC.Extend.Entitys.Dto.LqXhPxmx | ||
| 34 | public decimal pxjg { get; set; } | 34 | public decimal pxjg { get; set; } |
| 35 | 35 | ||
| 36 | /// <summary> | 36 | /// <summary> |
| 37 | - /// 是否赠送 | ||
| 38 | - /// </summary> | ||
| 39 | - public string xfzs { get; set; } | ||
| 40 | - | ||
| 41 | - /// <summary> | ||
| 42 | /// 会员id | 37 | /// 会员id |
| 43 | /// </summary> | 38 | /// </summary> |
| 44 | public string memberId { get; set; } | 39 | public string memberId { get; set; } |
| @@ -78,4 +73,4 @@ namespace NCC.Extend.Entitys.Dto.LqXhPxmx | @@ -78,4 +73,4 @@ namespace NCC.Extend.Entitys.Dto.LqXhPxmx | ||
| 78 | /// </summary> | 73 | /// </summary> |
| 79 | public List<LqXhKjbsyj.LqXhKjbsyjCrInput> lqXhKjbsyjList { get; set; } | 74 | public List<LqXhKjbsyj.LqXhKjbsyjCrInput> lqXhKjbsyjList { get; set; } |
| 80 | } | 75 | } |
| 81 | -} | ||
| 82 | \ No newline at end of file | 76 | \ No newline at end of file |
| 77 | +} |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhPxmx/LqXhPxmxInfoOutput.cs
| @@ -16,9 +16,14 @@ namespace NCC.Extend.Entitys.Dto.LqXhPxmx | @@ -16,9 +16,14 @@ namespace NCC.Extend.Entitys.Dto.LqXhPxmx | ||
| 16 | public string id { get; set; } | 16 | public string id { get; set; } |
| 17 | 17 | ||
| 18 | /// <summary> | 18 | /// <summary> |
| 19 | - /// 关联耗卡编号 | 19 | + /// 耗卡记录ID |
| 20 | /// </summary> | 20 | /// </summary> |
| 21 | - public string glkdbh { get; set; } | 21 | + public string consumeInfoId { get; set; } |
| 22 | + | ||
| 23 | + /// <summary> | ||
| 24 | + /// 开单品项明细表id | ||
| 25 | + /// </summary> | ||
| 26 | + public string billingItemId { get; set; } | ||
| 22 | 27 | ||
| 23 | /// <summary> | 28 | /// <summary> |
| 24 | /// 品项编号 | 29 | /// 品项编号 |
| @@ -36,11 +41,6 @@ namespace NCC.Extend.Entitys.Dto.LqXhPxmx | @@ -36,11 +41,6 @@ namespace NCC.Extend.Entitys.Dto.LqXhPxmx | ||
| 36 | public decimal pxjg { get; set; } | 41 | public decimal pxjg { get; set; } |
| 37 | 42 | ||
| 38 | /// <summary> | 43 | /// <summary> |
| 39 | - /// 是否赠送 | ||
| 40 | - /// </summary> | ||
| 41 | - public string xfzs { get; set; } | ||
| 42 | - | ||
| 43 | - /// <summary> | ||
| 44 | /// 会员ID | 44 | /// 会员ID |
| 45 | /// </summary> | 45 | /// </summary> |
| 46 | public string memberId { get; set; } | 46 | public string memberId { get; set; } |
| @@ -80,4 +80,4 @@ namespace NCC.Extend.Entitys.Dto.LqXhPxmx | @@ -80,4 +80,4 @@ namespace NCC.Extend.Entitys.Dto.LqXhPxmx | ||
| 80 | /// </summary> | 80 | /// </summary> |
| 81 | public List<LqXhKjbsyjInfoOutput> lqXhKjbsyjList { get; set; } | 81 | public List<LqXhKjbsyjInfoOutput> lqXhKjbsyjList { get; set; } |
| 82 | } | 82 | } |
| 83 | -} | ||
| 84 | \ No newline at end of file | 83 | \ No newline at end of file |
| 84 | +} |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_hytk_mx/LqHytkMxEntity.cs
| 1 | -using NCC.Common.Const; | 1 | +using System; |
| 2 | +using NCC.Common.Const; | ||
| 3 | +using NCC.Extend.Entitys.Enum; | ||
| 2 | using SqlSugar; | 4 | using SqlSugar; |
| 3 | -using System; | ||
| 4 | 5 | ||
| 5 | namespace NCC.Extend.Entitys.lq_hytk_mx | 6 | namespace NCC.Extend.Entitys.lq_hytk_mx |
| 6 | { | 7 | { |
| @@ -16,90 +17,95 @@ namespace NCC.Extend.Entitys.lq_hytk_mx | @@ -16,90 +17,95 @@ namespace NCC.Extend.Entitys.lq_hytk_mx | ||
| 16 | /// </summary> | 17 | /// </summary> |
| 17 | [SugarColumn(ColumnName = "F_Id", IsPrimaryKey = true)] | 18 | [SugarColumn(ColumnName = "F_Id", IsPrimaryKey = true)] |
| 18 | public string Id { get; set; } | 19 | public string Id { get; set; } |
| 19 | - | 20 | + |
| 20 | /// <summary> | 21 | /// <summary> |
| 21 | - /// 关联退卡编号 | 22 | + /// 关联退卡Id |
| 22 | /// </summary> | 23 | /// </summary> |
| 23 | - [SugarColumn(ColumnName = "gltkbh")] | ||
| 24 | - public string Gltkbh { get; set; } | ||
| 25 | - | 24 | + [SugarColumn(ColumnName = "F_RefundInfoId")] |
| 25 | + public string RefundInfoId { get; set; } | ||
| 26 | + | ||
| 27 | + /// <summary> | ||
| 28 | + /// 退卡记录Id | ||
| 29 | + /// </summary> | ||
| 30 | + [SugarColumn(ColumnName = "F_BillingItemId")] | ||
| 31 | + public string BillingItemId { get; set; } | ||
| 32 | + | ||
| 26 | /// <summary> | 33 | /// <summary> |
| 27 | /// 品项 | 34 | /// 品项 |
| 28 | /// </summary> | 35 | /// </summary> |
| 29 | - [SugarColumn(ColumnName = "px")] | 36 | + [SugarColumn(ColumnName = "px")] |
| 30 | public string Px { get; set; } | 37 | public string Px { get; set; } |
| 31 | - | 38 | + |
| 32 | /// <summary> | 39 | /// <summary> |
| 33 | /// 品项名称 | 40 | /// 品项名称 |
| 34 | /// </summary> | 41 | /// </summary> |
| 35 | - [SugarColumn(ColumnName = "pxmc")] | 42 | + [SugarColumn(ColumnName = "pxmc")] |
| 36 | public string Pxmc { get; set; } | 43 | public string Pxmc { get; set; } |
| 37 | - | 44 | + |
| 38 | /// <summary> | 45 | /// <summary> |
| 39 | /// 品项价格 | 46 | /// 品项价格 |
| 40 | /// </summary> | 47 | /// </summary> |
| 41 | - [SugarColumn(ColumnName = "pxjg")] | 48 | + [SugarColumn(ColumnName = "pxjg")] |
| 42 | public decimal? Pxjg { get; set; } | 49 | public decimal? Pxjg { get; set; } |
| 43 | - | 50 | + |
| 44 | /// <summary> | 51 | /// <summary> |
| 45 | /// 退款金额 | 52 | /// 退款金额 |
| 46 | /// </summary> | 53 | /// </summary> |
| 47 | - [SugarColumn(ColumnName = "tkje")] | 54 | + [SugarColumn(ColumnName = "tkje")] |
| 48 | public decimal? Tkje { get; set; } | 55 | public decimal? Tkje { get; set; } |
| 49 | - | 56 | + |
| 50 | /// <summary> | 57 | /// <summary> |
| 51 | /// 项目次数 | 58 | /// 项目次数 |
| 52 | /// </summary> | 59 | /// </summary> |
| 53 | - [SugarColumn(ColumnName = "F_ProjectNumber")] | ||
| 54 | - public int? F_ProjectNumber { get; set; } | ||
| 55 | - | 60 | + [SugarColumn(ColumnName = "F_ProjectNumber")] |
| 61 | + public int ProjectNumber { get; set; } | ||
| 62 | + | ||
| 56 | /// <summary> | 63 | /// <summary> |
| 57 | /// 是否有效 | 64 | /// 是否有效 |
| 58 | /// </summary> | 65 | /// </summary> |
| 59 | - [SugarColumn(ColumnName = "F_IsEnabled")] | ||
| 60 | - public int? F_IsEnabled { get; set; } | ||
| 61 | - | 66 | + [SugarColumn(ColumnName = "F_IsEnabled")] |
| 67 | + public int IsEnabled { get; set; } = StatusEnum.有效.GetHashCode(); | ||
| 68 | + | ||
| 62 | /// <summary> | 69 | /// <summary> |
| 63 | /// 来源类型 | 70 | /// 来源类型 |
| 64 | /// </summary> | 71 | /// </summary> |
| 65 | - [SugarColumn(ColumnName = "F_SourceType")] | ||
| 66 | - public string F_SourceType { get; set; } | ||
| 67 | - | 72 | + [SugarColumn(ColumnName = "F_SourceType")] |
| 73 | + public string SourceType { get; set; } | ||
| 74 | + | ||
| 68 | /// <summary> | 75 | /// <summary> |
| 69 | /// 合计金额 | 76 | /// 合计金额 |
| 70 | /// </summary> | 77 | /// </summary> |
| 71 | - [SugarColumn(ColumnName = "F_TotalPrice")] | ||
| 72 | - public decimal? F_TotalPrice { get; set; } | ||
| 73 | - | 78 | + [SugarColumn(ColumnName = "F_TotalPrice")] |
| 79 | + public decimal? TotalPrice { get; set; } | ||
| 80 | + | ||
| 74 | /// <summary> | 81 | /// <summary> |
| 75 | /// 创建时间 | 82 | /// 创建时间 |
| 76 | /// </summary> | 83 | /// </summary> |
| 77 | - [SugarColumn(ColumnName = "F_CreateTime")] | ||
| 78 | - public DateTime? F_CreateTime { get; set; } | ||
| 79 | - | 84 | + [SugarColumn(ColumnName = "F_CreateTime")] |
| 85 | + public DateTime? CreateTime { get; set; } | ||
| 86 | + | ||
| 80 | /// <summary> | 87 | /// <summary> |
| 81 | /// 创建用户 | 88 | /// 创建用户 |
| 82 | /// </summary> | 89 | /// </summary> |
| 83 | - [SugarColumn(ColumnName = "F_CreateUser")] | ||
| 84 | - public string F_CreateUser { get; set; } | ||
| 85 | - | 90 | + [SugarColumn(ColumnName = "F_CreateUser")] |
| 91 | + public string CreateUser { get; set; } | ||
| 92 | + | ||
| 86 | /// <summary> | 93 | /// <summary> |
| 87 | /// 修改时间 | 94 | /// 修改时间 |
| 88 | /// </summary> | 95 | /// </summary> |
| 89 | - [SugarColumn(ColumnName = "F_ModifyTime")] | ||
| 90 | - public DateTime? F_ModifyTime { get; set; } | ||
| 91 | - | 96 | + [SugarColumn(ColumnName = "F_ModifyTime")] |
| 97 | + public DateTime? ModifyTime { get; set; } | ||
| 98 | + | ||
| 92 | /// <summary> | 99 | /// <summary> |
| 93 | /// 修改用户 | 100 | /// 修改用户 |
| 94 | /// </summary> | 101 | /// </summary> |
| 95 | - [SugarColumn(ColumnName = "F_ModifyUser")] | ||
| 96 | - public string F_ModifyUser { get; set; } | ||
| 97 | - | 102 | + [SugarColumn(ColumnName = "F_ModifyUser")] |
| 103 | + public string ModifyUser { get; set; } | ||
| 104 | + | ||
| 98 | /// <summary> | 105 | /// <summary> |
| 99 | /// 删除标记 | 106 | /// 删除标记 |
| 100 | /// </summary> | 107 | /// </summary> |
| 101 | - [SugarColumn(ColumnName = "F_DeleteMark")] | ||
| 102 | - public int? F_DeleteMark { get; set; } | ||
| 103 | - | 108 | + [SugarColumn(ColumnName = "F_DeleteMark")] |
| 109 | + public int? DeleteMark { get; set; } | ||
| 104 | } | 110 | } |
| 105 | -} | ||
| 106 | \ No newline at end of file | 111 | \ No newline at end of file |
| 112 | +} |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_kd_deductinfo/LqKdDeductinfoEntity.cs
0 → 100644
| 1 | +using System; | ||
| 2 | +using System.ComponentModel.DataAnnotations; | ||
| 3 | +using SqlSugar; | ||
| 4 | + | ||
| 5 | +namespace NCC.Extend.Entitys.lq_kd_deductinfo | ||
| 6 | +{ | ||
| 7 | + /// <summary> | ||
| 8 | + /// 开单扣减信息表 | ||
| 9 | + /// </summary> | ||
| 10 | + [SugarTable("lq_kd_deductinfo")] | ||
| 11 | + public class LqKdDeductinfoEntity | ||
| 12 | + { | ||
| 13 | + /// <summary> | ||
| 14 | + /// 主键 | ||
| 15 | + /// </summary> | ||
| 16 | + [SugarColumn(IsPrimaryKey = true, ColumnName = "F_Id")] | ||
| 17 | + public string Id { get; set; } | ||
| 18 | + | ||
| 19 | + /// <summary> | ||
| 20 | + /// 扣减类型 | ||
| 21 | + /// </summary> | ||
| 22 | + [SugarColumn(ColumnName = "F_DeductType")] | ||
| 23 | + public int? DeductType { get; set; } | ||
| 24 | + | ||
| 25 | + /// <summary> | ||
| 26 | + /// 扣减关联ID | ||
| 27 | + /// </summary> | ||
| 28 | + [SugarColumn(ColumnName = "F_DeductId")] | ||
| 29 | + public string DeductId { get; set; } | ||
| 30 | + | ||
| 31 | + /// <summary> | ||
| 32 | + /// 开单id | ||
| 33 | + /// </summary> | ||
| 34 | + [SugarColumn(ColumnName = "F_BillingId")] | ||
| 35 | + [Required] | ||
| 36 | + public string BillingId { get; set; } | ||
| 37 | + | ||
| 38 | + /// <summary> | ||
| 39 | + /// 合计金额 | ||
| 40 | + /// </summary> | ||
| 41 | + [SugarColumn(ColumnName = "F_Amount")] | ||
| 42 | + public decimal? Amount { get; set; } | ||
| 43 | + } | ||
| 44 | +} |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_tkjlb/LqTkjlbEntity.cs
| @@ -18,50 +18,50 @@ namespace NCC.Extend.Entitys.lq_tkjlb | @@ -18,50 +18,50 @@ namespace NCC.Extend.Entitys.lq_tkjlb | ||
| 18 | /// <summary> | 18 | /// <summary> |
| 19 | /// 拓客时间 | 19 | /// 拓客时间 |
| 20 | /// </summary> | 20 | /// </summary> |
| 21 | - [SugarColumn(ColumnName = "tksj")] | ||
| 22 | - public DateTime? Tksj { get; set; } | 21 | + [SugarColumn(ColumnName = "F_ExpansionTime")] |
| 22 | + public DateTime ExpansionTime { get; set; } | ||
| 23 | 23 | ||
| 24 | /// <summary> | 24 | /// <summary> |
| 25 | /// 拓客人员 | 25 | /// 拓客人员 |
| 26 | /// </summary> | 26 | /// </summary> |
| 27 | - [SugarColumn(ColumnName = "tkry")] | ||
| 28 | - public string Tkry { get; set; } | 27 | + [SugarColumn(ColumnName = "F_ExpansionUserId")] |
| 28 | + public string ExpansionUserId { get; set; } | ||
| 29 | 29 | ||
| 30 | /// <summary> | 30 | /// <summary> |
| 31 | /// 顾客姓名 | 31 | /// 顾客姓名 |
| 32 | /// </summary> | 32 | /// </summary> |
| 33 | - [SugarColumn(ColumnName = "gkxm")] | ||
| 34 | - public string Gkxm { get; set; } | 33 | + [SugarColumn(ColumnName = "F_CustomerName")] |
| 34 | + public string CustomerName { get; set; } | ||
| 35 | 35 | ||
| 36 | /// <summary> | 36 | /// <summary> |
| 37 | - /// 电话号码 | 37 | + /// 顾客电话号码 |
| 38 | /// </summary> | 38 | /// </summary> |
| 39 | - [SugarColumn(ColumnName = "dhhm")] | ||
| 40 | - public string Dhhm { get; set; } | 39 | + [SugarColumn(ColumnName = "F_CustomerPhone")] |
| 40 | + public string CustomerPhone { get; set; } | ||
| 41 | 41 | ||
| 42 | /// <summary> | 42 | /// <summary> |
| 43 | /// 购买张数 | 43 | /// 购买张数 |
| 44 | /// </summary> | 44 | /// </summary> |
| 45 | - [SugarColumn(ColumnName = "gmzs")] | ||
| 46 | - public int? Gmzs { get; set; } | 45 | + [SugarColumn(ColumnName = "F_BuyNumber")] |
| 46 | + public int BuyNumber { get; set; } = 0; | ||
| 47 | 47 | ||
| 48 | /// <summary> | 48 | /// <summary> |
| 49 | /// 支付方式 | 49 | /// 支付方式 |
| 50 | /// </summary> | 50 | /// </summary> |
| 51 | - [SugarColumn(ColumnName = "zffs")] | ||
| 52 | - public string Zffs { get; set; } | 51 | + [SugarColumn(ColumnName = "F_PaymentMethod")] |
| 52 | + public string PaymentMethod { get; set; } | ||
| 53 | 53 | ||
| 54 | /// <summary> | 54 | /// <summary> |
| 55 | /// 是否加微信 | 55 | /// 是否加微信 |
| 56 | /// </summary> | 56 | /// </summary> |
| 57 | - [SugarColumn(ColumnName = "sfjwx")] | ||
| 58 | - public string Sfjwx { get; set; } | 57 | + [SugarColumn(ColumnName = "F_IsAddWeChat")] |
| 58 | + public string IsAddWeChat { get; set; } | ||
| 59 | 59 | ||
| 60 | /// <summary> | 60 | /// <summary> |
| 61 | /// 备注 | 61 | /// 备注 |
| 62 | /// </summary> | 62 | /// </summary> |
| 63 | - [SugarColumn(ColumnName = "bz")] | ||
| 64 | - public string Bz { get; set; } | 63 | + [SugarColumn(ColumnName = "F_Remarks")] |
| 64 | + public string Remarks { get; set; } | ||
| 65 | 65 | ||
| 66 | /// <summary> | 66 | /// <summary> |
| 67 | /// 拓客活动id | 67 | /// 拓客活动id |
| @@ -70,15 +70,27 @@ namespace NCC.Extend.Entitys.lq_tkjlb | @@ -70,15 +70,27 @@ namespace NCC.Extend.Entitys.lq_tkjlb | ||
| 70 | public string EventId { get; set; } | 70 | public string EventId { get; set; } |
| 71 | 71 | ||
| 72 | /// <summary> | 72 | /// <summary> |
| 73 | - /// 所属组织 | 73 | + /// 所属门店ID |
| 74 | /// </summary> | 74 | /// </summary> |
| 75 | - [SugarColumn(ColumnName = "ssmd")] | ||
| 76 | - public string Ssmd { get; set; } | 75 | + [SugarColumn(ColumnName = "F_StoreId")] |
| 76 | + public string StoreId { get; set; } | ||
| 77 | 77 | ||
| 78 | /// <summary> | 78 | /// <summary> |
| 79 | /// 所属战队 | 79 | /// 所属战队 |
| 80 | /// </summary> | 80 | /// </summary> |
| 81 | - [SugarColumn(ColumnName = "sszd")] | ||
| 82 | - public string Sszd { get; set; } | 81 | + [SugarColumn(ColumnName = "F_TeamName")] |
| 82 | + public string TeamName { get; set; } | ||
| 83 | + | ||
| 84 | + /// <summary> | ||
| 85 | + /// 所属部门id | ||
| 86 | + /// </summary> | ||
| 87 | + [SugarColumn(ColumnName = "F_DepId")] | ||
| 88 | + public string DepId { get; set; } | ||
| 89 | + | ||
| 90 | + /// <summary> | ||
| 91 | + /// 添加时间 | ||
| 92 | + /// </summary> | ||
| 93 | + [SugarColumn(ColumnName = "F_CreateTime")] | ||
| 94 | + public DateTime CreateTime { get; set; } = DateTime.Now; | ||
| 83 | } | 95 | } |
| 84 | } | 96 | } |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_xh_pxmx/LqXhPxmxEntity.cs
| 1 | -using NCC.Common.Const; | 1 | +using System; |
| 2 | +using NCC.Common.Const; | ||
| 2 | using SqlSugar; | 3 | using SqlSugar; |
| 3 | -using System; | ||
| 4 | 4 | ||
| 5 | namespace NCC.Extend.Entitys.lq_xh_pxmx | 5 | namespace NCC.Extend.Entitys.lq_xh_pxmx |
| 6 | { | 6 | { |
| @@ -16,71 +16,71 @@ namespace NCC.Extend.Entitys.lq_xh_pxmx | @@ -16,71 +16,71 @@ namespace NCC.Extend.Entitys.lq_xh_pxmx | ||
| 16 | /// </summary> | 16 | /// </summary> |
| 17 | [SugarColumn(ColumnName = "F_Id", IsPrimaryKey = true)] | 17 | [SugarColumn(ColumnName = "F_Id", IsPrimaryKey = true)] |
| 18 | public string Id { get; set; } | 18 | public string Id { get; set; } |
| 19 | - | 19 | + |
| 20 | /// <summary> | 20 | /// <summary> |
| 21 | - /// 关联开单编号 | 21 | + /// 耗卡记录ID |
| 22 | /// </summary> | 22 | /// </summary> |
| 23 | - [SugarColumn(ColumnName = "glkdbh")] | ||
| 24 | - public string Glkdbh { get; set; } | ||
| 25 | - | 23 | + [SugarColumn(ColumnName = "F_ConsumeInfoId")] |
| 24 | + public string ConsumeInfoId { get; set; } | ||
| 25 | + | ||
| 26 | + /// <summary> | ||
| 27 | + /// 开单品项明细表id | ||
| 28 | + /// </summary> | ||
| 29 | + [SugarColumn(ColumnName = "F_BillingItemId")] | ||
| 30 | + public string BillingItemId { get; set; } | ||
| 31 | + | ||
| 26 | /// <summary> | 32 | /// <summary> |
| 27 | /// 品项 | 33 | /// 品项 |
| 28 | /// </summary> | 34 | /// </summary> |
| 29 | - [SugarColumn(ColumnName = "px")] | 35 | + [SugarColumn(ColumnName = "px")] |
| 30 | public string Px { get; set; } | 36 | public string Px { get; set; } |
| 31 | - | 37 | + |
| 32 | /// <summary> | 38 | /// <summary> |
| 33 | /// 品项名称 | 39 | /// 品项名称 |
| 34 | /// </summary> | 40 | /// </summary> |
| 35 | - [SugarColumn(ColumnName = "pxmc")] | 41 | + [SugarColumn(ColumnName = "pxmc")] |
| 36 | public string Pxmc { get; set; } | 42 | public string Pxmc { get; set; } |
| 37 | - | 43 | + |
| 38 | /// <summary> | 44 | /// <summary> |
| 39 | /// 品项价格 | 45 | /// 品项价格 |
| 40 | /// </summary> | 46 | /// </summary> |
| 41 | - [SugarColumn(ColumnName = "pxjg")] | 47 | + [SugarColumn(ColumnName = "pxjg")] |
| 42 | public decimal Pxjg { get; set; } | 48 | public decimal Pxjg { get; set; } |
| 43 | 49 | ||
| 44 | /// <summary> | 50 | /// <summary> |
| 45 | - /// 是否赠送 | ||
| 46 | - /// </summary> | ||
| 47 | - [SugarColumn(ColumnName = "xfzs")] | ||
| 48 | - public string Xfzs { get; set; } | ||
| 49 | - | ||
| 50 | - /// <summary> | ||
| 51 | /// 会员id | 51 | /// 会员id |
| 52 | /// </summary> | 52 | /// </summary> |
| 53 | - [SugarColumn(ColumnName = "F_MemberId")] | 53 | + [SugarColumn(ColumnName = "F_MemberId")] |
| 54 | public string MemberId { get; set; } | 54 | public string MemberId { get; set; } |
| 55 | 55 | ||
| 56 | /// <summary> | 56 | /// <summary> |
| 57 | /// 创建时间 | 57 | /// 创建时间 |
| 58 | /// </summary> | 58 | /// </summary> |
| 59 | - [SugarColumn(ColumnName = "F_CreateTIme")] | 59 | + [SugarColumn(ColumnName = "F_CreateTIme")] |
| 60 | public DateTime? CreateTIme { get; set; } | 60 | public DateTime? CreateTIme { get; set; } |
| 61 | 61 | ||
| 62 | /// <summary> | 62 | /// <summary> |
| 63 | /// 项目次数 | 63 | /// 项目次数 |
| 64 | /// </summary> | 64 | /// </summary> |
| 65 | - [SugarColumn(ColumnName = "F_ProjectNumber")] | ||
| 66 | - public int? ProjectNumber { get; set; } | 65 | + [SugarColumn(ColumnName = "F_ProjectNumber")] |
| 66 | + public int ProjectNumber { get; set; } | ||
| 67 | 67 | ||
| 68 | /// <summary> | 68 | /// <summary> |
| 69 | /// 是否有效 | 69 | /// 是否有效 |
| 70 | /// </summary> | 70 | /// </summary> |
| 71 | - [SugarColumn(ColumnName = "F_IsEnabled")] | 71 | + [SugarColumn(ColumnName = "F_IsEnabled")] |
| 72 | public int? IsEnabled { get; set; } | 72 | public int? IsEnabled { get; set; } |
| 73 | 73 | ||
| 74 | /// <summary> | 74 | /// <summary> |
| 75 | /// 来源类型 | 75 | /// 来源类型 |
| 76 | /// </summary> | 76 | /// </summary> |
| 77 | - [SugarColumn(ColumnName = "F_SourceType")] | 77 | + [SugarColumn(ColumnName = "F_SourceType")] |
| 78 | public string SourceType { get; set; } | 78 | public string SourceType { get; set; } |
| 79 | 79 | ||
| 80 | /// <summary> | 80 | /// <summary> |
| 81 | /// 合计金额 | 81 | /// 合计金额 |
| 82 | /// </summary> | 82 | /// </summary> |
| 83 | - [SugarColumn(ColumnName = "F_TotalPrice")] | 83 | + [SugarColumn(ColumnName = "F_TotalPrice")] |
| 84 | public decimal TotalPrice { get; set; } | 84 | public decimal TotalPrice { get; set; } |
| 85 | } | 85 | } |
| 86 | -} | ||
| 87 | \ No newline at end of file | 86 | \ No newline at end of file |
| 87 | +} |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Enum/DeductTypeEnum.cs
0 → 100644
| 1 | +using System.ComponentModel; | ||
| 2 | + | ||
| 3 | +namespace NCC.Extend.Entitys.Enum | ||
| 4 | +{ | ||
| 5 | + /// <summary> | ||
| 6 | + /// 扣款类型 | ||
| 7 | + /// </summary> | ||
| 8 | + public enum DeductTypeEnum | ||
| 9 | + { | ||
| 10 | + /// <summary> | ||
| 11 | + /// 储值卡 | ||
| 12 | + /// </summary> | ||
| 13 | + [Description("储值卡")] | ||
| 14 | + 储值卡 = 1, | ||
| 15 | + | ||
| 16 | + /// <summary> | ||
| 17 | + /// 扣项 | ||
| 18 | + /// </summary> | ||
| 19 | + [Description("扣项")] | ||
| 20 | + 扣项 = 2, | ||
| 21 | + | ||
| 22 | + /// <summary> | ||
| 23 | + /// 套餐 | ||
| 24 | + /// </summary> | ||
| 25 | + [Description("套餐")] | ||
| 26 | + 套餐 = 3, | ||
| 27 | + } | ||
| 28 | +} |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Enum/StatusEnum.cs
0 → 100644
| 1 | +using System.ComponentModel; | ||
| 2 | + | ||
| 3 | +namespace NCC.Extend.Entitys.Enum | ||
| 4 | +{ | ||
| 5 | + /// <summary> | ||
| 6 | + /// 状态枚举 | ||
| 7 | + /// </summary> | ||
| 8 | + public enum StatusEnum | ||
| 9 | + { | ||
| 10 | + /// <summary> | ||
| 11 | + /// 有效 | ||
| 12 | + /// </summary> | ||
| 13 | + [Description("有效")] | ||
| 14 | + 有效 = 0, | ||
| 15 | + | ||
| 16 | + /// <summary> | ||
| 17 | + /// 无效 | ||
| 18 | + /// </summary> | ||
| 19 | + [Description("无效")] | ||
| 20 | + 无效 = 1, | ||
| 21 | + | ||
| 22 | + /// <summary> | ||
| 23 | + /// 删除 | ||
| 24 | + /// </summary> | ||
| 25 | + [Description("删除")] | ||
| 26 | + 删除 = 99, | ||
| 27 | + } | ||
| 28 | +} |
netcore/src/Modularity/Extend/NCC.Extend/LqEventService.cs
| @@ -9,16 +9,19 @@ using Mapster; | @@ -9,16 +9,19 @@ using Mapster; | ||
| 9 | using Microsoft.AspNetCore.Http; | 9 | using Microsoft.AspNetCore.Http; |
| 10 | using Microsoft.AspNetCore.Mvc; | 10 | using Microsoft.AspNetCore.Mvc; |
| 11 | using NCC.Common.Core.Manager; | 11 | using NCC.Common.Core.Manager; |
| 12 | +using NCC.Common.Extension; | ||
| 12 | using NCC.Common.Filter; | 13 | using NCC.Common.Filter; |
| 13 | using NCC.Common.Helper; | 14 | using NCC.Common.Helper; |
| 14 | using NCC.Dependency; | 15 | using NCC.Dependency; |
| 15 | using NCC.DynamicApiController; | 16 | using NCC.DynamicApiController; |
| 17 | +using NCC.Extend.Entitys.Dto.Common; | ||
| 16 | using NCC.Extend.Entitys.Dto.LqEvent; | 18 | using NCC.Extend.Entitys.Dto.LqEvent; |
| 17 | using NCC.Extend.Entitys.Dto.LqEventUser; | 19 | using NCC.Extend.Entitys.Dto.LqEventUser; |
| 18 | using NCC.Extend.Entitys.Enum; | 20 | using NCC.Extend.Entitys.Enum; |
| 19 | using NCC.Extend.Entitys.lq_event; | 21 | using NCC.Extend.Entitys.lq_event; |
| 20 | using NCC.Extend.Entitys.lq_eventuser; | 22 | using NCC.Extend.Entitys.lq_eventuser; |
| 21 | using NCC.Extend.Entitys.lq_mdxx; | 23 | using NCC.Extend.Entitys.lq_mdxx; |
| 24 | +using NCC.Extend.Entitys.lq_tkjlb; | ||
| 22 | using NCC.Extend.Interfaces.LqEvent; | 25 | using NCC.Extend.Interfaces.LqEvent; |
| 23 | using NCC.FriendlyException; | 26 | using NCC.FriendlyException; |
| 24 | using NCC.System.Entitys.Permission; | 27 | using NCC.System.Entitys.Permission; |
| @@ -136,13 +139,36 @@ namespace NCC.Extend.LqEvent | @@ -136,13 +139,36 @@ namespace NCC.Extend.LqEvent | ||
| 136 | throw NCCException.Oh("拓客活动不存在"); | 139 | throw NCCException.Oh("拓客活动不存在"); |
| 137 | } | 140 | } |
| 138 | 141 | ||
| 139 | - var output = entity.Adapt<LqEventInfoOutput>(); | ||
| 140 | - | ||
| 141 | - // 2. 获取拓客活动成员信息 | ||
| 142 | - var members = await _db.Queryable<LqEventUserEntity>().Where(u => u.EventId == id.ToString()).ToListAsync(); | ||
| 143 | - | ||
| 144 | - // 3. 转换为输出格式 | ||
| 145 | - output.Members = members.Adapt<List<LqEventUserInfoOutput>>(); | 142 | + // 2. 手动映射到输出格式 |
| 143 | + var output = new LqEventInfoOutput | ||
| 144 | + { | ||
| 145 | + id = entity.Id, | ||
| 146 | + eventName = entity.EventName, | ||
| 147 | + startTime = entity.StartTime, | ||
| 148 | + endTime = entity.EndTime, | ||
| 149 | + eventCoordinator = entity.EventCoordinator, | ||
| 150 | + eventNumber = entity.EventNumber, | ||
| 151 | + eventType = entity.EventType, | ||
| 152 | + }; | ||
| 153 | + | ||
| 154 | + // 3. 获取拓客活动成员信息 | ||
| 155 | + var members = await _db.Queryable<LqEventUserEntity>().Where(u => u.EventId == id).ToListAsync(); | ||
| 156 | + | ||
| 157 | + // 4. 手动映射成员信息 | ||
| 158 | + output.Members = members | ||
| 159 | + .Select(m => new LqEventUserInfoOutput | ||
| 160 | + { | ||
| 161 | + id = m.Id, | ||
| 162 | + eventId = m.EventId, | ||
| 163 | + userId = m.UserId, | ||
| 164 | + depId = m.DepId, | ||
| 165 | + teamName = m.TeamName, | ||
| 166 | + creationTime = m.CreationTime, | ||
| 167 | + creationUser = m.CreationUser, | ||
| 168 | + targetCount = m.EventTarget, | ||
| 169 | + storeId = m.StoreId, | ||
| 170 | + }) | ||
| 171 | + .ToList(); | ||
| 146 | 172 | ||
| 147 | return output; | 173 | return output; |
| 148 | } | 174 | } |
| @@ -233,6 +259,7 @@ namespace NCC.Extend.LqEvent | @@ -233,6 +259,7 @@ namespace NCC.Extend.LqEvent | ||
| 233 | CreationTime = DateTime.Now, | 259 | CreationTime = DateTime.Now, |
| 234 | CreationUser = userInfo?.userName, | 260 | CreationUser = userInfo?.userName, |
| 235 | StoreId = member.StoreId, | 261 | StoreId = member.StoreId, |
| 262 | + EventTarget = member.TargetCount, | ||
| 236 | } | 263 | } |
| 237 | ); | 264 | ); |
| 238 | } | 265 | } |
| @@ -325,6 +352,7 @@ namespace NCC.Extend.LqEvent | @@ -325,6 +352,7 @@ namespace NCC.Extend.LqEvent | ||
| 325 | CreationTime = DateTime.Now, | 352 | CreationTime = DateTime.Now, |
| 326 | CreationUser = userInfo?.userName, | 353 | CreationUser = userInfo?.userName, |
| 327 | StoreId = member.StoreId, | 354 | StoreId = member.StoreId, |
| 355 | + EventTarget = member.TargetCount, | ||
| 328 | } | 356 | } |
| 329 | ); | 357 | ); |
| 330 | } | 358 | } |
| @@ -503,6 +531,188 @@ namespace NCC.Extend.LqEvent | @@ -503,6 +531,188 @@ namespace NCC.Extend.LqEvent | ||
| 503 | } | 531 | } |
| 504 | #endregion | 532 | #endregion |
| 505 | 533 | ||
| 534 | + #region 根据用户ID获取当前参与的拓客活动 | ||
| 535 | + /// <summary> | ||
| 536 | + /// 根据用户ID获取当前参与的拓客活动列表 | ||
| 537 | + /// </summary> | ||
| 538 | + /// <remarks> | ||
| 539 | + /// 根据用户ID查询当前正在进行的拓客活动信息 | ||
| 540 | + /// 返回用户参与的所有活动详情,包括活动基本信息、用户目标、门店信息等 | ||
| 541 | + /// 如果没有当前活动,返回空列表 | ||
| 542 | + /// | ||
| 543 | + /// 示例请求: | ||
| 544 | + /// ```json | ||
| 545 | + /// GET /api/Extend/LqEvent/user/{userId}/current | ||
| 546 | + /// ``` | ||
| 547 | + /// | ||
| 548 | + /// 参数说明: | ||
| 549 | + /// - userId: 用户ID,必填参数 | ||
| 550 | + /// | ||
| 551 | + /// 返回信息包括: | ||
| 552 | + /// - 活动基本信息(ID、名称、编号、负责人、时间) | ||
| 553 | + /// - 用户参与信息(用户ID、部门ID、战队名称、目标数量) | ||
| 554 | + /// - 门店信息(门店ID、门店名称) | ||
| 555 | + /// - 创建信息(创建时间、创建用户) | ||
| 556 | + /// </remarks> | ||
| 557 | + /// <param name="userId">用户ID</param> | ||
| 558 | + /// <returns>用户当前参与的拓客活动列表,无活动时返回空列表</returns> | ||
| 559 | + /// <response code="200">成功返回活动列表(可能为空)</response> | ||
| 560 | + /// <response code="400">参数错误,用户ID不能为空</response> | ||
| 561 | + [HttpGet("user/{userId}/current")] | ||
| 562 | + public async Task<dynamic> GetCurrentEvent(string userId) | ||
| 563 | + { | ||
| 564 | + if (string.IsNullOrEmpty(userId)) | ||
| 565 | + { | ||
| 566 | + throw NCCException.Oh("用户ID不能为空"); | ||
| 567 | + } | ||
| 568 | + try | ||
| 569 | + { | ||
| 570 | + var currentTime = DateTime.Now; | ||
| 571 | + // 先检查用户是否有活动记录 | ||
| 572 | + var userEventCount = await _db.Queryable<LqEventUserEntity>().Where(eu => eu.UserId == userId).CountAsync(); | ||
| 573 | + if (userEventCount == 0) | ||
| 574 | + { | ||
| 575 | + return null; | ||
| 576 | + } | ||
| 577 | + // 使用内存合并的方式,避免复杂的SqlFunc问题 | ||
| 578 | + // 1. 查询用户参与的活动信息 | ||
| 579 | + var userEvents = await _db.Queryable<LqEventUserEntity>().Where(eventUser => eventUser.UserId == userId).ToListAsync(); | ||
| 580 | + | ||
| 581 | + if (userEvents == null || userEvents.Count == 0) | ||
| 582 | + { | ||
| 583 | + return new List<LqEventUserEventOutput>(); | ||
| 584 | + } | ||
| 585 | + | ||
| 586 | + // 2. 查询当前正在进行的活动详情 | ||
| 587 | + var eventIds = userEvents.Select(u => u.EventId).ToList(); | ||
| 588 | + var currentEvents = await _db.Queryable<LqEventEntity>().Where(e => eventIds.Contains(e.Id) && e.StartTime <= currentTime && e.EndTime >= currentTime).ToListAsync(); | ||
| 589 | + | ||
| 590 | + if (currentEvents == null || currentEvents.Count == 0) | ||
| 591 | + { | ||
| 592 | + return new List<LqEventUserEventOutput>(); | ||
| 593 | + } | ||
| 594 | + | ||
| 595 | + // 3. 在内存中合并数据 | ||
| 596 | + var eventUsers = userEvents | ||
| 597 | + .Where(userEvent => currentEvents.Any(e => e.Id == userEvent.EventId)) | ||
| 598 | + .Select(userEvent => | ||
| 599 | + { | ||
| 600 | + var eventInfo = currentEvents.First(e => e.Id == userEvent.EventId); | ||
| 601 | + return new LqEventUserEventOutput | ||
| 602 | + { | ||
| 603 | + EventId = userEvent.EventId, | ||
| 604 | + EventName = eventInfo.EventName, | ||
| 605 | + EventNumber = eventInfo.EventNumber, | ||
| 606 | + EventCoordinator = eventInfo.EventCoordinator, | ||
| 607 | + StartTime = eventInfo.StartTime, | ||
| 608 | + EndTime = eventInfo.EndTime, | ||
| 609 | + UserId = userEvent.UserId, | ||
| 610 | + DepId = userEvent.DepId, | ||
| 611 | + TeamName = userEvent.TeamName, | ||
| 612 | + EventTarget = userEvent.EventTarget, | ||
| 613 | + CreationTime = userEvent.CreationTime, | ||
| 614 | + CreationUser = userEvent.CreationUser, | ||
| 615 | + StoreId = userEvent.StoreId, | ||
| 616 | + StoreName = null, // 不需要门店信息 | ||
| 617 | + }; | ||
| 618 | + }) | ||
| 619 | + .ToList(); | ||
| 620 | + | ||
| 621 | + // 如果没有查询到当前活动,返回空列表 | ||
| 622 | + return eventUsers ?? new List<LqEventUserEventOutput>(); | ||
| 623 | + } | ||
| 624 | + catch (Exception ex) | ||
| 625 | + { | ||
| 626 | + throw NCCException.Oh($"查询用户 {userId} 当前活动失败: {ex.Message}", ex); | ||
| 627 | + } | ||
| 628 | + } | ||
| 629 | + #endregion | ||
| 630 | + | ||
| 631 | + #region 根据活动ID获取战队统计数据 | ||
| 632 | + /// <summary> | ||
| 633 | + /// 根据活动ID获取战队统计数据 | ||
| 634 | + /// </summary> | ||
| 635 | + /// <remarks> | ||
| 636 | + /// 根据活动ID查询该活动下所有门店和战队的统计数据 | ||
| 637 | + /// 返回按门店和战队分组的拓客数据 | ||
| 638 | + /// | ||
| 639 | + /// 示例请求: | ||
| 640 | + /// ```json | ||
| 641 | + /// GET /api/Extend/LqEvent/team-data/{eventId} | ||
| 642 | + /// ``` | ||
| 643 | + /// | ||
| 644 | + /// 参数说明: | ||
| 645 | + /// - eventId: 活动ID,必填参数 | ||
| 646 | + /// | ||
| 647 | + /// 返回信息包括: | ||
| 648 | + /// - 门店信息(门店ID、门店名称) | ||
| 649 | + /// - 战队信息(战队名称) | ||
| 650 | + /// - 用户信息(用户ID、用户姓名、拓客数量、活动目标) | ||
| 651 | + /// </remarks> | ||
| 652 | + /// <param name="eventId">活动ID</param> | ||
| 653 | + /// <returns>按门店和战队分组的统计数据</returns> | ||
| 654 | + /// <response code="200">成功返回统计数据</response> | ||
| 655 | + /// <response code="400">参数错误,活动ID不能为空</response> | ||
| 656 | + [HttpGet("team-data/{eventId}")] | ||
| 657 | + public async Task<dynamic> GetTeamDataByEventId(string eventId) | ||
| 658 | + { | ||
| 659 | + if (string.IsNullOrEmpty(eventId)) | ||
| 660 | + { | ||
| 661 | + throw NCCException.Oh("活动ID不能为空"); | ||
| 662 | + } | ||
| 663 | + | ||
| 664 | + try | ||
| 665 | + { | ||
| 666 | + // 使用SqlFunc子查询,一次性获取所有需要的数据,避免多次查询和内存合并 | ||
| 667 | + var teamData = await _db.Queryable<LqEventUserEntity>() | ||
| 668 | + .Where(eventUser => eventUser.EventId == eventId) | ||
| 669 | + .Select(eventUser => new | ||
| 670 | + { | ||
| 671 | + StoreId = eventUser.StoreId, | ||
| 672 | + StoreName = SqlFunc.Subqueryable<LqMdxxEntity>().Where(md => md.Id == eventUser.StoreId).Select(md => md.Dm), | ||
| 673 | + TeamName = eventUser.TeamName, | ||
| 674 | + ExpansionUserId = eventUser.UserId, | ||
| 675 | + ExpansionUserName = SqlFunc.Subqueryable<UserEntity>().Where(u => u.Id == eventUser.UserId).Select(u => u.RealName), | ||
| 676 | + EventTarget = eventUser.EventTarget, | ||
| 677 | + ExpansionCount = SqlFunc.Subqueryable<LqTkjlbEntity>().Where(tkjlb => tkjlb.EventId == eventId && tkjlb.ExpansionUserId == eventUser.UserId).Count(), | ||
| 678 | + }) | ||
| 679 | + .ToListAsync(); | ||
| 680 | + | ||
| 681 | + // 按门店和战队分组数据 | ||
| 682 | + var result = teamData | ||
| 683 | + .GroupBy(x => new { x.StoreId, x.StoreName }) | ||
| 684 | + .Select(storeGroup => new StoreTeamDataOutput | ||
| 685 | + { | ||
| 686 | + StoreId = storeGroup.Key.StoreId, | ||
| 687 | + StoreName = storeGroup.Key.StoreName, | ||
| 688 | + TeamList = storeGroup | ||
| 689 | + .GroupBy(x => x.TeamName) | ||
| 690 | + .Select(teamGroup => new TeamInfoOutput | ||
| 691 | + { | ||
| 692 | + TeamName = teamGroup.Key, | ||
| 693 | + TeamUserInfo = teamGroup | ||
| 694 | + .Select(user => new TeamUserInfoOutput | ||
| 695 | + { | ||
| 696 | + ExpansionUserId = user.ExpansionUserId, | ||
| 697 | + ExpansionUserName = user.ExpansionUserName, | ||
| 698 | + ExpansionCount = user.ExpansionCount, | ||
| 699 | + EventTarget = user.EventTarget, | ||
| 700 | + }) | ||
| 701 | + .ToList(), | ||
| 702 | + }) | ||
| 703 | + .ToList(), | ||
| 704 | + }) | ||
| 705 | + .ToList(); | ||
| 706 | + | ||
| 707 | + return result; | ||
| 708 | + } | ||
| 709 | + catch (Exception ex) | ||
| 710 | + { | ||
| 711 | + throw NCCException.Oh($"查询活动 {eventId} 战队统计数据失败: {ex.Message}", ex); | ||
| 712 | + } | ||
| 713 | + } | ||
| 714 | + #endregion | ||
| 715 | + | ||
| 506 | #region Excel导入拓客活动用户 | 716 | #region Excel导入拓客活动用户 |
| 507 | 717 | ||
| 508 | /// <summary> | 718 | /// <summary> |
| @@ -698,7 +908,7 @@ namespace NCC.Extend.LqEvent | @@ -698,7 +908,7 @@ namespace NCC.Extend.LqEvent | ||
| 698 | // 调试信息:输出每一行读取的数据 | 908 | // 调试信息:输出每一行读取的数据 |
| 699 | Console.WriteLine($"第{i + 1}行数据: 手机号={mobilePhone}, 姓名={name}, 战队={teamName}, 门店={storeName}, 目标={targetCountStr}"); | 909 | Console.WriteLine($"第{i + 1}行数据: 手机号={mobilePhone}, 姓名={name}, 战队={teamName}, 门店={storeName}, 目标={targetCountStr}"); |
| 700 | 910 | ||
| 701 | - int? targetCount = null; | 911 | + int targetCount = 0; |
| 702 | if (!string.IsNullOrEmpty(targetCountStr) && int.TryParse(targetCountStr, out int target)) | 912 | if (!string.IsNullOrEmpty(targetCountStr) && int.TryParse(targetCountStr, out int target)) |
| 703 | { | 913 | { |
| 704 | targetCount = target; | 914 | targetCount = target; |
| @@ -746,7 +956,7 @@ namespace NCC.Extend.LqEvent | @@ -746,7 +956,7 @@ namespace NCC.Extend.LqEvent | ||
| 746 | public string Name { get; set; } | 956 | public string Name { get; set; } |
| 747 | public string TeamName { get; set; } | 957 | public string TeamName { get; set; } |
| 748 | public string StoreName { get; set; } | 958 | public string StoreName { get; set; } |
| 749 | - public int? TargetCount { get; set; } | 959 | + public int TargetCount { get; set; } = 0; |
| 750 | } | 960 | } |
| 751 | 961 | ||
| 752 | #endregion | 962 | #endregion |
| @@ -758,30 +968,16 @@ namespace NCC.Extend.LqEvent | @@ -758,30 +968,16 @@ namespace NCC.Extend.LqEvent | ||
| 758 | /// </summary> | 968 | /// </summary> |
| 759 | /// <returns>拓客类型枚举列表</returns> | 969 | /// <returns>拓客类型枚举列表</returns> |
| 760 | [HttpGet("event-types")] | 970 | [HttpGet("event-types")] |
| 761 | - public List<EventTypeEnumOutput> GetEventTypes() | 971 | + public List<EnumOutput> GetEventTypes() |
| 762 | { | 972 | { |
| 763 | - var result = new List<EventTypeEnumOutput>(); | ||
| 764 | - | ||
| 765 | - // 获取所有枚举值 | ||
| 766 | - var enumValues = Enum.GetValues<EventType>(); | ||
| 767 | - | ||
| 768 | - foreach (var enumValue in enumValues) | ||
| 769 | - { | ||
| 770 | - // 获取枚举的Description特性 | ||
| 771 | - var field = enumValue.GetType().GetField(enumValue.ToString()); | ||
| 772 | - var descriptionAttribute = field?.GetCustomAttributes(typeof(DescriptionAttribute), false).FirstOrDefault() as DescriptionAttribute; | ||
| 773 | - | ||
| 774 | - result.Add( | ||
| 775 | - new EventTypeEnumOutput | ||
| 776 | - { | ||
| 777 | - Value = (int)enumValue, | ||
| 778 | - Name = enumValue.ToString(), | ||
| 779 | - Description = descriptionAttribute?.Description ?? enumValue.ToString(), | ||
| 780 | - } | ||
| 781 | - ); | ||
| 782 | - } | ||
| 783 | - | ||
| 784 | - return result; | 973 | + return Enum.GetValues<EventType>() |
| 974 | + .Select(e => new EnumOutput | ||
| 975 | + { | ||
| 976 | + Value = (int)e, | ||
| 977 | + Name = e.ToString(), | ||
| 978 | + Description = e.GetDescription(), | ||
| 979 | + }) | ||
| 980 | + .ToList(); | ||
| 785 | } | 981 | } |
| 786 | 982 | ||
| 787 | #endregion | 983 | #endregion |
netcore/src/Modularity/Extend/NCC.Extend/LqHytkHytkService.cs
| @@ -223,18 +223,19 @@ namespace NCC.Extend.LqHytkHytk | @@ -223,18 +223,19 @@ namespace NCC.Extend.LqHytkHytk | ||
| 223 | var lqHytkMxEntity = new LqHytkMxEntity | 223 | var lqHytkMxEntity = new LqHytkMxEntity |
| 224 | { | 224 | { |
| 225 | Id = YitIdHelper.NextId().ToString(), | 225 | Id = YitIdHelper.NextId().ToString(), |
| 226 | - Gltkbh = newEntity.Id, | ||
| 227 | - F_CreateTime = DateTime.Now, | ||
| 228 | - F_CreateUser = userInfo.userId, | ||
| 229 | - F_DeleteMark = 0, | 226 | + RefundInfoId = newEntity.Id, |
| 227 | + BillingItemId = item.billingItemId, | ||
| 228 | + CreateTime = DateTime.Now, | ||
| 229 | + CreateUser = userInfo.userId, | ||
| 230 | + DeleteMark = 0, | ||
| 230 | Px = item.px, | 231 | Px = item.px, |
| 231 | Pxmc = item.pxmc, | 232 | Pxmc = item.pxmc, |
| 232 | Pxjg = item.pxjg, | 233 | Pxjg = item.pxjg, |
| 233 | Tkje = item.tkje, | 234 | Tkje = item.tkje, |
| 234 | - F_ProjectNumber = item.F_ProjectNumber ?? 1, | ||
| 235 | - F_IsEnabled = item.F_IsEnabled ?? 1, | ||
| 236 | - F_SourceType = item.F_SourceType, | ||
| 237 | - F_TotalPrice = item.F_TotalPrice ?? (item.pxjg * (item.F_ProjectNumber ?? 1)), | 235 | + ProjectNumber = item.F_ProjectNumber ?? 1, |
| 236 | + IsEnabled = item.F_IsEnabled ?? 1, | ||
| 237 | + SourceType = item.F_SourceType, | ||
| 238 | + TotalPrice = item.F_TotalPrice ?? (item.pxjg * (item.F_ProjectNumber ?? 1)), | ||
| 238 | }; | 239 | }; |
| 239 | allMxEntities.Add(lqHytkMxEntity); | 240 | allMxEntities.Add(lqHytkMxEntity); |
| 240 | 241 | ||
| @@ -356,7 +357,7 @@ namespace NCC.Extend.LqHytkHytk | @@ -356,7 +357,7 @@ namespace NCC.Extend.LqHytkHytk | ||
| 356 | await _db.Updateable(entity).IgnoreColumns(true).ExecuteCommandAsync(); | 357 | await _db.Updateable(entity).IgnoreColumns(true).ExecuteCommandAsync(); |
| 357 | 358 | ||
| 358 | // 删除原有的关联数据 | 359 | // 删除原有的关联数据 |
| 359 | - await _db.Deleteable<LqHytkMxEntity>().Where(x => x.Gltkbh == id).ExecuteCommandAsync(); | 360 | + await _db.Deleteable<LqHytkMxEntity>().Where(x => x.RefundInfoId == id).ExecuteCommandAsync(); |
| 360 | await _db.Deleteable<LqHytkJksyjEntity>().Where(x => x.Gltkbh == id).ExecuteCommandAsync(); | 361 | await _db.Deleteable<LqHytkJksyjEntity>().Where(x => x.Gltkbh == id).ExecuteCommandAsync(); |
| 361 | await _db.Deleteable<LqHytkKjbsyjEntity>().Where(x => x.Gltkbh == id).ExecuteCommandAsync(); | 362 | await _db.Deleteable<LqHytkKjbsyjEntity>().Where(x => x.Gltkbh == id).ExecuteCommandAsync(); |
| 362 | 363 | ||
| @@ -374,18 +375,19 @@ namespace NCC.Extend.LqHytkHytk | @@ -374,18 +375,19 @@ namespace NCC.Extend.LqHytkHytk | ||
| 374 | var lqHytkMxEntity = new LqHytkMxEntity | 375 | var lqHytkMxEntity = new LqHytkMxEntity |
| 375 | { | 376 | { |
| 376 | Id = YitIdHelper.NextId().ToString(), | 377 | Id = YitIdHelper.NextId().ToString(), |
| 377 | - Gltkbh = id, | ||
| 378 | - F_CreateTime = DateTime.Now, | ||
| 379 | - F_CreateUser = userInfo.userId, | ||
| 380 | - F_DeleteMark = 0, | 378 | + RefundInfoId = id, |
| 379 | + BillingItemId = item.billingItemId, | ||
| 380 | + CreateTime = DateTime.Now, | ||
| 381 | + CreateUser = userInfo.userId, | ||
| 382 | + DeleteMark = 0, | ||
| 381 | Px = item.px, | 383 | Px = item.px, |
| 382 | Pxmc = item.pxmc, | 384 | Pxmc = item.pxmc, |
| 383 | Pxjg = item.pxjg, | 385 | Pxjg = item.pxjg, |
| 384 | Tkje = item.tkje, | 386 | Tkje = item.tkje, |
| 385 | - F_ProjectNumber = item.F_ProjectNumber ?? 1, | ||
| 386 | - F_IsEnabled = item.F_IsEnabled ?? 1, | ||
| 387 | - F_SourceType = item.F_SourceType, | ||
| 388 | - F_TotalPrice = item.F_TotalPrice ?? (item.pxjg * (item.F_ProjectNumber ?? 1)), | 387 | + ProjectNumber = item.F_ProjectNumber ?? 1, |
| 388 | + IsEnabled = item.F_IsEnabled ?? 1, | ||
| 389 | + SourceType = item.F_SourceType, | ||
| 390 | + TotalPrice = item.F_TotalPrice ?? (item.pxjg * (item.F_ProjectNumber ?? 1)), | ||
| 389 | }; | 391 | }; |
| 390 | allMxEntities.Add(lqHytkMxEntity); | 392 | allMxEntities.Add(lqHytkMxEntity); |
| 391 | 393 | ||
| @@ -523,7 +525,7 @@ namespace NCC.Extend.LqHytkHytk | @@ -523,7 +525,7 @@ namespace NCC.Extend.LqHytkHytk | ||
| 523 | var output = entity.Adapt<LqHytkHytkInfoOutput>(); | 525 | var output = entity.Adapt<LqHytkHytkInfoOutput>(); |
| 524 | 526 | ||
| 525 | // 2. 查询品项明细列表 | 527 | // 2. 查询品项明细列表 |
| 526 | - var lqHytkMxList = await _db.Queryable<LqHytkMxEntity>().Where(w => w.Gltkbh == entity.Id).ToListAsync(); | 528 | + var lqHytkMxList = await _db.Queryable<LqHytkMxEntity>().Where(w => w.RefundInfoId == entity.Id).ToListAsync(); |
| 527 | 529 | ||
| 528 | // 3. 查询健康师业绩列表 | 530 | // 3. 查询健康师业绩列表 |
| 529 | var lqHytkJksyjList = await _db.Queryable<LqHytkJksyjEntity>().Where(w => w.Gltkbh == entity.Id).ToListAsync(); | 531 | var lqHytkJksyjList = await _db.Queryable<LqHytkJksyjEntity>().Where(w => w.Gltkbh == entity.Id).ToListAsync(); |
| @@ -538,15 +540,16 @@ namespace NCC.Extend.LqHytkHytk | @@ -538,15 +540,16 @@ namespace NCC.Extend.LqHytkHytk | ||
| 538 | var mxOutput = new LqHytkMxInfoOutput | 540 | var mxOutput = new LqHytkMxInfoOutput |
| 539 | { | 541 | { |
| 540 | id = mx.Id, | 542 | id = mx.Id, |
| 541 | - gltkbh = mx.Gltkbh, | 543 | + refundInfoId = mx.RefundInfoId, |
| 544 | + billingItemId = mx.BillingItemId, | ||
| 542 | px = mx.Px, | 545 | px = mx.Px, |
| 543 | pxmc = mx.Pxmc, | 546 | pxmc = mx.Pxmc, |
| 544 | pxjg = mx.Pxjg, | 547 | pxjg = mx.Pxjg, |
| 545 | tkje = mx.Tkje, | 548 | tkje = mx.Tkje, |
| 546 | - F_ProjectNumber = mx.F_ProjectNumber, | ||
| 547 | - F_IsEnabled = mx.F_IsEnabled, | ||
| 548 | - F_SourceType = mx.F_SourceType, | ||
| 549 | - F_TotalPrice = mx.F_TotalPrice, | 549 | + projectNumber = mx.ProjectNumber, |
| 550 | + isEnabled = mx.IsEnabled, | ||
| 551 | + sourceType = mx.SourceType, | ||
| 552 | + totalPrice = mx.TotalPrice, | ||
| 550 | }; | 553 | }; |
| 551 | 554 | ||
| 552 | // 关联该品项的健康师业绩 | 555 | // 关联该品项的健康师业绩 |
netcore/src/Modularity/Extend/NCC.Extend/LqKdKdjlbService.cs
| @@ -16,8 +16,11 @@ using NCC.Common.Model.NPOI; | @@ -16,8 +16,11 @@ using NCC.Common.Model.NPOI; | ||
| 16 | using NCC.DataEncryption; | 16 | using NCC.DataEncryption; |
| 17 | using NCC.Dependency; | 17 | using NCC.Dependency; |
| 18 | using NCC.DynamicApiController; | 18 | using NCC.DynamicApiController; |
| 19 | +using NCC.Extend.Entitys.Dto.Common; | ||
| 19 | using NCC.Extend.Entitys.Dto.LqKdKdjlb; | 20 | using NCC.Extend.Entitys.Dto.LqKdKdjlb; |
| 21 | +using NCC.Extend.Entitys.Enum; | ||
| 20 | using NCC.Extend.Entitys.lq_jinsanjiao_user; | 22 | using NCC.Extend.Entitys.lq_jinsanjiao_user; |
| 23 | +using NCC.Extend.Entitys.lq_kd_deductinfo; | ||
| 21 | using NCC.Extend.Entitys.lq_kd_jksyj; | 24 | using NCC.Extend.Entitys.lq_kd_jksyj; |
| 22 | using NCC.Extend.Entitys.lq_kd_kdjlb; | 25 | using NCC.Extend.Entitys.lq_kd_kdjlb; |
| 23 | using NCC.Extend.Entitys.lq_kd_kjbsyj; | 26 | using NCC.Extend.Entitys.lq_kd_kjbsyj; |
| @@ -266,7 +269,20 @@ namespace NCC.Extend.LqKdKdjlb | @@ -266,7 +269,20 @@ namespace NCC.Extend.LqKdKdjlb | ||
| 266 | var allPxmxEntities = new List<LqKdPxmxEntity>(); | 269 | var allPxmxEntities = new List<LqKdPxmxEntity>(); |
| 267 | var allJksyjEntities = new List<LqKdJksyjEntity>(); | 270 | var allJksyjEntities = new List<LqKdJksyjEntity>(); |
| 268 | var allKjbsyjEntities = new List<LqKdKjbsyjEntity>(); | 271 | var allKjbsyjEntities = new List<LqKdKjbsyjEntity>(); |
| 269 | - | 272 | + var allDeductEntities = new List<LqKdDeductinfoEntity>(); |
| 273 | + // 处理扣款信息列表 | ||
| 274 | + foreach (var item in input.lqKdKdjlbDeductList) | ||
| 275 | + { | ||
| 276 | + var lqKdDeductEntity = new LqKdDeductinfoEntity | ||
| 277 | + { | ||
| 278 | + Id = YitIdHelper.NextId().ToString(), | ||
| 279 | + BillingId = newEntity.Id, | ||
| 280 | + DeductId = item.DeductId, | ||
| 281 | + DeductType = item.DeductType, | ||
| 282 | + Amount = item.Amount, | ||
| 283 | + }; | ||
| 284 | + allDeductEntities.Add(lqKdDeductEntity); | ||
| 285 | + } | ||
| 270 | // 处理品项明细列表 | 286 | // 处理品项明细列表 |
| 271 | foreach (var item in input.lqKdPxmxList) | 287 | foreach (var item in input.lqKdPxmxList) |
| 272 | { | 288 | { |
| @@ -331,7 +347,11 @@ namespace NCC.Extend.LqKdKdjlb | @@ -331,7 +347,11 @@ namespace NCC.Extend.LqKdKdjlb | ||
| 331 | } | 347 | } |
| 332 | } | 348 | } |
| 333 | } | 349 | } |
| 334 | - | 350 | + // 批量插入扣款信息 |
| 351 | + if (allDeductEntities.Any()) | ||
| 352 | + { | ||
| 353 | + await _db.Insertable(allDeductEntities).ExecuteCommandAsync(); | ||
| 354 | + } | ||
| 335 | // 批量插入品项明细 | 355 | // 批量插入品项明细 |
| 336 | if (allPxmxEntities.Any()) | 356 | if (allPxmxEntities.Any()) |
| 337 | { | 357 | { |
| @@ -347,6 +367,7 @@ namespace NCC.Extend.LqKdKdjlb | @@ -347,6 +367,7 @@ namespace NCC.Extend.LqKdKdjlb | ||
| 347 | { | 367 | { |
| 348 | await _db.Insertable(allKjbsyjEntities).ExecuteCommandAsync(); | 368 | await _db.Insertable(allKjbsyjEntities).ExecuteCommandAsync(); |
| 349 | } | 369 | } |
| 370 | + | ||
| 350 | //关闭事务 | 371 | //关闭事务 |
| 351 | _db.CommitTran(); | 372 | _db.CommitTran(); |
| 352 | 373 | ||
| @@ -755,5 +776,24 @@ namespace NCC.Extend.LqKdKdjlb | @@ -755,5 +776,24 @@ namespace NCC.Extend.LqKdKdjlb | ||
| 755 | } | 776 | } |
| 756 | } | 777 | } |
| 757 | #endregion | 778 | #endregion |
| 779 | + | ||
| 780 | + #region 获取扣款类型枚举内容 | ||
| 781 | + /// <summary> | ||
| 782 | + /// 获取扣款类型枚举内容 | ||
| 783 | + /// </summary> | ||
| 784 | + /// <returns>扣款类型枚举列表</returns> | ||
| 785 | + [HttpGet("deduct-types")] | ||
| 786 | + public List<EnumOutput> GetDeductTypes() | ||
| 787 | + { | ||
| 788 | + return Enum.GetValues<DeductTypeEnum>() | ||
| 789 | + .Select(e => new EnumOutput | ||
| 790 | + { | ||
| 791 | + Value = (int)e, | ||
| 792 | + Name = e.ToString(), | ||
| 793 | + Description = e.GetDescription(), | ||
| 794 | + }) | ||
| 795 | + .ToList(); | ||
| 796 | + } | ||
| 797 | + #endregion | ||
| 758 | } | 798 | } |
| 759 | } | 799 | } |
netcore/src/Modularity/Extend/NCC.Extend/LqKhxxService.cs
| @@ -548,155 +548,34 @@ namespace NCC.Extend.LqKhxx | @@ -548,155 +548,34 @@ namespace NCC.Extend.LqKhxx | ||
| 548 | { | 548 | { |
| 549 | throw NCCException.Oh(ErrorCode.COM1000, "会员ID不能为空"); | 549 | throw NCCException.Oh(ErrorCode.COM1000, "会员ID不能为空"); |
| 550 | } | 550 | } |
| 551 | - | ||
| 552 | try | 551 | try |
| 553 | { | 552 | { |
| 554 | - _logger.LogInformation("开始查询会员剩余品项,会员ID:{MemberId}", memberId); | ||
| 555 | - | ||
| 556 | // 1. 查询会员基本信息 | 553 | // 1. 查询会员基本信息 |
| 557 | var memberInfo = await _db.Queryable<LqKhxxEntity>().Where(x => x.Id == memberId).FirstAsync(); | 554 | var memberInfo = await _db.Queryable<LqKhxxEntity>().Where(x => x.Id == memberId).FirstAsync(); |
| 558 | - | ||
| 559 | if (memberInfo == null) | 555 | if (memberInfo == null) |
| 560 | { | 556 | { |
| 561 | _logger.LogWarning("会员不存在,会员ID:{MemberId}", memberId); | 557 | _logger.LogWarning("会员不存在,会员ID:{MemberId}", memberId); |
| 562 | - throw NCCException.Oh(ErrorCode.COM1005, "会员不存在"); | 558 | + throw NCCException.Oh("会员不存在"); |
| 563 | } | 559 | } |
| 564 | - | ||
| 565 | - _logger.LogInformation("会员信息查询成功,会员姓名:{MemberName}", memberInfo.Khmc); | ||
| 566 | - | ||
| 567 | // 2. 查询开单记录ID列表 | 560 | // 2. 查询开单记录ID列表 |
| 568 | - _logger.LogInformation("开始查询开单记录ID列表"); | ||
| 569 | - var orderIds = await _db.Queryable<LqKdKdjlbEntity>().Where(kd => kd.Kdhy == memberId).Select(kd => kd.Id).ToListAsync(); | ||
| 570 | - | ||
| 571 | - _logger.LogInformation("开单记录ID列表查询成功,数量:{Count}", orderIds.Count); | ||
| 572 | - | ||
| 573 | - // 3. 查询开单品项统计(按品项ID、名称、价格和来源类型分组) | ||
| 574 | - _logger.LogInformation("开始查询开单品项统计"); | ||
| 575 | - var purchasedItems = new List<dynamic>(); | ||
| 576 | - if (orderIds.Any()) | ||
| 577 | - { | ||
| 578 | - var tempPurchasedItems = await _db.Queryable<LqKdPxmxEntity>() | ||
| 579 | - .Where(px => orderIds.Contains(px.Glkdbh)) | ||
| 580 | - .GroupBy(px => new | ||
| 581 | - { | ||
| 582 | - px.Px, | ||
| 583 | - px.Pxmc, | ||
| 584 | - px.Pxjg, | ||
| 585 | - px.SourceType, | ||
| 586 | - }) | ||
| 587 | - .Select(px => new | ||
| 588 | - { | ||
| 589 | - ItemId = px.Px, | ||
| 590 | - ItemName = px.Pxmc, | ||
| 591 | - ItemPrice = px.Pxjg, | ||
| 592 | - SourceType = SqlFunc.IsNull(px.SourceType, "未知"), | ||
| 593 | - TotalPurchased = SqlFunc.AggregateSum(SqlFunc.ToDecimal(px.ProjectNumber)), | ||
| 594 | - }) | ||
| 595 | - .ToListAsync(); | ||
| 596 | - | ||
| 597 | - purchasedItems = tempPurchasedItems.Cast<dynamic>().ToList(); | ||
| 598 | - _logger.LogInformation("开单品项统计查询成功,数量:{Count}", purchasedItems.Count); | ||
| 599 | - | ||
| 600 | - // 调试:输出前几条记录查看SourceType字段 | ||
| 601 | - foreach (var item in purchasedItems.Take(3)) | ||
| 602 | - { | ||
| 603 | - _logger.LogInformation($"调试 - 品项ID: {item.ItemId}, 品项名称: {item.ItemName}, 来源类型: {item.SourceType}"); | ||
| 604 | - } | ||
| 605 | - } | ||
| 606 | - | ||
| 607 | - // 4. 查询耗卡记录ID列表 | ||
| 608 | - _logger.LogInformation("开始查询耗卡记录ID列表"); | ||
| 609 | - var consumeIds = await _db.Queryable<LqXhHyhkEntity>().Where(hk => hk.Hy == memberId).Select(hk => hk.Id).ToListAsync(); | ||
| 610 | - | ||
| 611 | - _logger.LogInformation("耗卡记录ID列表查询成功,数量:{Count}", consumeIds.Count); | ||
| 612 | - | ||
| 613 | - // 5. 查询耗卡品项统计(按品项ID和来源类型分组) | ||
| 614 | - _logger.LogInformation("开始查询耗卡品项统计"); | ||
| 615 | - var consumedItems = new List<dynamic>(); | ||
| 616 | - if (consumeIds.Any()) | ||
| 617 | - { | ||
| 618 | - var tempConsumedItems = await _db.Queryable<LqXhPxmxEntity>() | ||
| 619 | - .Where(px => consumeIds.Contains(px.Glkdbh)) | ||
| 620 | - .GroupBy(px => new { px.Px, px.SourceType }) | ||
| 621 | - .Select(px => new | ||
| 622 | - { | ||
| 623 | - ItemId = px.Px, | ||
| 624 | - SourceType = SqlFunc.IsNull(px.SourceType, "未知"), | ||
| 625 | - ConsumedCount = SqlFunc.AggregateSum(SqlFunc.ToDecimal(px.ProjectNumber)), | ||
| 626 | - }) | ||
| 627 | - .ToListAsync(); | ||
| 628 | - | ||
| 629 | - consumedItems = tempConsumedItems.Cast<dynamic>().ToList(); | ||
| 630 | - _logger.LogInformation("耗卡品项统计查询成功,数量:{Count}", consumedItems.Count); | ||
| 631 | - } | ||
| 632 | - | ||
| 633 | - // 6. 查询退卡记录ID列表 | ||
| 634 | - _logger.LogInformation("开始查询退卡记录ID列表"); | ||
| 635 | - var refundIds = await _db.Queryable<LqHytkHytkEntity>().Where(tk => tk.Hy == memberId && tk.F_DeleteMark != 1).Select(tk => tk.Id).ToListAsync(); | ||
| 636 | - | ||
| 637 | - _logger.LogInformation("退卡记录ID列表查询成功,数量:{Count}", refundIds.Count); | ||
| 638 | - | ||
| 639 | - // 7. 查询退卡品项统计(按品项ID和来源类型分组) | ||
| 640 | - _logger.LogInformation("开始查询退卡品项统计"); | ||
| 641 | - var refundedItems = new List<dynamic>(); | ||
| 642 | - if (refundIds.Any()) | ||
| 643 | - { | ||
| 644 | - var tempRefundedItems = await _db.Queryable<LqHytkMxEntity>() | ||
| 645 | - .Where(px => refundIds.Contains(px.Gltkbh) && px.F_DeleteMark != 1) | ||
| 646 | - .GroupBy(px => new { px.Px, px.F_SourceType }) | ||
| 647 | - .Select(px => new | ||
| 648 | - { | ||
| 649 | - ItemId = px.Px, | ||
| 650 | - SourceType = SqlFunc.IsNull(px.F_SourceType, "未知"), | ||
| 651 | - RefundedCount = SqlFunc.AggregateSum(SqlFunc.ToDecimal(px.F_ProjectNumber)), | ||
| 652 | - }) | ||
| 653 | - .ToListAsync(); | ||
| 654 | - | ||
| 655 | - refundedItems = tempRefundedItems.Cast<dynamic>().ToList(); | ||
| 656 | - _logger.LogInformation("退卡品项统计查询成功,数量:{Count}", refundedItems.Count); | ||
| 657 | - } | ||
| 658 | - | ||
| 659 | - // 8. 合并计算剩余品项(按品项ID和来源类型匹配) | ||
| 660 | - _logger.LogInformation("开始合并计算剩余品项"); | ||
| 661 | - var remainingItems = new List<RemainingItemInfo>(); | ||
| 662 | - | ||
| 663 | - // 处理有购买记录的品项 | ||
| 664 | - foreach (var purchased in purchasedItems) | ||
| 665 | - { | ||
| 666 | - // 按品项ID和来源类型匹配耗卡记录 | ||
| 667 | - var consumed = consumedItems.FirstOrDefault(x => x.ItemId == purchased.ItemId && x.SourceType == purchased.SourceType); | ||
| 668 | - var consumedCount = consumed?.ConsumedCount ?? 0; | ||
| 669 | - | ||
| 670 | - // 按品项ID和来源类型匹配退卡记录 | ||
| 671 | - var refunded = refundedItems.FirstOrDefault(x => x.ItemId == purchased.ItemId && x.SourceType == purchased.SourceType); | ||
| 672 | - var refundedCount = refunded?.RefundedCount ?? 0; | ||
| 673 | - | ||
| 674 | - // 计算剩余数量:购买数量 - 消费数量 - 退卡数量 | ||
| 675 | - var remainingCount = purchased.TotalPurchased - consumedCount - refundedCount; | ||
| 676 | - | ||
| 677 | - if (remainingCount > 0) | 561 | + var remainingItems = await _db.Queryable<LqKdPxmxEntity>() |
| 562 | + .Where(x => x.MemberId == memberId) | ||
| 563 | + .Select(x => new RemainingItemInfo | ||
| 678 | { | 564 | { |
| 679 | - remainingItems.Add( | ||
| 680 | - new RemainingItemInfo | ||
| 681 | - { | ||
| 682 | - ItemId = purchased.ItemId, | ||
| 683 | - ItemName = purchased.ItemName, | ||
| 684 | - ItemPrice = purchased.ItemPrice, | ||
| 685 | - SourceType = purchased.SourceType?.ToString() ?? "未知", | ||
| 686 | - TotalPurchased = purchased.TotalPurchased, | ||
| 687 | - ConsumedCount = consumedCount, | ||
| 688 | - RefundedCount = refundedCount, | ||
| 689 | - RemainingCount = remainingCount, | ||
| 690 | - } | ||
| 691 | - ); | ||
| 692 | - } | ||
| 693 | - } | ||
| 694 | - | ||
| 695 | - // 7. 按剩余数量降序排列 | ||
| 696 | - remainingItems = remainingItems.OrderByDescending(x => x.RemainingCount).ToList(); | ||
| 697 | - | ||
| 698 | - _logger.LogInformation("剩余品项计算完成,数量:{Count}", remainingItems.Count); | ||
| 699 | - | 565 | + BillingItemId = x.Id, |
| 566 | + ItemId = x.Px, | ||
| 567 | + ItemName = x.Pxmc, | ||
| 568 | + ItemPrice = x.Pxjg, | ||
| 569 | + SourceType = x.SourceType, | ||
| 570 | + TotalPurchased = x.ProjectNumber, | ||
| 571 | + ConsumedCount = SqlFunc.Subqueryable<LqXhPxmxEntity>().Where(y => y.BillingItemId == x.Id).Sum(y => SqlFunc.ToDecimal(y.ProjectNumber)), | ||
| 572 | + RefundedCount = SqlFunc.Subqueryable<LqHytkMxEntity>().Where(y => y.BillingItemId == x.Id).Sum(y => SqlFunc.ToDecimal(y.ProjectNumber)), | ||
| 573 | + RemainingCount = | ||
| 574 | + x.ProjectNumber | ||
| 575 | + - SqlFunc.Subqueryable<LqXhPxmxEntity>().Where(y => y.BillingItemId == x.Id).Sum(y => SqlFunc.ToDecimal(y.ProjectNumber)) | ||
| 576 | + - SqlFunc.Subqueryable<LqHytkMxEntity>().Where(y => y.BillingItemId == x.Id).Sum(y => SqlFunc.ToDecimal(y.ProjectNumber)), | ||
| 577 | + }) | ||
| 578 | + .ToListAsync(); | ||
| 700 | return new MemberRemainingItemsOutput | 579 | return new MemberRemainingItemsOutput |
| 701 | { | 580 | { |
| 702 | MemberId = memberId, | 581 | MemberId = memberId, |
netcore/src/Modularity/Extend/NCC.Extend/LqTkjlbService.cs
| @@ -33,7 +33,7 @@ namespace NCC.Extend.LqTkjlb | @@ -33,7 +33,7 @@ namespace NCC.Extend.LqTkjlb | ||
| 33 | /// <summary> | 33 | /// <summary> |
| 34 | /// 拓客管理服务 | 34 | /// 拓客管理服务 |
| 35 | /// </summary> | 35 | /// </summary> |
| 36 | - [ApiDescriptionSettings(Tag = "Extend", Name = "LqTkjlb", Order = 200)] | 36 | + [ApiDescriptionSettings(Tag = "绿纤拓客管理服务", Name = "LqTkjlb", Order = 200)] |
| 37 | [Route("api/Extend/[controller]")] | 37 | [Route("api/Extend/[controller]")] |
| 38 | public class LqTkjlbService : ILqTkjlbService, IDynamicApiController, ITransient | 38 | public class LqTkjlbService : ILqTkjlbService, IDynamicApiController, ITransient |
| 39 | { | 39 | { |
| @@ -60,10 +60,29 @@ namespace NCC.Extend.LqTkjlb | @@ -60,10 +60,29 @@ namespace NCC.Extend.LqTkjlb | ||
| 60 | [HttpGet("{id}")] | 60 | [HttpGet("{id}")] |
| 61 | public async Task<dynamic> GetInfo(string id) | 61 | public async Task<dynamic> GetInfo(string id) |
| 62 | { | 62 | { |
| 63 | - var entity = await _db.Queryable<LqTkjlbEntity>().FirstAsync(p => p.Id == id); | ||
| 64 | - var output = entity.Adapt<LqTkjlbInfoOutput>(); | ||
| 65 | - output.eventName = SqlFunc.Subqueryable<LqEventEntity>().Where(u => u.Id == entity.EventId).Select(u => u.EventName); | ||
| 66 | - return output; | 63 | + // 使用SqlFunc在查询时直接获取用户名和活动名称 |
| 64 | + var result = await _db.Queryable<LqTkjlbEntity>() | ||
| 65 | + .Where(p => p.Id == id) | ||
| 66 | + .Select(p => new LqTkjlbInfoOutput | ||
| 67 | + { | ||
| 68 | + id = p.Id, | ||
| 69 | + expansionTime = p.ExpansionTime, | ||
| 70 | + expansionUserId = p.ExpansionUserId, | ||
| 71 | + expansionUserName = SqlFunc.Subqueryable<UserEntity>().Where(u => u.Id == p.ExpansionUserId).Select(u => u.RealName), | ||
| 72 | + customerName = p.CustomerName, | ||
| 73 | + customerPhone = p.CustomerPhone, | ||
| 74 | + buyNumber = p.BuyNumber, | ||
| 75 | + paymentMethod = p.PaymentMethod, | ||
| 76 | + isAddWeChat = p.IsAddWeChat, | ||
| 77 | + remarks = p.Remarks, | ||
| 78 | + storeId = p.StoreId, | ||
| 79 | + teamName = p.TeamName, | ||
| 80 | + eventId = p.EventId, | ||
| 81 | + eventName = SqlFunc.Subqueryable<LqEventEntity>().Where(e => e.Id == p.EventId).Select(e => e.EventName), | ||
| 82 | + }) | ||
| 83 | + .FirstAsync(); | ||
| 84 | + | ||
| 85 | + return result; | ||
| 67 | } | 86 | } |
| 68 | #endregion | 87 | #endregion |
| 69 | 88 | ||
| @@ -78,36 +97,37 @@ namespace NCC.Extend.LqTkjlb | @@ -78,36 +97,37 @@ namespace NCC.Extend.LqTkjlb | ||
| 78 | public async Task<dynamic> GetList([FromQuery] LqTkjlbListQueryInput input) | 97 | public async Task<dynamic> GetList([FromQuery] LqTkjlbListQueryInput input) |
| 79 | { | 98 | { |
| 80 | var sidx = input.sidx == null ? "id" : input.sidx; | 99 | var sidx = input.sidx == null ? "id" : input.sidx; |
| 81 | - List<string> queryTksj = input.tksj != null ? input.tksj.Split(',').ToObeject<List<string>>() : null; | 100 | + List<string> queryTksj = input.expansionTime != null ? input.expansionTime.Split(',').ToObeject<List<string>>() : null; |
| 82 | DateTime? startTksj = queryTksj != null ? Ext.GetDateTime(queryTksj.First()) : null; | 101 | DateTime? startTksj = queryTksj != null ? Ext.GetDateTime(queryTksj.First()) : null; |
| 83 | DateTime? endTksj = queryTksj != null ? Ext.GetDateTime(queryTksj.Last()) : null; | 102 | DateTime? endTksj = queryTksj != null ? Ext.GetDateTime(queryTksj.Last()) : null; |
| 84 | var data = await _db.Queryable<LqTkjlbEntity>() | 103 | var data = await _db.Queryable<LqTkjlbEntity>() |
| 85 | .WhereIF(!string.IsNullOrEmpty(input.id), p => p.Id.Contains(input.id)) | 104 | .WhereIF(!string.IsNullOrEmpty(input.id), p => p.Id.Contains(input.id)) |
| 86 | - .WhereIF(queryTksj != null, p => p.Tksj >= new DateTime(startTksj.ToDate().Year, startTksj.ToDate().Month, startTksj.ToDate().Day, 0, 0, 0)) | ||
| 87 | - .WhereIF(queryTksj != null, p => p.Tksj <= new DateTime(endTksj.ToDate().Year, endTksj.ToDate().Month, endTksj.ToDate().Day, 23, 59, 59)) | ||
| 88 | - .WhereIF(!string.IsNullOrEmpty(input.tkry), p => p.Tkry.Equals(input.tkry)) | ||
| 89 | - .WhereIF(!string.IsNullOrEmpty(input.gkxm), p => p.Gkxm.Contains(input.gkxm)) | ||
| 90 | - .WhereIF(!string.IsNullOrEmpty(input.dhhm), p => p.Dhhm.Contains(input.dhhm)) | ||
| 91 | - .WhereIF(!string.IsNullOrEmpty(input.gmzs), p => p.Gmzs.Equals(input.gmzs)) | ||
| 92 | - .WhereIF(!string.IsNullOrEmpty(input.zffs), p => p.Zffs.Equals(input.zffs)) | ||
| 93 | - .WhereIF(!string.IsNullOrEmpty(input.sfjwx), p => p.Sfjwx.Equals(input.sfjwx)) | ||
| 94 | - .WhereIF(!string.IsNullOrEmpty(input.bz), p => p.Bz.Contains(input.bz)) | ||
| 95 | - .WhereIF(!string.IsNullOrEmpty(input.ssmd), p => p.Ssmd.Contains(input.ssmd)) | ||
| 96 | - .WhereIF(!string.IsNullOrEmpty(input.sszd), p => p.Sszd.Contains(input.sszd)) | 105 | + .WhereIF(queryTksj != null, p => p.ExpansionTime >= new DateTime(startTksj.ToDate().Year, startTksj.ToDate().Month, startTksj.ToDate().Day, 0, 0, 0)) |
| 106 | + .WhereIF(queryTksj != null, p => p.ExpansionTime <= new DateTime(endTksj.ToDate().Year, endTksj.ToDate().Month, endTksj.ToDate().Day, 23, 59, 59)) | ||
| 107 | + .WhereIF(!string.IsNullOrEmpty(input.expansionUserId), p => p.ExpansionUserId.Equals(input.expansionUserId)) | ||
| 108 | + .WhereIF(!string.IsNullOrEmpty(input.customerName), p => p.CustomerName.Contains(input.customerName)) | ||
| 109 | + .WhereIF(!string.IsNullOrEmpty(input.customerPhone), p => p.CustomerPhone.Contains(input.customerPhone)) | ||
| 110 | + .WhereIF(!string.IsNullOrEmpty(input.buyNumber), p => p.BuyNumber.Equals(input.buyNumber)) | ||
| 111 | + .WhereIF(!string.IsNullOrEmpty(input.paymentMethod), p => p.PaymentMethod.Equals(input.paymentMethod)) | ||
| 112 | + .WhereIF(!string.IsNullOrEmpty(input.isAddWeChat), p => p.IsAddWeChat.Equals(input.isAddWeChat)) | ||
| 113 | + .WhereIF(!string.IsNullOrEmpty(input.remarks), p => p.Remarks.Contains(input.remarks)) | ||
| 114 | + .WhereIF(!string.IsNullOrEmpty(input.storeId), p => p.StoreId.Contains(input.storeId)) | ||
| 115 | + .WhereIF(!string.IsNullOrEmpty(input.teamName), p => p.TeamName.Contains(input.teamName)) | ||
| 116 | + .WhereIF(!string.IsNullOrEmpty(input.eventId), p => p.EventId.Contains(input.eventId)) | ||
| 97 | .Select(it => new LqTkjlbListOutput | 117 | .Select(it => new LqTkjlbListOutput |
| 98 | { | 118 | { |
| 99 | id = it.Id, | 119 | id = it.Id, |
| 100 | - tksj = it.Tksj, | ||
| 101 | - // tkry=it.Tkry, | ||
| 102 | - tkry = SqlFunc.Subqueryable<UserEntity>().Where(u => u.MobilePhone == it.Tkry).Select(u => u.RealName), | ||
| 103 | - gkxm = it.Gkxm, | ||
| 104 | - dhhm = it.Dhhm, | ||
| 105 | - gmzs = it.Gmzs, | ||
| 106 | - zffs = it.Zffs, | ||
| 107 | - sfjwx = it.Sfjwx, | ||
| 108 | - bz = it.Bz, | ||
| 109 | - ssmd = it.Ssmd, | ||
| 110 | - sszd = it.Sszd, | 120 | + expansionTime = it.ExpansionTime, |
| 121 | + expansionUserId = it.ExpansionUserId, | ||
| 122 | + expansionUserName = SqlFunc.Subqueryable<UserEntity>().Where(u => u.MobilePhone == it.ExpansionUserId).Select(u => u.RealName), | ||
| 123 | + customerName = it.CustomerName, | ||
| 124 | + customerPhone = it.CustomerPhone, | ||
| 125 | + buyNumber = it.BuyNumber, | ||
| 126 | + paymentMethod = it.PaymentMethod, | ||
| 127 | + isAddWeChat = it.IsAddWeChat, | ||
| 128 | + remarks = it.Remarks, | ||
| 129 | + storeId = it.StoreId, | ||
| 130 | + teamName = it.TeamName, | ||
| 111 | eventId = it.EventId, | 131 | eventId = it.EventId, |
| 112 | eventName = SqlFunc.Subqueryable<LqEventEntity>().Where(u => u.Id == it.EventId).Select(u => u.EventName), | 132 | eventName = SqlFunc.Subqueryable<LqEventEntity>().Where(u => u.Id == it.EventId).Select(u => u.EventName), |
| 113 | }) | 133 | }) |
| @@ -129,7 +149,7 @@ namespace NCC.Extend.LqTkjlb | @@ -129,7 +149,7 @@ namespace NCC.Extend.LqTkjlb | ||
| 129 | { | 149 | { |
| 130 | var userInfo = await _userManager.GetUserInfo(); | 150 | var userInfo = await _userManager.GetUserInfo(); |
| 131 | //通过input.dhhm去查询用户信息 | 151 | //通过input.dhhm去查询用户信息 |
| 132 | - var user = _db.Queryable<LqKhxxEntity>().Where(u => u.Sjh == input.dhhm).Any(); | 152 | + var user = _db.Queryable<LqKhxxEntity>().Where(u => u.Sjh == input.customerPhone).Any(); |
| 133 | if (user) | 153 | if (user) |
| 134 | { | 154 | { |
| 135 | throw NCCException.Oh("该手机号码已存在于会员或线索池中"); | 155 | throw NCCException.Oh("该手机号码已存在于会员或线索池中"); |
| @@ -138,7 +158,7 @@ namespace NCC.Extend.LqTkjlb | @@ -138,7 +158,7 @@ namespace NCC.Extend.LqTkjlb | ||
| 138 | var result = await _db.Ado.UseTranAsync(async () => | 158 | var result = await _db.Ado.UseTranAsync(async () => |
| 139 | { | 159 | { |
| 140 | //通过input.eventId去查询拓客活动信息 | 160 | //通过input.eventId去查询拓客活动信息 |
| 141 | - var eventUserInfoList = await _db.Queryable<LqEventUserEntity>().Where(u => u.EventId == input.eventId && u.UserId == input.tkry).ToListAsync(); | 161 | + var eventUserInfoList = await _db.Queryable<LqEventUserEntity>().Where(u => u.EventId == input.eventId && u.UserId == input.expansionUserId).ToListAsync(); |
| 142 | if (eventUserInfoList == null || eventUserInfoList.Count == 0) | 162 | if (eventUserInfoList == null || eventUserInfoList.Count == 0) |
| 143 | { | 163 | { |
| 144 | throw NCCException.Oh("未找到对应的拓客活动用户信息,请确认活动ID和用户ID是否正确"); | 164 | throw NCCException.Oh("未找到对应的拓客活动用户信息,请确认活动ID和用户ID是否正确"); |
| @@ -147,15 +167,18 @@ namespace NCC.Extend.LqTkjlb | @@ -147,15 +167,18 @@ namespace NCC.Extend.LqTkjlb | ||
| 147 | // 创建拓客记录 | 167 | // 创建拓客记录 |
| 148 | var entity = input.Adapt<LqTkjlbEntity>(); | 168 | var entity = input.Adapt<LqTkjlbEntity>(); |
| 149 | entity.Id = YitIdHelper.NextId().ToString(); | 169 | entity.Id = YitIdHelper.NextId().ToString(); |
| 150 | - entity.Sszd = eventUserInfo.TeamName; | 170 | + entity.TeamName = eventUserInfo.TeamName; |
| 171 | + entity.StoreId = eventUserInfo.StoreId; | ||
| 172 | + entity.DepId = eventUserInfo.DepId; | ||
| 173 | + entity.ExpansionTime = DateTime.Now; | ||
| 151 | var isOk = await _db.Insertable(entity).IgnoreColumns(ignoreNullColumn: true).ExecuteCommandAsync(); | 174 | var isOk = await _db.Insertable(entity).IgnoreColumns(ignoreNullColumn: true).ExecuteCommandAsync(); |
| 152 | if (!(isOk > 0)) | 175 | if (!(isOk > 0)) |
| 153 | throw NCCException.Oh("创建拓客记录失败"); | 176 | throw NCCException.Oh("创建拓客记录失败"); |
| 154 | // 创建客户信息 | 177 | // 创建客户信息 |
| 155 | LqKhxxEntity MemberInfo = new LqKhxxEntity(); | 178 | LqKhxxEntity MemberInfo = new LqKhxxEntity(); |
| 156 | MemberInfo.Id = YitIdHelper.NextId().ToString(); | 179 | MemberInfo.Id = YitIdHelper.NextId().ToString(); |
| 157 | - MemberInfo.Khmc = entity.Gkxm; | ||
| 158 | - MemberInfo.Sjh = input.dhhm; // 设置手机号 | 180 | + MemberInfo.Khmc = entity.CustomerName; |
| 181 | + MemberInfo.Sjh = input.customerPhone; // 设置手机号 | ||
| 159 | MemberInfo.Khmqgs = "线索池"; | 182 | MemberInfo.Khmqgs = "线索池"; |
| 160 | MemberInfo.Dah = "GK" + DateTime.Now.ToString("yyyyMMddHHmmss"); | 183 | MemberInfo.Dah = "GK" + DateTime.Now.ToString("yyyyMMddHHmmss"); |
| 161 | var memberResult = await _db.Insertable(MemberInfo).IgnoreColumns(ignoreNullColumn: true).ExecuteCommandAsync(); | 184 | var memberResult = await _db.Insertable(MemberInfo).IgnoreColumns(ignoreNullColumn: true).ExecuteCommandAsync(); |
| @@ -181,35 +204,42 @@ namespace NCC.Extend.LqTkjlb | @@ -181,35 +204,42 @@ namespace NCC.Extend.LqTkjlb | ||
| 181 | public async Task<dynamic> GetNoPagingList([FromQuery] LqTkjlbListQueryInput input) | 204 | public async Task<dynamic> GetNoPagingList([FromQuery] LqTkjlbListQueryInput input) |
| 182 | { | 205 | { |
| 183 | var sidx = input.sidx == null ? "id" : input.sidx; | 206 | var sidx = input.sidx == null ? "id" : input.sidx; |
| 184 | - List<string> queryTksj = input.tksj != null ? input.tksj.Split(',').ToObeject<List<string>>() : null; | ||
| 185 | - DateTime? startTksj = queryTksj != null ? Ext.GetDateTime(queryTksj.First()) : null; | ||
| 186 | - DateTime? endTksj = queryTksj != null ? Ext.GetDateTime(queryTksj.Last()) : null; | 207 | + List<string> queryExpansionTime = input.expansionTime != null ? input.expansionTime.Split(',').ToObeject<List<string>>() : null; |
| 208 | + DateTime? startExpansionTime = queryExpansionTime != null ? Ext.GetDateTime(queryExpansionTime.First()) : null; | ||
| 209 | + DateTime? endExpansionTime = queryExpansionTime != null ? Ext.GetDateTime(queryExpansionTime.Last()) : null; | ||
| 187 | var data = await _db.Queryable<LqTkjlbEntity>() | 210 | var data = await _db.Queryable<LqTkjlbEntity>() |
| 188 | .WhereIF(!string.IsNullOrEmpty(input.id), p => p.Id.Contains(input.id)) | 211 | .WhereIF(!string.IsNullOrEmpty(input.id), p => p.Id.Contains(input.id)) |
| 189 | - .WhereIF(queryTksj != null, p => p.Tksj >= new DateTime(startTksj.ToDate().Year, startTksj.ToDate().Month, startTksj.ToDate().Day, 0, 0, 0)) | ||
| 190 | - .WhereIF(queryTksj != null, p => p.Tksj <= new DateTime(endTksj.ToDate().Year, endTksj.ToDate().Month, endTksj.ToDate().Day, 23, 59, 59)) | ||
| 191 | - .WhereIF(!string.IsNullOrEmpty(input.tkry), p => p.Tkry.Equals(input.tkry)) | ||
| 192 | - .WhereIF(!string.IsNullOrEmpty(input.gkxm), p => p.Gkxm.Contains(input.gkxm)) | ||
| 193 | - .WhereIF(!string.IsNullOrEmpty(input.dhhm), p => p.Dhhm.Contains(input.dhhm)) | ||
| 194 | - .WhereIF(!string.IsNullOrEmpty(input.gmzs), p => p.Gmzs.Equals(input.gmzs)) | ||
| 195 | - .WhereIF(!string.IsNullOrEmpty(input.zffs), p => p.Zffs.Equals(input.zffs)) | ||
| 196 | - .WhereIF(!string.IsNullOrEmpty(input.sfjwx), p => p.Sfjwx.Equals(input.sfjwx)) | ||
| 197 | - .WhereIF(!string.IsNullOrEmpty(input.bz), p => p.Bz.Contains(input.bz)) | ||
| 198 | - .WhereIF(!string.IsNullOrEmpty(input.ssmd), p => p.Ssmd.Contains(input.ssmd)) | ||
| 199 | - .WhereIF(!string.IsNullOrEmpty(input.sszd), p => p.Sszd.Contains(input.sszd)) | 212 | + .WhereIF( |
| 213 | + queryExpansionTime != null, | ||
| 214 | + p => p.ExpansionTime >= new DateTime(startExpansionTime.ToDate().Year, startExpansionTime.ToDate().Month, startExpansionTime.ToDate().Day, 0, 0, 0) | ||
| 215 | + ) | ||
| 216 | + .WhereIF(queryExpansionTime != null, p => p.ExpansionTime <= new DateTime(endExpansionTime.ToDate().Year, endExpansionTime.ToDate().Month, endExpansionTime.ToDate().Day, 23, 59, 59)) | ||
| 217 | + .WhereIF(!string.IsNullOrEmpty(input.expansionUserId), p => p.ExpansionUserId.Equals(input.expansionUserId)) | ||
| 218 | + .WhereIF(!string.IsNullOrEmpty(input.customerName), p => p.CustomerName.Contains(input.customerName)) | ||
| 219 | + .WhereIF(!string.IsNullOrEmpty(input.customerPhone), p => p.CustomerPhone.Contains(input.customerPhone)) | ||
| 220 | + .WhereIF(!string.IsNullOrEmpty(input.buyNumber), p => p.BuyNumber.ToString().Equals(input.buyNumber)) | ||
| 221 | + .WhereIF(!string.IsNullOrEmpty(input.paymentMethod), p => p.PaymentMethod.Equals(input.paymentMethod)) | ||
| 222 | + .WhereIF(!string.IsNullOrEmpty(input.isAddWeChat), p => p.IsAddWeChat.Equals(input.isAddWeChat)) | ||
| 223 | + .WhereIF(!string.IsNullOrEmpty(input.remarks), p => p.Remarks.Contains(input.remarks)) | ||
| 224 | + .WhereIF(!string.IsNullOrEmpty(input.storeId), p => p.StoreId.Contains(input.storeId)) | ||
| 225 | + .WhereIF(!string.IsNullOrEmpty(input.teamName), p => p.TeamName.Contains(input.teamName)) | ||
| 226 | + .WhereIF(!string.IsNullOrEmpty(input.eventId), p => p.EventId.Equals(input.eventId)) | ||
| 200 | .Select(it => new LqTkjlbListOutput | 227 | .Select(it => new LqTkjlbListOutput |
| 201 | { | 228 | { |
| 202 | id = it.Id, | 229 | id = it.Id, |
| 203 | - tksj = it.Tksj, | ||
| 204 | - tkry = it.Tkry, | ||
| 205 | - gkxm = it.Gkxm, | ||
| 206 | - dhhm = it.Dhhm, | ||
| 207 | - gmzs = it.Gmzs, | ||
| 208 | - zffs = it.Zffs, | ||
| 209 | - sfjwx = it.Sfjwx, | ||
| 210 | - bz = it.Bz, | ||
| 211 | - ssmd = it.Ssmd, | ||
| 212 | - sszd = it.Sszd, | 230 | + expansionTime = it.ExpansionTime, |
| 231 | + expansionUserId = it.ExpansionUserId, | ||
| 232 | + expansionUserName = it.ExpansionUserId, // 这里需要根据实际业务逻辑获取用户名 | ||
| 233 | + customerName = it.CustomerName, | ||
| 234 | + customerPhone = it.CustomerPhone, | ||
| 235 | + buyNumber = it.BuyNumber, | ||
| 236 | + paymentMethod = it.PaymentMethod, | ||
| 237 | + isAddWeChat = it.IsAddWeChat, | ||
| 238 | + remarks = it.Remarks, | ||
| 239 | + storeId = it.StoreId, | ||
| 240 | + teamName = it.TeamName, | ||
| 241 | + eventId = it.EventId, | ||
| 242 | + eventName = it.EventId, // 这里需要根据实际业务逻辑获取活动名称 | ||
| 213 | }) | 243 | }) |
| 214 | .MergeTable() | 244 | .MergeTable() |
| 215 | .OrderBy(sidx + " " + input.sort) | 245 | .OrderBy(sidx + " " + input.sort) |
| @@ -336,10 +366,13 @@ namespace NCC.Extend.LqTkjlb | @@ -336,10 +366,13 @@ namespace NCC.Extend.LqTkjlb | ||
| 336 | [HttpGet("Actions/GetRanking")] | 366 | [HttpGet("Actions/GetRanking")] |
| 337 | public async Task<dynamic> GetRanking() | 367 | public async Task<dynamic> GetRanking() |
| 338 | { | 368 | { |
| 339 | - var data = await _db.Queryable<LqTkjlbEntity>().GroupBy(it => it.Sszd).Select(it => new LqTkjlbRankingOutput { sszd = it.Sszd, tkrs = SqlFunc.AggregateCount(it.Id) }).ToListAsync(); | 369 | + var data = await _db.Queryable<LqTkjlbEntity>() |
| 370 | + .GroupBy(it => it.TeamName) | ||
| 371 | + .Select(it => new LqTkjlbRankingOutput { teamName = it.TeamName, expansionUserCount = SqlFunc.AggregateCount(it.Id) }) | ||
| 372 | + .ToListAsync(); | ||
| 340 | 373 | ||
| 341 | // 在内存中排序并添加排名 | 374 | // 在内存中排序并添加排名 |
| 342 | - var sortedData = data.OrderByDescending(it => it.tkrs).ToList(); | 375 | + var sortedData = data.OrderByDescending(it => it.expansionUserCount).ToList(); |
| 343 | for (int i = 0; i < sortedData.Count; i++) | 376 | for (int i = 0; i < sortedData.Count; i++) |
| 344 | { | 377 | { |
| 345 | sortedData[i].ranking = i + 1; | 378 | sortedData[i].ranking = i + 1; |
| @@ -360,18 +393,18 @@ namespace NCC.Extend.LqTkjlb | @@ -360,18 +393,18 @@ namespace NCC.Extend.LqTkjlb | ||
| 360 | var result = new List<LqTkjlbTeamDetailOutput>(); | 393 | var result = new List<LqTkjlbTeamDetailOutput>(); |
| 361 | 394 | ||
| 362 | // 获取所有战队 | 395 | // 获取所有战队 |
| 363 | - var teams = await _db.Queryable<LqTkjlbEntity>().GroupBy(it => it.Sszd).Select(it => it.Sszd).ToListAsync(); | 396 | + var teams = await _db.Queryable<LqTkjlbEntity>().GroupBy(it => it.TeamName).Select(it => it.TeamName).ToListAsync(); |
| 364 | 397 | ||
| 365 | foreach (var team in teams) | 398 | foreach (var team in teams) |
| 366 | { | 399 | { |
| 367 | // 获取该战队所有人员的拓客数据 | 400 | // 获取该战队所有人员的拓客数据 |
| 368 | var teamMembers = await _db.Queryable<LqTkjlbEntity>() | 401 | var teamMembers = await _db.Queryable<LqTkjlbEntity>() |
| 369 | - .Where(it => it.Sszd == team) | ||
| 370 | - .GroupBy(it => it.Tkry) | 402 | + .Where(it => it.TeamName == team) |
| 403 | + .GroupBy(it => it.ExpansionUserId) | ||
| 371 | .Select(it => new | 404 | .Select(it => new |
| 372 | { | 405 | { |
| 373 | // tkry = it.Tkry, | 406 | // tkry = it.Tkry, |
| 374 | - tkry = SqlFunc.Subqueryable<UserEntity>().Where(u => u.MobilePhone == it.Tkry).Select(u => u.RealName), | 407 | + tkry = SqlFunc.Subqueryable<UserEntity>().Where(u => u.Id == it.ExpansionUserId).Select(u => u.RealName), |
| 375 | tkrs = SqlFunc.AggregateCount(it.Id), | 408 | tkrs = SqlFunc.AggregateCount(it.Id), |
| 376 | }) | 409 | }) |
| 377 | .ToListAsync(); | 410 | .ToListAsync(); |
netcore/src/Modularity/Extend/NCC.Extend/LqXhHyhkService.cs
| @@ -105,7 +105,7 @@ namespace NCC.Extend.LqXhHyhk | @@ -105,7 +105,7 @@ namespace NCC.Extend.LqXhHyhk | ||
| 105 | var output = entity.Adapt<LqXhHyhkInfoOutput>(); | 105 | var output = entity.Adapt<LqXhHyhkInfoOutput>(); |
| 106 | 106 | ||
| 107 | // 2. 查询品项明细列表 | 107 | // 2. 查询品项明细列表 |
| 108 | - var lqXhPxmxList = await _db.Queryable<LqXhPxmxEntity>().Where(w => w.Glkdbh == entity.Id).ToListAsync(); | 108 | + var lqXhPxmxList = await _db.Queryable<LqXhPxmxEntity>().Where(w => w.ConsumeInfoId == entity.Id).ToListAsync(); |
| 109 | 109 | ||
| 110 | // 3. 查询健康师业绩列表 | 110 | // 3. 查询健康师业绩列表 |
| 111 | var lqXhJksyjList = await _db.Queryable<LqXhJksyjEntity>().Where(w => w.Glkdbh == entity.Id).ToListAsync(); | 111 | var lqXhJksyjList = await _db.Queryable<LqXhJksyjEntity>().Where(w => w.Glkdbh == entity.Id).ToListAsync(); |
| @@ -120,11 +120,11 @@ namespace NCC.Extend.LqXhHyhk | @@ -120,11 +120,11 @@ namespace NCC.Extend.LqXhHyhk | ||
| 120 | var pxmxOutput = new LqXhPxmxInfoOutput | 120 | var pxmxOutput = new LqXhPxmxInfoOutput |
| 121 | { | 121 | { |
| 122 | id = pxmx.Id, | 122 | id = pxmx.Id, |
| 123 | - glkdbh = pxmx.Glkdbh, | 123 | + consumeInfoId = pxmx.ConsumeInfoId, |
| 124 | + billingItemId = pxmx.BillingItemId, | ||
| 124 | px = pxmx.Px, | 125 | px = pxmx.Px, |
| 125 | pxmc = pxmx.Pxmc, | 126 | pxmc = pxmx.Pxmc, |
| 126 | pxjg = pxmx.Pxjg, | 127 | pxjg = pxmx.Pxjg, |
| 127 | - xfzs = pxmx.Xfzs, | ||
| 128 | memberId = pxmx.MemberId, | 128 | memberId = pxmx.MemberId, |
| 129 | createTime = pxmx.CreateTIme, | 129 | createTime = pxmx.CreateTIme, |
| 130 | projectNumber = pxmx.ProjectNumber, | 130 | projectNumber = pxmx.ProjectNumber, |
| @@ -281,7 +281,8 @@ namespace NCC.Extend.LqXhHyhk | @@ -281,7 +281,8 @@ namespace NCC.Extend.LqXhHyhk | ||
| 281 | var lqXhPxmxEntity = new LqXhPxmxEntity | 281 | var lqXhPxmxEntity = new LqXhPxmxEntity |
| 282 | { | 282 | { |
| 283 | Id = YitIdHelper.NextId().ToString(), | 283 | Id = YitIdHelper.NextId().ToString(), |
| 284 | - Glkdbh = newEntity.Id, | 284 | + ConsumeInfoId = newEntity.Id, |
| 285 | + BillingItemId = item.billingItemId, | ||
| 285 | CreateTIme = DateTime.Now, | 286 | CreateTIme = DateTime.Now, |
| 286 | MemberId = entity.Hy, | 287 | MemberId = entity.Hy, |
| 287 | IsEnabled = 0, | 288 | IsEnabled = 0, |
| @@ -290,7 +291,6 @@ namespace NCC.Extend.LqXhHyhk | @@ -290,7 +291,6 @@ namespace NCC.Extend.LqXhHyhk | ||
| 290 | Px = item.px, | 291 | Px = item.px, |
| 291 | Pxmc = item.pxmc, | 292 | Pxmc = item.pxmc, |
| 292 | Pxjg = item.pxjg, | 293 | Pxjg = item.pxjg, |
| 293 | - Xfzs = item.xfzs, | ||
| 294 | SourceType = item.sourceType, | 294 | SourceType = item.sourceType, |
| 295 | }; | 295 | }; |
| 296 | allPxmxEntities.Add(lqXhPxmxEntity); | 296 | allPxmxEntities.Add(lqXhPxmxEntity); |
| @@ -494,7 +494,7 @@ namespace NCC.Extend.LqXhHyhk | @@ -494,7 +494,7 @@ namespace NCC.Extend.LqXhHyhk | ||
| 494 | await _db.Deleteable<LqXhKjbsyjEntity>().In(u => u.Glkdbh, ids).ExecuteCommandAsync(); | 494 | await _db.Deleteable<LqXhKjbsyjEntity>().In(u => u.Glkdbh, ids).ExecuteCommandAsync(); |
| 495 | 495 | ||
| 496 | //清空子表数据 | 496 | //清空子表数据 |
| 497 | - await _db.Deleteable<LqXhPxmxEntity>().In(u => u.Glkdbh, ids).ExecuteCommandAsync(); | 497 | + await _db.Deleteable<LqXhPxmxEntity>().In(u => u.ConsumeInfoId, ids).ExecuteCommandAsync(); |
| 498 | //关闭事务 | 498 | //关闭事务 |
| 499 | _db.CommitTran(); | 499 | _db.CommitTran(); |
| 500 | } | 500 | } |
| @@ -532,7 +532,7 @@ namespace NCC.Extend.LqXhHyhk | @@ -532,7 +532,7 @@ namespace NCC.Extend.LqXhHyhk | ||
| 532 | await _db.Deleteable<LqXhKjbsyjEntity>().Where(u => u.Glkdbh == id).ExecuteCommandAsync(); | 532 | await _db.Deleteable<LqXhKjbsyjEntity>().Where(u => u.Glkdbh == id).ExecuteCommandAsync(); |
| 533 | 533 | ||
| 534 | //清空原有数据 | 534 | //清空原有数据 |
| 535 | - await _db.Deleteable<LqXhPxmxEntity>().Where(u => u.Glkdbh == id).ExecuteCommandAsync(); | 535 | + await _db.Deleteable<LqXhPxmxEntity>().Where(u => u.ConsumeInfoId == id).ExecuteCommandAsync(); |
| 536 | 536 | ||
| 537 | // 收集所有需要插入的实体,然后批量插入 | 537 | // 收集所有需要插入的实体,然后批量插入 |
| 538 | var allPxmxEntities = new List<LqXhPxmxEntity>(); | 538 | var allPxmxEntities = new List<LqXhPxmxEntity>(); |
| @@ -548,7 +548,8 @@ namespace NCC.Extend.LqXhHyhk | @@ -548,7 +548,8 @@ namespace NCC.Extend.LqXhHyhk | ||
| 548 | var lqXhPxmxEntity = new LqXhPxmxEntity | 548 | var lqXhPxmxEntity = new LqXhPxmxEntity |
| 549 | { | 549 | { |
| 550 | Id = YitIdHelper.NextId().ToString(), | 550 | Id = YitIdHelper.NextId().ToString(), |
| 551 | - Glkdbh = entity.Id, | 551 | + ConsumeInfoId = entity.Id, |
| 552 | + BillingItemId = item.billingItemId, | ||
| 552 | CreateTIme = DateTime.Now, | 553 | CreateTIme = DateTime.Now, |
| 553 | MemberId = entity.Hy, | 554 | MemberId = entity.Hy, |
| 554 | IsEnabled = 0, | 555 | IsEnabled = 0, |
| @@ -557,7 +558,6 @@ namespace NCC.Extend.LqXhHyhk | @@ -557,7 +558,6 @@ namespace NCC.Extend.LqXhHyhk | ||
| 557 | Px = item.px, | 558 | Px = item.px, |
| 558 | Pxmc = item.pxmc, | 559 | Pxmc = item.pxmc, |
| 559 | Pxjg = item.pxjg, | 560 | Pxjg = item.pxjg, |
| 560 | - Xfzs = item.xfzs, | ||
| 561 | SourceType = item.sourceType, | 561 | SourceType = item.sourceType, |
| 562 | }; | 562 | }; |
| 563 | allPxmxEntities.Add(lqXhPxmxEntity); | 563 | allPxmxEntities.Add(lqXhPxmxEntity); |
| @@ -664,7 +664,7 @@ namespace NCC.Extend.LqXhHyhk | @@ -664,7 +664,7 @@ namespace NCC.Extend.LqXhHyhk | ||
| 664 | await _db.Deleteable<LqXhKjbsyjEntity>().Where(u => u.Glkdbh == id).ExecuteCommandAsync(); | 664 | await _db.Deleteable<LqXhKjbsyjEntity>().Where(u => u.Glkdbh == id).ExecuteCommandAsync(); |
| 665 | 665 | ||
| 666 | //清空子表数据 | 666 | //清空子表数据 |
| 667 | - await _db.Deleteable<LqXhPxmxEntity>().Where(u => u.Glkdbh == id).ExecuteCommandAsync(); | 667 | + await _db.Deleteable<LqXhPxmxEntity>().Where(u => u.ConsumeInfoId == id).ExecuteCommandAsync(); |
| 668 | 668 | ||
| 669 | //关闭事务 | 669 | //关闭事务 |
| 670 | _db.CommitTran(); | 670 | _db.CommitTran(); |
netcore/src/Modularity/Extend/NCC.Extend/LqXhmxbService.cs
| 1 | -using NCC.Common.Core.Manager; | 1 | +using System; |
| 2 | +using System.Collections.Generic; | ||
| 3 | +using System.Linq; | ||
| 4 | +using System.Threading.Tasks; | ||
| 5 | +using Mapster; | ||
| 6 | +using Microsoft.AspNetCore.Mvc; | ||
| 7 | +using NCC.ClayObject; | ||
| 8 | +using NCC.Common.Configuration; | ||
| 9 | +using NCC.Common.Core.Manager; | ||
| 2 | using NCC.Common.Enum; | 10 | using NCC.Common.Enum; |
| 3 | using NCC.Common.Extension; | 11 | using NCC.Common.Extension; |
| 4 | using NCC.Common.Filter; | 12 | using NCC.Common.Filter; |
| 13 | +using NCC.Common.Helper; | ||
| 14 | +using NCC.Common.Model.NPOI; | ||
| 15 | +using NCC.DataEncryption; | ||
| 5 | using NCC.Dependency; | 16 | using NCC.Dependency; |
| 6 | using NCC.DynamicApiController; | 17 | using NCC.DynamicApiController; |
| 7 | -using NCC.FriendlyException; | 18 | +using NCC.Extend.Entitys.Dto.LqXhmxb; |
| 19 | +using NCC.Extend.Entitys.lq_xhmxb; | ||
| 8 | using NCC.Extend.Interfaces.LqXhmxb; | 20 | using NCC.Extend.Interfaces.LqXhmxb; |
| 9 | -using Mapster; | ||
| 10 | -using Microsoft.AspNetCore.Mvc; | 21 | +using NCC.FriendlyException; |
| 22 | +using NCC.JsonSerialization; | ||
| 11 | using SqlSugar; | 23 | using SqlSugar; |
| 12 | -using System; | ||
| 13 | -using System.Collections.Generic; | ||
| 14 | -using System.Linq; | ||
| 15 | -using System.Threading.Tasks; | ||
| 16 | -using NCC.Extend.Entitys.lq_xhmxb; | ||
| 17 | -using NCC.Extend.Entitys.Dto.LqXhmxb; | ||
| 18 | using Yitter.IdGenerator; | 24 | using Yitter.IdGenerator; |
| 19 | -using NCC.Common.Helper; | ||
| 20 | -using NCC.JsonSerialization; | ||
| 21 | -using NCC.Common.Model.NPOI; | ||
| 22 | -using NCC.Common.Configuration; | ||
| 23 | -using NCC.DataEncryption; | ||
| 24 | -using NCC.ClayObject; | ||
| 25 | 25 | ||
| 26 | namespace NCC.Extend.LqXhmxb | 26 | namespace NCC.Extend.LqXhmxb |
| 27 | { | 27 | { |
| 28 | /// <summary> | 28 | /// <summary> |
| 29 | /// 消耗明细表服务 | 29 | /// 消耗明细表服务 |
| 30 | /// </summary> | 30 | /// </summary> |
| 31 | - [ApiDescriptionSettings(Tag = "Extend",Name = "LqXhmxb", Order = 200)] | 31 | + [ApiDescriptionSettings(Tag = "Extend", Name = "LqXhmxb", Order = 200)] |
| 32 | [Route("api/Extend/[controller]")] | 32 | [Route("api/Extend/[controller]")] |
| 33 | public class LqXhmxbService : ILqXhmxbService, IDynamicApiController, ITransient | 33 | public class LqXhmxbService : ILqXhmxbService, IDynamicApiController, ITransient |
| 34 | { | 34 | { |
| @@ -39,11 +39,9 @@ namespace NCC.Extend.LqXhmxb | @@ -39,11 +39,9 @@ namespace NCC.Extend.LqXhmxb | ||
| 39 | /// <summary> | 39 | /// <summary> |
| 40 | /// 初始化一个<see cref="LqXhmxbService"/>类型的新实例 | 40 | /// 初始化一个<see cref="LqXhmxbService"/>类型的新实例 |
| 41 | /// </summary> | 41 | /// </summary> |
| 42 | - public LqXhmxbService( | ||
| 43 | - ISqlSugarRepository<LqXhmxbEntity> lqXhmxbRepository, | ||
| 44 | - IUserManager userManager) | 42 | + public LqXhmxbService(ISqlSugarRepository<LqXhmxbEntity> lqXhmxbRepository, IUserManager userManager) |
| 45 | { | 43 | { |
| 46 | - _lqXhmxbRepository = lqXhmxbRepository; | 44 | + _lqXhmxbRepository = lqXhmxbRepository; |
| 47 | _db = _lqXhmxbRepository.Context; | 45 | _db = _lqXhmxbRepository.Context; |
| 48 | _userManager = userManager; | 46 | _userManager = userManager; |
| 49 | } | 47 | } |
| @@ -62,10 +60,10 @@ namespace NCC.Extend.LqXhmxb | @@ -62,10 +60,10 @@ namespace NCC.Extend.LqXhmxb | ||
| 62 | } | 60 | } |
| 63 | 61 | ||
| 64 | /// <summary> | 62 | /// <summary> |
| 65 | - /// 获取消耗明细表列表 | ||
| 66 | - /// </summary> | ||
| 67 | - /// <param name="input">请求参数</param> | ||
| 68 | - /// <returns></returns> | 63 | + /// 获取消耗明细表列表 |
| 64 | + /// </summary> | ||
| 65 | + /// <param name="input">请求参数</param> | ||
| 66 | + /// <returns></returns> | ||
| 69 | [HttpGet("")] | 67 | [HttpGet("")] |
| 70 | public async Task<dynamic> GetList([FromQuery] LqXhmxbListQueryInput input) | 68 | public async Task<dynamic> GetList([FromQuery] LqXhmxbListQueryInput input) |
| 71 | { | 69 | { |
| @@ -85,24 +83,27 @@ namespace NCC.Extend.LqXhmxb | @@ -85,24 +83,27 @@ namespace NCC.Extend.LqXhmxb | ||
| 85 | .WhereIF(!string.IsNullOrEmpty(input.qtsg2), p => p.Qtsg2.Contains(input.qtsg2)) | 83 | .WhereIF(!string.IsNullOrEmpty(input.qtsg2), p => p.Qtsg2.Contains(input.qtsg2)) |
| 86 | .WhereIF(!string.IsNullOrEmpty(input.qtsg3), p => p.Qtsg3.Contains(input.qtsg3)) | 84 | .WhereIF(!string.IsNullOrEmpty(input.qtsg3), p => p.Qtsg3.Contains(input.qtsg3)) |
| 87 | .WhereIF(!string.IsNullOrEmpty(input.sghj), p => p.Sghj.Contains(input.sghj)) | 85 | .WhereIF(!string.IsNullOrEmpty(input.sghj), p => p.Sghj.Contains(input.sghj)) |
| 88 | - .Select(it=> new LqXhmxbListOutput | 86 | + .Select(it => new LqXhmxbListOutput |
| 89 | { | 87 | { |
| 90 | id = it.Id, | 88 | id = it.Id, |
| 91 | - mdbh=it.Mdbh, | ||
| 92 | - mdmc=it.Mdmc, | ||
| 93 | - bmbh=it.Bmbh, | ||
| 94 | - bmmc=it.Bmmc, | ||
| 95 | - ygbh=it.Ygbh, | ||
| 96 | - ygmc=it.Ygmc, | ||
| 97 | - xms=it.Xms, | ||
| 98 | - xh=it.Xh, | ||
| 99 | - sg=it.Sg, | ||
| 100 | - qtsg1=it.Qtsg1, | ||
| 101 | - qtsg2=it.Qtsg2, | ||
| 102 | - qtsg3=it.Qtsg3, | ||
| 103 | - sghj=it.Sghj, | ||
| 104 | - }).MergeTable().OrderBy(sidx+" "+input.sort).ToPagedListAsync(input.currentPage, input.pageSize); | ||
| 105 | - return PageResult<LqXhmxbListOutput>.SqlSugarPageResult(data); | 89 | + mdbh = it.Mdbh, |
| 90 | + mdmc = it.Mdmc, | ||
| 91 | + bmbh = it.Bmbh, | ||
| 92 | + bmmc = it.Bmmc, | ||
| 93 | + ygbh = it.Ygbh, | ||
| 94 | + ygmc = it.Ygmc, | ||
| 95 | + xms = it.Xms, | ||
| 96 | + xh = it.Xh, | ||
| 97 | + sg = it.Sg, | ||
| 98 | + qtsg1 = it.Qtsg1, | ||
| 99 | + qtsg2 = it.Qtsg2, | ||
| 100 | + qtsg3 = it.Qtsg3, | ||
| 101 | + sghj = it.Sghj, | ||
| 102 | + }) | ||
| 103 | + .MergeTable() | ||
| 104 | + .OrderBy(sidx + " " + input.sort) | ||
| 105 | + .ToPagedListAsync(input.currentPage, input.pageSize); | ||
| 106 | + return PageResult<LqXhmxbListOutput>.SqlSugarPageResult(data); | ||
| 106 | } | 107 | } |
| 107 | 108 | ||
| 108 | /// <summary> | 109 | /// <summary> |
| @@ -117,14 +118,15 @@ namespace NCC.Extend.LqXhmxb | @@ -117,14 +118,15 @@ namespace NCC.Extend.LqXhmxb | ||
| 117 | var entity = input.Adapt<LqXhmxbEntity>(); | 118 | var entity = input.Adapt<LqXhmxbEntity>(); |
| 118 | entity.Id = YitIdHelper.NextId().ToString(); | 119 | entity.Id = YitIdHelper.NextId().ToString(); |
| 119 | var isOk = await _db.Insertable(entity).IgnoreColumns(ignoreNullColumn: true).ExecuteCommandAsync(); | 120 | var isOk = await _db.Insertable(entity).IgnoreColumns(ignoreNullColumn: true).ExecuteCommandAsync(); |
| 120 | - if (!(isOk > 0)) throw NCCException.Oh(ErrorCode.COM1000); | 121 | + if (!(isOk > 0)) |
| 122 | + throw NCCException.Oh(ErrorCode.COM1000); | ||
| 121 | } | 123 | } |
| 122 | 124 | ||
| 123 | /// <summary> | 125 | /// <summary> |
| 124 | - /// 获取消耗明细表无分页列表 | ||
| 125 | - /// </summary> | ||
| 126 | - /// <param name="input">请求参数</param> | ||
| 127 | - /// <returns></returns> | 126 | + /// 获取消耗明细表无分页列表 |
| 127 | + /// </summary> | ||
| 128 | + /// <param name="input">请求参数</param> | ||
| 129 | + /// <returns></returns> | ||
| 128 | [NonAction] | 130 | [NonAction] |
| 129 | public async Task<dynamic> GetNoPagingList([FromQuery] LqXhmxbListQueryInput input) | 131 | public async Task<dynamic> GetNoPagingList([FromQuery] LqXhmxbListQueryInput input) |
| 130 | { | 132 | { |
| @@ -144,31 +146,34 @@ namespace NCC.Extend.LqXhmxb | @@ -144,31 +146,34 @@ namespace NCC.Extend.LqXhmxb | ||
| 144 | .WhereIF(!string.IsNullOrEmpty(input.qtsg2), p => p.Qtsg2.Contains(input.qtsg2)) | 146 | .WhereIF(!string.IsNullOrEmpty(input.qtsg2), p => p.Qtsg2.Contains(input.qtsg2)) |
| 145 | .WhereIF(!string.IsNullOrEmpty(input.qtsg3), p => p.Qtsg3.Contains(input.qtsg3)) | 147 | .WhereIF(!string.IsNullOrEmpty(input.qtsg3), p => p.Qtsg3.Contains(input.qtsg3)) |
| 146 | .WhereIF(!string.IsNullOrEmpty(input.sghj), p => p.Sghj.Contains(input.sghj)) | 148 | .WhereIF(!string.IsNullOrEmpty(input.sghj), p => p.Sghj.Contains(input.sghj)) |
| 147 | - .Select(it=> new LqXhmxbListOutput | 149 | + .Select(it => new LqXhmxbListOutput |
| 148 | { | 150 | { |
| 149 | id = it.Id, | 151 | id = it.Id, |
| 150 | - mdbh=it.Mdbh, | ||
| 151 | - mdmc=it.Mdmc, | ||
| 152 | - bmbh=it.Bmbh, | ||
| 153 | - bmmc=it.Bmmc, | ||
| 154 | - ygbh=it.Ygbh, | ||
| 155 | - ygmc=it.Ygmc, | ||
| 156 | - xms=it.Xms, | ||
| 157 | - xh=it.Xh, | ||
| 158 | - sg=it.Sg, | ||
| 159 | - qtsg1=it.Qtsg1, | ||
| 160 | - qtsg2=it.Qtsg2, | ||
| 161 | - qtsg3=it.Qtsg3, | ||
| 162 | - sghj=it.Sghj, | ||
| 163 | - }).MergeTable().OrderBy(sidx+" "+input.sort).ToListAsync(); | ||
| 164 | - return data; | 152 | + mdbh = it.Mdbh, |
| 153 | + mdmc = it.Mdmc, | ||
| 154 | + bmbh = it.Bmbh, | ||
| 155 | + bmmc = it.Bmmc, | ||
| 156 | + ygbh = it.Ygbh, | ||
| 157 | + ygmc = it.Ygmc, | ||
| 158 | + xms = it.Xms, | ||
| 159 | + xh = it.Xh, | ||
| 160 | + sg = it.Sg, | ||
| 161 | + qtsg1 = it.Qtsg1, | ||
| 162 | + qtsg2 = it.Qtsg2, | ||
| 163 | + qtsg3 = it.Qtsg3, | ||
| 164 | + sghj = it.Sghj, | ||
| 165 | + }) | ||
| 166 | + .MergeTable() | ||
| 167 | + .OrderBy(sidx + " " + input.sort) | ||
| 168 | + .ToListAsync(); | ||
| 169 | + return data; | ||
| 165 | } | 170 | } |
| 166 | 171 | ||
| 167 | /// <summary> | 172 | /// <summary> |
| 168 | - /// 导出消耗明细表 | ||
| 169 | - /// </summary> | ||
| 170 | - /// <param name="input">请求参数</param> | ||
| 171 | - /// <returns></returns> | 173 | + /// 导出消耗明细表 |
| 174 | + /// </summary> | ||
| 175 | + /// <param name="input">请求参数</param> | ||
| 176 | + /// <returns></returns> | ||
| 172 | [HttpGet("Actions/Export")] | 177 | [HttpGet("Actions/Export")] |
| 173 | public async Task<dynamic> Export([FromQuery] LqXhmxbListQueryInput input) | 178 | public async Task<dynamic> Export([FromQuery] LqXhmxbListQueryInput input) |
| 174 | { | 179 | { |
| @@ -183,7 +188,8 @@ namespace NCC.Extend.LqXhmxb | @@ -183,7 +188,8 @@ namespace NCC.Extend.LqXhmxb | ||
| 183 | { | 188 | { |
| 184 | exportData = await this.GetNoPagingList(input); | 189 | exportData = await this.GetNoPagingList(input); |
| 185 | } | 190 | } |
| 186 | - List<ParamsModel> paramList = "[{\"value\":\"消耗编号\",\"field\":\"id\"},{\"value\":\"门店编号\",\"field\":\"mdbh\"},{\"value\":\"门店名称\",\"field\":\"mdmc\"},{\"value\":\"部门编号\",\"field\":\"bmbh\"},{\"value\":\"部门名称\",\"field\":\"bmmc\"},{\"value\":\"员工编号\",\"field\":\"ygbh\"},{\"value\":\"员工名称\",\"field\":\"ygmc\"},{\"value\":\"项目数\",\"field\":\"xms\"},{\"value\":\"消耗\",\"field\":\"xh\"},{\"value\":\"手工\",\"field\":\"sg\"},{\"value\":\"其它手工1\",\"field\":\"qtsg1\"},{\"value\":\"其它手工2\",\"field\":\"qtsg2\"},{\"value\":\"其它手工3\",\"field\":\"qtsg3\"},{\"value\":\"手工合计\",\"field\":\"sghj\"},]".ToList<ParamsModel>(); | 191 | + List<ParamsModel> paramList = |
| 192 | + "[{\"value\":\"消耗编号\",\"field\":\"id\"},{\"value\":\"门店编号\",\"field\":\"mdbh\"},{\"value\":\"门店名称\",\"field\":\"mdmc\"},{\"value\":\"部门编号\",\"field\":\"bmbh\"},{\"value\":\"部门名称\",\"field\":\"bmmc\"},{\"value\":\"员工编号\",\"field\":\"ygbh\"},{\"value\":\"员工名称\",\"field\":\"ygmc\"},{\"value\":\"项目数\",\"field\":\"xms\"},{\"value\":\"消耗\",\"field\":\"xh\"},{\"value\":\"手工\",\"field\":\"sg\"},{\"value\":\"其它手工1\",\"field\":\"qtsg1\"},{\"value\":\"其它手工2\",\"field\":\"qtsg2\"},{\"value\":\"其它手工3\",\"field\":\"qtsg3\"},{\"value\":\"手工合计\",\"field\":\"sghj\"},]".ToList<ParamsModel>(); | ||
| 187 | ExcelConfig excelconfig = new ExcelConfig(); | 193 | ExcelConfig excelconfig = new ExcelConfig(); |
| 188 | excelconfig.FileName = "消耗明细表.xls"; | 194 | excelconfig.FileName = "消耗明细表.xls"; |
| 189 | excelconfig.HeadFont = "微软雅黑"; | 195 | excelconfig.HeadFont = "微软雅黑"; |
| @@ -202,11 +208,7 @@ namespace NCC.Extend.LqXhmxb | @@ -202,11 +208,7 @@ namespace NCC.Extend.LqXhmxb | ||
| 202 | var addPath = FileVariable.TemporaryFilePath + excelconfig.FileName; | 208 | var addPath = FileVariable.TemporaryFilePath + excelconfig.FileName; |
| 203 | ExcelExportHelper<LqXhmxbListOutput>.Export(exportData, excelconfig, addPath); | 209 | ExcelExportHelper<LqXhmxbListOutput>.Export(exportData, excelconfig, addPath); |
| 204 | var fileName = _userManager.UserId + "|" + addPath + "|xls"; | 210 | var fileName = _userManager.UserId + "|" + addPath + "|xls"; |
| 205 | - var output = new | ||
| 206 | - { | ||
| 207 | - name = excelconfig.FileName, | ||
| 208 | - url = "/api/File/Download?encryption=" + DESCEncryption.Encrypt(fileName, "NCC") | ||
| 209 | - }; | 211 | + var output = new { name = excelconfig.FileName, url = "/api/File/Download?encryption=" + DESCEncryption.Encrypt(fileName, "NCC") }; |
| 210 | return output; | 212 | return output; |
| 211 | } | 213 | } |
| 212 | 214 | ||
| @@ -226,7 +228,7 @@ namespace NCC.Extend.LqXhmxb | @@ -226,7 +228,7 @@ namespace NCC.Extend.LqXhmxb | ||
| 226 | //开启事务 | 228 | //开启事务 |
| 227 | _db.BeginTran(); | 229 | _db.BeginTran(); |
| 228 | //批量删除消耗明细表 | 230 | //批量删除消耗明细表 |
| 229 | - await _db.Deleteable<LqXhmxbEntity>().In(d => d.Id,ids).ExecuteCommandAsync(); | 231 | + await _db.Deleteable<LqXhmxbEntity>().In(d => d.Id, ids).ExecuteCommandAsync(); |
| 230 | //关闭事务 | 232 | //关闭事务 |
| 231 | _db.CommitTran(); | 233 | _db.CommitTran(); |
| 232 | } | 234 | } |
| @@ -250,7 +252,8 @@ namespace NCC.Extend.LqXhmxb | @@ -250,7 +252,8 @@ namespace NCC.Extend.LqXhmxb | ||
| 250 | { | 252 | { |
| 251 | var entity = input.Adapt<LqXhmxbEntity>(); | 253 | var entity = input.Adapt<LqXhmxbEntity>(); |
| 252 | var isOk = await _db.Updateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); | 254 | var isOk = await _db.Updateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); |
| 253 | - if (!(isOk > 0)) throw NCCException.Oh(ErrorCode.COM1001); | 255 | + if (!(isOk > 0)) |
| 256 | + throw NCCException.Oh(ErrorCode.COM1001); | ||
| 254 | } | 257 | } |
| 255 | 258 | ||
| 256 | /// <summary> | 259 | /// <summary> |
| @@ -263,7 +266,8 @@ namespace NCC.Extend.LqXhmxb | @@ -263,7 +266,8 @@ namespace NCC.Extend.LqXhmxb | ||
| 263 | var entity = await _db.Queryable<LqXhmxbEntity>().FirstAsync(p => p.Id == id); | 266 | var entity = await _db.Queryable<LqXhmxbEntity>().FirstAsync(p => p.Id == id); |
| 264 | _ = entity ?? throw NCCException.Oh(ErrorCode.COM1005); | 267 | _ = entity ?? throw NCCException.Oh(ErrorCode.COM1005); |
| 265 | var isOk = await _db.Deleteable<LqXhmxbEntity>().Where(d => d.Id == id).ExecuteCommandAsync(); | 268 | var isOk = await _db.Deleteable<LqXhmxbEntity>().Where(d => d.Id == id).ExecuteCommandAsync(); |
| 266 | - if (!(isOk > 0)) throw NCCException.Oh(ErrorCode.COM1002); | 269 | + if (!(isOk > 0)) |
| 270 | + throw NCCException.Oh(ErrorCode.COM1002); | ||
| 267 | } | 271 | } |
| 268 | } | 272 | } |
| 269 | } | 273 | } |