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
a90a895a
Commit
a90a895a
authored
Apr 28, 2020
by
吴春
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
积分以余额收支
parent
9869329d
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
379 additions
and
45 deletions
+379
-45
PlatformTypeEnum.cs
Mall.Common/Enum/MarketingCenter/PlatformTypeEnum.cs
+31
-0
RB_Member_Balance.cs
Mall.Model/Entity/User/RB_Member_Balance.cs
+7
-1
RB_Member_Integral.cs
Mall.Model/Entity/User/RB_Member_Integral.cs
+7
-0
RB_Member_Balance_Extend.cs
Mall.Model/Extend/User/RB_Member_Balance_Extend.cs
+13
-0
Integral_Query.cs
Mall.Model/Query/Integral_Query.cs
+34
-0
IntegralModule.cs
Mall.Module.MarketingCenter/IntegralModule.cs
+26
-1
RechargeModule.cs
Mall.Module.MarketingCenter/RechargeModule.cs
+18
-1
UserModule.cs
Mall.Module.User/UserModule.cs
+1
-1
RB_Member_BalanceRepository.cs
Mall.Repository/User/RB_Member_BalanceRepository.cs
+48
-1
RB_Member_IntegralRepository.cs
Mall.Repository/User/RB_Member_IntegralRepository.cs
+47
-2
IntegralController.cs
....WebApi/Controllers/MarketingCenter/IntegralController.cs
+47
-0
RechargeController.cs
....WebApi/Controllers/MarketingCenter/RechargeController.cs
+33
-0
UserController.cs
Mall.WebApi/Controllers/User/UserController.cs
+67
-38
No files found.
Mall.Common/Enum/MarketingCenter/PlatformTypeEnum.cs
0 → 100644
View file @
a90a895a
using
Mall.Common.Plugin
;
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
Mall.Common.Enum.MarketingCenter
{
public
enum
PlatformTypeEnum
{
/// <summary>
/// 微信
/// </summary>
[
EnumField
(
"微信"
)]
WeChat
=
1
,
/// <summary>
/// 支付宝
/// </summary>
[
EnumField
(
"支付宝"
)]
Alipay
=
2
,
/// <summary>
/// 抖音/头条
/// </summary>
[
EnumField
(
"抖音/头条"
)]
TrillOrHeadline
=
3
,
/// <summary>
/// 百度
/// </summary>
[
EnumField
(
"百度"
)]
Baidu
=
2
,
}
}
Mall.Model/Entity/User/RB_Member_Balance.cs
View file @
a90a895a
using
Mall.Common.AOP
;
using
Mall.Common.Enum.MarketingCenter
;
using
Mall.Common.Enum.User
;
using
System
;
using
System.Collections.Generic
;
...
...
@@ -29,7 +30,7 @@ namespace Mall.Model.Entity.User
/// <summary>
/// 类型 1增加 2减少
/// </summary>
public
int
?
Type
public
RecordTypeEnum
?
Type
{
get
;
set
;
...
...
@@ -82,5 +83,10 @@ namespace Mall.Model.Entity.User
get
;
set
;
}
/// <summary>
/// 备注
/// </summary>
public
string
Remarks
{
get
;
set
;
}
}
}
Mall.Model/Entity/User/RB_Member_Integral.cs
View file @
a90a895a
...
...
@@ -35,6 +35,13 @@ namespace Mall.Model.Entity.User
get
;
set
;
}
/// <summary>
/// 平台类型
/// </summary>
public
PlatformTypeEnum
?
PlatformType
{
get
;
set
;
}
/// <summary>
/// 积分
/// </summary>
...
...
Mall.Model/Extend/User/RB_Member_Balance_Extend.cs
View file @
a90a895a
...
...
@@ -13,6 +13,19 @@ namespace Mall.Model.Extend.User
[
DB
(
ConnectionName
=
"DefaultConnection"
)]
public
class
RB_Member_Balance_Extend
:
RB_Member_Balance
{
/// <summary>
/// 会员名称
/// </summary>
public
string
MemberName
{
get
;
set
;
}
/// <summary>
/// 开始时间【查询使用】
/// </summary>
public
string
StartDate
{
get
;
set
;
}
/// <summary>
/// 结束时间【查询使用】
/// </summary>
public
string
EndDate
{
get
;
set
;
}
}
}
Mall.Model/Query/Integral_Query.cs
0 → 100644
View file @
a90a895a
using
Mall.Common.AOP
;
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
Mall.Model.Query
{
[
Serializable
]
[
DB
(
ConnectionName
=
"DefaultConnection"
)]
public
class
Integral_Query
{
public
int
TenantId
{
get
;
set
;
}
public
int
MallBaseId
{
get
;
set
;
}
public
int
PlatformType
{
get
;
set
;
}
public
string
CreateDate
{
get
;
set
;
}
public
string
Income
{
get
;
set
;
}
public
string
Expend
{
get
;
set
;
}
/// <summary>
/// 开始时间【查询使用】
/// </summary>
public
string
StartDate
{
get
;
set
;
}
/// <summary>
/// 结束时间【查询使用】
/// </summary>
public
string
EndDate
{
get
;
set
;
}
}
}
Mall.Module.MarketingCenter/IntegralModule.cs
View file @
a90a895a
using
Mall.Model.Entity.MarketingCenter
;
using
Mall.Model.Extend.MarketingCenter
;
using
Mall.Model.Extend.User
;
using
Mall.Model.Query
;
using
Mall.Repository.MarketingCenter
;
using
Mall.Repository.User
;
using
System
;
...
...
@@ -62,7 +63,31 @@ namespace Mall.Module.MarketingCenter
return
recordRepository
.
GetRechargeRecordPageList
(
pageIndex
,
pageSize
,
out
rowCount
,
query
);
}
/// <summary>
/// 数据统计-积分收支
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public
List
<
Integral_Query
>
GetIntegraStatisticslList
(
int
pageIndex
,
int
pageSize
,
out
long
rowCount
,
Integral_Query
query
)
{
return
recordRepository
.
GetIntegraStatisticslList
(
pageIndex
,
pageSize
,
out
rowCount
,
query
);
}
/// <summary>
/// 获取列表
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public
List
<
RB_Member_Integral_Extend
>
GetTotalIntegral
(
RB_Member_Integral_Extend
dmodel
)
{
return
recordRepository
.
GetList
(
dmodel
);
}
#
endregion
}
}
Mall.Module.MarketingCenter/RechargeModule.cs
View file @
a90a895a
using
Mall.Common.Plugin
;
using
Mall.Model.Entity.MarketingCenter
;
using
Mall.Model.Extend.MarketingCenter
;
using
Mall.Model.Extend.User
;
using
Mall.Repository
;
using
Mall.Repository.MarketingCenter
;
using
Mall.Repository.User
;
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
...
...
@@ -14,7 +16,7 @@ namespace Mall.Module.MarketingCenter
private
RB_Recharge_RulesRepository
rulesRepository
=
new
RB_Recharge_RulesRepository
();
private
RB_Member_BalanceRepository
balanceRepository
=
new
RB_Member_BalanceRepository
();
private
RB_Recharge_SettingsRepository
settingsRepository
=
new
RB_Recharge_SettingsRepository
();
#
region
充值规则信息
/// <summary>
...
...
@@ -125,5 +127,20 @@ namespace Mall.Module.MarketingCenter
}
}
#
endregion
#
region
余额收支
/// <summary>
/// 营销中心-余额收支
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public
List
<
RB_Member_Balance_Extend
>
GetMemberBalancePageList
(
int
pageIndex
,
int
pageSize
,
out
long
rowCount
,
RB_Member_Balance_Extend
query
)
{
return
balanceRepository
.
GetMemberBalancePageList
(
pageIndex
,
pageSize
,
out
rowCount
,
query
);
}
#
endregion
}
}
Mall.Module.User/UserModule.cs
View file @
a90a895a
...
...
@@ -501,7 +501,7 @@ namespace Mall.Module.User
{
var
umodel
=
member_UserRepository
.
GetEntity
(
demodel
.
UserId
);
decimal
Balance
;
if
(
demodel
.
Type
==
1
)
if
(
(
int
)
demodel
.
Type
==
1
)
{
Balance
=
(
umodel
.
Balance
??
0
)
+
(
demodel
.
Balance
??
0
);
}
...
...
Mall.Repository/User/RB_Member_BalanceRepository.cs
View file @
a90a895a
...
...
@@ -12,7 +12,11 @@ namespace Mall.Repository.User
/// </summary>
public
class
RB_Member_BalanceRepository
:
RepositoryBase
<
RB_Member_Balance
>
{
public
string
MemberTableName
{
get
{
return
nameof
(
RB_Member_User
);
}
}
/// <summary>
/// 表名称
/// </summary>
public
string
TableName
{
get
{
return
nameof
(
RB_Member_Balance
);
}
}
/// <summary>
/// 分页列表
/// </summary>
...
...
@@ -76,5 +80,48 @@ namespace Mall.Repository.User
string
sql
=
$@"select * from RB_Member_Balance where
{
where
}
order by Id desc"
;
return
Get
<
RB_Member_Balance_Extend
>(
sql
).
ToList
();
}
/// <summary>
/// 营销中心-余额收支
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public
List
<
RB_Member_Balance_Extend
>
GetMemberBalancePageList
(
int
pageIndex
,
int
pageSize
,
out
long
rowCount
,
RB_Member_Balance_Extend
query
)
{
StringBuilder
builder
=
new
StringBuilder
();
builder
.
Append
(
$" SELECT a.*,b.`Name` as MemberName FROM
{
TableName
}
as a LEFT JOIN
{
MemberTableName
}
as b on a.UserId = b.Id WHERE 1=1 "
);
if
(
query
!=
null
)
{
if
(
query
.
Id
>
0
)
{
builder
.
Append
(
$" AND a.
{
nameof
(
RB_Member_Balance_Extend
.
Id
)}
=
{
query
.
Id
}
"
);
}
if
(
query
.
TenantId
>
0
)
{
builder
.
Append
(
$" AND a.
{
nameof
(
RB_Member_Balance_Extend
.
TenantId
)}
=
{
query
.
TenantId
}
"
);
}
if
(
query
.
TenantId
>
0
)
{
builder
.
Append
(
$" AND a.
{
nameof
(
RB_Member_Balance_Extend
.
MallBaseId
)}
=
{
query
.
MallBaseId
}
"
);
}
if
(!
string
.
IsNullOrWhiteSpace
(
query
.
MemberName
))
{
builder
.
Append
(
$" AND b.
{
nameof
(
RB_Member_Balance_Extend
.
MemberName
)}
like '%
{
query
.
MemberName
}
%'"
);
}
if
(!
string
.
IsNullOrWhiteSpace
(
query
.
StartDate
))
{
builder
.
Append
(
$" AND DATE_FORMAT(a.
{
nameof
(
RB_Member_Balance_Extend
.
CreateDate
)}
,'%Y-%m-%d' )>= DATE_FORMAT('
{
nameof
(
RB_Member_Balance_Extend
.
StartDate
)}
','%Y-%m-%d' )"
);
}
if
(!
string
.
IsNullOrWhiteSpace
(
query
.
EndDate
))
{
builder
.
Append
(
$" AND DATE_FORMAT(a.
{
nameof
(
RB_Member_Balance_Extend
.
CreateDate
)}
,'%Y-%m-%d' )<= DATE_FORMAT('
{
nameof
(
RB_Member_Balance_Extend
.
EndDate
)}
','%Y-%m-%d' )"
);
}
}
return
GetPage
<
RB_Member_Balance_Extend
>(
pageIndex
,
pageSize
,
out
rowCount
,
builder
.
ToString
()).
ToList
();
}
}
}
Mall.Repository/User/RB_Member_IntegralRepository.cs
View file @
a90a895a
...
...
@@ -4,6 +4,7 @@ using System.Text;
using
Mall.Model.Entity.User
;
using
Mall.Model.Extend.User
;
using
System.Linq
;
using
Mall.Model.Query
;
namespace
Mall.Repository.User
{
...
...
@@ -77,6 +78,10 @@ namespace Mall.Repository.User
{
where
+=
$@" and
{
nameof
(
RB_Member_Integral
.
Type
)}
=
{
dmodel
.
Type
}
"
;
}
if
(
dmodel
.
PlatformType
!=
null
&&
(
int
)
dmodel
.
PlatformType
>
0
)
{
where
+=
$@" and
{
nameof
(
RB_Member_Integral
.
PlatformType
)}
=
{
dmodel
.
PlatformType
}
"
;
}
if
(
dmodel
.
UserId
>
0
)
{
where
+=
$@" and
{
nameof
(
RB_Member_Integral
.
UserId
)}
=
{
dmodel
.
UserId
}
"
;
...
...
@@ -98,7 +103,7 @@ namespace Mall.Repository.User
public
List
<
RB_Member_Integral_Extend
>
GetRechargeRecordPageList
(
int
pageIndex
,
int
pageSize
,
out
long
rowCount
,
RB_Member_Integral_Extend
query
)
{
StringBuilder
builder
=
new
StringBuilder
();
builder
.
Append
(
$" SELECT a.*,b.`Name` as MemberName FROM
{
TableName
}
as a LEFT JOIN
{
MemberTableName
}
as b on a.
Memb
erId = b.Id WHERE 1=1 "
);
builder
.
Append
(
$" SELECT a.*,b.`Name` as MemberName FROM
{
TableName
}
as a LEFT JOIN
{
MemberTableName
}
as b on a.
Us
erId = b.Id WHERE 1=1 "
);
if
(
query
!=
null
)
{
if
(
query
.
Id
>
0
)
...
...
@@ -128,6 +133,46 @@ namespace Mall.Repository.User
}
return
GetPage
<
RB_Member_Integral_Extend
>(
pageIndex
,
pageSize
,
out
rowCount
,
builder
.
ToString
()).
ToList
();
}
/// <summary>
/// 数据统计-积分收支
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public
List
<
Integral_Query
>
GetIntegraStatisticslList
(
int
pageIndex
,
int
pageSize
,
out
long
rowCount
,
Integral_Query
query
)
{
StringBuilder
builder
=
new
StringBuilder
();
if
(
query
!=
null
)
{
if
(
query
.
TenantId
>
0
)
{
builder
.
Append
(
$" AND
{
nameof
(
RB_Member_Integral_Extend
.
TenantId
)}
=
{
query
.
TenantId
}
"
);
}
if
(
query
.
TenantId
>
0
)
{
builder
.
Append
(
$" AND
{
nameof
(
RB_Member_Integral_Extend
.
MallBaseId
)}
=
{
query
.
MallBaseId
}
"
);
}
if
(
query
.
PlatformType
>
0
)
{
builder
.
Append
(
$" AND
{
nameof
(
RB_Member_Integral_Extend
.
PlatformType
)}
=
{
query
.
PlatformType
}
"
);
}
if
(!
string
.
IsNullOrWhiteSpace
(
query
.
StartDate
))
{
builder
.
Append
(
$" AND DATE_FORMAT(
{
nameof
(
RB_Member_Integral_Extend
.
CreateDate
)}
,'%Y-%m-%d' )>= DATE_FORMAT('
{
nameof
(
RB_Member_Integral_Extend
.
StartDate
)}
','%Y-%m-%d' )"
);
}
if
(!
string
.
IsNullOrWhiteSpace
(
query
.
EndDate
))
{
builder
.
Append
(
$" AND DATE_FORMAT(
{
nameof
(
RB_Member_Integral_Extend
.
CreateDate
)}
,'%Y-%m-%d' )<= DATE_FORMAT('
{
nameof
(
RB_Member_Integral_Extend
.
EndDate
)}
','%Y-%m-%d' )"
);
}
}
string
sql
=
@
$" SELECT CreateDate,SUM(Income) as Income, SUM(Expend) as Expend from (
select
DATE_FORMAT
(
CreateDate
,
'
%
Y
-%
m
-%
d
'
)
as
CreateDate
,
Integral
as
Income
,
0
as
Expend
from
rb_member_integral
where
Type
=
1
{
builder
.
ToString
()}
union
all
select
DATE_FORMAT
(
CreateDate
,
'
%
Y
-%
m
-%
d
'
)
as
CreateDate
,
0
as
Income
,
Integral
as
Expend
from
rb_member_integral
where
Type
=
2
{
builder
.
ToString
()}
)
as
t
GROUP
BY
CreateDate
";
return
GetPage
<
Integral_Query
>(
pageIndex
,
pageSize
,
out
rowCount
,
sql
).
ToList
();
}
}
}
Mall.WebApi/Controllers/MarketingCenter/IntegralController.cs
View file @
a90a895a
...
...
@@ -6,6 +6,7 @@ using Mall.Common.API;
using
Mall.Model.Entity.MarketingCenter
;
using
Mall.Model.Extend.MarketingCenter
;
using
Mall.Model.Extend.User
;
using
Mall.Model.Query
;
using
Mall.Module.MarketingCenter
;
using
Mall.WebApi.Filter
;
using
Microsoft.AspNetCore.Cors
;
...
...
@@ -111,5 +112,51 @@ namespace Mall.WebApi.Controllers.MarketingCenter
}
#
endregion
#
region
数据统计
-
积分收支
/// <summary>
/// 积分收支
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetIntegraStatisticslList
()
{
var
parms
=
RequestParm
;
ResultPageModel
pagelist
=
JsonConvert
.
DeserializeObject
<
ResultPageModel
>(
RequestParm
.
msg
.
ToString
());
Integral_Query
demodel
=
JsonConvert
.
DeserializeObject
<
Integral_Query
>(
RequestParm
.
msg
.
ToString
());
demodel
.
TenantId
=
UserInfo
.
TenantId
;
demodel
.
MallBaseId
=
parms
.
MallBaseId
;
var
list
=
IntegralModule
.
GetIntegraStatisticslList
(
pagelist
.
pageIndex
,
pagelist
.
pageSize
,
out
long
count
,
demodel
);
pagelist
.
count
=
Convert
.
ToInt32
(
count
);
pagelist
.
pageData
=
list
.
Select
(
x
=>
new
{
x
.
CreateDate
,
x
.
Income
,
x
.
Expend
});
return
ApiResult
.
Success
(
""
,
pagelist
);
}
/// <summary>
/// 积分收支统计
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetTotalIntegral
()
{
var
parms
=
RequestParm
;
RB_Member_Integral_Extend
demodel
=
JsonConvert
.
DeserializeObject
<
RB_Member_Integral_Extend
>(
RequestParm
.
msg
.
ToString
());
demodel
.
TenantId
=
UserInfo
.
TenantId
;
demodel
.
MallBaseId
=
parms
.
MallBaseId
;
var
list
=
IntegralModule
.
GetTotalIntegral
(
demodel
);
Integral_Query
model
=
new
Integral_Query
();
if
(
list
!=
null
&&
list
.
Any
())
{
model
.
Income
=
list
.
Where
(
x
=>
x
.
Type
==
Common
.
Enum
.
MarketingCenter
.
RecordTypeEnum
.
Income
).
Sum
(
x
=>
x
.
Integral
??
0
).
ToString
();
model
.
Expend
=
list
.
Where
(
x
=>
x
.
Type
==
Common
.
Enum
.
MarketingCenter
.
RecordTypeEnum
.
Expend
).
Sum
(
x
=>
x
.
Integral
??
0
).
ToString
();
}
return
ApiResult
.
Success
(
""
,
new
{
model
.
Income
,
model
.
Expend
});
}
#
endregion
}
}
\ No newline at end of file
Mall.WebApi/Controllers/MarketingCenter/RechargeController.cs
View file @
a90a895a
...
...
@@ -7,6 +7,7 @@ using Mall.Common.Plugin;
using
Mall.Model.Entity.MarketingCenter
;
using
Mall.Model.Extend.BaseSetUp
;
using
Mall.Model.Extend.MarketingCenter
;
using
Mall.Model.Extend.User
;
using
Mall.Module.MarketingCenter
;
using
Mall.WebApi.Filter
;
using
Microsoft.AspNetCore.Cors
;
...
...
@@ -195,5 +196,37 @@ namespace Mall.WebApi.Controllers.MarketingCenter
}
}
#
endregion
#
region
余额收支
/// <summary>
/// 余额收支列表
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetMemberBalancePageList
()
{
var
parms
=
RequestParm
;
ResultPageModel
pagelist
=
JsonConvert
.
DeserializeObject
<
ResultPageModel
>(
RequestParm
.
msg
.
ToString
());
RB_Member_Balance_Extend
demodel
=
JsonConvert
.
DeserializeObject
<
RB_Member_Balance_Extend
>(
RequestParm
.
msg
.
ToString
());
demodel
.
TenantId
=
UserInfo
.
TenantId
;
demodel
.
MallBaseId
=
parms
.
MallBaseId
;
var
list
=
rechargeModule
.
GetMemberBalancePageList
(
pagelist
.
pageIndex
,
pagelist
.
pageSize
,
out
long
count
,
demodel
);
pagelist
.
count
=
Convert
.
ToInt32
(
count
);
pagelist
.
pageData
=
list
.
Select
(
x
=>
new
{
x
.
Id
,
CreateDate
=
x
.
CreateDate
.
Value
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
),
x
.
MemberName
,
Balance
=
x
.
Balance
??
0
,
x
.
Description
,
x
.
Remarks
,
RecordTypeStr
=
Mall
.
Common
.
Plugin
.
EnumHelper
.
GetEnumName
(
x
.
Type
)
});
return
ApiResult
.
Success
(
""
,
pagelist
);
}
#
endregion
}
}
\ No newline at end of file
Mall.WebApi/Controllers/User/UserController.cs
View file @
a90a895a
This diff is collapsed.
Click to expand it.
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