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
a02d6a3c
Commit
a02d6a3c
authored
Apr 25, 2019
by
dengjh
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
43eb29ac
a6f82927
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
474 additions
and
0 deletions
+474
-0
VehicleActiveService.java
...nxincaravan/caravan/vehicle/biz/VehicleActiveService.java
+129
-0
BaseExceptionHandler.java
...ncaravan/caravan/vehicle/config/BaseExceptionHandler.java
+16
-0
ResCode.java
...nxincaravan/caravan/vehicle/constant/ResCode/ResCode.java
+5
-0
VehicleActiveType.java
...incaravan/caravan/vehicle/constant/VehicleActiveType.java
+35
-0
VehicleStatus.java
...xinxincaravan/caravan/vehicle/constant/VehicleStatus.java
+1
-0
VehicleActiveLog.java
...inxincaravan/caravan/vehicle/entity/VehicleActiveLog.java
+47
-0
VehicleDepartureLog.java
...incaravan/caravan/vehicle/entity/VehicleDepartureLog.java
+73
-0
VehicleActiveLogMapper.java
...aravan/caravan/vehicle/mapper/VehicleActiveLogMapper.java
+8
-0
VehicleDepartureLogMapper.java
...van/caravan/vehicle/mapper/VehicleDepartureLogMapper.java
+9
-0
VehicleMapper.java
...m/xinxincaravan/caravan/vehicle/mapper/VehicleMapper.java
+3
-0
VehicleActiveController.java
...caravan/caravan/vehicle/rest/VehicleActiveController.java
+50
-0
VehicleArrivalVo.java
...om/xinxincaravan/caravan/vehicle/vo/VehicleArrivalVo.java
+26
-0
VehicleDepartureVo.java
.../xinxincaravan/caravan/vehicle/vo/VehicleDepartureVo.java
+40
-0
VehicleActiveLogMapper.xml
vehicle/src/main/resources/mapper/VehicleActiveLogMapper.xml
+13
-0
VehicleDepartureLogMapper.xml
...e/src/main/resources/mapper/VehicleDepartureLogMapper.xml
+13
-0
VehicleMapper.xml
vehicle/src/main/resources/mapper/VehicleMapper.xml
+6
-0
No files found.
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/biz/VehicleActiveService.java
0 → 100644
View file @
a02d6a3c
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
biz
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.xinxincaravan.caravan.vehicle.constant.ResCode.ResCode
;
import
com.xinxincaravan.caravan.vehicle.constant.VehicleActiveType
;
import
com.xinxincaravan.caravan.vehicle.constant.VehicleStatus
;
import
com.xinxincaravan.caravan.vehicle.entity.Vehicle
;
import
com.xinxincaravan.caravan.vehicle.entity.VehicleActiveLog
;
import
com.xinxincaravan.caravan.vehicle.entity.VehicleDepartureLog
;
import
com.xinxincaravan.caravan.vehicle.mapper.VehicleActiveLogMapper
;
import
com.xinxincaravan.caravan.vehicle.mapper.VehicleDepartureLogMapper
;
import
com.xinxincaravan.caravan.vehicle.mapper.VehicleMapper
;
import
com.xinxincaravan.caravan.vehicle.vo.VehicleArrivalVo
;
import
com.xinxincaravan.caravan.vehicle.vo.VehicleDepartureVo
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.Date
;
@Service
public
class
VehicleActiveService
{
@Autowired
VehicleMapper
vehicleMapper
;
@Autowired
VehicleDepartureLogMapper
vehicleDepartureLogMapper
;
@Autowired
VehicleActiveLogMapper
vehicleActiveLogMapper
;
/**
* 出车
*
* @param departureVo
*/
@Transactional
public
void
departure
(
VehicleDepartureVo
departureVo
)
{
Vehicle
vehicle
=
vehicleMapper
.
selectByPrimaryKey
(
departureVo
.
getVehicleId
());
if
(
vehicle
==
null
)
{
throw
new
BaseException
(
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNEXIST
.
getDesc
(),
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNEXIST
.
getCode
());
}
if
(!
vehicle
.
getStatus
().
equals
(
VehicleStatus
.
NORMAL
.
getCode
()))
{
throw
new
BaseException
(
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_DISABLE
.
getDesc
(),
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_DISABLE
.
getCode
());
}
// 出车记录
VehicleDepartureLog
departureLog
=
new
VehicleDepartureLog
();
BeanUtils
.
copyProperties
(
departureVo
,
departureLog
);
departureLog
.
setDepartureTime
(
new
Date
());
departureLog
.
setCreateTime
(
new
Date
());
departureLog
.
setMileageStart
(
departureVo
.
getMileage
());
vehicleDepartureLogMapper
.
insert
(
departureLog
);
// 车辆活动日志
VehicleActiveLog
activeLog
=
new
VehicleActiveLog
();
activeLog
.
setVehicleId
(
departureVo
.
getVehicleId
());
activeLog
.
setActiveType
(
VehicleActiveType
.
Departure
.
getCode
());
activeLog
.
setStartTime
(
new
Date
());
activeLog
.
setCreateTime
(
new
Date
());
vehicleActiveLogMapper
.
insert
(
activeLog
);
// 写入车辆公里数
vehicle
.
setMileageLastUpdate
(
departureVo
.
getMileage
());
vehicleMapper
.
updateByPrimaryKeySelective
(
vehicle
);
// 修改车辆状态,确认是空闲状态
int
result
=
vehicleMapper
.
updateStatusByIdAndStatus
(
departureVo
.
getVehicleId
(),
VehicleStatus
.
DEPARTURE
.
getCode
(),
VehicleStatus
.
NORMAL
.
getCode
());
if
(
result
==
0
)
{
throw
new
BaseException
(
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_DISABLE
.
getDesc
(),
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_DISABLE
.
getCode
());
}
}
@Transactional
public
void
arrival
(
VehicleArrivalVo
arrivalVo
)
{
Vehicle
vehicle
=
vehicleMapper
.
selectByPrimaryKey
(
arrivalVo
.
getVehicleId
());
if
(
vehicle
==
null
)
{
throw
new
BaseException
(
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNEXIST
.
getDesc
(),
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNEXIST
.
getCode
());
}
if
(!
vehicle
.
getStatus
().
equals
(
VehicleStatus
.
DEPARTURE
.
getCode
()))
{
throw
new
BaseException
(
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE
.
getDesc
(),
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE
.
getCode
());
}
// 出车记录
VehicleDepartureLog
departureLog
=
vehicleDepartureLogMapper
.
selectLastByVehicleId
(
arrivalVo
.
getVehicleId
());
if
(
departureLog
==
null
)
{
throw
new
BaseException
(
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE
.
getDesc
(),
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE
.
getCode
());
}
departureLog
.
setMileageEnd
(
arrivalVo
.
getMileage
());
departureLog
.
setRecycleMan
(
arrivalVo
.
getRecycleMan
());
departureLog
.
setRecycleManTel
(
arrivalVo
.
getRecycleManTel
());
departureLog
.
setUpdateTime
(
new
Date
());
departureLog
.
setArrivalTime
(
new
Date
());
vehicleDepartureLogMapper
.
updateByPrimaryKeySelective
(
departureLog
);
// 车辆活动日志
VehicleActiveLog
activeLog
=
vehicleActiveLogMapper
.
selectLastByVehicleId
(
arrivalVo
.
getVehicleId
());
if
(
activeLog
==
null
)
{
throw
new
BaseException
(
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE
.
getDesc
(),
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE
.
getCode
());
}
activeLog
.
setEndTime
(
new
Date
());
activeLog
.
setUpdateTime
(
new
Date
());
vehicleActiveLogMapper
.
updateByPrimaryKeySelective
(
activeLog
);
// 写入车辆公里数
vehicle
.
setMileageLastUpdate
(
arrivalVo
.
getMileage
());
vehicleMapper
.
updateByPrimaryKeySelective
(
vehicle
);
// 修改状态,确认是出车状态
int
result
=
vehicleMapper
.
updateStatusByIdAndStatus
(
arrivalVo
.
getVehicleId
(),
VehicleStatus
.
NORMAL
.
getCode
(),
VehicleStatus
.
DEPARTURE
.
getCode
());
if
(
result
==
0
)
{
throw
new
BaseException
(
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE
.
getDesc
(),
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE
.
getCode
());
}
}
}
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/config/BaseExceptionHandler.java
0 → 100644
View file @
a02d6a3c
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
config
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.xinxincaravan.caravan.vehicle.common.RestResponse
;
import
org.springframework.web.bind.annotation.ExceptionHandler
;
import
org.springframework.web.bind.annotation.RestControllerAdvice
;
@RestControllerAdvice
public
class
BaseExceptionHandler
{
@ExceptionHandler
(
BaseException
.
class
)
public
RestResponse
baseExceptionHandler
(
BaseException
e
)
{
return
RestResponse
.
codeAndMessage
(
e
.
getStatus
(),
e
.
getMessage
());
}
}
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/constant/ResCode/ResCode.java
View file @
a02d6a3c
...
...
@@ -18,6 +18,11 @@ public enum ResCode {
//车辆信息相关返回码-预定申请信息
VEHICLE_BOOKED_RECORD_ALREADY_CHANGED
(
103001
,
"车辆预定申请已被审批,请刷新后继续操作"
),
VEHICLE_BOOKED_RECORD_STATUS_CHANGED
(
103002
,
"车辆预定申请状态已变更,请刷新后继续操作"
),
VEHICLE_DEPARTURE_VEHICLE_UNEXIST
(
104001
,
"车辆不存在"
),
VEHICLE_DEPARTURE_VEHICLE_DISABLE
(
104002
,
"车辆不可用"
),
VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE
(
104003
,
"车辆未出车"
),
;
/**
* 返回码
...
...
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/constant/VehicleActiveType.java
0 → 100644
View file @
a02d6a3c
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
constant
;
/**
* 车辆活动类型
*/
public
enum
VehicleActiveType
{
Departure
(
1
,
"出车"
),
REPAIRING
(
2
,
"维修"
),
DISCARD
(
3
,
"报废"
);
Integer
code
;
String
msg
;
VehicleActiveType
(
Integer
code
,
String
msg
)
{
this
.
code
=
code
;
this
.
msg
=
msg
;
}
public
Integer
getCode
()
{
return
code
;
}
public
void
setCode
(
Integer
code
)
{
this
.
code
=
code
;
}
public
String
getMsg
()
{
return
msg
;
}
public
void
setMsg
(
String
msg
)
{
this
.
msg
=
msg
;
}
}
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/constant/VehicleStatus.java
View file @
a02d6a3c
...
...
@@ -8,6 +8,7 @@ public enum VehicleStatus {
NORMAL
(
1
,
"正常运行"
),
REPAIRING
(
2
,
"维修"
),
DISCARD
(
3
,
"报废"
),
DEPARTURE
(
4
,
"出车"
),
;
/**
...
...
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/entity/VehicleActiveLog.java
0 → 100644
View file @
a02d6a3c
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
entity
;
import
lombok.Data
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.GenerationType
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
java.util.Date
;
/**
* 车辆活动日志
*/
@Table
(
name
=
"vehicle_active_log"
)
@Data
public
class
VehicleActiveLog
{
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
,
generator
=
"JDBC"
)
Integer
id
;
/**
* 车辆ID
*/
String
vehicleId
;
/**
* 活动类型
* VehicleActiveType
*/
Integer
activeType
;
/**
* 开始时间
*/
Date
startTime
;
/**
* 结束时间
*/
Date
endTime
;
/**
* 创建时间
*/
Date
createTime
;
/**
* 修改时间
*/
Date
updateTime
;
}
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/entity/VehicleDepartureLog.java
0 → 100644
View file @
a02d6a3c
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
entity
;
import
lombok.Data
;
import
javax.persistence.*
;
import
java.util.Date
;
/**
* 出车记录
*/
@Table
(
name
=
"vehicle_departure_log"
)
@Data
public
class
VehicleDepartureLog
{
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
,
generator
=
"JDBC"
)
Integer
id
;
/**
* 车辆ID
*/
String
vehicleId
;
/**
* 用途
*/
@Column
(
name
=
"`use`"
)
String
use
;
/**
* 使用人
*/
@Column
(
name
=
"`user`"
)
String
user
;
/**
* 使用人电话
*/
String
userTel
;
/**
* 验车人
*/
String
checkMan
;
/**
* 验车人电话
*/
String
checkManTel
;
/**
* 收车人
*/
String
recycleMan
;
/**
* 收车人电话
*/
String
recycleManTel
;
/**
* 出车时间
*/
Date
departureTime
;
/**
* 还车时间
*/
Date
arrivalTime
;
/**
* 出车开始的公里数
*/
Integer
mileageStart
;
/**
* 出车结束的公里数
*/
Integer
mileageEnd
;
Date
createTime
;
Date
updateTime
;
}
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/mapper/VehicleActiveLogMapper.java
0 → 100644
View file @
a02d6a3c
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
mapper
;
import
com.xinxincaravan.caravan.vehicle.entity.VehicleActiveLog
;
import
tk.mybatis.mapper.common.BaseMapper
;
public
interface
VehicleActiveLogMapper
extends
BaseMapper
<
VehicleActiveLog
>
{
VehicleActiveLog
selectLastByVehicleId
(
String
vehicleId
);
}
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/mapper/VehicleDepartureLogMapper.java
0 → 100644
View file @
a02d6a3c
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
mapper
;
import
com.xinxincaravan.caravan.vehicle.entity.VehicleDepartureLog
;
import
tk.mybatis.mapper.common.BaseMapper
;
public
interface
VehicleDepartureLogMapper
extends
BaseMapper
<
VehicleDepartureLog
>
{
VehicleDepartureLog
selectLastByVehicleId
(
String
vehicleId
);
}
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/mapper/VehicleMapper.java
View file @
a02d6a3c
...
...
@@ -3,6 +3,7 @@ package com.xinxincaravan.caravan.vehicle.mapper;
import
com.xinxincaravan.caravan.vehicle.entity.Vehicle
;
import
com.xinxincaravan.caravan.vehicle.vo.AddOrUpdateVehicleVo
;
import
com.xinxincaravan.caravan.vehicle.vo.QueryVehicleVo
;
import
org.springframework.data.repository.query.Param
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
...
...
@@ -21,4 +22,6 @@ public interface VehicleMapper extends Mapper<Vehicle> {
*/
public
List
<
Vehicle
>
lockByCode
(
AddOrUpdateVehicleVo
addOrUpdateVehicleVo
);
int
updateStatusByIdAndStatus
(
@Param
(
"vehicleId"
)
String
vehicleId
,
@Param
(
"status"
)
Integer
status
,
@Param
(
"lastStatus"
)
Integer
lastStatus
);
}
\ No newline at end of file
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/rest/VehicleActiveController.java
0 → 100644
View file @
a02d6a3c
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
rest
;
import
com.xinxincaravan.caravan.vehicle.biz.VehicleActiveService
;
import
com.xinxincaravan.caravan.vehicle.common.RestResponse
;
import
com.xinxincaravan.caravan.vehicle.constant.ResCode.ResCode
;
import
com.xinxincaravan.caravan.vehicle.vo.VehicleArrivalVo
;
import
com.xinxincaravan.caravan.vehicle.vo.VehicleDepartureVo
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
@RestController
@RequestMapping
(
"active"
)
public
class
VehicleActiveController
{
@Autowired
VehicleActiveService
vehicleActiveService
;
/**
* 发车
*
* @return
*/
@PostMapping
(
"departure"
)
public
RestResponse
departure
(
@RequestBody
VehicleDepartureVo
departureVo
)
{
if
(
departureVo
==
null
||
departureVo
.
getVehicleId
()
==
null
||
departureVo
.
getMileage
()
==
null
)
{
return
RestResponse
.
codeAndMessage
(
ResCode
.
INVALID_REST_REQ_PARAM
.
getCode
(),
ResCode
.
INVALID_REST_REQ_PARAM
.
getDesc
());
}
vehicleActiveService
.
departure
(
departureVo
);
return
RestResponse
.
suc
();
}
@PostMapping
(
"arrival"
)
public
RestResponse
arrival
(
@RequestBody
VehicleArrivalVo
arrivalVo
)
{
if
(
arrivalVo
==
null
||
arrivalVo
.
getVehicleId
()
==
null
||
arrivalVo
.
getMileage
()
==
null
)
{
return
RestResponse
.
codeAndMessage
(
ResCode
.
INVALID_REST_REQ_PARAM
.
getCode
(),
ResCode
.
INVALID_REST_REQ_PARAM
.
getDesc
());
}
vehicleActiveService
.
arrival
(
arrivalVo
);
return
RestResponse
.
suc
();
}
}
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/vo/VehicleArrivalVo.java
0 → 100644
View file @
a02d6a3c
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
vo
;
import
lombok.Data
;
/**
* 还车请求
*/
@Data
public
class
VehicleArrivalVo
{
String
vehicleId
;
/**
* 收车人
*/
String
recycleMan
;
/**
* 收车人电话
*/
String
recycleManTel
;
/**
* 公里数
*/
Integer
mileage
;
}
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/vo/VehicleDepartureVo.java
0 → 100644
View file @
a02d6a3c
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
vo
;
import
lombok.Data
;
/**
* 出车请求
*/
@Data
public
class
VehicleDepartureVo
{
/**
* 车辆ID
*/
String
vehicleId
;
/**
* 用途
*/
String
use
;
/**
* 使用人
*/
String
user
;
/**
* 使用人电话
*/
String
userTel
;
/**
* 验车人
*/
String
checkMan
;
/**
* 验车人电话
*/
String
checkManTel
;
/**
* 公里数
*/
Integer
mileage
;
}
vehicle/src/main/resources/mapper/VehicleActiveLogMapper.xml
0 → 100644
View file @
a02d6a3c
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper
namespace=
"com.xinxincaravan.caravan.vehicle.mapper.VehicleActiveLogMapper"
>
<select
id=
"selectLastByVehicleId"
resultType=
"com.xinxincaravan.caravan.vehicle.entity.VehicleActiveLog"
>
select * from vehicle_active_log
where vehicle_id = #{vehicleId}
order by create_time desc
limit 1
</select>
</mapper>
\ No newline at end of file
vehicle/src/main/resources/mapper/VehicleDepartureLogMapper.xml
0 → 100644
View file @
a02d6a3c
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper
namespace=
"com.xinxincaravan.caravan.vehicle.mapper.VehicleDepartureLogMapper"
>
<select
id=
"selectLastByVehicleId"
resultType=
"com.xinxincaravan.caravan.vehicle.entity.VehicleDepartureLog"
>
select * from vehicle_departure_log
where vehicle_id = #{vehicleId}
order by create_time desc
limit 1
</select>
</mapper>
\ No newline at end of file
vehicle/src/main/resources/mapper/VehicleMapper.xml
View file @
a02d6a3c
...
...
@@ -112,4 +112,10 @@
for update
</select>
<update
id=
"updateStatusByIdAndStatus"
>
update vehicle
set status = #{status}
where id = #{vehicleId} and status = #{lastStatus}
</update>
</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