Commit 6d2c0ba9 authored by liudong1993's avatar liudong1993

活动提成

parent c450e290
......@@ -19,5 +19,15 @@ namespace Mall.Model.Extend.Education
/// 订单ids
/// </summary>
public string OrderIds { get; set; }
/// <summary>
/// 电商用户ids
/// </summary>
public string DSUserIds { get; set; }
/// <summary>
/// 是否已参加过活动 1是
/// </summary>
public bool IsJoin { get; set; }
}
}
This diff is collapsed.
......@@ -50,11 +50,28 @@ namespace Mall.Repository.Education
{
where += $@" and r.{nameof(RB_Activity_PeriodsDetail_ViewModel.OrderId)} in({demodel.OrderIds})";
}
if (!string.IsNullOrEmpty(demodel.DSUserIds))
{
where += $@" and r.{nameof(RB_Activity_PeriodsDetail_ViewModel.DSUserId)} in({demodel.DSUserIds})";
}
string sql = $@" select r.* from RB_Activity_PeriodsDetail r where {where} order by r.Id asc";
return Get<RB_Activity_PeriodsDetail_ViewModel>(sql).ToList();
}
/// <summary>
/// 获取活动累计发放提成
/// </summary>
/// <param name="activityId"></param>
/// <param name="groupId"></param>
/// <returns></returns>
public decimal GetActivityCommission(int activityId, int groupId)
{
string sql = $@"SELECT SUM(CommissionMoney) AS CommissionMoney FROM rb_activity_periodsdetail WHERE ActivityId ={activityId} and Group_Id ={groupId}";
var obj = ExecuteScalar(sql);
return obj == null ? 0 : Convert.ToInt32(obj);
}
}
}
......@@ -671,7 +671,7 @@ WHERE 1=1
{
string sql = $@"SELECT c.*,a.ActivityName,a.StartTime,a.EndTime FROM rb_education_consult c
INNER JOIN rb_education_activity a on c.ActivityId = a.Id
WHERE c.`Status`=0 and a.`Status`=0 and c.MallBaseId ={mallBaseId} and a.EndTime <='{month} 23:59:59' and c.OrderStatus =1 and c.UserId >0
WHERE c.`Status`=0 and a.`Status`=0 and c.MallBaseId ={mallBaseId} and a.StartTime <='{month} 23:59:59' and a.EndTime <='{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}' and c.OrderStatus =1 and c.UserId >0 and c.EduUserId >0
and c.IsRollCall =2 and c.IsCommission <>2 and (c.Income + c.PlatformTax - c.RefundPrice) =c.Money";
return Get<RB_Education_Consult_Extend>(sql).ToList();
......
......@@ -21,6 +21,7 @@ using Mall.Model.Extend.Finance;
using Mall.Common.Enum.Finance;
using Mall.Common;
using Mall.Common.Enum.Education;
using Microsoft.AspNetCore.Authorization;
namespace Mall.WebApi.Controllers.Education
{
......@@ -2344,6 +2345,8 @@ namespace Mall.WebApi.Controllers.Education
x.CoverImg,
x.Income,
x.RefundPrice,
x.IsCommission,
x.CommissionPrice,
PlatformTax = x.PlatformTax,//(x.PaymentWay == OrderPaymentTypeEnum.OnlinePayment ? ((x.Status == 0 && x.OrderStatus == 1) ? (Math.Round((Convert.ToDecimal(Config.SettlementRate) / 100) * (Convert.ToDecimal(x.Money)), 2, MidpointRounding.AwayFromZero)) : 0) : x.PlatformTax),
DueInMoney = x.Money - x.Income - x.PlatformTax - x.RefundPrice,
PaymentWay = x.PaymentWay.HasValue ? (int)x.PaymentWay : 0,
......@@ -2422,6 +2425,8 @@ namespace Mall.WebApi.Controllers.Education
x.OrderStatus,
x.EduSellName,
x.EduUserId,
x.IsCommission,
x.CommissionPrice,
PaymentTime = x.PaymentTime.HasValue ? x.PaymentTime.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
CreateTime = x.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"),
x.OrderNo,
......@@ -2964,12 +2969,15 @@ namespace Mall.WebApi.Controllers.Education
OtherPayActual = (financeList != null && financeList.Any()) ? financeList.Where(x => x.Type == WFTempLateClassEnum.OUT && x.ReFinanceId2 <= 0).Sum(x => x.PayMoney ?? 0) : 0;
//活动提成
decimal ActivityCommission = activityModule.GetActivityCommission(activityId: Id, groupId: 100000);
//利润
decimal ProfitActual = 0;//实际利润
decimal ProfitNow = 0;//当前利润
ProfitActual = (IncomeActual + OtherIncomeActual) - PayReceive - OtherPayReceive;
ProfitNow = (IncomeActual + OtherIncomeActual) - PayActual - OtherPayActual;
ProfitActual = (IncomeActual + OtherIncomeActual) - PayReceive - OtherPayReceive - ActivityCommission;
ProfitNow = (IncomeActual + OtherIncomeActual) - PayActual - OtherPayActual - ActivityCommission;
//提成
//decimal SaleCommission = (orderList != null && orderList.Any()) ? orderList.Where(x => x.IsCommissionGive == 1).Sum(x => x.CommissionMoney) : 0; ;//销售提成
......@@ -3026,6 +3034,7 @@ namespace Mall.WebApi.Controllers.Education
PayActual,
ProfitActual,
ProfitNow,
ActivityCommission,
FiniceReciveList = recultFiniceList.Where(t => t.Type == WFTempLateClassEnum.IN && t.ReFinanceId2 > 0),//活动报名收入
FinicePayList = recultFiniceList.Where(t => t.Type == WFTempLateClassEnum.OUT && t.ReFinanceId2 > 0),//活动报名支出
OtherFiniceReciveList = recultFiniceList.Where(t => t.Type == WFTempLateClassEnum.IN && t.ReFinanceId2 <= 0),//其他收入
......@@ -3613,15 +3622,22 @@ namespace Mall.WebApi.Controllers.Education
/// </summary>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public ApiResult SetActivityCommissionInfo()
{
var userInfo = base.UserInfo;
userInfo.MallBaseId = RequestParm.MallBaseId;
JObject parms = JObject.Parse(RequestParm.msg.ToString());
string Month = parms.GetStringValue("Month");//月份
int CreateBy = parms.GetInt("CreateBy", 0);//创建人
if (string.IsNullOrEmpty(Month))
{
return ApiResult.ParamIsNull();
}
if (CreateBy <= 0)
{
return ApiResult.ParamIsNull("请传递创建人");
}
try
{
Month = Convert.ToDateTime(Month + "-01").ToString("yyyy-MM");
......@@ -3631,7 +3647,7 @@ namespace Mall.WebApi.Controllers.Education
return ApiResult.Failed("日期格式有误");
}
string msg = activityModule.SetActivityCommissionInfo(Month, userInfo);
string msg = activityModule.SetActivityCommissionInfo(Month, CreateBy, userInfo);
if (msg == "")
{
return ApiResult.Success();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment