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
3bd2fc56
Commit
3bd2fc56
authored
Aug 20, 2019
by
周健威
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' into 'master'
Dev-master-merge See merge request
!9
parents
6850d486
da611461
Changes
52
Hide whitespace changes
Inline
Side-by-side
Showing
52 changed files
with
572 additions
and
192 deletions
+572
-192
AuthController.java
...thub/wxiaoqi/security/auth/controller/AuthController.java
+3
-0
pom.xml
ace-common/pom.xml
+18
-0
FeignConfig.java
...hub/wxiaoqi/security/common/config/feign/FeignConfig.java
+48
-0
GlobalBasicConfiguration.java
...curity/common/config/global/GlobalBasicConfiguration.java
+15
-0
RabbitCommonConfig.java
...oqi/security/common/config/rabbit/RabbitCommonConfig.java
+1
-1
AcceptFilter.java
...m/github/wxiaoqi/security/common/filter/AcceptFilter.java
+1
-1
DenyFilter.java
...com/github/wxiaoqi/security/common/filter/DenyFilter.java
+1
-1
PlatformExceptionHandler.java
...oqi/security/common/handler/PlatformExceptionHandler.java
+24
-0
CommonLogServiceImpl.java
...xiaoqi/security/common/log/Impl/CommonLogServiceImpl.java
+5
-0
XxLogEntity.java
...ithub/wxiaoqi/security/common/log/entity/XxLogEntity.java
+3
-3
ResultCode.java
...thub/wxiaoqi/security/common/util/process/ResultCode.java
+2
-2
TokenAop.java
...m/github/wxiaoqi/security/admin/support/aop/TokenAop.java
+6
-1
BaseUserMemberBiz.java
.../github/wxiaoqi/security/admin/biz/BaseUserMemberBiz.java
+7
-0
MyWalletBiz.java
...va/com/github/wxiaoqi/security/admin/biz/MyWalletBiz.java
+6
-0
MyWalletCathBiz.java
...om/github/wxiaoqi/security/admin/biz/MyWalletCathBiz.java
+7
-0
UserBiz.java
...n/java/com/github/wxiaoqi/security/admin/biz/UserBiz.java
+2
-2
RabbitAdminConfig.java
...thub/wxiaoqi/security/admin/config/RabbitAdminConfig.java
+1
-2
AppUsersManageController.java
...wxiaoqi/security/admin/rest/AppUsersManageController.java
+0
-6
BaseUserMemberController.java
...wxiaoqi/security/admin/rest/BaseUserMemberController.java
+44
-3
DataController.java
...om/github/wxiaoqi/security/admin/rest/DataController.java
+37
-22
AppUserDetailMapper.xml
...e-admin/src/main/resources/mapper/AppUserDetailMapper.xml
+17
-15
BaseUserMemberMapper.xml
...-admin/src/main/resources/mapper/BaseUserMemberMapper.xml
+2
-0
UserCouponBiz.java
...in/java/com/xxfc/platform/activity/biz/UserCouponBiz.java
+14
-5
RabbitActivityConfig.java
...m/xxfc/platform/activity/config/RabbitActivityConfig.java
+1
-2
AppVersionBiz.java
...rc/main/java/com/xxfc/platform/app/biz/AppVersionBiz.java
+0
-12
AppVersionController.java
...java/com/xxfc/platform/app/rest/AppVersionController.java
+0
-19
OrderTourDetail.java
.../java/com/xxfc/platform/order/entity/OrderTourDetail.java
+2
-1
OrderPageVO.java
.../java/com/xxfc/platform/order/pojo/order/OrderPageVO.java
+5
-0
BaseOrderBiz.java
...c/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
+7
-21
OrderTourVerificationBiz.java
...com/xxfc/platform/order/biz/OrderTourVerificationBiz.java
+11
-7
OrderVehicleCrosstownBiz.java
...com/xxfc/platform/order/biz/OrderVehicleCrosstownBiz.java
+23
-15
RabbitOrderConfig.java
...ava/com/xxfc/platform/order/config/RabbitOrderConfig.java
+1
-1
BackStageOrderController.java
...om/xxfc/platform/order/rest/BackStageOrderController.java
+9
-4
OrderRentVehicleService.java
.../xxfc/platform/order/service/OrderRentVehicleService.java
+1
-1
OrderTourService.java
...ava/com/xxfc/platform/order/service/OrderTourService.java
+13
-2
ResCode.java
...a/com/xxfc/platform/vehicle/constant/ResCode/ResCode.java
+2
-0
VehicleDepartureLog.java
...com/xxfc/platform/vehicle/entity/VehicleDepartureLog.java
+1
-1
VehicleArrivalVo.java
...java/com/xxfc/platform/vehicle/pojo/VehicleArrivalVo.java
+1
-1
VehicleBookRecordVo.java
...a/com/xxfc/platform/vehicle/pojo/VehicleBookRecordVo.java
+4
-0
VehicleDepartureVo.java
...va/com/xxfc/platform/vehicle/pojo/VehicleDepartureVo.java
+1
-1
AreaBiz.java
.../src/main/java/com/xxfc/platform/vehicle/biz/AreaBiz.java
+6
-1
VehicleActiveService.java
...a/com/xxfc/platform/vehicle/biz/VehicleActiveService.java
+71
-10
VehicleBiz.java
...c/main/java/com/xxfc/platform/vehicle/biz/VehicleBiz.java
+59
-17
VehicleBookHourInfoBiz.java
...com/xxfc/platform/vehicle/biz/VehicleBookHourInfoBiz.java
+3
-3
VehicleBookRecordBiz.java
...a/com/xxfc/platform/vehicle/biz/VehicleBookRecordBiz.java
+56
-4
VehicleDepartureService.java
...om/xxfc/platform/vehicle/biz/VehicleDepartureService.java
+4
-0
VehicleBookRecordMapper.java
...xxfc/platform/vehicle/mapper/VehicleBookRecordMapper.java
+2
-0
VehicleDepartureLogMapper.java
...fc/platform/vehicle/mapper/VehicleDepartureLogMapper.java
+1
-1
VehicleController.java
...ava/com/xxfc/platform/vehicle/rest/VehicleController.java
+9
-0
VehicleBookRecordMapper.xml
...ver/src/main/resources/mapper/VehicleBookRecordMapper.xml
+13
-2
VehicleDepartureLogMapper.xml
...r/src/main/resources/mapper/VehicleDepartureLogMapper.xml
+1
-1
VehicleMapper.xml
...ehicle-server/src/main/resources/mapper/VehicleMapper.xml
+1
-1
No files found.
ace-auth/ace-auth-server/src/main/java/com/github/wxiaoqi/security/auth/controller/AuthController.java
View file @
3bd2fc56
...
...
@@ -10,6 +10,8 @@ import com.github.wxiaoqi.security.common.util.EntityUtils;
import
com.github.wxiaoqi.security.common.util.IpUtil
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.github.wxiaoqi.security.common.util.result.JsonResultUtil
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -22,6 +24,7 @@ import org.springframework.web.context.request.ServletRequestAttributes;
import
javax.servlet.http.HttpServletRequest
;
@Api
(
tags
=
"用户登录"
)
@RestController
@RequestMapping
(
"jwt"
)
@Slf4j
...
...
ace-common/pom.xml
View file @
3bd2fc56
...
...
@@ -209,6 +209,24 @@
<artifactId>
spring-boot
</artifactId>
<version>
2.1.3.RELEASE
</version>
</dependency>
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-openfeign-core
</artifactId>
<version>
2.1.0.RELEASE
</version>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-openfeign-core
</artifactId>
<version>
2.1.0.RELEASE
</version>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
io.github.openfeign
</groupId>
<artifactId>
feign-core
</artifactId>
<version>
10.1.0
</version>
<scope>
compile
</scope>
</dependency>
</dependencies>
...
...
ace-common/src/main/java/com/github/wxiaoqi/security/common/config/feign/FeignConfig.java
0 → 100644
View file @
3bd2fc56
package
com
.
github
.
wxiaoqi
.
security
.
common
.
config
.
feign
;
import
feign.Logger
;
import
feign.codec.Decoder
;
import
org.springframework.beans.BeansException
;
import
org.springframework.beans.factory.ObjectFactory
;
import
org.springframework.boot.autoconfigure.http.HttpMessageConverters
;
import
org.springframework.cloud.openfeign.support.ResponseEntityDecoder
;
import
org.springframework.cloud.openfeign.support.SpringDecoder
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.converter.json.MappingJackson2HttpMessageConverter
;
import
java.util.ArrayList
;
import
java.util.List
;
//@Configuration
public
class
FeignConfig
{
@Bean
Logger
.
Level
feignLoggerLevel
()
{
return
Logger
.
Level
.
FULL
;
}
@Bean
public
Decoder
feignDecoder
()
{
return
new
ResponseEntityDecoder
(
new
SpringDecoder
(
feignHttpMessageConverter
()));
}
public
ObjectFactory
<
HttpMessageConverters
>
feignHttpMessageConverter
()
{
final
HttpMessageConverters
httpMessageConverters
=
new
HttpMessageConverters
(
new
XXMappingJackson2HttpMessageConverter
());
return
new
ObjectFactory
<
HttpMessageConverters
>()
{
@Override
public
HttpMessageConverters
getObject
()
throws
BeansException
{
return
httpMessageConverters
;
}
};
}
public
class
XXMappingJackson2HttpMessageConverter
extends
MappingJackson2HttpMessageConverter
{
XXMappingJackson2HttpMessageConverter
(){
List
<
MediaType
>
mediaTypes
=
new
ArrayList
<>();
mediaTypes
.
add
(
MediaType
.
valueOf
(
MediaType
.
TEXT_HTML_VALUE
+
";charset=UTF-8nnn"
));
//关键
setSupportedMediaTypes
(
mediaTypes
);
}
}
}
\ No newline at end of file
ace-common/src/main/java/com/github/wxiaoqi/security/common/config/global/GlobalBasicConfiguration.java
View file @
3bd2fc56
package
com
.
github
.
wxiaoqi
.
security
.
common
.
config
.
global
;
import
com.github.wxiaoqi.security.common.handler.GlobalExceptionHandler
;
import
com.github.wxiaoqi.security.common.handler.PlatformExceptionHandler
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.ApplicationArguments
;
import
org.springframework.boot.ApplicationRunner
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.core.env.Environment
;
...
...
@@ -13,6 +17,17 @@ public class GlobalBasicConfiguration implements ApplicationRunner{
private
static
Logger
log
=
LoggerFactory
.
getLogger
(
GlobalBasicConfiguration
.
class
);
private
static
Environment
env
;
@Bean
@ConditionalOnMissingBean
private
GlobalExceptionHandler
addGlobalExceptionHandler
()
{
return
new
GlobalExceptionHandler
();
}
@Bean
@ConditionalOnMissingBean
private
PlatformExceptionHandler
addPlatformExceptionHandler
()
{
return
new
PlatformExceptionHandler
();
}
@Autowired
private
void
setEnv
(
Environment
env
)
{
GlobalBasicConfiguration
.
env
=
env
;
...
...
ace-common/src/main/java/com/github/wxiaoqi/security/common/config/RabbitCommonConfig.java
→
ace-common/src/main/java/com/github/wxiaoqi/security/common/config/
rabbit/
RabbitCommonConfig.java
View file @
3bd2fc56
package
com
.
github
.
wxiaoqi
.
security
.
common
.
config
;
package
com
.
github
.
wxiaoqi
.
security
.
common
.
config
.
rabbit
;
import
cn.hutool.core.util.StrUtil
;
import
com.github.wxiaoqi.security.common.config.rabbit.BindDTO
;
...
...
ace-common/src/main/java/com/github/wxiaoqi/security/common/filter/AcceptFilter.java
View file @
3bd2fc56
...
...
@@ -7,7 +7,7 @@ import ch.qos.logback.core.spi.FilterReply;
public
class
AcceptFilter
extends
Filter
<
ILoggingEvent
>
{
@Override
public
FilterReply
decide
(
ILoggingEvent
event
)
{
if
(
event
.
getLoggerName
().
startsWith
(
"com.xxfc.platform"
)
||
event
.
getLoggerName
().
startsWith
(
"com.github.wxiaoqi"
))
{
if
(
event
.
getLoggerName
().
startsWith
(
"com.xxfc.platform"
)
||
event
.
getLoggerName
().
startsWith
(
"com.github.wxiaoqi"
)
||
event
.
getLoggerName
().
contains
(
"Exception"
)
)
{
return
FilterReply
.
ACCEPT
;
}
else
{
return
FilterReply
.
DENY
;
...
...
ace-common/src/main/java/com/github/wxiaoqi/security/common/filter/DenyFilter.java
View file @
3bd2fc56
...
...
@@ -7,7 +7,7 @@ import ch.qos.logback.core.spi.FilterReply;
public
class
DenyFilter
extends
Filter
<
ILoggingEvent
>
{
@Override
public
FilterReply
decide
(
ILoggingEvent
event
)
{
if
(
event
.
getLoggerName
().
startsWith
(
"com.alibaba.nacos"
)
||
event
.
getLoggerName
().
startsWith
(
"com.xxfc.platform"
)
||
event
.
getLoggerName
().
startsWith
(
"com.github.wxiaoqi"
))
{
if
(
event
.
getLoggerName
().
startsWith
(
"com.alibaba.nacos"
)
||
event
.
getLoggerName
().
startsWith
(
"com.xxfc.platform"
)
||
event
.
getLoggerName
().
startsWith
(
"com.github.wxiaoqi"
)
||
event
.
getLoggerName
().
contains
(
"Exception"
)
)
{
return
FilterReply
.
DENY
;
}
else
{
return
FilterReply
.
ACCEPT
;
...
...
ace-common/src/main/java/com/github/wxiaoqi/security/common/handler/PlatformExceptionHandler.java
View file @
3bd2fc56
...
...
@@ -3,10 +3,13 @@ package com.github.wxiaoqi.security.common.handler;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.msg.BaseResponse
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.web.bind.annotation.ExceptionHandler
;
import
org.springframework.web.bind.annotation.RestControllerAdvice
;
@RestControllerAdvice
(
"com.xxfc.platform"
)
@Slf4j
public
class
PlatformExceptionHandler
{
@ExceptionHandler
(
value
=
{
BaseException
.
class
})
...
...
@@ -18,4 +21,25 @@ public class PlatformExceptionHandler {
return
new
BaseResponse
(
400
,
e
.
getMessage
());
}
//服务器异常
@ExceptionHandler
(
Exception
.
class
)
public
ObjectRestResponse
<?>
exceptionHandler
(
Exception
e
){
Throwable
cause
=
e
.
getCause
();
if
(
cause
!=
null
&&
cause
.
toString
().
contains
(
"Exception"
))
{
log
.
error
(
cause
.
getMessage
(),
e
);
return
assembleResult
(
ObjectRestResponse
.
createFailedResult
(
5000
,
"服务器开小差了,请稍后重试!"
),
"Server exception: "
+
e
.
getMessage
());
}
log
.
error
(
"Server exception: "
,
e
);
return
assembleResult
(
ObjectRestResponse
.
createFailedResult
(
5000
,
"服务器开小差了,请稍后重试!"
),
"Server exception: "
+
e
.
getMessage
());
}
protected
ObjectRestResponse
<?>
assembleResult
(
ObjectRestResponse
<?>
error
,
String
msg
)
{
log
.
debug
(
"Exception: "
+
msg
);
return
error
;
}
protected
ObjectRestResponse
<?>
assembleResult
(
ObjectRestResponse
<?>
error
,
Throwable
e
)
{
return
assembleResult
(
error
,
e
.
getClass
().
getSimpleName
()
+
": "
+
e
.
getMessage
());
}
}
ace-common/src/main/java/com/github/wxiaoqi/security/common/log/Impl/CommonLogServiceImpl.java
View file @
3bd2fc56
...
...
@@ -6,6 +6,7 @@ import com.github.wxiaoqi.security.common.log.entity.LogEntity;
import
com.github.wxiaoqi.security.common.log.entity.XxLogEntity
;
import
com.github.wxiaoqi.security.common.msg.BaseResponse
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
lombok.extern.slf4j.Slf4j
;
import
org.aspectj.lang.ProceedingJoinPoint
;
import
org.aspectj.lang.reflect.MethodSignature
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -25,6 +26,7 @@ import java.util.concurrent.ThreadPoolExecutor;
import
java.util.concurrent.TimeUnit
;
@Service
@Slf4j
public
class
CommonLogServiceImpl
implements
CommonLogService
{
@Value
(
"${spring.application.name}"
)
...
...
@@ -86,6 +88,9 @@ public class CommonLogServiceImpl implements CommonLogService {
}
@Override
public
void
run
()
{
if
(!
xxLogEntity
.
getServletPath
().
contains
(
"/vehicleInfo/app/unauth/getVehiclePlanList"
))
{
log
.
info
(
"用户请求信息:xxLogEntity = {}"
,
xxLogEntity
.
toString
());
}
mongoTemplate
.
insert
(
xxLogEntity
,
xxLogEntity
.
getMongoKey
());
}
}
...
...
ace-common/src/main/java/com/github/wxiaoqi/security/common/log/entity/XxLogEntity.java
View file @
3bd2fc56
...
...
@@ -14,13 +14,13 @@ import java.util.Date;
public
class
XxLogEntity
implements
Serializable
{
private
String
app
;
private
String
method
;
private
String
createDate
;
private
String
servletPath
;
private
String
requestPath
;
private
String
requestData
;
private
String
responseData
;
private
String
createDate
;
private
String
endDate
;
private
String
requestPath
;
private
String
method
;
private
String
mongoKey
;
public
XxLogEntity
()
{
...
...
ace-common/src/main/java/com/github/wxiaoqi/security/common/util/process/ResultCode.java
View file @
3bd2fc56
...
...
@@ -8,8 +8,8 @@ public class ResultCode {
////////////////////////////参数相关///////////////////////////
//参数非法,请修改
public
static
int
PARAM_ILLEGAL_CODE
=
Integer
.
valueOf
(
SystemProperty
.
getResultConfig
(
"PARAM_ILLEGAL_CODE"
));
//参数时效已过时,不能使用
public
static
int
PARAM_E
X
PIRE_CODE
=
Integer
.
valueOf
(
SystemProperty
.
getResultConfig
(
"PARAM_EXPIRE_CODE"
));
//参数时效已过时,不能使用
X
public
static
int
PARAM_EPIRE_CODE
=
Integer
.
valueOf
(
SystemProperty
.
getResultConfig
(
"PARAM_EXPIRE_CODE"
));
public
static
int
VEHICLE_IS_BOOKED
=
Integer
.
valueOf
(
SystemProperty
.
getResultConfig
(
"VEHICLE_IS_BOOKED"
));
// 操作成功
public
static
int
SUCCESS_CODE
=
Integer
.
valueOf
(
SystemProperty
.
getResultConfig
(
"SUCCESS_CODE"
));
...
...
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/support/aop/TokenAop.java
View file @
3bd2fc56
...
...
@@ -21,6 +21,7 @@ import javax.annotation.Resource;
import
javax.servlet.http.HttpServletRequest
;
import
java.lang.reflect.Method
;
import
java.lang.reflect.Parameter
;
import
java.util.Objects
;
/**
* @author libin
...
...
@@ -72,7 +73,11 @@ public class TokenAop {
args
[
i
]=
new
AppUserDTO
();
break
;
}
args
[
i
]=
userFeign
.
userDetailByToken
(
token
).
getData
();
AppUserDTO
userDTO
=
userFeign
.
userDetailByToken
(
token
).
getData
();
if
(
Objects
.
isNull
(
userDTO
)){
userDTO
=
new
AppUserDTO
();
}
args
[
i
]=
userDTO
;
break
;
}
if
(
UserDTO
.
class
.
equals
(
parameter
.
getType
())){
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/BaseUserMemberBiz.java
View file @
3bd2fc56
...
...
@@ -25,6 +25,7 @@ import tk.mybatis.mapper.weekend.WeekendSqls;
import
java.lang.reflect.InvocationTargetException
;
import
java.util.Collection
;
import
java.util.List
;
/**
...
...
@@ -257,4 +258,10 @@ public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper, BaseUserMem
}
public
void
deleteByUserIds
(
Collection
<
Integer
>
userIds
)
{
Example
example
=
new
Example
(
BaseUserMember
.
class
);
Example
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
andIn
(
"userId"
,
userIds
);
mapper
.
deleteByExample
(
example
);
}
}
\ No newline at end of file
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/MyWalletBiz.java
View file @
3bd2fc56
...
...
@@ -364,4 +364,10 @@ public class MyWalletBiz extends BaseBiz<MyWalletMapper, MyWallet> {
return
ObjectRestResponse
.
succ
();
}
public
void
deleteByUserIds
(
Collection
<
Integer
>
userIds
)
{
Example
example
=
new
Example
(
MyWallet
.
class
);
Example
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
andIn
(
"userId"
,
userIds
);
mapper
.
deleteByExample
(
example
);
}
}
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/MyWalletCathBiz.java
View file @
3bd2fc56
...
...
@@ -126,4 +126,11 @@ public class MyWalletCathBiz extends BaseBiz<MyWalletCathMapper, MyWalletCath> {
public
WalletCathSumDto
sumCathAmount
(
Integer
userId
,
Integer
type
){
return
mapper
.
sumCathAmount
(
userId
,
type
);
}
public
void
deleteByUserIds
(
Collection
<
Integer
>
userIds
)
{
Example
example
=
new
Example
(
MyWalletCath
.
class
);
Example
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
andIn
(
"userId"
,
userIds
);
mapper
.
deleteByExample
(
example
);
}
}
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/UserBiz.java
View file @
3bd2fc56
...
...
@@ -76,7 +76,7 @@ public class UserBiz extends BaseBiz<UserMapper,User> {
if
(
query
.
entrySet
().
size
()>
0
)
{
Example
.
Criteria
criteria
=
example
.
createCriteria
();
for
(
Map
.
Entry
<
String
,
Object
>
entry
:
query
.
entrySet
())
{
criteria
.
and
Like
(
entry
.
getKey
(),
"%"
+
entry
.
getValue
().
toString
()
+
"%"
);
criteria
.
or
Like
(
entry
.
getKey
(),
"%"
+
entry
.
getValue
().
toString
()
+
"%"
);
}
}
example
.
createCriteria
().
andGreaterThan
(
"id"
,
1
);
...
...
@@ -88,7 +88,7 @@ public class UserBiz extends BaseBiz<UserMapper,User> {
if
(
query
.
entrySet
().
size
()>
0
)
{
Example
.
Criteria
criteria
=
example
.
createCriteria
();
for
(
Map
.
Entry
<
String
,
Object
>
entry
:
query
.
entrySet
())
{
criteria
.
and
Like
(
entry
.
getKey
(),
"%"
+
entry
.
getValue
().
toString
()
+
"%"
);
criteria
.
or
Like
(
entry
.
getKey
(),
"%"
+
entry
.
getValue
().
toString
()
+
"%"
);
}
}
if
(
StringUtils
.
isNotBlank
(
currentUser
.
getDataCompany
())){
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/config/RabbitAdminConfig.java
View file @
3bd2fc56
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
config
;
import
com.github.wxiaoqi.security.common.config.RabbitCommonConfig
;
import
com.github.wxiaoqi.security.common.config.
rabbit.
RabbitCommonConfig
;
import
com.github.wxiaoqi.security.common.config.rabbit.BindDTO
;
import
com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant
;
import
org.springframework.context.annotation.Configuration
;
import
java.util.ArrayList
;
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/AppUsersManageController.java
View file @
3bd2fc56
...
...
@@ -9,7 +9,6 @@ import com.github.wxiaoqi.security.admin.dto.AppUserManageDTO;
import
com.github.wxiaoqi.security.admin.entity.AppUserLogin
;
import
com.github.wxiaoqi.security.admin.entity.AppUserManage
;
import
com.github.wxiaoqi.security.admin.entity.User
;
import
com.github.wxiaoqi.security.admin.feign.dto.UserDTO
;
import
com.github.wxiaoqi.security.admin.vo.AppUserManageVo
;
import
com.github.wxiaoqi.security.admin.vo.AppUserVo
;
import
com.github.wxiaoqi.security.auth.client.config.UserAuthConfig
;
...
...
@@ -17,16 +16,11 @@ 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.xxfc.platform.vehicle.feign.VehicleFeign
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
* app用户管理类
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/BaseUserMemberController.java
View file @
3bd2fc56
...
...
@@ -5,11 +5,18 @@ import com.github.wxiaoqi.security.admin.dto.BaseUserMemberVO;
import
com.github.wxiaoqi.security.admin.dto.UserMemberDTO
;
import
com.github.wxiaoqi.security.admin.entity.AppUserManage
;
import
com.github.wxiaoqi.security.admin.entity.BaseUserMember
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.auth.client.config.UserAuthConfig
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.lang.reflect.InvocationTargetException
;
import
java.util.Objects
;
/**
* 用户会员
...
...
@@ -17,20 +24,45 @@ import java.lang.reflect.InvocationTargetException;
*/
@RestController
@RequestMapping
(
"baseUserMember"
)
@Api
(
tags
=
"后台获取和修改用户会员信息"
)
public
class
BaseUserMemberController
extends
BaseController
<
BaseUserMemberBiz
,
BaseUserMember
>
{
@Autowired
private
UserFeign
userFeign
;
@Autowired
private
UserAuthConfig
userAuthConfig
;
/**
* 获取用户会员
* @param userId
* @return
*/
@RequestMapping
(
"/findOne/{userId}"
)
@ApiOperation
(
value
=
"根据用户id获取用户会员信息"
)
@GetMapping
(
"/findOne/{userId}"
)
public
ObjectRestResponse
<
BaseUserMemberVO
>
findOneByUserId
(
@PathVariable
Integer
userId
){
return
ObjectRestResponse
.
succ
(
baseBiz
.
findOneByUserId
(
userId
));
}
/**
* 根据token获取用户会员信息
* @return
*/
@GetMapping
(
"app/getUserMember"
)
@ApiOperation
(
value
=
"根据token获取用户会员信息"
)
public
ObjectRestResponse
<
BaseUserMemberVO
>
findOneByToken
(){
try
{
AppUserDTO
user
=
userFeign
.
userDetailByToken
(
userAuthConfig
.
getToken
(
request
)).
getData
();
return
ObjectRestResponse
.
succ
(
baseBiz
.
findOneByUserId
(
user
.
getUserid
()));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
ObjectRestResponse
.
createDefaultFail
();
}
}
// /**
// * 设置用户会员
...
...
@@ -51,12 +83,21 @@ public class BaseUserMemberController extends BaseController<BaseUserMemberBiz,
* @return
*/
@PutMapping
(
"/setUserMember"
)
@ApiOperation
(
value
=
"修改用户会员信息"
)
public
ObjectRestResponse
UpdateUserMember
(
@RequestBody
UserMemberDTO
userMemberDTO
)
throws
Exception
{
if
(
userMemberDTO
==
null
||
userMemberDTO
.
getRentFreeDays
()<
0
||
userMemberDTO
.
getTotalNumber
()<
0
)
{
if
(
userMemberDTO
==
null
)
{
return
ObjectRestResponse
.
createDefaultFail
();
}
if
(
Objects
.
nonNull
(
userMemberDTO
.
getRentFreeDays
())&&
userMemberDTO
.
getRentFreeDays
()<
0
){
return
ObjectRestResponse
.
createDefaultFail
();
}
if
(
Objects
.
nonNull
(
userMemberDTO
.
getTotalNumber
())&&
userMemberDTO
.
getTotalNumber
()<
0
){
return
ObjectRestResponse
.
createDefaultFail
();
}
baseBiz
.
UpdateUserMember
(
userMemberDTO
);
return
ObjectRestResponse
.
succ
();
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/DataController.java
View file @
3bd2fc56
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
rest
;
import
com.github.wxiaoqi.security.admin.biz.AppUserDetailBiz
;
import
com.github.wxiaoqi.security.admin.biz.AppUserLoginBiz
;
import
com.github.wxiaoqi.security.admin.biz.AppUserRelationBiz
;
import
com.github.wxiaoqi.security.admin.biz.AppUserSellingWaterBiz
;
import
com.github.wxiaoqi.security.admin.biz.*
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.activity.feign.ActivityFeign
;
import
com.xxfc.platform.order.feign.OrderFeign
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.tomcat.util.threads.ThreadPoolExecutor
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
;
import
org.springframework.web.bind.annotation.GetMapping
;
...
...
@@ -15,6 +15,8 @@ import org.springframework.web.bind.annotation.RestController;
import
javax.annotation.PostConstruct
;
import
java.util.*
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.Executors
;
/**
* @author libin
...
...
@@ -22,42 +24,55 @@ import java.util.*;
* @description
* @data 2019/7/24 15:11
*/
@ConditionalOnProperty
(
prefix
=
"data.clean"
,
name
=
"enable"
,
havingValue
=
"true"
)
@ConditionalOnProperty
(
prefix
=
"data.clean"
,
name
=
"enable"
,
havingValue
=
"true"
)
@RequiredArgsConstructor
(
onConstructor
=
@__
({
@Autowired
}))
@RestController
@RequestMapping
(
"/app/unauth/user_data"
)
public
class
DataController
{
@PostConstruct
public
void
init
(){
System
.
out
.
println
(
"启动了****************************"
);
}
private
final
AppUserLoginBiz
appUserLoginBiz
;
private
final
AppUserDetailBiz
appUserDetailBiz
;
private
final
AppUserRelationBiz
appUserRelationBiz
;
private
final
AppUserSellingWaterBiz
appUserSellingWaterBiz
;
private
final
ActivityFeign
activityFeign
;
@Autowired
private
AppUserLoginBiz
appUserLoginBiz
;
private
final
MyWalletBiz
walletBiz
;
@Autowired
private
AppUserDetailBiz
appUserDetailBiz
;
private
final
MyWalletCathBiz
walletCathBiz
;
@Autowired
private
AppUserRelationBiz
appUserRelationBiz
;
private
final
BaseUserMemberBiz
userMemberBiz
;
@Autowired
private
AppUserSellingWaterBiz
appUserSellingWaterBiz
;
private
final
OrderFeign
orderFeign
;
@Autowired
private
ActivityFeign
activityFeign
;
@GetMapping
(
"/clearwithphone"
)
public
ObjectRestResponse
<
Void
>
clearData
(
@RequestParam
(
"phones"
)
List
<
String
>
phons
)
{
Map
<
String
,
Integer
>
phoneAndUserIdMapByPhones
=
appUserLoginBiz
.
findPhoneAndUserIdMapByPhones
(
phons
);
if
(
Objects
.
nonNull
(
phoneAndUserIdMapByPhones
)){
if
(
Objects
.
nonNull
(
phoneAndUserIdMapByPhones
))
{
Collection
<
Integer
>
userIds
=
phoneAndUserIdMapByPhones
.
values
();
//1.删除登录表信息
appUserLoginBiz
.
deleteByPhones
(
phons
);
//2.删除用户详情信息
appUserDetailBiz
.
deleteByUserIds
(
userIds
);
//3.删除用户关系表信息
appUserRelationBiz
.
deleteByMemberIds
(
userIds
);
//4.删除用户钱包
walletBiz
.
deleteByUserIds
(
userIds
);
//5.删除用户提现记录
walletCathBiz
.
deleteByUserIds
(
userIds
);
//6.删除会员信息
userMemberBiz
.
deleteByUserIds
(
userIds
);
//7.删除佣金数据
appUserSellingWaterBiz
.
deleteByMemberIds
(
userIds
);
activityFeign
.
clearDate
(
new
ArrayList
<>(
userIds
));
//8.清除活动和用户优惠券信息
activityFeign
.
clearDate
(
new
ArrayList
(
userIds
));
//9.消除租车订单与旅游订单信息
// orderFeign.clearDateByUserIds(new ArrayList(userIds));
}
return
ObjectRestResponse
.
succ
();
}
...
...
@@ -66,7 +81,7 @@ public class DataController {
public
ObjectRestResponse
<
Void
>
clearRelationphone
(
@RequestParam
(
"phones"
)
List
<
String
>
phons
)
{
Map
<
String
,
Integer
>
phoneAndUserIdMapByPhones
=
appUserLoginBiz
.
findPhoneAndUserIdMapByPhones
(
phons
);
if
(
Objects
.
nonNull
(
phoneAndUserIdMapByPhones
)){
if
(
Objects
.
nonNull
(
phoneAndUserIdMapByPhones
))
{
Collection
<
Integer
>
userIds
=
phoneAndUserIdMapByPhones
.
values
();
appUserRelationBiz
.
deleteByMemberIds
(
userIds
);
appUserSellingWaterBiz
.
deleteByMemberIds
(
userIds
);
...
...
ace-modules/ace-admin/src/main/resources/mapper/AppUserDetailMapper.xml
View file @
3bd2fc56
...
...
@@ -68,26 +68,28 @@
m.total_number as totalNumber,
m.rent_free_days as rentFreeDays,
m.crt_time as timeOfMembership,
m.recent_recharge as
recentRecharge,
m.recent_recharge as recentRecharge,
m.name as memberName,
ul.username as inviter,
aup.name as `positionName`
from
app_user_login l
inner join
(select * from app_user_detail where 1=1
<if
test=
"postionState != null"
>
<choose>
<when
test=
"postionState == 6"
>
and `position_id`=#{postionState}
</when>
<otherwise>
and
<![CDATA[`position_id`<>6]]>
</otherwise>
</choose>
</if>
) d
(select * from app_user_detail where 1=1
<if
test=
"postionState != null"
>
<choose>
<when
test=
"postionState == 6"
>
and `position_id`=#{postionState}
</when>
<otherwise>
and
<![CDATA[`position_id`<>6]]>
</otherwise>
</choose>
</if>
) d
on
d.userid = l.id
left
join
left join
app_user_login ul
on
ul.id=d.inviter_account
...
...
@@ -110,7 +112,7 @@
on aup.id = d.position_id
where l.isdel = 0
<if
test=
"mobile !=null and mobile !='' "
>
and l.username like
CONCAT('%',#{mobile},'%')
and l.username like CONCAT('%',#{mobile},'%')
</if>
<if
test=
"channel !=null "
>
and d.channel=#{channel}
...
...
@@ -131,10 +133,10 @@
<if
test=
"source !=null "
>
and d.source = #{source}
</if>
order by
l.id
ASC
order by
l.id
ASC
</select>
<update
id=
"updateUserMemberStatusByUserId"
>
<update
id=
"updateUserMemberStatusByUserId"
>
update `app_user_detail` set `is_member`={status} where `userid`=#{userId}
</update>
<update
id=
"updateUserPositionByUserId"
>
...
...
ace-modules/ace-admin/src/main/resources/mapper/BaseUserMemberMapper.xml
View file @
3bd2fc56
...
...
@@ -49,6 +49,8 @@
m.user_id=#{userId}
and
m.is_del=0
limit 1
</select>
</mapper>
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/UserCouponBiz.java
View file @
3bd2fc56
...
...
@@ -166,22 +166,31 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> {
}
UserCouponVo
userCouponVo
=
null
;
if
(
list2
.
size
()>
0
){
userCouponVo
=
list2
.
get
(
0
);
list2
.
sort
(
Comparator
.
comparing
(
UserCouponVo:
:
getStatus
));
userCouponVo
=
list2
.
get
(
0
);
if
(
userCouponVo
!=
null
){
userCouponVo
.
setIsChecked
(
1
);
list2
.
set
(
0
,
userCouponVo
);
}
list2
.
sort
(
Comparator
.
comparing
(
UserCouponVo:
:
getStatus
));
}
if
(
list1
.
size
()>
0
){
list1
.
sort
(
Comparator
.
comparing
(
UserCouponVo:
:
getStatus
));
if
(
userCouponVo
==
null
){
userCouponVo
=
list1
.
get
(
0
);
int
num
=
0
;
for
(
UserCouponVo
couponVo:
list1
)
{
if
(
couponVo
.
getStatus
()==
1
){
userCouponVo
=
couponVo
;
break
;
}
num
++;
}
if
(
userCouponVo
!=
null
){
userCouponVo
.
setIsChecked
(
1
);
list1
.
set
(
0
,
userCouponVo
);
list1
.
set
(
num
,
userCouponVo
);
}
}
list1
.
sort
(
Comparator
.
comparing
(
UserCouponVo:
:
getStatus
));
}
JSONArray
array
=
new
JSONArray
();
JSONObject
object
=
new
JSONObject
();
...
...
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/config/RabbitActivityConfig.java
View file @
3bd2fc56
package
com
.
xxfc
.
platform
.
activity
.
config
;
import
com.github.wxiaoqi.security.common.config.RabbitCommonConfig
;
import
com.github.wxiaoqi.security.common.config.
rabbit.
RabbitCommonConfig
;
import
com.github.wxiaoqi.security.common.config.rabbit.BindDTO
;
import
com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant
;
import
org.springframework.context.annotation.Configuration
;
import
java.util.ArrayList
;
...
...
xx-app/xx-app-server/src/main/java/com/xxfc/platform/app/biz/AppVersionBiz.java
View file @
3bd2fc56
...
...
@@ -5,18 +5,11 @@ import com.github.pagehelper.PageInfo;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken
;
import
com.github.wxiaoqi.security.common.constant.RestCode
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.util.EntityUtils
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.github.wxiaoqi.security.common.util.process.SystemConfig
;
import
com.xxfc.platform.app.vo.appVersionQuery
;
import
com.xxfc.platform.vehicle.common.RestResponse
;
import
com.xxfc.platform.vehicle.constant.RedisKey
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.log4j.Log4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.io.FileUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.ibatis.session.RowBounds
;
import
org.joda.time.DateTime
;
import
org.joda.time.format.DateTimeFormat
;
import
org.joda.time.format.DateTimeFormatter
;
...
...
@@ -32,18 +25,13 @@ import com.xxfc.platform.app.entity.AppVersion;
import
com.xxfc.platform.app.mapper.AppVersionMapper
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.multipart.MultipartFile
;
import
tk.mybatis.mapper.entity.Example
;
import
tk.mybatis.mapper.weekend.WeekendSqls
;
import
java.io.File
;
import
java.io.IOException
;
import
java.math.BigInteger
;
import
java.util.List
;
import
java.util.concurrent.TimeUnit
;
/**
*
...
...
xx-app/xx-app-server/src/main/java/com/xxfc/platform/app/rest/AppVersionController.java
View file @
3bd2fc56
...
...
@@ -4,37 +4,18 @@ import com.github.pagehelper.PageInfo;
import
com.github.wxiaoqi.security.admin.constant.AppFormat
;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken
;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
com.github.wxiaoqi.security.common.util.Query
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.xxfc.platform.app.biz.AppVersionBiz
;
import
com.xxfc.platform.app.entity.AppVersion
;
import
com.xxfc.platform.app.entity.Cofig
;
import
com.xxfc.platform.app.vo.appVersionQuery
;
import
com.xxfc.platform.vehicle.common.RestResponse
;
import
com.xxfc.platform.vehicle.constant.ResCode.ResCode
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.Data
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.io.FileUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.ibatis.annotations.Delete
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.util.Assert
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.File
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
@RestController
@RequestMapping
(
"version"
)
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderTourDetail.java
View file @
3bd2fc56
package
com
.
xxfc
.
platform
.
order
.
entity
;
import
com.github.wxiaoqi.security.admin.vo.AppUserVo
;
import
com.xxfc.platform.tour.entity.TourUser
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
@@ -245,5 +246,5 @@ public class OrderTourDetail implements Serializable {
private
Integer
isOutside
;
@Transient
private
List
<
AppUserVo
>
userVoList
;
private
List
<
TourUser
>
userVoList
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/order/OrderPageVO.java
View file @
3bd2fc56
...
...
@@ -31,6 +31,11 @@ public class OrderPageVO extends BaseOrder {
private
String
telephone
;
/**
* 車輛編碼
*/
private
Integer
code
;
/**
* 是否是用户匹配公司
*/
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
View file @
3bd2fc56
...
...
@@ -26,6 +26,7 @@ import com.xxfc.platform.order.pojo.order.OrderPageVO;
import
com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto
;
import
com.xxfc.platform.order.pojo.order.QueryOrderDTO
;
import
com.xxfc.platform.order.rest.BaseOrderController
;
import
com.xxfc.platform.tour.entity.TourUser
;
import
com.xxfc.platform.tour.feign.TourFeign
;
import
com.xxfc.platform.universal.constant.DictionaryKey
;
import
com.xxfc.platform.universal.dto.SendMsgDTO
;
...
...
@@ -179,17 +180,10 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
orderPageVo
.
setVehicalNumberPlat
(
response
.
getData
().
getNumberPlate
());
}
}
else
if
(
orderPageVo
.
getOrderTourDetail
()
!=
null
)
{
List
<
Integer
>
ids
=
Lists
.
newArrayList
();
if
(
orderPageVo
.
getOrderTourDetail
().
getTourUserIds
().
contains
(
","
))
{
String
[]
strings
=
orderPageVo
.
getOrderTourDetail
().
getTourUserIds
().
split
(
","
);
for
(
int
i
=
0
;
i
<
strings
.
length
;
i
++)
{
ids
.
add
(
Integer
.
parseInt
(
StringUtils
.
isNotBlank
(
strings
[
i
])
?
strings
[
i
]
:
"0"
));
}
}
else
{
ids
.
add
(
Integer
.
parseInt
(
orderPageVo
.
getOrderTourDetail
().
getTourUserIds
()));
if
(
StringUtils
.
isNotBlank
(
orderPageVo
.
getOrderTourDetail
().
getTourUserIds
()))
{
List
<
TourUser
>
list
=
tourFeign
.
getTourUsers
(
orderPageVo
.
getOrderTourDetail
().
getTourUserIds
()).
getData
();
orderPageVo
.
getOrderTourDetail
().
setUserVoList
(
list
==
null
||
list
.
size
()
<=
0
?
new
ArrayList
<>()
:
list
);
}
List
<
AppUserVo
>
list
=
userFeign
.
getByUserIds
(
ids
).
getData
();
orderPageVo
.
getOrderTourDetail
().
setUserVoList
(
list
==
null
||
list
.
size
()
<=
0
?
new
ArrayList
<>()
:
list
);
}
//设置保留金
Map
<
String
,
Dictionary
>
dictionaryMap
=
thirdFeign
.
dictionaryGetAll4Map
().
getData
();
...
...
@@ -268,18 +262,10 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
orderPageVo
.
setVehicalNumberPlat
(
restResponse
.
getData
().
getNumberPlate
());
}
}
else
if
(
orderPageVo
.
getOrderTourDetail
()
!=
null
)
{
List
<
Integer
>
ids
=
Lists
.
newArrayList
();
if
(
orderPageVo
.
getOrderTourDetail
().
getTourUserIds
().
contains
(
","
))
{
String
[]
strings
=
orderPageVo
.
getOrderTourDetail
().
getTourUserIds
().
split
(
","
);
for
(
int
i
=
0
;
i
<
strings
.
length
;
i
++)
{
ids
.
add
(
Integer
.
parseInt
(
StringUtils
.
isNotBlank
(
strings
[
i
])
?
strings
[
i
]
:
"0"
));
}
}
else
{
ids
.
add
(
Integer
.
parseInt
(
orderPageVo
.
getOrderTourDetail
().
getTourUserIds
()));
if
(
StringUtils
.
isNotBlank
(
orderPageVo
.
getOrderTourDetail
().
getTourUserIds
()))
{
List
<
TourUser
>
list
=
tourFeign
.
getTourUsers
(
orderPageVo
.
getOrderTourDetail
().
getTourUserIds
()).
getData
();
orderPageVo
.
getOrderTourDetail
().
setUserVoList
(
list
==
null
||
list
.
size
()
<=
0
?
new
ArrayList
<>()
:
list
);
}
List
<
AppUserVo
>
list
=
userFeign
.
getByUserIds
(
ids
).
getData
();
orderPageVo
.
getOrderTourDetail
().
setUserVoList
(
list
==
null
||
list
.
size
()
<=
0
?
new
ArrayList
<>()
:
list
);
}
//设置保留金
Map
<
String
,
Dictionary
>
dictionaryMap
=
thirdFeign
.
dictionaryGetAll4Map
().
getData
();
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderTourVerificationBiz.java
View file @
3bd2fc56
...
...
@@ -16,6 +16,10 @@ import com.xxfc.platform.vehicle.entity.BranchCompany;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.time.Instant
;
import
java.time.LocalTime
;
import
java.time.temporal.ChronoUnit
;
import
java.util.Date
;
import
java.util.List
;
/**
...
...
@@ -89,13 +93,13 @@ public class OrderTourVerificationBiz{
}
// 出发时间 是否已经发车
/*
Date departureDate = tourFeign.selectDepartureDataBySpeId(tourDetail.getSpePriceId());
Long departureTime = tourFeign.selectDepartureTimeByStartCompanyIdAndRouteId(tourDetail.getStartCompanyId(), tourDetail.getGoodId());
Date
departureDate
=
tourFeign
.
selectDepartureDataBySpeId
(
tourDetail
.
getSpePriceId
());
//
Long departureTime = tourFeign.selectDepartureTimeByStartCompanyIdAndRouteId(tourDetail.getStartCompanyId(), tourDetail.getGoodId());
Integer
departureStatus
=
tourFeign
.
selectDepartureStatusByVerificationId
(
verificationId
);
LocalTime localDepartureTime = LocalTime.ofSecondOfDay(departureTime);
departureDate.setHours(
localDepartureTime.getHour()
);
departureDate.setMinutes(
localDepartureTime.getMinute()
);
departureDate.setSeconds(
localDepartureTime.getSecond()
);
//
LocalTime localDepartureTime = LocalTime.ofSecondOfDay(departureTime);
departureDate
.
setHours
(
0
);
departureDate
.
setMinutes
(
0
);
departureDate
.
setSeconds
(
0
);
if
(
Instant
.
now
().
toEpochMilli
()<
departureDate
.
toInstant
().
toEpochMilli
()){
return
ObjectRestResponse
.
createFailedResultWithObj
(
400
,
"还未到发车时间"
,
0
);
...
...
@@ -110,7 +114,7 @@ public class OrderTourVerificationBiz{
if
(
departureStatus
==
1
){
return
ObjectRestResponse
.
createFailedResultWithObj
(
400
,
"已经发车"
,
1
);
}
*/
}
baseOrder
=
new
BaseOrder
();
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderVehicleCrosstownBiz.java
View file @
3bd2fc56
...
...
@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import
cn.hutool.core.bean.copier.CopyOptions
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.wxiaoqi.security.admin.entity.AppUserDetail
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.admin.feign.dto.UserDTO
;
...
...
@@ -163,16 +164,16 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
OrderRentVehicleDetail
orderRentVehicleDetail
=
orderRentVehicleBiz
.
selectById
(
baseOrder
.
getDetailId
());
if
(
orderVehicleCrosstownDto
.
getType
()
==
CrosstownTypeEnum
.
DEPARTURE
.
getCode
())
{
boolean
flag
=
getTodayTime
(
orderRentVehicleDetail
.
get
Start
Time
());
boolean
flag
=
getTodayTime
(
orderRentVehicleDetail
.
get
End
Time
());
if
(!
flag
)
{
return
ObjectRestResponse
.
createFailedResult
(
350
1
,
"今日不是交车日期"
);
return
ObjectRestResponse
.
createFailedResult
(
350
2
,
"今日不是交车日期"
);
}
if
(
userDTO
.
getCompanyId
()
!=
orderRentVehicleDetail
.
getStartCompanyId
())
{
return
ObjectRestResponse
.
createFailedResult
(
3501
,
"无交车权限"
);
}
}
else
{
if
(
userDTO
.
getCompanyId
()
!=
orderRentVehicleDetail
.
getEndCompanyId
())
{
return
ObjectRestResponse
.
createFailedResult
(
350
1
,
"无收车权限"
);
return
ObjectRestResponse
.
createFailedResult
(
350
3
,
"无收车权限"
);
}
}
if
(
baseOrder
.
getStatus
()
!=
-
1
)
{
...
...
@@ -193,7 +194,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
}
}
AppUserDTO
appUserDTO
=
userFeign
.
userDetailById
(
baseOrder
.
getUserId
()).
getData
();
//调用车辆管理的出车还车
//出车
if
(
orderVehicleCrosstownDto
.
getType
()
==
CrosstownTypeEnum
.
DEPARTURE
.
getCode
())
{
//交车
...
...
@@ -203,27 +204,36 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
vehicleDepartureVo
.
setDepartureBranchCompanyId
(
orderRentVehicleDetail
.
getStartCompanyId
());
vehicleDepartureVo
.
setExpectArrivalBranchCompanyId
(
orderRentVehicleDetail
.
getEndCompanyId
());
vehicleDepartureVo
.
setMileage
(
orderVehicleCrosstownDto
.
getMileage
());
if
(
appUserDTO
!=
null
)
{
vehicleDepartureVo
.
setUser
(
appUserDTO
.
getNickname
());
vehicleDepartureVo
.
setUserTel
(
appUserDTO
.
getUsername
());
}
else
{
vehicleDepartureVo
.
setUser
(
"APP用戶"
);
vehicleDepartureVo
.
setUserTel
(
"13656235623"
);
}
vehicleDepartureVo
.
setUse
(
"用户租车"
);
vehicleDepartureVo
.
setBookRecordId
(
Integer
.
parseInt
(
orderRentVehicleDetail
.
getBookRecordId
()
+
""
));
vehicleDepartureVo
.
setUser
(
userDTO
.
getUsername
());
vehicleDepartureVo
.
setUserTel
(
userDTO
.
getTelPhone
());
vehicleDepartureVo
.
setBookRecordId
(
orderRentVehicleDetail
.
getBookRecordId
());
vehicleDepartureVo
.
setCheckMan
(
orderVehicleCrosstownDto
.
getLicenseName
());
vehicleDepartureVo
.
setCheckManTel
(
orderVehicleCrosstownDto
.
getLicensePhone
());
try
{
vehicleFeign
.
departureBySmall
(
vehicleDepartureVo
);
RestResponse
restResponse
=
vehicleFeign
.
departureBySmall
(
vehicleDepartureVo
);
log
.
info
(
"返回信息: "
+
restResponse
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
ObjectRestResponse
.
createFailedResult
(
500
,
e
.
getMessage
());
return
ObjectRestResponse
.
createFailedResult
(
1001
,
e
.
getMessage
());
}
}
else
if
(
orderVehicleCrosstownDto
.
getType
()
==
CrosstownTypeEnum
.
ARRIVE
.
getCode
()
||
orderVehicleCrosstownDto
.
getType
()
==
CrosstownTypeEnum
.
FIXED_LOSS
.
getCode
())
{
//还车
VehicleArrivalVo
vehicleArrivalVo
=
new
VehicleArrivalVo
();
vehicleArrivalVo
.
setVehicleId
(
orderRentVehicleDetail
.
getVehicleId
());
vehicleArrivalVo
.
setArrivalBranchCompanyId
(
userDTO
.
getCompanyId
());
vehicleArrivalVo
.
setMileage
(
orderVehicleCrosstownDto
.
getMileage
());
vehicleArrivalVo
.
setRecycleMan
(
userDTO
.
getName
());
vehicleArrivalVo
.
setRecycleManTel
(
userDTO
.
getTelPhone
());
vehicleArrivalVo
.
setBookRecordId
(
orderRentVehicleDetail
.
getBookRecordId
());
if
(
appUserDTO
!=
null
)
{
vehicleArrivalVo
.
setRecycleManTel
(
appUserDTO
.
getUsername
());
}
else
{
vehicleArrivalVo
.
setRecycleManTel
(
"13565235623"
);
}
try
{
vehicleFeign
.
arrivalBySmall
(
vehicleArrivalVo
);
}
catch
(
Exception
e
)
{
...
...
@@ -262,7 +272,6 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
return
ObjectRestResponse
.
succ
(
oldValue
.
get
(
0
));
}
else
if
(
oldValue
.
size
()
<=
0
)
{
getOrderLicense
(
orderVehicleCrosstownDto
);
orderVehicleCrosstownBiz
.
insertSelective
(
orderVehicleCrosstownDto
);
OrderVehicleCrosstown
orderVehicleCrosstown
=
orderVehicleCrosstownBiz
.
selectOne
(
orderVehicleCrosstownDto
);
handleOrderStatus
(
baseOrder
,
orderRentVehicleDetail
,
orderVehicleCrosstown
);
...
...
@@ -367,8 +376,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
public
boolean
getTodayTime
(
Long
time
)
{
long
current
=
System
.
currentTimeMillis
();
long
startTime
=
current
/
(
1000
*
3600
*
24
)
*
(
1000
*
3600
*
24
)
-
TimeZone
.
getDefault
().
getRawOffset
();
if
(
time
>=
startTime
&&
time
<=
startTime
+
24
*
60
*
60
*
1000
-
1
)
{
if
(
current
<=
(
time
/
(
1000
*
3600
*
24
)
*
(
1000
*
3600
*
24
)
-
TimeZone
.
getDefault
().
getRawOffset
()
)+
24
*
60
*
60
*
1000
-
1
)
{
return
true
;
}
return
false
;
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/config/RabbitOrderConfig.java
View file @
3bd2fc56
package
com
.
xxfc
.
platform
.
order
.
config
;
import
com.github.wxiaoqi.security.common.config.RabbitCommonConfig
;
import
com.github.wxiaoqi.security.common.config.
rabbit.
RabbitCommonConfig
;
import
com.github.wxiaoqi.security.common.config.rabbit.BindDTO
;
import
org.springframework.context.annotation.Configuration
;
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/BackStageOrderController.java
View file @
3bd2fc56
...
...
@@ -25,6 +25,8 @@ import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import
com.xxfc.platform.order.pojo.OrderAccompanyDTO
;
import
com.xxfc.platform.order.pojo.order.*
;
import
com.xxfc.platform.order.service.OrderRentVehicleService
;
import
com.xxfc.platform.tour.entity.TourUser
;
import
com.xxfc.platform.tour.feign.TourFeign
;
import
com.xxfc.platform.vehicle.common.RestResponse
;
import
com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus
;
import
com.xxfc.platform.vehicle.entity.BranchCompany
;
...
...
@@ -78,6 +80,9 @@ public class BackStageOrderController extends CommonBaseController implements Us
@Autowired
UserFeign
userFeign
;
@Autowired
TourFeign
tourFeign
;
@Resource
VehicleFeign
vehicleFeign
;
...
...
@@ -180,10 +185,9 @@ public class BackStageOrderController extends CommonBaseController implements Us
if
(
startResponse
.
getData
()
!=
null
)
{
orderPageVO
.
setStartCompanyName
(
startResponse
.
getData
().
getName
());
}
List
<
Integer
>
tourUserIds
=
Arrays
.
asList
(
orderPageVO
.
getOrderTourDetail
().
getTourUserIds
().
split
(
","
)).
parallelStream
().
map
(
s
->
Integer
.
valueOf
(
s
.
trim
())).
collect
(
Collectors
.
toList
());
ObjectRestResponse
<
List
<
AppUserVo
>>
users
=
userFeign
.
getByUserIds
(
tourUserIds
);
if
(
users
.
getData
()
!=
null
)
{
orderPageVO
.
getOrderTourDetail
().
setUserVoList
(
users
.
getData
()
==
null
?
users
.
getData
()
:
new
ArrayList
<>());
if
(
StringUtils
.
isNotBlank
(
orderPageVO
.
getOrderTourDetail
().
getTourUserIds
()))
{
List
<
TourUser
>
tourUsers
=
tourFeign
.
getTourUsers
(
orderPageVO
.
getOrderTourDetail
().
getTourUserIds
()).
getData
();
orderPageVO
.
getOrderTourDetail
().
setUserVoList
(
tourUsers
==
null
||
tourUsers
.
size
()
<=
0
?
new
ArrayList
<>()
:
tourUsers
);
}
}
...
...
@@ -231,6 +235,7 @@ public class BackStageOrderController extends CommonBaseController implements Us
log
.
info
(
"获取车辆信息返回消息:{}"
,
restResponse
.
getMessage
());
if
(
restResponse
.
getData
()
!=
null
)
{
orderPageVO
.
setVehicalNumberPlat
(
restResponse
.
getData
().
getNumberPlate
());
orderPageVO
.
setCode
(
restResponse
.
getData
().
getCode
());
}
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderRentVehicleService.java
View file @
3bd2fc56
...
...
@@ -239,7 +239,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
//如果用户存在,并且为会员,并且车辆有优惠价
if
(
null
!=
dto
&&
null
!=
detail
.
getRentFreeDay
()
&&
detail
.
getRentFreeDay
()
>
0
)
{
if
(
null
==
dto
.
getRentFreeDays
()
||
dto
.
getRentFreeDays
()
<=
0
)
{
throw
new
BaseException
(
ResultCode
.
PARAM_E
X
PIRE_CODE
,
new
HashSet
<
String
>()
{{
throw
new
BaseException
(
ResultCode
.
PARAM_EPIRE_CODE
,
new
HashSet
<
String
>()
{{
add
(
"免费租车天数不存在或为0"
);
}});
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderTourService.java
View file @
3bd2fc56
...
...
@@ -35,6 +35,7 @@ import com.xxfc.platform.vehicle.entity.SysRegion;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
com.xxfc.platform.vehicle.pojo.CompanyDetail
;
import
lombok.extern.log4j.Log4j
;
import
org.mockito.internal.util.collections.Sets
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -47,7 +48,7 @@ import java.util.HashSet;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_TRUE
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
*
;
import
static
com
.
xxfc
.
platform
.
universal
.
constant
.
DictionaryKey
.
APP_ORDER
;
@Service
...
...
@@ -135,8 +136,18 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
setSiteId
(
bo
.
getSiteId
());
}})).
getData
().
get
(
0
).
getId
());
Integer
departureStatus
=
tourFeign
.
selectDepartureStatusByVerificationId
(
bo
.
getVerificationId
());
//1为已发车
if
(!
SYS_FALSE
.
equals
(
departureStatus
))
{
throw
new
BaseException
(
ResultCode
.
PARAM_EPIRE_CODE
,
Sets
.
newSet
(
"旅程已发车,不能下单"
));
}
//扣減庫存
tourFeign
.
stock
(
bo
.
getSpePriceId
(),
bo
.
getTotalNumber
(),
TourFeign
.
STOCK_SUBTRACT
);
ObjectRestResponse
<
TourSpePriceVo
>
response
=
tourFeign
.
stock
(
bo
.
getSpePriceId
(),
bo
.
getTotalNumber
(),
TourFeign
.
STOCK_SUBTRACT
);
if
(!
SYS_JSON_TRUE
.
equals
(
response
.
getStatus
()))
{
throw
new
BaseException
(
ResultCode
.
PARAM_EPIRE_CODE
,
Sets
.
newSet
(
"库存不足"
));
}
OrderItem
tourAdultItem
=
bo
.
getItemByTypeEnum
(
ItemTypeEnum
.
TOUR_ADULT
);
OrderItem
tourChildItem
=
bo
.
getItemByTypeEnum
(
ItemTypeEnum
.
TOUR_CHILD
);
...
...
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/constant/ResCode/ResCode.java
View file @
3bd2fc56
...
...
@@ -28,7 +28,9 @@ public enum ResCode {
USERNAME_AND_TELE_NOT_NULL
(
104000
,
"使用人和电话不能为空"
),
VEHICLE_DEPARTURE_VEHICLE_UNEXIST
(
104001
,
"车辆不存在"
),
VEHICLE_DEPARTURE_VEHICLE_DISABLE
(
104002
,
"车辆不可用"
),
VEHICLE_DEPARTURE_VEHICLE_DELETE
(
104007
,
"车辆已下架"
),
VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE
(
104003
,
"车辆未出车"
),
VEHICLE_DEPARTURE_DATE_IS_NOT_ABLED
(
104006
,
"车辆不在出车范围内,请按照预定日期出车!"
),
VEHICLE_BOOK_RECORD_IS_NOT_EXIST
(
104004
,
"预约记录不存在"
),
VEHICLE_UNBOOK_FAIL
(
104005
,
"取消预定失败!"
),
...
...
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/entity/VehicleDepartureLog.java
View file @
3bd2fc56
...
...
@@ -87,7 +87,7 @@ public class VehicleDepartureLog {
/**
* 预约记录id
*/
Integer
bookRecordId
;
Long
bookRecordId
;
//违章图片,逗号分隔
String
illegalPic
;
//违章金额
...
...
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/pojo/VehicleArrivalVo.java
View file @
3bd2fc56
...
...
@@ -38,6 +38,6 @@ public class VehicleArrivalVo {
//违章金额
Integer
illegalAmount
;
Integer
bookRecordId
;
Long
bookRecordId
;
}
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/pojo/VehicleBookRecordVo.java
View file @
3bd2fc56
...
...
@@ -33,7 +33,11 @@ public class VehicleBookRecordVo extends VehicleBookRecord {
private
Integer
liftStatus
;
private
Integer
retStatus
;
private
Integer
state
;
private
Integer
code
;
List
<
VehicleUpkeepItem
>
vehicleUpkeepItems
;
}
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/pojo/VehicleDepartureVo.java
View file @
3bd2fc56
...
...
@@ -48,7 +48,7 @@ public class VehicleDepartureVo {
/**
* 预约记录id
*/
Integer
bookRecordId
;
Long
bookRecordId
;
//出车图片
String
departurePic
;
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/AreaBiz.java
View file @
3bd2fc56
...
...
@@ -13,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.Objects
;
import
static
com
.
github
.
wxiaoqi
.
security
.
auth
.
common
.
constatns
.
CommonConstants
.
DATA_ALL_FALSE
;
...
...
@@ -48,8 +49,12 @@ public class AreaBiz extends BaseBiz<AreaMapper, Area> implements UserRestInterf
return
RestResponse
.
suc
(
mapper
.
findAllByIds
(
list
));
}
else
{
Area
area
=
mapper
.
selectByPrimaryKey
(
ids
);
if
(
Objects
.
isNull
(
area
)){
return
null
;
}
List
<
Area
>
areas
=
Lists
.
newArrayList
();
areas
.
add
(
mapper
.
selectByPrimaryKey
(
ids
)
);
areas
.
add
(
area
);
return
RestResponse
.
suc
(
areas
);
}
}
else
{
//拥有全部权限
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleActiveService.java
View file @
3bd2fc56
...
...
@@ -3,12 +3,16 @@ 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.common.RestResponse
;
import
com.xxfc.platform.vehicle.constant.*
;
import
com.xxfc.platform.vehicle.constant.ResCode.ResCode
;
import
com.xxfc.platform.vehicle.entity.*
;
import
com.xxfc.platform.vehicle.mapper.*
;
import
com.xxfc.platform.vehicle.pojo.*
;
import
org.apache.commons.lang3.StringUtils
;
import
org.joda.time.DateTime
;
import
org.joda.time.format.DateTimeFormat
;
import
org.joda.time.format.DateTimeFormatter
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
...
...
@@ -17,7 +21,9 @@ import org.springframework.transaction.annotation.Transactional;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Service
public
class
VehicleActiveService
{
...
...
@@ -39,6 +45,12 @@ public class VehicleActiveService {
@Autowired
VehicleBookRecordBiz
vehicleBookRecordBiz
;
@Autowired
VehicleBiz
vehicleBiz
;
public
static
final
DateTimeFormatter
DATE_TIME_FORMATTER
=
DateTimeFormat
.
forPattern
(
"yyyy-MM-dd HH:mm:ss"
);
@Value
(
"${vehicle.mileage}"
)
private
Integer
Mileage
;
...
...
@@ -54,10 +66,6 @@ public class VehicleActiveService {
throw
new
BaseException
(
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNEXIST
.
getDesc
(),
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNEXIST
.
getCode
());
}
if
(
StringUtils
.
isBlank
(
departureVo
.
getUser
())
||
StringUtils
.
isBlank
(
departureVo
.
getUserTel
()))
{
throw
new
BaseException
(
ResCode
.
USERNAME_AND_TELE_NOT_NULL
.
getDesc
(),
ResCode
.
USERNAME_AND_TELE_NOT_NULL
.
getCode
());
}
if
(
StringUtils
.
isBlank
(
departureVo
.
getCheckMan
())
||
StringUtils
.
isBlank
(
departureVo
.
getCheckManTel
()))
{
throw
new
BaseException
(
ResCode
.
CHECKUSER_AND_PHONE_NOT_NULL
.
getDesc
(),
ResCode
.
CHECKUSER_AND_PHONE_NOT_NULL
.
getCode
());
...
...
@@ -66,6 +74,8 @@ public class VehicleActiveService {
throw
new
BaseException
(
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_DISABLE
.
getDesc
()
+
", 车辆状态是:"
+
getVehicleStatus
(
vehicle
.
getStatus
(),
vehicle
.
getId
()),
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_DISABLE
.
getCode
());
}
//添加出车时间过滤 再出车开始时间前一天至结束时间内可以出车,并且预定记录为已审核状态
checkDateInvalide
(
departureVo
);
Integer
MileageLift
=
vehicle
.
getMileageLastUpdate
();
Integer
MileageLift1
=
departureVo
.
getMileage
();
if
(
MileageLift1
==
null
){
...
...
@@ -101,6 +111,7 @@ public class VehicleActiveService {
departureLog
.
setState
(
VehicleDepartureState
.
DEPARTURE
.
getCode
());
departureLog
.
setDepartureRemark
(
departureVo
.
getRemark
());
if
(
vehicleBookRecord
!=
null
)
{
departureLog
.
setDepartureBranchCompanyId
(
vehicleBookRecord
.
getLiftCompany
());
departureLog
.
setUse
(
BookType
.
getByCode
(
vehicleBookRecord
.
getBookType
()));
departureLog
.
setUser
(
vehicleBookRecord
.
getVehicleUsername
());
departureLog
.
setUserTel
(
vehicleBookRecord
.
getVehicleUserPhone
());
...
...
@@ -117,6 +128,7 @@ public class VehicleActiveService {
departureLog
.
setBookRecordId
(
departureVo
.
getBookRecordId
());
departureLog
.
setDepartureRemark
(
departureVo
.
getRemark
());
if
(
vehicleBookRecord
!=
null
)
{
departureLog
.
setDepartureBranchCompanyId
(
vehicleBookRecord
.
getLiftCompany
());
departureLog
.
setUse
(
BookType
.
getByCode
(
vehicleBookRecord
.
getBookType
()));
departureLog
.
setUser
(
vehicleBookRecord
.
getVehicleUsername
());
departureLog
.
setUserTel
(
vehicleBookRecord
.
getVehicleUserPhone
());
...
...
@@ -190,10 +202,17 @@ public class VehicleActiveService {
ResCode
.
VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED
.
getCode
());
}
if
(
Mileagerest
!=
null
&&
Mileagerest1
>=
Mileagerest
)
{
VehicleBookRecord
vehicleBookRecord
=
null
;
if
(
arrivalVo
.
getBookRecordId
()
!=
null
)
{
vehicleBookRecord
=
vehicleBookRecordBiz
.
selectById
(
arrivalVo
.
getBookRecordId
());
updateBookRecordStatus
(
vehicleBookRecord
,
2
);
}
// 写入车辆公里数,还车分公司id
vehicle
.
setMileageLastUpdate
(
Mileagerest1
);
vehicle
.
setParkBranchCompanyId
(
arrivalVo
.
getArrivalBranchCompanyId
());
if
(
vehicleBookRecord
!=
null
)
{
vehicle
.
setParkBranchCompanyId
(
vehicleBookRecord
.
getRetCompany
());
}
vehicle
.
setExpectDestinationBranchCompanyId
(
0
);
vehicleMapper
.
updateByPrimaryKeySelective
(
vehicle
);
...
...
@@ -205,11 +224,6 @@ public class VehicleActiveService {
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE
.
getCode
());
}
if
(
arrivalVo
.
getBookRecordId
()
!=
null
)
{
VehicleBookRecord
vehicleBookRecord
=
vehicleBookRecordBiz
.
selectById
(
arrivalVo
.
getBookRecordId
());
updateBookRecordStatus
(
vehicleBookRecord
,
2
);
}
// 出车记录
VehicleDepartureLog
departureLog
=
vehicleDepartureLogMapper
.
selectLastByVehicleId
(
arrivalVo
.
getVehicleId
());
...
...
@@ -228,6 +242,9 @@ public class VehicleActiveService {
departureLog
.
setIllegalAmount
(
arrivalVo
.
getIllegalAmount
());
departureLog
.
setArrivalPic
(
arrivalVo
.
getArrivalPic
());
departureLog
.
setArrivalRemark
(
arrivalVo
.
getRemark
());
if
(
vehicleBookRecord
!=
null
)
{
departureLog
.
setArrivalBranchCompanyId
(
vehicleBookRecord
.
getRetCompany
());
}
vehicleDepartureLogMapper
.
updateByPrimaryKeySelective
(
departureLog
);
// 车辆活动日志
VehicleActiveLog
activeLog
=
vehicleActiveLogMapper
.
selectLastByVehicleId
(
arrivalVo
.
getVehicleId
());
...
...
@@ -239,12 +256,48 @@ public class VehicleActiveService {
activeLog
.
setUpdateTime
(
new
Date
());
vehicleActiveLogMapper
.
updateByPrimaryKeySelective
(
activeLog
);
//取消预定时间 bookInfo和bookRecord
// BookVehicleVO bookVehicleVo = new BookVehicleVO();
// BeanUtils.copyProperties(vehicleBookRecord, bookVehicleVo);
// bookVehicleVo.setNotCheckTimeLegal(Boolean.TRUE);
// bookVehicleVo.setBookStartDate(null);
// bookVehicleVo.setBookEndDate(null);
// bookVehicleVo.setUnbookStartDate(new DateTime(vehicleBookRecord.getBookStartDate()).toString(DATE_TIME_FORMATTER));
// bookVehicleVo.setUnbookEndDate(new DateTime(vehicleBookRecord.getBookEndDate()).toString(DATE_TIME_FORMATTER));
// try {
// Boolean hasSuc = vehicleBiz.unbookVehicle(bookVehicleVo);
// if(!hasSuc){
// throw new BaseException(ResCode.VEHICLE_UNBOOK_FAIL.getDesc(), ResCode.VEHICLE_UNBOOK_FAIL.getCode());
// }
// } catch ( Exception e) {
// e.printStackTrace();
// }
}
else
{
throw
new
BaseException
(
ResCode
.
VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED
.
getDesc
(),
ResCode
.
VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED
.
getCode
());
}
}
//添加出车时间过滤 再出车开始时间前一天至结束时间内可以出车,并且预定记录为已审核状态
public
void
checkDateInvalide
(
VehicleDepartureVo
arrivalVo
)
{
if
(
arrivalVo
.
getBookRecordId
()
!=
null
)
{
VehicleBookRecord
vehicleBookRecord
=
vehicleBookRecordBiz
.
selectById
(
arrivalVo
.
getBookRecordId
());
if
(
vehicleBookRecord
!=
null
)
{
DateTime
startDate
=
new
DateTime
(
vehicleBookRecord
.
getBookStartDate
());
DateTime
endDate
=
new
DateTime
(
vehicleBookRecord
.
getBookEndDate
());
Map
<
String
,
Object
>
param
=
new
HashMap
<>();
param
.
put
(
"vehicleId"
,
vehicleBookRecord
.
getVehicleId
());
param
.
put
(
"bookedEndDate"
,
vehicleBookRecord
.
getBookStartDate
());
List
<
VehicleBookRecord
>
list
=
vehicleBookRecordBiz
.
selectByVehicleIdAndTime
(
param
);
if
(!(
startDate
.
minusDays
(
1
).
compareTo
(
DateTime
.
now
())
<=
0
&&
DateTime
.
now
().
compareTo
(
endDate
)
<=
0
&&
vehicleBookRecord
.
getStatus
()
==
VehicleBookRecordStatus
.
APPROVE
.
getCode
()
&&
(
list
==
null
||
list
.
size
()
<=
0
)))
{
throw
new
BaseException
(
ResCode
.
VEHICLE_DEPARTURE_DATE_IS_NOT_ABLED
.
getDesc
(),
ResCode
.
VEHICLE_DEPARTURE_DATE_IS_NOT_ABLED
.
getCode
());
}
}
}
}
public
void
updateBookRecordStatus
(
VehicleBookRecord
vehicleBookRecord
,
Integer
type
)
{
if
(
vehicleBookRecord
!=
null
)
{
...
...
@@ -357,4 +410,12 @@ public class VehicleActiveService {
}
public
static
void
main
(
String
[]
args
)
{
DateTime
startDate
=
DateTime
.
parse
(
"2019-08-21 17:00:00"
,
DATE_TIME_FORMATTER
);
DateTime
endDate
=
DateTime
.
parse
(
"2019-08-21 21:00:00"
,
DATE_TIME_FORMATTER
);
System
.
out
.
println
();
System
.
out
.
println
(!(
DateTime
.
now
().
compareTo
(
endDate
)
<=
0
)
&&
(
startDate
.
minusDays
(
1
).
compareTo
(
DateTime
.
now
())
<=
0
));
}
}
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleBiz.java
View file @
3bd2fc56
...
...
@@ -412,7 +412,18 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
public
VehicleBookRecord
applyVehicle
(
Integer
userId
,
BookVehicleVO
bookVehicleVo
,
String
userName
)
throws
Exception
{
log
.
info
(
"预定车辆参数:userId = {}, bookVehicleVo = {},username = {}"
,
userId
,
bookVehicleVo
,
userName
);
//检查车辆信息是否合法
checkIfVehicleExists
(
bookVehicleVo
.
getVehicleId
());
Vehicle
vehicle
=
mapper
.
selectByPrimaryKey
(
bookVehicleVo
.
getVehicleId
());
if
(
vehicle
==
null
)
{
throw
new
BaseException
(
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNEXIST
.
getDesc
(),
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNEXIST
.
getCode
());
}
if
(
vehicle
.
getStatus
().
equals
(
VehicleStatus
.
DISCARD
.
getCode
()))
{
throw
new
BaseException
(
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_DISABLE
.
getDesc
()
+
", 车辆状态是:"
+
getVehicleStatus
(
vehicle
.
getStatus
(),
vehicle
.
getId
()),
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_DISABLE
.
getCode
());
}
if
(
vehicle
.
getIsDel
()
==
1
)
{
throw
new
BaseException
(
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_DELETE
.
getDesc
(),
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_DELETE
.
getCode
());
}
if
(
StringUtils
.
isBlank
(
bookVehicleVo
.
getBookStartDate
())
||
StringUtils
.
isBlank
(
bookVehicleVo
.
getBookEndDate
()))
{
throw
new
BaseException
(
ResultCode
.
DATE_TIME_IS_NULL
);
}
...
...
@@ -443,6 +454,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
vehicleBookRecord
.
setStatus
(
bookVehicleVo
.
getStatus
());
vehicleBookRecord
.
setBookUser
(
userId
);
vehicleBookRecord
.
setBookUserName
(
userName
);
vehicleBookRecord
.
setLiftCompany
(
vehicle
.
getParkBranchCompanyId
());
vehicleBookRecordBiz
.
save
(
vehicleBookRecord
);
}
else
{
vehicleBookRecord
=
vehicleBookRecordBiz
.
selectById
(
bookVehicleVo
.
getVehicleBookRecordId
());
...
...
@@ -513,7 +525,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
vehicleBookHourInfoDto
.
setVehicleId
(
vehicleId
);
List
<
VehicleBookHourInfo
>
vehicleBookHourInfos
=
vehicleBookHourInfoBiz
.
selectByVehicleAndDate
(
vehicleBookHourInfoDto
);
if
(
vehicleBookHourInfos
!=
null
&&
vehicleBookHourInfos
.
size
()
>
0
)
{
if
((
vehicleBookHourInfos
.
get
(
0
).
getBookedHour
()
&
entry
.
getValue
())
==
entry
.
getValue
()
)
{
// 已经被预定
if
((
vehicleBookHourInfos
.
get
(
0
).
getBookedHour
()
&
entry
.
getValue
())
!=
0
)
{
// 已经被预定
log
.
info
(
entry
.
getKey
()
+
"预定的时间段已经被预约!"
);
return
Boolean
.
FALSE
;
}
...
...
@@ -744,15 +756,47 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
* @param id
*/
public
boolean
checkIfVehicleExists
(
String
id
){
Integer
count
=
mapper
.
selectCount
(
new
Vehicle
(){{
setId
(
id
);
}});
if
(
count
<=
0
){
Vehicle
vehicle
=
mapper
.
selectByPrimaryKey
(
id
);
if
(
vehicle
==
null
)
{
return
false
;
}
if
(
vehicle
.
getStatus
().
equals
(
VehicleStatus
.
DISCARD
.
getCode
()))
{
throw
new
BaseException
(
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_DISABLE
.
getDesc
()
+
", 车辆状态是:"
+
getVehicleStatus
(
vehicle
.
getStatus
(),
vehicle
.
getId
()),
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_DISABLE
.
getCode
());
}
return
true
;
}
public
String
getVehicleStatus
(
Integer
status
,
String
vehicleId
)
{
StringBuilder
stringBuilder
=
new
StringBuilder
();
switch
(
status
)
{
case
1
:
stringBuilder
.
append
(
"正常运行"
);
break
;
case
2
:
stringBuilder
.
append
(
"维修"
);
break
;
case
3
:
stringBuilder
.
append
(
"报废"
);
break
;
case
4
:
stringBuilder
.
append
(
"出车"
);
break
;
case
5
:
stringBuilder
.
append
(
"保养"
);
break
;
}
// List<VehicleBookRecordVo> vehicleBookRecordVos = vehicleBookRecordBiz.selectByVehicleId(vehicleId);
// if(vehicleBookRecordVos != null && vehicleBookRecordVos.size() > 0) {
// stringBuilder.append("中,使用人:");
// stringBuilder.append(vehicleBookRecordVos.get(0).getVehicleUsername());
// stringBuilder.append(" 使用人电话:");
// stringBuilder.append(vehicleBookRecordVos.get(0).getVehicleUserPhone());
// }
return
stringBuilder
.
toString
();
}
/**
* 把日期范围转换为列表,并检查操作范围是否合法
* @param yearMonthAndDate
...
...
@@ -859,25 +903,23 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
vehicleBookHourInfoDto
.
setVehicleId
(
vehicleId
);
List
<
VehicleBookHourInfo
>
vehicleBookHourInfos
=
vehicleBookHourInfoBiz
.
selectByVehicleAndDate
(
vehicleBookHourInfoDto
);
if
(
vehicleBookHourInfos
!=
null
&&
vehicleBookHourInfos
.
size
()
>
0
)
{
if
((
vehicleBookHourInfos
.
get
(
0
).
getBookedHour
()
|
0
)
==
0
)
{
if
(!
flag
)
{
Integer
effected
=
vehicleBookInfoMapper
.
updateBookedInfo
(
params
);
if
(
effected
<
1
)
{
return
Boolean
.
FALSE
;
}
else
{
vehicleBookHourInfos
.
get
(
0
).
setBookedHour
((
vehicleBookHourInfos
.
get
(
0
).
getBookedHour
()
&
~
entry
.
getValue
()));
if
((
vehicleBookHourInfos
.
get
(
0
).
getBookedHour
()
&
~
entry
.
getValue
())
==
0
)
{
if
(!
flag
)
{
//解决重复执行的问题
Integer
effected
=
vehicleBookInfoMapper
.
updateBookedInfo
(
params
);
if
(
effected
<
1
)
{
return
Boolean
.
FALSE
;
}
flag
=
true
;
continue
;
}
}
}
else
{
vehicleBookHourInfos
.
get
(
0
).
setBookedHour
((
vehicleBookHourInfos
.
get
(
0
).
getBookedHour
()
&
~
entry
.
getValue
()));
int
effect
=
vehicleBookHourInfoBiz
.
updateByIdRe
(
vehicleBookHourInfos
.
get
(
0
));
if
(
effect
<
1
)
{
if
(
effect
<
0
)
{
return
Boolean
.
FALSE
;
}
else
{
continue
;
}
}
}
else
{
return
Boolean
.
FALSE
;
}
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleBookHourInfoBiz.java
View file @
3bd2fc56
...
...
@@ -71,7 +71,7 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V
}
}
if
(
DateTime
.
parse
(
bookStartDate
,
DEFAULT_DATE_TIME_FORMATTER
).
toString
(
DATE_TIME_FORMATTER
).
equals
(
DateTime
.
parse
(
bookEndDate
,
DEFAULT_DATE_TIME_FORMATTER
).
toString
(
DATE_TIME_FORMATTER
)))
{
//同一天预定
predictableHours
.
put
(
DateTime
.
parse
(
bookStartDate
,
DEFAULT_DATE_TIME_FORMATTER
).
toString
(
DATE_TIME_FORMATTER
),
startPredictableHour
&
endPredictableHour
);
predictableHours
.
put
(
DateTime
.
parse
(
bookStartDate
,
DEFAULT_DATE_TIME_FORMATTER
).
toString
(
DATE_TIME_FORMATTER
),
startPredictableHour
|
endPredictableHour
);
}
else
{
predictableHours
.
put
(
DateTime
.
parse
(
bookStartDate
,
DEFAULT_DATE_TIME_FORMATTER
).
toString
(
DATE_TIME_FORMATTER
),
startPredictableHour
);
predictableHours
.
put
(
DateTime
.
parse
(
bookEndDate
,
DEFAULT_DATE_TIME_FORMATTER
).
toString
(
DATE_TIME_FORMATTER
),
endPredictableHour
);
...
...
@@ -147,8 +147,8 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V
}
public
static
void
main
(
String
[]
args
)
throws
Exception
{
int
b
=
16744448
;
Integer
a
=
b
|
0
;
int
b
=
24
;
Integer
a
=
b
&
4
;
System
.
out
.
println
(
a
);
}
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleBookRecordBiz.java
View file @
3bd2fc56
...
...
@@ -7,20 +7,19 @@ import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import
com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.util.Query
;
import
com.github.wxiaoqi.security.common.vo.PageDataVO
;
import
com.google.common.collect.ImmutableMap
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Maps
;
import
com.xxfc.platform.universal.utils.DateUtil
;
import
com.xxfc.platform.vehicle.common.RestResponse
;
import
com.xxfc.platform.vehicle.constant.BookType
;
import
com.xxfc.platform.vehicle.constant.RedisKey
;
import
com.xxfc.platform.vehicle.constant.ResCode.ResCode
;
import
com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus
;
import
com.xxfc.platform.vehicle.entity.BookRecordAccItem
;
import
com.xxfc.platform.vehicle.entity.BranchCompany
;
import
com.xxfc.platform.vehicle.entity.VehicleBookRecord
;
import
com.xxfc.platform.vehicle.entity.VehicleUpkeepItem
;
import
com.xxfc.platform.vehicle.entity.*
;
import
com.xxfc.platform.vehicle.mapper.BookRecordAccItemMapper
;
import
com.xxfc.platform.vehicle.mapper.VehicleBookRecordMapper
;
import
com.xxfc.platform.vehicle.pojo.*
;
...
...
@@ -57,6 +56,7 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
public
static
final
String
TB_ACC_ITEM_NAME_REAL
=
"book_record_acc_item"
;
//实际表名
public
static
final
DateTimeFormatter
YEAR_DATE_TIME_FORMATTER
=
DateTimeFormat
.
forPattern
(
"yyyy"
);
public
static
final
DateTimeFormatter
YEARMONTH_DATE_TIME_FORMATTER
=
DateTimeFormat
.
forPattern
(
"yyyy-MM"
);
public
static
final
DateTimeFormatter
DATE_TIME_FORMATTER
=
DateTimeFormat
.
forPattern
(
"yyyy-MM-dd HH:mm:ss"
);
public
static
final
Integer
DEL_BATCH_SIZE
=
1000
;
public
static
final
Integer
COPY_BATCH_SIZE
=
100
;
...
...
@@ -73,6 +73,11 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
@Autowired
VehicleUpkeepService
vehicleUpkeepService
;
@Autowired
VehicleBookHourInfoBiz
vehicleBookHourInfoBiz
;
@Autowired
VehicleDepartureService
vehicleDepartureService
;
@Override
public
UserFeign
getUserFeign
()
{
return
userFeign
;
...
...
@@ -82,6 +87,10 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
insertSelectiveRe
(
vehicleBookRecord
);
}
public
List
<
VehicleBookRecord
>
selectByVehicleIdAndTime
(
Map
<
String
,
Object
>
param
)
{
return
mapper
.
selectByVehicleIdAndTime
(
param
);
}
public
int
changeRecordStatus
(
Map
<
String
,
Object
>
updateParam
)
{
return
mapper
.
changeRecordStatus
(
updateParam
);
}
...
...
@@ -340,6 +349,49 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
return
rs
;
}
/**
* 检验数据库预定记录日期是否和时间,日期表中的二进制数据一致
* @return
*/
public
ObjectRestResponse
checkDateInvalide
(){
List
<
VehicleBookRecord
>
list
=
mapper
.
selectAll
();
List
<
VehicleBookRecord
>
unRightList
=
new
ArrayList
<>();
if
(
list
!=
null
&&
list
.
size
()
>
0
)
{
for
(
VehicleBookRecord
vehicleBookRecord
:
list
)
{
log
.
info
(
"vehicleBookRecord = {}"
,
vehicleBookRecord
);
Map
<
String
,
Integer
>
map
=
vehicleBookHourInfoBiz
.
getPredictableHours
(
DateUtil
.
dateToStr
(
vehicleBookRecord
.
getBookStartDate
(),
"yyyy-MM-dd HH:mm:ss"
),
DateUtil
.
dateToStr
(
vehicleBookRecord
.
getBookStartDate
(),
"yyyy-MM-dd HH:mm:ss"
),
Boolean
.
TRUE
);
log
.
info
(
"转换为时间二进制:map = {}"
,
map
);
//检验数据有效性
if
(
vehicleBookRecord
.
getStatus
()
==
2
)
{
VehicleDepartureLogVo
vehicleDepartureLog
=
vehicleDepartureService
.
getByRecordId
(
vehicleBookRecord
.
getId
());
if
(
vehicleDepartureLog
==
null
||
vehicleDepartureLog
.
getState
()
!=
1
)
{
//未出车或未还车
for
(
Map
.
Entry
<
String
,
Integer
>
entry
:
map
.
entrySet
())
{
VehicleBookHourInfoDto
vehicleBookHourInfoDto
=
new
VehicleBookHourInfoDto
();
vehicleBookHourInfoDto
.
setVehicleId
(
vehicleBookRecord
.
getVehicleId
());
vehicleBookHourInfoDto
.
setYearMonthDay
(
entry
.
getKey
());
List
<
VehicleBookHourInfo
>
vehicleBookHourInfos
=
vehicleBookHourInfoBiz
.
selectByVehicleAndDate
(
vehicleBookHourInfoDto
);
log
.
info
(
"预定时间信息:vehicleBookHourInfos = {}"
,
vehicleBookHourInfos
);
if
(
vehicleBookHourInfos
!=
null
&&
vehicleBookHourInfos
.
size
()
>
0
)
{
//检验数据是否存在
if
((
vehicleBookHourInfos
.
get
(
0
).
getBookedHour
()
&
entry
.
getValue
())
==
entry
.
getValue
())
{
log
.
info
(
"时间正确,已经存在"
);
}
else
{
log
.
info
(
"时间不正确"
);
vehicleBookHourInfos
.
get
(
0
).
setBookedHour
((
vehicleBookHourInfos
.
get
(
0
).
getBookedHour
()
|
entry
.
getValue
()));
log
.
info
(
"更新预定时间数据:vehicleBookHourInfos = {}"
,
vehicleBookHourInfos
);
vehicleBookHourInfoBiz
.
updateSelectiveByIdRe
(
vehicleBookHourInfos
.
get
(
0
));
unRightList
.
add
(
vehicleBookRecord
);
}
}
}
}
}
}
}
return
ObjectRestResponse
.
succ
(
unRightList
);
}
/**
* 迁移数据到历史表
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleDepartureService.java
View file @
3bd2fc56
...
...
@@ -50,6 +50,10 @@ public class VehicleDepartureService extends BaseBiz<VehicleDepartureLogMapper,
return
new
PageInfo
<>(
mapper
.
selectByVehicleId
(
vehicleId
));
}
public
VehicleDepartureLogVo
getByRecordId
(
Long
vehicleBookRecordId
)
{
return
mapper
.
selectByBookRecordId
(
vehicleBookRecordId
);
}
public
VehicleDepartureStatisticDataVo
statistic
(
String
numberPlate
)
{
Vehicle
vehicle
=
vehicleMapper
.
selectByNumberPlate
(
numberPlate
);
if
(
vehicle
==
null
)
{
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/mapper/VehicleBookRecordMapper.java
View file @
3bd2fc56
...
...
@@ -35,4 +35,6 @@ public interface VehicleBookRecordMapper extends Mapper<VehicleBookRecord> {
public
List
<
VehicleBookRecordVo
>
getBookRecord
(
VehicleBookRecordQueryVo
vehicleBookRecordQueryVo
);
public
List
<
VehicleBookRecordVo
>
getBookRecordInfo
(
Map
<
String
,
Object
>
param
);
public
List
<
VehicleBookRecord
>
selectByVehicleIdAndTime
(
Map
<
String
,
Object
>
param
);
}
\ No newline at end of file
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/mapper/VehicleDepartureLogMapper.java
View file @
3bd2fc56
...
...
@@ -22,5 +22,5 @@ public interface VehicleDepartureLogMapper extends BaseMapper<VehicleDepartureLo
String
selectDayByVehicleId
(
String
vehicleId
);
VehicleDepartureLogVo
selectByBookRecordId
(
Integer
bookRecordId
);
VehicleDepartureLogVo
selectByBookRecordId
(
Long
bookRecordId
);
}
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/rest/VehicleController.java
View file @
3bd2fc56
...
...
@@ -209,6 +209,7 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use
Integer
operatorId
=
Integer
.
parseInt
(
BaseContextHandler
.
getUserID
());
String
userName
=
BaseContextHandler
.
getName
();
bookVehicleVo
.
setStatus
(
VehicleBookRecordStatus
.
APPROVE
.
getCode
());
bookVehicleVo
.
setNotCheckTimeLegal
(
Boolean
.
TRUE
);
baseBiz
.
applyVehicle
(
operatorId
,
bookVehicleVo
,
userName
);
return
RestResponse
.
suc
();
}
...
...
@@ -225,6 +226,7 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use
Integer
operatorId
=
Integer
.
parseInt
(
BaseContextHandler
.
getUserID
());
String
userName
=
BaseContextHandler
.
getName
();
bookVehicleVo
.
setStatus
(
VehicleBookRecordStatus
.
APPLY
.
getCode
());
bookVehicleVo
.
setNotCheckTimeLegal
(
Boolean
.
FALSE
);
baseBiz
.
applyVehicle
(
operatorId
,
bookVehicleVo
,
userName
);
return
RestResponse
.
suc
();
}
...
...
@@ -497,4 +499,11 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use
vehicleJobHandler
.
execute
(
month
);
return
RestResponse
.
suc
();
}
@GetMapping
(
"/app/unauth/checkHourInfo"
)
@IgnoreClientToken
@IgnoreUserToken
public
ObjectRestResponse
checkHourInfo
()
{
return
vehicleBookRecordBiz
.
checkDateInvalide
();
}
}
xx-vehicle/xx-vehicle-server/src/main/resources/mapper/VehicleBookRecordMapper.xml
View file @
3bd2fc56
...
...
@@ -325,6 +325,11 @@
order by vbr.id desc
</select>
<select
id=
"selectByVehicleIdAndTime"
parameterType=
"java.util.Map"
resultType=
"com.xxfc.platform.vehicle.entity.VehicleBookRecord"
>
select v1.* from vehicle_book_record v1
where v1.vehicle_id = #{vehicleId} and v1.book_end_date
<
= #{bookedEndDate} and v1.status BETWEEN 1 and 2
</select>
<select
id=
"getById"
parameterType=
"java.util.Map"
resultType=
"com.xxfc.platform.vehicle.entity.VehicleBookRecord"
>
select
vbr.`id`,
...
...
@@ -400,7 +405,7 @@
parameterType=
"com.xxfc.platform.vehicle.pojo.VehicleBookRecordQueryVo"
>
select bc3.name parkCompanyName,bc4.name subordinateBranchName, conv(v4.booked_hour,10,2)
startHour,conv(v5.booked_hour,10,2) endHour, bc1.`name` lift_company_name, bc2.`name` ret_company_name,
v3.number_plate,v1.*
v3.number_plate,v1.*
,v3.code
from vehicle_book_record v1
LEFT JOIN vehicle_book_hour_info v4 on v4.book_record_id = v1.id and YEAR(v4.year_month_day) =
YEAR(v1.book_start_date) AND MONTH(v4.year_month_day) = MONTH(v1.book_start_date) AND DAY(v4.year_month_day)
...
...
@@ -421,6 +426,9 @@
<if
test=
"numberPlate != null"
>
and v3.number_plate = #{numberPlate}
</if>
<if
test=
"code != null"
>
and v3.code = #{code}
</if>
<if
test=
"bookType != null"
>
and v1.book_type = #{bookType}
</if>
...
...
@@ -444,7 +452,7 @@
<select
id=
"getBookRecordInfo"
resultMap=
"searchBookRecord"
parameterType=
"java.util.Map"
>
select (CASE v1.lift_company WHEN #{userCompany} THEN 1 ELSE 0 end) liftStatus,(CASE v1.ret_company WHEN
#{userCompany} THEN 1 ELSE 0 end) retStatus,bc4.name subordinateBranchName, bc1.`name` lift_company_name,
bc2.`name` ret_company_name, v3.number_plate,v1.*
bc2.`name` ret_company_name, v3.number_plate,v1.*
,v3.code
from vehicle_book_record v1
LEFT JOIN branch_company bc1 ON v1.lift_company = bc1.id
LEFT JOIN branch_company bc2 on v1.ret_company = bc2.id
...
...
@@ -482,6 +490,9 @@
<if
test=
"status != null and status == -1 "
>
and v4.state = 1
</if>
<if
test=
"code != null"
>
and v3.code = #{code}
</if>
and v1.book_user != -2
</where>
group by v1.id
...
...
xx-vehicle/xx-vehicle-server/src/main/resources/mapper/VehicleDepartureLogMapper.xml
View file @
3bd2fc56
...
...
@@ -17,7 +17,7 @@
order by create_time desc
</select>
<select
id=
"selectByBookRecordId"
parameterType=
"java.lang.
Integer
"
resultType=
"com.xxfc.platform.vehicle.pojo.VehicleDepartureLogVo"
>
<select
id=
"selectByBookRecordId"
parameterType=
"java.lang.
Long
"
resultType=
"com.xxfc.platform.vehicle.pojo.VehicleDepartureLogVo"
>
select vehicle_departure_log.*
from vehicle_departure_log
where vehicle_departure_log.book_record_id = #{id}
...
...
xx-vehicle/xx-vehicle-server/src/main/resources/mapper/VehicleMapper.xml
View file @
3bd2fc56
...
...
@@ -344,7 +344,7 @@
</select>
<select
id=
"selectByNumberPlate"
resultType=
"com.xxfc.platform.vehicle.entity.Vehicle"
>
select * from vehicle
where number_plate = #{numberPlate}
where number_plate = #{numberPlate}
and is_del=0
</select>
<select
id=
"selectById"
resultMap=
"searchModel"
>
...
...
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