Commit 5b46253570e50ff1f233238c0961202d5db6caa8
1 parent
cc202318
1111
Showing
15 changed files
with
631 additions
and
3 deletions
antis-ncc-admin/src/views/storeTotalPerformanceStatistics/index.vue
| @@ -61,6 +61,26 @@ | @@ -61,6 +61,26 @@ | ||
| 61 | <el-table-column prop="ItemQuantity" label="品项数量" width="100" align="right"></el-table-column> | 61 | <el-table-column prop="ItemQuantity" label="品项数量" width="100" align="right"></el-table-column> |
| 62 | <el-table-column prop="FirstOrderCount" label="首开单数量" width="100" align="right"></el-table-column> | 62 | <el-table-column prop="FirstOrderCount" label="首开单数量" width="100" align="right"></el-table-column> |
| 63 | <el-table-column prop="UpgradeOrderCount" label="升单数量" width="100" align="right"></el-table-column> | 63 | <el-table-column prop="UpgradeOrderCount" label="升单数量" width="100" align="right"></el-table-column> |
| 64 | + <el-table-column prop="FirstOrderPerformance" label="首单业绩" width="120" align="right"> | ||
| 65 | + <template slot-scope="scope"> | ||
| 66 | + {{ formatMoney(scope.row.FirstOrderPerformance) }} | ||
| 67 | + </template> | ||
| 68 | + </el-table-column> | ||
| 69 | + <el-table-column prop="UpgradeOrderPerformance" label="升单业绩" width="120" align="right"> | ||
| 70 | + <template slot-scope="scope"> | ||
| 71 | + {{ formatMoney(scope.row.UpgradeOrderPerformance) }} | ||
| 72 | + </template> | ||
| 73 | + </el-table-column> | ||
| 74 | + <el-table-column prop="RefundAmount" label="退款业绩" width="120" align="right"> | ||
| 75 | + <template slot-scope="scope"> | ||
| 76 | + <span style="color: #F56C6C;">{{ formatMoney(scope.row.RefundAmount) }}</span> | ||
| 77 | + </template> | ||
| 78 | + </el-table-column> | ||
| 79 | + <el-table-column prop="RefundCount" label="退款次数" width="100" align="right"> | ||
| 80 | + <template slot-scope="scope"> | ||
| 81 | + <span style="color: #F56C6C;">{{ scope.row.RefundCount || 0 }}</span> | ||
| 82 | + </template> | ||
| 83 | + </el-table-column> | ||
| 64 | <el-table-column prop="CreateTime" label="创建时间" width="150" align="center"> | 84 | <el-table-column prop="CreateTime" label="创建时间" width="150" align="center"> |
| 65 | <template slot-scope="scope"> | 85 | <template slot-scope="scope"> |
| 66 | {{ formatDateTime(scope.row.CreateTime) }} | 86 | {{ formatDateTime(scope.row.CreateTime) }} |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqCardTransferLog/LqCardTransferLogCrInput.cs
0 → 100644
| 1 | +using System; | ||
| 2 | +using System.ComponentModel.DataAnnotations; | ||
| 3 | + | ||
| 4 | +namespace NCC.Extend.Entitys.Dto.LqCardTransferLog | ||
| 5 | +{ | ||
| 6 | + /// <summary> | ||
| 7 | + /// 转卡日志创建输入参数 | ||
| 8 | + /// </summary> | ||
| 9 | + public class LqCardTransferLogCrInput | ||
| 10 | + { | ||
| 11 | + /// <summary> | ||
| 12 | + /// 退卡ID | ||
| 13 | + /// </summary> | ||
| 14 | + [Required(ErrorMessage = "退卡ID不能为空")] | ||
| 15 | + public string refundCardId { get; set; } | ||
| 16 | + | ||
| 17 | + /// <summary> | ||
| 18 | + /// 开卡ID | ||
| 19 | + /// </summary> | ||
| 20 | + [Required(ErrorMessage = "开卡ID不能为空")] | ||
| 21 | + public string billingCardId { get; set; } | ||
| 22 | + | ||
| 23 | + /// <summary> | ||
| 24 | + /// 转卡人会员ID | ||
| 25 | + /// </summary> | ||
| 26 | + [Required(ErrorMessage = "转卡人会员ID不能为空")] | ||
| 27 | + public string transferFromMemberId { get; set; } | ||
| 28 | + | ||
| 29 | + /// <summary> | ||
| 30 | + /// 被转卡人会员ID | ||
| 31 | + /// </summary> | ||
| 32 | + [Required(ErrorMessage = "被转卡人会员ID不能为空")] | ||
| 33 | + public string transferToMemberId { get; set; } | ||
| 34 | + | ||
| 35 | + /// <summary> | ||
| 36 | + /// 转卡总金额 | ||
| 37 | + /// </summary> | ||
| 38 | + [Required(ErrorMessage = "转卡总金额不能为空")] | ||
| 39 | + [Range(0.01, double.MaxValue, ErrorMessage = "转卡总金额必须大于0")] | ||
| 40 | + public decimal transferAmount { get; set; } | ||
| 41 | + | ||
| 42 | + /// <summary> | ||
| 43 | + /// 转卡时间 | ||
| 44 | + /// </summary> | ||
| 45 | + [Required(ErrorMessage = "转卡时间不能为空")] | ||
| 46 | + public DateTime transferTime { get; set; } | ||
| 47 | + | ||
| 48 | + /// <summary> | ||
| 49 | + /// 操作人ID | ||
| 50 | + /// </summary> | ||
| 51 | + [Required(ErrorMessage = "操作人ID不能为空")] | ||
| 52 | + public string operatorId { get; set; } | ||
| 53 | + | ||
| 54 | + /// <summary> | ||
| 55 | + /// 备注信息 | ||
| 56 | + /// </summary> | ||
| 57 | + public string remarks { get; set; } | ||
| 58 | + } | ||
| 59 | +} |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqCardTransferLog/LqCardTransferLogInfoOutput.cs
0 → 100644
| 1 | +using System; | ||
| 2 | + | ||
| 3 | +namespace NCC.Extend.Entitys.Dto.LqCardTransferLog | ||
| 4 | +{ | ||
| 5 | + /// <summary> | ||
| 6 | + /// 转卡日志详情输出参数 | ||
| 7 | + /// </summary> | ||
| 8 | + public class LqCardTransferLogInfoOutput | ||
| 9 | + { | ||
| 10 | + /// <summary> | ||
| 11 | + /// 主键ID | ||
| 12 | + /// </summary> | ||
| 13 | + public string id { get; set; } | ||
| 14 | + | ||
| 15 | + /// <summary> | ||
| 16 | + /// 退卡ID | ||
| 17 | + /// </summary> | ||
| 18 | + public string refundCardId { get; set; } | ||
| 19 | + | ||
| 20 | + /// <summary> | ||
| 21 | + /// 开卡ID | ||
| 22 | + /// </summary> | ||
| 23 | + public string billingCardId { get; set; } | ||
| 24 | + | ||
| 25 | + /// <summary> | ||
| 26 | + /// 转卡人会员ID | ||
| 27 | + /// </summary> | ||
| 28 | + public string transferFromMemberId { get; set; } | ||
| 29 | + | ||
| 30 | + /// <summary> | ||
| 31 | + /// 转卡人姓名 | ||
| 32 | + /// </summary> | ||
| 33 | + public string transferFromMemberName { get; set; } | ||
| 34 | + | ||
| 35 | + /// <summary> | ||
| 36 | + /// 被转卡人会员ID | ||
| 37 | + /// </summary> | ||
| 38 | + public string transferToMemberId { get; set; } | ||
| 39 | + | ||
| 40 | + /// <summary> | ||
| 41 | + /// 被转卡人姓名 | ||
| 42 | + /// </summary> | ||
| 43 | + public string transferToMemberName { get; set; } | ||
| 44 | + | ||
| 45 | + /// <summary> | ||
| 46 | + /// 转卡总金额 | ||
| 47 | + /// </summary> | ||
| 48 | + public decimal transferAmount { get; set; } | ||
| 49 | + | ||
| 50 | + /// <summary> | ||
| 51 | + /// 转卡时间 | ||
| 52 | + /// </summary> | ||
| 53 | + public DateTime transferTime { get; set; } | ||
| 54 | + | ||
| 55 | + /// <summary> | ||
| 56 | + /// 操作人ID | ||
| 57 | + /// </summary> | ||
| 58 | + public string operatorId { get; set; } | ||
| 59 | + | ||
| 60 | + /// <summary> | ||
| 61 | + /// 备注信息 | ||
| 62 | + /// </summary> | ||
| 63 | + public string remarks { get; set; } | ||
| 64 | + | ||
| 65 | + /// <summary> | ||
| 66 | + /// 创建时间 | ||
| 67 | + /// </summary> | ||
| 68 | + public DateTime? createTime { get; set; } | ||
| 69 | + | ||
| 70 | + /// <summary> | ||
| 71 | + /// 更新时间 | ||
| 72 | + /// </summary> | ||
| 73 | + public DateTime? updateTime { get; set; } | ||
| 74 | + | ||
| 75 | + /// <summary> | ||
| 76 | + /// 是否有效 | ||
| 77 | + /// </summary> | ||
| 78 | + public int isEffective { get; set; } | ||
| 79 | + } | ||
| 80 | +} |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqCardTransferLog/LqCardTransferLogListOutput.cs
0 → 100644
| 1 | +using System; | ||
| 2 | + | ||
| 3 | +namespace NCC.Extend.Entitys.Dto.LqCardTransferLog | ||
| 4 | +{ | ||
| 5 | + /// <summary> | ||
| 6 | + /// 转卡日志列表输出参数 | ||
| 7 | + /// </summary> | ||
| 8 | + public class LqCardTransferLogListOutput | ||
| 9 | + { | ||
| 10 | + /// <summary> | ||
| 11 | + /// 主键ID | ||
| 12 | + /// </summary> | ||
| 13 | + public string id { get; set; } | ||
| 14 | + | ||
| 15 | + /// <summary> | ||
| 16 | + /// 退卡ID | ||
| 17 | + /// </summary> | ||
| 18 | + public string refundCardId { get; set; } | ||
| 19 | + | ||
| 20 | + /// <summary> | ||
| 21 | + /// 开卡ID | ||
| 22 | + /// </summary> | ||
| 23 | + public string billingCardId { get; set; } | ||
| 24 | + | ||
| 25 | + /// <summary> | ||
| 26 | + /// 转卡人会员ID | ||
| 27 | + /// </summary> | ||
| 28 | + public string transferFromMemberId { get; set; } | ||
| 29 | + | ||
| 30 | + /// <summary> | ||
| 31 | + /// 转卡人姓名 | ||
| 32 | + /// </summary> | ||
| 33 | + public string transferFromMemberName { get; set; } | ||
| 34 | + | ||
| 35 | + /// <summary> | ||
| 36 | + /// 被转卡人会员ID | ||
| 37 | + /// </summary> | ||
| 38 | + public string transferToMemberId { get; set; } | ||
| 39 | + | ||
| 40 | + /// <summary> | ||
| 41 | + /// 被转卡人姓名 | ||
| 42 | + /// </summary> | ||
| 43 | + public string transferToMemberName { get; set; } | ||
| 44 | + | ||
| 45 | + /// <summary> | ||
| 46 | + /// 转卡总金额 | ||
| 47 | + /// </summary> | ||
| 48 | + public decimal transferAmount { get; set; } | ||
| 49 | + | ||
| 50 | + /// <summary> | ||
| 51 | + /// 转卡时间 | ||
| 52 | + /// </summary> | ||
| 53 | + public DateTime transferTime { get; set; } | ||
| 54 | + | ||
| 55 | + /// <summary> | ||
| 56 | + /// 操作人ID | ||
| 57 | + /// </summary> | ||
| 58 | + public string operatorId { get; set; } | ||
| 59 | + | ||
| 60 | + /// <summary> | ||
| 61 | + /// 备注信息 | ||
| 62 | + /// </summary> | ||
| 63 | + public string remarks { get; set; } | ||
| 64 | + | ||
| 65 | + /// <summary> | ||
| 66 | + /// 创建时间 | ||
| 67 | + /// </summary> | ||
| 68 | + public DateTime? createTime { get; set; } | ||
| 69 | + | ||
| 70 | + /// <summary> | ||
| 71 | + /// 更新时间 | ||
| 72 | + /// </summary> | ||
| 73 | + public DateTime? updateTime { get; set; } | ||
| 74 | + | ||
| 75 | + /// <summary> | ||
| 76 | + /// 是否有效 | ||
| 77 | + /// </summary> | ||
| 78 | + public int isEffective { get; set; } | ||
| 79 | + } | ||
| 80 | +} |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqCardTransferLog/LqCardTransferLogListQueryInput.cs
0 → 100644
| 1 | +using System; | ||
| 2 | +using NCC.Common.Filter; | ||
| 3 | + | ||
| 4 | +namespace NCC.Extend.Entitys.Dto.LqCardTransferLog | ||
| 5 | +{ | ||
| 6 | + /// <summary> | ||
| 7 | + /// 转卡日志列表查询输入参数 | ||
| 8 | + /// </summary> | ||
| 9 | + public class LqCardTransferLogListQueryInput : PageInputBase | ||
| 10 | + { | ||
| 11 | + /// <summary> | ||
| 12 | + /// 转卡人会员ID | ||
| 13 | + /// </summary> | ||
| 14 | + public string transferFromMemberId { get; set; } | ||
| 15 | + | ||
| 16 | + /// <summary> | ||
| 17 | + /// 被转卡人会员ID | ||
| 18 | + /// </summary> | ||
| 19 | + public string transferToMemberId { get; set; } | ||
| 20 | + | ||
| 21 | + /// <summary> | ||
| 22 | + /// 操作人ID | ||
| 23 | + /// </summary> | ||
| 24 | + public string operatorId { get; set; } | ||
| 25 | + | ||
| 26 | + /// <summary> | ||
| 27 | + /// 是否有效(1:有效 0:无效) | ||
| 28 | + /// </summary> | ||
| 29 | + public int isEffective { get; set; } = 1; | ||
| 30 | + | ||
| 31 | + /// <summary> | ||
| 32 | + /// 转卡开始时间 | ||
| 33 | + /// </summary> | ||
| 34 | + public DateTime? transferStartTime { get; set; } | ||
| 35 | + | ||
| 36 | + /// <summary> | ||
| 37 | + /// 转卡结束时间 | ||
| 38 | + /// </summary> | ||
| 39 | + public DateTime? transferEndTime { get; set; } | ||
| 40 | + | ||
| 41 | + /// <summary> | ||
| 42 | + /// 最小转卡金额 | ||
| 43 | + /// </summary> | ||
| 44 | + public decimal? minTransferAmount { get; set; } | ||
| 45 | + | ||
| 46 | + /// <summary> | ||
| 47 | + /// 最大转卡金额 | ||
| 48 | + /// </summary> | ||
| 49 | + public decimal? maxTransferAmount { get; set; } | ||
| 50 | + } | ||
| 51 | +} |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqDepartmentConsumePerformanceStatisticsListOutput.cs
| @@ -62,12 +62,23 @@ namespace NCC.Extend.Entitys.Dto.LqStatistics | @@ -62,12 +62,23 @@ namespace NCC.Extend.Entitys.Dto.LqStatistics | ||
| 62 | /// </summary> | 62 | /// </summary> |
| 63 | public decimal HeadCount { get; set; } | 63 | public decimal HeadCount { get; set; } |
| 64 | 64 | ||
| 65 | + | ||
| 65 | /// <summary> | 66 | /// <summary> |
| 66 | /// 人次(日度去重到店数) | 67 | /// 人次(日度去重到店数) |
| 67 | /// </summary> | 68 | /// </summary> |
| 68 | public decimal PersonCount { get; set; } | 69 | public decimal PersonCount { get; set; } |
| 69 | 70 | ||
| 70 | /// <summary> | 71 | /// <summary> |
| 72 | + /// 退款业绩 | ||
| 73 | + /// </summary> | ||
| 74 | + public decimal RefundAmount { get; set; } | ||
| 75 | + | ||
| 76 | + /// <summary> | ||
| 77 | + /// 退款次数 | ||
| 78 | + /// </summary> | ||
| 79 | + public int RefundCount { get; set; } | ||
| 80 | + | ||
| 81 | + /// <summary> | ||
| 71 | /// 创建时间 | 82 | /// 创建时间 |
| 72 | /// </summary> | 83 | /// </summary> |
| 73 | public DateTime CreateTime { get; set; } | 84 | public DateTime CreateTime { get; set; } |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqStoreTotalPerformanceStatisticsListOutput.cs
| @@ -63,6 +63,16 @@ namespace NCC.Extend.Entitys.Dto.LqStatistics | @@ -63,6 +63,16 @@ namespace NCC.Extend.Entitys.Dto.LqStatistics | ||
| 63 | public int UpgradeOrderCount { get; set; } | 63 | public int UpgradeOrderCount { get; set; } |
| 64 | 64 | ||
| 65 | /// <summary> | 65 | /// <summary> |
| 66 | + /// 退款业绩 | ||
| 67 | + /// </summary> | ||
| 68 | + public decimal RefundAmount { get; set; } | ||
| 69 | + | ||
| 70 | + /// <summary> | ||
| 71 | + /// 退款次数 | ||
| 72 | + /// </summary> | ||
| 73 | + public int RefundCount { get; set; } | ||
| 74 | + | ||
| 75 | + /// <summary> | ||
| 66 | /// 创建时间 | 76 | /// 创建时间 |
| 67 | /// </summary> | 77 | /// </summary> |
| 68 | public DateTime CreateTime { get; set; } | 78 | public DateTime CreateTime { get; set; } |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatisticsStoreTotalPerformance/LqStatisticsStoreTotalPerformanceInfoOutput.cs
| @@ -63,6 +63,26 @@ namespace NCC.Extend.Entitys.Dto.LqStatisticsStoreTotalPerformance | @@ -63,6 +63,26 @@ namespace NCC.Extend.Entitys.Dto.LqStatisticsStoreTotalPerformance | ||
| 63 | public int upgradeOrderCount { get; set; } | 63 | public int upgradeOrderCount { get; set; } |
| 64 | 64 | ||
| 65 | /// <summary> | 65 | /// <summary> |
| 66 | + /// 首单业绩 | ||
| 67 | + /// </summary> | ||
| 68 | + public decimal firstOrderPerformance { get; set; } | ||
| 69 | + | ||
| 70 | + /// <summary> | ||
| 71 | + /// 升单业绩 | ||
| 72 | + /// </summary> | ||
| 73 | + public decimal upgradeOrderPerformance { get; set; } | ||
| 74 | + | ||
| 75 | + /// <summary> | ||
| 76 | + /// 退款业绩 | ||
| 77 | + /// </summary> | ||
| 78 | + public decimal refundAmount { get; set; } | ||
| 79 | + | ||
| 80 | + /// <summary> | ||
| 81 | + /// 退款次数 | ||
| 82 | + /// </summary> | ||
| 83 | + public int refundCount { get; set; } | ||
| 84 | + | ||
| 85 | + /// <summary> | ||
| 66 | /// 创建时间 | 86 | /// 创建时间 |
| 67 | /// </summary> | 87 | /// </summary> |
| 68 | public DateTime? createTime { get; set; } | 88 | public DateTime? createTime { get; set; } |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatisticsStoreTotalPerformance/LqStatisticsStoreTotalPerformanceListOutput.cs
| @@ -73,6 +73,16 @@ namespace NCC.Extend.Entitys.Dto.LqStatisticsStoreTotalPerformance | @@ -73,6 +73,16 @@ namespace NCC.Extend.Entitys.Dto.LqStatisticsStoreTotalPerformance | ||
| 73 | public decimal upgradeOrderPerformance { get; set; } | 73 | public decimal upgradeOrderPerformance { get; set; } |
| 74 | 74 | ||
| 75 | /// <summary> | 75 | /// <summary> |
| 76 | + /// 退款业绩 | ||
| 77 | + /// </summary> | ||
| 78 | + public decimal refundAmount { get; set; } | ||
| 79 | + | ||
| 80 | + /// <summary> | ||
| 81 | + /// 退款次数 | ||
| 82 | + /// </summary> | ||
| 83 | + public int refundCount { get; set; } | ||
| 84 | + | ||
| 85 | + /// <summary> | ||
| 76 | /// 创建时间 | 86 | /// 创建时间 |
| 77 | /// </summary> | 87 | /// </summary> |
| 78 | public DateTime? createTime { get; set; } | 88 | public DateTime? createTime { get; set; } |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_card_transfer_log/LqCardTransferLogEntity.cs
0 → 100644
| 1 | +using System; | ||
| 2 | +using NCC.Common.Const; | ||
| 3 | +using SqlSugar; | ||
| 4 | + | ||
| 5 | +namespace NCC.Extend.Entitys.lq_card_transfer_log | ||
| 6 | +{ | ||
| 7 | + /// <summary> | ||
| 8 | + /// 转卡日志 | ||
| 9 | + /// </summary> | ||
| 10 | + [SugarTable("lq_card_transfer_log")] | ||
| 11 | + [Tenant(ClaimConst.TENANT_ID)] | ||
| 12 | + public class LqCardTransferLogEntity | ||
| 13 | + { | ||
| 14 | + /// <summary> | ||
| 15 | + /// 主键ID | ||
| 16 | + /// </summary> | ||
| 17 | + [SugarColumn(ColumnName = "F_Id", IsPrimaryKey = true)] | ||
| 18 | + public string Id { get; set; } | ||
| 19 | + | ||
| 20 | + /// <summary> | ||
| 21 | + /// 退卡ID | ||
| 22 | + /// </summary> | ||
| 23 | + [SugarColumn(ColumnName = "F_RefundCardId")] | ||
| 24 | + public string RefundCardId { get; set; } | ||
| 25 | + | ||
| 26 | + /// <summary> | ||
| 27 | + /// 开卡ID | ||
| 28 | + /// </summary> | ||
| 29 | + [SugarColumn(ColumnName = "F_BillingCardId")] | ||
| 30 | + public string BillingCardId { get; set; } | ||
| 31 | + | ||
| 32 | + /// <summary> | ||
| 33 | + /// 转卡人会员ID | ||
| 34 | + /// </summary> | ||
| 35 | + [SugarColumn(ColumnName = "F_TransferFromMemberId")] | ||
| 36 | + public string TransferFromMemberId { get; set; } | ||
| 37 | + | ||
| 38 | + /// <summary> | ||
| 39 | + /// 被转卡人会员ID | ||
| 40 | + /// </summary> | ||
| 41 | + [SugarColumn(ColumnName = "F_TransferToMemberId")] | ||
| 42 | + public string TransferToMemberId { get; set; } | ||
| 43 | + | ||
| 44 | + /// <summary> | ||
| 45 | + /// 转卡总金额 | ||
| 46 | + /// </summary> | ||
| 47 | + [SugarColumn(ColumnName = "F_TransferAmount")] | ||
| 48 | + public decimal TransferAmount { get; set; } | ||
| 49 | + | ||
| 50 | + /// <summary> | ||
| 51 | + /// 转卡时间 | ||
| 52 | + /// </summary> | ||
| 53 | + [SugarColumn(ColumnName = "F_TransferTime")] | ||
| 54 | + public DateTime TransferTime { get; set; } | ||
| 55 | + | ||
| 56 | + /// <summary> | ||
| 57 | + /// 操作人ID | ||
| 58 | + /// </summary> | ||
| 59 | + [SugarColumn(ColumnName = "F_OperatorId")] | ||
| 60 | + public string OperatorId { get; set; } | ||
| 61 | + | ||
| 62 | + | ||
| 63 | + /// <summary> | ||
| 64 | + /// 备注信息 | ||
| 65 | + /// </summary> | ||
| 66 | + [SugarColumn(ColumnName = "F_Remarks")] | ||
| 67 | + public string Remarks { get; set; } | ||
| 68 | + | ||
| 69 | + /// <summary> | ||
| 70 | + /// 创建时间 | ||
| 71 | + /// </summary> | ||
| 72 | + [SugarColumn(ColumnName = "F_CreateTime")] | ||
| 73 | + public DateTime? CreateTime { get; set; } | ||
| 74 | + | ||
| 75 | + /// <summary> | ||
| 76 | + /// 更新时间 | ||
| 77 | + /// </summary> | ||
| 78 | + [SugarColumn(ColumnName = "F_UpdateTime")] | ||
| 79 | + public DateTime? UpdateTime { get; set; } | ||
| 80 | + | ||
| 81 | + /// <summary> | ||
| 82 | + /// 是否有效 | ||
| 83 | + /// </summary> | ||
| 84 | + [SugarColumn(ColumnName = "F_IsEffective")] | ||
| 85 | + public int IsEffective { get; set; } | ||
| 86 | + } | ||
| 87 | +} |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_statistics_store_total_performance/LqStatisticsStoreTotalPerformanceEntity.cs
| @@ -90,6 +90,18 @@ namespace NCC.Extend.Entitys.lq_statistics_store_total_performance | @@ -90,6 +90,18 @@ namespace NCC.Extend.Entitys.lq_statistics_store_total_performance | ||
| 90 | public decimal UpgradeOrderPerformance { get; set; } | 90 | public decimal UpgradeOrderPerformance { get; set; } |
| 91 | 91 | ||
| 92 | /// <summary> | 92 | /// <summary> |
| 93 | + /// 退款业绩 | ||
| 94 | + /// </summary> | ||
| 95 | + [SugarColumn(ColumnName = "F_RefundAmount")] | ||
| 96 | + public decimal RefundAmount { get; set; } | ||
| 97 | + | ||
| 98 | + /// <summary> | ||
| 99 | + /// 退款次数 | ||
| 100 | + /// </summary> | ||
| 101 | + [SugarColumn(ColumnName = "F_RefundCount")] | ||
| 102 | + public int RefundCount { get; set; } | ||
| 103 | + | ||
| 104 | + /// <summary> | ||
| 93 | /// 创建时间 | 105 | /// 创建时间 |
| 94 | /// </summary> | 106 | /// </summary> |
| 95 | [SugarColumn(ColumnName = "F_CreateTime")] | 107 | [SugarColumn(ColumnName = "F_CreateTime")] |
netcore/src/Modularity/Extend/NCC.Extend.Interfaces/ILqCardTransferLogService.cs
0 → 100644
netcore/src/Modularity/Extend/NCC.Extend/LqCardTransferLogService.cs
0 → 100644
| 1 | +using System; | ||
| 2 | +using System.Linq; | ||
| 3 | +using System.Threading.Tasks; | ||
| 4 | +using Microsoft.AspNetCore.Mvc; | ||
| 5 | +using Microsoft.Extensions.Logging; | ||
| 6 | +using NCC.Common.Core.Manager; | ||
| 7 | +using NCC.Common.Filter; | ||
| 8 | +using NCC.Dependency; | ||
| 9 | +using NCC.DynamicApiController; | ||
| 10 | +using NCC.Extend.Entitys.Dto.LqCardTransferLog; | ||
| 11 | +using NCC.Extend.Entitys.lq_card_transfer_log; | ||
| 12 | +using NCC.Extend.Interfaces; | ||
| 13 | +using NCC.FriendlyException; | ||
| 14 | +using SqlSugar; | ||
| 15 | + | ||
| 16 | +namespace NCC.Extend.LqCardTransferLog | ||
| 17 | +{ | ||
| 18 | + /// <summary> | ||
| 19 | + /// 转卡日志服务 | ||
| 20 | + /// </summary> | ||
| 21 | + [ApiDescriptionSettings(Tag = "绿纤转卡日志服务", Name = "LqCardTransferLog", Order = 100)] | ||
| 22 | + [Route("api/Extend/[controller]")] | ||
| 23 | + public class LqCardTransferLogService : IDynamicApiController, ILqCardTransferLogService, ITransient | ||
| 24 | + { | ||
| 25 | + private readonly ISqlSugarClient _db; | ||
| 26 | + private readonly IUserManager _userManager; | ||
| 27 | + private readonly ILogger<LqCardTransferLogService> _logger; | ||
| 28 | + | ||
| 29 | + public LqCardTransferLogService(ISqlSugarClient db, IUserManager userManager, ILogger<LqCardTransferLogService> logger) | ||
| 30 | + { | ||
| 31 | + _db = db; | ||
| 32 | + _userManager = userManager; | ||
| 33 | + _logger = logger; | ||
| 34 | + } | ||
| 35 | + | ||
| 36 | + #region 添加转卡日志 | ||
| 37 | + /// <summary> | ||
| 38 | + /// 添加转卡日志 | ||
| 39 | + /// </summary> | ||
| 40 | + /// <param name="input">转卡日志创建输入参数</param> | ||
| 41 | + /// <returns>创建结果</returns> | ||
| 42 | + [HttpPost("add")] | ||
| 43 | + public async Task<dynamic> AddTransferLog([FromBody] LqCardTransferLogCrInput input) | ||
| 44 | + { | ||
| 45 | + try | ||
| 46 | + { | ||
| 47 | + if (input == null) | ||
| 48 | + { | ||
| 49 | + throw NCCException.Oh("输入参数不能为空"); | ||
| 50 | + } | ||
| 51 | + | ||
| 52 | + var entity = new LqCardTransferLogEntity | ||
| 53 | + { | ||
| 54 | + Id = Guid.NewGuid().ToString(), | ||
| 55 | + RefundCardId = input.refundCardId, | ||
| 56 | + BillingCardId = input.billingCardId, | ||
| 57 | + TransferFromMemberId = input.transferFromMemberId, | ||
| 58 | + TransferToMemberId = input.transferToMemberId, | ||
| 59 | + TransferAmount = input.transferAmount, | ||
| 60 | + TransferTime = input.transferTime, | ||
| 61 | + OperatorId = input.operatorId, | ||
| 62 | + Remarks = input.remarks ?? "", | ||
| 63 | + CreateTime = DateTime.Now, | ||
| 64 | + IsEffective = 1 | ||
| 65 | + }; | ||
| 66 | + | ||
| 67 | + var result = await _db.Insertable(entity).ExecuteCommandAsync(); | ||
| 68 | + | ||
| 69 | + return new | ||
| 70 | + { | ||
| 71 | + Success = true, | ||
| 72 | + Message = "转卡日志创建成功", | ||
| 73 | + Data = new { Id = entity.Id } | ||
| 74 | + }; | ||
| 75 | + } | ||
| 76 | + catch (Exception ex) | ||
| 77 | + { | ||
| 78 | + throw NCCException.Oh($"创建转卡日志失败: {ex.Message}"); | ||
| 79 | + } | ||
| 80 | + } | ||
| 81 | + #endregion | ||
| 82 | + | ||
| 83 | + #region 获取转卡日志列表 | ||
| 84 | + /// <summary> | ||
| 85 | + /// 获取转卡日志列表 | ||
| 86 | + /// </summary> | ||
| 87 | + /// <param name="input">查询输入参数</param> | ||
| 88 | + /// <returns>转卡日志列表</returns> | ||
| 89 | + [HttpGet("")] | ||
| 90 | + public async Task<dynamic> GetList([FromQuery] LqCardTransferLogListQueryInput input) | ||
| 91 | + { | ||
| 92 | + try | ||
| 93 | + { | ||
| 94 | + var result = await _db.Queryable<LqCardTransferLogEntity>() | ||
| 95 | + .WhereIF(input.isEffective != 0, x => x.IsEffective == input.isEffective) | ||
| 96 | + .WhereIF(!string.IsNullOrEmpty(input.transferFromMemberId), x => x.TransferFromMemberId == input.transferFromMemberId) | ||
| 97 | + .WhereIF(!string.IsNullOrEmpty(input.transferToMemberId), x => x.TransferToMemberId == input.transferToMemberId) | ||
| 98 | + .WhereIF(!string.IsNullOrEmpty(input.operatorId), x => x.OperatorId == input.operatorId) | ||
| 99 | + .WhereIF(input.transferStartTime.HasValue, x => x.TransferTime >= input.transferStartTime.Value) | ||
| 100 | + .WhereIF(input.transferEndTime.HasValue, x => x.TransferTime <= input.transferEndTime.Value) | ||
| 101 | + .WhereIF(input.minTransferAmount.HasValue, x => x.TransferAmount >= input.minTransferAmount.Value) | ||
| 102 | + .WhereIF(input.maxTransferAmount.HasValue, x => x.TransferAmount <= input.maxTransferAmount.Value) | ||
| 103 | + .WhereIF(!string.IsNullOrEmpty(input.keyword), x => x.Remarks.Contains(input.keyword)) | ||
| 104 | + .Select(x => new LqCardTransferLogListOutput | ||
| 105 | + { | ||
| 106 | + id = x.Id, | ||
| 107 | + refundCardId = x.RefundCardId, | ||
| 108 | + billingCardId = x.BillingCardId, | ||
| 109 | + transferFromMemberId = x.TransferFromMemberId, | ||
| 110 | + transferToMemberId = x.TransferToMemberId, | ||
| 111 | + transferAmount = x.TransferAmount, | ||
| 112 | + transferTime = x.TransferTime, | ||
| 113 | + operatorId = x.OperatorId, | ||
| 114 | + remarks = x.Remarks, | ||
| 115 | + createTime = x.CreateTime, | ||
| 116 | + updateTime = x.UpdateTime, | ||
| 117 | + isEffective = x.IsEffective | ||
| 118 | + }) | ||
| 119 | + .OrderBy(x => x.transferTime, OrderByType.Desc) | ||
| 120 | + .ToPagedListAsync(input.currentPage, input.pageSize); | ||
| 121 | + | ||
| 122 | + return PageResult<LqCardTransferLogListOutput>.SqlSugarPageResult(result); | ||
| 123 | + } | ||
| 124 | + catch (Exception ex) | ||
| 125 | + { | ||
| 126 | + throw NCCException.Oh($"获取转卡日志列表失败: {ex.Message}"); | ||
| 127 | + } | ||
| 128 | + } | ||
| 129 | + #endregion | ||
| 130 | + } | ||
| 131 | +} |
netcore/src/Modularity/Extend/NCC.Extend/LqKdKdjlbService.cs
| @@ -44,6 +44,7 @@ using SqlSugar; | @@ -44,6 +44,7 @@ using SqlSugar; | ||
| 44 | using Yitter.IdGenerator; | 44 | using Yitter.IdGenerator; |
| 45 | using NCC.Extend.Entitys.lq_package_info; | 45 | using NCC.Extend.Entitys.lq_package_info; |
| 46 | using NCC.Extend.Entitys.lq_mdxx; | 46 | using NCC.Extend.Entitys.lq_mdxx; |
| 47 | +using NCC.Extend.Entitys.lq_card_transfer_log; | ||
| 47 | 48 | ||
| 48 | namespace NCC.Extend.LqKdKdjlb | 49 | namespace NCC.Extend.LqKdKdjlb |
| 49 | { | 50 | { |
| @@ -2614,6 +2615,23 @@ namespace NCC.Extend.LqKdKdjlb | @@ -2614,6 +2615,23 @@ namespace NCC.Extend.LqKdKdjlb | ||
| 2614 | }); | 2615 | }); |
| 2615 | } | 2616 | } |
| 2616 | } | 2617 | } |
| 2618 | + //记录转卡日志 | ||
| 2619 | + var transferLogEntity = new LqCardTransferLogEntity | ||
| 2620 | + { | ||
| 2621 | + Id = YitIdHelper.NextId().ToString(), | ||
| 2622 | + RefundCardId = refundId, | ||
| 2623 | + BillingCardId = billingId, | ||
| 2624 | + TransferFromMemberId = input.FromMemberId, | ||
| 2625 | + TransferToMemberId = input.ToMemberId, | ||
| 2626 | + TransferAmount = input.TransferItems.Sum(x => x.ItemPrice * x.TransferQuantity), | ||
| 2627 | + TransferTime = transferTime, | ||
| 2628 | + OperatorId = userInfo.userId, | ||
| 2629 | + Remarks = input.Remarks, | ||
| 2630 | + CreateTime = DateTime.Now, | ||
| 2631 | + IsEffective = StatusEnum.有效.GetHashCode() | ||
| 2632 | + | ||
| 2633 | + }; | ||
| 2634 | + await _db.Insertable(transferLogEntity).ExecuteCommandAsync(); | ||
| 2617 | 2635 | ||
| 2618 | await _db.Insertable(billingPxmxEntities).ExecuteCommandAsync(); | 2636 | await _db.Insertable(billingPxmxEntities).ExecuteCommandAsync(); |
| 2619 | if (billingJksyjEntities.Any()) | 2637 | if (billingJksyjEntities.Any()) |
netcore/src/Modularity/Extend/NCC.Extend/LqStatisticsService.cs
| @@ -2472,7 +2472,7 @@ namespace NCC.Extend.LqStatistics | @@ -2472,7 +2472,7 @@ namespace NCC.Extend.LqStatistics | ||
| 2472 | /// 保存门店总业绩统计数据 | 2472 | /// 保存门店总业绩统计数据 |
| 2473 | /// </summary> | 2473 | /// </summary> |
| 2474 | /// <remarks> | 2474 | /// <remarks> |
| 2475 | - /// 统计门店的总业绩、欠款金额、总单业绩、储扣总金额、品项数量、首开单数量、升单数量 | 2475 | + /// 统计门店的总业绩、欠款金额、总单业绩、储扣总金额、品项数量、首开单数量、升单数量、退款业绩、退款次数 |
| 2476 | /// | 2476 | /// |
| 2477 | /// 示例请求: | 2477 | /// 示例请求: |
| 2478 | /// ```json | 2478 | /// ```json |
| @@ -2483,6 +2483,17 @@ namespace NCC.Extend.LqStatistics | @@ -2483,6 +2483,17 @@ namespace NCC.Extend.LqStatistics | ||
| 2483 | /// | 2483 | /// |
| 2484 | /// 参数说明: | 2484 | /// 参数说明: |
| 2485 | /// - statisticsMonth: 统计月份,格式为YYYYMM | 2485 | /// - statisticsMonth: 统计月份,格式为YYYYMM |
| 2486 | + /// | ||
| 2487 | + /// 统计指标: | ||
| 2488 | + /// - 总业绩: 开单记录的总业绩金额 | ||
| 2489 | + /// - 欠款金额: 开单记录的欠款总额 | ||
| 2490 | + /// - 总单业绩: 开单记录的实付业绩 | ||
| 2491 | + /// - 储扣总金额: 储扣记录的金额总和 | ||
| 2492 | + /// - 品项数量: 开单品项的总数量 | ||
| 2493 | + /// - 首开单数量: 首次开单的数量 | ||
| 2494 | + /// - 升单数量: 升单的数量 | ||
| 2495 | + /// - 退款业绩: 退款记录的总金额 | ||
| 2496 | + /// - 退款次数: 退款记录的总次数 | ||
| 2486 | /// </remarks> | 2497 | /// </remarks> |
| 2487 | /// <param name="input">统计输入参数</param> | 2498 | /// <param name="input">统计输入参数</param> |
| 2488 | /// <returns>保存结果</returns> | 2499 | /// <returns>保存结果</returns> |
| @@ -2515,7 +2526,9 @@ namespace NCC.Extend.LqStatistics | @@ -2515,7 +2526,9 @@ namespace NCC.Extend.LqStatistics | ||
| 2515 | store_data.F_FirstOrderCount, | 2526 | store_data.F_FirstOrderCount, |
| 2516 | store_data.F_UpgradeOrderCount, | 2527 | store_data.F_UpgradeOrderCount, |
| 2517 | store_data.F_FirstOrderPerformance, | 2528 | store_data.F_FirstOrderPerformance, |
| 2518 | - store_data.F_UpgradeOrderPerformance | 2529 | + store_data.F_UpgradeOrderPerformance, |
| 2530 | + COALESCE(refund_data.F_RefundAmount, 0) as F_RefundAmount, | ||
| 2531 | + COALESCE(refund_data.F_RefundCount, 0) as F_RefundCount | ||
| 2519 | FROM ( | 2532 | FROM ( |
| 2520 | SELECT | 2533 | SELECT |
| 2521 | kd.djmd as F_StoreId, | 2534 | kd.djmd as F_StoreId, |
| @@ -2544,7 +2557,17 @@ namespace NCC.Extend.LqStatistics | @@ -2544,7 +2557,17 @@ namespace NCC.Extend.LqStatistics | ||
| 2544 | WHERE kd.F_IsEffective = 1 | 2557 | WHERE kd.F_IsEffective = 1 |
| 2545 | AND DATE_FORMAT(kd.kdrq, '%Y%m') = @statisticsMonth | 2558 | AND DATE_FORMAT(kd.kdrq, '%Y%m') = @statisticsMonth |
| 2546 | GROUP BY kd.djmd | 2559 | GROUP BY kd.djmd |
| 2547 | - ) item_data ON store_data.F_StoreId = item_data.F_StoreId"; | 2560 | + ) item_data ON store_data.F_StoreId = item_data.F_StoreId |
| 2561 | + LEFT JOIN ( | ||
| 2562 | + SELECT | ||
| 2563 | + hytk.md as F_StoreId, | ||
| 2564 | + COALESCE(SUM(hytk.tkje), 0) as F_RefundAmount, | ||
| 2565 | + COUNT(DISTINCT hytk.F_Id) as F_RefundCount | ||
| 2566 | + FROM lq_hytk_hytk hytk | ||
| 2567 | + WHERE hytk.F_IsEffective = 1 | ||
| 2568 | + AND DATE_FORMAT(hytk.tksj, '%Y%m') = @statisticsMonth | ||
| 2569 | + GROUP BY hytk.md | ||
| 2570 | + ) refund_data ON store_data.F_StoreId = refund_data.F_StoreId"; | ||
| 2548 | 2571 | ||
| 2549 | var storePerformanceData = await _db.Ado.SqlQueryAsync<dynamic>(storePerformanceSql, new { statisticsMonth }); | 2572 | var storePerformanceData = await _db.Ado.SqlQueryAsync<dynamic>(storePerformanceSql, new { statisticsMonth }); |
| 2550 | 2573 | ||
| @@ -2563,6 +2586,8 @@ namespace NCC.Extend.LqStatistics | @@ -2563,6 +2586,8 @@ namespace NCC.Extend.LqStatistics | ||
| 2563 | UpgradeOrderCount = Convert.ToInt32(data.F_UpgradeOrderCount ?? 0), | 2586 | UpgradeOrderCount = Convert.ToInt32(data.F_UpgradeOrderCount ?? 0), |
| 2564 | FirstOrderPerformance = Convert.ToDecimal(data.F_FirstOrderPerformance ?? 0), | 2587 | FirstOrderPerformance = Convert.ToDecimal(data.F_FirstOrderPerformance ?? 0), |
| 2565 | UpgradeOrderPerformance = Convert.ToDecimal(data.F_UpgradeOrderPerformance ?? 0), | 2588 | UpgradeOrderPerformance = Convert.ToDecimal(data.F_UpgradeOrderPerformance ?? 0), |
| 2589 | + RefundAmount = Convert.ToDecimal(data.F_RefundAmount ?? 0), | ||
| 2590 | + RefundCount = Convert.ToInt32(data.F_RefundCount ?? 0), | ||
| 2566 | CreateTime = DateTime.Now | 2591 | CreateTime = DateTime.Now |
| 2567 | }).ToList(); | 2592 | }).ToList(); |
| 2568 | 2593 | ||
| @@ -3302,6 +3327,8 @@ namespace NCC.Extend.LqStatistics | @@ -3302,6 +3327,8 @@ namespace NCC.Extend.LqStatistics | ||
| 3302 | ItemQuantity = it.ItemQuantity, | 3327 | ItemQuantity = it.ItemQuantity, |
| 3303 | FirstOrderCount = it.FirstOrderCount, | 3328 | FirstOrderCount = it.FirstOrderCount, |
| 3304 | UpgradeOrderCount = it.UpgradeOrderCount, | 3329 | UpgradeOrderCount = it.UpgradeOrderCount, |
| 3330 | + RefundAmount = it.RefundAmount, | ||
| 3331 | + RefundCount = it.RefundCount, | ||
| 3305 | CreateTime = it.CreateTime.HasValue ? it.CreateTime.Value : DateTime.Now | 3332 | CreateTime = it.CreateTime.HasValue ? it.CreateTime.Value : DateTime.Now |
| 3306 | }).ToList(); | 3333 | }).ToList(); |
| 3307 | 3334 |