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
bb132a37
Commit
bb132a37
authored
Sep 26, 2019
by
hanfeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改订单统计
parent
3cb8c1a8
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
226 additions
and
17 deletions
+226
-17
OrderInquiryType.java
...fc/platform/order/contant/enumerate/OrderInquiryType.java
+30
-0
MembersOrder.java
...ain/java/com/xxfc/platform/order/entity/MembersOrder.java
+17
-0
Member.java
...pi/src/main/java/com/xxfc/platform/order/pojo/Member.java
+27
-0
MembersOrderDto.java
...in/java/com/xxfc/platform/order/pojo/MembersOrderDto.java
+32
-0
OrderQuery.java
...rc/main/java/com/xxfc/platform/order/pojo/OrderQuery.java
+29
-0
DailyMembersOrderStatisticsBiz.java
...fc/platform/order/biz/DailyMembersOrderStatisticsBiz.java
+11
-4
OrderStatisticsBiz.java
.../java/com/xxfc/platform/order/biz/OrderStatisticsBiz.java
+19
-2
DailyMembersOrderStatisticsMapper.java
...tform/order/mapper/DailyMembersOrderStatisticsMapper.java
+5
-0
OrderStatisticsController.java
...form/order/rest/background/OrderStatisticsController.java
+30
-11
DailyMembersOrderStatisticsMapper.xml
...in/resources/mapper/DailyMembersOrderStatisticsMapper.xml
+26
-0
No files found.
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/OrderInquiryType.java
0 → 100644
View file @
bb132a37
package
com
.
xxfc
.
platform
.
order
.
contant
.
enumerate
;
import
lombok.NoArgsConstructor
;
@NoArgsConstructor
public
enum
OrderInquiryType
{
DAY
(
1
,
"按天分类"
),
WEEK
(
2
,
"按周分类"
),
MONTH
(
3
,
"按月分类"
);
/**
* 编码
*/
private
Integer
code
;
/**
* 类型描述
*/
private
String
desc
;
OrderInquiryType
(
Integer
code
,
String
desc
)
{
this
.
code
=
code
;
this
.
desc
=
desc
;
}
public
Integer
getCode
()
{
return
code
;
}
public
String
getDesc
()
{
return
desc
;
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/MembersOrder.java
0 → 100644
View file @
bb132a37
package
com
.
xxfc
.
platform
.
order
.
entity
;
import
lombok.Data
;
import
java.math.BigDecimal
;
@Data
public
class
MembersOrder
{
private
String
oneDay
;
private
BigDecimal
amount
;
private
Integer
number
;
private
Integer
level
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/Member.java
0 → 100644
View file @
bb132a37
package
com
.
xxfc
.
platform
.
order
.
pojo
;
import
lombok.Data
;
/**
* 每日、每周或每月不同会员的总数据
* @author Administrator
*/
@Data
public
class
Member
{
/**
* 金额
*/
private
Integer
amount
;
/**
* 会员等级
*/
private
Integer
level
;
/**
* 会员名
*/
private
String
memberName
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/MembersOrderDto.java
0 → 100644
View file @
bb132a37
package
com
.
xxfc
.
platform
.
order
.
pojo
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.util.List
;
/**
* 每日、每周、每月会员购买数据
* @author Administrator
*/
@Data
public
class
MembersOrderDto
{
/**
* 时间段
*/
private
String
timeSlot
;
/**
* 时间段总数据
*
*/
private
BigDecimal
totalPayment
;
/**
* 时间段内不同会员数据
*/
private
List
<
Member
>
members
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/OrderQuery.java
0 → 100644
View file @
bb132a37
package
com
.
xxfc
.
platform
.
order
.
pojo
;
import
lombok.Data
;
/**
* 会员订单统计条件
* @author Administrator
*/
@Data
public
class
OrderQuery
{
private
Integer
page
;
private
Integer
limit
;
/**
* 查询开始时间
*/
private
Long
startTime
;
/**
* 查询结束时间
*/
private
Long
endTime
;
/**
* 1.按每日统计,2.按每周统计,3.按每月统计
*/
private
Integer
type
=
1
;
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/DailyMembersOrderStatisticsBiz.java
View file @
bb132a37
...
...
@@ -2,17 +2,17 @@ package com.xxfc.platform.order.biz;
import
cn.hutool.json.JSONUtil
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.google.common.collect.Lists
;
import
com.xxfc.platform.order.contant.enumerate.OrderTypeEnum
;
import
com.xxfc.platform.order.entity.DailyMembersOrderStatistics
;
import
com.xxfc.platform.order.entity.MembersOrder
;
import
com.xxfc.platform.order.entity.OrderAccount
;
import
com.xxfc.platform.order.entity.OrderStatistics
;
import
com.xxfc.platform.order.mapper.DailyMembersOrderStatisticsMapper
;
import
com.xxfc.platform.order.pojo.OrderQuery
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDTO
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDetail
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.beanutils.BeanUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -20,13 +20,11 @@ import org.springframework.beans.factory.annotation.Value;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
tk.mybatis.mapper.entity.Example
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
/**
* 每日购买会员订单统计
...
...
@@ -120,4 +118,13 @@ public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderSta
public
OrderStatistics
findAll
(
Integer
companyId
)
{
return
mapper
.
monthOrderTotal
(
companyId
);
}
/**
* 根据时间按年月日分组
* @param query
* @return
*/
public
List
<
MembersOrder
>
getMemberOrderStatistics
(
OrderQuery
query
)
{
return
mapper
.
getMemberOrderStatistics
(
query
);
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderStatisticsBiz.java
View file @
bb132a37
package
com
.
xxfc
.
platform
.
order
.
biz
;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.google.common.collect.Ordering
;
import
com.xxfc.platform.order.contant.enumerate.OrderInquiryType
;
import
com.xxfc.platform.order.entity.MembersOrder
;
import
com.xxfc.platform.order.entity.OrderStatistics
;
import
com.xxfc.platform.order.mapper.OrderStatisticsMapper
;
import
com.xxfc.platform.order.pojo.HomePageOrderData
;
import
com.xxfc.platform.order.pojo.MembersOrderDto
;
import
com.xxfc.platform.order.pojo.OrderQuery
;
import
org.assertj.core.util.Lists
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.util.
ArrayList
;
import
java.util.
Object
s
;
import
java.util.
*
;
import
java.util.
stream.Collector
s
;
/**
...
...
@@ -74,4 +82,13 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
return
result
;
}
public
List
<
MembersOrderDto
>
getMemberOrderStatistics
(
List
<
BaseUserMemberLevel
>
memberLevels
,
OrderQuery
query
)
{
List
<
MembersOrder
>
membersOrderList
=
membersBiz
.
getMemberOrderStatistics
(
query
);
//按每天分类
if
(
CollectionUtil
.
isEmpty
(
membersOrderList
))
{
return
Lists
.
newArrayList
();
}
getlist
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mapper/DailyMembersOrderStatisticsMapper.java
View file @
bb132a37
package
com
.
xxfc
.
platform
.
order
.
mapper
;
import
com.xxfc.platform.order.entity.DailyMembersOrderStatistics
;
import
com.xxfc.platform.order.entity.MembersOrder
;
import
com.xxfc.platform.order.entity.OrderStatistics
;
import
com.xxfc.platform.order.pojo.OrderQuery
;
import
org.apache.ibatis.annotations.Param
;
import
tk.mybatis.mapper.common.Mapper
;
...
...
@@ -18,4 +20,7 @@ public interface DailyMembersOrderStatisticsMapper extends Mapper<DailyMembersOr
OrderStatistics
monthOrderTotal
(
@Param
(
"companyId"
)
Integer
companyId
);
List
<
MembersOrder
>
getMemberOrderStatistics
(
OrderQuery
query
);
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/background/OrderStatisticsController.java
View file @
bb132a37
package
com
.
xxfc
.
platform
.
order
.
rest
.
background
;
import
com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.dto.UserDTO
;
import
com.github.wxiaoqi.security.auth.client.config.UserAuthConfig
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
com.github.wxiaoqi.security.common.util.Query
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.xxfc.platform.order.biz.DailyMembersOrderStatisticsBiz
;
import
com.xxfc.platform.order.biz.DailyTravelOrderStatisticsBiz
;
...
...
@@ -13,13 +15,17 @@ import com.xxfc.platform.order.biz.DailyVehicleOrderStatisticsBiz;
import
com.xxfc.platform.order.biz.OrderStatisticsBiz
;
import
com.xxfc.platform.order.entity.OrderStatistics
;
import
com.xxfc.platform.order.pojo.HomePageOrderData
;
import
com.xxfc.platform.order.pojo.OrderQuery
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.web.bind.annotation.*
;
import
java.text.DateFormat
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* @author Administrator
...
...
@@ -39,7 +45,7 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz
private
final
Integer
TYPE_VEHICLE
=
1
;
/**
* 旅游订单
* 旅游订单
*/
private
final
Integer
TYPE_TOUR
=
2
;
...
...
@@ -56,7 +62,7 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz
/**
* 数据权限
*/
private
final
Integer
DATA_AUTHORITY
=
1
;
private
final
Integer
DATA_AUTHORITY
=
1
;
@Autowired
private
DailyVehicleOrderStatisticsBiz
vehicleBiz
;
...
...
@@ -68,6 +74,7 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz
@Autowired
private
DailyMembersOrderStatisticsBiz
membersBiz
;
@ApiOperation
(
"获取订单统计数据"
)
@GetMapping
(
"/findAll/{type}"
)
public
ObjectRestResponse
findAll
(
@PathVariable
Integer
type
)
{
...
...
@@ -83,13 +90,13 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz
UserDTO
user
=
userDTOObjectRestResponse
.
getData
();
Integer
companyId
=
user
.
getCompanyId
();
if
(
DATA_AUTHORITY
.
equals
(
user
.
getDataAll
())){
companyId
=
null
;
if
(
DATA_AUTHORITY
.
equals
(
user
.
getDataAll
()))
{
companyId
=
null
;
}
if
(
TYPE_VEHICLE
.
equals
(
type
))
{
OrderStatistics
vehicle
=
vehicleBiz
.
findAll
(
companyId
);
return
ObjectRestResponse
.
succ
(
new
HomePageOrderData
(){{
return
ObjectRestResponse
.
succ
(
new
HomePageOrderData
()
{{
setTotalOrders
(
vehicle
.
getTotalGmv
().
subtract
(
vehicle
.
getTotalReturnGmv
()));
setAdditionalIndemnity
(
vehicle
.
getTotalCompensation
()
.
add
(
vehicle
.
getTotalForfeit
())
...
...
@@ -100,14 +107,14 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz
}
if
(
TYPE_TOUR
.
equals
(
type
))
{
OrderStatistics
tour
=
TravelBiz
.
findAll
(
companyId
);
return
ObjectRestResponse
.
succ
(
new
HomePageOrderData
(){{
return
ObjectRestResponse
.
succ
(
new
HomePageOrderData
()
{{
setTotalOrders
(
tour
.
getTotalGmv
().
subtract
(
tour
.
getTotalReturnGmv
()));
setAdditionalIndemnity
(
tour
.
getTotalDefaultMoney
());
}});
}
if
(
TYPE_MEMBER
.
equals
(
type
))
{
OrderStatistics
member
=
membersBiz
.
findAll
(
companyId
);
return
ObjectRestResponse
.
succ
(
new
HomePageOrderData
(){{
return
ObjectRestResponse
.
succ
(
new
HomePageOrderData
()
{{
setTotalOrders
(
member
.
getTotalGmv
());
}});
...
...
@@ -125,5 +132,17 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz
}
@GetMapping
(
"/order"
)
public
ObjectRestResponse
getMemberOrderStatisticsData
(
@RequestBody
OrderQuery
query
)
{
//获取会员等级信息
List
<
BaseUserMemberLevel
>
memberLevels
=
userFeign
.
levels
();
//获取会员订单统计信息
baseBiz
.
getMemberOrderStatistics
(
memberLevels
,
query
);
return
ObjectRestResponse
.
succ
();
}
}
xx-order/xx-order-server/src/main/resources/mapper/DailyMembersOrderStatisticsMapper.xml
View file @
bb132a37
...
...
@@ -38,4 +38,30 @@
<!-- DATE_FORMAT(one_day,'%Y-%c')=DATE_FORMAT(DATE_SUB(NOW(),interval 1 day),'%Y-%c')-->
<!-- </select>-->
<select
id=
"getMemberOrderStatistics"
parameterType=
"com.xxfc.platform.order.pojo.OrderQuery"
resultType=
"com.xxfc.platform.order.entity.MembersOrder"
>
SELECT
date( FROM_UNIXTIME( a.crt_time / 1000 ) ) AS oneDay,
count( a.id ) AS number,
SUM( a.account_amount ) AS amount,
d.member_level AS LEVEL
FROM
order_account a
LEFT JOIN base_order b ON a.order_id = b.id
LEFT JOIN order_member_detail d ON d.order_id = b.id
WHERE
a.account_status = 1
AND a.account_type = 101
AND b.type = 3
<if
test=
"startTime != null"
>
AND a.crt_time
>
= #{startTime}
</if>
<if
test=
"endTime != null"
>
AND a.crt_time
<
= #{endTime}
</if>
GROUP BY
date( FROM_UNIXTIME( a.crt_time / 1000 ) ),
d.member_level
</select>
</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