From 5b46253570e50ff1f233238c0961202d5db6caa8 Mon Sep 17 00:00:00 2001
From: “wangming” <“wangming@antissoft.com”>
Date: Wed, 22 Oct 2025 14:47:46 +0800
Subject: [PATCH] 1111
---
antis-ncc-admin/src/views/storeTotalPerformanceStatistics/index.vue | 20 ++++++++++++++++++++
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqCardTransferLog/LqCardTransferLogCrInput.cs | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqCardTransferLog/LqCardTransferLogInfoOutput.cs | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqCardTransferLog/LqCardTransferLogListOutput.cs | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqCardTransferLog/LqCardTransferLogListQueryInput.cs | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqDepartmentConsumePerformanceStatisticsListOutput.cs | 11 +++++++++++
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqStoreTotalPerformanceStatisticsListOutput.cs | 10 ++++++++++
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatisticsStoreTotalPerformance/LqStatisticsStoreTotalPerformanceInfoOutput.cs | 20 ++++++++++++++++++++
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatisticsStoreTotalPerformance/LqStatisticsStoreTotalPerformanceListOutput.cs | 10 ++++++++++
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_card_transfer_log/LqCardTransferLogEntity.cs | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_statistics_store_total_performance/LqStatisticsStoreTotalPerformanceEntity.cs | 12 ++++++++++++
netcore/src/Modularity/Extend/NCC.Extend.Interfaces/ILqCardTransferLogService.cs | 12 ++++++++++++
netcore/src/Modularity/Extend/NCC.Extend/LqCardTransferLogService.cs | 131 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
netcore/src/Modularity/Extend/NCC.Extend/LqKdKdjlbService.cs | 18 ++++++++++++++++++
netcore/src/Modularity/Extend/NCC.Extend/LqStatisticsService.cs | 33 ++++++++++++++++++++++++++++++---
15 files changed, 631 insertions(+), 3 deletions(-)
create mode 100644 netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqCardTransferLog/LqCardTransferLogCrInput.cs
create mode 100644 netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqCardTransferLog/LqCardTransferLogInfoOutput.cs
create mode 100644 netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqCardTransferLog/LqCardTransferLogListOutput.cs
create mode 100644 netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqCardTransferLog/LqCardTransferLogListQueryInput.cs
create mode 100644 netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_card_transfer_log/LqCardTransferLogEntity.cs
create mode 100644 netcore/src/Modularity/Extend/NCC.Extend.Interfaces/ILqCardTransferLogService.cs
create mode 100644 netcore/src/Modularity/Extend/NCC.Extend/LqCardTransferLogService.cs
diff --git a/antis-ncc-admin/src/views/storeTotalPerformanceStatistics/index.vue b/antis-ncc-admin/src/views/storeTotalPerformanceStatistics/index.vue
index f22abd5..0a5a9c5 100644
--- a/antis-ncc-admin/src/views/storeTotalPerformanceStatistics/index.vue
+++ b/antis-ncc-admin/src/views/storeTotalPerformanceStatistics/index.vue
@@ -61,6 +61,26 @@
+
+
+ {{ formatMoney(scope.row.FirstOrderPerformance) }}
+
+
+
+
+ {{ formatMoney(scope.row.UpgradeOrderPerformance) }}
+
+
+
+
+ {{ formatMoney(scope.row.RefundAmount) }}
+
+
+
+
+ {{ scope.row.RefundCount || 0 }}
+
+
{{ formatDateTime(scope.row.CreateTime) }}
diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqCardTransferLog/LqCardTransferLogCrInput.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqCardTransferLog/LqCardTransferLogCrInput.cs
new file mode 100644
index 0000000..5674379
--- /dev/null
+++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqCardTransferLog/LqCardTransferLogCrInput.cs
@@ -0,0 +1,59 @@
+using System;
+using System.ComponentModel.DataAnnotations;
+
+namespace NCC.Extend.Entitys.Dto.LqCardTransferLog
+{
+ ///
+ /// 转卡日志创建输入参数
+ ///
+ public class LqCardTransferLogCrInput
+ {
+ ///
+ /// 退卡ID
+ ///
+ [Required(ErrorMessage = "退卡ID不能为空")]
+ public string refundCardId { get; set; }
+
+ ///
+ /// 开卡ID
+ ///
+ [Required(ErrorMessage = "开卡ID不能为空")]
+ public string billingCardId { get; set; }
+
+ ///
+ /// 转卡人会员ID
+ ///
+ [Required(ErrorMessage = "转卡人会员ID不能为空")]
+ public string transferFromMemberId { get; set; }
+
+ ///
+ /// 被转卡人会员ID
+ ///
+ [Required(ErrorMessage = "被转卡人会员ID不能为空")]
+ public string transferToMemberId { get; set; }
+
+ ///
+ /// 转卡总金额
+ ///
+ [Required(ErrorMessage = "转卡总金额不能为空")]
+ [Range(0.01, double.MaxValue, ErrorMessage = "转卡总金额必须大于0")]
+ public decimal transferAmount { get; set; }
+
+ ///
+ /// 转卡时间
+ ///
+ [Required(ErrorMessage = "转卡时间不能为空")]
+ public DateTime transferTime { get; set; }
+
+ ///
+ /// 操作人ID
+ ///
+ [Required(ErrorMessage = "操作人ID不能为空")]
+ public string operatorId { get; set; }
+
+ ///
+ /// 备注信息
+ ///
+ public string remarks { get; set; }
+ }
+}
diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqCardTransferLog/LqCardTransferLogInfoOutput.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqCardTransferLog/LqCardTransferLogInfoOutput.cs
new file mode 100644
index 0000000..dc79b88
--- /dev/null
+++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqCardTransferLog/LqCardTransferLogInfoOutput.cs
@@ -0,0 +1,80 @@
+using System;
+
+namespace NCC.Extend.Entitys.Dto.LqCardTransferLog
+{
+ ///
+ /// 转卡日志详情输出参数
+ ///
+ public class LqCardTransferLogInfoOutput
+ {
+ ///
+ /// 主键ID
+ ///
+ public string id { get; set; }
+
+ ///
+ /// 退卡ID
+ ///
+ public string refundCardId { get; set; }
+
+ ///
+ /// 开卡ID
+ ///
+ public string billingCardId { get; set; }
+
+ ///
+ /// 转卡人会员ID
+ ///
+ public string transferFromMemberId { get; set; }
+
+ ///
+ /// 转卡人姓名
+ ///
+ public string transferFromMemberName { get; set; }
+
+ ///
+ /// 被转卡人会员ID
+ ///
+ public string transferToMemberId { get; set; }
+
+ ///
+ /// 被转卡人姓名
+ ///
+ public string transferToMemberName { get; set; }
+
+ ///
+ /// 转卡总金额
+ ///
+ public decimal transferAmount { get; set; }
+
+ ///
+ /// 转卡时间
+ ///
+ public DateTime transferTime { get; set; }
+
+ ///
+ /// 操作人ID
+ ///
+ public string operatorId { get; set; }
+
+ ///
+ /// 备注信息
+ ///
+ public string remarks { get; set; }
+
+ ///
+ /// 创建时间
+ ///
+ public DateTime? createTime { get; set; }
+
+ ///
+ /// 更新时间
+ ///
+ public DateTime? updateTime { get; set; }
+
+ ///
+ /// 是否有效
+ ///
+ public int isEffective { get; set; }
+ }
+}
diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqCardTransferLog/LqCardTransferLogListOutput.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqCardTransferLog/LqCardTransferLogListOutput.cs
new file mode 100644
index 0000000..008c6bb
--- /dev/null
+++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqCardTransferLog/LqCardTransferLogListOutput.cs
@@ -0,0 +1,80 @@
+using System;
+
+namespace NCC.Extend.Entitys.Dto.LqCardTransferLog
+{
+ ///
+ /// 转卡日志列表输出参数
+ ///
+ public class LqCardTransferLogListOutput
+ {
+ ///
+ /// 主键ID
+ ///
+ public string id { get; set; }
+
+ ///
+ /// 退卡ID
+ ///
+ public string refundCardId { get; set; }
+
+ ///
+ /// 开卡ID
+ ///
+ public string billingCardId { get; set; }
+
+ ///
+ /// 转卡人会员ID
+ ///
+ public string transferFromMemberId { get; set; }
+
+ ///
+ /// 转卡人姓名
+ ///
+ public string transferFromMemberName { get; set; }
+
+ ///
+ /// 被转卡人会员ID
+ ///
+ public string transferToMemberId { get; set; }
+
+ ///
+ /// 被转卡人姓名
+ ///
+ public string transferToMemberName { get; set; }
+
+ ///
+ /// 转卡总金额
+ ///
+ public decimal transferAmount { get; set; }
+
+ ///
+ /// 转卡时间
+ ///
+ public DateTime transferTime { get; set; }
+
+ ///
+ /// 操作人ID
+ ///
+ public string operatorId { get; set; }
+
+ ///
+ /// 备注信息
+ ///
+ public string remarks { get; set; }
+
+ ///
+ /// 创建时间
+ ///
+ public DateTime? createTime { get; set; }
+
+ ///
+ /// 更新时间
+ ///
+ public DateTime? updateTime { get; set; }
+
+ ///
+ /// 是否有效
+ ///
+ public int isEffective { get; set; }
+ }
+}
diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqCardTransferLog/LqCardTransferLogListQueryInput.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqCardTransferLog/LqCardTransferLogListQueryInput.cs
new file mode 100644
index 0000000..4b68fb1
--- /dev/null
+++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqCardTransferLog/LqCardTransferLogListQueryInput.cs
@@ -0,0 +1,51 @@
+using System;
+using NCC.Common.Filter;
+
+namespace NCC.Extend.Entitys.Dto.LqCardTransferLog
+{
+ ///
+ /// 转卡日志列表查询输入参数
+ ///
+ public class LqCardTransferLogListQueryInput : PageInputBase
+ {
+ ///
+ /// 转卡人会员ID
+ ///
+ public string transferFromMemberId { get; set; }
+
+ ///
+ /// 被转卡人会员ID
+ ///
+ public string transferToMemberId { get; set; }
+
+ ///
+ /// 操作人ID
+ ///
+ public string operatorId { get; set; }
+
+ ///
+ /// 是否有效(1:有效 0:无效)
+ ///
+ public int isEffective { get; set; } = 1;
+
+ ///
+ /// 转卡开始时间
+ ///
+ public DateTime? transferStartTime { get; set; }
+
+ ///
+ /// 转卡结束时间
+ ///
+ public DateTime? transferEndTime { get; set; }
+
+ ///
+ /// 最小转卡金额
+ ///
+ public decimal? minTransferAmount { get; set; }
+
+ ///
+ /// 最大转卡金额
+ ///
+ public decimal? maxTransferAmount { get; set; }
+ }
+}
diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqDepartmentConsumePerformanceStatisticsListOutput.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqDepartmentConsumePerformanceStatisticsListOutput.cs
index b849401..97a2da0 100644
--- a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqDepartmentConsumePerformanceStatisticsListOutput.cs
+++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqDepartmentConsumePerformanceStatisticsListOutput.cs
@@ -62,12 +62,23 @@ namespace NCC.Extend.Entitys.Dto.LqStatistics
///
public decimal HeadCount { get; set; }
+
///
/// 人次(日度去重到店数)
///
public decimal PersonCount { get; set; }
///
+ /// 退款业绩
+ ///
+ public decimal RefundAmount { get; set; }
+
+ ///
+ /// 退款次数
+ ///
+ public int RefundCount { get; set; }
+
+ ///
/// 创建时间
///
public DateTime CreateTime { get; set; }
diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqStoreTotalPerformanceStatisticsListOutput.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqStoreTotalPerformanceStatisticsListOutput.cs
index 826a7d9..85ffc47 100644
--- a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqStoreTotalPerformanceStatisticsListOutput.cs
+++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqStoreTotalPerformanceStatisticsListOutput.cs
@@ -63,6 +63,16 @@ namespace NCC.Extend.Entitys.Dto.LqStatistics
public int UpgradeOrderCount { get; set; }
///
+ /// 退款业绩
+ ///
+ public decimal RefundAmount { get; set; }
+
+ ///
+ /// 退款次数
+ ///
+ public int RefundCount { get; set; }
+
+ ///
/// 创建时间
///
public DateTime CreateTime { get; set; }
diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatisticsStoreTotalPerformance/LqStatisticsStoreTotalPerformanceInfoOutput.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatisticsStoreTotalPerformance/LqStatisticsStoreTotalPerformanceInfoOutput.cs
index 7e48a59..5372f11 100644
--- a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatisticsStoreTotalPerformance/LqStatisticsStoreTotalPerformanceInfoOutput.cs
+++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatisticsStoreTotalPerformance/LqStatisticsStoreTotalPerformanceInfoOutput.cs
@@ -63,6 +63,26 @@ namespace NCC.Extend.Entitys.Dto.LqStatisticsStoreTotalPerformance
public int upgradeOrderCount { get; set; }
///
+ /// 首单业绩
+ ///
+ public decimal firstOrderPerformance { get; set; }
+
+ ///
+ /// 升单业绩
+ ///
+ public decimal upgradeOrderPerformance { get; set; }
+
+ ///
+ /// 退款业绩
+ ///
+ public decimal refundAmount { get; set; }
+
+ ///
+ /// 退款次数
+ ///
+ public int refundCount { get; set; }
+
+ ///
/// 创建时间
///
public DateTime? createTime { get; set; }
diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatisticsStoreTotalPerformance/LqStatisticsStoreTotalPerformanceListOutput.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatisticsStoreTotalPerformance/LqStatisticsStoreTotalPerformanceListOutput.cs
index 7bb2aac..ae48dcb 100644
--- a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatisticsStoreTotalPerformance/LqStatisticsStoreTotalPerformanceListOutput.cs
+++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatisticsStoreTotalPerformance/LqStatisticsStoreTotalPerformanceListOutput.cs
@@ -73,6 +73,16 @@ namespace NCC.Extend.Entitys.Dto.LqStatisticsStoreTotalPerformance
public decimal upgradeOrderPerformance { get; set; }
///
+ /// 退款业绩
+ ///
+ public decimal refundAmount { get; set; }
+
+ ///
+ /// 退款次数
+ ///
+ public int refundCount { get; set; }
+
+ ///
/// 创建时间
///
public DateTime? createTime { get; set; }
diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_card_transfer_log/LqCardTransferLogEntity.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_card_transfer_log/LqCardTransferLogEntity.cs
new file mode 100644
index 0000000..d2515d8
--- /dev/null
+++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_card_transfer_log/LqCardTransferLogEntity.cs
@@ -0,0 +1,87 @@
+using System;
+using NCC.Common.Const;
+using SqlSugar;
+
+namespace NCC.Extend.Entitys.lq_card_transfer_log
+{
+ ///
+ /// 转卡日志
+ ///
+ [SugarTable("lq_card_transfer_log")]
+ [Tenant(ClaimConst.TENANT_ID)]
+ public class LqCardTransferLogEntity
+ {
+ ///
+ /// 主键ID
+ ///
+ [SugarColumn(ColumnName = "F_Id", IsPrimaryKey = true)]
+ public string Id { get; set; }
+
+ ///
+ /// 退卡ID
+ ///
+ [SugarColumn(ColumnName = "F_RefundCardId")]
+ public string RefundCardId { get; set; }
+
+ ///
+ /// 开卡ID
+ ///
+ [SugarColumn(ColumnName = "F_BillingCardId")]
+ public string BillingCardId { get; set; }
+
+ ///
+ /// 转卡人会员ID
+ ///
+ [SugarColumn(ColumnName = "F_TransferFromMemberId")]
+ public string TransferFromMemberId { get; set; }
+
+ ///
+ /// 被转卡人会员ID
+ ///
+ [SugarColumn(ColumnName = "F_TransferToMemberId")]
+ public string TransferToMemberId { get; set; }
+
+ ///
+ /// 转卡总金额
+ ///
+ [SugarColumn(ColumnName = "F_TransferAmount")]
+ public decimal TransferAmount { get; set; }
+
+ ///
+ /// 转卡时间
+ ///
+ [SugarColumn(ColumnName = "F_TransferTime")]
+ public DateTime TransferTime { get; set; }
+
+ ///
+ /// 操作人ID
+ ///
+ [SugarColumn(ColumnName = "F_OperatorId")]
+ public string OperatorId { get; set; }
+
+
+ ///
+ /// 备注信息
+ ///
+ [SugarColumn(ColumnName = "F_Remarks")]
+ public string Remarks { get; set; }
+
+ ///
+ /// 创建时间
+ ///
+ [SugarColumn(ColumnName = "F_CreateTime")]
+ public DateTime? CreateTime { get; set; }
+
+ ///
+ /// 更新时间
+ ///
+ [SugarColumn(ColumnName = "F_UpdateTime")]
+ public DateTime? UpdateTime { get; set; }
+
+ ///
+ /// 是否有效
+ ///
+ [SugarColumn(ColumnName = "F_IsEffective")]
+ public int IsEffective { get; set; }
+ }
+}
diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_statistics_store_total_performance/LqStatisticsStoreTotalPerformanceEntity.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_statistics_store_total_performance/LqStatisticsStoreTotalPerformanceEntity.cs
index a29d054..2508ed3 100644
--- a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_statistics_store_total_performance/LqStatisticsStoreTotalPerformanceEntity.cs
+++ b/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
public decimal UpgradeOrderPerformance { get; set; }
///
+ /// 退款业绩
+ ///
+ [SugarColumn(ColumnName = "F_RefundAmount")]
+ public decimal RefundAmount { get; set; }
+
+ ///
+ /// 退款次数
+ ///
+ [SugarColumn(ColumnName = "F_RefundCount")]
+ public int RefundCount { get; set; }
+
+ ///
/// 创建时间
///
[SugarColumn(ColumnName = "F_CreateTime")]
diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Interfaces/ILqCardTransferLogService.cs b/netcore/src/Modularity/Extend/NCC.Extend.Interfaces/ILqCardTransferLogService.cs
new file mode 100644
index 0000000..20a802b
--- /dev/null
+++ b/netcore/src/Modularity/Extend/NCC.Extend.Interfaces/ILqCardTransferLogService.cs
@@ -0,0 +1,12 @@
+using NCC.Extend.Entitys.Dto.LqCardTransferLog;
+
+namespace NCC.Extend.Interfaces
+{
+ ///
+ /// 转卡日志服务接口
+ ///
+ public interface ILqCardTransferLogService
+ {
+ // 接口方法将在Service实现中定义
+ }
+}
diff --git a/netcore/src/Modularity/Extend/NCC.Extend/LqCardTransferLogService.cs b/netcore/src/Modularity/Extend/NCC.Extend/LqCardTransferLogService.cs
new file mode 100644
index 0000000..ac0f8d4
--- /dev/null
+++ b/netcore/src/Modularity/Extend/NCC.Extend/LqCardTransferLogService.cs
@@ -0,0 +1,131 @@
+using System;
+using System.Linq;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.Extensions.Logging;
+using NCC.Common.Core.Manager;
+using NCC.Common.Filter;
+using NCC.Dependency;
+using NCC.DynamicApiController;
+using NCC.Extend.Entitys.Dto.LqCardTransferLog;
+using NCC.Extend.Entitys.lq_card_transfer_log;
+using NCC.Extend.Interfaces;
+using NCC.FriendlyException;
+using SqlSugar;
+
+namespace NCC.Extend.LqCardTransferLog
+{
+ ///
+ /// 转卡日志服务
+ ///
+ [ApiDescriptionSettings(Tag = "绿纤转卡日志服务", Name = "LqCardTransferLog", Order = 100)]
+ [Route("api/Extend/[controller]")]
+ public class LqCardTransferLogService : IDynamicApiController, ILqCardTransferLogService, ITransient
+ {
+ private readonly ISqlSugarClient _db;
+ private readonly IUserManager _userManager;
+ private readonly ILogger _logger;
+
+ public LqCardTransferLogService(ISqlSugarClient db, IUserManager userManager, ILogger logger)
+ {
+ _db = db;
+ _userManager = userManager;
+ _logger = logger;
+ }
+
+ #region 添加转卡日志
+ ///
+ /// 添加转卡日志
+ ///
+ /// 转卡日志创建输入参数
+ /// 创建结果
+ [HttpPost("add")]
+ public async Task AddTransferLog([FromBody] LqCardTransferLogCrInput input)
+ {
+ try
+ {
+ if (input == null)
+ {
+ throw NCCException.Oh("输入参数不能为空");
+ }
+
+ var entity = new LqCardTransferLogEntity
+ {
+ Id = Guid.NewGuid().ToString(),
+ RefundCardId = input.refundCardId,
+ BillingCardId = input.billingCardId,
+ TransferFromMemberId = input.transferFromMemberId,
+ TransferToMemberId = input.transferToMemberId,
+ TransferAmount = input.transferAmount,
+ TransferTime = input.transferTime,
+ OperatorId = input.operatorId,
+ Remarks = input.remarks ?? "",
+ CreateTime = DateTime.Now,
+ IsEffective = 1
+ };
+
+ var result = await _db.Insertable(entity).ExecuteCommandAsync();
+
+ return new
+ {
+ Success = true,
+ Message = "转卡日志创建成功",
+ Data = new { Id = entity.Id }
+ };
+ }
+ catch (Exception ex)
+ {
+ throw NCCException.Oh($"创建转卡日志失败: {ex.Message}");
+ }
+ }
+ #endregion
+
+ #region 获取转卡日志列表
+ ///
+ /// 获取转卡日志列表
+ ///
+ /// 查询输入参数
+ /// 转卡日志列表
+ [HttpGet("")]
+ public async Task GetList([FromQuery] LqCardTransferLogListQueryInput input)
+ {
+ try
+ {
+ var result = await _db.Queryable()
+ .WhereIF(input.isEffective != 0, x => x.IsEffective == input.isEffective)
+ .WhereIF(!string.IsNullOrEmpty(input.transferFromMemberId), x => x.TransferFromMemberId == input.transferFromMemberId)
+ .WhereIF(!string.IsNullOrEmpty(input.transferToMemberId), x => x.TransferToMemberId == input.transferToMemberId)
+ .WhereIF(!string.IsNullOrEmpty(input.operatorId), x => x.OperatorId == input.operatorId)
+ .WhereIF(input.transferStartTime.HasValue, x => x.TransferTime >= input.transferStartTime.Value)
+ .WhereIF(input.transferEndTime.HasValue, x => x.TransferTime <= input.transferEndTime.Value)
+ .WhereIF(input.minTransferAmount.HasValue, x => x.TransferAmount >= input.minTransferAmount.Value)
+ .WhereIF(input.maxTransferAmount.HasValue, x => x.TransferAmount <= input.maxTransferAmount.Value)
+ .WhereIF(!string.IsNullOrEmpty(input.keyword), x => x.Remarks.Contains(input.keyword))
+ .Select(x => new LqCardTransferLogListOutput
+ {
+ id = x.Id,
+ refundCardId = x.RefundCardId,
+ billingCardId = x.BillingCardId,
+ transferFromMemberId = x.TransferFromMemberId,
+ transferToMemberId = x.TransferToMemberId,
+ transferAmount = x.TransferAmount,
+ transferTime = x.TransferTime,
+ operatorId = x.OperatorId,
+ remarks = x.Remarks,
+ createTime = x.CreateTime,
+ updateTime = x.UpdateTime,
+ isEffective = x.IsEffective
+ })
+ .OrderBy(x => x.transferTime, OrderByType.Desc)
+ .ToPagedListAsync(input.currentPage, input.pageSize);
+
+ return PageResult.SqlSugarPageResult(result);
+ }
+ catch (Exception ex)
+ {
+ throw NCCException.Oh($"获取转卡日志列表失败: {ex.Message}");
+ }
+ }
+ #endregion
+ }
+}
diff --git a/netcore/src/Modularity/Extend/NCC.Extend/LqKdKdjlbService.cs b/netcore/src/Modularity/Extend/NCC.Extend/LqKdKdjlbService.cs
index 7f99c04..869a939 100644
--- a/netcore/src/Modularity/Extend/NCC.Extend/LqKdKdjlbService.cs
+++ b/netcore/src/Modularity/Extend/NCC.Extend/LqKdKdjlbService.cs
@@ -44,6 +44,7 @@ using SqlSugar;
using Yitter.IdGenerator;
using NCC.Extend.Entitys.lq_package_info;
using NCC.Extend.Entitys.lq_mdxx;
+using NCC.Extend.Entitys.lq_card_transfer_log;
namespace NCC.Extend.LqKdKdjlb
{
@@ -2614,6 +2615,23 @@ namespace NCC.Extend.LqKdKdjlb
});
}
}
+ //记录转卡日志
+ var transferLogEntity = new LqCardTransferLogEntity
+ {
+ Id = YitIdHelper.NextId().ToString(),
+ RefundCardId = refundId,
+ BillingCardId = billingId,
+ TransferFromMemberId = input.FromMemberId,
+ TransferToMemberId = input.ToMemberId,
+ TransferAmount = input.TransferItems.Sum(x => x.ItemPrice * x.TransferQuantity),
+ TransferTime = transferTime,
+ OperatorId = userInfo.userId,
+ Remarks = input.Remarks,
+ CreateTime = DateTime.Now,
+ IsEffective = StatusEnum.有效.GetHashCode()
+
+ };
+ await _db.Insertable(transferLogEntity).ExecuteCommandAsync();
await _db.Insertable(billingPxmxEntities).ExecuteCommandAsync();
if (billingJksyjEntities.Any())
diff --git a/netcore/src/Modularity/Extend/NCC.Extend/LqStatisticsService.cs b/netcore/src/Modularity/Extend/NCC.Extend/LqStatisticsService.cs
index 26e3daf..92e2070 100644
--- a/netcore/src/Modularity/Extend/NCC.Extend/LqStatisticsService.cs
+++ b/netcore/src/Modularity/Extend/NCC.Extend/LqStatisticsService.cs
@@ -2472,7 +2472,7 @@ namespace NCC.Extend.LqStatistics
/// 保存门店总业绩统计数据
///
///
- /// 统计门店的总业绩、欠款金额、总单业绩、储扣总金额、品项数量、首开单数量、升单数量
+ /// 统计门店的总业绩、欠款金额、总单业绩、储扣总金额、品项数量、首开单数量、升单数量、退款业绩、退款次数
///
/// 示例请求:
/// ```json
@@ -2483,6 +2483,17 @@ namespace NCC.Extend.LqStatistics
///
/// 参数说明:
/// - statisticsMonth: 统计月份,格式为YYYYMM
+ ///
+ /// 统计指标:
+ /// - 总业绩: 开单记录的总业绩金额
+ /// - 欠款金额: 开单记录的欠款总额
+ /// - 总单业绩: 开单记录的实付业绩
+ /// - 储扣总金额: 储扣记录的金额总和
+ /// - 品项数量: 开单品项的总数量
+ /// - 首开单数量: 首次开单的数量
+ /// - 升单数量: 升单的数量
+ /// - 退款业绩: 退款记录的总金额
+ /// - 退款次数: 退款记录的总次数
///
/// 统计输入参数
/// 保存结果
@@ -2515,7 +2526,9 @@ namespace NCC.Extend.LqStatistics
store_data.F_FirstOrderCount,
store_data.F_UpgradeOrderCount,
store_data.F_FirstOrderPerformance,
- store_data.F_UpgradeOrderPerformance
+ store_data.F_UpgradeOrderPerformance,
+ COALESCE(refund_data.F_RefundAmount, 0) as F_RefundAmount,
+ COALESCE(refund_data.F_RefundCount, 0) as F_RefundCount
FROM (
SELECT
kd.djmd as F_StoreId,
@@ -2544,7 +2557,17 @@ namespace NCC.Extend.LqStatistics
WHERE kd.F_IsEffective = 1
AND DATE_FORMAT(kd.kdrq, '%Y%m') = @statisticsMonth
GROUP BY kd.djmd
- ) item_data ON store_data.F_StoreId = item_data.F_StoreId";
+ ) item_data ON store_data.F_StoreId = item_data.F_StoreId
+ LEFT JOIN (
+ SELECT
+ hytk.md as F_StoreId,
+ COALESCE(SUM(hytk.tkje), 0) as F_RefundAmount,
+ COUNT(DISTINCT hytk.F_Id) as F_RefundCount
+ FROM lq_hytk_hytk hytk
+ WHERE hytk.F_IsEffective = 1
+ AND DATE_FORMAT(hytk.tksj, '%Y%m') = @statisticsMonth
+ GROUP BY hytk.md
+ ) refund_data ON store_data.F_StoreId = refund_data.F_StoreId";
var storePerformanceData = await _db.Ado.SqlQueryAsync(storePerformanceSql, new { statisticsMonth });
@@ -2563,6 +2586,8 @@ namespace NCC.Extend.LqStatistics
UpgradeOrderCount = Convert.ToInt32(data.F_UpgradeOrderCount ?? 0),
FirstOrderPerformance = Convert.ToDecimal(data.F_FirstOrderPerformance ?? 0),
UpgradeOrderPerformance = Convert.ToDecimal(data.F_UpgradeOrderPerformance ?? 0),
+ RefundAmount = Convert.ToDecimal(data.F_RefundAmount ?? 0),
+ RefundCount = Convert.ToInt32(data.F_RefundCount ?? 0),
CreateTime = DateTime.Now
}).ToList();
@@ -3302,6 +3327,8 @@ namespace NCC.Extend.LqStatistics
ItemQuantity = it.ItemQuantity,
FirstOrderCount = it.FirstOrderCount,
UpgradeOrderCount = it.UpgradeOrderCount,
+ RefundAmount = it.RefundAmount,
+ RefundCount = it.RefundCount,
CreateTime = it.CreateTime.HasValue ? it.CreateTime.Value : DateTime.Now
}).ToList();
--
libgit2 0.21.4