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
7b10eee0
Commit
7b10eee0
authored
Jul 16, 2020
by
liudong1993
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
vip购买
parent
1b006293
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
839 additions
and
1 deletion
+839
-1
DistributionOrdersExportEnum.cs
Mall.Common/Enum/Goods/DistributionOrdersExportEnum.cs
+117
-0
RB_VipBuy_Commission.cs
Mall.Model/Entity/User/RB_VipBuy_Commission.cs
+115
-0
RB_Member_User_Extend.cs
Mall.Model/Extend/User/RB_Member_User_Extend.cs
+4
-0
RB_VipBuy_Commission_Extend.cs
Mall.Model/Extend/User/RB_VipBuy_Commission_Extend.cs
+22
-0
OrderModule.cs
Mall.Module.Product/OrderModule.cs
+55
-0
UserCommonModule.cs
Mall.Module.User/UserCommonModule.cs
+10
-0
UserModule.cs
Mall.Module.User/UserModule.cs
+115
-0
RB_Distributor_FXGradeRepository.cs
Mall.Repository/User/RB_Distributor_FXGradeRepository.cs
+19
-0
RB_Member_UserRepository.cs
Mall.Repository/User/RB_Member_UserRepository.cs
+73
-1
RB_VipBuy_CommissionRepository.cs
Mall.Repository/User/RB_VipBuy_CommissionRepository.cs
+83
-0
OrderController.cs
Mall.WebApi/Controllers/Product/OrderController.cs
+165
-0
AppletUserController.cs
Mall.WebApi/Controllers/User/AppletUserController.cs
+40
-0
UserController.cs
Mall.WebApi/Controllers/User/UserController.cs
+21
-0
No files found.
Mall.Common/Enum/Goods/DistributionOrdersExportEnum.cs
View file @
7b10eee0
...
...
@@ -143,4 +143,121 @@ namespace Mall.Common.Enum.Goods
[
EnumField
(
"三级佣金"
)]
SJYJ
=
29
}
/// <summary>
/// 粉象分销订单导出
/// </summary>
public
enum
DistributionOrdersExportForFXEnum
{
/// <summary>
/// 所属平台
/// </summary>
[
EnumField
(
"所属平台"
)]
SSPT
=
1
,
/// <summary>
/// 订单号
/// </summary>
[
EnumField
(
"订单号"
)]
DDH
=
2
,
/// <summary>
/// 下单用户
/// </summary>
[
EnumField
(
"下单用户"
)]
XDYH
=
4
,
/// <summary>
/// 商品名
/// </summary>
[
EnumField
(
"商品名"
)]
SPM
=
5
,
/// <summary>
/// 规格
/// </summary>
[
EnumField
(
"规格"
)]
GG
=
6
,
/// <summary>
/// 数量
/// </summary>
[
EnumField
(
"数量"
)]
SL
=
7
,
/// <summary>
/// 货号
/// </summary>
[
EnumField
(
"货号"
)]
HH
=
8
,
/// <summary>
/// 收件人
/// </summary>
[
EnumField
(
"收件人"
)]
SJR
=
10
,
/// <summary>
/// 收件人电话
/// </summary>
[
EnumField
(
"收件人电话"
)]
SJRDH
=
11
,
/// <summary>
/// 收件人地址
/// </summary>
[
EnumField
(
"收件人地址"
)]
SJRDZ
=
12
,
/// <summary>
/// 总金额
/// </summary>
[
EnumField
(
"总金额"
)]
ZJE
=
13
,
/// <summary>
/// 实际付款
/// </summary>
[
EnumField
(
"实际付款"
)]
SJFK
=
14
,
/// <summary>
/// 下单时间
/// </summary>
[
EnumField
(
"下单时间"
)]
XDSJ
=
16
,
/// <summary>
/// 订单状态
/// </summary>
[
EnumField
(
"订单状态"
)]
DDZT
=
17
,
/// <summary>
/// 支付方式
/// </summary>
[
EnumField
(
"支付方式"
)]
ZFFS
=
18
,
/// <summary>
/// 付款状态
/// </summary>
[
EnumField
(
"支付状态"
)]
FKZT
=
19
,
/// <summary>
/// 付款时间
/// </summary>
[
EnumField
(
"支付时间"
)]
FKSJ
=
20
,
/// <summary>
/// 备注/表单
/// </summary>
[
EnumField
(
"备注/表单"
)]
BZBD
=
21
,
/// <summary>
/// 买家留言
/// </summary>
[
EnumField
(
"买家留言"
)]
MJLY
=
22
,
/// <summary>
/// 返利级别
/// </summary>
[
EnumField
(
"返利级别"
)]
FLJB
=
23
,
/// <summary>
/// 昵称
/// </summary>
[
EnumField
(
"昵称"
)]
NCXM
=
24
,
/// <summary>
/// 佣金金额
/// </summary>
[
EnumField
(
"佣金金额"
)]
YJJE
=
25
}
}
Mall.Model/Entity/User/RB_VipBuy_Commission.cs
0 → 100644
View file @
7b10eee0
using
Mall.Common.AOP
;
using
Mall.Common.Enum.MarketingCenter
;
using
Mall.Common.Enum.User
;
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
Mall.Model.Entity.User
{
/// <summary>
/// Vip购买返佣表实体
/// </summary>
[
Serializable
]
[
DB
(
ConnectionName
=
"DefaultConnection"
)]
public
class
RB_VipBuy_Commission
{
/// <summary>
/// Id
/// </summary>
public
int
Id
{
get
;
set
;
}
/// <summary>
/// Vip购买订单id
/// </summary>
public
int
?
OrderId
{
get
;
set
;
}
/// <summary>
/// 分销商id
/// </summary>
public
int
?
UserId
{
get
;
set
;
}
/// <summary>
/// 粉象等级id
/// </summary>
public
int
?
Grade
{
get
;
set
;
}
/// <summary>
/// 佣金
/// </summary>
public
decimal
?
Commission
{
get
;
set
;
}
/// <summary>
/// Remark
/// </summary>
public
string
Remark
{
get
;
set
;
}
/// <summary>
/// 商户号
/// </summary>
public
int
TenantId
{
get
;
set
;
}
/// <summary>
/// 小程序id
/// </summary>
public
int
MallBaseId
{
get
;
set
;
}
/// <summary>
/// CreateDate
/// </summary>
public
DateTime
?
CreateDate
{
get
;
set
;
}
/// <summary>
/// UpdateDate
/// </summary>
public
DateTime
?
UpdateDate
{
get
;
set
;
}
/// <summary>
/// 类型 1Vip购买返佣
/// </summary>
public
int
?
Type
{
get
;
set
;
}
/// <summary>
/// 是否已提现 1是
/// </summary>
public
int
?
IsRemit
{
get
;
set
;
}
}
}
Mall.Model/Extend/User/RB_Member_User_Extend.cs
View file @
7b10eee0
...
...
@@ -45,6 +45,10 @@ namespace Mall.Model.Extend.User
/// 粉象等级ID
/// </summary>
public
int
?
FXGradeId
{
get
;
set
;
}
/// <summary>
/// 粉象等级ids
/// </summary>
public
string
FXGradeIds
{
get
;
set
;
}
/// <summary>
/// 用户名str
...
...
Mall.Model/Extend/User/RB_VipBuy_Commission_Extend.cs
0 → 100644
View file @
7b10eee0
using
Mall.Common.AOP
;
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
using
Mall.Model.Entity.User
;
using
Mall.Common.Enum.User
;
namespace
Mall.Model.Extend.User
{
/// <summary>
/// vip购买返佣表扩展实体
/// </summary>
[
Serializable
]
[
DB
(
ConnectionName
=
"DefaultConnection"
)]
public
class
RB_VipBuy_Commission_Extend
:
RB_VipBuy_Commission
{
/// <summary>
/// 购买人名称
/// </summary>
public
string
UserName
{
get
;
set
;
}
}
}
Mall.Module.Product/OrderModule.cs
View file @
7b10eee0
...
...
@@ -4938,6 +4938,12 @@ namespace Mall.Module.Product
string
gradeIds
=
string
.
Join
(
","
,
oclist
.
Where
(
x
=>
x
.
Type
==
2
).
Select
(
x
=>
x
.
Grade
).
Distinct
());
HpgradeList
=
distributor_HPGradeInfoRepository
.
GetList
(
new
RB_Distributor_HPGradeInfo_Extend
()
{
GradeIds
=
gradeIds
,
TenantId
=
demodel
.
TenantId
,
MallBaseId
=
demodel
.
MallBaseId
},
true
);
}
var
FXGradeList
=
new
List
<
RB_Distributor_FXGrade_Extend
>();
if
(
oclist
.
Where
(
x
=>
x
.
Type
==
3
).
Any
())
{
string
gradeIds
=
string
.
Join
(
","
,
oclist
.
Where
(
x
=>
x
.
Type
==
3
).
Select
(
x
=>
x
.
Grade
).
Distinct
());
FXGradeList
=
distributor_FXGradeRepository
.
GetList
(
new
RB_Distributor_FXGrade_Extend
()
{
GradeIds
=
gradeIds
,
TenantId
=
demodel
.
TenantId
,
MallBaseId
=
demodel
.
MallBaseId
});
}
foreach
(
var
item
in
oclist
)
{
...
...
@@ -4969,6 +4975,11 @@ namespace Mall.Module.Product
var
hpGModel
=
HpgradeList
.
Where
(
x
=>
x
.
Id
==
item
.
Grade
).
FirstOrDefault
();
item
.
GradeDescription
=
hpGModel
?.
GradeName
??
"暂无等级"
;
}
else
if
(
item
.
Type
==
3
)
{
var
fxGModel
=
FXGradeList
.
Where
(
x
=>
x
.
Id
==
item
.
Grade
).
FirstOrDefault
();
item
.
GradeDescription
=
fxGModel
?.
GradeName
??
"暂无等级"
;
}
}
}
...
...
@@ -5024,12 +5035,56 @@ namespace Mall.Module.Product
var
ulist
=
member_UserRepository
.
GetList
(
new
RB_Member_User_Extend
()
{
TenantId
=
demodel
.
TenantId
,
MallBaseId
=
demodel
.
MallBaseId
,
UserIds
=
string
.
Join
(
","
,
oclist
.
Select
(
x
=>
x
.
UserId
).
Distinct
())
});
//获取分销商
var
dislist
=
distributor_InfoRepository
.
GetList
(
new
RB_Distributor_Info_Extend
()
{
TenantId
=
demodel
.
TenantId
,
MallBaseId
=
demodel
.
MallBaseId
,
UserIds
=
string
.
Join
(
","
,
oclist
.
Select
(
x
=>
x
.
UserId
).
Distinct
())
});
var
HpgradeList
=
new
List
<
RB_Distributor_HPGradeInfo_Extend
>();
if
(
oclist
.
Where
(
x
=>
x
.
Type
==
2
).
Any
())
{
string
gradeIds
=
string
.
Join
(
","
,
oclist
.
Where
(
x
=>
x
.
Type
==
2
).
Select
(
x
=>
x
.
Grade
).
Distinct
());
HpgradeList
=
distributor_HPGradeInfoRepository
.
GetList
(
new
RB_Distributor_HPGradeInfo_Extend
()
{
GradeIds
=
gradeIds
,
TenantId
=
demodel
.
TenantId
,
MallBaseId
=
demodel
.
MallBaseId
},
true
);
}
var
FXGradeList
=
new
List
<
RB_Distributor_FXGrade_Extend
>();
if
(
oclist
.
Where
(
x
=>
x
.
Type
==
3
).
Any
())
{
string
gradeIds
=
string
.
Join
(
","
,
oclist
.
Where
(
x
=>
x
.
Type
==
3
).
Select
(
x
=>
x
.
Grade
).
Distinct
());
FXGradeList
=
distributor_FXGradeRepository
.
GetList
(
new
RB_Distributor_FXGrade_Extend
()
{
GradeIds
=
gradeIds
,
TenantId
=
demodel
.
TenantId
,
MallBaseId
=
demodel
.
MallBaseId
});
}
foreach
(
var
item
in
oclist
)
{
var
umodel
=
ulist
.
Where
(
x
=>
x
.
Id
==
item
.
UserId
).
FirstOrDefault
();
item
.
UserName
=
umodel
?.
Name
??
""
;
item
.
Mobile
=
umodel
?.
Moblie
??
""
;
item
.
Name
=
dislist
.
Where
(
x
=>
x
.
UserId
==
item
.
UserId
).
FirstOrDefault
()?.
Name
??
""
;
if
(
item
.
Type
==
1
)
{
if
(
item
.
Grade
==
0
)
{
item
.
GradeDescription
=
"自购返利"
;
}
else
if
(
item
.
Grade
==
1
)
{
item
.
GradeDescription
=
"一级佣金"
;
}
else
if
(
item
.
Grade
==
2
)
{
item
.
GradeDescription
=
"二级佣金"
;
}
else
if
(
item
.
Grade
==
3
)
{
item
.
GradeDescription
=
"三级佣金"
;
}
}
else
if
(
item
.
Type
==
2
)
{
var
hpGModel
=
HpgradeList
.
Where
(
x
=>
x
.
Id
==
item
.
Grade
).
FirstOrDefault
();
item
.
GradeDescription
=
hpGModel
?.
GradeName
??
"暂无等级"
;
}
else
if
(
item
.
Type
==
3
)
{
var
fxGModel
=
FXGradeList
.
Where
(
x
=>
x
.
Id
==
item
.
Grade
).
FirstOrDefault
();
item
.
GradeDescription
=
fxGModel
?.
GradeName
??
"暂无等级"
;
}
}
}
foreach
(
var
item
in
list
)
...
...
Mall.Module.User/UserCommonModule.cs
View file @
7b10eee0
...
...
@@ -350,5 +350,15 @@ namespace Mall.Module.User
}
return
flag
;
}
/// <summary>
/// 新增vip购买返佣
/// </summary>
/// <param name="OrderId">vip购买单号id</param>
/// <param name="UserId">购买人</param>
/// <returns></returns>
public
bool
InsertVipBuyCommission
(
int
OrderId
,
int
UserId
)
{
return
false
;
}
}
}
Mall.Module.User/UserModule.cs
View file @
7b10eee0
...
...
@@ -3517,6 +3517,121 @@ namespace Mall.Module.User
return
RList
;
}
/// <summary>
/// 粉象升级条件
/// </summary>
/// <param name="userInfo"></param>
/// <returns></returns>
public
object
GetUserDistrbutorUpgradeConditionsForFX
(
AppletUserInfo
userInfo
)
{
var
model
=
distributor_InfoRepository
.
GetList
(
new
RB_Distributor_Info_Extend
()
{
UserId
=
userInfo
.
UserId
,
TenantId
=
userInfo
.
TenantId
,
MallBaseId
=
userInfo
.
MallBaseId
}).
FirstOrDefault
();
if
(
model
==
null
||
model
.
AuditStatus
!=
DistributorAuditStatusEnum
.
Audited
)
{
return
new
{
Status
=
2
,
GradeInfo
=
new
{
}
};
}
var
gmodel
=
distributor_FXGradeRepository
.
GetEntity
(
model
.
FXGradeId
);
var
upgmodel
=
distributor_FXGradeRepository
.
GetDistrbutorUpgrade
(
gmodel
?.
Grade
??
0
,
userInfo
.
TenantId
,
userInfo
.
MallBaseId
);
if
(
upgmodel
==
null
||
(
upgmodel
.
IsUpgrade
??
2
)
!=
1
)
{
return
new
{
Status
=
2
,
GradeInfo
=
new
{
}
};
}
else
{
var
FXList
=
distributor_FXGradeRepository
.
GetList
(
new
RB_Distributor_FXGrade_Extend
()
{
TenantId
=
userInfo
.
TenantId
,
MallBaseId
=
userInfo
.
MallBaseId
});
FXList
=
FXList
.
Where
(
x
=>
x
.
Grade
>=
gmodel
.
Grade
).
ToList
();
int
MeetNum
=
0
;
//已发展等级
if
(
FXList
.
Any
())
{
string
FXGradeIds
=
string
.
Join
(
","
,
FXList
.
Select
(
x
=>
x
.
Id
));
MeetNum
=
member_UserRepository
.
GetUserReferralsForFX
(
new
RB_Member_User_Extend
()
{
TenantId
=
userInfo
.
TenantId
,
MallBaseId
=
userInfo
.
MallBaseId
,
SuperiorId
=
userInfo
.
UserId
,
FXGradeIds
=
FXGradeIds
});
}
return
new
{
Status
=
1
,
GradeInfo
=
new
{
upgmodel
.
Id
,
upgmodel
.
Grade
,
upgmodel
.
GradeName
,
upgmodel
.
CommissionRatio
,
upgmodel
.
UpgradeNum
,
MeetNum
,
upgmodel
.
UpgradeId
,
UpgradeIdName
=
distributor_FXGradeRepository
.
GetEntity
(
upgmodel
.
UpgradeId
)?.
GradeName
??
"其他等级"
}
};
}
}
/// <summary>
/// 用户自动升级粉象等级
/// </summary>
/// <param name="gradeId"></param>
/// <param name="userInfo"></param>
/// <returns></returns>
public
string
SetUserDistrbutorUpgradeForFX
(
int
gradeId
,
AppletUserInfo
userInfo
)
{
var
disModel
=
distributor_BasicsRepository
.
GetList
(
new
RB_Distributor_Basics_Extend
()
{
TenantId
=
userInfo
.
TenantId
,
MallBaseId
=
userInfo
.
MallBaseId
}).
FirstOrDefault
();
if
((
disModel
?.
IsEnableFXGrade
??
2
)
!=
1
)
{
return
"未启用自动升级"
;
}
var
model
=
distributor_InfoRepository
.
GetList
(
new
RB_Distributor_Info_Extend
()
{
UserId
=
userInfo
.
UserId
,
TenantId
=
userInfo
.
TenantId
,
MallBaseId
=
userInfo
.
MallBaseId
}).
FirstOrDefault
();
if
(
model
==
null
||
model
.
AuditStatus
!=
DistributorAuditStatusEnum
.
Audited
)
{
return
"您不是分销商,无法操作"
;
}
var
gmodel
=
distributor_FXGradeRepository
.
GetEntity
(
gradeId
);
if
(
gmodel
==
null
)
{
return
"该等级不存在,无法升级"
;
}
if
(
gmodel
.
IsUpgrade
!=
1
)
{
return
"该等级未启用自动升级"
;
}
var
FXList
=
distributor_FXGradeRepository
.
GetList
(
new
RB_Distributor_FXGrade_Extend
()
{
TenantId
=
userInfo
.
TenantId
,
MallBaseId
=
userInfo
.
MallBaseId
});
FXList
=
FXList
.
Where
(
x
=>
x
.
Grade
>=
gmodel
.
Grade
).
ToList
();
int
MeetNum
=
0
;
//已发展等级
if
(
FXList
.
Any
())
{
string
FXGradeIds
=
string
.
Join
(
","
,
FXList
.
Select
(
x
=>
x
.
Id
));
MeetNum
=
member_UserRepository
.
GetUserReferralsForFX
(
new
RB_Member_User_Extend
()
{
TenantId
=
userInfo
.
TenantId
,
MallBaseId
=
userInfo
.
MallBaseId
,
SuperiorId
=
userInfo
.
UserId
,
FXGradeIds
=
FXGradeIds
});
}
if
((
gmodel
.
UpgradeNum
??
0
)
>
MeetNum
)
{
return
"未满足升级条件"
;
}
Dictionary
<
string
,
object
>
keyValues
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Distributor_Info
.
FXGradeId
),
gradeId
},
{
nameof
(
RB_Distributor_Info
.
UpdateDate
),
DateTime
.
Now
}
};
List
<
WhereHelper
>
wheres
=
new
List
<
WhereHelper
>()
{
new
WhereHelper
(){
FiledName
=
nameof
(
RB_Distributor_Info
.
Id
),
FiledValue
=
gradeId
,
OperatorEnum
=
OperatorEnum
.
Equal
}
};
bool
flag
=
distributor_InfoRepository
.
Update
(
keyValues
,
wheres
);
if
(
flag
)
{
return
""
;
}
return
"升级失败,请联系管理员"
;
}
#
endregion
#
region
我的足迹
...
...
Mall.Repository/User/RB_Distributor_FXGradeRepository.cs
View file @
7b10eee0
...
...
@@ -84,5 +84,24 @@ namespace Mall.Repository.User
string
sql
=
$@"select * from RB_Distributor_FXGrade where
{
where
}
order by Grade asc"
;
return
Get
<
RB_Distributor_FXGrade_Extend
>(
sql
).
ToList
();
}
/// <summary>
/// 获取下个等级
/// </summary>
/// <param name="grade"></param>
/// <param name="tenantId"></param>
/// <param name="mallBaseId"></param>
/// <returns></returns>
public
RB_Distributor_FXGrade_Extend
GetDistrbutorUpgrade
(
int
grade
,
int
tenantId
,
int
mallBaseId
)
{
string
where
=
$@" 1=1 and
{
nameof
(
RB_Distributor_FXGrade
.
Status
)}
=0"
;
where
+=
$@" and
{
nameof
(
RB_Distributor_FXGrade
.
TenantId
)}
=
{
tenantId
}
"
;
where
+=
$@" and
{
nameof
(
RB_Distributor_FXGrade
.
MallBaseId
)}
=
{
mallBaseId
}
"
;
where
+=
$@" and
{
nameof
(
RB_Distributor_FXGrade
.
Grade
)}
>
{
grade
}
"
;
string
sql
=
$@"select * from RB_Distributor_FXGrade where
{
where
}
order by Grade asc limit 1"
;
return
Get
<
RB_Distributor_FXGrade_Extend
>(
sql
).
FirstOrDefault
();
}
}
}
Mall.Repository/User/RB_Member_UserRepository.cs
View file @
7b10eee0
...
...
@@ -140,7 +140,7 @@ select * from RB_Member_User where {where} order by CreateDate desc
/// <returns></returns>
public
List
<
RB_Member_User_Extend
>
GetPageListForFX
(
int
pageIndex
,
int
pageSize
,
out
long
rowCount
,
RB_Member_User_Extend
dmodel
)
{
string
where
=
" 1=1 "
;
string
where
=
" 1=1
and d.Status=0
"
;
if
(
dmodel
.
TenantId
>
0
)
{
where
+=
$@" and u.
{
nameof
(
RB_Member_User
.
TenantId
)}
=
{
dmodel
.
TenantId
}
"
;
...
...
@@ -194,6 +194,78 @@ where {where} order by u.CreateDate desc
return
GetPage
<
RB_Member_User_Extend
>(
pageIndex
,
pageSize
,
out
rowCount
,
sql
).
ToList
();
}
/// <summary>
/// 获取下线数量(粉象)
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public
int
GetUserReferralsForFX
(
RB_Member_User_Extend
dmodel
)
{
string
where
=
" 1=1 and d.Status=0 "
;
if
(
dmodel
.
TenantId
>
0
)
{
where
+=
$@" and u.
{
nameof
(
RB_Member_User
.
TenantId
)}
=
{
dmodel
.
TenantId
}
"
;
}
if
(
dmodel
.
MallBaseId
>
0
)
{
where
+=
$@" and u.
{
nameof
(
RB_Member_User
.
MallBaseId
)}
=
{
dmodel
.
MallBaseId
}
"
;
}
if
(!
string
.
IsNullOrEmpty
(
dmodel
.
Name
))
{
where
+=
$@" and u.
{
nameof
(
RB_Member_User
.
Name
)}
like '%
{
dmodel
.
Name
}
%'"
;
}
if
(!
string
.
IsNullOrEmpty
(
dmodel
.
UserNameStr
))
{
where
+=
$@" and u.
{
nameof
(
RB_Member_User
.
Name
)}
in(
{
dmodel
.
UserNameStr
}
)"
;
}
if
(!
string
.
IsNullOrEmpty
(
dmodel
.
AliasName
))
{
where
+=
$@" and u.
{
nameof
(
RB_Member_User
.
AliasName
)}
like '%
{
dmodel
.
AliasName
}
%'"
;
}
if
(
dmodel
.
Source
>
0
)
{
where
+=
$@" and u.
{
nameof
(
RB_Member_User
.
Source
)}
=
{(
int
)
dmodel
.
Source
}
"
;
}
if
(!
string
.
IsNullOrEmpty
(
dmodel
.
Moblie
))
{
where
+=
$@" and u.
{
nameof
(
RB_Member_User
.
Moblie
)}
like '%
{
dmodel
.
Moblie
}
%'"
;
}
if
(
dmodel
.
MemberGrade
>
0
)
{
where
+=
$@" and u.
{
nameof
(
RB_Member_User
.
MemberGrade
)}
=
{
dmodel
.
MemberGrade
}
"
;
}
if
(
dmodel
.
SuperiorId
>
0
)
{
where
+=
$@" and u.
{
nameof
(
RB_Member_User
.
SuperiorId
)}
=
{
dmodel
.
SuperiorId
}
"
;
}
if
(!
string
.
IsNullOrEmpty
(
dmodel
.
UserIds
))
{
where
+=
$@" and u.
{
nameof
(
RB_Member_User
.
Id
)}
in(
{
dmodel
.
UserIds
}
)"
;
}
if
(
dmodel
.
FXGradeId
>
0
)
{
where
+=
$@" and d.
{
nameof
(
RB_Distributor_Info
.
FXGradeId
)}
=
{
dmodel
.
FXGradeId
}
"
;
}
if
(!
string
.
IsNullOrEmpty
(
dmodel
.
FXGradeIds
))
{
where
+=
$@" and d.
{
nameof
(
RB_Distributor_Info
.
FXGradeId
)}
in(
{
dmodel
.
FXGradeIds
}
)"
;
}
string
sql
=
$@"
select count(0) as UserNum from RB_Member_User u
inner join rb_distributor_info d on u.Id =d.UserId
where
{
where
}
"
;
var
obj
=
ExecuteScalar
(
sql
);
if
(
obj
!=
null
)
{
return
Convert
.
ToInt32
(
obj
);
}
else
{
return
0
;
}
}
/// <summary>
/// 分页列表
/// </summary>
...
...
Mall.Repository/User/RB_VipBuy_CommissionRepository.cs
0 → 100644
View file @
7b10eee0
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
using
Mall.Model.Entity.User
;
using
Mall.Model.Extend.User
;
using
System.Linq
;
namespace
Mall.Repository.User
{
/// <summary>
/// vip购买返佣仓储层
/// </summary>
public
class
RB_VipBuy_CommissionRepository
:
RepositoryBase
<
RB_VipBuy_Commission
>
{
/// <summary>
/// 分页列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="dmodel">查询条件</param>
/// <returns></returns>
public
List
<
RB_VipBuy_Commission_Extend
>
GetPageList
(
int
pageIndex
,
int
pageSize
,
out
long
rowCount
,
RB_VipBuy_Commission_Extend
dmodel
)
{
string
where
=
" 1=1 and b.Status =0"
;
if
(
dmodel
.
TenantId
>
0
)
{
where
+=
$@" and b.
{
nameof
(
RB_VipBuy_Commission
.
TenantId
)}
=
{
dmodel
.
TenantId
}
"
;
}
if
(
dmodel
.
MallBaseId
>
0
)
{
where
+=
$@" and b.
{
nameof
(
RB_VipBuy_Commission
.
MallBaseId
)}
=
{
dmodel
.
MallBaseId
}
"
;
}
if
(
dmodel
.
Id
>
0
)
{
where
+=
$@" and b.
{
nameof
(
RB_VipBuy_Commission
.
Id
)}
=
{
dmodel
.
Id
}
"
;
}
if
(
dmodel
.
UserId
>
0
)
{
where
+=
$@" and v.
{
nameof
(
RB_VipBuy_Commission
.
UserId
)}
=
{
dmodel
.
UserId
}
"
;
}
if
(!
string
.
IsNullOrEmpty
(
dmodel
.
UserName
))
{
where
+=
$@" and u.
{
nameof
(
RB_Member_User
.
Name
)}
like '%
{
dmodel
.
UserName
}
%'"
;
}
string
sql
=
$@"select v.*,vb.OrderNo,vb.GradeName,u.Name as UserName from RB_VipBuy_Commission v
inner join rb_vip_buy vb on v.OrderId = vb.Id
inner join rb_member_user u on vb.UserId= u.Id
where
{
where
}
order by v.Id desc"
;
return
GetPage
<
RB_VipBuy_Commission_Extend
>(
pageIndex
,
pageSize
,
out
rowCount
,
sql
).
ToList
();
}
/// <summary>
/// 获取列表
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public
List
<
RB_VipBuy_Commission_Extend
>
GetList
(
RB_VipBuy_Commission_Extend
dmodel
)
{
string
where
=
" 1=1 and b.Status =0"
;
if
(
dmodel
.
TenantId
>
0
)
{
where
+=
$@" and b.
{
nameof
(
RB_VipBuy_Commission
.
TenantId
)}
=
{
dmodel
.
TenantId
}
"
;
}
if
(
dmodel
.
MallBaseId
>
0
)
{
where
+=
$@" and b.
{
nameof
(
RB_VipBuy_Commission
.
MallBaseId
)}
=
{
dmodel
.
MallBaseId
}
"
;
}
if
(
dmodel
.
Id
>
0
)
{
where
+=
$@" and b.
{
nameof
(
RB_VipBuy_Commission
.
Id
)}
=
{
dmodel
.
Id
}
"
;
}
if
(
dmodel
.
OrderId
>
0
)
{
where
+=
$@" and b.
{
nameof
(
RB_VipBuy_Commission
.
OrderId
)}
=
{
dmodel
.
OrderId
}
"
;
}
string
sql
=
$@"select v.* from RB_VipBuy_Commission v where
{
where
}
order by v.Id desc"
;
return
Get
<
RB_VipBuy_Commission_Extend
>(
sql
).
ToList
();
}
}
}
Mall.WebApi/Controllers/Product/OrderController.cs
View file @
7b10eee0
...
...
@@ -1388,6 +1388,171 @@ namespace Mall.WebApi.Controllers.MallBase
}
/// <summary>
/// 获取分销订单导出选项列表
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetDistributionOrdersExportEnumListForFX
()
{
var
list
=
EnumHelper
.
GetEnumList
(
typeof
(
DistributionOrdersExportForFXEnum
));
return
ApiResult
.
Success
(
""
,
list
.
Select
(
x
=>
new
{
Name
=
x
.
Key
,
Id
=
Convert
.
ToInt32
(
x
.
Value
)
}));
}
/// <summary>
/// 分销订单Excel下载
/// </summary>
[
HttpPost
]
public
FileContentResult
GetDistributionOrdersToExcelForFX
()
{
var
parms
=
RequestParm
;
RB_Goods_Order_Extend
demodel
=
JsonConvert
.
DeserializeObject
<
RB_Goods_Order_Extend
>(
parms
.
msg
.
ToString
());
string
ExcelName
=
"分销订单"
+
DateTime
.
Now
.
ToString
(
"yyyyMMddHHmmss"
)
+
".xls"
;
List
<
ExcelDataSource
>
slist
=
new
List
<
ExcelDataSource
>();
if
(
demodel
.
ExcelEnumIds
==
null
||
!
demodel
.
ExcelEnumIds
.
Any
())
{
var
byteData1
=
ExcelTempLateHelper
.
ToExcelExtend
(
slist
);
return
File
(
byteData1
,
"application/octet-stream"
,
ExcelName
);
}
var
Enumlist
=
EnumHelper
.
GetEnumList
(
typeof
(
DistributionOrdersExportForFXEnum
));
ExcelDataSource
header
=
new
ExcelDataSource
()
{
ExcelRows
=
new
List
<
ExcelColumn
>(
30
)
{
new
ExcelColumn
(
value
:
"序号"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
}
}
};
foreach
(
var
item
in
demodel
.
ExcelEnumIds
)
{
var
Name
=
Enumlist
.
Where
(
x
=>
x
.
Value
==
item
.
ToString
()).
FirstOrDefault
().
Key
??
""
;
header
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
Name
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
});
}
slist
.
Add
(
header
);
try
{
demodel
.
TenantId
=
Convert
.
ToInt32
(
parms
.
uid
);
demodel
.
MallBaseId
=
parms
.
MallBaseId
;
var
list
=
orderModule
.
GetDistributionOrdersPageListToExcel
(
1
,
10000
,
out
long
count
,
demodel
);
#
region
组装数据
int
Num
=
0
;
foreach
(
var
item
in
list
)
{
foreach
(
var
item2
in
item
.
DetailList
)
{
Num
++;
var
ocList
=
item
.
OrderCommissionList
.
Where
(
x
=>
x
.
OrderDetailId
==
item2
.
Id
).
ToList
();
int
OCCount
=
ocList
.
Count
();
OCCount
=
OCCount
==
0
?
1
:
OCCount
;
ExcelDataSource
datarow
=
new
ExcelDataSource
()
{
ExcelRows
=
new
List
<
ExcelColumn
>(
30
)
{
new
ExcelColumn
(
value
:
Num
.
ToString
()){
Rowspan
=
OCCount
},
},
ColumnHight
=
30
};
foreach
(
var
qitem
in
demodel
.
ExcelEnumIds
)
{
switch
(
qitem
)
{
case
1
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
OrderSource
.
GetEnumName
())
{
Rowspan
=
OCCount
});
break
;
case
2
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
OrderNo
)
{
Rowspan
=
OCCount
});
break
;
case
3
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
MerchantsNo
)
{
Rowspan
=
OCCount
});
break
;
case
4
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
UserName
)
{
Rowspan
=
OCCount
});
break
;
case
5
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item2
.
GoodsName
)
{
Rowspan
=
OCCount
});
break
;
case
6
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item2
.
Specification
)
{
Rowspan
=
OCCount
});
break
;
case
7
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
(
item2
.
Number
??
0
).
ToString
())
{
Rowspan
=
OCCount
});
break
;
case
8
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item2
.
ProductCode
)
{
Rowspan
=
OCCount
});
break
;
case
10
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
Consignee
)
{
Rowspan
=
OCCount
});
break
;
case
11
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
Mobile
)
{
Rowspan
=
OCCount
});
break
;
case
12
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
ShoppingAddress
)
{
Rowspan
=
OCCount
});
break
;
case
13
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
(
item2
.
Original_Price
??
0
).
ToString
())
{
Rowspan
=
OCCount
});
break
;
case
14
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
(
item2
.
Final_Price
??
0
).
ToString
())
{
Rowspan
=
OCCount
});
break
;
case
16
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
CreateDate
.
Value
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
))
{
Rowspan
=
OCCount
});
break
;
case
17
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
OrderStatus
.
GetEnumName
())
{
Rowspan
=
OCCount
});
break
;
case
18
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
PaymentWay
.
GetEnumName
())
{
Rowspan
=
OCCount
});
break
;
case
19
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
OrderStatus
>
OrderStatusEnum
.
NonPayment
?
"已付款"
:
"未付款"
)
{
Rowspan
=
OCCount
});
break
;
case
20
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
PaymentTime
.
HasValue
?
item
.
PaymentTime
.
Value
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
)
:
""
)
{
Rowspan
=
OCCount
});
break
;
case
21
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
Remark
)
{
Rowspan
=
OCCount
});
break
;
case
22
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
BuyerMessage
)
{
Rowspan
=
OCCount
});
break
;
}
}
bool
IsOCFirst
=
true
;
if
(
ocList
.
Any
())
{
ocList
=
ocList
.
OrderBy
(
x
=>
x
.
Grade
).
ToList
();
foreach
(
var
ocitem
in
ocList
)
{
if
(!
IsOCFirst
)
{
datarow
=
new
ExcelDataSource
()
{
ExcelRows
=
new
List
<
ExcelColumn
>(
30
)
{
new
ExcelColumn
(
value
:
Num
.
ToString
()){
},
},
ColumnHight
=
30
};
for
(
var
i
=
0
;
i
<
19
;
i
++)
{
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
""
)
{
});
}
}
string
UserName
=
$"昵称:
{
ocitem
.
UserName
}
,姓名:
{
ocitem
.
Name
}
,手机号:
{
ocitem
.
Mobile
}
"
;
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
ocitem
.
GradeDescription
)
{
});
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
UserName
)
{
});
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
(
ocitem
.
Commission
??
0
).
ToString
())
{
});
slist
.
Add
(
datarow
);
IsOCFirst
=
false
;
}
}
else
{
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
""
)
{
});
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
""
)
{
});
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
""
)
{
});
slist
.
Add
(
datarow
);
}
}
}
#
endregion
var
byteData
=
ExcelTempLateHelper
.
ToExcelExtend
(
slist
);
return
File
(
byteData
,
"application/octet-stream"
,
ExcelName
);
}
catch
(
Exception
ex
)
{
LogHelper
.
Write
(
ex
,
string
.
Format
(
"GetFileFromWebApi_requestData: {0}"
,
JsonHelper
.
Serialize
(
RequestParm
)));
var
byteData1
=
ExcelTempLateHelper
.
ToExcelExtend
(
slist
);
return
File
(
byteData1
,
"application/octet-stream"
,
ExcelName
);
}
}
#
endregion
#
region
售后订单
...
...
Mall.WebApi/Controllers/User/AppletUserController.cs
View file @
7b10eee0
...
...
@@ -679,6 +679,46 @@ namespace Mall.WebApi.Controllers.User
return
ApiResult
.
Success
(
""
,
pageModel
);
}
/// <summary>
/// 获取粉象等级升级条件
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetUserDistrbutorUpgradeConditionsForFX
()
{
var
userInfo
=
AppletUserInfo
;
var
obj
=
userModule
.
GetUserDistrbutorUpgradeConditionsForFX
(
userInfo
);
return
ApiResult
.
Success
(
""
,
obj
);
}
/// <summary>
/// 设置自行升级粉象等级
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
SetUserDistrbutorUpgradeForFX
()
{
var
userInfo
=
AppletUserInfo
;
var
req
=
RequestParm
;
JObject
prams
=
JObject
.
Parse
(
req
.
msg
.
ToString
());
int
GradeId
=
prams
.
GetInt
(
"GradeId"
,
0
);
if
(
GradeId
<=
0
)
{
return
ApiResult
.
ParamIsNull
();
}
string
msg
=
userModule
.
SetUserDistrbutorUpgradeForFX
(
GradeId
,
userInfo
);
if
(
msg
==
""
)
{
return
ApiResult
.
Success
();
}
else
{
return
ApiResult
.
Failed
(
msg
);
}
}
#
endregion
#
region
会员中心
...
...
Mall.WebApi/Controllers/User/UserController.cs
View file @
7b10eee0
...
...
@@ -2716,6 +2716,15 @@ namespace Mall.WebApi.Controllers.User
return
ApiResult
.
ParamIsNull
(
"等级已存在,请核实后再试"
);
}
if
((
demodel
.
IsUpgrade
??
2
)
==
1
)
{
if
((
demodel
.
UpgradeNum
??
0
)
<=
0
)
{
return
ApiResult
.
ParamIsNull
(
"请输入所需下线数量"
);
}
if
((
demodel
.
UpgradeId
??
0
)
<=
0
)
{
return
ApiResult
.
ParamIsNull
(
"请选择所需下线等级"
);
}
}
demodel
.
TenantId
=
req
.
TenantId
;
demodel
.
MallBaseId
=
req
.
MallBaseId
;
demodel
.
Status
=
0
;
...
...
@@ -2778,6 +2787,18 @@ namespace Mall.WebApi.Controllers.User
return
userModule
.
GetFXDistributorGradeView
(
req
.
TenantId
,
req
.
MallBaseId
);
}
/// <summary>
/// 获取是否启用粉象返佣
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetIsEnableFXDistributorGrade
()
{
var
requestParm
=
RequestParm
;
var
model
=
userModule
.
GetDistributorBasicsInfo
(
requestParm
.
uid
,
requestParm
.
MallBaseId
);
return
ApiResult
.
Success
(
""
,
model
?.
IsEnableFXGrade
??
2
);
}
#
endregion
#
region
后台获取小程序码
...
...
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