Commit af4e004f authored by liudong1993's avatar liudong1993

自动现结调整

parent 957cbf4d
...@@ -8227,172 +8227,217 @@ namespace Mall.Module.Product ...@@ -8227,172 +8227,217 @@ namespace Mall.Module.Product
var ssmodel = ssList.FirstOrDefault(); var ssmodel = ssList.FirstOrDefault();
//获取微店信息 //获取微店信息
var smallModel = smallShops_InfoRepository.GetList(new RB_SmallShops_Info_Extend() { UserId = ssmodel.UserId, TenantId = tenantId, MallBaseId = mallBaseId }).FirstOrDefault(); var smallModel = smallShops_InfoRepository.GetList(new RB_SmallShops_Info_Extend() { UserId = ssmodel.UserId, TenantId = tenantId, MallBaseId = mallBaseId }).FirstOrDefault();
//总佣金 if (smallModel != null && smallModel.AuditStatus == DistributorAuditStatusEnum.Audited)
decimal TotalCommission = 0; {
foreach (var item in ssList.Where(x => x.CommissionState == 1)) { //总佣金
if (smallModel != null && smallModel.AuditStatus == DistributorAuditStatusEnum.Audited) { decimal TotalCommission = 0, OldCommission = 0;
foreach (var item in ssList.Where(x => x.CommissionState == 1))
{
TotalCommission += (item.Commission ?? 0); TotalCommission += (item.Commission ?? 0);
} }
} #region 看微店佣金是否是负数 是的话 需要走总佣金里减去
if (TotalCommission > 0) { if ((smallModel.Commission ?? 0) < 0)
decimal RemitMoney = TotalCommission, fee = 0;
var feeValue = ssbaseModel?.WithdrawalFree ?? 0;
if (feeValue > 0) {
fee = Math.Round(TotalCommission * (feeValue) / 100, 2, MidpointRounding.AwayFromZero);
RemitMoney = TotalCommission - fee;
}
var minModel = miniProgramRepository.GetEntity(mallBaseId);
var umodel = member_UserRepository.GetEntity(ssmodel.UserId);
//打款
Random R = new Random();
int Rstr = R.Next(111, 999);
string OrderNum = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Rstr;
int IsNormalServer = Convert.ToInt32(new ConfigurationBuilder().Add(new JsonConfigurationSource { Path = "appsettings.json" }).Build().GetSection("IsNormalServer").Value);
var flagpay = false;
if (IsNormalServer == 1)
{ {
flagpay = Common.Pay.PayUtilWeiXin.GetTransfersOrder(OrderNum, RemitMoney, (ssmodel.UserId ?? 0).ToString(), umodel.OpenId, minModel.WeChatPayCertificateUrl, minModel.WeChatApiSecret, minModel.MiniAppId, _accessor); OldCommission = TotalCommission;
TotalCommission += (smallModel?.Commission ?? 0);
} }
if (flagpay) #endregion
if (TotalCommission > 0)
{ {
//更新状态 decimal RemitMoney = TotalCommission, fee = 0;
foreach (var item in ssList.Where(x => x.CommissionState == 1)) var feeValue = ssbaseModel?.WithdrawalFree ?? 0;
if (feeValue > 0)
{ {
if (smallModel != null && smallModel.AuditStatus == DistributorAuditStatusEnum.Audited) fee = Math.Round(TotalCommission * (feeValue) / 100, 2, MidpointRounding.AwayFromZero);
RemitMoney = TotalCommission - fee;
}
var minModel = miniProgramRepository.GetEntity(mallBaseId);
var umodel = member_UserRepository.GetEntity(ssmodel.UserId);
//打款
Random R = new Random();
int Rstr = R.Next(111, 999);
string OrderNum = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Rstr;
int IsNormalServer = Convert.ToInt32(new ConfigurationBuilder().Add(new JsonConfigurationSource { Path = "appsettings.json" }).Build().GetSection("IsNormalServer").Value);
var flagpay = false;
if (IsNormalServer == 1)
{
flagpay = Common.Pay.PayUtilWeiXin.GetTransfersOrder(OrderNum, RemitMoney, (ssmodel.UserId ?? 0).ToString(), umodel.OpenId, minModel.WeChatPayCertificateUrl, minModel.WeChatApiSecret, minModel.MiniAppId, _accessor);
}
if (flagpay)
{
//更新状态
foreach (var item in ssList.Where(x => x.CommissionState == 1))
{ {
//更新返佣状态 if (smallModel != null && smallModel.AuditStatus == DistributorAuditStatusEnum.Audited)
Dictionary<string, object> keyValues1 = new Dictionary<string, object>() { {
//更新返佣状态
Dictionary<string, object> keyValues1 = new Dictionary<string, object>() {
{ nameof(RB_SmallShops_Commission_Extend.CommissionState),2}, { nameof(RB_SmallShops_Commission_Extend.CommissionState),2},
{ nameof(RB_SmallShops_Commission_Extend.IsRemit),1}, { nameof(RB_SmallShops_Commission_Extend.IsRemit),1},
{ nameof(RB_SmallShops_Commission_Extend.UpdateDate),DateTime.Now}, { nameof(RB_SmallShops_Commission_Extend.UpdateDate),DateTime.Now},
}; };
List<WhereHelper> wheres1 = new List<WhereHelper>() { List<WhereHelper> wheres1 = new List<WhereHelper>() {
new WhereHelper(){ new WhereHelper(){
FiledName=nameof(RB_SmallShops_Commission_Extend.Id), FiledName=nameof(RB_SmallShops_Commission_Extend.Id),
FiledValue=item.Id, FiledValue=item.Id,
OperatorEnum=OperatorEnum.Equal OperatorEnum=OperatorEnum.Equal
} }
}; };
smallShops_CommissionRepository.Update(keyValues1, wheres1); smallShops_CommissionRepository.Update(keyValues1, wheres1);
}
} }
//写入已提现数据
distributor_RemitRepository.Insert(new Model.Entity.User.RB_Distributor_Remit()
{
Id = 0,
AccountName = "",
AccountNumber = "",
AppliedMoney = TotalCommission,
AuditDate = DateTime.Now,
AuditRemark = "",
AuditStatus = DistributorRemitAuditStatusEnum.HaveMoney,
BankName = "",
CreateDate = DateTime.Now,
Fee = fee,
FinanceId = 0,
MallBaseId = mallBaseId,
OrderNum = OrderNum,
RejectDate = null,
RejectRemark = "",
RemitDate = DateTime.Now,
RemitMoney = RemitMoney,
RemitRemark = "自动结算打款",
ReOrderIds = (orderModel.OrderId).ToString(),
ReOrderNos = orderModel.OrderNo,
ReVipIds = "",
TenantId = tenantId,
UserId = ssmodel.UserId,
WithdrawalWay = DistrbutorWithdrawWayEnum.ZDXJ
});
} }
//写入已提现数据 else
distributor_RemitRepository.Insert(new Model.Entity.User.RB_Distributor_Remit()
{
Id = 0,
AccountName = "",
AccountNumber = "",
AppliedMoney = TotalCommission,
AuditDate = DateTime.Now,
AuditRemark = "",
AuditStatus = DistributorRemitAuditStatusEnum.HaveMoney,
BankName = "",
CreateDate = DateTime.Now,
Fee = fee,
FinanceId = 0,
MallBaseId = mallBaseId,
OrderNum = OrderNum,
RejectDate = null,
RejectRemark = "",
RemitDate = DateTime.Now,
RemitMoney = RemitMoney,
RemitRemark = "自动结算打款",
ReOrderIds = (orderModel.OrderId).ToString(),
ReOrderNos = orderModel.OrderNo,
ReVipIds = "",
TenantId = tenantId,
UserId = ssmodel.UserId,
WithdrawalWay = DistrbutorWithdrawWayEnum.ZDXJ
});
}
else {
//更新状态
foreach (var item in ssList.Where(x => x.CommissionState == 1))
{ {
if (smallModel != null && smallModel.AuditStatus == DistributorAuditStatusEnum.Audited) //更新状态
foreach (var item in ssList.Where(x => x.CommissionState == 1))
{ {
//更新返佣状态 if (smallModel != null && smallModel.AuditStatus == DistributorAuditStatusEnum.Audited)
Dictionary<string, object> keyValues1 = new Dictionary<string, object>() { {
//更新返佣状态
Dictionary<string, object> keyValues1 = new Dictionary<string, object>() {
{ nameof(RB_SmallShops_Commission_Extend.CommissionState),2}, { nameof(RB_SmallShops_Commission_Extend.CommissionState),2},
{ nameof(RB_SmallShops_Commission_Extend.IsRemit),1}, { nameof(RB_SmallShops_Commission_Extend.IsRemit),1},
{ nameof(RB_SmallShops_Commission_Extend.UpdateDate),DateTime.Now}, { nameof(RB_SmallShops_Commission_Extend.UpdateDate),DateTime.Now},
}; };
List<WhereHelper> wheres1 = new List<WhereHelper>() { List<WhereHelper> wheres1 = new List<WhereHelper>() {
new WhereHelper(){ new WhereHelper(){
FiledName=nameof(RB_SmallShops_Commission_Extend.Id), FiledName=nameof(RB_SmallShops_Commission_Extend.Id),
FiledValue=item.Id, FiledValue=item.Id,
OperatorEnum=OperatorEnum.Equal OperatorEnum=OperatorEnum.Equal
} }
}; };
smallShops_CommissionRepository.Update(keyValues1, wheres1); smallShops_CommissionRepository.Update(keyValues1, wheres1);
}
} }
//写入已提现数据
distributor_RemitRepository.Insert(new Model.Entity.User.RB_Distributor_Remit()
{
Id = 0,
AccountName = "",
AccountNumber = "",
AppliedMoney = TotalCommission,
AuditDate = DateTime.Now,
AuditRemark = "自动结算失败,请手动打款",
AuditStatus = DistributorRemitAuditStatusEnum.ToPlayWith,
BankName = "",
CreateDate = DateTime.Now,
Fee = fee,
FinanceId = 0,
MallBaseId = mallBaseId,
OrderNum = OrderNum,
RejectDate = null,
RejectRemark = "",
RemitDate = DateTime.Now,
RemitMoney = RemitMoney,
RemitRemark = "",
ReOrderIds = (orderModel.OrderId).ToString(),
ReOrderNos = orderModel.OrderNo,
ReVipIds = "",
TenantId = tenantId,
UserId = ssmodel.UserId,
WithdrawalWay = DistrbutorWithdrawWayEnum.ZDDK
});
} }
//写入已提现数据 if ((smallModel.Commission ?? 0) < 0)
distributor_RemitRepository.Insert(new Model.Entity.User.RB_Distributor_Remit()
{ {
Id = 0, //更新微店佣金等于0
AccountName = "", Dictionary<string, object> keyValues2 = new Dictionary<string, object>() {
AccountNumber = "", { nameof(RB_SmallShops_Info_Extend.TotalCommission),(smallModel.TotalCommission??0) + OldCommission},
AppliedMoney = TotalCommission, { nameof(RB_SmallShops_Info_Extend.Commission),0},
AuditDate = DateTime.Now, };
AuditRemark = "自动结算失败,请手动打款", List<WhereHelper> wheres2 = new List<WhereHelper>() {
AuditStatus = DistributorRemitAuditStatusEnum.ToPlayWith, new WhereHelper(){
BankName = "", FiledName=nameof(RB_SmallShops_Info_Extend.Id),
CreateDate = DateTime.Now, FiledValue=smallModel.Id,
Fee = fee, OperatorEnum=OperatorEnum.Equal
FinanceId = 0, }
MallBaseId = mallBaseId, };
OrderNum = OrderNum, bool flag1 = smallShops_InfoRepository.Update(keyValues2, wheres2);
RejectDate = null, }
RejectRemark = "", }
RemitDate = DateTime.Now, else if (TotalCommission < 0)
RemitMoney = RemitMoney, {
RemitRemark = "", //存在微店佣金里 继续负数累加
ReOrderIds = (orderModel.OrderId).ToString(), Dictionary<string, object> keyValues2 = new Dictionary<string, object>() {
ReOrderNos = orderModel.OrderNo, { nameof(RB_SmallShops_Info_Extend.TotalCommission),(smallModel.TotalCommission??0) + OldCommission},
ReVipIds = "", { nameof(RB_SmallShops_Info_Extend.Commission),TotalCommission},
TenantId = tenantId, };
UserId = ssmodel.UserId, List<WhereHelper> wheres2 = new List<WhereHelper>() {
WithdrawalWay = DistrbutorWithdrawWayEnum.ZDDK new WhereHelper(){
}); FiledName=nameof(RB_SmallShops_Info_Extend.Id),
FiledValue=smallModel.Id,
OperatorEnum=OperatorEnum.Equal
}
};
bool flag1 = smallShops_InfoRepository.Update(keyValues2, wheres2);
} }
} }
} }
else else
{ {
var ssmodel = ssList.FirstOrDefault();
//获取微店信息
var smallModel = smallShops_InfoRepository.GetList(new RB_SmallShops_Info_Extend() { UserId = ssmodel.UserId, TenantId = tenantId, MallBaseId = mallBaseId }).FirstOrDefault();
foreach (var item in ssList.Where(x => x.CommissionState == 1)) foreach (var item in ssList.Where(x => x.CommissionState == 1))
{ {
//获取微店信息
var smallModel = smallShops_InfoRepository.GetList(new RB_SmallShops_Info_Extend() { UserId = item.UserId, TenantId = tenantId, MallBaseId = mallBaseId }).FirstOrDefault();
if (smallModel != null && smallModel.AuditStatus == DistributorAuditStatusEnum.Audited) if (smallModel != null && smallModel.AuditStatus == DistributorAuditStatusEnum.Audited)
{ {
//更新分销商佣金 //更新微店佣金
Dictionary<string, object> keyValues2 = new Dictionary<string, object>() { Dictionary<string, object> keyValues2 = new Dictionary<string, object>() {
{ nameof(RB_SmallShops_Info_Extend.TotalCommission),(smallModel.TotalCommission??0)+(item.Commission??0)}, { nameof(RB_SmallShops_Info_Extend.TotalCommission),(smallModel.TotalCommission??0)+(item.Commission??0)},
{ nameof(RB_SmallShops_Info_Extend.Commission),(smallModel.Commission??0)+(item.Commission??0)}, { nameof(RB_SmallShops_Info_Extend.Commission),(smallModel.Commission??0)+(item.Commission??0)},
}; };
List<WhereHelper> wheres2 = new List<WhereHelper>() { List<WhereHelper> wheres2 = new List<WhereHelper>() {
new WhereHelper(){ new WhereHelper(){
FiledName=nameof(RB_SmallShops_Info_Extend.Id), FiledName=nameof(RB_SmallShops_Info_Extend.Id),
FiledValue=smallModel.Id, FiledValue=smallModel.Id,
OperatorEnum=OperatorEnum.Equal OperatorEnum=OperatorEnum.Equal
} }
}; };
bool flag1 = smallShops_InfoRepository.Update(keyValues2, wheres2); bool flag1 = smallShops_InfoRepository.Update(keyValues2, wheres2);
if (flag1) if (flag1)
{ {
//更新返佣状态 //更新返佣状态
Dictionary<string, object> keyValues1 = new Dictionary<string, object>() { Dictionary<string, object> keyValues1 = new Dictionary<string, object>() {
{ nameof(RB_SmallShops_Commission_Extend.CommissionState),2}, { nameof(RB_SmallShops_Commission_Extend.CommissionState),2},
{ nameof(RB_SmallShops_Commission_Extend.UpdateDate),DateTime.Now}, { nameof(RB_SmallShops_Commission_Extend.UpdateDate),DateTime.Now},
}; };
List<WhereHelper> wheres1 = new List<WhereHelper>() { List<WhereHelper> wheres1 = new List<WhereHelper>() {
new WhereHelper(){ new WhereHelper(){
FiledName=nameof(RB_SmallShops_Commission_Extend.Id), FiledName=nameof(RB_SmallShops_Commission_Extend.Id),
FiledValue=item.Id, FiledValue=item.Id,
OperatorEnum=OperatorEnum.Equal OperatorEnum=OperatorEnum.Equal
} }
}; };
smallShops_CommissionRepository.Update(keyValues1, wheres1); smallShops_CommissionRepository.Update(keyValues1, wheres1);
} }
} }
......
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