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
1b695f4b
Commit
1b695f4b
authored
Apr 12, 2019
by
164003836@qq.con
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加车辆管理项目
parent
a1e289a4
Changes
29
Hide whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
713 additions
and
99 deletions
+713
-99
pom.xml
vehicle/pom.xml
+13
-0
VehicleApplication.java
...com/xinxincaravan/caravan/vehicle/VehicleApplication.java
+6
-3
BranchCompanyBiz.java
...m/xinxincaravan/caravan/vehicle/biz/BranchCompanyBiz.java
+30
-0
ConstantBiz.java
...va/com/xinxincaravan/caravan/vehicle/biz/ConstantBiz.java
+5
-6
SysRegionBiz.java
...a/com/xinxincaravan/caravan/vehicle/biz/SysRegionBiz.java
+36
-12
VehicleBiz.java
...ava/com/xinxincaravan/caravan/vehicle/biz/VehicleBiz.java
+33
-14
VehicleBookInfoBiz.java
...xinxincaravan/caravan/vehicle/biz/VehicleBookInfoBiz.java
+3
-3
VehicleBookRecordBiz.java
...nxincaravan/caravan/vehicle/biz/VehicleBookRecordBiz.java
+55
-3
RedisConfiguration.java
...xincaravan/caravan/vehicle/config/RedisConfiguration.java
+1
-1
WebConfiguration.java
...inxincaravan/caravan/vehicle/config/WebConfiguration.java
+31
-22
RedisKey.java
.../com/xinxincaravan/caravan/vehicle/constant/RedisKey.java
+13
-1
BranchCompany.java
...m/xinxincaravan/caravan/vehicle/entity/BranchCompany.java
+3
-0
VehicleBookRecord.java
...nxincaravan/caravan/vehicle/entity/VehicleBookRecord.java
+26
-2
CorsInterceptor.java
...ncaravan/caravan/vehicle/interceptor/CorsInterceptor.java
+32
-0
SysRegionMapper.java
...xinxincaravan/caravan/vehicle/mapper/SysRegionMapper.java
+3
-3
VehicleBookInfoMapper.java
...caravan/caravan/vehicle/mapper/VehicleBookInfoMapper.java
+7
-0
VehicleBookRecordMapper.java
...ravan/caravan/vehicle/mapper/VehicleBookRecordMapper.java
+3
-0
VehicleMapper.java
...m/xinxincaravan/caravan/vehicle/mapper/VehicleMapper.java
+2
-1
BranchCompanyController.java
...caravan/caravan/vehicle/rest/BranchCompanyController.java
+9
-0
SysRegionController.java
...nxincaravan/caravan/vehicle/rest/SysRegionController.java
+15
-0
VehicleController.java
...xinxincaravan/caravan/vehicle/rest/VehicleController.java
+37
-20
QueryVehicleBookRecordVo.java
...ncaravan/caravan/vehicle/vo/QueryVehicleBookRecordVo.java
+141
-0
QueryVehicleVo.java
.../com/xinxincaravan/caravan/vehicle/vo/QueryVehicleVo.java
+59
-0
VehicleBookRecordQueryVo.java
...ncaravan/caravan/vehicle/vo/VehicleBookRecordQueryVo.java
+39
-0
VehiclePageQueryVo.java
.../xinxincaravan/caravan/vehicle/vo/VehiclePageQueryVo.java
+2
-2
SysRegionMapper.xml
vehicle/src/main/resources/mapper/SysRegionMapper.xml
+6
-0
VehicleBookInfoMapper.xml
vehicle/src/main/resources/mapper/VehicleBookInfoMapper.xml
+9
-0
VehicleBookRecordMapper.xml
...cle/src/main/resources/mapper/VehicleBookRecordMapper.xml
+87
-3
VehicleMapper.xml
vehicle/src/main/resources/mapper/VehicleMapper.xml
+7
-3
No files found.
vehicle/pom.xml
View file @
1b695f4b
...
@@ -131,6 +131,19 @@
...
@@ -131,6 +131,19 @@
<version>
1.1.10
</version>
<version>
1.1.10
</version>
</dependency>
</dependency>
<!-- 引用缓存开源项目 -->
<dependency>
<groupId>
com.github.wxiaoqi
</groupId>
<artifactId>
ace-cache
</artifactId>
<version>
0.0.2
</version>
</dependency>
<dependency>
<groupId>
log4j
</groupId>
<artifactId>
log4j
</artifactId>
<version>
1.2.17
</version>
</dependency>
<dependency>
<dependency>
<groupId>
org.projectlombok
</groupId>
<groupId>
org.projectlombok
</groupId>
...
...
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/VehicleApplication.java
View file @
1b695f4b
package
com
.
xinxincaravan
.
caravan
.
vehicle
;
package
com
.
xinxincaravan
.
caravan
.
vehicle
;
import
com.ace.cache.EnableAceCache
;
import
com.github.wxiaoqi.security.auth.client.EnableAceAuthClient
;
import
com.github.wxiaoqi.security.auth.client.EnableAceAuthClient
;
import
org.mybatis.spring.annotation.MapperScan
;
import
org.mybatis.spring.annotation.MapperScan
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.cache.annotation.EnableCaching
;
import
org.springframework.cloud.client.discovery.EnableDiscoveryClient
;
import
org.springframework.cloud.client.discovery.EnableDiscoveryClient
;
import
org.springframework.cloud.openfeign.EnableFeignClients
;
import
org.springframework.cloud.openfeign.EnableFeignClients
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
@SpringBootApplication
@SpringBootApplication
@EnableDiscoveryClient
@EnableDiscoveryClient
//@EnableScheduling
@EnableScheduling
//@EnableAceAuthClient
@EnableAceAuthClient
//@EnableFeignClients({"com.github.wxiaoqi.security.auth.client.feign"})
@EnableFeignClients
({
"com.github.wxiaoqi.security.auth.client.feign"
})
@EnableAceCache
@MapperScan
(
"com.xinxincaravan.caravan.vehicle.mapper"
)
@MapperScan
(
"com.xinxincaravan.caravan.vehicle.mapper"
)
public
class
VehicleApplication
{
public
class
VehicleApplication
{
...
...
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/biz/BranchCompanyBiz.java
View file @
1b695f4b
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
biz
;
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
biz
;
import
com.ace.cache.annotation.Cache
;
import
com.ace.cache.annotation.CacheClear
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
com.xinxincaravan.caravan.vehicle.constant.RedisKey
;
import
com.xinxincaravan.caravan.vehicle.entity.BranchCompany
;
import
com.xinxincaravan.caravan.vehicle.entity.BranchCompany
;
import
com.xinxincaravan.caravan.vehicle.mapper.BranchCompanyMapper
;
import
com.xinxincaravan.caravan.vehicle.mapper.BranchCompanyMapper
;
import
com.xinxincaravan.caravan.vehicle.vo.BranchCompanyVo
;
import
com.xinxincaravan.caravan.vehicle.vo.BranchCompanyVo
;
import
com.xinxincaravan.caravan.vehicle.vo.PageDataVo
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
tk.mybatis.mapper.entity.Example
;
import
java.util.List
;
import
java.util.List
;
...
@@ -48,6 +55,26 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
...
@@ -48,6 +55,26 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
return
branchCompanyVoList
;
return
branchCompanyVoList
;
}
}
public
PageDataVo
<
BranchCompany
>
getAll
(
Integer
page
,
Integer
limit
,
Integer
addrProvince
,
Integer
addrCity
,
Integer
addrTown
){
Example
example
=
new
Example
(
BranchCompany
.
class
);
Example
.
Criteria
criteria
=
example
.
createCriteria
();
if
(
addrProvince
!=
null
)
{
criteria
.
andCondition
(
" addr_province = '"
+
addrProvince
+
"'"
);
}
if
(
addrCity
!=
null
)
{
criteria
.
andCondition
(
" addr_city = '"
+
addrCity
+
"'"
);
}
if
(
addrTown
!=
null
)
{
criteria
.
andCondition
(
" addr_town = '"
+
addrTown
+
"'"
);
}
example
.
setOrderByClause
(
"`id` asc"
);
PageHelper
.
startPage
(
page
,
limit
);
PageInfo
<
BranchCompany
>
branchCompanyPageInfo
=
new
PageInfo
<>(
mapper
.
selectByExample
(
example
));
return
PageDataVo
.
pageInfo
(
branchCompanyPageInfo
);
}
@Cache
(
key
=
RedisKey
.
BRANCH_COMPANY_CACHE_ALL
)
public
List
<
BranchCompany
>
getAll
(){
public
List
<
BranchCompany
>
getAll
(){
return
mapper
.
selectAll
();
return
mapper
.
selectAll
();
}
}
...
@@ -57,6 +84,7 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
...
@@ -57,6 +84,7 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
* @param branchCompanyVo
* @param branchCompanyVo
* @return
* @return
*/
*/
@CacheClear
(
key
=
RedisKey
.
BRANCH_COMPANY_CACHE_ALL
)
public
Integer
add
(
BranchCompanyVo
branchCompanyVo
){
public
Integer
add
(
BranchCompanyVo
branchCompanyVo
){
BranchCompany
branchCompany
=
new
BranchCompany
();
BranchCompany
branchCompany
=
new
BranchCompany
();
BeanUtils
.
copyProperties
(
branchCompanyVo
,
branchCompany
);
BeanUtils
.
copyProperties
(
branchCompanyVo
,
branchCompany
);
...
@@ -64,6 +92,7 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
...
@@ -64,6 +92,7 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
return
branchCompany
.
getId
();
return
branchCompany
.
getId
();
}
}
@CacheClear
(
key
=
RedisKey
.
BRANCH_COMPANY_CACHE_ALL
)
public
void
del
(
Integer
id
){
public
void
del
(
Integer
id
){
mapper
.
deleteByPrimaryKey
(
id
);
mapper
.
deleteByPrimaryKey
(
id
);
}
}
...
@@ -73,6 +102,7 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
...
@@ -73,6 +102,7 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
* @param branchCompany
* @param branchCompany
* @return
* @return
*/
*/
@CacheClear
(
key
=
RedisKey
.
BRANCH_COMPANY_CACHE_ALL
)
public
Integer
update
(
BranchCompany
branchCompany
){
public
Integer
update
(
BranchCompany
branchCompany
){
return
mapper
.
updateByPrimaryKeySelective
(
branchCompany
);
return
mapper
.
updateByPrimaryKeySelective
(
branchCompany
);
}
}
...
...
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/biz/ConstantBiz.java
View file @
1b695f4b
...
@@ -19,7 +19,6 @@ import org.joda.time.DateTime;
...
@@ -19,7 +19,6 @@ import org.joda.time.DateTime;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.core.task.TaskExecutor
;
import
org.springframework.core.task.TaskExecutor
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
...
@@ -34,7 +33,7 @@ import java.util.concurrent.TimeUnit;
...
@@ -34,7 +33,7 @@ import java.util.concurrent.TimeUnit;
public
class
ConstantBiz
extends
BaseBiz
<
ConstantMapper
,
Constant
>
{
public
class
ConstantBiz
extends
BaseBiz
<
ConstantMapper
,
Constant
>
{
@Autowired
@Autowired
private
RedisTemplate
r
edisTemplate
;
private
RedisTemplate
customR
edisTemplate
;
@Autowired
@Autowired
private
TaskExecutor
customTaskExecutor
;
private
TaskExecutor
customTaskExecutor
;
/**
/**
...
@@ -70,7 +69,7 @@ public class ConstantBiz extends BaseBiz<ConstantMapper,Constant> {
...
@@ -70,7 +69,7 @@ public class ConstantBiz extends BaseBiz<ConstantMapper,Constant> {
* @return
* @return
*/
*/
public
List
<
ConstantVo
>
getAllConstantByType
(
Integer
type
)
{
public
List
<
ConstantVo
>
getAllConstantByType
(
Integer
type
)
{
String
cacheConstantsJsonStr
=
String
.
valueOf
(
r
edisTemplate
.
opsForValue
().
get
(
getConstantRedisKey
(
type
)));
String
cacheConstantsJsonStr
=
String
.
valueOf
(
customR
edisTemplate
.
opsForValue
().
get
(
getConstantRedisKey
(
type
)));
Map
<
String
,
Object
>
constantMap
=
new
HashMap
<>();
Map
<
String
,
Object
>
constantMap
=
new
HashMap
<>();
if
(
StringUtils
.
isNotBlank
(
cacheConstantsJsonStr
)){
if
(
StringUtils
.
isNotBlank
(
cacheConstantsJsonStr
)){
constantMap
=
JSON
.
parseObject
(
cacheConstantsJsonStr
);
constantMap
=
JSON
.
parseObject
(
cacheConstantsJsonStr
);
...
@@ -131,18 +130,18 @@ public class ConstantBiz extends BaseBiz<ConstantMapper,Constant> {
...
@@ -131,18 +130,18 @@ public class ConstantBiz extends BaseBiz<ConstantMapper,Constant> {
log
.
info
(
"刷新类型【"
+
type
+
"】常量数据任务开始"
);
log
.
info
(
"刷新类型【"
+
type
+
"】常量数据任务开始"
);
//redis方式实现乐观锁
//redis方式实现乐观锁
String
redisLockKey
=
RedisKey
.
CONSTANT_REFRESH_LOCK_PREFIX
+
type
+
":"
+(
DateTime
.
now
().
getMinuteOfDay
()/
5
);
//同一日每5分钟只刷新一次
String
redisLockKey
=
RedisKey
.
CONSTANT_REFRESH_LOCK_PREFIX
+
type
+
":"
+(
DateTime
.
now
().
getMinuteOfDay
()/
5
);
//同一日每5分钟只刷新一次
Boolean
suc
=
r
edisTemplate
.
opsForValue
().
setIfAbsent
(
redisLockKey
,
String
.
valueOf
(
DateTime
.
now
().
getMillis
()));
Boolean
suc
=
customR
edisTemplate
.
opsForValue
().
setIfAbsent
(
redisLockKey
,
String
.
valueOf
(
DateTime
.
now
().
getMillis
()));
if
(!
suc
){
if
(!
suc
){
continue
;
continue
;
}
}
r
edisTemplate
.
expire
(
redisLockKey
,
5
,
TimeUnit
.
MINUTES
);
//5分钟内过期
customR
edisTemplate
.
expire
(
redisLockKey
,
5
,
TimeUnit
.
MINUTES
);
//5分钟内过期
List
<
ConstantVo
>
constantVoList
=
getAllConstantByTypeNoCache
(
type
);
List
<
ConstantVo
>
constantVoList
=
getAllConstantByTypeNoCache
(
type
);
if
(
CollectionUtils
.
isNotEmpty
(
constantVoList
)){
if
(
CollectionUtils
.
isNotEmpty
(
constantVoList
)){
Map
<
String
,
String
>
constantMap
=
new
HashMap
<>();
Map
<
String
,
String
>
constantMap
=
new
HashMap
<>();
for
(
ConstantVo
constantVo:
constantVoList
){
for
(
ConstantVo
constantVo:
constantVoList
){
constantMap
.
put
(
String
.
valueOf
(
constantVo
.
getCode
()),
constantVo
.
getVal
());
constantMap
.
put
(
String
.
valueOf
(
constantVo
.
getCode
()),
constantVo
.
getVal
());
}
}
r
edisTemplate
.
opsForValue
().
set
(
getConstantRedisKey
(
type
),
JSON
.
toJSONString
(
constantMap
));
customR
edisTemplate
.
opsForValue
().
set
(
getConstantRedisKey
(
type
),
JSON
.
toJSONString
(
constantMap
));
}
}
log
.
info
(
"刷新类型【"
+
type
+
"】常量数据任务完成"
);
log
.
info
(
"刷新类型【"
+
type
+
"】常量数据任务完成"
);
}
}
...
...
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/biz/SysRegionBiz.java
View file @
1b695f4b
...
@@ -7,33 +7,26 @@ import com.google.common.collect.Lists;
...
@@ -7,33 +7,26 @@ import com.google.common.collect.Lists;
import
com.xinxincaravan.caravan.vehicle.common.CustomIllegalParamException
;
import
com.xinxincaravan.caravan.vehicle.common.CustomIllegalParamException
;
import
com.xinxincaravan.caravan.vehicle.constant.RedisKey
;
import
com.xinxincaravan.caravan.vehicle.constant.RedisKey
;
import
com.xinxincaravan.caravan.vehicle.constant.RegionType
;
import
com.xinxincaravan.caravan.vehicle.constant.RegionType
;
import
com.xinxincaravan.caravan.vehicle.entity.Constant
;
import
com.xinxincaravan.caravan.vehicle.entity.SysRegion
;
import
com.xinxincaravan.caravan.vehicle.entity.SysRegion
;
import
com.xinxincaravan.caravan.vehicle.mapper.SysRegionMapper
;
import
com.xinxincaravan.caravan.vehicle.mapper.SysRegionMapper
;
import
com.xinxincaravan.caravan.vehicle.vo.ConstantVo
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.MapUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.joda.time.DateTime
;
import
org.joda.time.DateTime
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.core.task.TaskExecutor
;
import
org.springframework.core.task.TaskExecutor
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.TimeUnit
;
@Service
@Service
@Slf4j
@Slf4j
public
class
SysRegionBiz
extends
BaseBiz
<
SysRegionMapper
,
SysRegion
>
{
public
class
SysRegionBiz
extends
BaseBiz
<
SysRegionMapper
,
SysRegion
>
{
@Autowired
@Autowired
private
RedisTemplate
r
edisTemplate
;
//todo redis需要改为多实例
private
RedisTemplate
customR
edisTemplate
;
//todo redis需要改为多实例
@Autowired
@Autowired
private
TaskExecutor
customTaskExecutor
;
private
TaskExecutor
customTaskExecutor
;
...
@@ -42,6 +35,35 @@ public class SysRegionBiz extends BaseBiz<SysRegionMapper, SysRegion> {
...
@@ -42,6 +35,35 @@ public class SysRegionBiz extends BaseBiz<SysRegionMapper, SysRegion> {
*/
*/
private
static
final
Long
PARENT_ID_NONE
=
0
l
;
private
static
final
Long
PARENT_ID_NONE
=
0
l
;
public
List
<
SysRegion
>
getRegionsByCodes
(
List
<
Long
>
ids
){
List
<
String
>
redisCacheKeys
=
Lists
.
newArrayList
();
if
(
CollectionUtils
.
isEmpty
(
ids
)){
throw
new
CustomIllegalParamException
(
"empty id list"
);
}
for
(
Long
id:
ids
){
redisCacheKeys
.
add
(
RedisKey
.
SYS_REGION_CACHE_PREFIX
+
id
);
}
List
<
String
>
cachedRegionStrList
=
customRedisTemplate
.
opsForValue
().
multiGet
(
redisCacheKeys
);
List
<
SysRegion
>
rs
=
Lists
.
newArrayList
();
Boolean
hasCache
=
Boolean
.
TRUE
;
for
(
String
cachedRegionStr:
cachedRegionStrList
){
if
(
StringUtils
.
isBlank
(
cachedRegionStr
)){
hasCache
=
Boolean
.
FALSE
;
continue
;
}
else
{
rs
.
add
(
JSONObject
.
parseObject
(
cachedRegionStr
,
SysRegion
.
class
));
}
}
if
(!
hasCache
){
//从db读
rs
=
mapper
.
getByIdList
(
ids
);
}
return
rs
;
}
//获取相应地区类型对应在id的位数,作为对应parent查找其下地区的redis key组成部分
//获取相应地区类型对应在id的位数,作为对应parent查找其下地区的redis key组成部分
private
String
getPrefixOfAgencyId
(
Integer
type
,
Long
parentId
){
private
String
getPrefixOfAgencyId
(
Integer
type
,
Long
parentId
){
switch
(
type
){
switch
(
type
){
...
@@ -91,7 +113,7 @@ public class SysRegionBiz extends BaseBiz<SysRegionMapper, SysRegion> {
...
@@ -91,7 +113,7 @@ public class SysRegionBiz extends BaseBiz<SysRegionMapper, SysRegion> {
*/
*/
private
String
getCacheRedisKey
(
Long
parentId
){
private
String
getCacheRedisKey
(
Long
parentId
){
//获取相应地区类型对应在agencyId的位数
//获取相应地区类型对应在agencyId的位数
return
RedisKey
.
SYS_REGION_CACHE_PREFIX
+
getPrefixOfAgencyId
(
parentId
);
return
RedisKey
.
SYS_REGION_
SONS_
CACHE_PREFIX
+
getPrefixOfAgencyId
(
parentId
);
}
}
/**
/**
...
@@ -102,7 +124,7 @@ public class SysRegionBiz extends BaseBiz<SysRegionMapper, SysRegion> {
...
@@ -102,7 +124,7 @@ public class SysRegionBiz extends BaseBiz<SysRegionMapper, SysRegion> {
public
List
<
SysRegion
>
getSonRegion
(
Long
id
){
public
List
<
SysRegion
>
getSonRegion
(
Long
id
){
//从缓存中查询
//从缓存中查询
String
redisKey
=
getCacheRedisKey
(
id
);
String
redisKey
=
getCacheRedisKey
(
id
);
String
sysRegionListJson
=
String
.
valueOf
(
r
edisTemplate
.
opsForValue
().
get
(
redisKey
));
String
sysRegionListJson
=
String
.
valueOf
(
customR
edisTemplate
.
opsForValue
().
get
(
redisKey
));
List
<
SysRegion
>
sysRegions
=
null
;
List
<
SysRegion
>
sysRegions
=
null
;
if
(
StringUtils
.
isNotBlank
(
sysRegionListJson
)){
if
(
StringUtils
.
isNotBlank
(
sysRegionListJson
)){
sysRegions
=
JSONObject
.
parseArray
(
sysRegionListJson
,
SysRegion
.
class
);
sysRegions
=
JSONObject
.
parseArray
(
sysRegionListJson
,
SysRegion
.
class
);
...
@@ -140,12 +162,14 @@ public class SysRegionBiz extends BaseBiz<SysRegionMapper, SysRegion> {
...
@@ -140,12 +162,14 @@ public class SysRegionBiz extends BaseBiz<SysRegionMapper, SysRegion> {
List
<
SysRegion
>
sonRegions
=
getSonRegionNoCache
(
id
);
List
<
SysRegion
>
sonRegions
=
getSonRegionNoCache
(
id
);
//把当前节点的子节点数据缓存
//把当前节点的子节点数据缓存
String
redisKey
=
getCacheRedisKey
(
id
);
String
redisKey
=
getCacheRedisKey
(
id
);
r
edisTemplate
.
opsForValue
().
set
(
redisKey
,
JSON
.
toJSON
(
sonRegions
).
toString
());
customR
edisTemplate
.
opsForValue
().
set
(
redisKey
,
JSON
.
toJSON
(
sonRegions
).
toString
());
log
.
info
(
"完成地区【"
+
id
+
"】的子地区数据缓存"
);
log
.
info
(
"完成地区【"
+
id
+
"】的子地区数据缓存"
);
if
(
CollectionUtils
.
isEmpty
(
sonRegions
)
||
getTypeFromId
(
id
).
equals
(
RegionType
.
CITY
.
getCode
())){
if
(
CollectionUtils
.
isEmpty
(
sonRegions
)
||
getTypeFromId
(
id
).
equals
(
RegionType
.
CITY
.
getCode
())){
return
;
return
;
}
}
for
(
SysRegion
sonRegion:
sonRegions
){
for
(
SysRegion
sonRegion:
sonRegions
){
//缓存每个地区
customRedisTemplate
.
opsForValue
().
set
(
RedisKey
.
SYS_REGION_CACHE_PREFIX
+
sonRegion
.
getId
(),
JSON
.
toJSON
(
sonRegion
).
toString
());
refreshCacheRegionAndSon
(
sonRegion
.
getId
());
refreshCacheRegionAndSon
(
sonRegion
.
getId
());
}
}
}
}
...
@@ -157,7 +181,7 @@ public class SysRegionBiz extends BaseBiz<SysRegionMapper, SysRegion> {
...
@@ -157,7 +181,7 @@ public class SysRegionBiz extends BaseBiz<SysRegionMapper, SysRegion> {
public
void
refreshCache
(){
public
void
refreshCache
(){
String
redisLockKey
=
RedisKey
.
SYS_REGION_REFRESH_LOCK
+(
DateTime
.
now
().
getMinuteOfDay
()/
5
);
//同一日每5分钟只刷新一次
String
redisLockKey
=
RedisKey
.
SYS_REGION_REFRESH_LOCK
+(
DateTime
.
now
().
getMinuteOfDay
()/
5
);
//同一日每5分钟只刷新一次
Boolean
suc
=
r
edisTemplate
.
opsForValue
().
setIfAbsent
(
redisLockKey
,
String
.
valueOf
(
DateTime
.
now
().
getMillis
()));
Boolean
suc
=
customR
edisTemplate
.
opsForValue
().
setIfAbsent
(
redisLockKey
,
String
.
valueOf
(
DateTime
.
now
().
getMillis
()));
if
(!
suc
){
if
(!
suc
){
log
.
info
(
"刷新地区数据:获取乐观锁失败,不执行任务"
);
log
.
info
(
"刷新地区数据:获取乐观锁失败,不执行任务"
);
return
;
return
;
...
...
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/biz/VehicleBiz.java
View file @
1b695f4b
...
@@ -18,10 +18,7 @@ import com.xinxincaravan.caravan.vehicle.entity.VehicleBookRecord;
...
@@ -18,10 +18,7 @@ import com.xinxincaravan.caravan.vehicle.entity.VehicleBookRecord;
import
com.xinxincaravan.caravan.vehicle.mapper.VehicleBookInfoMapper
;
import
com.xinxincaravan.caravan.vehicle.mapper.VehicleBookInfoMapper
;
import
com.xinxincaravan.caravan.vehicle.mapper.VehicleBookRecordMapper
;
import
com.xinxincaravan.caravan.vehicle.mapper.VehicleBookRecordMapper
;
import
com.xinxincaravan.caravan.vehicle.mapper.VehicleMapper
;
import
com.xinxincaravan.caravan.vehicle.mapper.VehicleMapper
;
import
com.xinxincaravan.caravan.vehicle.vo.AddOrUpdateVehicleVo
;
import
com.xinxincaravan.caravan.vehicle.vo.*
;
import
com.xinxincaravan.caravan.vehicle.vo.BookVehicleVo
;
import
com.xinxincaravan.caravan.vehicle.vo.PageDataVo
;
import
com.xinxincaravan.caravan.vehicle.vo.VehiclePageQueryVo
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.beanutils.BeanUtils
;
import
org.apache.commons.beanutils.BeanUtils
;
import
org.apache.commons.beanutils.PropertyUtils
;
import
org.apache.commons.beanutils.PropertyUtils
;
...
@@ -81,6 +78,25 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
...
@@ -81,6 +78,25 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
return
CollectionUtils
.
isEmpty
(
vehicleBookInfoList
)?
null
:
vehicleBookInfoList
.
get
(
0
);
return
CollectionUtils
.
isEmpty
(
vehicleBookInfoList
)?
null
:
vehicleBookInfoList
.
get
(
0
);
}
}
/**
* 获取相关预订记录
* @param vehicle
* @return
*/
public
List
<
VehicleBookInfo
>
getByVehicleIdAndYearMonth
(
String
vehicle
){
Map
<
String
,
Object
>
params
=
Maps
.
newHashMap
();
params
.
put
(
"vehicle"
,
vehicle
);
params
.
put
(
"yearMonths"
,
Lists
.
newArrayList
(
DateTime
.
now
().
toString
(
YEARMONTH_DATE_TIME_FORMATTER
),
DateTime
.
now
().
plusMonths
(
1
).
toString
(
YEARMONTH_DATE_TIME_FORMATTER
),
DateTime
.
now
().
plusMonths
(
2
).
toString
(
YEARMONTH_DATE_TIME_FORMATTER
)
)
);
List
<
VehicleBookInfo
>
vehicleBookInfoList
=
vehicleBookInfoMapper
.
getByVehicleIdAndYearMonths
(
params
);
return
vehicleBookInfoList
;
}
/**
/**
* 检查常量是否合法
* 检查常量是否合法
*/
*/
...
@@ -190,7 +206,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
...
@@ -190,7 +206,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
* @param bookVehicleVo
* @param bookVehicleVo
* @return
* @return
*/
*/
public
RestResponse
applyVehicle4Employee
(
Integer
userId
,
BookVehicleVo
bookVehicleVo
){
public
RestResponse
applyVehicle4Employee
(
Integer
userId
,
BookVehicleVo
bookVehicleVo
,
String
userName
){
//检查车辆信息是否合法
//检查车辆信息是否合法
checkIfVehicleExists
(
bookVehicleVo
.
getVehicle
());
checkIfVehicleExists
(
bookVehicleVo
.
getVehicle
());
//提取日期和相应的预定目标日期
//提取日期和相应的预定目标日期
...
@@ -214,6 +230,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
...
@@ -214,6 +230,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
vehicleBookRecord
.
setBookType
(
BookType
.
EMPLOYEE_APPLY
.
getCode
());
vehicleBookRecord
.
setBookType
(
BookType
.
EMPLOYEE_APPLY
.
getCode
());
vehicleBookRecord
.
setStatus
(
VehicleBookRecordStatus
.
APPLY
.
getCode
());
vehicleBookRecord
.
setStatus
(
VehicleBookRecordStatus
.
APPLY
.
getCode
());
vehicleBookRecord
.
setBookUser
(
userId
);
vehicleBookRecord
.
setBookUser
(
userId
);
vehicleBookRecord
.
setBookUserName
(
userName
);
vehicleBookRecord
.
setBookStartDate
(
DateTime
.
vehicleBookRecord
.
setBookStartDate
(
DateTime
.
parse
(
bookVehicleVo
.
getBookStartDate
(),
DEFAULT_DATE_TIME_FORMATTER
).
toDate
());
parse
(
bookVehicleVo
.
getBookStartDate
(),
DEFAULT_DATE_TIME_FORMATTER
).
toDate
());
vehicleBookRecord
.
setBookEndDate
(
DateTime
.
vehicleBookRecord
.
setBookEndDate
(
DateTime
.
...
@@ -234,10 +251,10 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
...
@@ -234,10 +251,10 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
//位操作确定目标日期是否可预订
//位操作确定目标日期是否可预订
Map
<
String
,
Object
>
params
=
Maps
.
newHashMap
();
Map
<
String
,
Object
>
params
=
Maps
.
newHashMap
();
Map
<
String
,
List
<
String
>>
yearMonthAndDate
=
new
HashMap
<>();
Map
<
String
,
List
<
String
>>
yearMonthAndDate
=
new
HashMap
<>();
yearMonthAndDate
.
put
(
vehicleBookInfo
.
getYearMonth
()
,
bookedDates
);
yearMonthAndDate
.
put
(
yearMonth
,
bookedDates
);
fillBookedDateSearchParam
(
params
,
null
,
yearMonthAndDate
);
//转换为查询对应日期未预定的条件
fillBookedDateSearchParam
(
params
,
null
,
yearMonthAndDate
);
//转换为查询对应日期未预定的条件
Map
<
String
,
Map
<
String
,
Integer
>>
yearMonthAndParam
=
(
Map
<
String
,
Map
<
String
,
Integer
>>)
params
.
get
(
"yearMonthAndParam"
);
Map
<
String
,
Map
<
String
,
Integer
>>
yearMonthAndParam
=
(
Map
<
String
,
Map
<
String
,
Integer
>>)
params
.
get
(
"yearMonthAndParam"
);
Map
<
String
,
Integer
>
andOpratorParam
=
yearMonthAndParam
.
get
(
vehicleBookInfo
.
getYearMonth
()
);
Map
<
String
,
Integer
>
andOpratorParam
=
yearMonthAndParam
.
get
(
yearMonth
);
Integer
andOperationFactor
=
andOpratorParam
.
get
(
"andOperationFactor"
);
Integer
andOperationFactor
=
andOpratorParam
.
get
(
"andOperationFactor"
);
Integer
andOperationRs
=
andOpratorParam
.
get
(
"andOperationRs"
);
Integer
andOperationRs
=
andOpratorParam
.
get
(
"andOperationRs"
);
if
(
vehicleBookInfo
!=
null
&&
vehicleBookInfo
.
getBookedDate
()!=
null
&&
if
(
vehicleBookInfo
!=
null
&&
vehicleBookInfo
.
getBookedDate
()!=
null
&&
...
@@ -255,7 +272,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
...
@@ -255,7 +272,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
* @return
* @return
*/
*/
@Transactional
@Transactional
public
RestResponse
<
Integer
>
reviewVehicleBooking
(
Integer
operatorId
,
Long
bookRecordId
,
Integer
rsStatus
)
throws
Exception
{
public
RestResponse
<
Integer
>
reviewVehicleBooking
(
Integer
operatorId
,
Long
bookRecordId
,
Integer
rsStatus
,
String
userName
)
throws
Exception
{
//获取相关申请记录
//获取相关申请记录
VehicleBookRecord
vehicleBookRecord
=
vehicleBookRecordMapper
.
selectByPrimaryKey
(
bookRecordId
);
VehicleBookRecord
vehicleBookRecord
=
vehicleBookRecordMapper
.
selectByPrimaryKey
(
bookRecordId
);
//申请记录验证
//申请记录验证
...
@@ -282,6 +299,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
...
@@ -282,6 +299,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
updateParam
.
put
(
"id"
,
bookRecordId
);
updateParam
.
put
(
"id"
,
bookRecordId
);
updateParam
.
put
(
"status"
,
rsStatus
);
updateParam
.
put
(
"status"
,
rsStatus
);
updateParam
.
put
(
"reviewerApply"
,
operatorId
);
updateParam
.
put
(
"reviewerApply"
,
operatorId
);
updateParam
.
put
(
"reviewerNameApply"
,
userName
);
updateParam
.
put
(
"statusCondition"
,
VehicleBookRecordStatus
.
APPLY
.
getCode
());
updateParam
.
put
(
"statusCondition"
,
VehicleBookRecordStatus
.
APPLY
.
getCode
());
Integer
effected
=
vehicleBookRecordMapper
.
changeRecordStatus
(
updateParam
);
Integer
effected
=
vehicleBookRecordMapper
.
changeRecordStatus
(
updateParam
);
if
(
effected
==
0
){
//修改失败,手动回滚
if
(
effected
==
0
){
//修改失败,手动回滚
...
@@ -296,7 +314,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
...
@@ -296,7 +314,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
* @return
* @return
*/
*/
@Transactional
@Transactional
public
RestResponse
unbookVehicle4Employee
(
Integer
operatorId
,
Long
bookRecordId
)
throws
Exception
{
public
RestResponse
unbookVehicle4Employee
(
Integer
operatorId
,
Long
bookRecordId
,
String
userName
)
throws
Exception
{
//获取相关申请记录
//获取相关申请记录
VehicleBookRecord
vehicleBookRecord
=
vehicleBookRecordMapper
.
selectByPrimaryKey
(
bookRecordId
);
VehicleBookRecord
vehicleBookRecord
=
vehicleBookRecordMapper
.
selectByPrimaryKey
(
bookRecordId
);
//申请记录验证
//申请记录验证
...
@@ -323,6 +341,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
...
@@ -323,6 +341,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
updateParam
.
put
(
"id"
,
bookRecordId
);
updateParam
.
put
(
"id"
,
bookRecordId
);
updateParam
.
put
(
"status"
,
VehicleBookRecordStatus
.
CANCEL_APPLY
.
getCode
());
updateParam
.
put
(
"status"
,
VehicleBookRecordStatus
.
CANCEL_APPLY
.
getCode
());
updateParam
.
put
(
"reviewerCancel"
,
operatorId
);
updateParam
.
put
(
"reviewerCancel"
,
operatorId
);
updateParam
.
put
(
"reviewerNameCancel"
,
userName
);
updateParam
.
put
(
"statusCondition"
,
VehicleBookRecordStatus
.
APPROVE
.
getCode
());
updateParam
.
put
(
"statusCondition"
,
VehicleBookRecordStatus
.
APPROVE
.
getCode
());
Integer
effected
=
vehicleBookRecordMapper
.
changeRecordStatus
(
updateParam
);
Integer
effected
=
vehicleBookRecordMapper
.
changeRecordStatus
(
updateParam
);
if
(
effected
==
0
){
//修改失败,手动回滚
if
(
effected
==
0
){
//修改失败,手动回滚
...
@@ -719,17 +738,17 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
...
@@ -719,17 +738,17 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
* @return
* @return
* @throws Exception
* @throws Exception
*/
*/
public
PageDataVo
<
Vehicle
>
getByPage
(
VehiclePageQueryVo
vehiclePageQueryVo
)
throws
Exception
{
public
PageDataVo
<
QueryVehicleVo
>
getByPage
(
VehiclePageQueryVo
vehiclePageQueryVo
)
throws
Exception
{
Map
<
String
,
Object
>
params
=
PropertyUtils
.
describe
(
vehiclePageQueryVo
);
Map
<
String
,
Object
>
params
=
PropertyUtils
.
describe
(
vehiclePageQueryVo
);
Integer
pageSize
=
(
Integer
)
params
.
get
(
"
pageSize
"
);
Integer
pageSize
=
(
Integer
)
params
.
get
(
"
limit
"
);
params
.
remove
(
"pageSize"
);
params
.
remove
(
"pageSize"
);
Integer
pageNo
=
(
Integer
)
params
.
get
(
"page
No
"
);
Integer
pageNo
=
(
Integer
)
params
.
get
(
"page"
);
params
.
remove
(
"pageNo"
);
params
.
remove
(
"pageNo"
);
//处理预定日期相关参数
//处理预定日期相关参数
adjustBookedInfoParam
(
params
,
vehiclePageQueryVo
);
adjustBookedInfoParam
(
params
,
vehiclePageQueryVo
);
PageHelper
.
startPage
(
pageNo
,
pageSize
);
PageHelper
.
startPage
(
pageNo
,
pageSize
);
List
<
Vehicle
>
vehicles
=
mapper
.
getByPage
(
params
);
List
<
QueryVehicleVo
>
vehicles
=
mapper
.
getByPage
(
params
);
PageInfo
<
Vehicle
>
vehiclePageInfo
=
new
PageInfo
<>(
vehicles
);
PageInfo
<
QueryVehicleVo
>
vehiclePageInfo
=
new
PageInfo
<>(
vehicles
);
return
PageDataVo
.
pageInfo
(
vehiclePageInfo
);
return
PageDataVo
.
pageInfo
(
vehiclePageInfo
);
}
}
...
...
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/biz/VehicleBookInfoBiz.java
View file @
1b695f4b
...
@@ -31,7 +31,7 @@ public class VehicleBookInfoBiz extends BaseBiz<VehicleBookInfoMapper, VehicleBo
...
@@ -31,7 +31,7 @@ public class VehicleBookInfoBiz extends BaseBiz<VehicleBookInfoMapper, VehicleBo
public
static
final
Integer
COPY_BATCH_SIZE
=
100
;
public
static
final
Integer
COPY_BATCH_SIZE
=
100
;
@Autowired
@Autowired
private
RedisTemplate
r
edisTemplate
;
private
RedisTemplate
customR
edisTemplate
;
/**
/**
* 迁移数据到历史表
* 迁移数据到历史表
...
@@ -60,9 +60,9 @@ public class VehicleBookInfoBiz extends BaseBiz<VehicleBookInfoMapper, VehicleBo
...
@@ -60,9 +60,9 @@ public class VehicleBookInfoBiz extends BaseBiz<VehicleBookInfoMapper, VehicleBo
String
lastMonthStr
=
now
.
plusMonths
(-
1
).
toString
(
YEARMONTH_DATE_TIME_FORMATTER
);
String
lastMonthStr
=
now
.
plusMonths
(-
1
).
toString
(
YEARMONTH_DATE_TIME_FORMATTER
);
String
redisKey
=
RedisKey
.
DEL_BOOK_INFO_LOCK_PREFIX
+
lastMonthStr
;
String
redisKey
=
RedisKey
.
DEL_BOOK_INFO_LOCK_PREFIX
+
lastMonthStr
;
Boolean
hasSuc
=
r
edisTemplate
.
opsForValue
().
setIfAbsent
(
redisKey
,
String
.
valueOf
(
DateTime
.
now
().
getMillis
()));
Boolean
hasSuc
=
customR
edisTemplate
.
opsForValue
().
setIfAbsent
(
redisKey
,
String
.
valueOf
(
DateTime
.
now
().
getMillis
()));
if
(
hasSuc
){
//设置1天后过期
if
(
hasSuc
){
//设置1天后过期
r
edisTemplate
.
expire
(
redisKey
,
1
,
TimeUnit
.
DAYS
);
customR
edisTemplate
.
expire
(
redisKey
,
1
,
TimeUnit
.
DAYS
);
}
else
{
}
else
{
log
.
info
(
"[预定信息迁移]乐观锁获取失败,该线程不执行任务。"
);
log
.
info
(
"[预定信息迁移]乐观锁获取失败,该线程不执行任务。"
);
return
Boolean
.
FALSE
;
return
Boolean
.
FALSE
;
...
...
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/biz/VehicleBookRecordBiz.java
View file @
1b695f4b
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
biz
;
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
biz
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.google.common.collect.Maps
;
import
com.google.common.collect.Maps
;
import
com.xinxincaravan.caravan.vehicle.common.CustomIllegalParamException
;
import
com.xinxincaravan.caravan.vehicle.constant.RedisKey
;
import
com.xinxincaravan.caravan.vehicle.constant.RedisKey
;
import
com.xinxincaravan.caravan.vehicle.entity.VehicleBookRecord
;
import
com.xinxincaravan.caravan.vehicle.entity.VehicleBookRecord
;
import
com.xinxincaravan.caravan.vehicle.mapper.VehicleBookRecordMapper
;
import
com.xinxincaravan.caravan.vehicle.mapper.VehicleBookRecordMapper
;
import
com.xinxincaravan.caravan.vehicle.vo.PageDataVo
;
import
com.xinxincaravan.caravan.vehicle.vo.QueryVehicleBookRecordVo
;
import
com.xinxincaravan.caravan.vehicle.vo.VehicleBookRecordQueryVo
;
import
com.xinxincaravan.caravan.vehicle.vo.VehiclePageQueryVo
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.beanutils.PropertyUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.joda.time.DateTime
;
import
org.joda.time.DateTime
;
import
org.joda.time.format.DateTimeFormat
;
import
org.joda.time.format.DateTimeFormat
;
import
org.joda.time.format.DateTimeFormatter
;
import
org.joda.time.format.DateTimeFormatter
;
...
@@ -16,6 +25,7 @@ import org.springframework.scheduling.annotation.Scheduled;
...
@@ -16,6 +25,7 @@ import org.springframework.scheduling.annotation.Scheduled;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.TimeUnit
;
...
@@ -25,13 +35,46 @@ import java.util.concurrent.TimeUnit;
...
@@ -25,13 +35,46 @@ import java.util.concurrent.TimeUnit;
public
class
VehicleBookRecordBiz
extends
BaseBiz
<
VehicleBookRecordMapper
,
VehicleBookRecord
>
{
public
class
VehicleBookRecordBiz
extends
BaseBiz
<
VehicleBookRecordMapper
,
VehicleBookRecord
>
{
public
static
final
String
TB_NAME_PREFIX
=
"vehicle_book_record_his_"
;
public
static
final
String
TB_NAME_PREFIX
=
"vehicle_book_record_his_"
;
public
static
final
String
TB_NAME_REAL
=
"vehicle_book_record"
;
//实际表名
public
static
final
DateTimeFormatter
YEAR_DATE_TIME_FORMATTER
=
DateTimeFormat
.
forPattern
(
"yyyy"
);
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
YEARMONTH_DATE_TIME_FORMATTER
=
DateTimeFormat
.
forPattern
(
"yyyy-MM"
);
public
static
final
Integer
DEL_BATCH_SIZE
=
1000
;
public
static
final
Integer
DEL_BATCH_SIZE
=
1000
;
public
static
final
Integer
COPY_BATCH_SIZE
=
100
;
public
static
final
Integer
COPY_BATCH_SIZE
=
100
;
@Autowired
@Autowired
private
RedisTemplate
redisTemplate
;
private
RedisTemplate
customRedisTemplate
;
/**
* 按页查询
* @param vehicleBookRecordQueryVo
* @return
* @throws Exception
*/
public
PageDataVo
<
QueryVehicleBookRecordVo
>
page
(
VehicleBookRecordQueryVo
vehicleBookRecordQueryVo
)
throws
Exception
{
Map
<
String
,
Object
>
params
=
PropertyUtils
.
describe
(
vehicleBookRecordQueryVo
);
String
selectedMonth
=
(
String
)
params
.
get
(
"selectedMonth"
);
if
(
StringUtils
.
isBlank
(
selectedMonth
)){
throw
new
CustomIllegalParamException
(
" no month selected "
);
}
params
.
put
(
"tbName"
,
TB_NAME_REAL
);
DateTime
selectedMonthDate
=
DateTime
.
parse
(
selectedMonth
,
YEARMONTH_DATE_TIME_FORMATTER
);
if
(
selectedMonthDate
.
compareTo
(
DateTime
.
now
().
plusMonths
(-
1
).
withDayOfMonth
(
1
).
withMillisOfDay
(
0
))
<
0
){
params
.
put
(
"tbName"
,
getTbName
(
String
.
valueOf
(
selectedMonthDate
.
getYear
())));
}
params
.
put
(
"bookedStartDate"
,
selectedMonthDate
.
withDayOfMonth
(
1
).
toString
());
params
.
put
(
"bookedEndDate"
,
selectedMonthDate
.
plusMonths
(
1
).
withDayOfMonth
(
1
).
toDate
());
Integer
pageSize
=
(
Integer
)
params
.
get
(
"limit"
);
params
.
remove
(
"pageSize"
);
Integer
pageNo
=
(
Integer
)
params
.
get
(
"page"
);
params
.
remove
(
"pageNo"
);
PageHelper
.
startPage
(
pageNo
,
pageSize
);
List
<
QueryVehicleBookRecordVo
>
bookRecordAndVehicleInfo
=
mapper
.
getByPage
(
params
);
PageInfo
<
QueryVehicleBookRecordVo
>
vehiclePageInfo
=
new
PageInfo
<>(
bookRecordAndVehicleInfo
);
return
PageDataVo
.
pageInfo
(
vehiclePageInfo
);
}
/**
/**
* 迁移数据到历史表
* 迁移数据到历史表
...
@@ -61,9 +104,9 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
...
@@ -61,9 +104,9 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
String
lastMonthStr
=
now
.
plusMonths
(-
1
).
toString
(
YEARMONTH_DATE_TIME_FORMATTER
);
String
lastMonthStr
=
now
.
plusMonths
(-
1
).
toString
(
YEARMONTH_DATE_TIME_FORMATTER
);
String
redisKey
=
RedisKey
.
DEL_BOOK_RECORD_LOCK_PREFIX
+
lastMonthStr
;
String
redisKey
=
RedisKey
.
DEL_BOOK_RECORD_LOCK_PREFIX
+
lastMonthStr
;
Boolean
hasSuc
=
r
edisTemplate
.
opsForValue
().
setIfAbsent
(
redisKey
,
String
.
valueOf
(
DateTime
.
now
().
getMillis
()));
Boolean
hasSuc
=
customR
edisTemplate
.
opsForValue
().
setIfAbsent
(
redisKey
,
String
.
valueOf
(
DateTime
.
now
().
getMillis
()));
if
(
hasSuc
){
//设置1天后过期
if
(
hasSuc
){
//设置1天后过期
r
edisTemplate
.
expire
(
redisKey
,
1
,
TimeUnit
.
DAYS
);
customR
edisTemplate
.
expire
(
redisKey
,
1
,
TimeUnit
.
DAYS
);
}
else
{
}
else
{
log
.
info
(
"[预定记录迁移]乐观锁获取失败,该线程不执行任务。"
);
log
.
info
(
"[预定记录迁移]乐观锁获取失败,该线程不执行任务。"
);
return
Boolean
.
FALSE
;
return
Boolean
.
FALSE
;
...
@@ -136,6 +179,15 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
...
@@ -136,6 +179,15 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
return
TB_NAME_PREFIX
+
DateTime
.
now
().
toString
(
YEAR_DATE_TIME_FORMATTER
);
return
TB_NAME_PREFIX
+
DateTime
.
now
().
toString
(
YEAR_DATE_TIME_FORMATTER
);
}
}
/**
* 获取历史表名称
* @param year
* @return
*/
private
String
getTbName
(
String
year
){
return
TB_NAME_PREFIX
+
year
;
}
/**
/**
* 创建当年相关表格
* 创建当年相关表格
*/
*/
...
...
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/config/RedisConfiguration.java
View file @
1b695f4b
...
@@ -24,7 +24,7 @@ import org.springframework.data.redis.serializer.StringRedisSerializer;
...
@@ -24,7 +24,7 @@ import org.springframework.data.redis.serializer.StringRedisSerializer;
public
class
RedisConfiguration
{
public
class
RedisConfiguration
{
@Bean
@Bean
public
RedisTemplate
<
String
,
Object
>
r
edisTemplate
(
RedisConnectionFactory
factory
)
{
public
RedisTemplate
<
String
,
Object
>
customR
edisTemplate
(
RedisConnectionFactory
factory
)
{
RedisTemplate
redisTemplate
=
new
RedisTemplate
();
RedisTemplate
redisTemplate
=
new
RedisTemplate
();
redisTemplate
.
setConnectionFactory
(
factory
);
redisTemplate
.
setConnectionFactory
(
factory
);
RedisSerializer
<
String
>
stringSerializer
=
new
StringRedisSerializer
();
RedisSerializer
<
String
>
stringSerializer
=
new
StringRedisSerializer
();
...
...
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/config/WebConfiguration.java
View file @
1b695f4b
...
@@ -3,6 +3,7 @@ package com.xinxincaravan.caravan.vehicle.config;
...
@@ -3,6 +3,7 @@ package com.xinxincaravan.caravan.vehicle.config;
import
com.github.wxiaoqi.security.auth.client.interceptor.ServiceAuthRestInterceptor
;
import
com.github.wxiaoqi.security.auth.client.interceptor.ServiceAuthRestInterceptor
;
import
com.github.wxiaoqi.security.auth.client.interceptor.UserAuthRestInterceptor
;
import
com.github.wxiaoqi.security.auth.client.interceptor.UserAuthRestInterceptor
;
import
com.github.wxiaoqi.security.common.handler.GlobalExceptionHandler
;
import
com.github.wxiaoqi.security.common.handler.GlobalExceptionHandler
;
import
com.xinxincaravan.caravan.vehicle.interceptor.CorsInterceptor
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Primary
;
import
org.springframework.context.annotation.Primary
;
...
@@ -26,27 +27,34 @@ public class WebConfiguration implements WebMvcConfigurer {
...
@@ -26,27 +27,34 @@ public class WebConfiguration implements WebMvcConfigurer {
}
}
// /**
/**
// * 加入拦截器,介入相关权限验证(服务+用户)
* 加入拦截器,介入相关权限验证(服务+用户)
// * @param registry
* @param registry
// */
*/
// @Override
@Override
// public void addInterceptors(InterceptorRegistry registry) {
public
void
addInterceptors
(
InterceptorRegistry
registry
)
{
// registry.addInterceptor(getServiceAuthRestInterceptor()).
// addPathPatterns(getIncludePathPatterns());
registry
.
addInterceptor
(
getCorsInterceptor
()).
addPathPatterns
(
"/**"
);
// registry.addInterceptor(getUserAuthRestInterceptor()).
registry
.
addInterceptor
(
getServiceAuthRestInterceptor
()).
// addPathPatterns(getIncludePathPatterns());
addPathPatterns
(
getIncludePathPatterns
());
// }
registry
.
addInterceptor
(
getUserAuthRestInterceptor
()).
//
addPathPatterns
(
getIncludePathPatterns
());
// @Bean
}
// ServiceAuthRestInterceptor getServiceAuthRestInterceptor() {
// return new ServiceAuthRestInterceptor();
@Bean
// }
ServiceAuthRestInterceptor
getServiceAuthRestInterceptor
()
{
//
return
new
ServiceAuthRestInterceptor
();
// @Bean
}
// UserAuthRestInterceptor getUserAuthRestInterceptor() {
// return new UserAuthRestInterceptor();
@Bean
// }
CorsInterceptor
getCorsInterceptor
()
{
return
new
CorsInterceptor
();
}
@Bean
UserAuthRestInterceptor
getUserAuthRestInterceptor
()
{
return
new
UserAuthRestInterceptor
();
}
/**
/**
* 需要用户和服务认证判断的路径
* 需要用户和服务认证判断的路径
...
@@ -55,7 +63,8 @@ public class WebConfiguration implements WebMvcConfigurer {
...
@@ -55,7 +63,8 @@ public class WebConfiguration implements WebMvcConfigurer {
private
ArrayList
<
String
>
getIncludePathPatterns
()
{
private
ArrayList
<
String
>
getIncludePathPatterns
()
{
ArrayList
<
String
>
list
=
new
ArrayList
<>();
ArrayList
<
String
>
list
=
new
ArrayList
<>();
String
[]
urls
=
{
String
[]
urls
=
{
"/vehicleInfo/**"
"/vehicleInfo/**"
,
"/branchCompany/**"
};
};
Collections
.
addAll
(
list
,
urls
);
Collections
.
addAll
(
list
,
urls
);
return
list
;
return
list
;
...
...
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/constant/RedisKey.java
View file @
1b695f4b
...
@@ -8,7 +8,12 @@ public class RedisKey {
...
@@ -8,7 +8,12 @@ public class RedisKey {
public
static
final
String
CONSTANT_CACHE_PREFIX
=
"cache:constant:"
;
public
static
final
String
CONSTANT_CACHE_PREFIX
=
"cache:constant:"
;
/**
/**
* 地区常量缓存key前缀
* 地区常量缓存key前缀(子读取列表)
*/
public
static
final
String
SYS_REGION_SONS_CACHE_PREFIX
=
"cache:sysRegion:sons:"
;
/**
* 地区常量缓存key前缀(子读取列表)
*/
*/
public
static
final
String
SYS_REGION_CACHE_PREFIX
=
"cache:sysRegion:"
;
public
static
final
String
SYS_REGION_CACHE_PREFIX
=
"cache:sysRegion:"
;
...
@@ -30,4 +35,11 @@ public class RedisKey {
...
@@ -30,4 +35,11 @@ public class RedisKey {
* 迁移预定记录rediseky
* 迁移预定记录rediseky
*/
*/
public
static
final
String
DEL_BOOK_RECORD_LOCK_PREFIX
=
"lock:del:bookRecord:"
;
public
static
final
String
DEL_BOOK_RECORD_LOCK_PREFIX
=
"lock:del:bookRecord:"
;
/**
* 子公司列表缓存key前缀
*/
public
static
final
String
BRANCH_COMPANY_CACHE_ALL
=
"cache:bracnCompany:all"
;
}
}
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/entity/BranchCompany.java
View file @
1b695f4b
...
@@ -6,6 +6,7 @@ import javax.persistence.Column;
...
@@ -6,6 +6,7 @@ import javax.persistence.Column;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
javax.persistence.Table
;
import
java.util.Date
;
@Table
(
name
=
"branch_company"
)
@Table
(
name
=
"branch_company"
)
@Data
@Data
...
@@ -60,7 +61,9 @@ public class BranchCompany {
...
@@ -60,7 +61,9 @@ public class BranchCompany {
@Column
(
name
=
"addr_detail"
)
@Column
(
name
=
"addr_detail"
)
private
String
addrDetail
;
private
String
addrDetail
;
private
Date
createTime
;
private
Date
updateTime
;
}
}
\ No newline at end of file
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/entity/VehicleBookRecord.java
View file @
1b695f4b
...
@@ -31,11 +31,17 @@ public class VehicleBookRecord {
...
@@ -31,11 +31,17 @@ public class VehicleBookRecord {
private
Integer
bookType
;
private
Integer
bookType
;
/**
/**
* 预定用户id
,对应menberinfo表中的id
* 预定用户id
*/
*/
@Column
(
name
=
"book_user"
)
@Column
(
name
=
"book_user"
)
private
Integer
bookUser
;
private
Integer
bookUser
;
/**
* 预定用户姓名
*/
@Column
(
name
=
"book_user_name"
)
private
String
bookUserName
;
/**
/**
* 联系信息,比如电话、联系人姓名等(json)
* 联系信息,比如电话、联系人姓名等(json)
*/
*/
...
@@ -74,11 +80,23 @@ public class VehicleBookRecord {
...
@@ -74,11 +80,23 @@ public class VehicleBookRecord {
private
Integer
reviewerApply
;
private
Integer
reviewerApply
;
/**
/**
* 申请审核人,-1代表系统
* 申请审核人姓名
*/
@Column
(
name
=
"reviewer_name_apply"
)
private
String
reviewerNameApply
;
/**
* 归还审核人,-1代表系统
*/
*/
@Column
(
name
=
"reviewer_return"
)
@Column
(
name
=
"reviewer_return"
)
private
Integer
reviewerReturn
;
private
Integer
reviewerReturn
;
/**
* 归还审核人姓名
*/
@Column
(
name
=
"reviewer_name_return"
)
private
String
reviewerNameReturn
;
/**
/**
* 取消人,-1代表系统
* 取消人,-1代表系统
...
@@ -86,6 +104,12 @@ public class VehicleBookRecord {
...
@@ -86,6 +104,12 @@ public class VehicleBookRecord {
@Column
(
name
=
"reviewer_cancel"
)
@Column
(
name
=
"reviewer_cancel"
)
private
Integer
reviewerCancel
;
private
Integer
reviewerCancel
;
/**
* 取消人姓名
*/
@Column
(
name
=
"reviewer_name_cancel"
)
private
String
reviewerNameCancel
;
/**
/**
* 申请结束日期
* 申请结束日期
*/
*/
...
...
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/interceptor/CorsInterceptor.java
0 → 100644
View file @
1b695f4b
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
interceptor
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.web.cors.CorsUtils
;
import
org.springframework.web.servlet.handler.HandlerInterceptorAdapter
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
/**
* Created by ace on 2017/9/12.
*/
public
class
CorsInterceptor
extends
HandlerInterceptorAdapter
{
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
if
(
request
.
getHeader
(
HttpHeaders
.
ORIGIN
)
!=
null
)
{
response
.
addHeader
(
"Access-Control-Allow-Origin"
,
"*"
);
response
.
addHeader
(
"Access-Control-Allow-Credentials"
,
"true"
);
response
.
addHeader
(
"Access-Control-Allow-Methods"
,
"POST, GET, OPTIONS, DELETE, PUT, HEAD"
);
response
.
addHeader
(
"Access-Control-Allow-Headers"
,
"Content-Type,authorization"
);
response
.
addHeader
(
"Access-Control-Max-Age"
,
"3600"
);
}
if
(
CorsUtils
.
isPreFlightRequest
(
request
)){
//是否跨域前option请求,使得话不执行后面拦截器
return
Boolean
.
FALSE
;
}
return
super
.
preHandle
(
request
,
response
,
handler
);
}
}
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/mapper/SysRegionMapper.java
View file @
1b695f4b
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
mapper
;
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
mapper
;
import
com.xinxincaravan.caravan.vehicle.entity.Constant
;
import
com.xinxincaravan.caravan.vehicle.entity.SysRegion
;
import
com.xinxincaravan.caravan.vehicle.entity.SysRegion
;
import
org.springframework.data.repository.query.Param
;
import
tk.mybatis.mapper.common.Mapper
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
import
java.util.List
;
...
@@ -9,7 +9,7 @@ import java.util.Map;
...
@@ -9,7 +9,7 @@ import java.util.Map;
public
interface
SysRegionMapper
extends
Mapper
<
SysRegion
>
{
public
interface
SysRegionMapper
extends
Mapper
<
SysRegion
>
{
public
List
<
Integer
>
getAllByPage
(
Map
<
String
,
Object
>
params
);
public
List
<
SysRegion
>
getAllByPage
(
Map
<
String
,
Object
>
params
);
public
List
<
SysRegion
>
getByIdList
(
List
<
Long
>
idList
);
}
}
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/mapper/VehicleBookInfoMapper.java
View file @
1b695f4b
...
@@ -14,6 +14,13 @@ public interface VehicleBookInfoMapper extends Mapper<VehicleBookInfo> {
...
@@ -14,6 +14,13 @@ public interface VehicleBookInfoMapper extends Mapper<VehicleBookInfo> {
*/
*/
public
List
<
VehicleBookInfo
>
getByVehicleIdAndYearMonth
(
Map
<
String
,
Object
>
params
);
public
List
<
VehicleBookInfo
>
getByVehicleIdAndYearMonth
(
Map
<
String
,
Object
>
params
);
/**
* 根据车辆id和对应年月查询预定记录
* @param params
* @return
*/
public
List
<
VehicleBookInfo
>
getByVehicleIdAndYearMonths
(
Map
<
String
,
Object
>
params
);
/**
/**
* 不存在插入、存在更新
* 不存在插入、存在更新
* @param vehicleBookInfo
* @param vehicleBookInfo
...
...
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/mapper/VehicleBookRecordMapper.java
View file @
1b695f4b
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
mapper
;
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
mapper
;
import
com.xinxincaravan.caravan.vehicle.entity.VehicleBookRecord
;
import
com.xinxincaravan.caravan.vehicle.entity.VehicleBookRecord
;
import
com.xinxincaravan.caravan.vehicle.vo.QueryVehicleBookRecordVo
;
import
tk.mybatis.mapper.common.Mapper
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
import
java.util.List
;
...
@@ -17,4 +18,6 @@ public interface VehicleBookRecordMapper extends Mapper<VehicleBookRecord> {
...
@@ -17,4 +18,6 @@ public interface VehicleBookRecordMapper extends Mapper<VehicleBookRecord> {
public
Integer
del4YearMoth
(
Map
<
String
,
Object
>
params
);
public
Integer
del4YearMoth
(
Map
<
String
,
Object
>
params
);
public
void
createTbIfNotExists
(
String
tbName
);
public
void
createTbIfNotExists
(
String
tbName
);
public
List
<
QueryVehicleBookRecordVo
>
getByPage
(
Map
<
String
,
Object
>
params
);
}
}
\ No newline at end of file
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/mapper/VehicleMapper.java
View file @
1b695f4b
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
mapper
;
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
mapper
;
import
com.xinxincaravan.caravan.vehicle.entity.Vehicle
;
import
com.xinxincaravan.caravan.vehicle.entity.Vehicle
;
import
com.xinxincaravan.caravan.vehicle.vo.QueryVehicleVo
;
import
tk.mybatis.mapper.common.Mapper
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
import
java.util.List
;
...
@@ -8,7 +9,7 @@ import java.util.Map;
...
@@ -8,7 +9,7 @@ import java.util.Map;
public
interface
VehicleMapper
extends
Mapper
<
Vehicle
>
{
public
interface
VehicleMapper
extends
Mapper
<
Vehicle
>
{
public
List
<
Vehicle
>
getByPage
(
Map
<
String
,
Object
>
params
);
public
List
<
QueryVehicleVo
>
getByPage
(
Map
<
String
,
Object
>
params
);
public
int
updateStatusById
(
Map
<
String
,
Object
>
params
);
public
int
updateStatusById
(
Map
<
String
,
Object
>
params
);
}
}
\ No newline at end of file
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/rest/BranchCompanyController.java
View file @
1b695f4b
...
@@ -6,6 +6,7 @@ import com.xinxincaravan.caravan.vehicle.common.BaseController;
...
@@ -6,6 +6,7 @@ import com.xinxincaravan.caravan.vehicle.common.BaseController;
import
com.xinxincaravan.caravan.vehicle.common.RestResponse
;
import
com.xinxincaravan.caravan.vehicle.common.RestResponse
;
import
com.xinxincaravan.caravan.vehicle.entity.BranchCompany
;
import
com.xinxincaravan.caravan.vehicle.entity.BranchCompany
;
import
com.xinxincaravan.caravan.vehicle.vo.BranchCompanyVo
;
import
com.xinxincaravan.caravan.vehicle.vo.BranchCompanyVo
;
import
com.xinxincaravan.caravan.vehicle.vo.PageDataVo
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
...
@@ -18,6 +19,14 @@ import java.util.List;
...
@@ -18,6 +19,14 @@ import java.util.List;
public
class
BranchCompanyController
extends
BaseController
<
BranchCompanyBiz
>
{
public
class
BranchCompanyController
extends
BaseController
<
BranchCompanyBiz
>
{
@RequestMapping
(
value
=
"/page"
,
method
=
RequestMethod
.
GET
)
public
RestResponse
<
PageDataVo
<
BranchCompany
>>
page
(
@RequestParam
Integer
page
,
@RequestParam
Integer
limit
,
@RequestParam
(
required
=
false
)
Integer
addrProvince
,
@RequestParam
(
required
=
false
)
Integer
addrCity
,
@RequestParam
(
required
=
false
)
Integer
addrTown
)
{
return
RestResponse
.
data
(
baseBiz
.
getAll
(
page
,
limit
,
addrProvince
,
addrCity
,
addrTown
));
}
@RequestMapping
(
value
=
""
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
""
,
method
=
RequestMethod
.
GET
)
public
RestResponse
<
List
<
BranchCompany
>>
getAll
()
{
public
RestResponse
<
List
<
BranchCompany
>>
getAll
()
{
return
RestResponse
.
data
(
baseBiz
.
getAll
());
return
RestResponse
.
data
(
baseBiz
.
getAll
());
...
...
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/rest/SysRegionController.java
View file @
1b695f4b
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
rest
;
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
rest
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONException
;
import
com.alibaba.nacos.client.logger.json.JSONArray
;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken
;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken
;
import
com.xinxincaravan.caravan.vehicle.biz.SysRegionBiz
;
import
com.xinxincaravan.caravan.vehicle.biz.SysRegionBiz
;
import
com.xinxincaravan.caravan.vehicle.common.BaseController
;
import
com.xinxincaravan.caravan.vehicle.common.BaseController
;
import
com.xinxincaravan.caravan.vehicle.common.CustomIllegalParamException
;
import
com.xinxincaravan.caravan.vehicle.common.RestResponse
;
import
com.xinxincaravan.caravan.vehicle.common.RestResponse
;
import
com.xinxincaravan.caravan.vehicle.constant.ConstantType
;
import
com.xinxincaravan.caravan.vehicle.constant.ConstantType
;
import
com.xinxincaravan.caravan.vehicle.constant.ResCode.ResCode
;
import
com.xinxincaravan.caravan.vehicle.constant.ResCode.ResCode
;
...
@@ -28,5 +32,16 @@ public class SysRegionController extends BaseController<SysRegionBiz> {
...
@@ -28,5 +32,16 @@ public class SysRegionController extends BaseController<SysRegionBiz> {
return
RestResponse
.
data
(
baseBiz
.
getSonRegion
(
id
));
return
RestResponse
.
data
(
baseBiz
.
getSonRegion
(
id
));
}
}
@RequestMapping
(
value
=
""
,
method
=
RequestMethod
.
GET
)
public
RestResponse
<
List
<
SysRegion
>>
getRegion
(
@RequestParam
String
idListJson
){
try
{
List
<
Long
>
ids
=
JSON
.
parseArray
(
idListJson
,
Long
.
class
);
return
RestResponse
.
data
(
baseBiz
.
getRegionsByCodes
(
ids
));
}
catch
(
JSONException
ex
)
{
return
RestResponse
.
code
(
ResCode
.
INVALID_REST_REQ_PARAM
.
getCode
());
}
catch
(
CustomIllegalParamException
ex
){
return
RestResponse
.
code
(
ResCode
.
INVALID_REST_REQ_PARAM
.
getCode
());
}
}
}
}
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/rest/VehicleController.java
View file @
1b695f4b
...
@@ -9,6 +9,7 @@ import com.github.wxiaoqi.security.auth.common.util.jwt.JWTHelper;
...
@@ -9,6 +9,7 @@ import com.github.wxiaoqi.security.auth.common.util.jwt.JWTHelper;
import
com.github.wxiaoqi.security.common.context.BaseContextHandler
;
import
com.github.wxiaoqi.security.common.context.BaseContextHandler
;
import
com.github.wxiaoqi.security.common.msg.auth.TokenForbiddenResponse
;
import
com.github.wxiaoqi.security.common.msg.auth.TokenForbiddenResponse
;
import
com.xinxincaravan.caravan.vehicle.biz.VehicleBiz
;
import
com.xinxincaravan.caravan.vehicle.biz.VehicleBiz
;
import
com.xinxincaravan.caravan.vehicle.biz.VehicleBookRecordBiz
;
import
com.xinxincaravan.caravan.vehicle.common.BaseController
;
import
com.xinxincaravan.caravan.vehicle.common.BaseController
;
import
com.xinxincaravan.caravan.vehicle.common.CustomIllegalParamException
;
import
com.xinxincaravan.caravan.vehicle.common.CustomIllegalParamException
;
import
com.xinxincaravan.caravan.vehicle.common.RestResponse
;
import
com.xinxincaravan.caravan.vehicle.common.RestResponse
;
...
@@ -16,10 +17,7 @@ import com.xinxincaravan.caravan.vehicle.constant.ResCode.ResCode;
...
@@ -16,10 +17,7 @@ import com.xinxincaravan.caravan.vehicle.constant.ResCode.ResCode;
import
com.xinxincaravan.caravan.vehicle.constant.VehicleBookRecordStatus
;
import
com.xinxincaravan.caravan.vehicle.constant.VehicleBookRecordStatus
;
import
com.xinxincaravan.caravan.vehicle.entity.Vehicle
;
import
com.xinxincaravan.caravan.vehicle.entity.Vehicle
;
import
com.xinxincaravan.caravan.vehicle.entity.VehicleBookInfo
;
import
com.xinxincaravan.caravan.vehicle.entity.VehicleBookInfo
;
import
com.xinxincaravan.caravan.vehicle.vo.AddOrUpdateVehicleVo
;
import
com.xinxincaravan.caravan.vehicle.vo.*
;
import
com.xinxincaravan.caravan.vehicle.vo.PageDataVo
;
import
com.xinxincaravan.caravan.vehicle.vo.BookVehicleVo
;
import
com.xinxincaravan.caravan.vehicle.vo.VehiclePageQueryVo
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
...
@@ -32,6 +30,8 @@ import java.util.List;
...
@@ -32,6 +30,8 @@ import java.util.List;
@IgnoreClientToken
@IgnoreClientToken
public
class
VehicleController
extends
BaseController
<
VehicleBiz
>
{
public
class
VehicleController
extends
BaseController
<
VehicleBiz
>
{
@Autowired
private
VehicleBookRecordBiz
vehicleBookRecordBiz
;
@RequestMapping
(
value
=
"/{id}"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/{id}"
,
method
=
RequestMethod
.
GET
)
public
RestResponse
<
Vehicle
>
get
(
@PathVariable
String
id
)
{
public
RestResponse
<
Vehicle
>
get
(
@PathVariable
String
id
)
{
...
@@ -53,10 +53,8 @@ public class VehicleController extends BaseController<VehicleBiz> {
...
@@ -53,10 +53,8 @@ public class VehicleController extends BaseController<VehicleBiz> {
return
baseBiz
.
discard
(
idList
);
return
baseBiz
.
discard
(
idList
);
}
}
@RequestMapping
(
value
=
"/page"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/page"
,
method
=
RequestMethod
.
GET
)
public
RestResponse
<
PageDataVo
<
Vehicle
>>
getByPage
(
@RequestParam
String
vehiclePageQueryVoJson
)
throws
Exception
{
public
RestResponse
<
PageDataVo
<
QueryVehicleVo
>>
getByPage
(
@RequestParam
String
vehiclePageQueryVoJson
)
throws
Exception
{
VehiclePageQueryVo
vehiclePageQueryVo
=
null
;
VehiclePageQueryVo
vehiclePageQueryVo
=
null
;
try
{
try
{
vehiclePageQueryVo
=
JSON
.
parseObject
(
vehiclePageQueryVoJson
,
VehiclePageQueryVo
.
class
);
vehiclePageQueryVo
=
JSON
.
parseObject
(
vehiclePageQueryVoJson
,
VehiclePageQueryVo
.
class
);
...
@@ -73,6 +71,11 @@ public class VehicleController extends BaseController<VehicleBiz> {
...
@@ -73,6 +71,11 @@ public class VehicleController extends BaseController<VehicleBiz> {
return
RestResponse
.
data
(
baseBiz
.
getByVehicleIdAndYearMonth
(
vehicleId
,
yearMonth
));
return
RestResponse
.
data
(
baseBiz
.
getByVehicleIdAndYearMonth
(
vehicleId
,
yearMonth
));
}
}
@RequestMapping
(
value
=
"/bookedInfo/{vehicleId}"
,
method
=
RequestMethod
.
GET
)
public
RestResponse
<
List
<
VehicleBookInfo
>>
getBookedInfo
(
@PathVariable
String
vehicleId
)
{
return
RestResponse
.
data
(
baseBiz
.
getByVehicleIdAndYearMonth
(
vehicleId
));
}
/**
/**
* 申请预定车辆
* 申请预定车辆
* @param bookVehicleVo
* @param bookVehicleVo
...
@@ -80,9 +83,9 @@ public class VehicleController extends BaseController<VehicleBiz> {
...
@@ -80,9 +83,9 @@ public class VehicleController extends BaseController<VehicleBiz> {
*/
*/
@RequestMapping
(
value
=
"/book/4employee"
,
method
=
RequestMethod
.
POST
)
@RequestMapping
(
value
=
"/book/4employee"
,
method
=
RequestMethod
.
POST
)
public
RestResponse
<
Integer
>
applyVehicle
(
@RequestBody
BookVehicleVo
bookVehicleVo
){
public
RestResponse
<
Integer
>
applyVehicle
(
@RequestBody
BookVehicleVo
bookVehicleVo
){
//
Integer operatorId = Integer.parseInt(BaseContextHandler.getUserID());
Integer
operatorId
=
Integer
.
parseInt
(
BaseContextHandler
.
getUserID
());
Integer
operatorId
=
-
1
;
String
userName
=
BaseContextHandler
.
getName
()
;
return
baseBiz
.
applyVehicle4Employee
(
operatorId
,
bookVehicleVo
);
return
baseBiz
.
applyVehicle4Employee
(
operatorId
,
bookVehicleVo
,
userName
);
}
}
/**
/**
...
@@ -92,9 +95,9 @@ public class VehicleController extends BaseController<VehicleBiz> {
...
@@ -92,9 +95,9 @@ public class VehicleController extends BaseController<VehicleBiz> {
*/
*/
@RequestMapping
(
value
=
"/book/4employee/prove/{bookRecordId}"
,
method
=
RequestMethod
.
PUT
)
@RequestMapping
(
value
=
"/book/4employee/prove/{bookRecordId}"
,
method
=
RequestMethod
.
PUT
)
public
RestResponse
<
Integer
>
proveVehicleBooking
(
@PathVariable
Long
bookRecordId
)
throws
Exception
{
public
RestResponse
<
Integer
>
proveVehicleBooking
(
@PathVariable
Long
bookRecordId
)
throws
Exception
{
//
Integer operatorId = Integer.parseInt(BaseContextHandler.getUserID());
Integer
operatorId
=
Integer
.
parseInt
(
BaseContextHandler
.
getUserID
());
Integer
operatorId
=
-
1
;
String
userName
=
BaseContextHandler
.
getName
()
;
return
baseBiz
.
reviewVehicleBooking
(
operatorId
,
bookRecordId
,
VehicleBookRecordStatus
.
APPROVE
.
getCode
());
return
baseBiz
.
reviewVehicleBooking
(
operatorId
,
bookRecordId
,
VehicleBookRecordStatus
.
APPROVE
.
getCode
()
,
userName
);
}
}
/**
/**
...
@@ -104,9 +107,9 @@ public class VehicleController extends BaseController<VehicleBiz> {
...
@@ -104,9 +107,9 @@ public class VehicleController extends BaseController<VehicleBiz> {
*/
*/
@RequestMapping
(
value
=
"/book/4employee/reject/{bookRecordId}"
,
method
=
RequestMethod
.
PUT
)
@RequestMapping
(
value
=
"/book/4employee/reject/{bookRecordId}"
,
method
=
RequestMethod
.
PUT
)
public
RestResponse
<
Integer
>
rejectVehicleBooking
(
@PathVariable
Long
bookRecordId
)
throws
Exception
{
public
RestResponse
<
Integer
>
rejectVehicleBooking
(
@PathVariable
Long
bookRecordId
)
throws
Exception
{
//
Integer operatorId = Integer.parseInt(BaseContextHandler.getUserID());
Integer
operatorId
=
Integer
.
parseInt
(
BaseContextHandler
.
getUserID
());
Integer
operatorId
=
-
1
;
String
userName
=
BaseContextHandler
.
getName
()
;
return
baseBiz
.
reviewVehicleBooking
(
operatorId
,
bookRecordId
,
VehicleBookRecordStatus
.
REJECTED
.
getCode
());
return
baseBiz
.
reviewVehicleBooking
(
operatorId
,
bookRecordId
,
VehicleBookRecordStatus
.
REJECTED
.
getCode
()
,
userName
);
}
}
// /**
// /**
...
@@ -130,10 +133,24 @@ public class VehicleController extends BaseController<VehicleBiz> {
...
@@ -130,10 +133,24 @@ public class VehicleController extends BaseController<VehicleBiz> {
*/
*/
@RequestMapping
(
value
=
"/unbook/4employee/{bookRecordId}"
,
method
=
RequestMethod
.
DELETE
)
@RequestMapping
(
value
=
"/unbook/4employee/{bookRecordId}"
,
method
=
RequestMethod
.
DELETE
)
public
RestResponse
<
Integer
>
unbookVehicle
(
@PathVariable
Long
bookRecordId
)
throws
Exception
{
public
RestResponse
<
Integer
>
unbookVehicle
(
@PathVariable
Long
bookRecordId
)
throws
Exception
{
//此处待加入获取当前操作用户id信息以及相关权限验证
Integer
operatorId
=
Integer
.
parseInt
(
BaseContextHandler
.
getUserID
());
// Integer operatorId = Integer.parseInt(BaseContextHandler.getUserID());
String
userName
=
BaseContextHandler
.
getName
();
Integer
operatorId
=
-
1
;
return
baseBiz
.
unbookVehicle4Employee
(
operatorId
,
bookRecordId
,
userName
);
return
baseBiz
.
unbookVehicle4Employee
(
operatorId
,
bookRecordId
);
}
@RequestMapping
(
value
=
"/bookedRecord"
,
method
=
RequestMethod
.
GET
)
public
RestResponse
<
PageDataVo
<
QueryVehicleBookRecordVo
>>
getBookedRecord
(
@RequestParam
String
vehicleBookRecordQueryVoJson
)
throws
Exception
{
VehicleBookRecordQueryVo
vehicleBookRecordQueryVo
=
null
;
try
{
vehicleBookRecordQueryVo
=
JSON
.
parseObject
(
vehicleBookRecordQueryVoJson
,
VehicleBookRecordQueryVo
.
class
);
return
RestResponse
.
data
(
vehicleBookRecordBiz
.
page
(
vehicleBookRecordQueryVo
));
}
catch
(
JSONException
ex
)
{
return
RestResponse
.
code
(
ResCode
.
INVALID_REST_REQ_PARAM
.
getCode
());
}
catch
(
CustomIllegalParamException
ex
){
return
RestResponse
.
code
(
ResCode
.
INVALID_REST_REQ_PARAM
.
getCode
());
}
}
}
}
}
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/vo/QueryVehicleBookRecordVo.java
0 → 100644
View file @
1b695f4b
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
vo
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
java.util.Date
;
@Data
public
class
QueryVehicleBookRecordVo
{
/**
* 主键
*/
private
Long
id
;
/**
* 车辆id
*/
private
String
vehicle
;
/**
* 申请状态:1-申请中 2-已通过 3-已归还 4-拒绝 5-逾期归还
*/
private
Integer
status
;
/**
* 预定类型,1-用户租赁、2-分公司使用、3-维修
*/
private
Integer
bookType
;
/**
* 预定用户id
*/
private
Integer
bookUser
;
/**
* 预定用户名称
*/
private
String
bookUserName
;
/**
* 联系信息,比如电话、联系人姓名等(json)
*/
private
String
contactInfo
;
/**
* 申请开始日期
*/
private
Date
bookStartDate
;
/**
* 提车地点(经纬度)
*/
private
String
liftLocation
;
/**
* 提车地址
*/
private
String
liftAddr
;
private
String
remark
;
/**
* 目的地
*/
private
String
destination
;
/**
* 申请审核人,-1代表系统
*/
private
Integer
reviewerApply
;
/**
* 归还审核人,-1代表系统
*/
private
Integer
reviewerReturn
;
/**
* 取消人,-1代表系统
*/
private
Integer
reviewerCancel
;
/**
* 申请审核人姓名
*/
private
String
reviewerNameApply
;
/**
* 归还审核人姓名
*/
private
String
reviewerNameReturn
;
/**
* 取消人姓名
*/
private
String
reviewerNameCancel
;
/**
* 申请结束日期
*/
private
Date
bookEndDate
;
/**
* 实际开始日期
*/
private
Date
actualStartDate
;
/**
* 实际结束日期
*/
private
Date
actualEndDate
;
/**
* 车辆编号,0-没有
*/
private
Integer
vehicleCode
;
/**
* 车牌号,空字符串-没有
*/
private
String
numberPlate
;
/**
* 所属分支机构(id)
*/
private
Integer
subordinateBranch
;
/**
* 所属分支机构(名称)
*/
private
String
subBranchName
;
/**
* 当前月份预定记录
*/
private
Integer
bookedDate
;
}
\ No newline at end of file
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/vo/QueryVehicleVo.java
0 → 100644
View file @
1b695f4b
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
vo
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.Id
;
import
java.util.Date
;
@Data
public
class
QueryVehicleVo
{
/**
* 主键(uuid)
*/
private
String
id
;
/**
* 车辆编号,0-没有
*/
private
Integer
code
;
/**
* 车辆状态: 1-正常运行 2-维修 3-报废
*/
private
Integer
status
;
/**
* 车牌号,空字符串-没有
*/
private
String
numberPlate
;
/**
* 品牌(编码,对应关系见相关常量),0-未填写
*/
private
Integer
brand
;
/**
* 所属分支机构(id)
*/
private
Integer
subordinateBranch
;
/**
* 所属分支机构(名称)
*/
private
String
subBranchName
;
/**
* 用途类型:租赁房车(1)、展车等,对应关系见车辆常量表
*/
private
Integer
useType
;
/**
* 备注信息
*/
private
String
remark
;
private
Date
createTime
;
private
Date
updateTime
;
}
\ No newline at end of file
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/vo/VehicleBookRecordQueryVo.java
0 → 100644
View file @
1b695f4b
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
vo
;
import
lombok.Data
;
import
java.util.Date
;
@Data
public
class
VehicleBookRecordQueryVo
{
/**
* 车辆编号,0-没有
*/
private
Integer
vehicleCode
;
/**
* 车牌号,空字符串-没有
*/
private
String
numberPlate
;
/**
* 所属分支机构(id)
*/
private
Integer
subordinateBranch
;
/**
* 查询月份 yyyy-MM
*/
private
String
selectedMonth
;
/**
* 申请状态
*/
private
Integer
status
;
private
Integer
page
;
private
Integer
limit
;
}
\ No newline at end of file
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/vo/VehiclePageQueryVo.java
View file @
1b695f4b
...
@@ -52,8 +52,8 @@ public class VehiclePageQueryVo {
...
@@ -52,8 +52,8 @@ public class VehiclePageQueryVo {
*/
*/
private
String
notBookedEndDate
;
private
String
notBookedEndDate
;
private
Integer
page
No
;
private
Integer
page
;
private
Integer
pageSize
;
private
Integer
limit
;
}
}
vehicle/src/main/resources/mapper/SysRegionMapper.xml
View file @
1b695f4b
...
@@ -6,5 +6,11 @@
...
@@ -6,5 +6,11 @@
select `id`, parent_id, `name`, `type`, agency_id from sys_region limit #{pageStart},${pageSize}
select `id`, parent_id, `name`, `type`, agency_id from sys_region limit #{pageStart},${pageSize}
</select>
</select>
<select
id=
"getByIdList"
parameterType=
"java.util.List"
resultType=
"com.xinxincaravan.caravan.vehicle.entity.SysRegion"
>
select `id`, parent_id, `name`, `type`, agency_id from sys_region where id in
<foreach
collection=
"list"
index=
"i"
item=
"item"
open=
"("
close=
")"
separator=
","
>
#{item}
</foreach>
</select>
</mapper>
</mapper>
\ No newline at end of file
vehicle/src/main/resources/mapper/VehicleBookInfoMapper.xml
View file @
1b695f4b
...
@@ -17,6 +17,15 @@
...
@@ -17,6 +17,15 @@
select id, vehicle, `year_month`, booked_date from vehicle_book_info where vehicle = #{vehicle} and `year_month`=#{yearMonth}
select id, vehicle, `year_month`, booked_date from vehicle_book_info where vehicle = #{vehicle} and `year_month`=#{yearMonth}
</select>
</select>
<select
id=
"getByVehicleIdAndYearMonths"
resultType=
"com.xinxincaravan.caravan.vehicle.entity.VehicleBookInfo"
parameterType=
"java.util.Map"
>
select id, vehicle, `year_month`, booked_date from vehicle_book_info
where vehicle = #{vehicle}
and `year_month` in
<foreach
collection=
"yearMonths"
index=
"i"
item=
"item"
open=
"("
close=
")"
separator=
","
>
#{item}
</foreach>
</select>
<insert
id=
"insertIgnore"
parameterType=
"com.xinxincaravan.caravan.vehicle.entity.VehicleBookInfo"
>
<insert
id=
"insertIgnore"
parameterType=
"com.xinxincaravan.caravan.vehicle.entity.VehicleBookInfo"
>
insert ignore into vehicle_book_info ( vehicle, `year_month`, booked_date)
insert ignore into vehicle_book_info ( vehicle, `year_month`, booked_date)
...
...
vehicle/src/main/resources/mapper/VehicleBookRecordMapper.xml
View file @
1b695f4b
...
@@ -27,14 +27,23 @@ liftLocation" jdbcType="VARCHAR" />
...
@@ -27,14 +27,23 @@ liftLocation" jdbcType="VARCHAR" />
<update
id=
"changeRecordStatus"
parameterType=
"java.util.Map"
>
<update
id=
"changeRecordStatus"
parameterType=
"java.util.Map"
>
update vehicle_book_record set
update vehicle_book_record set
<if
test=
"reviewerApply != null"
>
<if
test=
"reviewerApply != null
"
>
reviewer_apply =#{reviewerApply},
reviewer_apply =#{reviewerApply},
</if>
</if>
<if
test=
"reviewerReturn != null"
>
<if
test=
"reviewerNameApply != null and reviewerNameApply !=''"
>
reviewer_name_apply =#{reviewerNameApply},
</if>
<if
test=
"reviewerReturn != null "
>
reviewer_return =#{reviewerReturn},
reviewer_return =#{reviewerReturn},
</if>
</if>
<if
test=
"reviewerNameReturn != null and reviewerNameReturn !=''"
>
reviewer_name_return =#{reviewerNameReturn},
</if>
<if
test=
"reviewerCancel != null"
>
<if
test=
"reviewerCancel != null"
>
reviewer_cancel =#{reviewerCancel},
reviewer_cancel =#{reviewerCancel},
</if>
<if
test=
"reviewerNameCancel != null and reviewerNameCancel !=''"
>
reviewer_name_cancel =#{reviewerNameCancel},
</if>
</if>
`status` = #{status}
`status` = #{status}
where id = #{id} and `status` = #{statusCondition}
where id = #{id} and `status` = #{statusCondition}
...
@@ -51,6 +60,7 @@ liftLocation" jdbcType="VARCHAR" />
...
@@ -51,6 +60,7 @@ liftLocation" jdbcType="VARCHAR" />
`status`,
`status`,
`book_type`,
`book_type`,
`book_user`,
`book_user`,
`book_user_name`,
`contact_info`,
`contact_info`,
`book_start_date`,
`book_start_date`,
`book_end_date`,
`book_end_date`,
...
@@ -59,8 +69,11 @@ liftLocation" jdbcType="VARCHAR" />
...
@@ -59,8 +69,11 @@ liftLocation" jdbcType="VARCHAR" />
`remark`,
`remark`,
`destination`,
`destination`,
`reviewer_apply`,
`reviewer_apply`,
`reviewer_name_apply`,
`reviewer_return`,
`reviewer_return`,
`reviewer_name_return`,
`reviewer_cancel`,
`reviewer_cancel`,
`reviewer_name_cancel`,
`actual_start_date`,
`actual_start_date`,
`actual_end_date`
`actual_end_date`
)
)
...
@@ -70,6 +83,7 @@ liftLocation" jdbcType="VARCHAR" />
...
@@ -70,6 +83,7 @@ liftLocation" jdbcType="VARCHAR" />
#{status},
#{status},
#{bookType},
#{bookType},
#{bookUser},
#{bookUser},
#{bookUserName},
#{contactInfo},
#{contactInfo},
#{bookStartDate},
#{bookStartDate},
#{bookEndDate},
#{bookEndDate},
...
@@ -78,8 +92,11 @@ liftLocation" jdbcType="VARCHAR" />
...
@@ -78,8 +92,11 @@ liftLocation" jdbcType="VARCHAR" />
#{remark},
#{remark},
#{destination},
#{destination},
#{reviewerApply},
#{reviewerApply},
#{reviewerNameApply},
#{reviewerReturn},
#{reviewerReturn},
#{reviewerNameReturn},
#{reviewerCancel},
#{reviewerCancel},
#{reviewerNameCancel},
#{actualStartDate},
#{actualStartDate},
#{actualEndDate}
#{actualEndDate}
);
);
...
@@ -92,6 +109,7 @@ liftLocation" jdbcType="VARCHAR" />
...
@@ -92,6 +109,7 @@ liftLocation" jdbcType="VARCHAR" />
`status`,
`status`,
`book_type`,
`book_type`,
`book_user`,
`book_user`,
`book_user_name`,
`contact_info`,
`contact_info`,
`book_start_date`,
`book_start_date`,
`book_end_date`,
`book_end_date`,
...
@@ -102,8 +120,11 @@ liftLocation" jdbcType="VARCHAR" />
...
@@ -102,8 +120,11 @@ liftLocation" jdbcType="VARCHAR" />
`update_time`,
`update_time`,
`destination`,
`destination`,
`reviewer_apply`,
`reviewer_apply`,
`reviewer_name_apply`,
`reviewer_return`,
`reviewer_return`,
`reviewer_name_return`,
`reviewer_cancel`,
`reviewer_cancel`,
`reviewer_name_cancel`,
`actual_start_date`,
`actual_start_date`,
`actual_end_date`
`actual_end_date`
from
from
...
@@ -114,6 +135,65 @@ liftLocation" jdbcType="VARCHAR" />
...
@@ -114,6 +135,65 @@ liftLocation" jdbcType="VARCHAR" />
limit #{pageStart},#{pageSize}
limit #{pageStart},#{pageSize}
</select>
</select>
<select
id=
"getByPage"
parameterType=
"java.util.Map"
resultType=
"com.xinxincaravan.caravan.vehicle.vo.QueryVehicleBookRecordVo"
>
select
vbr.`id`,
vbr.`vehicle`,
vbr.`status`,
vbr.`book_type`,
vbr.`book_user`,
vbr.`book_user_name`,
vbr.`contact_info`,
vbr.`book_start_date`,
vbr.`book_end_date`,
vbr.`lift_location`,
vbr.`lift_addr`,
vbr.`remark`,
vbr.`create_time`,
vbr.`update_time`,
vbr.`destination`,
vbr.`reviewer_apply`,
vbr.`reviewer_name_apply`,
vbr.`reviewer_return`,
vbr.`reviewer_name_return`,
vbr.`reviewer_cancel`,
vbr.`reviewer_name_cancel`,
vbr.`actual_start_date`,
vbr.`actual_end_date`,
v.`code` as vehicleCode,
v.number_plate as numberPlate,
v.subordinate_branch,
bc.name as subBranchName,
vbf.booked_date as bookedDate
from
${tbName} vbr left join
vehicle v on vbr.vehicle = v.id left join
branch_company bc on bc.id = v.subordinate_branch left join
vehicle_book_info vbf on vbf.vehicle = vbr.vehicle and vbf.year_month = #{selectedMonth}
where
1=1
<if
test=
"numberPlate !=null and numberPlate !=''"
>
and v.number_plate = #{numberPlate}
</if>
<if
test=
"vehicleCode !=null and vehicleCode !=''"
>
and v.code = #{vehicleCode}
</if>
<if
test=
"status !=null "
>
and vbr.status = #{status}
</if>
<if
test=
"subordinateBranch !=null"
>
and v.subordinate_branch = #{subordinateBranch}
</if>
<if
test=
"bookedStartDate !=null"
>
and vbr.book_start_date
>
= #{bookedStartDate}
</if>
<if
test=
"bookedEndDate !=null"
>
and vbr.book_end_date
<
= #{bookedEndDate}
</if>
order by vbr.id desc
</select>
<insert
id=
"createTbIfNotExists"
parameterType=
"java.lang.String"
>
<insert
id=
"createTbIfNotExists"
parameterType=
"java.lang.String"
>
CREATE TABLE IF NOT EXISTS ${_parameter} (
CREATE TABLE IF NOT EXISTS ${_parameter} (
...
@@ -121,7 +201,8 @@ liftLocation" jdbcType="VARCHAR" />
...
@@ -121,7 +201,8 @@ liftLocation" jdbcType="VARCHAR" />
`vehicle` varchar(40) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '车辆id',
`vehicle` varchar(40) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '车辆id',
`status` int(255) NULL DEFAULT NULL COMMENT '申请状态:1-申请中 2-已通过 3-已归还 4-拒绝 5-逾期归还 6-已取消',
`status` int(255) NULL DEFAULT NULL COMMENT '申请状态:1-申请中 2-已通过 3-已归还 4-拒绝 5-逾期归还 6-已取消',
`book_type` int(11) NOT NULL COMMENT '预定类型,1-用户租赁、2-内部员工申请 3-维修',
`book_type` int(11) NOT NULL COMMENT '预定类型,1-用户租赁、2-内部员工申请 3-维修',
`book_user` int(11) NOT NULL COMMENT '预定用户id,对应menberinfo表中的id',
`book_user` int(11) NOT NULL COMMENT '预定用户id',
`book_user_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '申请人姓名',
`contact_info` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '联系信息,比如电话、联系人姓名等(json)',
`contact_info` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '联系信息,比如电话、联系人姓名等(json)',
`book_start_date` datetime(0) NOT NULL COMMENT '申请开始日期',
`book_start_date` datetime(0) NOT NULL COMMENT '申请开始日期',
`book_end_date` datetime(0) NOT NULL COMMENT '申请结束日期',
`book_end_date` datetime(0) NOT NULL COMMENT '申请结束日期',
...
@@ -132,8 +213,11 @@ liftLocation" jdbcType="VARCHAR" />
...
@@ -132,8 +213,11 @@ liftLocation" jdbcType="VARCHAR" />
`update_time` datetime(0) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0),
`update_time` datetime(0) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0),
`destination` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '目的地',
`destination` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '目的地',
`reviewer_apply` int(10) NULL DEFAULT NULL COMMENT '申请审核人,-1代表系统',
`reviewer_apply` int(10) NULL DEFAULT NULL COMMENT '申请审核人,-1代表系统',
`reviewer_name_apply` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '申请审核人姓名',
`reviewer_return` int(10) NULL DEFAULT NULL COMMENT '归还审核人,-1代表系统',
`reviewer_return` int(10) NULL DEFAULT NULL COMMENT '归还审核人,-1代表系统',
`reviewer_name_return` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '归还审核人姓名',
`reviewer_cancel` int(10) NULL DEFAULT NULL COMMENT '取消人,-1代表系统',
`reviewer_cancel` int(10) NULL DEFAULT NULL COMMENT '取消人,-1代表系统',
`reviewer_name_cancel` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '取消预定人姓名',
`actual_start_date` datetime(0) NULL DEFAULT NULL COMMENT '实际开始日期',
`actual_start_date` datetime(0) NULL DEFAULT NULL COMMENT '实际开始日期',
`actual_end_date` datetime(0) NULL DEFAULT NULL COMMENT '实际结束日期',
`actual_end_date` datetime(0) NULL DEFAULT NULL COMMENT '实际结束日期',
PRIMARY KEY (`id`) USING BTREE,
PRIMARY KEY (`id`) USING BTREE,
...
...
vehicle/src/main/resources/mapper/VehicleMapper.xml
View file @
1b695f4b
...
@@ -25,15 +25,18 @@
...
@@ -25,15 +25,18 @@
</update>
</update>
<select
id=
"getByPage"
parameterType=
"java.util.Map"
resultType=
"com.xinxincaravan.caravan.vehicle.
entity.Vehicle
"
>
<select
id=
"getByPage"
parameterType=
"java.util.Map"
resultType=
"com.xinxincaravan.caravan.vehicle.
vo.QueryVehicleVo
"
>
select v.`id`,
select v.`id`,
v.`code`,
v.`code`,
v.`status`,
v.`status`,
v.number_plate,
v.number_plate,
v.brand,
v.brand,
v.subordinate_branch,
v.subordinate_branch,
bc.name as subBranchName,
v.use_type,
v.use_type,
v.remark
v.remark,
v.create_time,
v.update_time
<if
test=
" yearMonthAndParam !=null "
>
<if
test=
" yearMonthAndParam !=null "
>
,vbi.booked_date
,vbi.booked_date
</if>
</if>
...
@@ -42,6 +45,7 @@
...
@@ -42,6 +45,7 @@
left join
left join
vehicle_book_info vbi on v.`id` = vbi.vehicle
vehicle_book_info vbi on v.`id` = vbi.vehicle
</if>
</if>
left join branch_company bc on v.`subordinate_branch` = bc.id
where
where
1=1
1=1
<if
test=
"subordinateBranch !=null"
>
<if
test=
"subordinateBranch !=null"
>
...
@@ -71,7 +75,7 @@
...
@@ -71,7 +75,7 @@
)
)
</foreach>
</foreach>
</if>
</if>
order by v.
id
order by v.
code
</select>
</select>
</mapper>
</mapper>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment