Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mall.oytour.com
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄奎
mall.oytour.com
Commits
ce6f0a86
Commit
ce6f0a86
authored
Aug 24, 2020
by
liudong1993
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
微店
parent
6201185b
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
625 additions
and
51 deletions
+625
-51
RB_Goods_Order_Extend.cs
Mall.Model/Extend/Product/RB_Goods_Order_Extend.cs
+4
-0
OrderModule.cs
Mall.Module.Product/OrderModule.cs
+7
-1
RB_Goods_OrderRepository.cs
Mall.Repository/Product/RB_Goods_OrderRepository.cs
+3
-0
OrderController.cs
Mall.WebApi/Controllers/Product/OrderController.cs
+1
-0
FinanceModule.cs
Mall.WindowsService/Module/FinanceModule.cs
+610
-50
No files found.
Mall.Model/Extend/Product/RB_Goods_Order_Extend.cs
View file @
ce6f0a86
...
...
@@ -47,6 +47,10 @@ namespace Mall.Model.Extend.Product
/// </summary>
public
int
?
IsNotSelectCancel
{
get
;
set
;
}
/// <summary>
/// 是否查询已付款的 1是 2否
/// </summary>
public
int
?
IsSelectPayMoney
{
get
;
set
;
}
/// <summary>
/// 商品id
/// </summary>
public
int
?
GoodsId
{
get
;
set
;
}
...
...
Mall.Module.Product/OrderModule.cs
View file @
ce6f0a86
...
...
@@ -2846,7 +2846,13 @@ namespace Mall.Module.Product
{
return
ApiResult
.
Failed
(
"有商品不存在或者商品已失效"
);
}
if
(
gmodel
.
PresentFXGrade
>
0
)
{
//是赠送VIP商品
if
(
demodel
.
DetailList
.
Count
()
>
1
)
{
//多商品
return
ApiResult
.
Failed
(
"VIP商品不能与其他商品同时下单,请先购买VIP商品"
);
}
}
var
categoryList
=
clist
.
Where
(
x
=>
x
.
GoodsId
==
item
.
GoodsId
).
ToList
();
if
((
mallbaseModel
?.
IsFreeShipping
??
0
)
==
1
&&
(
gmodel
.
FullMoneyPinkage
??
0
)
==
0
&&
(
gmodel
.
FullNumPinkage
??
0
)
==
0
)
{
...
...
Mall.Repository/Product/RB_Goods_OrderRepository.cs
View file @
ce6f0a86
...
...
@@ -121,6 +121,9 @@ namespace Mall.Repository.Product
{
where
+=
$@" and o.
{
nameof
(
RB_Goods_Order
.
SmallShopsId
)}
=
{
dmodel
.
SmallShopsId
}
"
;
}
if
(
dmodel
.
IsSelectPayMoney
==
1
)
{
where
+=
$@" and o.
{
nameof
(
RB_Goods_Order
.
PaymentTime
)}
<> null"
;
}
string
sql
=
$@"SELECT o.*,u.Name as UserName,sshop.`Name` as SmallShopsName FROM rb_goods_order o
INNER JOIN rb_goods_orderdetail od on o.OrderId=od.OrderId
...
...
Mall.WebApi/Controllers/Product/OrderController.cs
View file @
ce6f0a86
...
...
@@ -73,6 +73,7 @@ namespace Mall.WebApi.Controllers.MallBase
Consignee
=
newParms
.
GetStringValue
(
"Consignee"
),
Recycled
=
newParms
.
GetInt
(
"Recycled"
),
AnchorName
=
newParms
.
GetStringValue
(
"AnchorName"
),
IsSelectPayMoney
=
newParms
.
GetInt
(
"IsSelectPayMoney"
,
0
)
};
demodel
.
TenantId
=
parms
.
TenantId
;
...
...
Mall.WindowsService/Module/FinanceModule.cs
View file @
ce6f0a86
...
...
@@ -4,6 +4,7 @@ using Mall.Common;
using
Mall.Common.Enum.Goods
;
using
Mall.Common.Enum.User
;
using
Mall.Common.Plugin
;
using
Mall.Model.Entity.BaseSetUp
;
using
Mall.Model.Entity.Finance
;
using
Mall.Model.Entity.Product
;
using
Mall.Model.Entity.User
;
...
...
@@ -17,6 +18,8 @@ using Mall.Repository.Finance;
using
Mall.Repository.Product
;
using
Mall.Repository.User
;
using
Mall.WindowsService.Helper
;
using
Microsoft.Extensions.Configuration
;
using
Microsoft.Extensions.Configuration.Json
;
using
Newtonsoft.Json.Linq
;
using
System
;
using
System.Collections.Generic
;
...
...
@@ -116,7 +119,18 @@ namespace Mall.WindowsService.Module
/// 微店佣金
/// </summary>
private
static
RB_SmallShops_CommissionRepository
smallShops_CommissionRepository
=
new
RB_SmallShops_CommissionRepository
();
/// <summary>
/// 微店基础
/// </summary>
private
static
RB_MicroShop_BasicsRepository
microShop_BasicsRepository
=
new
RB_MicroShop_BasicsRepository
();
/// <summary>
/// 小程序
/// </summary>
private
static
RB_MiniProgramRepository
miniProgramRepository
=
new
RB_MiniProgramRepository
();
/// <summary>
/// 微店提现
/// </summary>
private
static
RB_SmallShops_RemitRepository
smallShops_RemitRepository
=
new
RB_SmallShops_RemitRepository
();
/// <summary>
/// vip购买仓储层
/// </summary>
...
...
@@ -657,6 +671,12 @@ and DATE_FORMAT(b.PaymentTime,'%y-%m-%d')<DATE_FORMAT('{endDate}','%y-%m-%d') A
}
}
public
static
bool
TestOrderPay
()
{
var
omodel
=
goods_OrderRepository
.
GetEntity
<
RB_Goods_Order_Extend
>(
82013
);
Console
.
WriteLine
(
"进来了1"
);
return
SetOrderOperation
(
omodel
,
6
,
""
,
0
,
""
,
1
,
1
,
0
);
}
/// <summary>
/// 设置订单操作
...
...
@@ -835,15 +855,194 @@ and DATE_FORMAT(b.PaymentTime,'%y-%m-%d')<DATE_FORMAT('{endDate}','%y-%m-%d') A
}
}
}
//更新微店返佣
var
ssList
=
smallShops_CommissionRepository
.
GetList
(
new
RB_SmallShops_Commission_Extend
()
{
TenantId
=
tenantId
,
MallBaseId
=
mallBaseId
,
OrderId
=
orderModel
.
OrderId
});
if
(
ssList
.
Where
(
x
=>
x
.
CommissionState
==
1
).
Any
())
{
//验证是否是自动结算
var
ssbaseModel
=
microShop_BasicsRepository
.
GetMicroShopBasicsList
(
new
RB_MicroShop_Basics
()
{
TenantId
=
tenantId
,
MallBaseId
=
mallBaseId
}).
FirstOrDefault
();
if
((
","
+
(
ssbaseModel
?.
SettlementType
??
""
)
+
","
).
Contains
(
","
+
((
int
)
DistrbutorWithdrawWayEnum
.
ZDXJ
).
ToString
()
+
","
))
{
var
ssmodel
=
ssList
.
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
,
OldCommission
=
0
;
foreach
(
var
item
in
ssList
.
Where
(
x
=>
x
.
CommissionState
==
1
))
{
TotalCommission
+=
(
item
.
Commission
??
0
);
}
#
region
看微店佣金是否是负数
是的话
需要走总佣金里减去
OldCommission
=
TotalCommission
;
if
((
smallModel
.
Commission
??
0
)
<
0
)
{
TotalCommission
+=
(
smallModel
?.
Commission
??
0
);
}
#
endregion
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
<
RB_MiniProgram_Extend
>(
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
=
PayUtil
.
GetTransfersOrder
(
OrderNum
,
RemitMoney
,
(
ssmodel
.
UserId
??
0
).
ToString
(),
umodel
.
OpenId
,
minModel
,
"赞羊微店佣金打款"
);
}
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
>()
{
{
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
>()
{
new
WhereHelper
(){
FiledName
=
nameof
(
RB_SmallShops_Commission_Extend
.
Id
),
FiledValue
=
item
.
Id
,
OperatorEnum
=
OperatorEnum
.
Equal
}
};
smallShops_CommissionRepository
.
Update
(
keyValues1
,
wheres1
);
}
}
//写入已提现数据
smallShops_RemitRepository
.
Insert
(
new
RB_SmallShops_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
+
"\":"
+
RemitMoney
+
"元"
,
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
)
{
//更新返佣状态
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
>()
{
new
WhereHelper
(){
FiledName
=
nameof
(
RB_SmallShops_Commission_Extend
.
Id
),
FiledValue
=
item
.
Id
,
OperatorEnum
=
OperatorEnum
.
Equal
}
};
smallShops_CommissionRepository
.
Update
(
keyValues1
,
wheres1
);
}
}
//写入已提现数据
smallShops_RemitRepository
.
Insert
(
new
RB_SmallShops_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
+
"\":"
+
RemitMoney
+
"元"
,
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
),
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
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
=
item
.
UserId
,
TenantId
=
tenantId
,
MallBaseId
=
mallBaseId
}).
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
))
{
if
(
smallModel
!=
null
&&
smallModel
.
AuditStatus
==
DistributorAuditStatusEnum
.
Audited
)
{
//更新分销商佣金
...
...
@@ -879,6 +1078,7 @@ and DATE_FORMAT(b.PaymentTime,'%y-%m-%d')<DATE_FORMAT('{endDate}','%y-%m-%d') A
}
}
}
}
//积分赠送
var
dlist
=
goods_OrderDetailRepository
.
GetOrderDetailList
(
new
RB_Goods_OrderDetail_Extend
()
{
OrderId
=
orderModel
.
OrderId
,
TenantId
=
tenantId
,
MallBaseId
=
mallBaseId
});
if
(
dlist
.
Any
())
...
...
@@ -1251,6 +1451,185 @@ and DATE_FORMAT(b.PaymentTime,'%y-%m-%d')<DATE_FORMAT('{endDate}','%y-%m-%d') A
//更新微店返佣
var
ssList
=
smallShops_CommissionRepository
.
GetList
(
new
RB_SmallShops_Commission_Extend
()
{
TenantId
=
item
.
TenantId
,
MallBaseId
=
item
.
MallBaseId
,
OrderId
=
Order
.
OrderId
});
if
(
ssList
.
Where
(
x
=>
x
.
CommissionState
==
1
).
Any
())
{
//验证是否是自动结算
var
ssbaseModel
=
microShop_BasicsRepository
.
GetMicroShopBasicsList
(
new
RB_MicroShop_Basics
()
{
TenantId
=
item
.
TenantId
,
MallBaseId
=
item
.
MallBaseId
}).
FirstOrDefault
();
if
((
","
+
(
ssbaseModel
?.
SettlementType
??
""
)
+
","
).
Contains
(
","
+
((
int
)
DistrbutorWithdrawWayEnum
.
ZDXJ
).
ToString
()
+
","
))
{
var
ssmodel
=
ssList
.
FirstOrDefault
();
//获取微店信息
var
smallModel
=
smallShops_InfoRepository
.
GetList
(
new
RB_SmallShops_Info_Extend
()
{
UserId
=
ssmodel
.
UserId
,
TenantId
=
item
.
TenantId
,
MallBaseId
=
item
.
MallBaseId
}).
FirstOrDefault
();
if
(
smallModel
!=
null
&&
smallModel
.
AuditStatus
==
DistributorAuditStatusEnum
.
Audited
)
{
//总佣金
decimal
TotalCommission
=
0
,
OldCommission
=
0
;
foreach
(
var
qcitem
in
ssList
.
Where
(
x
=>
x
.
CommissionState
==
1
))
{
TotalCommission
+=
(
qcitem
.
Commission
??
0
);
}
#
region
看微店佣金是否是负数
是的话
需要走总佣金里减去
OldCommission
=
TotalCommission
;
if
((
smallModel
.
Commission
??
0
)
<
0
)
{
TotalCommission
+=
(
smallModel
?.
Commission
??
0
);
}
#
endregion
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
<
RB_MiniProgram_Extend
>(
item
.
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
=
PayUtil
.
GetTransfersOrder
(
OrderNum
,
RemitMoney
,
(
ssmodel
.
UserId
??
0
).
ToString
(),
umodel
.
OpenId
,
minModel
,
"赞羊微店佣金打款"
);
}
if
(
flagpay
)
{
//更新状态
foreach
(
var
qcitem
in
ssList
.
Where
(
x
=>
x
.
CommissionState
==
1
))
{
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
>()
{
new
WhereHelper
(){
FiledName
=
nameof
(
RB_SmallShops_Commission_Extend
.
Id
),
FiledValue
=
qcitem
.
Id
,
OperatorEnum
=
OperatorEnum
.
Equal
}
};
smallShops_CommissionRepository
.
Update
(
keyValues1
,
wheres1
);
}
}
//写入已提现数据
smallShops_RemitRepository
.
Insert
(
new
RB_SmallShops_Remit
()
{
Id
=
0
,
AccountName
=
""
,
AccountNumber
=
""
,
AppliedMoney
=
TotalCommission
,
AuditDate
=
DateTime
.
Now
,
AuditRemark
=
""
,
AuditStatus
=
DistributorRemitAuditStatusEnum
.
HaveMoney
,
BankName
=
""
,
CreateDate
=
DateTime
.
Now
,
Fee
=
fee
,
FinanceId
=
0
,
MallBaseId
=
item
.
MallBaseId
,
OrderNum
=
OrderNum
,
RejectDate
=
null
,
RejectRemark
=
""
,
RemitDate
=
DateTime
.
Now
,
RemitMoney
=
RemitMoney
,
RemitRemark
=
"自动结算打款"
,
ReOrderIds
=
"["
+
(
omodel
.
OrderId
).
ToString
()
+
"]"
,
ReOrderNos
=
"\""
+
omodel
.
OrderNo
+
"\":"
+
RemitMoney
+
"元"
,
TenantId
=
item
.
TenantId
,
UserId
=
ssmodel
.
UserId
,
WithdrawalWay
=
DistrbutorWithdrawWayEnum
.
ZDXJ
});
}
else
{
//更新状态
foreach
(
var
qcitem
in
ssList
.
Where
(
x
=>
x
.
CommissionState
==
1
))
{
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
>()
{
new
WhereHelper
(){
FiledName
=
nameof
(
RB_SmallShops_Commission_Extend
.
Id
),
FiledValue
=
qcitem
.
Id
,
OperatorEnum
=
OperatorEnum
.
Equal
}
};
smallShops_CommissionRepository
.
Update
(
keyValues1
,
wheres1
);
}
}
//写入已提现数据
smallShops_RemitRepository
.
Insert
(
new
RB_SmallShops_Remit
()
{
Id
=
0
,
AccountName
=
""
,
AccountNumber
=
""
,
AppliedMoney
=
TotalCommission
,
AuditDate
=
DateTime
.
Now
,
AuditRemark
=
"自动现结失败,变更为手动打款"
,
AuditStatus
=
DistributorRemitAuditStatusEnum
.
ToPlayWith
,
BankName
=
""
,
CreateDate
=
DateTime
.
Now
,
Fee
=
fee
,
FinanceId
=
0
,
MallBaseId
=
item
.
MallBaseId
,
OrderNum
=
OrderNum
,
RejectDate
=
null
,
RejectRemark
=
""
,
RemitDate
=
DateTime
.
Now
,
RemitMoney
=
RemitMoney
,
RemitRemark
=
""
,
ReOrderIds
=
"["
+
(
omodel
.
OrderId
).
ToString
()
+
"]"
,
ReOrderNos
=
"\""
+
omodel
.
OrderNo
+
"\":"
+
RemitMoney
+
"元"
,
TenantId
=
item
.
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
),
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
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
{
foreach
(
var
qitem
in
ssList
.
Where
(
x
=>
x
.
CommissionState
==
1
))
{
...
...
@@ -1291,6 +1670,7 @@ and DATE_FORMAT(b.PaymentTime,'%y-%m-%d')<DATE_FORMAT('{endDate}','%y-%m-%d') A
}
}
}
}
catch
(
Exception
)
{
Helper
.
LogHelper
.
Write
(
"AutoAfterSaleOrderSendCommission:更新微店返佣失败"
);
...
...
@@ -1394,6 +1774,185 @@ and DATE_FORMAT(b.PaymentTime,'%y-%m-%d')<DATE_FORMAT('{endDate}','%y-%m-%d') A
//更新微店返佣
var
ssList
=
smallShops_CommissionRepository
.
GetList
(
new
RB_SmallShops_Commission_Extend
()
{
TenantId
=
item
.
TenantId
,
MallBaseId
=
item
.
MallBaseId
,
OrderId
=
Order
.
OrderId
});
if
(
ssList
.
Where
(
x
=>
x
.
CommissionState
==
1
).
Any
())
{
//验证是否是自动结算
var
ssbaseModel
=
microShop_BasicsRepository
.
GetMicroShopBasicsList
(
new
RB_MicroShop_Basics
()
{
TenantId
=
item
.
TenantId
,
MallBaseId
=
item
.
MallBaseId
}).
FirstOrDefault
();
if
((
","
+
(
ssbaseModel
?.
SettlementType
??
""
)
+
","
).
Contains
(
","
+
((
int
)
DistrbutorWithdrawWayEnum
.
ZDXJ
).
ToString
()
+
","
))
{
var
ssmodel
=
ssList
.
FirstOrDefault
();
//获取微店信息
var
smallModel
=
smallShops_InfoRepository
.
GetList
(
new
RB_SmallShops_Info_Extend
()
{
UserId
=
ssmodel
.
UserId
,
TenantId
=
item
.
TenantId
,
MallBaseId
=
item
.
MallBaseId
}).
FirstOrDefault
();
if
(
smallModel
!=
null
&&
smallModel
.
AuditStatus
==
DistributorAuditStatusEnum
.
Audited
)
{
//总佣金
decimal
TotalCommission
=
0
,
OldCommission
=
0
;
foreach
(
var
qcitem
in
ssList
.
Where
(
x
=>
x
.
CommissionState
==
1
))
{
TotalCommission
+=
(
qcitem
.
Commission
??
0
);
}
#
region
看微店佣金是否是负数
是的话
需要走总佣金里减去
OldCommission
=
TotalCommission
;
if
((
smallModel
.
Commission
??
0
)
<
0
)
{
TotalCommission
+=
(
smallModel
?.
Commission
??
0
);
}
#
endregion
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
<
RB_MiniProgram_Extend
>(
item
.
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
=
PayUtil
.
GetTransfersOrder
(
OrderNum
,
RemitMoney
,
(
ssmodel
.
UserId
??
0
).
ToString
(),
umodel
.
OpenId
,
minModel
,
"赞羊微店佣金打款"
);
}
if
(
flagpay
)
{
//更新状态
foreach
(
var
qcitem
in
ssList
.
Where
(
x
=>
x
.
CommissionState
==
1
))
{
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
>()
{
new
WhereHelper
(){
FiledName
=
nameof
(
RB_SmallShops_Commission_Extend
.
Id
),
FiledValue
=
qcitem
.
Id
,
OperatorEnum
=
OperatorEnum
.
Equal
}
};
smallShops_CommissionRepository
.
Update
(
keyValues1
,
wheres1
);
}
}
//写入已提现数据
smallShops_RemitRepository
.
Insert
(
new
RB_SmallShops_Remit
()
{
Id
=
0
,
AccountName
=
""
,
AccountNumber
=
""
,
AppliedMoney
=
TotalCommission
,
AuditDate
=
DateTime
.
Now
,
AuditRemark
=
""
,
AuditStatus
=
DistributorRemitAuditStatusEnum
.
HaveMoney
,
BankName
=
""
,
CreateDate
=
DateTime
.
Now
,
Fee
=
fee
,
FinanceId
=
0
,
MallBaseId
=
item
.
MallBaseId
,
OrderNum
=
OrderNum
,
RejectDate
=
null
,
RejectRemark
=
""
,
RemitDate
=
DateTime
.
Now
,
RemitMoney
=
RemitMoney
,
RemitRemark
=
"自动结算打款"
,
ReOrderIds
=
"["
+
(
omodel
.
OrderId
).
ToString
()
+
"]"
,
ReOrderNos
=
"\""
+
omodel
.
OrderNo
+
"\":"
+
RemitMoney
+
"元"
,
TenantId
=
item
.
TenantId
,
UserId
=
ssmodel
.
UserId
,
WithdrawalWay
=
DistrbutorWithdrawWayEnum
.
ZDXJ
});
}
else
{
//更新状态
foreach
(
var
qcitem
in
ssList
.
Where
(
x
=>
x
.
CommissionState
==
1
))
{
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
>()
{
new
WhereHelper
(){
FiledName
=
nameof
(
RB_SmallShops_Commission_Extend
.
Id
),
FiledValue
=
qcitem
.
Id
,
OperatorEnum
=
OperatorEnum
.
Equal
}
};
smallShops_CommissionRepository
.
Update
(
keyValues1
,
wheres1
);
}
}
//写入已提现数据
smallShops_RemitRepository
.
Insert
(
new
RB_SmallShops_Remit
()
{
Id
=
0
,
AccountName
=
""
,
AccountNumber
=
""
,
AppliedMoney
=
TotalCommission
,
AuditDate
=
DateTime
.
Now
,
AuditRemark
=
"自动现结失败,变更为手动打款"
,
AuditStatus
=
DistributorRemitAuditStatusEnum
.
ToPlayWith
,
BankName
=
""
,
CreateDate
=
DateTime
.
Now
,
Fee
=
fee
,
FinanceId
=
0
,
MallBaseId
=
item
.
MallBaseId
,
OrderNum
=
OrderNum
,
RejectDate
=
null
,
RejectRemark
=
""
,
RemitDate
=
DateTime
.
Now
,
RemitMoney
=
RemitMoney
,
RemitRemark
=
""
,
ReOrderIds
=
"["
+
(
omodel
.
OrderId
).
ToString
()
+
"]"
,
ReOrderNos
=
"\""
+
omodel
.
OrderNo
+
"\":"
+
RemitMoney
+
"元"
,
TenantId
=
item
.
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
),
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
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
{
foreach
(
var
qitem
in
ssList
.
Where
(
x
=>
x
.
CommissionState
==
1
))
{
...
...
@@ -1434,6 +1993,7 @@ and DATE_FORMAT(b.PaymentTime,'%y-%m-%d')<DATE_FORMAT('{endDate}','%y-%m-%d') A
}
}
}
}
catch
(
Exception
)
{
Helper
.
LogHelper
.
Write
(
"AutoAfterSaleOrderSendCommission:更新微店返佣失败"
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment