Commit af4e004f authored by liudong1993's avatar liudong1993

自动现结调整

parent 957cbf4d
......@@ -8227,172 +8227,217 @@ namespace Mall.Module.Product
var ssmodel = ssList.FirstOrDefault();
//获取微店信息
var smallModel = smallShops_InfoRepository.GetList(new RB_SmallShops_Info_Extend() { UserId = ssmodel.UserId, TenantId = tenantId, MallBaseId = mallBaseId }).FirstOrDefault();
//总佣金
decimal TotalCommission = 0;
foreach (var item in ssList.Where(x => x.CommissionState == 1)) {
if (smallModel != null && smallModel.AuditStatus == DistributorAuditStatusEnum.Audited) {
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);
}
}
if (TotalCommission > 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)
#region 看微店佣金是否是负数 是的话 需要走总佣金里减去
if ((smallModel.Commission ?? 0) < 0)
{
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)
{
//更新状态
foreach (var item in ssList.Where(x => x.CommissionState == 1))
decimal RemitMoney = TotalCommission, fee = 0;
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))
{
//更新返佣状态
Dictionary<string, object> keyValues1 = new Dictionary<string, object>() {
if (smallModel != null && smallModel.AuditStatus == DistributorAuditStatusEnum.Audited)
{
//更新返佣状态
Dictionary<string, object> keyValues1 = new Dictionary<string, object>() {
{ nameof(RB_SmallShops_Commission_Extend.CommissionState),2},
{ nameof(RB_SmallShops_Commission_Extend.IsRemit),1},
{ nameof(RB_SmallShops_Commission_Extend.UpdateDate),DateTime.Now},
};
List<WhereHelper> wheres1 = new List<WhereHelper>() {
List<WhereHelper> wheres1 = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_SmallShops_Commission_Extend.Id),
FiledValue=item.Id,
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
});
}
//写入已提现数据
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))
else
{
if (smallModel != null && smallModel.AuditStatus == DistributorAuditStatusEnum.Audited)
//更新状态
foreach (var item in ssList.Where(x => x.CommissionState == 1))
{
//更新返佣状态
Dictionary<string, object> keyValues1 = new Dictionary<string, object>() {
if (smallModel != null && smallModel.AuditStatus == DistributorAuditStatusEnum.Audited)
{
//更新返佣状态
Dictionary<string, object> keyValues1 = new Dictionary<string, object>() {
{ nameof(RB_SmallShops_Commission_Extend.CommissionState),2},
{ nameof(RB_SmallShops_Commission_Extend.IsRemit),1},
{ nameof(RB_SmallShops_Commission_Extend.UpdateDate),DateTime.Now},
};
List<WhereHelper> wheres1 = new List<WhereHelper>() {
List<WhereHelper> wheres1 = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_SmallShops_Commission_Extend.Id),
FiledValue=item.Id,
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
});
}
//写入已提现数据
distributor_RemitRepository.Insert(new Model.Entity.User.RB_Distributor_Remit()
if ((smallModel.Commission ?? 0) < 0)
{
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
});
//更新微店佣金等于0
Dictionary<string, object> keyValues2 = new Dictionary<string, object>() {
{ nameof(RB_SmallShops_Info_Extend.TotalCommission),(smallModel.TotalCommission??0) + OldCommission},
{ nameof(RB_SmallShops_Info_Extend.Commission),0},
};
List<WhereHelper> wheres2 = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_SmallShops_Info_Extend.Id),
FiledValue=smallModel.Id,
OperatorEnum=OperatorEnum.Equal
}
};
bool flag1 = smallShops_InfoRepository.Update(keyValues2, wheres2);
}
}
else if (TotalCommission < 0)
{
//存在微店佣金里 继续负数累加
Dictionary<string, object> keyValues2 = new Dictionary<string, object>() {
{ nameof(RB_SmallShops_Info_Extend.TotalCommission),(smallModel.TotalCommission??0) + OldCommission},
{ nameof(RB_SmallShops_Info_Extend.Commission),TotalCommission},
};
List<WhereHelper> wheres2 = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_SmallShops_Info_Extend.Id),
FiledValue=smallModel.Id,
OperatorEnum=OperatorEnum.Equal
}
};
bool flag1 = smallShops_InfoRepository.Update(keyValues2, wheres2);
}
}
}
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))
{
//获取微店信息
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)
{
//更新分销商佣金
//更新微店佣金
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.Commission),(smallModel.Commission??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)},
};
List<WhereHelper> wheres2 = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_SmallShops_Info_Extend.Id),
FiledValue=smallModel.Id,
OperatorEnum=OperatorEnum.Equal
}
};
new WhereHelper(){
FiledName=nameof(RB_SmallShops_Info_Extend.Id),
FiledValue=smallModel.Id,
OperatorEnum=OperatorEnum.Equal
}
};
bool flag1 = smallShops_InfoRepository.Update(keyValues2, wheres2);
if (flag1)
{
//更新返佣状态
Dictionary<string, object> keyValues1 = new Dictionary<string, object>() {
{ nameof(RB_SmallShops_Commission_Extend.CommissionState),2},
{ nameof(RB_SmallShops_Commission_Extend.UpdateDate),DateTime.Now},
};
{ nameof(RB_SmallShops_Commission_Extend.CommissionState),2},
{ nameof(RB_SmallShops_Commission_Extend.UpdateDate),DateTime.Now},
};
List<WhereHelper> wheres1 = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_SmallShops_Commission_Extend.Id),
FiledValue=item.Id,
OperatorEnum=OperatorEnum.Equal
}
};
new WhereHelper(){
FiledName=nameof(RB_SmallShops_Commission_Extend.Id),
FiledValue=item.Id,
OperatorEnum=OperatorEnum.Equal
}
};
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