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
882de974
Commit
882de974
authored
Sep 11, 2019
by
hanfeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改订单统计
parent
44aa7328
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
174 additions
and
11 deletions
+174
-11
OrderAccountDTO.java
...com/xxfc/platform/order/pojo/account/OrderAccountDTO.java
+18
-0
DailyOrderStatisticsBiz.java
.../com/xxfc/platform/order/biz/DailyOrderStatisticsBiz.java
+1
-1
DailyVehicleOrderStatisticsBiz.java
...fc/platform/order/biz/DailyVehicleOrderStatisticsBiz.java
+105
-7
OrderAccountBiz.java
...ain/java/com/xxfc/platform/order/biz/OrderAccountBiz.java
+14
-2
OrderAccountMapper.java
...va/com/xxfc/platform/order/mapper/OrderAccountMapper.java
+7
-1
OrderAccountMapper.xml
...r-server/src/main/resources/mapper/OrderAccountMapper.xml
+29
-0
No files found.
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/account/OrderAccountDTO.java
0 → 100644
View file @
882de974
package
com
.
xxfc
.
platform
.
order
.
pojo
.
account
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.xxfc.platform.order.entity.OrderAccount
;
import
lombok.Data
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
javax.persistence.Column
;
@Data
public
class
OrderAccountDTO
extends
OrderAccount
{
@Column
(
name
=
"companyId"
)
private
Integer
companyId
;
@Column
(
name
=
"oneDay"
)
private
String
oneDay
;
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/DailyOrderStatisticsBiz.java
View file @
882de974
...
@@ -27,7 +27,7 @@ public class DailyOrderStatisticsBiz extends BaseBiz<DailyOrderStatisticsMapper,
...
@@ -27,7 +27,7 @@ public class DailyOrderStatisticsBiz extends BaseBiz<DailyOrderStatisticsMapper,
@Scheduled
(
cron
=
"0 0 2 * * ?"
)
@Scheduled
(
cron
=
"0 0 2 * * ?"
)
public
boolean
statisticalOrder
(){
public
boolean
statisticalOrder
(){
boolean
vehicleFlag
=
vehicleStatisticsBiz
.
StatisticsOfCarRentalOrders
();
boolean
vehicleFlag
=
vehicleStatisticsBiz
.
saveDailyVehicleOrderRecord
();
boolean
travelFlag
=
travelStatisticsBiz
.
StatisticsOfTravelOrders
();
boolean
travelFlag
=
travelStatisticsBiz
.
StatisticsOfTravelOrders
();
boolean
membersFlag
=
membersStatisticsBiz
.
memberOrderStatistics
();
boolean
membersFlag
=
membersStatisticsBiz
.
memberOrderStatistics
();
if
(
vehicleFlag
&&
travelFlag
&&
membersFlag
){
if
(
vehicleFlag
&&
travelFlag
&&
membersFlag
){
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/DailyVehicleOrderStatisticsBiz.java
View file @
882de974
...
@@ -2,17 +2,25 @@ package com.xxfc.platform.order.biz;
...
@@ -2,17 +2,25 @@ package com.xxfc.platform.order.biz;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.copier.CopyOptions
;
import
cn.hutool.core.bean.copier.CopyOptions
;
import
cn.hutool.db.sql.Order
;
import
cn.hutool.json.JSONUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
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.exception.BaseException
;
import
com.xxfc.platform.order.contant.enumerate.OrderTypeEnum
;
import
com.xxfc.platform.order.entity.DailyOrderStatistics
;
import
com.xxfc.platform.order.entity.DailyOrderStatistics
;
import
com.xxfc.platform.order.entity.DailyVehicleOrderStatistics
;
import
com.xxfc.platform.order.entity.DailyVehicleOrderStatistics
;
import
com.xxfc.platform.order.entity.OrderAccount
;
import
com.xxfc.platform.order.entity.OrderStatistics
;
import
com.xxfc.platform.order.entity.OrderStatistics
;
import
com.xxfc.platform.order.mapper.DailyVehicleOrderStatisticsMapper
;
import
com.xxfc.platform.order.mapper.DailyVehicleOrderStatisticsMapper
;
import
com.xxfc.platform.order.pojo.DedDetailDTO
;
import
com.xxfc.platform.order.pojo.DedDetailDTO
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDTO
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDetail
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.redisson.misc.Hash
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
...
@@ -34,14 +42,30 @@ import java.util.stream.Collectors;
...
@@ -34,14 +42,30 @@ import java.util.stream.Collectors;
@Service
@Service
@Slf4j
@Slf4j
public
class
DailyVehicleOrderStatisticsBiz
extends
BaseBiz
<
DailyVehicleOrderStatisticsMapper
,
DailyVehicleOrderStatistics
>
{
public
class
DailyVehicleOrderStatisticsBiz
extends
BaseBiz
<
DailyVehicleOrderStatisticsMapper
,
DailyVehicleOrderStatistics
>
{
/**
* 延期
*/
private
final
Integer
TYPE_DEFERRED
=
1
;
private
final
Integer
TYPE_DEFERRED
=
1
;
/**
* 损坏
*/
private
final
Integer
TYPE_DAMAGE
=
2
;
private
final
Integer
TYPE_DAMAGE
=
2
;
/**
* 其他
*/
private
final
Integer
TYPE_OTHER
=
3
;
private
final
Integer
TYPE_OTHER
=
3
;
/**
* 统计几天前的数据
*/
@Value
(
"${order.day}"
)
@Value
(
"${order.day}"
)
private
Integer
day
;
private
Integer
day
;
@Autowired
private
OrderAccountBiz
accountBiz
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
StatisticsOfCarRentalOrders
()
{
public
boolean
StatisticsOfCarRentalOrders
()
{
...
@@ -104,15 +128,15 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
...
@@ -104,15 +128,15 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
if
(
StringUtils
.
isBlank
(
oneDay
))
{
if
(
StringUtils
.
isBlank
(
oneDay
))
{
throw
new
BaseException
();
throw
new
BaseException
();
}
}
Example
exa
=
new
Example
(
DailyVehicleOrderStatistics
.
class
);
Example
exa
=
new
Example
(
DailyVehicleOrderStatistics
.
class
);
exa
.
createCriteria
().
andEqualTo
(
"oneDay"
,
oneDay
);
exa
.
createCriteria
().
andEqualTo
(
"oneDay"
,
oneDay
);
List
<
DailyVehicleOrderStatistics
>
statistics
=
selectByExample
(
exa
);
List
<
DailyVehicleOrderStatistics
>
statistics
=
selectByExample
(
exa
);
if
(
CollectionUtils
.
isEmpty
(
statistics
)){
if
(
CollectionUtils
.
isEmpty
(
statistics
))
{
for
(
Map
.
Entry
<
Integer
,
DailyVehicleOrderStatistics
>
entry
:
map
.
entrySet
())
{
for
(
Map
.
Entry
<
Integer
,
DailyVehicleOrderStatistics
>
entry
:
map
.
entrySet
())
{
insertSelectiveRe
(
entry
.
getValue
());
insertSelectiveRe
(
entry
.
getValue
());
}
}
}
else
{
}
else
{
log
.
error
(
"今日已统计车辆订单,请不要重复统计!"
);
log
.
error
(
"今日已统计车辆订单,请不要重复统计!"
);
}
}
}
}
...
@@ -185,7 +209,7 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
...
@@ -185,7 +209,7 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
}
}
return
new
ArrayList
<>();
return
new
ArrayList
<>();
}
}
/****************************************************************************************************************************/
/**
/**
* 根据type获取对应的金额总和
* 根据type获取对应的金额总和
...
@@ -205,6 +229,11 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
...
@@ -205,6 +229,11 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
return
BigDecimal
.
ZERO
;
return
BigDecimal
.
ZERO
;
}
}
/***
* 添加每日记录
* @param entity
* @return
*/
@Override
@Override
public
int
insertSelectiveRe
(
DailyVehicleOrderStatistics
entity
)
{
public
int
insertSelectiveRe
(
DailyVehicleOrderStatistics
entity
)
{
...
@@ -212,7 +241,76 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
...
@@ -212,7 +241,76 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
return
mapper
.
insertSelective
(
entity
);
return
mapper
.
insertSelective
(
entity
);
}
}
public
OrderStatistics
findAll
(
Integer
companyId
)
{
public
OrderStatistics
findAll
(
Integer
companyId
)
{
return
mapper
.
monthOrderTotal
(
companyId
);
return
mapper
.
monthOrderTotal
(
companyId
);
}
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
saveDailyVehicleOrderRecord
()
{
try
{
//获取每日订单统计
DailyVehicleOrderStatistics
orderStatistics
=
getDailyVehicleOrderRecord
();
//保存统计
insertSelectiveRe
(
orderStatistics
);
return
true
;
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
());
return
false
;
}
}
private
DailyVehicleOrderStatistics
getDailyVehicleOrderRecord
()
{
//获取当天所有订单账目
List
<
OrderAccountDTO
>
accountList
=
accountBiz
.
getOrderAccountByOrderType
(
OrderTypeEnum
.
RENT_VEHICLE
.
getCode
(),
day
);
if
(
CollectionUtils
.
isEmpty
(
accountList
))
{
return
new
DailyVehicleOrderStatistics
();
}
//获取每个分公司当天所有的订单帐目
HashMap
<
Integer
,
List
<
OrderAccountDTO
>>
map
=
new
HashMap
<>();
for
(
OrderAccountDTO
orderAccountDTO
:
accountList
)
{
List
<
OrderAccountDTO
>
list
=
map
.
get
(
orderAccountDTO
.
getCompanyId
());
if
(
list
==
null
)
{
list
=
new
ArrayList
<>();
}
list
.
add
(
orderAccountDTO
);
}
//获取每个公司当天订单的总数据
ArrayList
<
DailyVehicleOrderStatistics
>
statistics
=
new
ArrayList
<>();
for
(
Map
.
Entry
<
Integer
,
List
<
OrderAccountDTO
>>
integerListEntry
:
map
.
entrySet
())
{
//获取账单详情
ArrayList
<
OrderAccountDetail
>
arrayList
=
new
ArrayList
<>();
List
<
OrderAccountDTO
>
orderAccountDTOS
=
integerListEntry
.
getValue
();
orderAccountDTOS
.
parallelStream
()
.
map
(
OrderAccount:
:
getAccountDetail
)
.
forEach
(
a
->
{
if
(
StringUtils
.
isNotBlank
(
a
))
{
arrayList
.
add
(
JSONUtil
.
toBean
(
a
,
OrderAccountDetail
.
class
));
}
});
//获取该公司当天的账单数据
if
(
CollectionUtils
.
isNotEmpty
(
orderAccountDTOS
))
{
DailyVehicleOrderStatistics
dvos
=
getStatisticsByOrderAccountDetail
(
arrayList
);
if
(
dvos
!=
null
)
{
statistics
.
add
(
dvos
);
dvos
.
setBranchCompanyId
(
integerListEntry
.
getKey
());
dvos
.
setOneDay
(
orderAccountDTOS
.
get
(
0
).
getOneDay
());
}
}
}
}
private
DailyVehicleOrderStatistics
getStatisticsByOrderAccountDetail
(
ArrayList
<
OrderAccountDetail
>
arrayList
)
{
DailyVehicleOrderStatistics
orderStatistics
=
new
DailyVehicleOrderStatistics
();
arrayList
.
}
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderAccountBiz.java
View file @
882de974
...
@@ -10,7 +10,7 @@ import com.xxfc.platform.order.contant.enumerate.RefundStatusEnum;
...
@@ -10,7 +10,7 @@ import com.xxfc.platform.order.contant.enumerate.RefundStatusEnum;
import
com.xxfc.platform.order.contant.enumerate.RefundTypeEnum
;
import
com.xxfc.platform.order.contant.enumerate.RefundTypeEnum
;
import
com.xxfc.platform.order.entity.BaseOrder
;
import
com.xxfc.platform.order.entity.BaseOrder
;
import
com.xxfc.platform.order.entity.OrderItem
;
import
com.xxfc.platform.order.entity.OrderItem
;
import
com.xxfc.platform.order.
entity.OrderRefund
;
import
com.xxfc.platform.order.
pojo.account.OrderAccountDTO
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDeduction
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDeduction
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDetail
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDetail
;
import
com.xxfc.platform.universal.entity.Dictionary
;
import
com.xxfc.platform.universal.entity.Dictionary
;
...
@@ -25,9 +25,9 @@ import com.xxfc.platform.order.entity.OrderAccount;
...
@@ -25,9 +25,9 @@ import com.xxfc.platform.order.entity.OrderAccount;
import
com.xxfc.platform.order.mapper.OrderAccountMapper
;
import
com.xxfc.platform.order.mapper.OrderAccountMapper
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
javax.xml.ws.Action
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.math.RoundingMode
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.Set
;
...
@@ -202,4 +202,16 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
...
@@ -202,4 +202,16 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
return
refundStatus
;
return
refundStatus
;
}
}
/**
* 获取每日订单账目,用于统计
* @param code
* @param day
* @return
*/
public
List
<
OrderAccountDTO
>
getOrderAccountByOrderType
(
Integer
code
,
Integer
day
)
{
return
mapper
.
getOrderAccountByOrderType
(
code
,
day
);
}
}
}
\ No newline at end of file
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mapper/OrderAccountMapper.java
View file @
882de974
package
com
.
xxfc
.
platform
.
order
.
mapper
;
package
com
.
xxfc
.
platform
.
order
.
mapper
;
import
com.xxfc.platform.order.entity.OrderAccount
;
import
com.xxfc.platform.order.entity.OrderAccount
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDTO
;
import
org.apache.ibatis.annotations.Param
;
import
tk.mybatis.mapper.common.Mapper
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
/**
/**
* 订单帐目
* 订单帐目
*
*
...
@@ -11,5 +16,6 @@ import tk.mybatis.mapper.common.Mapper;
...
@@ -11,5 +16,6 @@ import tk.mybatis.mapper.common.Mapper;
* @date 2019-09-09 15:51:16
* @date 2019-09-09 15:51:16
*/
*/
public
interface
OrderAccountMapper
extends
Mapper
<
OrderAccount
>
{
public
interface
OrderAccountMapper
extends
Mapper
<
OrderAccount
>
{
List
<
OrderAccountDTO
>
getOrderAccountByOrderType
(
@Param
(
"type"
)
Integer
type
,
@Param
(
"day"
)
Integer
day
);
}
}
xx-order/xx-order-server/src/main/resources/mapper/OrderAccountMapper.xml
0 → 100644
View file @
882de974
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.xxfc.platform.order.mapper.OrderAccountMapper"
>
<select
id=
"getOrderAccountByOrderType"
resultType=
"com.xxfc.platform.order.pojo.account.OrderAccountDTO"
>
SELECT
date(DATE_SUB(now(),interval #{day} day)) as oneDay,
a.*
<if
test=
"type != null and type == 1"
>
, v.start_company_id as companyId
</if>
<if
test=
"type != null and type == 2"
>
, t.start_company_id as companyId
</if>
FROM
order_account a
LEFT JOIN base_order b ON a.order_id = b.id
<if
test=
"type != null and type==1"
>
LEFT JOIN order_rent_vehicle_detail v ON b.id = v.order_id
</if>
<if
test=
"type != null and type==2"
>
LEFT JOIN order_tour_detail t ON b.id = t.order_id
</if>
WHERE
a.account_status=1
AND
b.type = #{type}
AND date( FROM_UNIXTIME( a.crt_time / 1000 ) ) = date( DATE_SUB( now( ), INTERVAL #{day} DAY ) )
</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