Commit e56f5c07 authored by 吴春's avatar 吴春
parents cd212be8 6aeff272
...@@ -167,5 +167,9 @@ namespace Mall.Model.Entity.User ...@@ -167,5 +167,9 @@ namespace Mall.Model.Entity.User
/// 提现关联订单id /// 提现关联订单id
/// </summary> /// </summary>
public string ReOrderIds { get; set; } public string ReOrderIds { get; set; }
/// <summary>
/// 关联的订单号描述
/// </summary>
public string ReOrderNos { get; set; }
} }
} }
...@@ -1975,6 +1975,71 @@ namespace Mall.Module.User ...@@ -1975,6 +1975,71 @@ namespace Mall.Module.User
bool flag = distributor_RemitRepository.Update(keyValues, wheres); bool flag = distributor_RemitRepository.Update(keyValues, wheres);
if (flag && uid == "1") if (flag && uid == "1")
{ {
#region 写入提现订单
var remitModel = distributor_RemitRepository.GetEntity(remitId);
if (remitModel.TenantId == 1 && string.IsNullOrEmpty(remitModel.ReOrderIds))
{
//所有未提现的 返佣
var clist = goods_OrderCommissionRepository.GetUserCommissionRemit(remitModel.UserId ?? 0);
//获取订单列表
string OrderIds = string.Join(",", clist.Select(x => x.OrderId).Distinct());
var olist = goods_OrderRepository.GetOrderList(new RB_Goods_Order_Extend() { OrderIds = OrderIds });
olist = olist.OrderByDescending(x => x.CreateDate).ToList();
List<int> OrderIdList = new List<int>();
string OrderNos = "";
decimal TMoney = (remitModel.AppliedMoney ?? 0);
//开始递减金额 订单不足的 给与提示
foreach (var item in olist)
{
if (TMoney > 0)
{
OrderNos += "\"" + item.OrderNo + "\",";
OrderIdList.Add(item.OrderId);
var chlist = clist.Where(x => x.OrderId == item.OrderId).ToList();
foreach (var qitem in chlist)
{
TMoney -= (qitem.Commission ?? 0);
Dictionary<string, object> keyValues2 = new Dictionary<string, object>() {
{ nameof(RB_Goods_OrderCommission_Extend.IsRemit),1}
};
List<WhereHelper> wheres2 = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Goods_OrderCommission_Extend.Id),
FiledValue=qitem.Id,
OperatorEnum=OperatorEnum.Equal
}
};
goods_OrderCommissionRepository.Update(keyValues2, wheres2);
}
}
}
if (!string.IsNullOrEmpty(OrderNos))
{
OrderNos = OrderNos[0..^1];
}
if (TMoney > 0)
{
OrderNos += " 余额" + TMoney + "尚未找到相关订单";
}
if (!string.IsNullOrEmpty(OrderNos))
{
Dictionary<string, object> keyValues1 = new Dictionary<string, object>() {
{ nameof(RB_Distributor_Remit_Extend.ReOrderNos),OrderNos},
{ nameof(RB_Distributor_Remit_Extend.ReOrderIds),JsonConvert.SerializeObject(OrderIdList)},
};
List<WhereHelper> wheres1 = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Distributor_Remit_Extend.Id),
FiledValue=remitId,
OperatorEnum=OperatorEnum.Equal
}
};
distributor_RemitRepository.Update(keyValues1, wheres1);
}
}
#endregion
//提现审核通过 自动生成财务单据 //提现审核通过 自动生成财务单据
OrderIncomeFinanceModule(remitId, Convert.ToInt32(uid), mallBaseId, remark); OrderIncomeFinanceModule(remitId, Convert.ToInt32(uid), mallBaseId, remark);
} }
...@@ -2028,6 +2093,35 @@ namespace Mall.Module.User ...@@ -2028,6 +2093,35 @@ namespace Mall.Module.User
} }
}; };
distributor_InfoRepository.Update(keyValues1, wheres1); distributor_InfoRepository.Update(keyValues1, wheres1);
#region 回滚佣金已提现字段
try
{
if (!string.IsNullOrEmpty(remodel.ReOrderNos) && !string.IsNullOrEmpty(remodel.ReOrderIds))
{
List<int> OrderIdList = JsonConvert.DeserializeObject<List<int>>(remodel.ReOrderIds);
if (OrderIdList.Any()) {
var oclist = goods_OrderCommissionRepository.GetUserCommissionRemitedList(remodel.UserId ?? 0, string.Join(",", OrderIdList));
foreach (var qitem in oclist) {
Dictionary<string, object> keyValues2 = new Dictionary<string, object>() {
{ nameof(RB_Goods_OrderCommission_Extend.IsRemit),0}
};
List<WhereHelper> wheres2 = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Goods_OrderCommission_Extend.Id),
FiledValue=qitem.Id,
OperatorEnum=OperatorEnum.Equal
}
};
goods_OrderCommissionRepository.Update(keyValues2, wheres2);
}
}
}
}
catch (Exception)
{
}
#endregion
} }
} }
...@@ -2079,7 +2173,7 @@ namespace Mall.Module.User ...@@ -2079,7 +2173,7 @@ namespace Mall.Module.User
Number = 1, Number = 1,
OriginalMoney = Money, OriginalMoney = Money,
UnitPrice = Money, UnitPrice = Money,
Remark = "提现单号:"+(remitModel?.OrderNum??"暂无")+" " + dstr Remark = "订单号:"+(remitModel?.ReOrderNos ?? "暂无")+" " + dstr
} }
}; };
item.IsPublic = 5;//默认平台虚拟账户 item.IsPublic = 5;//默认平台虚拟账户
...@@ -3055,6 +3149,13 @@ namespace Mall.Module.User ...@@ -3055,6 +3149,13 @@ namespace Mall.Module.User
return "提现方式不正确"; return "提现方式不正确";
} }
if (basicsModel.IsWithdrawAll == 1)
{
if ((disModel.CommissionWithdrawal ?? 0) != (demodel.AppliedMoney ?? 0))
{
return "提现必须全额提现";
}
}
if (basicsModel.DailyWithdrawalLimit != -1) if (basicsModel.DailyWithdrawalLimit != -1)
{ {
//获取当日所有用户提现金额 //获取当日所有用户提现金额
...@@ -3089,7 +3190,8 @@ namespace Mall.Module.User ...@@ -3089,7 +3190,8 @@ namespace Mall.Module.User
var trans = distributor_RemitRepository.DbTransaction; var trans = distributor_RemitRepository.DbTransaction;
try try
{ {
bool flag = distributor_RemitRepository.Insert(demodel, trans) > 0; int RemitId = distributor_RemitRepository.Insert(demodel, trans);
bool flag = RemitId > 0;
if (flag) if (flag)
{ {
//扣除账户可提佣金 //扣除账户可提佣金
...@@ -3104,6 +3206,66 @@ namespace Mall.Module.User ...@@ -3104,6 +3206,66 @@ namespace Mall.Module.User
} }
}; };
distributor_InfoRepository.Update(keyValues, wheres, trans); distributor_InfoRepository.Update(keyValues, wheres, trans);
#region 写入提现订单
if (demodel.TenantId == 1) {
//所有未提现的 返佣
var clist = goods_OrderCommissionRepository.GetUserCommissionRemit(demodel.UserId ?? 0);
//获取订单列表
string OrderIds = string.Join(",", clist.Select(x => x.OrderId).Distinct());
var olist = goods_OrderRepository.GetOrderList(new RB_Goods_Order_Extend() { OrderIds = OrderIds });
olist = olist.OrderByDescending(x => x.CreateDate).ToList();
List<int> OrderIdList = new List<int>();
string OrderNos = "";
decimal TMoney = (demodel.AppliedMoney ?? 0);
//开始递减金额 订单不足的 给与提示
foreach (var item in olist) {
if (TMoney > 0)
{
OrderNos += "\"" + item.OrderNo + "\",";
OrderIdList.Add(item.OrderId);
var chlist = clist.Where(x => x.OrderId == item.OrderId).ToList();
foreach (var qitem in chlist)
{
TMoney -= (qitem.Commission ?? 0);
Dictionary<string, object> keyValues2 = new Dictionary<string, object>() {
{ nameof(RB_Goods_OrderCommission_Extend.IsRemit),1}
};
List<WhereHelper> wheres2 = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Goods_OrderCommission_Extend.Id),
FiledValue=qitem.Id,
OperatorEnum=OperatorEnum.Equal
}
};
goods_OrderCommissionRepository.Update(keyValues2, wheres2, trans);
}
}
}
if (!string.IsNullOrEmpty(OrderNos)) {
OrderNos = OrderNos[0..^1];
}
if (TMoney > 0) {
OrderNos += " 余额" + TMoney + "尚未找到相关订单";
}
if (!string.IsNullOrEmpty(OrderNos)) {
Dictionary<string, object> keyValues1 = new Dictionary<string, object>() {
{ nameof(RB_Distributor_Remit_Extend.ReOrderNos),OrderNos},
{ nameof(RB_Distributor_Remit_Extend.ReOrderIds),JsonConvert.SerializeObject(OrderIdList)},
};
List<WhereHelper> wheres1 = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Distributor_Remit_Extend.Id),
FiledValue=RemitId,
OperatorEnum=OperatorEnum.Equal
}
};
distributor_RemitRepository.Update(keyValues1, wheres1, trans);
}
}
#endregion
} }
distributor_RemitRepository.DBSession.Commit(); distributor_RemitRepository.DBSession.Commit();
return ""; return "";
......
...@@ -258,5 +258,17 @@ left join rb_goods_orderaftersale oa on oc.OrderDetailId= oa.OrderDetialId and o ...@@ -258,5 +258,17 @@ left join rb_goods_orderaftersale oa on oc.OrderDetailId= oa.OrderDetialId and o
string sql = $@"SELECT * FROM rb_goods_ordercommission oc WHERE oc.CommissionState=2 and oc.UserId={UserId} and oc.IsRemit <> 1"; string sql = $@"SELECT * FROM rb_goods_ordercommission oc WHERE oc.CommissionState=2 and oc.UserId={UserId} and oc.IsRemit <> 1";
return Get<RB_Goods_OrderCommission_Extend>(sql).ToList(); return Get<RB_Goods_OrderCommission_Extend>(sql).ToList();
} }
/// <summary>
/// 获取已标记提现的佣金列表
/// </summary>
/// <param name="UserId"></param>
/// <param name="OrderIds"></param>
/// <returns></returns>
public List<RB_Goods_OrderCommission_Extend> GetUserCommissionRemitedList(int UserId,string OrderIds)
{
string sql = $@"SELECT * FROM rb_goods_ordercommission oc WHERE oc.CommissionState=2 and oc.UserId={UserId} and oc.OrderId in ({OrderIds}) and oc.IsRemit = 1";
return Get<RB_Goods_OrderCommission_Extend>(sql).ToList();
}
} }
} }
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