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
db1bbf24
Commit
db1bbf24
authored
Aug 09, 2019
by
libin
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
977e1034
5c239dbf
Changes
37
Show whitespace changes
Inline
Side-by-side
Showing
37 changed files
with
758 additions
and
149 deletions
+758
-149
.gitignore
.gitignore
+2
-0
UserBiz.java
...n/java/com/github/wxiaoqi/security/admin/biz/UserBiz.java
+2
-6
UserCouponVo.java
...main/java/com/xxfc/platform/activity/vo/UserCouponVo.java
+6
-0
UserCouponBiz.java
...in/java/com/xxfc/platform/activity/biz/UserCouponBiz.java
+65
-1
UserCouponController.java
...com/xxfc/platform/activity/rest/UserCouponController.java
+19
-0
MsgBiz.java
...server/src/main/java/com/xxfc/platform/im/biz/MsgBiz.java
+31
-0
MsgController.java
...rc/main/java/com/xxfc/platform/im/rest/MsgController.java
+4
-0
DailyOrderStatistics.java
.../com/xxfc/platform/order/entity/DailyOrderStatistics.java
+7
-0
DailyVehicleOrderStatistics.java
...fc/platform/order/entity/DailyVehicleOrderStatistics.java
+5
-5
DepositRefundRecord.java
...a/com/xxfc/platform/order/entity/DepositRefundRecord.java
+1
-5
OrderStatistics.java
.../java/com/xxfc/platform/order/entity/OrderStatistics.java
+63
-0
OrderFeign.java
...c/main/java/com/xxfc/platform/order/feign/OrderFeign.java
+1
-1
DedDetailDTO.java
.../main/java/com/xxfc/platform/order/pojo/DedDetailDTO.java
+10
-0
OrderVehicleCrosstownDto.java
...c/platform/order/pojo/order/OrderVehicleCrosstownDto.java
+5
-0
pom.xml
xx-order/xx-order-server/pom.xml
+7
-0
DailyMembersOrderStatisticsBiz.java
...fc/platform/order/biz/DailyMembersOrderStatisticsBiz.java
+27
-7
DailyTravelOrderStatisticsBiz.java
...xfc/platform/order/biz/DailyTravelOrderStatisticsBiz.java
+43
-15
DailyVehicleOrderStatisticsBiz.java
...fc/platform/order/biz/DailyVehicleOrderStatisticsBiz.java
+126
-41
OrderDepositRefundRecordBiz.java
.../xxfc/platform/order/biz/OrderDepositRefundRecordBiz.java
+8
-0
OrderRefundBiz.java
...main/java/com/xxfc/platform/order/biz/OrderRefundBiz.java
+8
-4
OrderStatisticsBiz.java
.../java/com/xxfc/platform/order/biz/OrderStatisticsBiz.java
+12
-0
OrderVehicleCrosstownBiz.java
...com/xxfc/platform/order/biz/OrderVehicleCrosstownBiz.java
+10
-0
SwaggerConfig.java
...in/java/com/xxfc/platform/order/config/SwaggerConfig.java
+1
-1
DailyMembersOrderStatisticsMapper.java
...tform/order/mapper/DailyMembersOrderStatisticsMapper.java
+6
-1
DailyTravelOrderStatisticsMapper.java
...atform/order/mapper/DailyTravelOrderStatisticsMapper.java
+6
-3
DailyVehicleOrderStatisticsMapper.java
...tform/order/mapper/DailyVehicleOrderStatisticsMapper.java
+8
-5
OrderStatisticsMapper.java
...com/xxfc/platform/order/mapper/OrderStatisticsMapper.java
+11
-0
OrderStatisticsController.java
...form/order/rest/background/OrderStatisticsController.java
+90
-0
DailyMembersOrderStatisticsMapper.xml
...in/resources/mapper/DailyMembersOrderStatisticsMapper.xml
+13
-1
DailyTravelOrderStatisticsMapper.xml
...ain/resources/mapper/DailyTravelOrderStatisticsMapper.xml
+37
-10
DailyVehicleOrderStatisticsMapper.xml
...in/resources/mapper/DailyVehicleOrderStatisticsMapper.xml
+81
-33
ServiceTest.java
xx-order/xx-order-server/src/test/java/ServiceTest.java
+29
-0
VehicleBookRecordVo.java
...a/com/xxfc/platform/vehicle/pojo/VehicleBookRecordVo.java
+1
-1
VehicleActiveService.java
...a/com/xxfc/platform/vehicle/biz/VehicleActiveService.java
+0
-1
VehicleModelController.java
...om/xxfc/platform/vehicle/rest/VehicleModelController.java
+0
-1
VehicleBookRecordMapper.xml
...ver/src/main/resources/mapper/VehicleBookRecordMapper.xml
+9
-2
VehicleMapper.xml
...ehicle-server/src/main/resources/mapper/VehicleMapper.xml
+4
-5
No files found.
.gitignore
View file @
db1bbf24
...
...
@@ -9,3 +9,5 @@ target/
ace-modules/ace-tool/src/main/resources/application-dev.yml
src/main/test/**
logs/**
xx-order/xx-order-server/logs/**
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/UserBiz.java
View file @
db1bbf24
...
...
@@ -110,11 +110,7 @@ public class UserBiz extends BaseBiz<UserMapper,User> {
return
mapper
.
select
(
user
);
}
public
User
getUserByUid
(
Integer
toUid
){
User
user
=
mapper
.
getUserByUid
(
toUid
);
if
(
user
!=
null
){
user
=
mapper
.
selectByPrimaryKey
(
user
.
getId
());
}
return
user
;
public
User
getUserByUid
(
Integer
userId
){
return
mapper
.
selectByPrimaryKey
(
userId
);
}
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/vo/UserCouponVo.java
View file @
db1bbf24
...
...
@@ -150,5 +150,11 @@ public class UserCouponVo {
@ApiModelProperty
(
value
=
"跳转链接"
)
private
String
url
;
/**
* 是否选中
*/
@ApiModelProperty
(
value
=
"是否选中"
)
private
Integer
isChecked
;
}
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/UserCouponBiz.java
View file @
db1bbf24
package
com
.
xxfc
.
platform
.
activity
.
biz
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.wxiaoqi.security.admin.dto.UserInfoDTO
;
import
com.github.wxiaoqi.security.admin.entity.AppUserLogin
;
...
...
@@ -139,6 +140,8 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> {
}
Long
time
=
System
.
currentTimeMillis
();
List
<
UserCouponVo
>
list
=
mapper
.
getUserCouponsByType
(
userId
,
type
,
time
,
channel
);
List
<
UserCouponVo
>
list1
=
new
ArrayList
<>();
List
<
UserCouponVo
>
list2
=
new
ArrayList
<>();
if
(
list
.
size
()>
0
){
for
(
UserCouponVo
couponVo:
list
){
Integer
status
=
2
;
...
...
@@ -147,8 +150,69 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> {
if
(
amout
.
compareTo
(
couponVo
.
getWithAmount
())>=
0
){
status
=
1
;
}
couponVo
.
setStatus
(
status
);
list1
.
add
(
couponVo
);
}
else
if
(
couponVo
.
getType
()==
3
){
status
=
1
;
couponVo
.
setStatus
(
status
);
list2
.
add
(
couponVo
);
}
}
}
// list.sort(Comparator.comparing(UserCouponVo::getStatus));
}
UserCouponVo
userCouponVo
=
null
;
if
(
list2
.
size
()>
0
){
userCouponVo
=
list2
.
get
(
0
);
if
(
userCouponVo
!=
null
){
userCouponVo
.
setIsChecked
(
1
);
list2
.
set
(
0
,
userCouponVo
);
}
list2
.
sort
(
Comparator
.
comparing
(
UserCouponVo:
:
getStatus
));
}
if
(
list1
.
size
()>
0
){
if
(
userCouponVo
==
null
){
userCouponVo
=
list1
.
get
(
0
);
if
(
userCouponVo
!=
null
){
userCouponVo
.
setIsChecked
(
1
);
list1
.
set
(
0
,
userCouponVo
);
}
}
list1
.
sort
(
Comparator
.
comparing
(
UserCouponVo:
:
getStatus
));
}
JSONArray
array
=
new
JSONArray
();
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"type"
,
1
);
object
.
put
(
"list"
,
list1
);
array
.
add
(
object
);
JSONObject
object1
=
new
JSONObject
();
object1
.
put
(
"type"
,
3
);
object1
.
put
(
"list"
,
list2
);
array
.
add
(
object1
);
JSONObject
result
=
new
JSONObject
();
result
.
put
(
"coupon"
,
userCouponVo
);
result
.
put
(
"array"
,
array
);
return
ObjectRestResponse
.
succ
(
result
);
}
//获取我的优惠卷
public
ObjectRestResponse
getUserCouponList
(
Integer
userId
,
int
type
,
Integer
channel
,
BigDecimal
amout
)
{
if
(
userId
==
null
||
userId
==
0
)
{
log
.
error
(
"----参数不能为空"
);
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
NULL_CODE
,
"参数不能为空"
);
}
Long
time
=
System
.
currentTimeMillis
();
List
<
UserCouponVo
>
list
=
mapper
.
getUserCouponsByType
(
userId
,
type
,
time
,
channel
);
if
(
list
.
size
()
>
0
)
{
for
(
UserCouponVo
couponVo
:
list
)
{
Integer
status
=
2
;
if
(
amout
.
compareTo
(
new
BigDecimal
(
"0.00"
))
>
0
)
{
if
(
couponVo
.
getType
()
==
1
)
{
if
(
amout
.
compareTo
(
couponVo
.
getWithAmount
())
>=
0
)
{
status
=
1
;
}
}
else
if
(
couponVo
.
getType
()
==
3
)
{
status
=
1
;
}
}
couponVo
.
setStatus
(
status
);
...
...
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/rest/UserCouponController.java
View file @
db1bbf24
...
...
@@ -45,6 +45,25 @@ public class UserCouponController extends ActivityBaseController<UserCouponBiz>
if
(
userId
==
null
){
return
ObjectRestResponse
.
createDefaultFail
();
}
return
baseBiz
.
getUserCouponList
(
userId
,
type
,
channel
,
amount
);
}
/**
*
* @param type 0-未使用;1-已使用;3-已过期
* @param channel 1-租车;2-旅游;null-全部
* @return
*/
@ApiOperation
(
"订单我的优惠卷"
)
@RequestMapping
(
value
=
"/coupon/typelist"
,
method
=
RequestMethod
.
GET
)
public
ObjectRestResponse
typelist
(
@RequestParam
(
value
=
"type"
,
defaultValue
=
"0"
)
Integer
type
,
@RequestParam
(
value
=
"channel"
,
required
=
false
)
Integer
channel
,
@RequestParam
(
value
=
"amount"
,
defaultValue
=
"0.00"
)
BigDecimal
amount
)
{
AppUserDTO
userInfo
=
getUserInfo
();
Integer
userId
=
userInfo
.
getUserid
();
if
(
userId
==
null
){
return
ObjectRestResponse
.
createDefaultFail
();
}
return
baseBiz
.
getCouponList
(
userId
,
type
,
channel
,
amount
);
}
...
...
xx-im/xx-im-server/src/main/java/com/xxfc/platform/im/biz/MsgBiz.java
View file @
db1bbf24
...
...
@@ -7,6 +7,7 @@ import com.github.pagehelper.PageInfo;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.admin.vo.ImiVo
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.xxfc.platform.im.dto.CommentVo
;
import
com.xxfc.platform.im.dto.PraiseVo
;
import
com.xxfc.platform.im.model.Comment
;
...
...
@@ -122,6 +123,36 @@ public class MsgBiz {
return
ObjectRestResponse
.
succ
();
}
public
ObjectRestResponse
getMsgListByUserId
(
Integer
page
,
Integer
limit
)
{
//获取所有朋友圈
page
=
page
==
null
?
1
:
page
;
limit
=
limit
==
null
?
10
:
limit
;
AppUserDTO
appUserDTO
=
userBiz
.
getUserInfo
();
Integer
userId
=
null
;
if
(
appUserDTO
!=
null
)
{
userId
=
appUserDTO
.
getImUserid
();
}
else
{
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
RSTOKEN_EXPIRED_CODE
,
"token失效"
);
}
Pageable
pageable
=
PageRequest
.
of
(--
page
,
limit
);
List
<
Integer
>
ids
=
new
ArrayList
<>();
ids
.
add
(
2
);
ids
.
add
(
4
);
Query
query
=
new
Query
(
Criteria
.
where
(
"body.type"
).
in
(
ids
));
query
.
addCriteria
(
Criteria
.
where
(
"userId"
).
is
(
userId
));
int
totalSize
=
mongoTemplate
.
find
(
query
,
Msg
.
class
,
"s_msg"
).
size
();
query
.
with
(
pageable
);
query
.
with
(
new
Sort
(
Sort
.
Direction
.
DESC
,
"time"
));
List
<
Msg
>
msgList
=
fetchAndAttach
(
mongoTemplate
.
find
(
query
,
Msg
.
class
,
"s_msg"
),
userId
);
PageInfo
<
Msg
>
goodPageInfo
=
new
PageInfo
<>(
msgList
);
goodPageInfo
.
setPageSize
(
totalSize
%
limit
==
0
?
totalSize
/
limit
:
totalSize
/
limit
+
1
);
return
ObjectRestResponse
.
succ
(
goodPageInfo
);
}
/**
* 添加评论和点赞
*
...
...
xx-im/xx-im-server/src/main/java/com/xxfc/platform/im/rest/MsgController.java
View file @
db1bbf24
...
...
@@ -31,4 +31,8 @@ public class MsgController {
return
msgBiz
.
get
(
id
);
}
@GetMapping
(
value
=
"/getByUserId"
)
public
ObjectRestResponse
getByUserId
(
Integer
page
,
Integer
limit
)
{
return
msgBiz
.
getMsgListByUserId
(
page
,
limit
);
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/DailyOrderStatistics.java
View file @
db1bbf24
...
...
@@ -26,6 +26,13 @@ public class DailyOrderStatistics {
@Column
(
name
=
"one_day"
)
private
String
oneDay
;
/**
* 分公司id
*/
@Column
(
name
=
"branch_company_id"
)
private
Integer
branchCompanyId
;
/**
* 成交总金额
*/
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/DailyVehicleOrderStatistics.java
View file @
db1bbf24
...
...
@@ -23,11 +23,6 @@ import java.util.Date;
@Table
(
name
=
"daily_vehicle_order_statistics"
)
public
class
DailyVehicleOrderStatistics
extends
DailyOrderStatistics
{
/**
* 成交总金额
*/
@Column
(
name
=
"gmv"
)
private
BigDecimal
gmv
;
/**
* 预交押金总额
...
...
@@ -60,5 +55,10 @@ public class DailyVehicleOrderStatistics extends DailyOrderStatistics{
@Column
(
name
=
"postpone"
)
private
BigDecimal
postpone
;
/**
* 取消订单扣款总额
*/
@Column
(
name
=
"penal_sum"
)
private
BigDecimal
penalSum
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/DepositRefundRecord.java
View file @
db1bbf24
...
...
@@ -69,9 +69,5 @@ public class DepositRefundRecord {
@Transient
Long
rentDepositAutoRefundTime
;
/**
* 客服电话
*/
@Transient
private
String
customerPhone
;
}
\ No newline at end of file
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderStatistics.java
0 → 100644
View file @
db1bbf24
package
com
.
xxfc
.
platform
.
order
.
entity
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.math.BigDecimal
;
/**
* @author Administrator
*/
@Data
@ApiModel
(
value
=
"月订单统计实体"
)
public
class
OrderStatistics
{
/**
* 公司id
*/
@ApiModelProperty
(
value
=
"公司id"
)
private
Integer
branchCompanyId
;
/**
* 月成交总金额
*/
@ApiModelProperty
(
value
=
"月成交总金额"
)
private
BigDecimal
totalGmv
;
/**
* 月押金总额
*/
@ApiModelProperty
(
value
=
"月押金总额"
)
private
BigDecimal
totalSecurityDeposit
;
/**
* 月退还押金总额
*/
@ApiModelProperty
(
value
=
"月退还押金总额"
)
private
BigDecimal
totalRefundSecurityDeposit
;
/**
* 月赔偿总额
*/
@ApiModelProperty
(
value
=
"月赔偿总额"
)
private
BigDecimal
totalCompensation
;
/**
* 月违章总额
*/
@ApiModelProperty
(
value
=
"月违章总额"
)
private
BigDecimal
totalForfeit
;
/**
* 月取消订单扣款总额
*/
@ApiModelProperty
(
value
=
"月取消订单扣款总额"
)
private
BigDecimal
totalPenalSum
;
/**
* 月延期扣款总额
*/
@ApiModelProperty
(
value
=
"月延期扣款总额"
)
private
BigDecimal
totalPostpone
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/feign/OrderFeign.java
View file @
db1bbf24
...
...
@@ -17,7 +17,7 @@ import java.util.Set;
/**
* Created by ace on 2017/9/15.
*/
@FeignClient
(
name
=
"
vehicle
"
)
@FeignClient
(
name
=
"
order
"
)
public
interface
OrderFeign
{
@GetMapping
(
"/baseOrder/entityList"
)
public
ObjectRestResponse
<
List
<
BaseOrder
>>
baseOrderEntityList
(
@RequestParam
(
"entity"
)
Map
<
String
,
Object
>
entity
);
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/DedDetailDTO.java
View file @
db1bbf24
...
...
@@ -3,6 +3,7 @@ package com.xxfc.platform.order.pojo;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.util.List
;
@Data
public
class
DedDetailDTO
{
...
...
@@ -24,4 +25,13 @@ public class DedDetailDTO {
//1、延期, 2、车辆损坏 3、其他
Integer
type
;
//小雨都不知道什么东西
Integer
statusIndex
;
//定损凭证
List
<
String
>
picList
;
//type对应的中文
String
statusName
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/order/OrderVehicleCrosstownDto.java
View file @
db1bbf24
...
...
@@ -28,10 +28,15 @@ public class OrderVehicleCrosstownDto extends OrderVehicleCrosstown {
* 驾驶人身份证号
*/
private
String
licenseIdCard
;
/**
* 客服电话
*/
private
String
customerPhone
;
private
String
vehicleNumberPlat
;
private
String
username
;
List
<
DepositRefundRecord
>
depositRefundRecord
;
}
xx-order/xx-order-server/pom.xml
View file @
db1bbf24
...
...
@@ -38,6 +38,13 @@
<artifactId>
spring-boot-starter-amqp
</artifactId>
</dependency>
<!-- hutool工具类-->
<dependency>
<groupId>
cn.hutool
</groupId>
<artifactId>
hutool-all
</artifactId>
<version>
4.5.10
</version>
</dependency>
</dependencies>
<build>
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/DailyMembersOrderStatisticsBiz.java
View file @
db1bbf24
...
...
@@ -3,14 +3,19 @@ package com.xxfc.platform.order.biz;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.xxfc.platform.order.entity.DailyMembersOrderStatistics
;
import
com.xxfc.platform.order.entity.DailyTravelOrderStatistics
;
import
com.xxfc.platform.order.entity.OrderStatistics
;
import
com.xxfc.platform.order.mapper.DailyMembersOrderStatisticsMapper
;
import
com.xxfc.platform.order.mapper.DailyTravelOrderStatisticsMapper
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.beanutils.BeanUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
...
...
@@ -19,17 +24,23 @@ import java.util.Map;
* @author Administrator
*/
@Service
@Slf4j
public
class
DailyMembersOrderStatisticsBiz
extends
BaseBiz
<
DailyMembersOrderStatisticsMapper
,
DailyMembersOrderStatistics
>
{
private
final
Integer
headOfficeId
=
1
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
memberOrderStatistics
()
{
try
{
HashMap
<
String
,
Object
>
resultMap
=
new
HashMap
<>();
Map
<
String
,
Object
>
travelGmv
=
mapper
.
getTravelGmv
();
resultMap
.
putAll
(
travelGmv
);
List
<
Map
<
String
,
Object
>>
travelGmv
=
mapper
.
getTravelGmv
();
if
(
CollectionUtils
.
isEmpty
(
travelGmv
))
{
return
true
;
}
for
(
Map
<
String
,
Object
>
stringObjectMap
:
travelGmv
)
{
DailyMembersOrderStatistics
MembersStatistics
=
new
DailyMembersOrderStatistics
();
BeanUtils
.
copyProperties
(
MembersStatistics
,
resul
tMap
);
BeanUtils
.
copyProperties
(
MembersStatistics
,
stringObjec
tMap
);
insertSelective
(
MembersStatistics
);
}
return
true
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
...
...
@@ -39,7 +50,16 @@ public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderSta
@Override
public
int
insertSelectiveRe
(
DailyMembersOrderStatistics
entity
)
{
entity
.
setCrtTime
(
new
Date
());
Date
date
=
new
Date
();
if
(
log
.
isDebugEnabled
()){
log
.
debug
(
"时间******[{}]"
,
date
);
}
entity
.
setBranchCompanyId
(
headOfficeId
);
entity
.
setCrtTime
(
date
);
return
mapper
.
insertSelective
(
entity
);
}
public
OrderStatistics
findAll
(
Integer
companyId
)
{
return
mapper
.
monthOrderTotal
(
companyId
);
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/DailyTravelOrderStatisticsBiz.java
View file @
db1bbf24
package
com
.
xxfc
.
platform
.
order
.
biz
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.copier.CopyOptions
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.util.EntityUtils
;
import
com.xxfc.platform.order.entity.DailyTravelOrderStatistics
;
import
com.xxfc.platform.order.entity.OrderStatistics
;
import
com.xxfc.platform.order.mapper.DailyTravelOrderStatisticsMapper
;
import
org.apache.commons.
beanutils.Bea
nUtils
;
import
org.apache.commons.
collections.Collectio
nUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.*
;
/**
* 每日旅游订单统计
...
...
@@ -20,27 +21,54 @@ import java.util.Map;
@Service
public
class
DailyTravelOrderStatisticsBiz
extends
BaseBiz
<
DailyTravelOrderStatisticsMapper
,
DailyTravelOrderStatistics
>
{
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
StatisticsOfTravelOrders
()
{
try
{
HashMap
<
String
,
Object
>
resultMap
=
new
HashMap
<>();
Map
<
String
,
Object
>
travelGmv
=
mapper
.
getTravelGmv
();
BigDecimal
travelPenalSum
=
mapper
.
getTravelPenalSum
();
resultMap
.
put
All
(
travelGmv
);
resultMap
.
put
(
"penalSum"
,
travelPenalSum
);
DailyTravelOrderStatistics
TravelStatistics
=
new
DailyTravelOrderStatistics
(
);
BeanUtils
.
copyProperties
(
TravelStatistics
,
resultMap
);
insertSelective
(
TravelStatistics
);
ArrayList
<
DailyTravelOrderStatistics
>
objects
=
new
ArrayList
<>
();
List
<
DailyTravelOrderStatistics
>
travelGmv
=
mapper
.
getTravelGmv
();
objects
.
add
All
(
travelGmv
);
List
<
DailyTravelOrderStatistics
>
travelPenalSum
=
mapper
.
getTravelPenalSum
(
);
objects
.
addAll
(
travelPenalSum
);
insertByList
(
objects
);
return
true
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
return
false
;
}
}
private
void
insertByList
(
ArrayList
<
DailyTravelOrderStatistics
>
objects
)
throws
Exception
{
if
(
CollectionUtils
.
isNotEmpty
(
objects
))
{
HashMap
<
Integer
,
DailyTravelOrderStatistics
>
map
=
new
HashMap
<>();
for
(
DailyTravelOrderStatistics
object
:
objects
)
{
DailyTravelOrderStatistics
statistics
=
map
.
get
(
object
.
getBranchCompanyId
());
if
(
statistics
==
null
)
{
statistics
=
new
DailyTravelOrderStatistics
();
map
.
put
(
object
.
getBranchCompanyId
(),
statistics
);
}
BeanUtil
.
copyProperties
(
object
,
statistics
,
CopyOptions
.
create
().
setIgnoreNullValue
(
true
).
setIgnoreError
(
true
));
}
for
(
Map
.
Entry
<
Integer
,
DailyTravelOrderStatistics
>
e
:
map
.
entrySet
())
{
insertSelectiveRe
(
e
.
getValue
());
}
}
}
@Override
public
int
insertSelectiveRe
(
DailyTravelOrderStatistics
entity
)
{
entity
.
setCrtTime
(
new
Date
());
return
mapper
.
insertSelective
(
entity
);
}
public
OrderStatistics
findAll
(
Integer
branchCompanyId
)
{
return
mapper
.
monthOrderTotal
(
branchCompanyId
);
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/DailyVehicleOrderStatisticsBiz.java
View file @
db1bbf24
package
com
.
xxfc
.
platform
.
order
.
biz
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.copier.CopyOptions
;
import
com.alibaba.fastjson.JSON
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.xxfc.platform.order.entity.DailyMembersOrderStatistics
;
import
com.xxfc.platform.order.entity.DailyVehicleOrderStatistics
;
import
com.xxfc.platform.order.entity.OrderStatistics
;
import
com.xxfc.platform.order.mapper.DailyVehicleOrderStatisticsMapper
;
import
com.xxfc.platform.order.pojo.DedDetailDTO
;
import
org.apache.commons.beanutils.BeanUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
java.lang.reflect.InvocationTargetException
;
import
java.math.BigDecimal
;
import
java.util.*
;
/** 每日租车订单统计
/**
* 每日租车订单统计
*
* @author Administrator
*/
@Service
...
...
@@ -23,33 +28,39 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
private
final
Integer
TYPE_DEFERRED
=
1
;
private
final
Integer
TYPE_DAMAGE
=
2
;
private
final
Integer
TYPE_OTHER
=
3
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
StatisticsOfCarRentalOrders
()
{
try
{
HashMap
<
String
,
Object
>
resultMap
=
new
HashMap
<>();
ArrayList
<
DailyVehicleOrderStatistics
>
result
=
new
ArrayList
<>();
// 获取每日租车订单成交金和押金总额
Map
<
String
,
BigDecimal
>
gmvAndMarginTotal
=
mapper
.
getGmvAndMarginTotal
();
resultMap
.
putAll
(
gmvAndMarginTotal
);
// 获取车辆
BigDecimal
penalSum
=
mapper
.
getPenalSum
();
resultMap
.
put
(
"penalSum"
,
penalSum
);
List
<
DailyVehicleOrderStatistics
>
gmvAndMarginTotal
=
mapper
.
getGmvAndMarginTotal
();
result
.
addAll
(
gmvAndMarginTotal
);
// 获取取消订单扣款总额
List
<
DailyVehicleOrderStatistics
>
penalSum
=
mapper
.
getPenalSum
();
result
.
addAll
(
penalSum
);
// 获取订单退还押金总额
BigDecimal
refundSecurityDeposit
=
mapper
.
getRefundSecurityDeposit
();
resultMap
.
put
(
"refundSecurityDeposit"
,
refundSecurityDeposit
);
// 获取违章查询总和
BigDecimal
violationMoney
=
mapper
.
getViolationMoney
();
resultMap
.
put
(
"violationMoney"
,
violationMoney
);
List
<
DailyVehicleOrderStatistics
>
refundSecurityDeposit
=
mapper
.
getRefundSecurityDeposit
();
result
.
addAll
(
refundSecurityDeposit
);
// 获取违章查询总和
List
<
DailyVehicleOrderStatistics
>
violationMoney
=
mapper
.
getViolationMoney
();
result
.
addAll
(
violationMoney
);
// 获取赔偿和延期JSON字符串
List
<
String
>
compensationAndPostpone
=
mapper
.
getCompensationAndPostpone
();
List
<
Map
>
compensationAndPostpone
=
mapper
.
getCompensationAndPostpone
();
// 获取赔偿和延期JSON字符串转换为map
Map
<
String
,
BigDecimal
>
cpMap
=
getCompensationAndPostponeMap
(
compensationAndPostpone
);
resultMap
.
putAll
(
cpMap
);
DailyVehicleOrderStatistics
orderStatistics
=
new
DailyVehicleOrderStatistics
();
BeanUtils
.
copyProperties
(
orderStatistics
,
resultMap
);
insertSelective
(
orderStatistics
);
List
<
DailyVehicleOrderStatistics
>
compensationAndPostpones
=
getCompensationAndPostpones
(
compensationAndPostpone
);
result
.
addAll
(
compensationAndPostpones
);
InsertByList
(
result
);
return
true
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
...
...
@@ -59,53 +70,127 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
}
private
void
InsertByList
(
ArrayList
<
DailyVehicleOrderStatistics
>
result
)
throws
Exception
{
if
(
CollectionUtils
.
isNotEmpty
(
result
))
{
Map
<
Integer
,
DailyVehicleOrderStatistics
>
map
=
new
HashMap
<>();
for
(
DailyVehicleOrderStatistics
value
:
result
)
{
Integer
branchCompanyId
=
value
.
getBranchCompanyId
();
DailyVehicleOrderStatistics
statistics
=
map
.
get
(
branchCompanyId
);
if
(
statistics
==
null
)
{
statistics
=
new
DailyVehicleOrderStatistics
();
map
.
put
(
branchCompanyId
,
statistics
);
BeanUtil
.
copyProperties
(
value
,
statistics
,
CopyOptions
.
create
().
setIgnoreNullValue
(
true
).
setIgnoreError
(
true
));
}
for
(
Map
.
Entry
<
Integer
,
DailyVehicleOrderStatistics
>
entry
:
map
.
entrySet
())
{
insertSelectiveRe
(
entry
.
getValue
());
}
}
}
}
/**
* 获取赔偿总额和延期总额
*/
private
Map
<
String
,
BigDecimal
>
getCompensationAndPostponeMap
(
List
<
String
>
compensationAndPostpone
)
{
if
(
CollectionUtils
.
isNotEmpty
(
compensationAndPostpone
))
{
List
<
DedDetailDTO
>
sumDedDetailDTOs
=
new
ArrayList
<>();
for
(
String
value
:
compensationAndPostpone
)
{
List
<
DedDetailDTO
>
dedDetailDTOS
=
JSON
.
parseArray
(
value
,
DedDetailDTO
.
class
);
sumDedDetailDTOs
.
addAll
(
dedDetailDTOS
);
private
List
<
DailyVehicleOrderStatistics
>
getCompensationAndPostpones
(
List
<
Map
>
list
)
{
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
//获取分公全部赔偿和延期DedDetailDTO
HashMap
<
Integer
,
List
<
DedDetailDTO
>>
map
=
new
HashMap
<>();
for
(
Map
value
:
list
)
{
if
(
value
!=
null
)
{
//获取分公司id
Integer
branchCompanyId
=
(
Integer
)
value
.
get
(
"branchCompanyId"
);
List
<
DedDetailDTO
>
strings
=
map
.
get
(
branchCompanyId
);
if
(
strings
==
null
)
{
strings
=
new
ArrayList
<
DedDetailDTO
>();
map
.
put
(
branchCompanyId
,
strings
);
}
String
str
=
(
String
)
value
.
get
(
"dedDetail"
);
if
(
StringUtils
.
isNotBlank
(
str
))
{
List
<
DedDetailDTO
>
dedDetailDTOS
=
JSON
.
parseArray
(
str
,
DedDetailDTO
.
class
);
if
(
CollectionUtils
.
isNotEmpty
(
dedDetailDTOS
))
{
strings
.
addAll
(
dedDetailDTOS
);
}
}
}
}
List
<
DailyVehicleOrderStatistics
>
result
=
new
ArrayList
<>();
if
(!
map
.
isEmpty
())
{
//获取分工对象集合
for
(
Map
.
Entry
<
Integer
,
List
<
DedDetailDTO
>>
entry
:
map
.
entrySet
())
{
DailyVehicleOrderStatistics
statistics
=
new
DailyVehicleOrderStatistics
();
//公司id添加到对象当中
statistics
.
setBranchCompanyId
(
entry
.
getKey
());
//获取公司的JSON字符串
List
<
DedDetailDTO
>
sumDedDetailDTOs
=
entry
.
getValue
();
// 获取赔偿金额总和
BigDecimal
compensation
=
get
(
sumDedDetailDTOs
,
TYPE_DAMAGE
);
statistics
.
setCompensation
(
compensation
);
// 获取延期金额总和
BigDecimal
postpone
=
get
(
sumDedDetailDTOs
,
TYPE_DEFERRED
);
Map
<
String
,
BigDecimal
>
resultMap
=
new
HashMap
<>();
resultMap
.
put
(
"compensation"
,
compensation
);
resultMap
.
put
(
"postpone"
,
postpone
);
return
resultMap
;
statistics
.
setPostpone
(
postpone
);
//// 其他款项总金额
// BigDecimal other = get(sumDedDetailDTOs, TYPE_OTHER);
result
.
add
(
statistics
);
}
return
new
HashMap
<
String
,
BigDecimal
>();
}
return
result
;
}
return
new
ArrayList
<>();
}
/**
* 根据type获取对应的金额总和
*
* @param sumDedDetailDTOs
* @param
TYPE_DAMAGE
* @param
type 金额类型
* @return
*/
private
BigDecimal
get
(
List
<
DedDetailDTO
>
sumDedDetailDTOs
,
Integer
TYPE_DAMAGE
)
{
private
BigDecimal
get
(
List
<
DedDetailDTO
>
sumDedDetailDTOs
,
Integer
type
)
{
if
(
CollectionUtils
.
isNotEmpty
(
sumDedDetailDTOs
))
{
BigDecimal
aggregateAmount
=
sumDedDetailDTOs
.
stream
()
.
filter
(
d
->
TYPE_DAMAGE
.
equals
(
d
.
getType
()))
.
filter
(
d
->
type
.
equals
(
d
.
getType
()))
.
map
(
DedDetailDTO:
:
getCost
)
.
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
return
aggregateAmount
;
}
return
null
;
return
BigDecimal
.
ZERO
;
}
@Override
public
int
insertSelectiveRe
(
DailyVehicleOrderStatistics
entity
)
{
Date
date
=
new
Date
();
entity
.
setCrtTime
(
new
Date
());
return
mapper
.
insertSelective
(
entity
);
}
public
OrderStatistics
findAll
(
Integer
companyId
)
{
return
mapper
.
monthOrderTotal
(
companyId
);
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderDepositRefundRecordBiz.java
View file @
db1bbf24
...
...
@@ -2,6 +2,7 @@ package com.xxfc.platform.order.biz;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.copier.CopyOptions
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.xxfc.platform.order.contant.enumerate.CrosstownTypeEnum
;
import
com.xxfc.platform.order.contant.enumerate.DepositRefundStatus
;
...
...
@@ -11,6 +12,7 @@ import com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto;
import
com.xxfc.platform.universal.constant.DictionaryKey
;
import
com.xxfc.platform.universal.entity.Dictionary
;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -33,6 +35,12 @@ public class OrderDepositRefundRecordBiz extends BaseBiz<DepositRefundRecordMapp
BaseOrderBiz
baseOrderBiz
;
@Autowired
OrderRentVehicleBiz
orderRentVehicleBiz
;
@Autowired
UserFeign
userFeign
;
@Autowired
VehicleFeign
vehicleFeign
;
@Autowired
OrderVehicleCrosstownBiz
orderVehicleCrosstownBiz
;
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderRefundBiz.java
View file @
db1bbf24
...
...
@@ -109,12 +109,16 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
BigDecimal
refundAmont
=
crosstown
.
getRestDeposit
().
subtract
(
illegalReserve
);
BigDecimal
originalRefundAmount
=
crosstown
.
getRestDeposit
().
add
(
crosstown
.
getDeductionCost
()).
subtract
(
illegalReserve
);
String
refundDesc
=
"退还押金:"
+
refundAmont
.
toString
()+
"(已扣除 违章预备金:"
+
illegalReserve
.
toString
();
try
{
if
(
null
!=
crosstown
.
getDedDetail
())
{
List
<
DedDetailDTO
>
dddList
=
JSONUtil
.
toBean
(
crosstown
.
getDedDetail
(),
List
.
class
);
for
(
DedDetailDTO
ddd
:
dddList
)
{
refundDesc
+=
", "
+
ddd
.
getDeductions
()+
":"
+
ddd
.
getCost
();
}
}
}
catch
(
Exception
e
)
{
log
.
error
(
"crosstown.getDedDetail() crosstown id :"
+
crosstown
.
getId
()
+
" 转换失败"
);
}
refundDesc
+=
")"
;
refundTrigger
(
orderMQDTO
,
orderMQDTO
.
getOrderRentVehicleDetail
(),
illegalReserve
,
originalRefundAmount
,
refundAmont
,
refundDesc
,
RefundStatusEnum
.
RESIDUE_ILLEGAL
.
getCode
(),
RefundTypeEnum
.
PART_DEPOSIT
);
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderStatisticsBiz.java
0 → 100644
View file @
db1bbf24
package
com
.
xxfc
.
platform
.
order
.
biz
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.xxfc.platform.order.entity.OrderStatistics
;
import
com.xxfc.platform.order.mapper.OrderStatisticsMapper
;
import
org.springframework.stereotype.Service
;
/**
* @author Administrator
*/
@Service
public
class
OrderStatisticsBiz
extends
BaseBiz
<
OrderStatisticsMapper
,
OrderStatistics
>
{
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderVehicleCrosstownBiz.java
View file @
db1bbf24
...
...
@@ -27,6 +27,7 @@ import com.xxfc.platform.vehicle.common.RestResponse;
import
com.xxfc.platform.vehicle.constant.ResCode.ResCode
;
import
com.xxfc.platform.vehicle.entity.Vehicle
;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
com.xxfc.platform.vehicle.pojo.CompanyDetail
;
import
com.xxfc.platform.vehicle.pojo.VehicleArrivalVo
;
import
com.xxfc.platform.vehicle.pojo.VehicleDepartureVo
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -77,6 +78,15 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
List
<
OrderVehicleCrosstownDto
>
list
=
mapper
.
selectByOrderId
(
orderVehicleCrosstownDto
);
for
(
OrderVehicleCrosstownDto
value
:
list
)
{
if
(
value
!=
null
&&
value
.
getOrperaterId
()
!=
null
&&
value
.
getType
()
!=
1
)
{
UserDTO
userDTO
=
userFeign
.
userinfoByUid
(
value
.
getOrperaterId
()).
getData
();
if
(
userDTO
!=
null
)
{
CompanyDetail
branchCompany
=
vehicleFeign
.
getCompanyDetail
(
userDTO
.
getCompanyId
()).
getData
();
if
(
branchCompany
!=
null
)
{
value
.
setCustomerPhone
(
branchCompany
.
getVehiceServicePhone
());
}
}
}
updateCrossRecord
(
value
);
List
<
DepositRefundRecord
>
depositRefundRecords
=
orderDepositRefundRecordBiz
.
selectByCrossId
(
value
.
getId
());
value
.
setDepositRefundRecord
(
depositRefundRecords
==
null
||
depositRefundRecords
.
size
()
<=
0
?
null
:
depositRefundRecords
);
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/config/SwaggerConfig.java
View file @
db1bbf24
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mapper/DailyMembersOrderStatisticsMapper.java
View file @
db1bbf24
package
com
.
xxfc
.
platform
.
order
.
mapper
;
import
com.xxfc.platform.order.entity.DailyMembersOrderStatistics
;
import
com.xxfc.platform.order.entity.OrderStatistics
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
import
java.util.Map
;
/**
...
...
@@ -10,6 +12,9 @@ import java.util.Map;
* @author Administrator
*/
public
interface
DailyMembersOrderStatisticsMapper
extends
Mapper
<
DailyMembersOrderStatistics
>
{
Map
<
String
,
Object
>
getTravelGmv
();
List
<
Map
<
String
,
Object
>>
getTravelGmv
();
OrderStatistics
monthOrderTotal
(
Integer
companyId
);
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mapper/DailyTravelOrderStatisticsMapper.java
View file @
db1bbf24
package
com
.
xxfc
.
platform
.
order
.
mapper
;
import
com.xxfc.platform.order.entity.DailyTravelOrderStatistics
;
import
org.springframework.stereotype.Repository
;
import
com.xxfc.platform.order.entity.OrderStatistics
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
java.util.Map
;
/**
...
...
@@ -13,7 +14,9 @@ import java.util.Map;
public
interface
DailyTravelOrderStatisticsMapper
extends
Mapper
<
DailyTravelOrderStatistics
>
{
Map
<
String
,
Object
>
getTravelGmv
();
List
<
DailyTravelOrderStatistics
>
getTravelGmv
();
BigDecimal
getTravelPenalSum
();
List
<
DailyTravelOrderStatistics
>
getTravelPenalSum
();
OrderStatistics
monthOrderTotal
(
Integer
branchCompanyId
);
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mapper/DailyVehicleOrderStatisticsMapper.java
View file @
db1bbf24
package
com
.
xxfc
.
platform
.
order
.
mapper
;
import
com.xxfc.platform.order.entity.DailyVehicleOrderStatistics
;
import
com.xxfc.platform.order.entity.OrderStatistics
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.math.BigDecimal
;
...
...
@@ -13,13 +14,15 @@ import java.util.Map;
*/
public
interface
DailyVehicleOrderStatisticsMapper
extends
Mapper
<
DailyVehicleOrderStatistics
>
{
Map
<
String
,
BigDecimal
>
getGmvAndMarginTotal
();
List
<
DailyVehicleOrderStatistics
>
getGmvAndMarginTotal
();
List
<
String
>
getCompensationAndPostpone
();
List
<
Map
>
getCompensationAndPostpone
();
BigDecimal
getPenalSum
();
List
<
DailyVehicleOrderStatistics
>
getPenalSum
();
BigDecimal
getRefundSecurityDeposit
();
List
<
DailyVehicleOrderStatistics
>
getRefundSecurityDeposit
();
BigDecimal
getViolationMoney
();
List
<
DailyVehicleOrderStatistics
>
getViolationMoney
();
OrderStatistics
monthOrderTotal
(
Integer
companyId
);
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mapper/OrderStatisticsMapper.java
0 → 100644
View file @
db1bbf24
package
com
.
xxfc
.
platform
.
order
.
mapper
;
import
com.xxfc.platform.order.entity.OrderStatistics
;
import
tk.mybatis.mapper.common.Mapper
;
/**
* @author Administrator
*/
public
interface
OrderStatisticsMapper
extends
Mapper
<
OrderStatistics
>
{
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/background/OrderStatisticsController.java
0 → 100644
View file @
db1bbf24
package
com
.
xxfc
.
platform
.
order
.
rest
.
background
;
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.process.ResultCode
;
import
com.xxfc.platform.order.biz.DailyMembersOrderStatisticsBiz
;
import
com.xxfc.platform.order.biz.DailyTravelOrderStatisticsBiz
;
import
com.xxfc.platform.order.biz.DailyVehicleOrderStatisticsBiz
;
import
com.xxfc.platform.order.biz.OrderStatisticsBiz
;
import
com.xxfc.platform.order.entity.OrderStatistics
;
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
;
/**
* @author Administrator
*/
@RestController
@RequestMapping
(
"orderStatistics"
)
@Api
(
description
=
"每月总的订单统计"
)
public
class
OrderStatisticsController
extends
BaseController
<
OrderStatisticsBiz
,
OrderStatistics
>
{
@Autowired
private
UserFeign
userFeign
;
@Autowired
private
UserAuthConfig
userAuthConfig
;
/**
* 租车订单
*/
private
final
Integer
TYEP_VEHICLE
=
1
;
/**
* 旅游订单
*/
private
final
Integer
TYEP_TOUR
=
2
;
/**
* 购买会员订单
*/
private
final
Integer
TYEP_MEMBER
=
3
;
/**
* 月总数据
*/
private
final
Integer
TYEP_TOTAL
=
4
;
@Autowired
private
DailyVehicleOrderStatisticsBiz
vehicleBiz
;
@Autowired
private
DailyTravelOrderStatisticsBiz
TravelBiz
;
@Autowired
private
DailyMembersOrderStatisticsBiz
membersBiz
;
@ApiOperation
(
"获取订单统计数据"
)
@GetMapping
(
"/findAll/{type}"
)
public
ObjectRestResponse
findAll
(
@PathVariable
Integer
type
)
{
ObjectRestResponse
<
UserDTO
>
userDTOObjectRestResponse
=
userFeign
.
userinfoByToken
(
userAuthConfig
.
getToken
(
getRequest
()));
if
(
userDTOObjectRestResponse
==
null
||
userDTOObjectRestResponse
.
getData
()==
null
)
{
throw
new
BaseException
(
"请登录!"
);
}
UserDTO
user
=
userDTOObjectRestResponse
.
getData
();
Integer
companyId
=
user
.
getCompanyId
();
if
(
TYEP_VEHICLE
.
equals
(
type
))
{
OrderStatistics
vehicle
=
vehicleBiz
.
findAll
(
companyId
);
return
ObjectRestResponse
.
succ
(
vehicle
);
}
if
(
TYEP_TOUR
.
equals
(
type
))
{
OrderStatistics
tour
=
TravelBiz
.
findAll
(
companyId
);
return
ObjectRestResponse
.
succ
(
tour
);
}
if
(
TYEP_MEMBER
.
equals
(
type
))
{
OrderStatistics
member
=
membersBiz
.
findAll
(
companyId
);
return
ObjectRestResponse
.
succ
(
member
);
}
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
FAILED_CODE
,
"参数为空!"
);
}
}
xx-order/xx-order-server/src/main/resources/mapper/DailyMembersOrderStatisticsMapper.xml
View file @
db1bbf24
...
...
@@ -2,7 +2,7 @@
<!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.DailyMembersOrderStatisticsMapper"
>
<!-- 获取
每日租车订单成交金和押金总额
-->
<!-- 获取
会员订单成交金
-->
<select
id=
"getTravelGmv"
resultType=
"HashMap"
>
select
COALESCE(date_format(FROM_UNIXTIME(pay_time/1000),'%Y-%c-%d'),date(DATE_SUB(now(),interval 1 day))) as oneDay,
...
...
@@ -14,4 +14,16 @@
AND
date(FROM_UNIXTIME(pay_time/1000))=date(DATE_SUB(now(),interval 1 day))
</select>
<select
id=
"monthOrderTotal"
resultType=
"com.xxfc.platform.order.entity.OrderStatistics"
>
SELECT
branch_company_id as branchCompanyId,
IFNULL(sum(gmv),0) as totalGmv
FROM
daily_travel_order_statistics
WHERE
branch_company_id =#{companyId}
and
DATE_FORMAT(one_day,'%Y-%c')=DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 1 DAY),'%Y-%c')
</select>
</mapper>
\ No newline at end of file
xx-order/xx-order-server/src/main/resources/mapper/DailyTravelOrderStatisticsMapper.xml
View file @
db1bbf24
...
...
@@ -2,29 +2,41 @@
<!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.DailyTravelOrderStatisticsMapper"
>
<!-- 获取
每日租车订单成交金和押金总额
-->
<select
id=
"getTravelGmv"
resultType=
"
HashMap
"
>
<!-- 获取
旅游订单成交金
-->
<select
id=
"getTravelGmv"
resultType=
"
com.xxfc.platform.order.entity.DailyTravelOrderStatistics
"
>
select
COALESCE(date_format(FROM_UNIXTIME(pay_time/1000),'%Y-%c-%d'),date(DATE_SUB(now(),interval 1 day))) as oneDay,
IFNULL(SUM(real_amount),0) as gmv
t.start_company_id as branchCompanyId,
COALESCE(date_format(FROM_UNIXTIME(o.pay_time/1000),'%Y-%c-%d'),date(DATE_SUB(now(),interval 1 day))) as oneDay,
IFNULL(SUM(o.real_amount),0) as gmv
from
base_order
base_order o
left join
order_tour_detail t
on
o.id=t.order_id
where
type=2
AND
date(FROM_UNIXTIME(pay_time/1000))=date(DATE_SUB(now(),interval 1 day))
and
date(FROM_UNIXTIME(o.pay_time/1000))=date(DATE_SUB(now(),interval 1 day))
group by
t.start_company_id
</select>
<!-- 取消订单扣除款项总和-->
<select
id=
"getTravelPenalSum"
resultType=
"
BigDecimal
"
>
<select
id=
"getTravelPenalSum"
resultType=
"
com.xxfc.platform.order.entity.DailyTravelOrderStatistics
"
>
SELECT
t.start_company_id as branchCompanyId,
IFNULL(SUM(r.deduct_amount),0) as penalSum
FROM
base_order o
left join
order_refund r
left join
base_order o
on
o.id=r.order_id
left join
order_tour_detail t
on
o.id=t.order_id
WHERE
o.type=2
and
...
...
@@ -33,5 +45,20 @@
r.refund_type =1
and
date(FROM_UNIXTIME(r.refund_time/1000))=date(DATE_SUB(now(),interval 1 day))
group by
t.start_company_id
</select>
<select
id=
"monthOrderTotal"
resultType=
"com.xxfc.platform.order.entity.OrderStatistics"
>
SELECT
branch_company_id as branchCompanyId,
IFNULL(sum(gmv),0) as totalGmv,
IFNULL(sum(penal_sum) ,0) as totalPenalSum
FROM
daily_travel_order_statistics
WHERE
branch_company_id =#{branchCompanyId}
AND
DATE_FORMAT(one_day,'%Y-%c')=DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 1 DAY),'%Y-%c')
</select>
</mapper>
\ No newline at end of file
xx-order/xx-order-server/src/main/resources/mapper/DailyVehicleOrderStatisticsMapper.xml
View file @
db1bbf24
...
...
@@ -3,107 +3,155 @@
<mapper
namespace=
"com.xxfc.platform.order.mapper.DailyVehicleOrderStatisticsMapper"
>
<!-- 获取每日租车订单成交金和押金总额-->
<select
id=
"getGmvAndMarginTotal"
resultType=
"HashMap"
>
select
<select
id=
"getGmvAndMarginTotal"
resultType=
"com.xxfc.platform.order.entity.DailyVehicleOrderStatistics"
>
SELECT
v.start_company_id AS branchCompanyId,
COALESCE(date_format(FROM_UNIXTIME(b.pay_time/1000),'%Y-%c-%d'),date(DATE_SUB(now(),interval 1 day))) as oneDay,
IFNULL(SUM(b.real_amount-v.deposit),0)
as
gmv,
IFNULL(SUM(v.deposit),0)
as
securityDeposit
from
IFNULL(SUM(b.real_amount-v.deposit),0)
AS
gmv,
IFNULL(SUM(v.deposit),0)
AS
securityDeposit
FROM
base_order b
left join
LEFT JOIN
order_rent_vehicle_detail v
on
ON
b.id=v.order_id
where
WHERE
b.type=1
AND
date(FROM_UNIXTIME(b.pay_time/1000))=date(DATE_SUB(now(),interval 1 day))
DATE(FROM_UNIXTIME(b.pay_time/1000))=DATE(DATE_SUB(now(),INTERVAL 1 DAY))
GROUP BY
v.start_company_id
</select>
<!-- 退还押金总额-->
<select
id=
"getRefundSecurityDeposit"
resultType=
"
BigDecimal
"
>
<select
id=
"getRefundSecurityDeposit"
resultType=
"
com.xxfc.platform.order.entity.DailyVehicleOrderStatistics
"
>
SELECT
IFNULL(SUM(r.refund_amount),0) as refundSecurityDeposit
v.start_company_id AS branchCompanyId,
IFNULL(SUM(r.refund_amount),0) AS refundSecurityDeposit
FROM
base_order o
left join
LEFT JOIN
order_refund r
on
ON
o.id=r.order_id
LEFT JOIN
order_rent_vehicle_detail v
ON
v.order_id=o.id
WHERE
o.type=1
and
AND
r.refund_status=1
and
AND
r.refund_type >1
and
date(FROM_UNIXTIME(r.refund_time/1000))=date(DATE_SUB(now(),interval 1 day))
AND
DATE(FROM_UNIXTIME(r.refund_time/1000))=DATE(DATE_SUB(now(),INTERVAL 1 DAY))
GROUP BY
v.start_company_id
</select>
<!-- 取消订单扣除款项总和-->
<select
id=
"getPenalSum"
resultType=
"
BigDecimal
"
>
<select
id=
"getPenalSum"
resultType=
"
com.xxfc.platform.order.entity.DailyVehicleOrderStatistics
"
>
SELECT
v.start_company_id as branchCompanyId,
IFNULL(SUM(r.deduct_amount),0) as penalSum
FROM
base_order o
left join
order_refund r
on
LEFT JOIN
base_order o
ON
o.id=r.order_id
LEFT JOIN
order_rent_vehicle_detail v
ON
v.order_id=o.id
WHERE
o.type=1
and
AND
r.refund_status=1
and
AND
r.refund_type =1
and
AND
date(FROM_UNIXTIME(r.refund_time/1000))=date(DATE_SUB(now(),interval 1 day))
GROUP BY
v.start_company_id
</select>
<!-- 获取赔偿和延期JSON字符串-->
<select
id=
"getCompensationAndPostpone"
resultType=
"
List
"
>
<select
id=
"getCompensationAndPostpone"
resultType=
"
HashMap
"
>
SELECT
ded_detail
v.start_company_id AS branchCompanyId,
c.ded_detail AS dedDetail
FROM
order_refund r
LEFT JOIN
order_vehicle_crosstown c
on
r.order_id = c.order_id
LEFT JOIN
order_rent_vehicle_detail v
ON
r.order_id=v.order_id
WHERE
r.refund_status=1
and
r.refund_type = 3
and
c.type=
2
c.type=
3
and
date(FROM_UNIXTIME(refund_time/1000))=date(DATE_SUB(now(),interval 1 day))
order by v.start_company_id asc
</select>
<select
id=
"getViolationMoney"
resultType=
"BigDecimal"
>
<!--违章-->
<select
id=
"getViolationMoney"
resultType=
"com.xxfc.platform.order.entity.DailyVehicleOrderStatistics"
>
SELECT
v.price
d.start_company_id AS branchCompanyId,
v.price as violationMoney
FROM
order_refund r
left
JOIN
LEFT
JOIN
base_order o
on
o.id=r.order_
id
r.order_id= o.
id
LEFT JOIN
order_rent_vehicle_detail d
on
o.id
= d.order_id
r.order_id
= d.order_id
left join
order_violation v
on
d.id = v.detail_id
WHERE
o.type=1
and
r.refund_status=1
and
r.refund_type = 4
and
date(FROM_UNIXTIME(r.refund_time/1000))=date(DATE_SUB(now(),interval 1 day))
GROUP BY
d.start_company_id
</select>
<select
id=
"monthOrderTotal"
resultType=
"com.xxfc.platform.order.entity.OrderStatistics"
>
SELECT
branch_company_id as branchCompanyId,
IFNULL(sum(gmv),0) as totalGmv,
IFNULL(sum(security_deposit),0) as totalSecurityDeposit,
IFNULL(sum(refund_security_deposit) ,0) as totalRefundSecurityDeposit,
IFNULL(sum(compensation) ,0) as totalCompensation,
IFNULL(sum(forfeit) ,0) as totalForfeit,
IFNULL(sum(penal_sum) ,0) as totalPenalSum,
IFNULL(sum(postpone) ,0) as totalPostpone
FROM
daily_vehicle_order_statistics
WHERE
branch_company_id =#{companyId}
and
DATE_FORMAT(one_day,'%Y-%c')=DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 1 DAY),'%Y-%c')
</select>
</mapper>
\ No newline at end of file
xx-order/xx-order-server/src/test/java/ServiceTest.java
0 → 100644
View file @
db1bbf24
import
com.xxfc.platform.order.OrderApplication
;
import
com.xxfc.platform.order.biz.DailyOrderStatisticsBiz
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.test.context.junit4.SpringJUnit4ClassRunner
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/6 20:05
*/
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
@SpringBootTest
(
classes
=
{
OrderApplication
.
class
})
public
class
ServiceTest
{
@Autowired
private
DailyOrderStatisticsBiz
dailyOrderStatisticsBiz
;
@Test
public
void
testSchedu
(){
dailyOrderStatisticsBiz
.
statisticalOrder
();
}
}
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/pojo/VehicleBookRecordVo.java
View file @
db1bbf24
...
...
@@ -33,7 +33,7 @@ public class VehicleBookRecordVo extends VehicleBookRecord {
private
Integer
liftStatus
;
private
Integer
retStatus
;
private
Integer
state
;
List
<
VehicleUpkeepItem
>
vehicleUpkeepItems
;
}
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleActiveService.java
View file @
db1bbf24
...
...
@@ -5,7 +5,6 @@ import cn.hutool.core.bean.copier.CopyOptions;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.xxfc.platform.vehicle.constant.ResCode.ResCode
;
import
com.xxfc.platform.vehicle.constant.VehicleActiveType
;
import
com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus
;
import
com.xxfc.platform.vehicle.constant.VehicleDepartureState
;
import
com.xxfc.platform.vehicle.constant.VehicleStatus
;
import
com.xxfc.platform.vehicle.entity.*
;
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/rest/VehicleModelController.java
View file @
db1bbf24
...
...
@@ -271,7 +271,6 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi
vehicleCata
.
setVehicleModelId
(
id
);
vehicleCata
.
setIsdel
(
1
);
vehicleCataBiz
.
updateIsdalByVehicleModelId
(
vehicleCata
);
return
ObjectRestResponse
.
succ
();
}
...
...
xx-vehicle/xx-vehicle-server/src/main/resources/mapper/VehicleBookRecordMapper.xml
View file @
db1bbf24
...
...
@@ -451,6 +451,7 @@
LEFT JOIN vehicle v3 on v3.id = v1.vehicle_id
LEFT JOIN branch_company bc3 on v3.park_branch_company_id = bc3.id
LEFT JOIN branch_company bc4 on v3.subordinate_branch = bc4.id
LEFT JOIN vehicle_departure_log v4 on v4.book_record_id = v1.id
<where>
<if
test=
"selectedMonth != null"
>
and (v1.book_start_date like CONCAT(#{selectedMonth}, "%") or v1.book_end_date like
...
...
@@ -472,9 +473,15 @@
#{id}
</foreach>
)
</if>
<if
test=
"status != null"
>
<if
test=
"status != null
and status != 0 and status != -1 and status != -2
"
>
and v1.status = #{status}
</if>
<if
test=
"status != null and status == 0 "
>
and v4.state = 0
</if>
<if
test=
"status != null and status == -1 "
>
and v4.state = 1
</if>
and v1.book_user != -2
</where>
group by v1.id
...
...
xx-vehicle/xx-vehicle-server/src/main/resources/mapper/VehicleMapper.xml
View file @
db1bbf24
...
...
@@ -584,10 +584,6 @@
left join vehicle_cata vc on vm.id = vc.vehicle_model_id
</if>
<where>
<!-- 若需根据预定日期条件查询,针对换为位操作 -->
<!-- yearNo4Where 标识时间参数是否用于where条件 -->
(abr.to_lift_company = null or (abr.to_lift_company = ))
<!-- 若需根据预定日期条件查询,针对换为位操作 -->
<!-- yearNo4Where 标识时间参数是否用于where条件 -->
<if
test=
" yearMonthAndParam !=null and yearNo4Where == null"
>
...
...
@@ -596,6 +592,9 @@
<include
refid=
"yearMonthAndParamSql"
></include>
</foreach>
</if>
<!-- 若需根据预定日期条件查询,针对换为位操作 -->
<!-- yearNo4Where 标识时间参数是否用于where条件 -->
<if
test=
"startCompanyId != null and endCompanyId != null "
>
and (
(abr.to_lift_company = null or abr.to_lift_company = #{startCompanyId})
...
...
@@ -638,7 +637,7 @@
left join vehicle_book_record vbre
on sevbr.vehicle_id = vbre.vehicle_id and sevbr.max_book_end_date = vbre.book_end_date and vbre.status != 4 and vbre.status != 6
left join vehicle_book_record vbrs
on sevbr.vehicle_id = vbrs.vehicle_id and sevbr.min_book_start_date = vbrs.book_start_date and vbrs.status != 4 and vbrs.status != 6
;
on sevbr.vehicle_id = vbrs.vehicle_id and sevbr.min_book_start_date = vbrs.book_start_date and vbrs.status != 4 and vbrs.status != 6
</sql>
</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