Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform
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
youjj
cloud-platform
Commits
ef31d8fa
Commit
ef31d8fa
authored
Sep 27, 2019
by
hanfeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改订单统计
parent
f48105ee
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
85 additions
and
9 deletions
+85
-9
MembersOrder.java
...ain/java/com/xxfc/platform/order/entity/MembersOrder.java
+10
-4
Member.java
...pi/src/main/java/com/xxfc/platform/order/pojo/Member.java
+8
-2
OrderStatisticsBiz.java
.../java/com/xxfc/platform/order/biz/OrderStatisticsBiz.java
+43
-0
DailyMembersOrderStatisticsMapper.xml
...in/resources/mapper/DailyMembersOrderStatisticsMapper.xml
+24
-3
No files found.
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/MembersOrder.java
View file @
ef31d8fa
package
com
.
xxfc
.
platform
.
order
.
entity
;
package
com
.
xxfc
.
platform
.
order
.
entity
;
import
com.xxfc.platform.order.pojo.Member
;
import
lombok.Data
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.List
;
/**
* @author Administrator
*/
@Data
@Data
public
class
MembersOrder
{
public
class
MembersOrder
{
private
String
oneDay
;
/**
* 时间段按日(yyyy-MM-dd)/周(yyyy-ww) /月(yyyy-MM)
*/
private
String
period
;
private
BigDecimal
amount
;
List
<
Member
>
members
;
private
Integer
number
;
private
Integer
level
;
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/Member.java
View file @
ef31d8fa
...
@@ -2,6 +2,8 @@ package com.xxfc.platform.order.pojo;
...
@@ -2,6 +2,8 @@ package com.xxfc.platform.order.pojo;
import
lombok.Data
;
import
lombok.Data
;
import
java.math.BigDecimal
;
/**
/**
* 每日、每周或每月不同会员的总数据
* 每日、每周或每月不同会员的总数据
* @author Administrator
* @author Administrator
...
@@ -11,17 +13,21 @@ public class Member {
...
@@ -11,17 +13,21 @@ public class Member {
/**
/**
* 金额
* 金额
*/
*/
private
Integer
amount
;
private
BigDecimal
amount
;
/**
/**
* 会员等级
* 会员等级
*/
*/
private
Integer
level
;
private
Integer
level
;
/**
* 购买次数
*/
private
Integer
number
;
/**
/**
* 会员名
* 会员名
*/
*/
private
String
memberName
;
private
String
memberName
;
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderStatisticsBiz.java
View file @
ef31d8fa
...
@@ -3,13 +3,16 @@ package com.xxfc.platform.order.biz;
...
@@ -3,13 +3,16 @@ package com.xxfc.platform.order.biz;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel
;
import
com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.google.common.collect.Maps
;
import
com.google.common.collect.Ordering
;
import
com.google.common.collect.Ordering
;
import
com.xxfc.platform.order.contant.enumerate.OrderInquiryType
;
import
com.xxfc.platform.order.contant.enumerate.OrderInquiryType
;
import
com.xxfc.platform.order.entity.MembersOrder
;
import
com.xxfc.platform.order.entity.MembersOrder
;
import
com.xxfc.platform.order.entity.OrderStatistics
;
import
com.xxfc.platform.order.entity.OrderStatistics
;
import
com.xxfc.platform.order.mapper.OrderStatisticsMapper
;
import
com.xxfc.platform.order.mapper.OrderStatisticsMapper
;
import
com.xxfc.platform.order.pojo.HomePageOrderData
;
import
com.xxfc.platform.order.pojo.HomePageOrderData
;
import
com.xxfc.platform.order.pojo.Member
;
import
com.xxfc.platform.order.pojo.MembersOrderDto
;
import
com.xxfc.platform.order.pojo.MembersOrderDto
;
import
com.xxfc.platform.order.pojo.OrderQuery
;
import
com.xxfc.platform.order.pojo.OrderQuery
;
import
org.assertj.core.util.Lists
;
import
org.assertj.core.util.Lists
;
...
@@ -84,10 +87,50 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
...
@@ -84,10 +87,50 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
public
List
<
MembersOrderDto
>
getMemberOrderStatistics
(
List
<
BaseUserMemberLevel
>
memberLevels
,
OrderQuery
query
)
{
public
List
<
MembersOrderDto
>
getMemberOrderStatistics
(
List
<
BaseUserMemberLevel
>
memberLevels
,
OrderQuery
query
)
{
List
<
MembersOrder
>
membersOrderList
=
membersBiz
.
getMemberOrderStatistics
(
query
);
List
<
MembersOrder
>
membersOrderList
=
membersBiz
.
getMemberOrderStatistics
(
query
);
//按每天分类
//按每天分类
if
(
CollectionUtil
.
isEmpty
(
membersOrderList
))
{
if
(
CollectionUtil
.
isEmpty
(
membersOrderList
))
{
return
Lists
.
newArrayList
();
return
Lists
.
newArrayList
();
}
}
//按每天分类
if
(
CollectionUtil
.
isEmpty
(
memberLevels
))
{
throw
new
BaseException
(
"获取不到会员信息"
);
}
//获取会员等级对应的名称
HashMap
<
Integer
,
String
>
map
=
Maps
.
newHashMap
();
for
(
BaseUserMemberLevel
memberLevel
:
memberLevels
)
{
map
.
put
(
memberLevel
.
getLevel
(),
memberLevel
.
getName
());
}
//按查询条件获取统计信息
if
(
OrderInquiryType
.
DAY
.
getCode
().
equals
(
query
.
getType
()))
{
ArrayList
<
MembersOrderDto
>
arrayList
=
Lists
.
newArrayList
();
for
(
MembersOrder
mb
:
membersOrderList
)
{
MembersOrderDto
mbdto
=
new
MembersOrderDto
();
mbdto
.
setTimeSlot
(
mb
.
getPeriod
());
BigDecimal
totalPayment
=
mbdto
.
getTotalPayment
();
List
<
Member
>
members
=
mb
.
getMembers
();
if
(
CollectionUtil
.
isNotEmpty
(
members
))
{
mbdto
.
setMembers
(
members
);
for
(
Member
member
:
members
)
{
member
.
setMemberName
(
map
.
get
(
member
.
getLevel
()));
totalPayment
=
totalPayment
.
add
(
member
.
getAmount
());
}
}
}
return
arrayList
;
}
if
(
OrderInquiryType
.
WEEK
.
getCode
().
equals
(
query
.
getType
())){
ArrayList
<
MembersOrderDto
>
arrayList
=
Lists
.
newArrayList
();
for
(
int
i
=
0
;
i
<
membersOrderList
.
size
();
i
++)
{
}
}
return
null
;
}
}
}
}
xx-order/xx-order-server/src/main/resources/mapper/DailyMembersOrderStatisticsMapper.xml
View file @
ef31d8fa
...
@@ -40,12 +40,18 @@
...
@@ -40,12 +40,18 @@
<!-- </select>-->
<!-- </select>-->
<select
id=
"getMemberOrderStatistics"
parameterType=
"com.xxfc.platform.order.pojo.OrderQuery"
<select
id=
"getMemberOrderStatistics"
parameterType=
"com.xxfc.platform.order.pojo.OrderQuery"
result
Type=
"com.xxfc.platform.order.entity.MembersO
rder"
>
result
Map=
"o
rder"
>
SELECT
SELECT
date( FROM_UNIXTIME( a.crt_time / 1000 ) ) AS oneDay,
<if
test=
"type==2"
>
DATE_FORMAT(date( FROM_UNIXTIME( a.crt_time / 1000 ) ),'%Y-%m') AS period,
</if>
<if
test=
"type==3"
>
DATE_FORMAT(date( FROM_UNIXTIME( a.crt_time / 1000 ) ),'%Y-%v') AS period,
</if>
date( FROM_UNIXTIME( a.crt_time / 1000 ) ) AS period,
count( a.id ) AS number,
count( a.id ) AS number,
SUM( a.account_amount ) AS amount,
SUM( a.account_amount ) AS amount,
d.member_level AS
LEVEL
d.member_level AS
level
FROM
FROM
order_account a
order_account a
LEFT JOIN base_order b ON a.order_id = b.id
LEFT JOIN base_order b ON a.order_id = b.id
...
@@ -61,7 +67,22 @@
...
@@ -61,7 +67,22 @@
AND a.crt_time
<
= #{endTime}
AND a.crt_time
<
= #{endTime}
</if>
</if>
GROUP BY
GROUP BY
<if
test=
"type==2"
>
DATE_FORMAT(date( FROM_UNIXTIME( a.crt_time / 1000 ) ),'%Y-%m'),
</if>
<if
test=
"type==3"
>
DATE_FORMAT(date( FROM_UNIXTIME( a.crt_time / 1000 ) ),'%Y-%v'),
</if>
date( FROM_UNIXTIME( a.crt_time / 1000 ) ),
date( FROM_UNIXTIME( a.crt_time / 1000 ) ),
d.member_level
d.member_level
</select>
</select>
<resultMap
id=
"order"
type=
"com.xxfc.platform.order.entity.MembersOrder"
>
<result
column=
"period"
property=
"period"
></result>
<collection
property=
"members"
ofType=
"com.xxfc.platform.order.pojo.Member"
>
<result
column=
"number"
property=
"level"
></result>
<result
column=
"amount"
property=
"level"
></result>
<result
column=
"level"
property=
"level"
></result>
</collection>
</resultMap>
</mapper>
</mapper>
\ No newline at end of file
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