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
9b9d5b28
Commit
9b9d5b28
authored
Aug 05, 2019
by
jiaorz
Browse files
Options
Browse Files
Download
Plain Diff
新增押金记录,修改租车核销
parents
2b138687
e3fc6720
Changes
60
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
60 changed files
with
1638 additions
and
573 deletions
+1638
-573
ServiceAuthUtil.java
...hub/wxiaoqi/security/auth/client/jwt/ServiceAuthUtil.java
+0
-2
DefaultKeyGenerator.java
...n/java/com/ace/cache/parser/impl/DefaultKeyGenerator.java
+72
-0
AppUserDetailBiz.java
...m/github/wxiaoqi/security/admin/biz/AppUserDetailBiz.java
+4
-15
AppUserRelationBiz.java
...github/wxiaoqi/security/admin/biz/AppUserRelationBiz.java
+13
-2
AppUserController.java
...github/wxiaoqi/security/admin/rest/AppUserController.java
+10
-0
UserMemberAdminController.java
.../security/admin/rest/admin/UserMemberAdminController.java
+12
-12
usermember.xlsx
...modules/ace-admin/src/main/resources/file/usermember.xlsx
+0
-0
HeaderConfig.java
...m/github/wxiaoqi/security/api/vo/config/HeaderConfig.java
+6
-10
CofigBiz.java
...ver/src/main/java/com/xxfc/platform/app/biz/CofigBiz.java
+18
-13
ItemTypeEnum.java
...m/xxfc/platform/order/contant/enumerate/ItemTypeEnum.java
+1
-0
DailyOrderStatistics.java
.../com/xxfc/platform/order/entity/DailyOrderStatistics.java
+0
-25
DailyVehicleOrderStatistics.java
...fc/platform/order/entity/DailyVehicleOrderStatistics.java
+86
-0
DepositRefundRecord.java
...a/com/xxfc/platform/order/entity/DepositRefundRecord.java
+8
-0
OrderItem.java
...c/main/java/com/xxfc/platform/order/entity/OrderItem.java
+9
-2
AddRentVehicleDTO.java
.../java/com/xxfc/platform/order/pojo/AddRentVehicleDTO.java
+27
-0
DepositeRefundRecordVo.java
.../com/xxfc/platform/order/pojo/DepositeRefundRecordVo.java
+5
-0
OrderAccompanyDTO.java
.../java/com/xxfc/platform/order/pojo/OrderAccompanyDTO.java
+39
-0
OrderAboutParamDTO.java
...om/xxfc/platform/order/pojo/order/OrderAboutParamDTO.java
+3
-0
OrderPageVO.java
.../java/com/xxfc/platform/order/pojo/order/OrderPageVO.java
+17
-5
OrderVehicleCrosstownDto.java
...c/platform/order/pojo/order/OrderVehicleCrosstownDto.java
+4
-1
RentVehicleBO.java
...ava/com/xxfc/platform/order/pojo/order/RentVehicleBO.java
+4
-0
BaseOrderBiz.java
...c/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
+149
-87
DailyVehicleOrderStatisticsBiz.java
...fc/platform/order/biz/DailyVehicleOrderStatisticsBiz.java
+108
-0
OrderDepositRefundRecordBiz.java
.../xxfc/platform/order/biz/OrderDepositRefundRecordBiz.java
+100
-2
OrderRefundBiz.java
...main/java/com/xxfc/platform/order/biz/OrderRefundBiz.java
+10
-10
OrderUserLicenseBiz.java
...java/com/xxfc/platform/order/biz/OrderUserLicenseBiz.java
+2
-2
OrderVehicleCrosstownBiz.java
...com/xxfc/platform/order/biz/OrderVehicleCrosstownBiz.java
+163
-55
OrderViolationBiz.java
...n/java/com/xxfc/platform/order/biz/OrderViolationBiz.java
+27
-16
FeignHeadConfiguration.java
...om/xxfc/platform/order/config/FeignHeadConfiguration.java
+1
-1
WebConfiguration.java
...java/com/xxfc/platform/order/config/WebConfiguration.java
+2
-1
BaseOrderStatisticsJobHandler.java
...tform/order/jobhandler/BaseOrderStatisticsJobHandler.java
+10
-10
BaseOrderMapper.java
.../java/com/xxfc/platform/order/mapper/BaseOrderMapper.java
+1
-2
DailyVehicleOrderStatisticsMapper.java
...tform/order/mapper/DailyVehicleOrderStatisticsMapper.java
+25
-0
DepositRefundRecordMapper.java
...xxfc/platform/order/mapper/DepositRefundRecordMapper.java
+2
-0
OrderVehicaleCrosstownMapper.java
...c/platform/order/mapper/OrderVehicaleCrosstownMapper.java
+2
-1
OrderViolationMapper.java
.../com/xxfc/platform/order/mapper/OrderViolationMapper.java
+2
-0
BackStageOrderController.java
...om/xxfc/platform/order/rest/BackStageOrderController.java
+250
-0
BaseOrderController.java
...ava/com/xxfc/platform/order/rest/BaseOrderController.java
+14
-187
OrderRentVehicleController.java
.../xxfc/platform/order/rest/OrderRentVehicleController.java
+1
-0
OrderVehicleCrosstownController.java
.../platform/order/rest/OrderVehicleCrosstownController.java
+9
-2
OrderViolationController.java
...om/xxfc/platform/order/rest/OrderViolationController.java
+13
-16
OrderRentVehicleService.java
.../xxfc/platform/order/service/OrderRentVehicleService.java
+32
-8
BaseOrderMapper.xml
...rder-server/src/main/resources/mapper/BaseOrderMapper.xml
+14
-32
DailyVehicleOrderStatisticsMapper.xml
...in/resources/mapper/DailyVehicleOrderStatisticsMapper.xml
+109
-0
DepositRefundRecordMapper.xml
...r/src/main/resources/mapper/DepositRefundRecordMapper.xml
+9
-2
OrderVehicaleCrosstownMapper.xml
...rc/main/resources/mapper/OrderVehicaleCrosstownMapper.xml
+12
-1
orderViolationMapper.xml
...server/src/main/resources/mapper/orderViolationMapper.xml
+5
-0
TourGoodBiz.java
...src/main/java/com/xxfc/platform/tour/biz/TourGoodBiz.java
+2
-4
SmsTemplateDTO.java
.../java/com/xxfc/platform/universal/dto/SmsTemplateDTO.java
+33
-0
CCPRestSmsBiz.java
...n/java/com/xxfc/platform/universal/biz/CCPRestSmsBiz.java
+79
-1
TrafficViolationsService.java
.../platform/universal/service/TrafficViolationsService.java
+4
-6
RedisKey.java
...ain/java/com/xxfc/platform/vehicle/constant/RedisKey.java
+2
-0
VehicleFeign.java
...in/java/com/xxfc/platform/vehicle/feign/VehicleFeign.java
+7
-2
BookVehicleVO.java
...in/java/com/xxfc/platform/vehicle/pojo/BookVehicleVO.java
+1
-1
RentVehicleBookDTO.java
...va/com/xxfc/platform/vehicle/pojo/RentVehicleBookDTO.java
+9
-0
VehicleDepartureLogVo.java
...com/xxfc/platform/vehicle/pojo/VehicleDepartureLogVo.java
+9
-0
AccompanyingItemBiz.java
...va/com/xxfc/platform/vehicle/biz/AccompanyingItemBiz.java
+37
-4
VehicleActiveService.java
...a/com/xxfc/platform/vehicle/biz/VehicleActiveService.java
+36
-31
AccompanyingItemController.java
...xfc/platform/vehicle/rest/AccompanyingItemController.java
+8
-1
VehicleController.java
...ava/com/xxfc/platform/vehicle/rest/VehicleController.java
+1
-1
No files found.
ace-auth/ace-auth-client/src/main/java/com/github/wxiaoqi/security/auth/client/jwt/ServiceAuthUtil.java
View file @
9b9d5b28
...
...
@@ -12,7 +12,6 @@ import io.jsonwebtoken.ExpiredJwtException;
import
io.jsonwebtoken.SignatureException
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationListener
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
import
org.springframework.scheduling.annotation.Scheduled
;
...
...
@@ -50,7 +49,6 @@ public class ServiceAuthUtil{
@Scheduled
(
cron
=
"0/30 * * * * ?"
)
public
void
refreshAllowedClient
()
{
log
.
debug
(
"refresh allowedClient....."
);
BaseResponse
resp
=
serviceAuthFeign
.
getAllowedClient
(
serviceAuthConfig
.
getClientId
(),
serviceAuthConfig
.
getClientSecret
());
if
(
resp
.
getStatus
()
==
200
)
{
ObjectRestResponse
<
List
<
String
>>
allowedClient
=
(
ObjectRestResponse
<
List
<
String
>>)
resp
;
...
...
ace-common/src/main/java/com/ace/cache/parser/impl/DefaultKeyGenerator.java
0 → 100644
View file @
9b9d5b28
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package
com
.
ace
.
cache
.
parser
.
impl
;
import
com.ace.cache.constants.CacheScope
;
import
com.ace.cache.parser.IKeyGenerator
;
import
com.ace.cache.parser.IUserKeyGenerator
;
import
com.ace.cache.utils.ReflectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
@Service
public
class
DefaultKeyGenerator
extends
IKeyGenerator
{
@Autowired
(
required
=
false
)
private
IUserKeyGenerator
userKeyGenerator
;
public
DefaultKeyGenerator
()
{
}
public
String
buildKey
(
String
key
,
CacheScope
scope
,
Class
<?>[]
parameterTypes
,
Object
[]
arguments
)
{
boolean
isFirst
=
true
;
if
(
key
.
indexOf
(
"{"
)
>
0
)
{
key
=
key
.
replace
(
"{"
,
":{"
);
Pattern
pattern
=
Pattern
.
compile
(
"\\d+\\.?[\\w]*"
);
Matcher
matcher
=
pattern
.
matcher
(
key
);
while
(
matcher
.
find
())
{
String
tmp
=
matcher
.
group
();
String
[]
express
=
matcher
.
group
().
split
(
"\\."
);
String
i
=
express
[
0
];
int
index
=
Integer
.
parseInt
(
i
)
-
1
;
Object
value
=
arguments
[
index
];
if
(
parameterTypes
[
index
].
isAssignableFrom
(
List
.
class
))
{
List
result
=
(
List
)
arguments
[
index
];
if
(
null
!=
result
)
{
value
=
result
.
get
(
0
);
}
}
if
(
value
==
null
||
value
.
equals
(
"null"
))
{
value
=
""
;
}
if
(
express
.
length
>
1
)
{
String
field
=
express
[
1
];
value
=
ReflectionUtils
.
getFieldValue
(
value
,
field
);
}
if
(
isFirst
)
{
key
=
key
.
replace
(
"{"
+
tmp
+
"}"
,
value
.
toString
());
}
else
{
key
=
key
.
replace
(
"{"
+
tmp
+
"}"
,
"_"
+
value
.
toString
());
}
}
}
return
key
;
}
public
IUserKeyGenerator
getUserKeyGenerator
()
{
return
this
.
userKeyGenerator
;
}
}
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/AppUserDetailBiz.java
View file @
9b9d5b28
...
...
@@ -3,20 +3,15 @@ package com.github.wxiaoqi.security.admin.biz;
import
com.ace.cache.annotation.Cache
;
import
com.ace.cache.annotation.CacheClear
;
import
com.github.wxiaoqi.security.admin.entity.AppUserDetail
;
import
com.github.wxiaoqi.security.admin.entity.AppUserLogin
;
import
com.github.wxiaoqi.security.admin.mapper.AppUserDetailMapper
;
import
com.github.wxiaoqi.security.admin.rpc.service.AppPermissionService
;
import
com.github.wxiaoqi.security.admin.vo.AppUserVo
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.xxfc.platform.im.utils.StringUtil
;
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
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
tk.mybatis.mapper.entity.Example
;
import
java.time.Instant
;
import
java.util.Collection
;
import
java.util.HashMap
;
...
...
@@ -36,8 +31,6 @@ import java.util.stream.Collectors;
public
class
AppUserDetailBiz
extends
BaseBiz
<
AppUserDetailMapper
,
AppUserDetail
>
{
@Autowired
AppUserLoginBiz
userLoginBiz
;
@Override
...
...
@@ -104,20 +97,16 @@ public class AppUserDetailBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail
entity
.
setUpdatetime
(
Instant
.
now
().
toEpochMilli
()
/
1000L
);
super
.
updateSelectiveById
(
entity
);
}
Integer
userid
=
entity
.
getUserid
();
AppUserLogin
appUserLogin
=
new
AppUserLogin
();
appUserLogin
.
setWxOpenid
(
userVo
.
getWxOpenid
());
appUserLogin
.
setUnionid
(
userVo
.
getUnionid
());
appUserLogin
.
setOpenid
(
userVo
.
getOpenid
());
appUserLogin
.
setId
(
userid
);
appUserLogin
.
setUsername
(
userVo
.
getUsername
());
userLoginBiz
.
bindOpenid
(
appUserLogin
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
//更新用户信息
public
Map
<
Integer
,
AppUserDetail
>
findUserIdAndUserDetailMapByMemberIds
(
List
<
Integer
>
memberIds
)
{
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/AppUserRelationBiz.java
View file @
9b9d5b28
...
...
@@ -11,6 +11,7 @@ import com.github.wxiaoqi.security.admin.vo.InviteMemberVo;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.github.wxiaoqi.security.common.vo.PageDataVO
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.aop.framework.AopContext
;
...
...
@@ -33,6 +34,7 @@ import java.util.stream.Collectors;
* @date 2019-07-03 16:36:44
*/
@Service
@Slf4j
public
class
AppUserRelationBiz
extends
BaseBiz
<
AppUserRelationMapper
,
AppUserRelation
>
{
@Autowired
...
...
@@ -56,6 +58,10 @@ public class AppUserRelationBiz extends BaseBiz<AppUserRelationMapper,AppUserRel
* @param parentId
*/
public
void
bindRelation
(
Integer
userId
,
Integer
parentId
,
Integer
type
){
if
(
userId
==
parentId
){
log
.
info
(
"----userId==="
+
userId
+
"----parentId===="
+
parentId
+
"----自己不能成为自己的上线"
);
return
;
}
AppUserRelation
relation
=
getMyBiz
().
getRelationByUserId
(
parentId
);
if
(
relation
==
null
){
relation
=
new
AppUserRelation
();
...
...
@@ -265,9 +271,14 @@ public class AppUserRelationBiz extends BaseBiz<AppUserRelationMapper,AppUserRel
}
public
void
deleteByMemberIds
(
Collection
<
Integer
>
userIds
)
{
Example
example
=
new
Example
(
AppUserRelation
.
class
);
Example
example
=
new
Example
(
AppUserRelation
.
class
);
Example
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
andIn
(
"
user
Id"
,
userIds
);
criteria
.
andIn
(
"
parent
Id"
,
userIds
);
mapper
.
deleteByExample
(
example
);
Example
example2
=
new
Example
(
AppUserRelation
.
class
);
Example
.
Criteria
criteria1
=
example2
.
createCriteria
();
criteria1
.
andIn
(
"userId"
,
userIds
);
mapper
.
deleteByExample
(
example2
);
}
}
\ No newline at end of file
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/AppUserController.java
View file @
9b9d5b28
...
...
@@ -174,6 +174,16 @@ public class AppUserController extends CommonBaseController {
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
NULL_CODE
,
"参数为空"
);
}
userDetailBiz
.
updUuserInfoById
(
userVo
);
Integer
userid
=
userVo
.
getUserid
();
if
(
userid
!=
null
){
AppUserLogin
appUserLogin
=
new
AppUserLogin
();
appUserLogin
.
setWxOpenid
(
userVo
.
getWxOpenid
());
appUserLogin
.
setUnionid
(
userVo
.
getUnionid
());
appUserLogin
.
setOpenid
(
userVo
.
getOpenid
());
appUserLogin
.
setId
(
userid
);
appUserLogin
.
setUsername
(
userVo
.
getUsername
());
appUserLoginBiz
.
bindOpenid
(
appUserLogin
);
}
return
ObjectRestResponse
.
succ
();
}
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/admin/UserMemberAdminController.java
View file @
9b9d5b28
...
...
@@ -16,9 +16,7 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.commons.io.IOUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.http.*
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
...
...
@@ -26,6 +24,7 @@ import javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.nio.charset.Charset
;
import
java.util.List
;
/**
...
...
@@ -72,19 +71,20 @@ public class UserMemberAdminController {
@ApiOperation
(
"会员excel模板下载"
)
@GetMapping
(
value
=
"/app/unauth/user/excel_model/dowload"
,
produces
=
"application/vnd.ms-excel"
)
public
ResponseEntity
<
byte
[]>
dowloadUserMemberExcelModel
(
HttpServletResponse
response
){
// 重置response
response
.
reset
();
response
.
setCharacterEncoding
(
"utf-8"
);
// response.setContentType("application/vnd.ms-excel");
@GetMapping
(
value
=
"/app/unauth/user/excel_model/dowload"
)
public
ResponseEntity
<
byte
[]>
dowloadUserMemberExcelModel
(){
response
.
addHeader
(
"Content-Disposition"
,
"attachment;filename=usermember.xlsx"
);
HttpHeaders
headers
=
new
HttpHeaders
();
// headers.add("Content-Disposition","attachment;filename=usermember.xlsx");
// headers.add("Content-Type","application/vnd.ms-excel");
headers
.
setContentType
(
MediaType
.
MULTIPART_FORM_DATA
);
headers
.
setContentDisposition
(
ContentDisposition
.
builder
(
"attachment"
).
filename
(
"usermember.xlsx"
,
Charset
.
forName
(
"UTF-8"
)).
build
());
InputStream
inputStream
=
AdminBootstrap
.
class
.
getClassLoader
().
getResourceAsStream
(
"file/usermember.xlsx"
);
try
{
response
.
setContentLength
(
inputStream
.
available
(
));
headers
.
setContentLength
(
Long
.
valueOf
(
inputStream
.
available
()
));
byte
[]
bytes
=
IOUtils
.
toByteArray
(
inputStream
);
return
ResponseEntity
.
ok
(
bytes
);
inputStream
.
close
();
return
new
ResponseEntity
<>(
bytes
,
headers
,
HttpStatus
.
OK
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
...
...
ace-modules/ace-admin/src/main/resources/file/usermember.xlsx
View file @
9b9d5b28
No preview for this file type
ace-modules/ace-interface/src/main/java/com/github/wxiaoqi/security/api/vo/config/HeaderConfig.java
View file @
9b9d5b28
package
com
.
github
.
wxiaoqi
.
security
.
api
.
vo
.
config
;
import
feign.Logger
;
import
feign.RequestInterceptor
;
import
feign.RequestTemplate
;
import
org.springframework.util.StringUtils
;
import
org.springframework.web.context.request.RequestAttributes
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
...
...
@@ -22,22 +20,20 @@ public class HeaderConfig implements RequestInterceptor {
@Override
public
void
apply
(
RequestTemplate
template
)
{
RequestAttributes
requestAttributes
=
RequestContextHolder
.
getRequestAttributes
();
if
(
requestAttributes
instanceof
ServletRequestAttributes
){
ServletRequestAttributes
servletRequestAttributes
=
(
ServletRequestAttributes
)
requestAttributes
;
if
(
requestAttributes
instanceof
ServletRequestAttributes
)
{
ServletRequestAttributes
servletRequestAttributes
=
(
ServletRequestAttributes
)
requestAttributes
;
HttpServletRequest
request
=
servletRequestAttributes
.
getRequest
();
//请求头设置
Enumeration
<
String
>
headerNames
=
request
.
getHeaderNames
();
if
(
headerNames
!=
null
)
{
while
(
headerNames
.
hasMoreElements
()){
if
(
headerNames
!=
null
)
{
while
(
headerNames
.
hasMoreElements
())
{
String
headerName
=
headerNames
.
nextElement
();
String
headerValue
=
request
.
getHeader
(
headerName
);
if
(
"A
uthorization"
.
equals
(
headerName
))
{
template
.
header
(
headerName
,
headerValue
);
if
(
"Authorization"
.
equals
(
headerName
)
||
"a
uthorization"
.
equals
(
headerName
))
{
template
.
header
(
"Authorization"
,
headerValue
);
}
}
}
}
}
}
xx-app/xx-app-server/src/main/java/com/xxfc/platform/app/biz/CofigBiz.java
View file @
9b9d5b28
...
...
@@ -27,38 +27,43 @@ import java.util.Map;
* @date 2019-06-03 15:57:13
*/
@Service
public
class
CofigBiz
extends
BaseBiz
<
CofigMapper
,
Cofig
>
{
public
class
CofigBiz
extends
BaseBiz
<
CofigMapper
,
Cofig
>
{
public
List
<
Cofig
>
getConfigByType
(
List
<
Integer
>
list
){
return
mapper
.
getAllByType
(
list
);
public
List
<
Cofig
>
getConfigByType
(
List
<
Integer
>
list
)
{
Example
example
=
new
Example
(
Cofig
.
class
);
Example
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
andEqualTo
(
"isDel"
,
0
);
criteria
.
andIn
(
"type"
,
list
);
return
mapper
.
selectByExample
(
example
);
}
/**
* 修改配置
*
* @param cofig
* @return
*/
@CacheClear
(
pre
=
"app:withdrawrule{1.type}"
)
public
int
updateConfig
(
Cofig
cofig
)
{
EntityUtils
.
setUpdatedInfo
(
cofig
);
return
mapper
.
updateByPrimaryKeySelective
(
cofig
);
return
mapper
.
updateByPrimaryKeySelective
(
cofig
);
}
@Cache
(
key
=
"app:withdrawrule:88"
)
public
WithDrawRuleVo
getWithDrawRule
(){
public
WithDrawRuleVo
getWithDrawRule
()
{
WithDrawRuleVo
withDrawRuleVo
=
new
WithDrawRuleVo
();
Example
example
=
new
Example
(
Cofig
.
class
);
Example
example
=
new
Example
(
Cofig
.
class
);
Example
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
andEqualTo
(
"type"
,
88
);
criteria
.
andEqualTo
(
"type"
,
88
);
List
<
Cofig
>
cofigs
=
mapper
.
selectByExample
(
example
);
if
(
CollectionUtils
.
isEmpty
(
cofigs
)){
if
(
CollectionUtils
.
isEmpty
(
cofigs
))
{
return
withDrawRuleVo
;
}
Cofig
cofig
=
cofigs
.
get
(
0
);
withDrawRuleVo
=
JSON
.
parseObject
(
cofig
.
getParams
(),
WithDrawRuleVo
.
class
);
withDrawRuleVo
.
setDescription
(
cofig
.
getValue
());
return
withDrawRuleVo
;
withDrawRuleVo
=
JSON
.
parseObject
(
cofig
.
getParams
(),
WithDrawRuleVo
.
class
);
withDrawRuleVo
.
setDescription
(
cofig
.
getValue
());
return
withDrawRuleVo
;
}
public
void
updateConfigStatus
(
int
id
)
{
...
...
@@ -72,10 +77,10 @@ public class CofigBiz extends BaseBiz<CofigMapper,Cofig> {
Query
query
=
new
Query
(
params
);
Example
example
=
new
Example
(
Cofig
.
class
);
Example
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
andEqualTo
(
"isDel"
,
0
);
criteria
.
andEqualTo
(
"isDel"
,
0
);
PageDataVO
<
Cofig
>
cofigPage
=
PageDataVO
.
pageInfo
(
query
.
getPage
(),
query
.
getLimit
(),
()
->
mapper
.
selectByExample
(
example
));
return
new
TableResultResponse
<>(
cofigPage
.
getTotalCount
(),
cofigPage
.
getData
())
;
return
new
TableResultResponse
<>(
cofigPage
.
getTotalCount
(),
cofigPage
.
getData
())
;
}
}
\ No newline at end of file
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/ItemTypeEnum.java
View file @
9b9d5b28
...
...
@@ -12,6 +12,7 @@ public enum ItemTypeEnum {
TOUR_CHILD
(
202
,
"旅游儿童"
),
TOUR_INSURE
(
203
,
"旅游保险"
),
MEMBER
(
301
,
"会员"
),
ACCOMPANY
(
104
,
"随车物品"
),
;
/**
* 编码
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/DailyOrderStatistics.java
deleted
100644 → 0
View file @
2b138687
package
com
.
xxfc
.
platform
.
order
.
entity
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
java.math.BigDecimal
;
import
java.math.BigInteger
;
import
java.util.Date
;
@Data
public
class
DailyOrderStatistics
{
@Column
(
name
=
"one_day"
)
private
System
oneDay
;
@Column
(
name
=
"total_orders"
)
private
BigInteger
totalOrders
;
@Column
(
name
=
"actual_total_income"
)
private
BigDecimal
actualTotalIncome
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/DailyVehicleOrderStatistics.java
0 → 100644
View file @
9b9d5b28
package
com
.
xxfc
.
platform
.
order
.
entity
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
org.joda.time.DateTime
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
tk.mybatis.mapper.annotation.KeySql
;
import
tk.mybatis.mapper.code.IdentityDialect
;
import
javax.persistence.Column
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
java.math.BigDecimal
;
import
java.math.BigInteger
;
import
java.util.Date
;
/**
* 每日租车订单统计
* @author Administrator
*/
@Data
@Table
(
name
=
"daily_vehicle_order_statistics"
)
public
class
DailyVehicleOrderStatistics
{
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
private
Integer
id
;
/**
* 日期
*/
@Column
(
name
=
"one_day"
)
private
String
oneDay
;
/**
* 成交总金额
*/
@Column
(
name
=
"gmv"
)
private
BigDecimal
gmv
;
/**
* 预交押金总额
*/
@Column
(
name
=
"security_deposit"
)
private
BigDecimal
securityDeposit
;
/**
* 退还押金总额
*/
@Column
(
name
=
"refund_security_deposit"
)
private
BigDecimal
refundSecurityDeposit
;
/**
* 赔偿总额
*/
@Column
(
name
=
"compensation"
)
private
BigDecimal
compensation
;
/**
* 违章总额
*/
@Column
(
name
=
"forfeit"
)
private
BigDecimal
violationMoney
;
/**
* 取消订单总额
*/
@Column
(
name
=
"penal_sum"
)
private
BigDecimal
penalSum
;
/**
* 延期总额
*/
@Column
(
name
=
"postpone"
)
private
BigDecimal
postpone
;
/**
* 创建时间
*/
@Column
(
name
=
"crt_time"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
crtTime
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/DepositRefundRecord.java
View file @
9b9d5b28
...
...
@@ -57,4 +57,12 @@ public class DepositRefundRecord {
* 是否完成
*/
private
Boolean
iscomplete
;
/**
* 违章记录
*/
@Transient
OrderViolation
orderViolation
;
@Transient
Long
rentDepositAutoRefundTime
;
}
\ No newline at end of file
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderItem.java
View file @
9b9d5b28
...
...
@@ -4,6 +4,9 @@ import java.io.Serializable;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
javax.persistence.*
;
import
com.xxfc.platform.order.contant.enumerate.ItemTypeEnum
;
import
com.xxfc.platform.vehicle.constant.AccompanyingItemType
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
@@ -50,10 +53,10 @@ public class OrderItem implements Serializable {
private
String
name
;
/**
* item 类型
1--租车车型 2--车损免赔 3--司机费用 4--旅游项目 5--旅游保险 6--会员
* item 类型
,详见{@link ItemTypeEnum}
*/
@Column
(
name
=
"type"
)
@ApiModelProperty
(
value
=
"item 类型 1--租车车型 2--车损免赔 3--司机费用 4--旅游项目 5--旅游保险 6--会员"
)
@ApiModelProperty
(
value
=
"item 类型 1--租车车型 2--车损免赔 3--司机费用 4--旅游项目 5--旅游保险 6--会员
7--随车物品
"
)
private
Integer
type
;
/**
...
...
@@ -126,6 +129,10 @@ public class OrderItem implements Serializable {
@ApiModelProperty
(
value
=
"订单id"
)
private
Integer
orderId
;
@Column
(
name
=
"detail"
)
@ApiModelProperty
(
value
=
"描述、详情"
)
private
String
detail
;
public
Integer
getCalculateNum
()
{
return
buyNum
-
cutNum
;
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/AddRentVehicleDTO.java
View file @
9b9d5b28
package
com
.
xxfc
.
platform
.
order
.
pojo
;
import
com.xxfc.platform.activity.entity.ActivityPopularizeItem
;
import
com.xxfc.platform.vehicle.constant.AccompanyingItemType
;
import
com.xxfc.platform.vehicle.entity.AccompanyingItem
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
@@ -8,6 +11,8 @@ import java.time.Instant;
import
java.time.LocalDateTime
;
import
java.time.ZoneOffset
;
import
java.time.format.DateTimeFormatter
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@Data
public
class
AddRentVehicleDTO
extends
AddOrderCommonDTO
{
...
...
@@ -100,6 +105,12 @@ public class AddRentVehicleDTO extends AddOrderCommonDTO{
@ApiModelProperty
(
value
=
"优惠卷卷号"
)
private
String
tickerNos
;
@ApiModelProperty
(
value
=
"随车物品"
)
private
List
<
String
>
accompanyStrs
;
@ApiModelProperty
(
value
=
"随车物品"
,
hidden
=
true
)
private
List
<
OrderAccompanyDTO
>
accompanyItems
;
public
void
setStartTime
(
Long
startTime
)
{
this
.
startTime
=
startTime
;
this
.
bookStartDate
=
DEFAULT_DATE_TIME_FORMATTER
.
format
(
LocalDateTime
.
ofInstant
(
Instant
.
ofEpochMilli
(
startTime
),
ZoneOffset
.
ofHours
(
8
)));
...
...
@@ -109,4 +120,20 @@ public class AddRentVehicleDTO extends AddOrderCommonDTO{
this
.
endTime
=
endTime
;
this
.
bookEndDate
=
DEFAULT_DATE_TIME_FORMATTER
.
format
(
LocalDateTime
.
ofInstant
(
Instant
.
ofEpochMilli
(
endTime
),
ZoneOffset
.
ofHours
(
8
)));
}
public
void
setAccompanyStrs
(
List
<
String
>
accompanyStrs
)
{
this
.
accompanyStrs
=
accompanyStrs
;
if
(
null
!=
accompanyStrs
)
{
this
.
accompanyItems
=
this
.
accompanyStrs
.
parallelStream
().
map
(
str
->
{
String
[]
strs
=
str
.
split
(
","
);
if
(
strs
.
length
<
2
)
{
return
null
;
}
OrderAccompanyDTO
item
=
new
OrderAccompanyDTO
();
item
.
setId
(
Integer
.
valueOf
(
strs
[
0
]));
item
.
setNum
(
Integer
.
valueOf
(
strs
[
1
]));
return
item
;
}).
collect
(
Collectors
.
toList
());
}
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/DepositeRefundRecordVo.java
0 → 100644
View file @
9b9d5b28
package
com
.
xxfc
.
platform
.
order
.
pojo
;
public
class
DepositeRefundRecordVo
{
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/OrderAccompanyDTO.java
0 → 100644
View file @
9b9d5b28
package
com
.
xxfc
.
platform
.
order
.
pojo
;
import
com.xxfc.platform.vehicle.entity.AccompanyingItem
;
import
lombok.Data
;
import
java.math.BigDecimal
;
@Data
public
class
OrderAccompanyDTO
{
/**
* 物品id
*/
private
Integer
id
;
/**
* 物品名称
*/
private
String
name
;
/**
* 物品数量
*/
private
Integer
num
;
/**
* 物品单位
*/
private
String
unit
;
/**
* 物品单价
*/
private
BigDecimal
unitPrice
;
/**
* 物品总价
*/
private
BigDecimal
totalAmount
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/order/OrderAboutParamDTO.java
View file @
9b9d5b28
...
...
@@ -24,4 +24,7 @@ public class OrderAboutParamDTO {
@ApiModelProperty
(
value
=
"免赔费用"
)
private
BigDecimal
damageSafe
;
// @ApiModelProperty(value = "违章保留金")
// private BigDecimal ;
}
\ No newline at end of file
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/order/OrderPageVO.java
View file @
9b9d5b28
package
com
.
xxfc
.
platform
.
order
.
pojo
.
order
;
import
com.xxfc.platform.order.entity.BaseOrder
;
import
com.xxfc.platform.order.entity.OrderMemberDetail
;
import
com.xxfc.platform.order.entity.OrderRentVehicleDetail
;
import
com.xxfc.platform.order.entity.OrderTourDetail
;
import
com.xxfc.platform.order.entity.*
;
import
com.xxfc.platform.vehicle.entity.VehicleUserLicense
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
java.util.Map
;
@Data
public
class
OrderPageVO
extends
BaseOrder
{
...
...
@@ -24,8 +20,19 @@ public class OrderPageVO extends BaseOrder {
List
<
VehicleUserLicense
>
vehicleUserLicenses
;
/**
* 用户名
*/
private
String
username
;
/**
* 是否是用户匹配公司
*/
private
boolean
userCompanyStatus
=
false
;
/**
* 车牌
*/
private
String
vehicalNumberPlat
;
private
String
qrcodeStr
;
...
...
@@ -35,8 +42,13 @@ public class OrderPageVO extends BaseOrder {
*/
private
BigDecimal
illegalReserve
;
/**
* 出交车记录
*/
private
OrderVehicleCrosstownDto
orderVehicleCrosstownDto
;
private
List
<
OrderItem
>
items
;
public
void
setQrcodeStr
(
String
prefix
)
{
this
.
qrcodeStr
=
prefix
+
"?"
+
TYPE
+
getType
()+
"&"
+
NO
+
getNo
();
}
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/order/OrderVehicleCrosstownDto.java
View file @
9b9d5b28
package
com
.
xxfc
.
platform
.
order
.
pojo
.
order
;
import
com.xxfc.platform.order.entity.DepositRefundRecord
;
import
com.xxfc.platform.order.entity.OrderVehicleCrosstown
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
OrderVehicleCrosstownDto
extends
OrderVehicleCrosstown
{
String
userLicenses
;
...
...
@@ -30,5 +33,5 @@ public class OrderVehicleCrosstownDto extends OrderVehicleCrosstown {
private
String
username
;
List
<
DepositRefundRecord
>
depositRefundRecord
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/order/RentVehicleBO.java
View file @
9b9d5b28
...
...
@@ -6,6 +6,7 @@ import com.xxfc.platform.order.entity.BaseOrder;
import
com.xxfc.platform.order.entity.OrderItem
;
import
com.xxfc.platform.order.entity.inter.OrderDetail
;
import
com.xxfc.platform.order.entity.OrderRentVehicleDetail
;
import
com.xxfc.platform.order.pojo.OrderAccompanyDTO
;
import
com.xxfc.platform.vehicle.entity.VehicleModel
;
import
com.xxfc.platform.vehicle.pojo.BookVehicleVO
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
@@ -38,4 +39,7 @@ public class RentVehicleBO extends OrderRentVehicleDetail implements OrderDetail
* 订单子项
*/
List
<
OrderItem
>
items
;
@ApiModelProperty
(
value
=
"随车物品"
,
hidden
=
true
)
private
List
<
OrderAccompanyDTO
>
accompanyItems
;
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
View file @
9b9d5b28
This diff is collapsed.
Click to expand it.
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/DailyVehicleOrderStatisticsBiz.java
0 → 100644
View file @
9b9d5b28
package
com
.
xxfc
.
platform
.
order
.
biz
;
import
com.alibaba.fastjson.JSON
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.xxfc.platform.order.entity.DailyVehicleOrderStatistics
;
import
com.xxfc.platform.order.mapper.DailyVehicleOrderStatisticsMapper
;
import
com.xxfc.platform.order.pojo.DedDetailDTO
;
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
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Slf4j
@Service
public
class
DailyVehicleOrderStatisticsBiz
extends
BaseBiz
<
DailyVehicleOrderStatisticsMapper
,
DailyVehicleOrderStatistics
>
{
private
final
Integer
TYPE_DEFERRED
=
1
;
private
final
Integer
TYPE_DAMAGE
=
2
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
getTotalOrder
()
{
try
{
HashMap
<
String
,
Object
>
resultMap
=
new
HashMap
<>();
// 获取每日租车订单成交金和押金总额
Map
<
String
,
BigDecimal
>
gmvAndMarginTotal
=
mapper
.
getGmvAndMarginTotal
();
resultMap
.
putAll
(
gmvAndMarginTotal
);
// 获取车辆
BigDecimal
penalSum
=
mapper
.
getPenalSum
();
resultMap
.
put
(
"penalSum"
,
penalSum
);
// 获取订单退还押金总额
BigDecimal
refundSecurityDeposit
=
mapper
.
getRefundSecurityDeposit
();
resultMap
.
put
(
"refundSecurityDeposit"
,
refundSecurityDeposit
);
// 获取违章查询总和
BigDecimal
violationMoney
=
mapper
.
getViolationMoney
();
resultMap
.
put
(
"violationMoney"
,
violationMoney
);
// 获取赔偿和延期JSON字符串
List
<
String
>
compensationAndPostpone
=
mapper
.
getCompensationAndPostpone
();
// 获取赔偿和延期JSON字符串转换为map
Map
<
String
,
BigDecimal
>
cpMap
=
getCompensationAndPostponeMap
(
compensationAndPostpone
);
resultMap
.
putAll
(
cpMap
);
DailyVehicleOrderStatistics
orderStatistics
=
new
DailyVehicleOrderStatistics
();
BeanUtils
.
copyProperties
(
orderStatistics
,
resultMap
);
super
.
insertSelective
(
orderStatistics
);
return
true
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
return
false
;
}
}
/**
* 获取赔偿总额和延期总额
*/
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
);
}
// 获取赔偿金额总和
BigDecimal
compensation
=
get
(
sumDedDetailDTOs
,
TYPE_DAMAGE
);
// 获取延期金额总和
BigDecimal
postpone
=
get
(
sumDedDetailDTOs
,
TYPE_DEFERRED
);
Map
<
String
,
BigDecimal
>
resultMap
=
new
HashMap
<>();
resultMap
.
put
(
"compensation"
,
compensation
);
resultMap
.
put
(
"postpone"
,
postpone
);
return
resultMap
;
}
return
new
HashMap
<
String
,
BigDecimal
>();
}
/**
* 根据type获取对应的金额总和
*
* @param sumDedDetailDTOs
* @param TYPE_DAMAGE
* @return
*/
private
BigDecimal
get
(
List
<
DedDetailDTO
>
sumDedDetailDTOs
,
Integer
TYPE_DAMAGE
)
{
if
(
CollectionUtils
.
isNotEmpty
(
sumDedDetailDTOs
))
{
BigDecimal
aggregateAmount
=
sumDedDetailDTOs
.
stream
()
.
filter
(
d
->
TYPE_DAMAGE
.
equals
(
d
.
getType
()))
.
map
(
DedDetailDTO:
:
getCost
)
.
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
return
aggregateAmount
;
}
return
null
;
}
// @Scheduled(cron = "0 0 2 * * ? ")
// private void countDailyOrdersRegularly(){
// DailyOrderStatistics dailyOrderStatistics= mapper.getTotalOrder();
// }
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderDepositRefundRecordBiz.java
View file @
9b9d5b28
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.xxfc.platform.order.contant.enumerate.CrosstownTypeEnum
;
import
com.xxfc.platform.order.contant.enumerate.DepositRefundStatus
;
import
com.xxfc.platform.order.entity.
DepositRefundRecord
;
import
com.xxfc.platform.order.entity.
*
;
import
com.xxfc.platform.order.mapper.DepositRefundRecordMapper
;
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
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.math.BigDecimal
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
static
com
.
xxfc
.
platform
.
universal
.
constant
.
DictionaryKey
.
APP_ORDER
;
@Service
@
Transactional
@
Slf4j
public
class
OrderDepositRefundRecordBiz
extends
BaseBiz
<
DepositRefundRecordMapper
,
DepositRefundRecord
>
{
@Autowired
ThirdFeign
thirdFeign
;
@Autowired
BaseOrderBiz
baseOrderBiz
;
@Autowired
OrderRentVehicleBiz
orderRentVehicleBiz
;
@Autowired
OrderVehicleCrosstownBiz
orderVehicleCrosstownBiz
;
@Autowired
OrderViolationBiz
orderViolationBiz
;
/**
* 添加正常记录
*/
@Transactional
public
void
saveNormalRecord
(
DepositRefundRecord
depositRefundRecord
)
{
depositRefundRecord
.
setStatus
(
DepositRefundStatus
.
INITIATEREFUND
.
getCode
());
depositRefundRecord
.
setIscomplete
(
true
);
...
...
@@ -25,6 +50,7 @@ public class OrderDepositRefundRecordBiz extends BaseBiz<DepositRefundRecordMapp
depositRefundRecord
.
setIscomplete
(
false
);
insertSelectiveRe
(
depositRefundRecord
);
depositRefundRecord
.
setStatus
(
DepositRefundStatus
.
VIOLATIONARRIVAL
.
getCode
());
depositRefundRecord
.
setRestAmount
(
getAmount
());
insertSelectiveRe
(
depositRefundRecord
);
}
...
...
@@ -32,6 +58,7 @@ public class OrderDepositRefundRecordBiz extends BaseBiz<DepositRefundRecordMapp
* 添加定损记录
* @param depositRefundRecord
*/
@Transactional
public
void
saveFixLossRecord
(
DepositRefundRecord
depositRefundRecord
)
{
depositRefundRecord
.
setStatus
(
DepositRefundStatus
.
FIXLOSS
.
getCode
());
depositRefundRecord
.
setIscomplete
(
true
);
...
...
@@ -42,6 +69,7 @@ public class OrderDepositRefundRecordBiz extends BaseBiz<DepositRefundRecordMapp
depositRefundRecord
.
setStatus
(
DepositRefundStatus
.
FIXLOSSREFUNDARRIVAL
.
getCode
());
insertSelectiveRe
(
depositRefundRecord
);
depositRefundRecord
.
setStatus
(
DepositRefundStatus
.
VIOLATIONARRIVAL
.
getCode
());
depositRefundRecord
.
setRestAmount
(
getAmount
());
insertSelectiveRe
(
depositRefundRecord
);
}
...
...
@@ -52,4 +80,74 @@ public class OrderDepositRefundRecordBiz extends BaseBiz<DepositRefundRecordMapp
return
mapper
.
findByCrossIdAndStatus
(
map
);
}
public
List
<
DepositRefundRecord
>
selectByCrossId
(
Integer
cross
)
{
List
<
DepositRefundRecord
>
list
=
mapper
.
selectByCrossId
(
cross
);
for
(
DepositRefundRecord
depositRefundRecord
:
list
)
{
if
(
depositRefundRecord
.
getIscomplete
()
==
true
&&
depositRefundRecord
.
getStatus
()
==
DepositRefundStatus
.
VIOLATIONARRIVAL
.
getCode
())
{
//查询违章记录
OrderVehicleCrosstown
orderVehicleCrosstown
=
orderVehicleCrosstownBiz
.
selectById
(
depositRefundRecord
.
getCrosstownId
());
if
(
orderVehicleCrosstown
!=
null
)
{
BaseOrder
baseOrder
=
baseOrderBiz
.
selectById
(
orderVehicleCrosstown
.
getOrderId
());
if
(
baseOrder
!=
null
)
{
OrderViolation
orderViolation
=
orderViolationBiz
.
getOneByDetailId
(
baseOrder
.
getDetailId
());
depositRefundRecord
.
setOrderViolation
(
orderViolation
);
}
}
}
if
(
depositRefundRecord
.
getStatus
()
==
DepositRefundStatus
.
VIOLATIONARRIVAL
.
getCode
())
{
Map
<
String
,
Dictionary
>
dictionaryMap
=
thirdFeign
.
dictionaryGetAll4Map
().
getData
();
Integer
rentDepositAutoRefundTime
=
new
Integer
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
RENT_DEPOSIT_AUTO_REFUND_TIME
).
getDetail
());
depositRefundRecord
.
setRentDepositAutoRefundTime
(
depositRefundRecord
.
getCrtTime
()
+
(
rentDepositAutoRefundTime
==
null
?
0
:
rentDepositAutoRefundTime
*
60
*
60
*
1000
));
}
}
return
list
;
}
public
void
saveViolationDeposit
(
OrderViolation
orderViolation
)
{
log
.
info
(
"添加违章押金记录:orderViolation = {}"
,
orderViolation
.
toString
());
String
logInfo
=
""
;
OrderRentVehicleDetail
orderRentVehicleDetail
=
orderRentVehicleBiz
.
selectById
(
orderViolation
.
getDetailId
());
if
(
orderRentVehicleDetail
!=
null
)
{
OrderVehicleCrosstownDto
orderVehicleCrosstown
=
new
OrderVehicleCrosstownDto
();
orderVehicleCrosstown
.
setOrderId
(
orderRentVehicleDetail
.
getOrderId
());
orderVehicleCrosstown
.
setType
(
CrosstownTypeEnum
.
ARRIVE
.
getCode
());
OrderVehicleCrosstownDto
orderVehicleCrosstownDto
=
orderVehicleCrosstownBiz
.
getByOrderId
(
orderVehicleCrosstown
);
if
(
orderVehicleCrosstownDto
!=
null
)
{
insertDeposit
(
orderVehicleCrosstownDto
,
orderViolation
,
logInfo
);
}
else
{
orderVehicleCrosstown
.
setType
(
CrosstownTypeEnum
.
FIXED_LOSS
.
getCode
());
OrderVehicleCrosstownDto
depositCross
=
orderVehicleCrosstownBiz
.
getByOrderId
(
orderVehicleCrosstown
);
insertDeposit
(
depositCross
,
orderViolation
,
logInfo
);
logInfo
=
"还车记录不存在"
;
}
}
else
{
logInfo
=
"订单详情不存在"
;
}
log
.
info
(
"添加违章押金记录失败:"
+
logInfo
);
}
public
BigDecimal
getAmount
()
{
//设置保留金
Map
<
String
,
Dictionary
>
dictionaryMap
=
thirdFeign
.
dictionaryGetAll4Map
().
getData
();
BigDecimal
illegalReserve
=
new
BigDecimal
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
ILLEGAL_RESERVE
).
getDetail
());
return
illegalReserve
;
}
public
void
insertDeposit
(
OrderVehicleCrosstownDto
orderVehicleCrosstownDto
,
OrderViolation
orderViolation
,
String
logInfo
)
{
DepositRefundRecord
depositRefundRecord
=
findByCrossIdAndStatus
(
orderVehicleCrosstownDto
.
getId
(),
DepositRefundStatus
.
VIOLATIONARRIVAL
.
getCode
());
if
(
depositRefundRecord
!=
null
)
{
DepositRefundRecord
newValue
=
new
DepositRefundRecord
();
BeanUtil
.
copyProperties
(
depositRefundRecord
,
newValue
,
CopyOptions
.
create
().
setIgnoreNullValue
(
true
).
setIgnoreError
(
true
));
newValue
.
setAmount
(
orderViolation
.
getPrice
());
newValue
.
setRestAmount
(
depositRefundRecord
.
getTotalAmount
().
subtract
(
orderViolation
.
getPrice
()));
//减去违章金之后的押金
newValue
.
setIscomplete
(
true
);
newValue
.
setId
(
null
);
insertSelectiveRe
(
newValue
);
depositRefundRecord
.
setIsshow
(
false
);
updateSelectiveByIdRe
(
depositRefundRecord
);
}
else
{
logInfo
=
"押金记录不存在"
;
}
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderRefundBiz.java
View file @
9b9d5b28
package
com
.
xxfc
.
platform
.
order
.
biz
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.github.wxiaoqi.security.common.util.IntervalUtil
;
...
...
@@ -196,10 +197,9 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
String
refundTradeNo
=
null
;
//0 小于 退款金额
if
(
BigDecimal
.
ZERO
.
compareTo
(
refundAmount
)
<
0
)
{
OrderRefundVo
orv
=
new
OrderRefundVo
(){{
setAmount
(
baseOrder
.
getRealAmount
().
multiply
(
new
BigDecimal
(
"100"
)).
intValue
());
setOrderNo
(
baseOrder
.
getNo
());
}};
OrderRefundVo
orv
=
new
OrderRefundVo
();
orv
.
setAmount
(
baseOrder
.
getRealAmount
().
multiply
(
new
BigDecimal
(
"100"
)).
intValue
());
orv
.
setOrderNo
(
baseOrder
.
getNo
());
orv
.
setRefundDesc
(
refundDesc
+
refundAmount
.
toString
());
orv
.
setRefundAmount
(
refundAmount
.
multiply
(
new
BigDecimal
(
"100"
)).
intValue
());
refundTradeNo
=
thirdFeign
.
refund
(
orv
).
getData
();
...
...
@@ -209,13 +209,13 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
Integer
flag
=
addOrderRefund
(
baseOrder
.
getId
(),
refundDesc
,
originalRefundAmount
,
refundAmount
,
refundTradeNo
,
refundType
);
//更新订单的退款状态和退款时间
BaseOrder
updateBaseOrder
=
new
BaseOrder
();
updateBaseOrder
.
setId
(
baseOrder
.
getId
());
updateBaseOrder
.
setRefundStatus
(
refundStatus
);
updateBaseOrder
.
setRefundTime
(
System
.
currentTimeMillis
());
updateBaseOrder
.
setVersion
(
baseOrder
.
getVersion
());
if
(
SYS_TRUE
.
equals
(
flag
)
&&
null
!=
refundStatus
)
{
baseOrderBiz
.
updateSelectiveByIdReT
(
new
BaseOrder
(){{
setId
(
baseOrder
.
getId
());
setRefundStatus
(
refundStatus
);
setRefundTime
(
System
.
currentTimeMillis
());
setVersion
(
baseOrder
.
getVersion
());
}});
BeanUtil
.
copyProperties
(
baseOrderBiz
.
updateSelectiveByIdReT
(
updateBaseOrder
),
baseOrder
);
}
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderUserLicenseBiz.java
View file @
9b9d5b28
...
...
@@ -28,11 +28,11 @@ public class OrderUserLicenseBiz extends BaseBiz<OrderUserLicenseMapper, OrderUs
}
OrderUserLicense
oldValue
=
mapper
.
selectByLicenseIdCard
(
orderUserLicense
.
getLicenseIdCard
());
if
(
oldValue
==
null
)
{
mapper
.
insertSelective
(
orderUserLicense
);
insertSelective
(
orderUserLicense
);
return
ObjectRestResponse
.
succ
(
mapper
.
selectByLicenseIdCard
(
orderUserLicense
.
getLicenseIdCard
()));
}
BeanUtil
.
copyProperties
(
orderUserLicense
,
oldValue
,
CopyOptions
.
create
().
setIgnoreNullValue
(
true
).
setIgnoreError
(
true
));
mapper
.
updateByPrimaryKeySelectiv
e
(
oldValue
);
updateSelectiveByIdR
e
(
oldValue
);
return
ObjectRestResponse
.
succ
(
mapper
.
selectByLicenseIdCard
(
oldValue
.
getLicenseIdCard
()));
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderVehicleCrosstownBiz.java
View file @
9b9d5b28
This diff is collapsed.
Click to expand it.
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderViolationBiz.java
View file @
9b9d5b28
...
...
@@ -7,7 +7,6 @@ import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import
com.xxfc.platform.order.entity.OrderViolation
;
import
com.xxfc.platform.order.mapper.OrderRentVehicleDetailMapper
;
import
com.xxfc.platform.order.mapper.OrderViolationMapper
;
import
com.xxfc.platform.vehicle.common.RestResponse
;
import
com.xxfc.platform.vehicle.constant.RedisKey
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.io.FileUtils
;
...
...
@@ -24,14 +23,15 @@ import org.springframework.http.ResponseEntity;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.multipart.MultipartFile
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.io.File
;
import
java.io.IOException
;
import
java.util.Map
;
import
java.util.concurrent.TimeUnit
;
/**订单违章记录biz
/**
* 订单违章记录biz
*
* @author Administrator
*/
@Service
...
...
@@ -41,14 +41,16 @@ public class OrderViolationBiz extends BaseBiz<OrderViolationMapper, OrderViolat
private
OrderRentVehicleDetailMapper
detailMapper
;
@Value
(
"order.violation.upload"
)
private
String
ovUpload
;
private
String
ovUpload
;
public
static
final
DateTimeFormatter
DEFAULT_DATE_TIME_FORMATTER
=
DateTimeFormat
.
forPattern
(
"yyyy-MM-dd"
);
@Autowired
private
RedisTemplate
redisTemplate
;
/**
* 保存违章记录
*
* @param orderViolation
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
...
...
@@ -59,10 +61,10 @@ public class OrderViolationBiz extends BaseBiz<OrderViolationMapper, OrderViolat
Map
<
String
,
Object
>
status
=
mapper
.
getOrderAndVehicleStatus
(
orderViolation
.
getDetailId
());
Integer
orderStatus
=
(
Integer
)
status
.
get
(
"status"
);
Integer
refundStatus
=
(
Integer
)
status
.
get
(
"refundStatus"
);
if
(
orderStatus
>=
6
||(
refundStatus
<=
2
&&
refundStatus
!=
1
))
{
mapper
.
insertSelective
(
orderViolation
);
if
(
orderStatus
>=
6
||
(
refundStatus
<=
2
&&
refundStatus
!=
1
))
{
insertSelective
(
orderViolation
);
detailMapper
.
updateByPrimaryKeySelective
(
orderRentVehicleDetail
);
}
else
{
}
else
{
throw
new
BaseException
(
"The operation cannot be changed at this time"
);
}
...
...
@@ -70,6 +72,7 @@ public class OrderViolationBiz extends BaseBiz<OrderViolationMapper, OrderViolat
/**
* 修改违章记录
*
* @param orderViolation
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
...
...
@@ -77,9 +80,9 @@ public class OrderViolationBiz extends BaseBiz<OrderViolationMapper, OrderViolat
Map
<
String
,
Object
>
status
=
mapper
.
getOrderAndVehicleStatus
(
orderViolation
.
getDetailId
());
Integer
orderStatus
=
(
Integer
)
status
.
get
(
"status"
);
Integer
refundStatus
=
(
Integer
)
status
.
get
(
"refundStatus"
);
if
(
orderStatus
>=
6
||(
refundStatus
<=
2
&&
refundStatus
!=
1
))
{
mapper
.
updateByPrimaryKeySelectiv
e
(
orderViolation
);
}
else
{
if
(
orderStatus
>=
6
||
(
refundStatus
<=
2
&&
refundStatus
!=
1
))
{
updateSelectiveByIdR
e
(
orderViolation
);
}
else
{
throw
new
BaseException
(
"The operation cannot be changed at this time"
);
}
...
...
@@ -87,14 +90,14 @@ public class OrderViolationBiz extends BaseBiz<OrderViolationMapper, OrderViolat
public
ObjectRestResponse
uploadViolation
(
MultipartFile
file
)
throws
IOException
{
DateTime
now
=
DateTime
.
now
();
String
dirPathToday
=
File
.
separator
+
now
.
toString
(
DEFAULT_DATE_TIME_FORMATTER
);
String
dirPathToday
=
File
.
separator
+
now
.
toString
(
DEFAULT_DATE_TIME_FORMATTER
);
String
redisNoKey
=
RedisKey
.
UPLOAD_FILE_NO_PREFIX
+
now
.
toString
(
DEFAULT_DATE_TIME_FORMATTER
);
Long
no
=
redisTemplate
.
opsForValue
().
increment
(
redisNoKey
);
if
(
no
.
equals
(
1L
))
{
redisTemplate
.
expire
(
redisNoKey
,
1
,
TimeUnit
.
DAYS
);
if
(
no
.
equals
(
1L
))
{
redisTemplate
.
expire
(
redisNoKey
,
1
,
TimeUnit
.
DAYS
);
}
String
fileName
=
file
.
getOriginalFilename
();
String
realFileRelPath
=
dirPathToday
+
File
.
separator
+
no
+
fileName
.
substring
(
fileName
.
lastIndexOf
(
"."
));
String
realFileRelPath
=
dirPathToday
+
File
.
separator
+
no
+
fileName
.
substring
(
fileName
.
lastIndexOf
(
"."
));
String
filePath
=
ovUpload
+
realFileRelPath
;
...
...
@@ -105,18 +108,26 @@ public class OrderViolationBiz extends BaseBiz<OrderViolationMapper, OrderViolat
/**
* 下载行驶证图片
*
* @param realFileRelPath
* @return
* @throws Exception
*/
public
ResponseEntity
<
byte
[]>
downloadViolation
(
String
realFileRelPath
)
throws
Exception
{
public
ResponseEntity
<
byte
[]>
downloadViolation
(
String
realFileRelPath
)
throws
Exception
{
String
filePath
=
ovUpload
+
realFileRelPath
;
File
file
=
new
File
(
filePath
);
//新建一个文件
HttpHeaders
headers
=
new
HttpHeaders
();
//http头信息
String
downloadFileName
=
new
String
(
file
.
getName
());
//设置编码
headers
.
setContentDispositionFormData
(
"attachment"
,
downloadFileName
);
headers
.
setContentType
(
MediaType
.
APPLICATION_OCTET_STREAM
);
return
new
ResponseEntity
<
byte
[]>(
FileUtils
.
readFileToByteArray
(
file
),
headers
,
HttpStatus
.
CREATED
);
return
new
ResponseEntity
<
byte
[]>(
FileUtils
.
readFileToByteArray
(
file
),
headers
,
HttpStatus
.
CREATED
);
}
/**
* 根据订单详情查询违章记录
*/
public
OrderViolation
getOneByDetailId
(
Integer
detailId
)
{
return
mapper
.
getOneByDetailId
(
detailId
);
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/config/FeignHeadConfiguration.java
View file @
9b9d5b28
...
...
@@ -44,7 +44,7 @@ public class FeignHeadConfiguration {
log
.
debug
(
"添加自定义请求头key:"
+
name
+
",value:"
+
value
);
requestTemplate
.
header
(
name
,
value
);
}
else
{
log
.
debug
(
"FeignHeadConfiguration"
,
"非自定义请求头key:"
+
name
+
",value:"
+
value
+
"不需要添加!"
);
//
log.debug("FeignHeadConfiguration", "非自定义请求头key:" + name + ",value:" + value + "不需要添加!");
}
}
}
else
{
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/config/WebConfiguration.java
View file @
9b9d5b28
...
...
@@ -57,7 +57,8 @@ public class WebConfiguration implements WebMvcConfigurer {
"/baseOrder/**"
,
"/orderTour/**"
,
"/orderMember/**"
,
"/orderRefund/**"
"/orderRefund/**"
,
"/orderVehicle/**"
};
Collections
.
addAll
(
list
,
urls
);
return
list
;
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/jobhandler/BaseOrderStatisticsJobHandler.java
View file @
9b9d5b28
package
com
.
xxfc
.
platform
.
order
.
jobhandler
;
import
com.xxfc.platform.order.biz.BaseOrderBiz
;
import
com.xxfc.platform.order.entity.DailyOrderStatistics
;
import
com.xxfc.platform.order.mapper.BaseOrderMapper
;
import
com.xxfc.platform.order.biz.DailyVehicleOrderStatisticsBiz
;
import
com.xxl.job.core.biz.model.ReturnT
;
import
com.xxl.job.core.handler.IJobHandler
;
import
com.xxl.job.core.handler.annotation.JobHandler
;
...
...
@@ -14,22 +13,23 @@ import org.springframework.stereotype.Component;
/**
* 每天2定时统计前一天的数据
*/
@JobHandler
(
value
=
"baseOrderStatistics"
)
@JobHandler
(
value
=
"baseOrderStatistics
Handler
"
)
@Component
@Slf4j
public
class
BaseOrderStatisticsJobHandler
extends
IJobHandler
{
@Autowired
private
BaseOrderBiz
baseOrder
Biz
;
private
DailyVehicleOrderStatisticsBiz
statistics
Biz
;
@Override
public
ReturnT
<
String
>
execute
(
String
s
)
throws
Exception
{
try
{
baseOrderBiz
.
getTotalOrder
();
ReturnT
returnT
=
new
ReturnT
(){{
setCode
(
100
);
setMsg
(
"成功"
);
}};
XxlJobLogger
.
log
(
"-----定时器进入---baseOrderStatisticsHandler---"
);
// log.info("-----定时器进入---baseOrderStatisticsHandler---");
statisticsBiz
.
getTotalOrder
();
ReturnT
returnT
=
new
ReturnT
();
returnT
.
setCode
(
100
);
returnT
.
setMsg
(
"成功"
);
return
returnT
;
}
catch
(
Exception
e
)
{
XxlJobLogger
.
log
(
e
);
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mapper/BaseOrderMapper.java
View file @
9b9d5b28
package
com
.
xxfc
.
platform
.
order
.
mapper
;
import
com.xxfc.platform.order.entity.BaseOrder
;
import
com.xxfc.platform.order.entity.DailyOrderStatistics
;
import
com.xxfc.platform.order.pojo.order.OrderListVo
;
import
com.xxfc.platform.order.pojo.order.OrderPageVO
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -28,5 +28,4 @@ public interface BaseOrderMapper extends Mapper<BaseOrder> {
public
OrderPageVO
getOrderDetail
(
String
no
);
DailyOrderStatistics
getTotalOrder
();
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mapper/DailyVehicleOrderStatisticsMapper.java
0 → 100644
View file @
9b9d5b28
package
com
.
xxfc
.
platform
.
order
.
mapper
;
import
com.xxfc.platform.order.entity.DailyVehicleOrderStatistics
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
java.util.Map
;
/**
* 每日统计数据
* @author Administrator
*/
public
interface
DailyVehicleOrderStatisticsMapper
extends
Mapper
<
DailyVehicleOrderStatistics
>
{
Map
<
String
,
BigDecimal
>
getGmvAndMarginTotal
();
List
<
String
>
getCompensationAndPostpone
();
BigDecimal
getPenalSum
();
BigDecimal
getRefundSecurityDeposit
();
BigDecimal
getViolationMoney
();
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mapper/DepositRefundRecordMapper.java
View file @
9b9d5b28
...
...
@@ -3,8 +3,10 @@ package com.xxfc.platform.order.mapper;
import
com.xxfc.platform.order.entity.DepositRefundRecord
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
import
java.util.Map
;
public
interface
DepositRefundRecordMapper
extends
Mapper
<
DepositRefundRecord
>
{
DepositRefundRecord
findByCrossIdAndStatus
(
Map
<
String
,
Object
>
map
);
List
<
DepositRefundRecord
>
selectByCrossId
(
Integer
crossId
);
}
\ No newline at end of file
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mapper/OrderVehicaleCrosstownMapper.java
View file @
9b9d5b28
...
...
@@ -5,9 +5,10 @@ import com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
import
java.util.Map
;
public
interface
OrderVehicaleCrosstownMapper
extends
Mapper
<
OrderVehicleCrosstown
>
{
List
<
OrderVehicleCrosstownDto
>
selectByOrderId
(
OrderVehicleCrosstownDto
orderVehicleCrosstownDto
);
OrderVehicleCrosstownDto
selectByOrderNo
(
Map
<
String
,
Object
>
map
);
}
\ No newline at end of file
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mapper/OrderViolationMapper.java
View file @
9b9d5b28
...
...
@@ -12,4 +12,6 @@ import java.util.Map;
public
interface
OrderViolationMapper
extends
Mapper
<
OrderViolation
>
{
Map
<
String
,
Object
>
getOrderAndVehicleStatus
(
@Param
(
"vId"
)
Integer
detailId
);
OrderViolation
getOneByDetailId
(
Integer
detailId
);
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/BackStageOrderController.java
0 → 100644
View file @
9b9d5b28
This diff is collapsed.
Click to expand it.
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/BaseOrderController.java
View file @
9b9d5b28
This diff is collapsed.
Click to expand it.
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/OrderRentVehicleController.java
View file @
9b9d5b28
...
...
@@ -61,6 +61,7 @@ public class OrderRentVehicleController extends CommonBaseController {
bo
.
setAppUserDTO
(
userFeign
.
userDetailByToken
(
BaseContextHandler
.
getToken
()).
getData
());
bo
.
setTickerNo
(
StrUtil
.
isNotBlank
(
vo
.
getTickerNos
())?
StrUtil
.
splitTrim
(
vo
.
getTickerNos
(),
","
):
null
);
bo
.
setAccompanyItems
(
vo
.
getAccompanyItems
());
orderRentVehicleService
.
createOrder
(
bo
);
return
ObjectRestResponse
.
succ
(
bo
.
getOrder
());
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/OrderVehicleCrosstownController.java
View file @
9b9d5b28
...
...
@@ -10,7 +10,6 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
...
...
@@ -32,7 +31,6 @@ public class OrderVehicleCrosstownController {
@PostMapping
(
value
=
"/add"
)
@ApiOperation
(
value
=
"添加交还车记录"
)
@Transactional
public
ObjectRestResponse
<
OrderVehicleCrosstownDto
>
add
(
@RequestBody
OrderVehicleCrosstownDto
orderVehicleCrosstownDto
)
{
return
orderVehicleCrosstownBiz
.
add
(
orderVehicleCrosstownDto
);
...
...
@@ -52,4 +50,13 @@ public class OrderVehicleCrosstownController {
}
return
ObjectRestResponse
.
succ
(
orderVehicleCrosstownBiz
.
selectByOrderId
(
orderVehicleCrosstownDto
));
}
@GetMapping
(
value
=
"/getByOrderNo"
)
@ApiOperation
(
value
=
"根据订单号返回交车和押金记录"
)
public
ObjectRestResponse
getByOrderNo
(
String
no
)
{
if
(
no
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
500
,
"参数orderId为空"
);
}
return
ObjectRestResponse
.
succ
(
orderVehicleCrosstownBiz
.
selectByOrderNo
(
no
));
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/OrderViolationController.java
View file @
9b9d5b28
...
...
@@ -3,12 +3,15 @@ package com.xxfc.platform.order.rest;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.dto.UserDTO
;
import
com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface
;
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.OrderDepositRefundRecordBiz
;
import
com.xxfc.platform.order.biz.OrderViolationBiz
;
import
com.xxfc.platform.order.entity.OrderViolation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.util.Assert
;
...
...
@@ -19,7 +22,6 @@ import tk.mybatis.mapper.weekend.WeekendSqls;
import
javax.servlet.http.HttpServletRequest
;
import
java.math.BigInteger
;
import
java.util.Date
;
import
java.util.List
;
/**
...
...
@@ -29,25 +31,21 @@ import java.util.List;
*/
@RestController
@RequestMapping
(
"orderViolation"
)
public
class
OrderViolationController
extends
BaseController
<
OrderViolationBiz
,
OrderViolation
>
{
@Slf4j
public
class
OrderViolationController
extends
BaseController
<
OrderViolationBiz
,
OrderViolation
>
implements
UserRestInterface
{
@Autowired
private
UserFeign
userFeign
;
@Autowired
OrderDepositRefundRecordBiz
orderDepositRefundRecordBiz
;
@Override
public
UserFeign
getUserFeign
()
{
return
userFeign
;
}
private
Long
MAX_DRIVING_LICENSE_SIZE
=
1024
*
1024
*
50L
;
private
final
String
FILE_TYPE
=
"JPG"
;
/**
* 获取操作用户信息
*/
private
UserDTO
getUserDTO
()
{
ObjectRestResponse
<
UserDTO
>
orrUserDTO
=
userFeign
.
userinfoByToken
(
request
.
getHeader
(
"Authorization"
));
if
(
orrUserDTO
==
null
||
orrUserDTO
.
getData
()
==
null
||
orrUserDTO
.
getData
().
getId
()
==
null
)
{
throw
new
BaseException
(
"This user does not exist"
);
}
UserDTO
userDTOD
=
orrUserDTO
.
getData
();
return
userDTOD
;
}
/**
* 保存违章记录
...
...
@@ -58,9 +56,8 @@ public class OrderViolationController extends BaseController<OrderViolationBiz,
*/
@PostMapping
(
"/saveOrderViolation"
)
public
ObjectRestResponse
saveOrderViolation
(
@RequestBody
OrderViolation
orderViolation
,
HttpServletRequest
request
)
{
UserDTO
userDTOD
=
getUserDTO
();
log
.
info
(
"保存违章记录:orderViolation = {}"
,
orderViolation
.
toString
());
UserDTO
userDTOD
=
getAdminUserInfo
();
if
(
orderViolation
.
getId
()==
null
)
{
orderViolation
.
setIsDel
(
0
);
orderViolation
.
setCrtHost
(
request
.
getRemoteHost
());
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderRentVehicleService.java
View file @
9b9d5b28
...
...
@@ -3,6 +3,7 @@ package com.xxfc.platform.order.service;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.lang.Dict
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.github.wxiaoqi.security.admin.constant.enumerate.MemberEnum
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
...
...
@@ -23,16 +24,19 @@ import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum;
import
com.xxfc.platform.order.contant.enumerate.OrderTypeEnum
;
import
com.xxfc.platform.order.entity.OrderItem
;
import
com.xxfc.platform.order.entity.OrderTemplate
;
import
com.xxfc.platform.order.pojo.OrderAccompanyDTO
;
import
com.xxfc.platform.order.pojo.order.RentVehicleBO
;
import
com.xxfc.platform.order.pojo.price.RentVehiclePriceVO
;
import
com.xxfc.platform.universal.constant.DictionaryKey
;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
import
com.xxfc.platform.vehicle.entity.AccompanyingItem
;
import
com.xxfc.platform.vehicle.entity.BranchCompany
;
import
com.xxfc.platform.vehicle.entity.VehicleBookRecord
;
import
com.xxfc.platform.vehicle.entity.VehicleModel
;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
com.xxfc.platform.vehicle.pojo.CompanyDetail
;
import
com.xxfc.platform.vehicle.pojo.RentVehicleBookDTO
;
import
com.xxfc.platform.vehicle.pojo.vo.AccompanyingItemVo
;
import
lombok.Data
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -40,15 +44,13 @@ import org.springframework.stereotype.Service;
import
javax.annotation.PostConstruct
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
static
com
.
github
.
wxiaoqi
.
security
.
admin
.
constant
.
enumerate
.
MemberEnum
.*;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_FALSE
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_TRUE
;
import
static
com
.
xxfc
.
platform
.
order
.
contant
.
enumerate
.
ItemTypeEnum
.*;
import
static
com
.
xxfc
.
platform
.
universal
.
constant
.
DictionaryKey
.
APP_ORDER
;
@Service
...
...
@@ -154,9 +156,30 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
activityFeign
.
use
(
bo
.
getAppUserDTO
().
getUserid
(),
bo
.
getTickerNo
(),
bo
.
getOrder
().
getNo
(),
channel
,
amount
,
ActivityFeign
.
TYPE_USE
);
}
//插入随声物品item
Map
<
String
,
AccompanyingItemVo
>
accompanyingItemMap
=
vehicleFeign
.
listAccompanyingItem
().
getData
()
.
parallelStream
().
collect
(
Collectors
.
toMap
(
en
->
en
.
getId
().
toString
(),
en
->
en
));
if
(
null
==
bo
.
getAccompanyItems
())
{
bo
.
setAccompanyItems
(
new
ArrayList
<
OrderAccompanyDTO
>());
}
for
(
OrderAccompanyDTO
oad
:
bo
.
getAccompanyItems
())
{
AccompanyingItemVo
aiv
=
accompanyingItemMap
.
get
(
oad
.
getId
());
oad
.
setName
(
aiv
.
getName
());
oad
.
setUnit
(
aiv
.
getUnit
());
oad
.
setUnitPrice
(
aiv
.
getPrice
());
oad
.
setNum
(
aiv
.
getNumber
());
oad
.
setTotalAmount
(
oad
.
getUnitPrice
().
multiply
(
new
BigDecimal
(
oad
.
getNum
().
toString
())));
}
//获取可用车辆
acquireVehicle
(
bo
);
OrderItem
accompanyItem
=
orderItemBiz
.
initOrderItem
(
BigDecimal
.
ZERO
,
1
,
"随车物品"
,
null
,
ACCOMPANY
);
accompanyItem
.
setRealAmount
(
BigDecimal
.
ZERO
);
accompanyItem
.
setDetail
(
JSONUtil
.
toJsonStr
(
bo
.
getAccompanyItems
()));
accompanyItem
.
setOrderId
(
bo
.
getOrder
().
getId
());
orderItemBiz
.
insertSelective
(
accompanyItem
);
super
.
handleDetail
(
bo
);
//发送定时取消订单(数据字典设置--5分钟)
...
...
@@ -178,7 +201,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
BigDecimal
vehicleAmount
=
BigDecimal
.
ZERO
;
BigDecimal
driverAmount
=
BigDecimal
.
ZERO
;
BigDecimal
damageSafeAmount
=
BigDecimal
.
ZERO
;
BigDecimal
modelAmount
=
BigDecimal
.
ZERO
;
//
BigDecimal modelAmount = BigDecimal.ZERO;
BigDecimal
couponAmount
=
BigDecimal
.
ZERO
;
Integer
vehicleDayNum
=
0
;
Integer
freeDayNum
=
0
;
...
...
@@ -243,8 +266,6 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
}
detail
.
setRebate
(
handleDiscountDTO
.
getRebate
());
vehicleOrderItem
.
setUnitPrice
(
handleDiscountDTO
.
getModelAmount
());
}
else
{
modelAmount
=
vehicleModel
.
getPrice
();
}
//如果有使用会员权益或者优惠券,则设置订单已优惠
...
...
@@ -300,7 +321,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
rvp
.
setDriverAmount
(
driverAmount
);
rvp
.
setVehicleAmount
(
vehicleAmount
);
rvp
.
setDamageSafeAmount
(
damageSafeAmount
);
rvp
.
setModelAmount
(
modelAmount
);
rvp
.
setModelAmount
(
vehicleOrderItem
.
getUnitPrice
()
);
rvp
.
setVehicleDayNum
(
vehicleDayNum
);
//设置收费明细
...
...
@@ -382,6 +403,9 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
rentVehicleBookDTO
.
setUserName
(
BaseContextHandler
.
getName
());
rentVehicleBookDTO
.
setLiftCompany
(
detail
.
getStartCompanyId
());
rentVehicleBookDTO
.
setLiftAddr
(
detail
.
getStartAddr
());
if
(
null
!=
detail
.
getAccompanyItems
())
{
rentVehicleBookDTO
.
setSelectedAccItem
(
detail
.
getAccompanyItems
().
parallelStream
().
collect
(
Collectors
.
toMap
(
OrderAccompanyDTO:
:
getId
,
OrderAccompanyDTO:
:
getNum
)));
}
ObjectRestResponse
<
VehicleBookRecord
>
orr
=
vehicleFeign
.
rentApplyVehicle
(
rentVehicleBookDTO
);
if
(!
CommonConstants
.
SYS_JSON_TRUE
.
equals
(
orr
.
getStatus
()))
{
throw
new
BaseException
(
orr
.
getMessage
(),
orr
.
getStatus
());
...
...
xx-order/xx-order-server/src/main/resources/mapper/BaseOrderMapper.xml
View file @
9b9d5b28
...
...
@@ -172,7 +172,11 @@
<if
test=
"userId != null"
>
and b.user_id = #{userId}
</if>
<if
test=
"status != null"
>
<if
test=
"status != null and status == -1"
>
AND b.status in (6,-1)
and b.refund_status in (0,2)
</if>
<if
test=
"status != null and status != -1"
>
and b.status = #{status}
</if>
<if
test=
"no != null"
>
...
...
@@ -181,13 +185,19 @@
<if
test=
"startTime != null and status == 4"
>
and r.start_time between #{startTime} and #{endTime}
</if>
<if
test=
"startTime != null and
status == 5
"
>
and r.
start
_time between #{startTime} and #{endTime}
<if
test=
"startTime != null and
(status == 5 || status == 6 || status == -1)
"
>
and r.
end
_time between #{startTime} and #{endTime}
</if>
<if
test=
"startCompanyId != null"
>
and r.start_company_id = #{startCompanyId}
</if>
order by b.crt_time desc
<if
test=
"status == 4"
>
order by r.start_time
</if>
<if
test=
"status == 5 || status == -1"
>
order by r.end_time
</if>
</select>
<select
id=
"getTourList"
parameterType=
"Map"
resultMap=
"orderPageMap"
>
...
...
@@ -219,33 +229,5 @@
where no = #{no}
</select>
<select
id=
"getTotalOrder"
resultType=
"com.xxfc.platform.order.entity.DailyOrderStatistics"
>
select
date_format(pay_time,'%Y-%c-%d') as oneDay,
sum(1) as totalOrders,
sum(pay_time)as actualTotalIncome
from
base_order
where
date(pay_time)=date(now())-1
group by
date_format(pay_time,'%d')
</select>
<!-- <select id="getTotalOrder" resultType="com.xxfc.platform.order.entity.DailyOrderStatistics">-->
<!-- select-->
<!-- date_format(refund_time,'%Y-%c-%d') as oneDay,-->
<!-- sum(1) as totalOrders,-->
<!-- sum(refund_time)as actualTotalIncome-->
<!-- from-->
<!-- base_order-->
<!-- where-->
<!-- date(refund_time)=date(now())-1-->
<!-- group by-->
<!-- date_format(refund_time,'%d')-->
<!-- </select>-->
</mapper>
\ No newline at end of file
xx-order/xx-order-server/src/main/resources/mapper/DailyVehicleOrderStatisticsMapper.xml
0 → 100644
View file @
9b9d5b28
<?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.DailyVehicleOrderStatisticsMapper"
>
<!-- 获取每日租车订单成交金和押金总额-->
<select
id=
"getGmvAndMarginTotal"
resultType=
"HashMap"
>
select
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 marginTotal
from
base_order b
left join
order_rent_vehicle_detail v
on
b.id=v.order_id
where
b.type=1
AND
date(FROM_UNIXTIME(b.pay_time/1000))=date(DATE_SUB(now(),interval 1 day))
</select>
<!-- 退还押金总额-->
<select
id=
"getRefundSecurityDeposit"
resultType=
"BigDecimal"
>
SELECT
IFNULL(SUM(r.refund_amount),0) as refundSecurityDeposit
FROM
base_order o
left join
order_refund r
on
o.id=r.order_id
WHERE
o.type=1
and
r.refund_status=1
and
r.refund_type >1
and
date(FROM_UNIXTIME(r.refund_time/1000))=date(DATE_SUB(now(),interval 1 day))
</select>
<!-- 取消订单扣除款项总和-->
<select
id=
"getPenalSum"
resultType=
"BigDecimal"
>
SELECT
IFNULL(SUM(r.deduct_amount),0) as penalSum
FROM
base_order o
left join
order_refund r
on
o.id=r.order_id
WHERE
o.type=1
and
r.refund_status=1
and
r.refund_type =1
and
date(FROM_UNIXTIME(r.refund_time/1000))=date(DATE_SUB(now(),interval 1 day))
</select>
<!-- 获取赔偿和延期JSON字符串-->
<select
id=
"getCompensationAndPostpone"
resultType=
"List"
>
SELECT
ded_detail
FROM
order_refund r
LEFT JOIN
order_vehicle_crosstown c
on
r.order_id = c.order_id
WHERE
r.refund_status=1
and
r.refund_type = 3
and
c.type=2
and
date(FROM_UNIXTIME(refund_time/1000))=date(DATE_SUB(now(),interval 1 day))
</select>
<select
id=
"getViolationMoney"
resultType=
"BigDecimal"
>
SELECT
v.price
FROM
order_refund r
left JOIN
base_order o
on
o.id=r.order_id
LEFT JOIN
order_rent_vehicle_detail d
on
o.id = d.order_id
left join
order_violation v
on
d.id = v.detail_id
WHERE
r.refund_status=1
and
r.refund_type = 4
and
date(FROM_UNIXTIME(r.refund_time/1000))=date(DATE_SUB(now(),interval 1 day))
</select>
</mapper>
\ No newline at end of file
xx-order/xx-order-server/src/main/resources/mapper/DepositRefundRecordMapper.xml
View file @
9b9d5b28
<?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.DepositRefundRecordMapper"
>
<mapper
namespace=
"com.xxfc.platform.order.mapper.DepositRefundRecordMapper"
>
<select
id=
"findByCrossIdAndStatus"
resultType=
"com.xxfc.platform.order.entity.DepositRefundRecord"
parameterType=
"java.util.Map"
>
<select
id=
"findByCrossIdAndStatus"
resultType=
"com.xxfc.platform.order.entity.DepositRefundRecord"
parameterType=
"java.util.Map"
>
select * from deposit_refund_record
where status = #{status} and crosstown_id = #{crossId} and isshow = 1
</select>
<select
id=
"selectByCrossId"
resultType=
"com.xxfc.platform.order.entity.DepositRefundRecord"
parameterType=
"java.lang.Integer"
>
select * from deposit_refund_record
where crosstown_id = #{crossId} and isshow = 1
order by status
</select>
</mapper>
\ No newline at end of file
xx-order/xx-order-server/src/main/resources/mapper/OrderVehicaleCrosstownMapper.xml
View file @
9b9d5b28
...
...
@@ -27,7 +27,12 @@
<result
column=
"rest_deposit"
jdbcType=
"INTEGER"
property=
"restDeposit"
/>
<result
column=
"user_license_id"
jdbcType=
"VARCHAR"
property=
"userLicenseId"
/>
</resultMap>
<resultMap
id=
"orderMap"
type=
"com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto"
>
<result
column=
"id"
javaType=
"java.lang.Integer"
property=
"id"
/>
<association
column=
"id"
property=
"depositRefundRecord"
select=
"com.xxfc.platform.order.mapper.DepositRefundRecordMapper.selectByCrossId"
javaType=
"com.xxfc.platform.order.entity.DepositRefundRecord"
/>
</resultMap>
<select
id=
"selectByOrderId"
parameterType=
"com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto"
resultType=
"com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto"
>
select *
from order_vehicle_crosstown
...
...
@@ -46,4 +51,10 @@
</if>
</where>
</select>
<select
id=
"selectByOrderNo"
parameterType=
"java.util.Map"
resultType=
"com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto"
>
select *
from order_vehicle_crosstown
where order_no = #{no} and type = #{type}
</select>
</mapper>
\ No newline at end of file
xx-order/xx-order-server/src/main/resources/mapper/orderViolationMapper.xml
View file @
9b9d5b28
...
...
@@ -14,4 +14,9 @@
where
v.id=#{vId}
</select>
<select
id=
"getOneByDetailId"
resultType=
"com.xxfc.platform.order.entity.OrderViolation"
parameterType=
"java.lang.Integer"
>
select * from order_violation
where detail_id = #{detailId}
</select>
</mapper>
\ No newline at end of file
xx-tour/xx-tour-server/src/main/java/com/xxfc/platform/tour/biz/TourGoodBiz.java
View file @
9b9d5b28
...
...
@@ -192,7 +192,6 @@ public class TourGoodBiz extends BaseBiz<TourGoodMapper, TourGood> {
List
<
GoodSpePriceDTO
>
priceDTOList
=
dto
.
getPriceDTOS
();
List
<
Integer
>
prices
=
new
ArrayList
<>();
if
(
siteDTOList
.
size
()>
0
){
List
<
Integer
>
priceIds
=
new
ArrayList
<>();
for
(
GoodSpePriceDTO
priceDTO:
priceDTOList
){
Integer
priceId
=
priceDTO
.
getId
();
TourGoodSpePrice
spePrice
=
new
TourGoodSpePrice
();
...
...
@@ -228,12 +227,11 @@ public class TourGoodBiz extends BaseBiz<TourGoodMapper, TourGood> {
priceId
=
spePrice
.
getId
();
}
else
{
speBiz
.
updateSelectiveById
(
spePrice
);
priceIds
.
add
(
priceId
);
}
prices
.
add
(
priceId
);
}
if
(
price
Id
s
.
size
()>
0
){
speBiz
.
delGoodSpe
(
goodId
,
price
Id
s
);
if
(
prices
.
size
()>
0
){
speBiz
.
delGoodSpe
(
goodId
,
prices
);
}
}
if
(
sites
.
size
()>
0
){
...
...
xx-universal/xx-universal-api/src/main/java/com/xxfc/platform/universal/dto/SmsTemplateDTO.java
View file @
9b9d5b28
...
...
@@ -32,6 +32,39 @@ public class SmsTemplateDTO {
//取消订单
public
static
final
int
CANCEL
=
8
;
//租车(通用)
public
static
final
int
PAY_A
=
10
;
//租车(使用会员权益)
public
static
final
int
PAY_B
=
11
;
//租车内部通知(客服)
public
static
final
int
PAY_C
=
12
;
//租车内部通知(出车人)
public
static
final
int
PAY_D
=
13
;
//租车内部通知(收车人)
public
static
final
int
PAY_E
=
14
;
//旅游(通用)
public
static
final
int
PAY_F
=
15
;
//会员购买(通用)
public
static
final
int
PAY_G
=
16
;
//取消租车(通用)
public
static
final
int
CANCEL_A
=
17
;
//取消租车(使用会员权益)
public
static
final
int
CANCEL_B
=
18
;
//取消租车(通用扣违约金)
public
static
final
int
CANCEL_C
=
19
;
//取消租车(会员权益&扣违)
public
static
final
int
CANCEL_D
=
20
;
//取消租车(出车人)
public
static
final
int
CANCEL_E
=
21
;
//租车押金退还
public
static
final
int
FINISH_A
=
22
;
//违章押金退还
public
static
final
int
FINISH_B
=
23
;
//类型:1-租车订单通知(普通用户),2-租车订单短信(会员权益),3-旅游订单短信,4-加入会员通知
private
Integer
type
;
//手机号码(多个短信逗号隔开)
...
...
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/biz/CCPRestSmsBiz.java
View file @
9b9d5b28
...
...
@@ -23,10 +23,45 @@ public class CCPRestSmsBiz{
public
static
final
String
TEMPLATE_ID_DIFFERENT_TAAKE_CAR
=
"458621"
;
// 租/还车公司不同(发给还车公司负责人,订单出车后发))(相同不发)7
public
static
final
String
TEMPLATE_ID_ALSO_CAR
=
"458620"
;
//取消订单
8
//取消订单
9
public
static
final
String
TEMPLATE_ID_CANCEL
=
"458627"
;
//租车(通用)10
public
static
final
String
TEMPLATE_ID_PAY_A
=
"460759"
;
//租车(使用会员权益)11
public
static
final
String
TEMPLATE_ID_PAY_B
=
"460760"
;
//租车内部通知(客服)12
public
static
final
String
TEMPLATE_ID_PAY_C
=
"460763"
;
//租车内部通知(出车人)13
public
static
final
String
TEMPLATE_ID_PAY_D
=
"460762"
;
//租车内部通知(收车人)14
public
static
final
String
TEMPLATE_ID_PAY_E
=
"460764"
;
//旅游(通用)15
public
static
final
String
TEMPLATE_ID_PAY_F
=
"460765"
;
//会员购买(通用)16
public
static
final
String
TEMPLATE_ID_PAY_G
=
"460766"
;
//取消租车(通用)17
public
static
final
String
TEMPLATE_ID_CANCEL_A
=
"460767"
;
//取消租车(使用会员权益)18
public
static
final
String
TEMPLATE_ID_CANCEL_B
=
"460768"
;
//取消租车(通用扣违约金)19
public
static
final
String
TEMPLATE_ID_CANCEL_C
=
"460769"
;
//取消租车(会员权益&扣违 20
public
static
final
String
TEMPLATE_ID_CANCEL_D
=
"460770"
;
//取消租车(出车人)21
public
static
final
String
TEMPLATE_ID_CANCEL_E
=
"460771"
;
//租车押金退还 22
public
static
final
String
TEMPLATE_ID_FINISH_A
=
"460772"
;
//违章押金退还 23
public
static
final
String
TEMPLATE_ID_FINISH_B
=
"460773"
;
//发送模板消息
public
void
sendTemplateSMS
(
Integer
type
,
String
phoneNumbers
,
String
[]
params
){
switch
(
type
){
...
...
@@ -54,6 +89,49 @@ public class CCPRestSmsBiz{
case
8
:
CCPRestSmsUtils
.
sendTemplateSMS
(
phoneNumbers
,
params
,
TEMPLATE_ID_CANCEL
);
break
;
case
10
:
CCPRestSmsUtils
.
sendTemplateSMS
(
phoneNumbers
,
params
,
TEMPLATE_ID_PAY_A
);
break
;
case
11
:
CCPRestSmsUtils
.
sendTemplateSMS
(
phoneNumbers
,
params
,
TEMPLATE_ID_PAY_B
);
break
;
case
12
:
CCPRestSmsUtils
.
sendTemplateSMS
(
phoneNumbers
,
params
,
TEMPLATE_ID_PAY_C
);
break
;
case
13
:
CCPRestSmsUtils
.
sendTemplateSMS
(
phoneNumbers
,
params
,
TEMPLATE_ID_PAY_D
);
break
;
case
14
:
CCPRestSmsUtils
.
sendTemplateSMS
(
phoneNumbers
,
params
,
TEMPLATE_ID_PAY_E
);
break
;
case
15
:
CCPRestSmsUtils
.
sendTemplateSMS
(
phoneNumbers
,
params
,
TEMPLATE_ID_PAY_F
);
break
;
case
16
:
CCPRestSmsUtils
.
sendTemplateSMS
(
phoneNumbers
,
params
,
TEMPLATE_ID_PAY_G
);
break
;
case
17
:
CCPRestSmsUtils
.
sendTemplateSMS
(
phoneNumbers
,
params
,
TEMPLATE_ID_CANCEL_A
);
break
;
case
18
:
CCPRestSmsUtils
.
sendTemplateSMS
(
phoneNumbers
,
params
,
TEMPLATE_ID_CANCEL_B
);
break
;
case
19
:
CCPRestSmsUtils
.
sendTemplateSMS
(
phoneNumbers
,
params
,
TEMPLATE_ID_CANCEL_C
);
break
;
case
20
:
CCPRestSmsUtils
.
sendTemplateSMS
(
phoneNumbers
,
params
,
TEMPLATE_ID_CANCEL_D
);
break
;
case
21
:
CCPRestSmsUtils
.
sendTemplateSMS
(
phoneNumbers
,
params
,
TEMPLATE_ID_CANCEL_E
);
break
;
case
22
:
CCPRestSmsUtils
.
sendTemplateSMS
(
phoneNumbers
,
params
,
TEMPLATE_ID_FINISH_A
);
break
;
case
23
:
CCPRestSmsUtils
.
sendTemplateSMS
(
phoneNumbers
,
params
,
TEMPLATE_ID_FINISH_B
);
break
;
}
}
...
...
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/service/TrafficViolationsService.java
View file @
9b9d5b28
...
...
@@ -16,15 +16,13 @@ import org.apache.http.HttpResponse;
import
org.apache.http.util.EntityUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.core.task.TaskExecutor
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Service
;
import
java.sql.SQLException
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
...
...
@@ -208,8 +206,8 @@ public class TrafficViolationsService {
* 定时修改车牌类型
* @throws SQLException
*/
@Scheduled
(
cron
=
"0 0 0 0/7 * ?"
)
p
ublic
void
updateLicensePlateType
()
throws
SQLException
{
//
@Scheduled(cron = "0 0 0 0/7 * ?")
p
rivate
void
updateLicensePlateType
()
throws
SQLException
{
List
<
LicensePlateType
>
licensePlateTypes
=
licensePlateTypeBiz
.
selectListAll
();
licensePlateTypeBiz
.
updateLicensePlateType
(
licensePlateTypes
);
}
...
...
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/constant/RedisKey.java
View file @
9b9d5b28
...
...
@@ -85,6 +85,8 @@ public class RedisKey {
// 随车物品相关key
public
static
final
String
ACCOMPANYING_ITEM_CACHE_ALL
=
"cache:accompanyItem:all"
;
public
static
final
String
ACCOMPANYING_ITEM_CACHE_ALL_APP
=
ACCOMPANYING_ITEM_CACHE_ALL
+
":app"
;
/**
* 服务器上传文件序号
...
...
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/feign/VehicleFeign.java
View file @
9b9d5b28
...
...
@@ -5,6 +5,7 @@ import com.github.wxiaoqi.security.common.vo.GoodDataVO;
import
com.xxfc.platform.vehicle.common.RestResponse
;
import
com.xxfc.platform.vehicle.entity.*
;
import
com.xxfc.platform.vehicle.pojo.*
;
import
com.xxfc.platform.vehicle.pojo.vo.AccompanyingItemVo
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -20,7 +21,7 @@ public interface VehicleFeign {
@GetMapping
(
value
=
"/vehicleModel/{id}"
)
public
ObjectRestResponse
<
VehicleModel
>
get
(
@PathVariable
(
value
=
"id"
)
int
id
);
@GetMapping
(
value
=
"/vehicleInfo/{id}"
)
@GetMapping
(
value
=
"/vehicleInfo/
app/unauth/
{id}"
)
public
ObjectRestResponse
<
Vehicle
>
get
(
@PathVariable
(
value
=
"id"
)
String
id
);
@RequestMapping
(
value
=
"/vehicleInfo/findById"
,
method
=
RequestMethod
.
GET
)
...
...
@@ -98,7 +99,7 @@ public interface VehicleFeign {
* @return
*/
@PostMapping
(
"/sysRegion/getSysRegion"
)
ObjectRestResponse
<
List
<
SysRegion
>>
getSysRegion
(
Set
<
Integer
>
idSet
);
ObjectRestResponse
<
List
<
SysRegion
>>
getSysRegion
(
@RequestBody
Set
<
Integer
>
idSet
);
/**
* 获取公司所在的城市
...
...
@@ -109,4 +110,8 @@ public interface VehicleFeign {
@GetMapping
(
"/city/corporationCity"
)
ObjectRestResponse
<
Set
<
Integer
>>
corporationCity
(
@RequestParam
(
value
=
"zoneList"
)
String
zoneList
,
@RequestParam
(
value
=
"companyList"
)
String
companyList
);
@GetMapping
(
"/accompanyingItem/app/unauth/items"
)
public
RestResponse
<
List
<
AccompanyingItemVo
>>
listAccompanyingItem
();
}
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/pojo/BookVehicleVO.java
View file @
9b9d5b28
...
...
@@ -67,7 +67,7 @@ public class BookVehicleVO {
* 随车物品id以及数量 List<Map<id,数量>>
*/
@ApiModelProperty
(
"随车物品id以及数量 List<Map<id,数量>>"
)
Map
<
Integer
,
Integer
>
selectedAccItem
;
Map
<
Integer
,
Integer
>
selectedAccItem
;
/**
* 提车阶段里程数
...
...
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/pojo/RentVehicleBookDTO.java
View file @
9b9d5b28
...
...
@@ -4,6 +4,9 @@ import com.github.wxiaoqi.security.common.vo.PageParam;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
import
java.util.Map
;
@Data
public
class
RentVehicleBookDTO
extends
PageParam
{
//根据车型、时间、距离,门店,预定车辆
...
...
@@ -47,4 +50,10 @@ public class RentVehicleBookDTO extends PageParam {
@ApiModelProperty
(
"订单号"
)
private
String
orderNo
;
/**
* 随车物品id以及数量 List<Map<id,数量>>
*/
@ApiModelProperty
(
"随车物品id以及数量 List<Map<id,数量>>"
)
Map
<
Integer
,
Integer
>
selectedAccItem
;
}
\ No newline at end of file
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/pojo/VehicleDepartureLogVo.java
View file @
9b9d5b28
package
com
.
xxfc
.
platform
.
vehicle
.
pojo
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.copier.CopyOptions
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.xxfc.platform.vehicle.entity.VehicleDepartureLog
;
import
lombok.Data
;
@Data
...
...
@@ -40,4 +43,10 @@ public class VehicleDepartureLogVo {
String
arrivalRemark
;
public
VehicleDepartureLog
getVehicleDeparture
(
VehicleDepartureLogVo
vehicleDepartureLogVo
)
{
VehicleDepartureLog
departureLog
=
new
VehicleDepartureLog
();
BeanUtil
.
copyProperties
(
vehicleDepartureLogVo
,
departureLog
,
CopyOptions
.
create
().
setIgnoreNullValue
(
true
).
setIgnoreError
(
true
));
return
departureLog
;
}
}
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/AccompanyingItemBiz.java
View file @
9b9d5b28
...
...
@@ -2,23 +2,30 @@ package com.xxfc.platform.vehicle.biz;
import
com.ace.cache.annotation.Cache
;
import
com.ace.cache.annotation.CacheClear
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.TypeReference
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.vo.PageDataVO
;
import
com.xxfc.platform.vehicle.common.RestResponse
;
import
com.xxfc.platform.vehicle.constant.RedisKey
;
import
com.xxfc.platform.vehicle.entity.AccompanyingItem
;
import
com.xxfc.platform.vehicle.mapper.AccompanyingItemMapper
;
import
com.xxfc.platform.vehicle.pojo.AddOrUpdateAccompanyingItem
;
import
com.github.wxiaoqi.security.common.vo.PageDataVO
;
import
com.xxfc.platform.vehicle.pojo.QueryAccompanyItemVo
;
import
com.xxfc.platform.vehicle.pojo.vo.AccompanyingItemVo
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.beanutils.BeanUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.HashOperations
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.StringUtils
;
import
tk.mybatis.mapper.entity.Example
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.Comparator
;
import
java.util.List
;
...
...
@@ -29,7 +36,13 @@ import java.util.stream.Collectors;
@Slf4j
public
class
AccompanyingItemBiz
extends
BaseBiz
<
AccompanyingItemMapper
,
AccompanyingItem
>
{
@Autowired
private
RedisTemplate
redisTemplate
;
@Resource
(
name
=
"redisTemplate"
)
HashOperations
itemHashOperations
;
private
static
final
String
ACCOMPANY_ITEM
=
"accompany:item"
;
@Cache
(
key
=
RedisKey
.
ACCOMPANYING_ITEM_CACHE_ALL
)
public
List
<
AccompanyingItem
>
getAll
(){
...
...
@@ -75,6 +88,7 @@ public class AccompanyingItemBiz extends BaseBiz<AccompanyingItemMapper, Accompa
accompanyingItem
.
setId
(
null
);
BeanUtils
.
copyProperties
(
accompanyingItem
,
addOrUpdateAccompanyingItem
);
Integer
effected
=
mapper
.
insertSelective
(
accompanyingItem
);
redisTemplate
.
delete
(
ACCOMPANY_ITEM
);
return
RestResponse
.
suc
();
}
...
...
@@ -83,21 +97,40 @@ public class AccompanyingItemBiz extends BaseBiz<AccompanyingItemMapper, Accompa
AccompanyingItem
accompanyingItem
=
new
AccompanyingItem
();
BeanUtils
.
copyProperties
(
accompanyingItem
,
addOrUpdateAccompanyingItem
);
Integer
effected
=
mapper
.
updateByPrimaryKeySelective
(
accompanyingItem
);
redisTemplate
.
delete
(
ACCOMPANY_ITEM
);
return
RestResponse
.
suc
();
}
@CacheClear
(
key
=
RedisKey
.
ACCOMPANYING_ITEM_CACHE_ALL
)
public
RestResponse
<
Integer
>
del
(
Integer
id
){
Integer
effected
=
mapper
.
deleteByPrimaryKey
(
id
);
redisTemplate
.
delete
(
ACCOMPANY_ITEM
);
return
RestResponse
.
suc
();
}
public
List
<
AccompanyingItemVo
>
listAllItem
(){
public
List
<
AccompanyingItemVo
>
listAllItem
(
List
<
Integer
>
types
){
String
typeKey
=
null
;
if
(
CollectionUtils
.
isNotEmpty
(
types
)){
typeKey
=
types
.
stream
().
sorted
(
Integer:
:
compareTo
).
map
(
String:
:
valueOf
).
reduce
(
""
,(
x
,
y
)->
x
+
":"
+
y
);
String
itemJson
=
(
String
)
itemHashOperations
.
get
(
ACCOMPANY_ITEM
,
typeKey
);
if
(!
StringUtils
.
isEmpty
(
itemJson
)){
return
JSON
.
parseObject
(
itemJson
,
new
TypeReference
<
List
<
AccompanyingItemVo
>>(){});
}
}
if
(
CollectionUtils
.
isEmpty
(
types
)){
typeKey
=
"all"
;
String
itemJson
=
(
String
)
itemHashOperations
.
get
(
ACCOMPANY_ITEM
,
typeKey
);
if
(!
StringUtils
.
isEmpty
(
itemJson
)){
return
JSON
.
parseObject
(
itemJson
,
new
TypeReference
<
List
<
AccompanyingItemVo
>>(){});
}
}
List
<
AccompanyingItemVo
>
accompanyingItemVos
=
new
ArrayList
<>();
Example
example
=
new
Example
(
AccompanyingItem
.
class
);
Example
.
Criteria
criteria
=
example
.
createCriteria
();
if
(
CollectionUtils
.
isNotEmpty
(
types
)){
criteria
.
andIn
(
"type"
,
types
);
}
criteria
.
andEqualTo
(
"isDel"
,
0
);
List
<
AccompanyingItem
>
accompanyingItems
=
mapper
.
selectByExample
(
example
);
if
(
CollectionUtils
.
isEmpty
(
accompanyingItems
)){
...
...
@@ -109,7 +142,7 @@ public class AccompanyingItemBiz extends BaseBiz<AccompanyingItemMapper, Accompa
org
.
springframework
.
beans
.
BeanUtils
.
copyProperties
(
item
,
accompanyingItemVo
);
return
accompanyingItemVo
;
}).
sorted
(
Comparator
.
comparing
(
AccompanyingItemVo:
:
getType
).
thenComparing
(
AccompanyingItemVo:
:
getRank
)).
collect
(
Collectors
.
toList
());
itemHashOperations
.
put
(
ACCOMPANY_ITEM
,
typeKey
,
JSON
.
toJSONString
(
accompanyingItemVoList
));
return
accompanyingItemVoList
;
}
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleActiveService.java
View file @
9b9d5b28
package
com
.
xxfc
.
platform
.
vehicle
.
biz
;
import
cn.hutool.core.bean.BeanUtil
;
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
;
...
...
@@ -8,10 +10,7 @@ import com.xxfc.platform.vehicle.constant.VehicleDepartureState;
import
com.xxfc.platform.vehicle.constant.VehicleStatus
;
import
com.xxfc.platform.vehicle.entity.*
;
import
com.xxfc.platform.vehicle.mapper.*
;
import
com.xxfc.platform.vehicle.pojo.VehicleArrivalVo
;
import
com.xxfc.platform.vehicle.pojo.VehicleDepartureVo
;
import
com.xxfc.platform.vehicle.pojo.VehicleUpkeepEndVo
;
import
com.xxfc.platform.vehicle.pojo.VehicleUpkeepVo
;
import
com.xxfc.platform.vehicle.pojo.*
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
...
...
@@ -85,17 +84,28 @@ public class VehicleActiveService {
if
(
departureVo
.
getBookRecordId
()
!=
null
)
{
updateBookRecordStatus
(
departureVo
.
getBookRecordId
());
}
VehicleDepartureLogVo
vehicleDepartureLogVo
=
vehicleDepartureLogMapper
.
selectByBookRecordId
(
departureVo
.
getBookRecordId
());
if
(
vehicleDepartureLogVo
!=
null
)
{
BeanUtil
.
copyProperties
(
departureVo
,
vehicleDepartureLogVo
,
CopyOptions
.
create
().
setIgnoreNullValue
(
true
).
setIgnoreError
(
true
));
VehicleDepartureLog
departureLog
=
vehicleDepartureLogVo
.
getVehicleDeparture
(
vehicleDepartureLogVo
);
departureLog
.
setDepartureTime
(
new
Date
());
departureLog
.
setUpdateTime
(
new
Date
());
departureLog
.
setState
(
VehicleDepartureState
.
DEPARTURE
.
getCode
());
departureLog
.
setDepartureRemark
(
departureVo
.
getRemark
());
vehicleDepartureLogMapper
.
updateByPrimaryKeySelective
(
departureLog
);
}
else
{
// 出车记录
VehicleDepartureLog
departureLog
=
new
VehicleDepartureLog
();
BeanUtils
.
copyProperties
(
departureVo
,
departureLog
);
departureLog
.
setDepartureTime
(
new
Date
());
departureLog
.
setCreateTime
(
new
Date
());
departureLog
.
setMileageStart
(
departureVo
.
getMileage
());
departureLog
.
setState
(
VehicleDepartureState
.
DEPARTURE
.
getCode
());
departureLog
.
setBookRecordId
(
departureVo
.
getBookRecordId
());
departureLog
.
setDepartureRemark
(
departureVo
.
getRemark
());
vehicleDepartureLogMapper
.
insert
(
departureLog
);
}
// 出车记录
VehicleDepartureLog
departureLog
=
new
VehicleDepartureLog
();
BeanUtils
.
copyProperties
(
departureVo
,
departureLog
);
departureLog
.
setDepartureTime
(
new
Date
());
departureLog
.
setCreateTime
(
new
Date
());
departureLog
.
setMileageStart
(
departureVo
.
getMileage
());
departureLog
.
setState
(
VehicleDepartureState
.
DEPARTURE
.
getCode
());
departureLog
.
setBookRecordId
(
departureVo
.
getBookRecordId
());
departureLog
.
setDepartureRemark
(
departureLog
.
getDepartureRemark
());
vehicleDepartureLogMapper
.
insert
(
departureLog
);
// 车辆活动日志
VehicleActiveLog
activeLog
=
new
VehicleActiveLog
();
...
...
@@ -108,10 +118,6 @@ public class VehicleActiveService {
throw
new
BaseException
(
ResCode
.
VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED
.
getDesc
(),
ResCode
.
VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED
.
getCode
());
}
}
@Transactional
...
...
@@ -158,19 +164,18 @@ public class VehicleActiveService {
throw
new
BaseException
(
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE
.
getDesc
(),
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE
.
getCode
());
}
departureLog
.
setMileageEnd
(
arrivalVo
.
getMileage
());
departureLog
.
setRecycleMan
(
arrivalVo
.
getRecycleMan
());
departureLog
.
setRecycleManTel
(
arrivalVo
.
getRecycleManTel
());
departureLog
.
setArrivalBranchCompanyId
(
arrivalVo
.
getArrivalBranchCompanyId
());
departureLog
.
setUpdateTime
(
new
Date
());
departureLog
.
setArrivalTime
(
new
Date
());
departureLog
.
setState
(
VehicleDepartureState
.
END
.
getCode
());
departureLog
.
setIllegalPic
(
arrivalVo
.
getIllegalPic
());
departureLog
.
setIllegalAmount
(
arrivalVo
.
getIllegalAmount
());
departureLog
.
setArrivalPic
(
arrivalVo
.
getArrivalPic
());
departureLog
.
setArrivalRemark
(
arrivalVo
.
getRemark
());
vehicleDepartureLogMapper
.
updateByPrimaryKeySelective
(
departureLog
);
departureLog
.
setMileageEnd
(
arrivalVo
.
getMileage
());
departureLog
.
setRecycleMan
(
arrivalVo
.
getRecycleMan
());
departureLog
.
setRecycleManTel
(
arrivalVo
.
getRecycleManTel
());
departureLog
.
setArrivalBranchCompanyId
(
arrivalVo
.
getArrivalBranchCompanyId
());
departureLog
.
setUpdateTime
(
new
Date
());
departureLog
.
setArrivalTime
(
new
Date
());
departureLog
.
setState
(
VehicleDepartureState
.
END
.
getCode
());
departureLog
.
setIllegalPic
(
arrivalVo
.
getIllegalPic
());
departureLog
.
setIllegalAmount
(
arrivalVo
.
getIllegalAmount
());
departureLog
.
setArrivalPic
(
arrivalVo
.
getArrivalPic
());
departureLog
.
setArrivalRemark
(
arrivalVo
.
getRemark
());
vehicleDepartureLogMapper
.
updateByPrimaryKeySelective
(
departureLog
);
// 车辆活动日志
VehicleActiveLog
activeLog
=
vehicleActiveLogMapper
.
selectLastByVehicleId
(
arrivalVo
.
getVehicleId
());
if
(
activeLog
==
null
)
{
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/rest/AccompanyingItemController.java
View file @
9b9d5b28
...
...
@@ -16,6 +16,7 @@ import com.xxfc.platform.vehicle.pojo.vo.AccompanyingItemVo;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.Collections
;
import
java.util.List
;
/**
...
...
@@ -75,7 +76,13 @@ public class AccompanyingItemController extends BaseController<AccompanyingItemB
@GetMapping
(
"/app/unauth/items"
)
public
RestResponse
<
List
<
AccompanyingItemVo
>>
listAccompanyingItemVo
(){
List
<
AccompanyingItemVo
>
accompanyingItemVos
=
baseBiz
.
listAllItem
();
List
<
AccompanyingItemVo
>
accompanyingItemVos
=
baseBiz
.
listAllItem
(
Collections
.
EMPTY_LIST
);
return
RestResponse
.
codeAndData
(
RestResponse
.
SUC_CODE
,
accompanyingItemVos
);
}
@GetMapping
(
"/app/unauth/type_items"
)
public
RestResponse
<
List
<
AccompanyingItemVo
>>
listAccompanyingItemVoByTypes
(
@RequestParam
(
value
=
"type"
,
required
=
false
)
List
<
Integer
>
type
){
List
<
AccompanyingItemVo
>
accompanyingItemVos
=
baseBiz
.
listAllItem
(
type
);
return
RestResponse
.
codeAndData
(
RestResponse
.
SUC_CODE
,
accompanyingItemVos
);
}
}
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/rest/VehicleController.java
View file @
9b9d5b28
...
...
@@ -79,7 +79,7 @@ public class VehicleController extends BaseController<VehicleBiz> {
public
static
final
DateTimeFormatter
DEFAULT_FORMATTER
=
DateTimeFormat
.
forPattern
(
"yyyy-MM-dd HH:mm:ss"
);
@RequestMapping
(
value
=
"/{id}"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/
app/unauth/
{id}"
,
method
=
RequestMethod
.
GET
)
public
RestResponse
<
Vehicle
>
get
(
@PathVariable
String
id
)
{
return
RestResponse
.
data
(
baseBiz
.
get
(
id
));
}
...
...
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