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
9775de12
Commit
9775de12
authored
May 11, 2020
by
jiaorz
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master-vehicle-price' into dev
parents
d891fc43
f3d338d4
Changes
19
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
701 additions
and
5 deletions
+701
-5
application.yml
ace-modules/ace-generator/src/main/resources/application.yml
+1
-1
generator.properties
...les/ace-generator/src/main/resources/generator.properties
+1
-1
biz.java.vm
...les/ace-generator/src/main/resources/template/biz.java.vm
+1
-1
controller.java.vm
...-generator/src/main/resources/template/controller.java.vm
+1
-1
mapper.java.vm
.../ace-generator/src/main/resources/template/mapper.java.vm
+0
-1
Vehicle.java
...c/main/java/com/xxfc/platform/vehicle/entity/Vehicle.java
+3
-0
VehicleCommonPriceInfo.java
.../xxfc/platform/vehicle/entity/VehicleCommonPriceInfo.java
+115
-0
VehicleHolidayPriceInfo.java
...xxfc/platform/vehicle/entity/VehicleHolidayPriceInfo.java
+124
-0
VehicleCommonPriceDto.java
...xxfc/platform/vehicle/pojo/dto/VehicleCommonPriceDto.java
+10
-0
VehicleCommonPriceVo.java
...m/xxfc/platform/vehicle/pojo/vo/VehicleCommonPriceVo.java
+19
-0
VehicleBiz.java
...c/main/java/com/xxfc/platform/vehicle/biz/VehicleBiz.java
+18
-0
VehicleCommonPriceInfoBiz.java
.../xxfc/platform/vehicle/biz/VehicleCommonPriceInfoBiz.java
+126
-0
VehicleHolidayPriceInfoBiz.java
...xxfc/platform/vehicle/biz/VehicleHolidayPriceInfoBiz.java
+142
-0
VehicleCommonPriceInfoMapper.java
...platform/vehicle/mapper/VehicleCommonPriceInfoMapper.java
+19
-0
VehicleHolidayPriceInfoMapper.java
...latform/vehicle/mapper/VehicleHolidayPriceInfoMapper.java
+15
-0
VehicleCommonPriceInfoController.java
...atform/vehicle/rest/VehicleCommonPriceInfoController.java
+38
-0
VehicleHolidayPriceInfoController.java
...tform/vehicle/rest/VehicleHolidayPriceInfoController.java
+31
-0
VehicleCommonPriceInfoMapper.xml
...rc/main/resources/mapper/VehicleCommonPriceInfoMapper.xml
+30
-0
VehicleHolidayPriceInfoMapper.xml
...c/main/resources/mapper/VehicleHolidayPriceInfoMapper.xml
+7
-0
No files found.
ace-modules/ace-generator/src/main/resources/application.yml
View file @
9775de12
...
@@ -10,7 +10,7 @@ spring:
...
@@ -10,7 +10,7 @@ spring:
datasource
:
datasource
:
type
:
com.alibaba.druid.pool.DruidDataSource
type
:
com.alibaba.druid.pool.DruidDataSource
driverClassName
:
com.mysql.jdbc.Driver
driverClassName
:
com.mysql.jdbc.Driver
url
:
jdbc:mysql://10.5.52.3:3306/xxfc_
order
?useUnicode=true&characterEncoding=UTF-8
url
:
jdbc:mysql://10.5.52.3:3306/xxfc_
vehicle
?useUnicode=true&characterEncoding=UTF-8
username
:
root
username
:
root
password
:
sslcloud123*()
password
:
sslcloud123*()
jackson
:
jackson
:
...
...
ace-modules/ace-generator/src/main/resources/generator.properties
View file @
9775de12
#\u4EE3\u7801\u751F\u6210\u5668\uFF0C\u914D\u7F6E\u4FE1\u606F
#\u4EE3\u7801\u751F\u6210\u5668\uFF0C\u914D\u7F6E\u4FE1\u606F
#\u5305\u540D
#\u5305\u540D
package
=
com.xxfc.platform.
order
package
=
com.xxfc.platform.
vehicle
#\u4F5C\u8005
#\u4F5C\u8005
author
=
libin
author
=
libin
#Email
#Email
...
...
ace-modules/ace-generator/src/main/resources/template/biz.java.vm
View file @
9775de12
...
@@ -14,5 +14,5 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
...
@@ -14,5 +14,5 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
*
@
date
${
datetime
}
*
@
date
${
datetime
}
*/
*/
@
Service
@
Service
public
class
${
className
}
Biz
extends
BaseBiz
<${
className
}
Mapper
,${
className
}>
{
public
class
${
className
}
Biz
extends
BaseBiz
<${
className
}
Mapper
,
${
className
}>
{
}
}
\ No newline at end of file
ace-modules/ace-generator/src/main/resources/template/controller.java.vm
View file @
9775de12
...
@@ -9,6 +9,6 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -9,6 +9,6 @@ import org.springframework.web.bind.annotation.RestController;
@
RestController
@
RestController
@
RequestMapping
(
"${secondModuleName}"
)
@
RequestMapping
(
"${secondModuleName}"
)
public
class
${
className
}
Controller
extends
BaseController
<${
className
}
Biz
,${
className
}>
{
public
class
${
className
}
Controller
extends
BaseController
<${
className
}
Biz
,
${
className
}>
{
}
}
\ No newline at end of file
ace-modules/ace-generator/src/main/resources/template/mapper.java.vm
View file @
9775de12
...
@@ -10,7 +10,6 @@ import tk.mybatis.mapper.common.Mapper;
...
@@ -10,7 +10,6 @@ import tk.mybatis.mapper.common.Mapper;
*
@
email
${
email
}
*
@
email
${
email
}
*
@
date
${
datetime
}
*
@
date
${
datetime
}
*/
*/
@
Mapper
public
interface
${
className
}
Mapper
extends
Mapper
<${
className
}>
{
public
interface
${
className
}
Mapper
extends
Mapper
<${
className
}>
{
}
}
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/entity/Vehicle.java
View file @
9775de12
...
@@ -220,4 +220,7 @@ public class Vehicle {
...
@@ -220,4 +220,7 @@ public class Vehicle {
@Column
(
name
=
"vehicle_inner_status"
)
@Column
(
name
=
"vehicle_inner_status"
)
private
Integer
vehicleInnerStatus
;
private
Integer
vehicleInnerStatus
;
@Column
(
name
=
"vehicle_register_date"
)
private
Date
vehicleRegisterDate
;
}
}
\ No newline at end of file
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/entity/VehicleCommonPriceInfo.java
0 → 100644
View file @
9775de12
package
com
.
xxfc
.
platform
.
vehicle
.
entity
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* 租车通用价格表
*
* @author libin
* @email 18178966185@163.com
* @date 2020-05-11 09:16:23
*/
@Data
@Table
(
name
=
"vehicle_common_price_info"
)
public
class
VehicleCommonPriceInfo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
*
*/
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
@ApiModelProperty
(
""
)
private
Integer
id
;
/**
* 租车价格
*/
@Column
(
name
=
"rent_price"
)
@ApiModelProperty
(
value
=
"租车价格"
)
private
BigDecimal
rentPrice
;
/**
*
*/
@Column
(
name
=
"rent_weekend_price"
)
@ApiModelProperty
(
value
=
"租车周末价格"
)
private
BigDecimal
rentWeekendPrice
;
/**
*
*/
@Column
(
name
=
"rent_free_day"
)
@ApiModelProperty
(
value
=
""
)
private
Integer
rentFreeDay
;
/**
*
*/
@Column
(
name
=
"rent_weekend_day"
)
@ApiModelProperty
(
value
=
""
)
private
Integer
rentWeekendDay
;
/**
*
*/
@Column
(
name
=
"vehicle_id"
)
@ApiModelProperty
(
value
=
""
)
private
String
vehicleId
;
/**
*
*/
@Column
(
name
=
"model_id"
)
@ApiModelProperty
(
value
=
""
)
private
Integer
modelId
;
/**
* 是否所有车型使用:0否,1是
*/
@Column
(
name
=
"all_model_use"
)
@ApiModelProperty
(
value
=
"是否所有车型使用:0否,1是"
)
private
Integer
allModelUse
;
/**
* 是否所有车辆使用:0否,1、是
*/
@Column
(
name
=
"all_vehicle_use"
)
@ApiModelProperty
(
value
=
"是否所有车辆使用:0否,1、是"
)
private
Integer
allVehicleUse
;
/**
* 所属公司
*/
@Column
(
name
=
"company_id"
)
@ApiModelProperty
(
value
=
"所属公司"
)
private
Integer
companyId
;
/**
*
*/
@Column
(
name
=
"crt_time"
)
@ApiModelProperty
(
value
=
""
,
hidden
=
true
)
private
Date
crtTime
;
/**
*
*/
@Column
(
name
=
"upd_time"
)
@ApiModelProperty
(
value
=
""
,
hidden
=
true
)
private
Date
updTime
;
@Column
(
name
=
"is_del"
)
private
Integer
isDel
;
}
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/entity/VehicleHolidayPriceInfo.java
0 → 100644
View file @
9775de12
package
com
.
xxfc
.
platform
.
vehicle
.
entity
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.persistence.*
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* 车辆节假日价格信息表
*
* @author libin
* @email 18178966185@163.com
* @date 2020-05-11 09:16:23
*/
@Data
@Table
(
name
=
"vehicle_holiday_price_info"
)
public
class
VehicleHolidayPriceInfo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
*
*/
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
@ApiModelProperty
(
""
)
private
Integer
id
;
/**
* 节日名称
*/
@Column
(
name
=
"festival_day"
)
@ApiModelProperty
(
value
=
"节日名称"
)
private
String
festivalDay
;
/**
* 节日ID
*/
@Column
(
name
=
"festival_id"
)
@ApiModelProperty
(
value
=
"节日ID"
)
private
Integer
festivalId
;
/**
* 节日时间
*/
@Column
(
name
=
"festival_date"
)
@ApiModelProperty
(
value
=
"节日时间"
)
private
Date
festivalDate
;
/**
* 租车价格
*/
@Column
(
name
=
"rent_price"
)
@ApiModelProperty
(
value
=
"租车价格"
)
private
BigDecimal
rentPrice
;
/**
* 免费天数
*/
@Column
(
name
=
"rent_free_day"
)
@ApiModelProperty
(
value
=
"免费天数"
)
private
Integer
rentFreeDay
;
/**
*
*/
@Column
(
name
=
"vehicle_id"
)
@ApiModelProperty
(
value
=
""
)
private
String
vehicleId
;
/**
*
*/
@Column
(
name
=
"model_id"
)
@ApiModelProperty
(
value
=
""
)
private
Integer
modelId
;
/**
* 是否所有车型使用:0否,1是
*/
@Column
(
name
=
"all_model_use"
)
@ApiModelProperty
(
value
=
"是否所有车型使用:0否,1是"
)
private
Integer
allModelUse
;
/**
* 是否所有车辆使用:0否,1、是
*/
@Column
(
name
=
"all_vehicle_use"
)
@ApiModelProperty
(
value
=
"是否所有车辆使用:0否,1、是"
)
private
Integer
allVehicleUse
;
/**
* 所属公司
*/
@Column
(
name
=
"company_id"
)
@ApiModelProperty
(
value
=
"所属公司"
)
private
Integer
companyId
;
/**
*
*/
@Column
(
name
=
"crt_time"
)
@ApiModelProperty
(
value
=
""
,
hidden
=
true
)
private
Date
crtTime
;
/**
*
*/
@Column
(
name
=
"upd_time"
)
@ApiModelProperty
(
value
=
""
,
hidden
=
true
)
private
Date
updTime
;
@Column
(
name
=
"is_del"
)
private
Integer
isDel
;
@Transient
private
String
startDate
;
@Transient
private
String
endDate
;
}
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/pojo/dto/VehicleCommonPriceDto.java
0 → 100644
View file @
9775de12
package
com
.
xxfc
.
platform
.
vehicle
.
pojo
.
dto
;
import
com.github.wxiaoqi.security.common.vo.PageParam
;
import
lombok.Data
;
@Data
public
class
VehicleCommonPriceDto
extends
PageParam
{
private
Integer
companyId
;
private
Integer
modelId
;
}
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/pojo/vo/VehicleCommonPriceVo.java
0 → 100644
View file @
9775de12
package
com
.
xxfc
.
platform
.
vehicle
.
pojo
.
vo
;
import
com.xxfc.platform.vehicle.entity.VehicleCommonPriceInfo
;
import
lombok.Data
;
@Data
public
class
VehicleCommonPriceVo
extends
VehicleCommonPriceInfo
{
//车辆编号
private
Integer
code
;
//车牌号
private
String
numberPlate
;
//车龄
private
Integer
vehicleAge
=
0
;
//公里数
private
Integer
mileage
=
0
;
//车辆状况
private
Integer
vehicleStatus
;
}
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleBiz.java
View file @
9775de12
...
@@ -1391,6 +1391,24 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
...
@@ -1391,6 +1391,24 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
return
pageDataVO
;
return
pageDataVO
;
}
}
/**
* 获取所属公司所有车辆
* @param companyId
* @return
*/
public
List
<
Vehicle
>
getAllVehicleByCompanyId
(
Integer
companyId
,
Integer
modelId
)
{
Example
example
=
new
Example
(
Vehicle
.
class
);
Example
.
Criteria
criteria
=
example
.
createCriteria
();
if
(
companyId
!=
null
)
{
criteria
.
andEqualTo
(
"subordinateBranch"
,
companyId
);
}
if
(
modelId
!=
null
)
{
criteria
.
andEqualTo
(
"modelId"
,
modelId
);
}
criteria
.
andEqualTo
(
"isDel"
,
0
);
return
mapper
.
selectByExample
(
example
);
}
public
ObjectRestResponse
<
PageDataVO
<
VehicleAndModelInfoVo
>>
getVehicle
(
VehiclePlanDto
vehiclePlanDto
)
{
public
ObjectRestResponse
<
PageDataVO
<
VehicleAndModelInfoVo
>>
getVehicle
(
VehiclePlanDto
vehiclePlanDto
)
{
Integer
page
=
vehiclePlanDto
.
getPage
()
==
null
?
1
:
vehiclePlanDto
.
getPage
();
Integer
page
=
vehiclePlanDto
.
getPage
()
==
null
?
1
:
vehiclePlanDto
.
getPage
();
Integer
limit
=
vehiclePlanDto
.
getLimit
()
==
null
?
10
:
vehiclePlanDto
.
getLimit
();
Integer
limit
=
vehiclePlanDto
.
getLimit
()
==
null
?
10
:
vehiclePlanDto
.
getLimit
();
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleCommonPriceInfoBiz.java
0 → 100644
View file @
9775de12
package
com
.
xxfc
.
platform
.
vehicle
.
biz
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.copier.CopyOptions
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.util.Query
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.github.wxiaoqi.security.common.vo.PageDataVO
;
import
com.xxfc.platform.vehicle.entity.Vehicle
;
import
com.xxfc.platform.vehicle.entity.VehicleCommonPriceInfo
;
import
com.xxfc.platform.vehicle.mapper.VehicleCommonPriceInfoMapper
;
import
com.xxfc.platform.vehicle.pojo.dto.VehicleCommonPriceDto
;
import
com.xxfc.platform.vehicle.pojo.vo.VehicleCommonPriceVo
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
tk.mybatis.mapper.entity.Example
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 租车通用价格表
*
* @author libin
* @email 18178966185@163.com
* @date 2020-05-11 09:16:23
*/
@Service
public
class
VehicleCommonPriceInfoBiz
extends
BaseBiz
<
VehicleCommonPriceInfoMapper
,
VehicleCommonPriceInfo
>
implements
UserRestInterface
{
@Autowired
UserFeign
userFeign
;
@Autowired
VehicleBiz
vehicleBiz
;
@Override
public
UserFeign
getUserFeign
()
{
return
userFeign
;
}
public
ObjectRestResponse
<
VehicleCommonPriceInfo
>
addOrUpdate
(
VehicleCommonPriceInfo
vehicleCommonPriceInfo
)
{
if
(
vehicleCommonPriceInfo
==
null
)
{
return
ObjectRestResponse
.
paramIsEmpty
();
}
Vehicle
vehicle
=
vehicleBiz
.
get
(
vehicleCommonPriceInfo
.
getVehicleId
());
if
(
vehicle
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
FAILED_CODE
,
"车辆不存在!"
);
}
vehicleCommonPriceInfo
.
setCompanyId
(
vehicle
.
getSubordinateBranch
());
List
<
Vehicle
>
vehicleList
=
null
;
if
(
vehicleCommonPriceInfo
.
getAllVehicleUse
()
!=
null
&&
vehicleCommonPriceInfo
.
getAllVehicleUse
()
==
1
)
{
//所有车辆可用
vehicleList
=
vehicleBiz
.
getAllVehicleByCompanyId
(
vehicle
.
getSubordinateBranch
(),
null
);
}
if
(
vehicleCommonPriceInfo
.
getAllModelUse
()
!=
null
&&
vehicleCommonPriceInfo
.
getAllModelUse
()
==
1
)
{
//所有车型可用
vehicleList
=
vehicleBiz
.
getAllVehicleByCompanyId
(
vehicle
.
getSubordinateBranch
(),
null
);
}
if
(
vehicleList
==
null
||
vehicleList
.
size
()
<=
0
)
{
//单个车辆可用
VehicleCommonPriceInfo
oldValue
=
getByVehicleId
(
vehicleCommonPriceInfo
.
getVehicleId
());
if
(
oldValue
==
null
)
{
insertSelectiveRe
(
vehicleCommonPriceInfo
);
}
else
{
BeanUtil
.
copyProperties
(
vehicleCommonPriceInfo
,
oldValue
,
CopyOptions
.
create
().
setIgnoreNullValue
(
true
).
setIgnoreError
(
true
));
updateSelectiveByIdRe
(
oldValue
);
}
}
else
{
vehicleList
.
parallelStream
().
forEach
(
vehicleInfo
->
{
VehicleCommonPriceInfo
oldValue
=
getByVehicleId
(
vehicleInfo
.
getId
());
vehicleCommonPriceInfo
.
setVehicleId
(
vehicleInfo
.
getId
());
vehicleCommonPriceInfo
.
setCompanyId
(
vehicleInfo
.
getSubordinateBranch
());
vehicleCommonPriceInfo
.
setModelId
(
vehicleInfo
.
getModelId
());
if
(
oldValue
==
null
)
{
insertSelectiveRe
(
vehicleCommonPriceInfo
);
}
else
{
BeanUtil
.
copyProperties
(
vehicleCommonPriceInfo
,
oldValue
,
CopyOptions
.
create
().
setIgnoreNullValue
(
true
).
setIgnoreError
(
true
));
updateSelectiveByIdRe
(
oldValue
);
}
});
}
return
ObjectRestResponse
.
succ
();
}
public
VehicleCommonPriceInfo
getByVehicleId
(
String
vehicleId
)
{
Example
example
=
new
Example
(
VehicleCommonPriceInfo
.
class
);
example
.
createCriteria
().
andEqualTo
(
"vehicleId"
,
vehicleId
).
andEqualTo
(
"isDel"
,
0
);
return
mapper
.
selectOneByExample
(
example
);
}
/**
* 获取所有车辆价格信息
* @param vehicleIds 逗号分隔
* @return
*/
public
ObjectRestResponse
<
List
<
VehicleCommonPriceInfo
>>
getAllByVehicleIds
(
String
vehicleIds
)
{
if
(
StringUtils
.
isBlank
(
vehicleIds
))
{
return
ObjectRestResponse
.
paramIsEmpty
();
}
String
[]
vehicleId
=
vehicleIds
.
split
(
","
);
List
<
VehicleCommonPriceInfo
>
list
=
new
ArrayList
<>();
if
(
vehicleId
.
length
>
0
)
{
for
(
String
id
:
vehicleId
)
{
if
(
StringUtils
.
isNotBlank
(
id
))
{
list
.
add
(
getByVehicleId
(
id
));
}
}
}
return
ObjectRestResponse
.
succ
(
list
);
}
public
ObjectRestResponse
<
PageDataVO
<
VehicleCommonPriceVo
>>
selectList
(
VehicleCommonPriceDto
vehicleCommonPriceDto
)
{
if
(
vehicleCommonPriceDto
.
getPage
()
==
null
)
{
vehicleCommonPriceDto
.
setPage
(
1
);
}
if
(
vehicleCommonPriceDto
.
getLimit
()
==
null
)
{
vehicleCommonPriceDto
.
setLimit
(
10
);
}
Query
query
=
new
Query
(
vehicleCommonPriceDto
);
PageDataVO
<
VehicleCommonPriceVo
>
pageDataVO
=
PageDataVO
.
pageInfo
(
query
,
()
->
mapper
.
selectList
(
query
.
getSuper
()));
return
ObjectRestResponse
.
succ
(
pageDataVO
);
}
}
\ No newline at end of file
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleHolidayPriceInfoBiz.java
0 → 100644
View file @
9775de12
package
com
.
xxfc
.
platform
.
vehicle
.
biz
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.copier.CopyOptions
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.xxfc.platform.vehicle.entity.Vehicle
;
import
com.xxfc.platform.vehicle.entity.VehicleHolidayPriceInfo
;
import
com.xxfc.platform.vehicle.mapper.VehicleHolidayPriceInfoMapper
;
import
org.joda.time.DateTime
;
import
org.joda.time.format.DateTimeFormat
;
import
org.joda.time.format.DateTimeFormatter
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
tk.mybatis.mapper.entity.Example
;
import
java.util.ArrayList
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Set
;
/**
* 车辆节假日价格信息表
*
* @author libin
* @email 18178966185@163.com
* @date 2020-05-11 09:16:23
*/
@Service
public
class
VehicleHolidayPriceInfoBiz
extends
BaseBiz
<
VehicleHolidayPriceInfoMapper
,
VehicleHolidayPriceInfo
>
{
public
static
final
DateTimeFormatter
DATE_TIME_FORMATTER
=
DateTimeFormat
.
forPattern
(
"yyyy-MM-dd"
);
@Autowired
VehicleBiz
vehicleBiz
;
public
ObjectRestResponse
addOrUpdate
(
VehicleHolidayPriceInfo
vehicleHolidayPriceInfo
)
{
if
(
vehicleHolidayPriceInfo
==
null
)
{
return
ObjectRestResponse
.
paramIsEmpty
();
}
Vehicle
vehicle
=
vehicleBiz
.
get
(
vehicleHolidayPriceInfo
.
getVehicleId
());
if
(
vehicle
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
FAILED_CODE
,
"车辆不存在!"
);
}
vehicleHolidayPriceInfo
.
setCompanyId
(
vehicle
.
getSubordinateBranch
());
List
<
Vehicle
>
vehicleList
=
null
;
if
(
vehicleHolidayPriceInfo
.
getAllVehicleUse
()
!=
null
&&
vehicleHolidayPriceInfo
.
getAllVehicleUse
()
==
1
)
{
//所有车辆可用
vehicleList
=
vehicleBiz
.
getAllVehicleByCompanyId
(
vehicle
.
getSubordinateBranch
(),
null
);
}
if
(
vehicleHolidayPriceInfo
.
getAllModelUse
()
!=
null
&&
vehicleHolidayPriceInfo
.
getAllModelUse
()
==
1
)
{
//所有车型可用
vehicleList
=
vehicleBiz
.
getAllVehicleByCompanyId
(
vehicle
.
getSubordinateBranch
(),
null
);
}
if
(
vehicleList
==
null
||
vehicleList
.
size
()
<=
0
)
{
//单个车辆可用
for
(
String
date
:
getAllDate
(
vehicleHolidayPriceInfo
.
getStartDate
(),
vehicleHolidayPriceInfo
.
getEndDate
()))
{
vehicleHolidayPriceInfo
.
setFestivalDate
(
DateTime
.
parse
(
date
,
DATE_TIME_FORMATTER
).
toDate
());
VehicleHolidayPriceInfo
oldValue
=
getByVehicleId
(
vehicleHolidayPriceInfo
.
getVehicleId
(),
date
);
if
(
oldValue
==
null
)
{
vehicleHolidayPriceInfo
.
setId
(
null
);
insertSelectiveRe
(
vehicleHolidayPriceInfo
);
}
else
{
BeanUtil
.
copyProperties
(
vehicleHolidayPriceInfo
,
oldValue
,
CopyOptions
.
create
().
setIgnoreNullValue
(
true
).
setIgnoreError
(
true
));
updateSelectiveByIdRe
(
oldValue
);
}
}
}
else
{
vehicleList
.
parallelStream
().
forEach
(
vehicleInfo
->
{
for
(
String
date
:
getAllDate
(
vehicleHolidayPriceInfo
.
getStartDate
(),
vehicleHolidayPriceInfo
.
getEndDate
()))
{
VehicleHolidayPriceInfo
oldValue
=
getByVehicleId
(
vehicleInfo
.
getId
(),
date
);
vehicleHolidayPriceInfo
.
setFestivalDate
(
DateTime
.
parse
(
date
,
DATE_TIME_FORMATTER
).
toDate
());
vehicleHolidayPriceInfo
.
setVehicleId
(
vehicleInfo
.
getId
());
vehicleHolidayPriceInfo
.
setCompanyId
(
vehicleInfo
.
getSubordinateBranch
());
vehicleHolidayPriceInfo
.
setModelId
(
vehicleInfo
.
getModelId
());
vehicleHolidayPriceInfo
.
setId
(
null
);
if
(
oldValue
==
null
)
{
insertSelectiveRe
(
vehicleHolidayPriceInfo
);
}
else
{
BeanUtil
.
copyProperties
(
vehicleHolidayPriceInfo
,
oldValue
,
CopyOptions
.
create
().
setIgnoreNullValue
(
true
).
setIgnoreError
(
true
));
updateSelectiveByIdRe
(
oldValue
);
}
}
});
}
return
ObjectRestResponse
.
succ
();
}
public
VehicleHolidayPriceInfo
getByVehicleId
(
String
vehicleId
,
String
date
)
{
Example
example
=
new
Example
(
VehicleHolidayPriceInfo
.
class
);
example
.
createCriteria
().
andEqualTo
(
"vehicleId"
,
vehicleId
).
andEqualTo
(
"festivalDate"
,
date
);
return
mapper
.
selectOneByExample
(
example
);
}
//获取所有车的价格
public
ObjectRestResponse
<
List
<
VehicleHolidayPriceInfo
>>
getAllByVehicleIds
(
List
<
VehicleHolidayPriceInfo
>
list
)
{
if
(
list
==
null
)
{
return
ObjectRestResponse
.
paramIsEmpty
();
}
List
<
VehicleHolidayPriceInfo
>
vehicleHolidayPriceInfoList
=
new
ArrayList
<>();
if
(
list
.
size
()
>
0
)
{
for
(
VehicleHolidayPriceInfo
vehicleHolidayPriceInfo
:
list
)
{
vehicleHolidayPriceInfoList
.
addAll
(
getByVehicleIdAndDate
(
vehicleHolidayPriceInfo
.
getVehicleId
(),
vehicleHolidayPriceInfo
.
getStartDate
(),
vehicleHolidayPriceInfo
.
getEndDate
()));
}
}
return
ObjectRestResponse
.
succ
(
vehicleHolidayPriceInfoList
);
}
public
List
<
VehicleHolidayPriceInfo
>
getByVehicleIdAndDate
(
String
vehicleId
,
String
startDate
,
String
endDate
)
{
Example
example
=
new
Example
(
VehicleHolidayPriceInfo
.
class
);
example
.
createCriteria
().
andEqualTo
(
"vehicleId"
,
vehicleId
).
andBetween
(
"festivalDate"
,
startDate
,
endDate
);
return
mapper
.
selectByExample
(
example
);
}
//获取当前车辆所有的节日价格
public
ObjectRestResponse
<
List
<
VehicleHolidayPriceInfo
>>
getByVehicleId
(
String
vehicleId
)
{
Example
example
=
new
Example
(
VehicleHolidayPriceInfo
.
class
);
example
.
createCriteria
().
andEqualTo
(
"vehicleId"
,
vehicleId
);
return
ObjectRestResponse
.
succ
(
mapper
.
selectByExample
(
example
));
}
public
static
Set
<
String
>
getAllDate
(
String
startDate
,
String
endDate
)
{
Set
<
String
>
list
=
new
HashSet
<>();
DateTime
startTime
=
DateTime
.
parse
(
startDate
,
DATE_TIME_FORMATTER
);
DateTime
endTime
=
DateTime
.
parse
(
endDate
,
DATE_TIME_FORMATTER
);
list
.
add
(
startDate
);
list
.
add
(
endDate
);
if
(
endTime
.
getMillis
()
-
startTime
.
getMillis
()
>
24
*
3600
*
1000
)
{
//
for
(
DateTime
curDate
=
startTime
.
plusDays
(
1
);
curDate
.
compareTo
(
endTime
)
<
0
;
curDate
=
curDate
.
plusDays
(
1
))
{
list
.
add
(
curDate
.
toString
(
DATE_TIME_FORMATTER
));
}
}
else
{
list
.
add
(
startDate
);
}
return
list
;
}
}
\ No newline at end of file
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/mapper/VehicleCommonPriceInfoMapper.java
0 → 100644
View file @
9775de12
package
com
.
xxfc
.
platform
.
vehicle
.
mapper
;
import
com.xxfc.platform.vehicle.entity.VehicleCommonPriceInfo
;
import
com.xxfc.platform.vehicle.pojo.vo.VehicleCommonPriceVo
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
import
java.util.Map
;
/**
* 租车通用价格表
*
* @author libin
* @email 18178966185@163.com
* @date 2020-05-11 09:16:23
*/
public
interface
VehicleCommonPriceInfoMapper
extends
Mapper
<
VehicleCommonPriceInfo
>
{
List
<
VehicleCommonPriceVo
>
selectList
(
Map
<
String
,
Object
>
param
);
}
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/mapper/VehicleHolidayPriceInfoMapper.java
0 → 100644
View file @
9775de12
package
com
.
xxfc
.
platform
.
vehicle
.
mapper
;
import
com.xxfc.platform.vehicle.entity.VehicleHolidayPriceInfo
;
import
tk.mybatis.mapper.common.Mapper
;
/**
* 车辆节假日价格信息表
*
* @author libin
* @email 18178966185@163.com
* @date 2020-05-11 09:16:23
*/
public
interface
VehicleHolidayPriceInfoMapper
extends
Mapper
<
VehicleHolidayPriceInfo
>
{
}
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/rest/VehicleCommonPriceInfoController.java
0 → 100644
View file @
9775de12
package
com
.
xxfc
.
platform
.
vehicle
.
rest
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
com.xxfc.platform.vehicle.biz.VehicleCommonPriceInfoBiz
;
import
com.xxfc.platform.vehicle.entity.VehicleCommonPriceInfo
;
import
com.xxfc.platform.vehicle.pojo.dto.VehicleCommonPriceDto
;
import
org.springframework.web.bind.annotation.*
;
@RestController
@RequestMapping
(
"vehicleCommonPriceInfo"
)
public
class
VehicleCommonPriceInfoController
extends
BaseController
<
VehicleCommonPriceInfoBiz
,
VehicleCommonPriceInfo
>
{
@PostMapping
(
value
=
"/admin/addOrUpdate"
)
public
ObjectRestResponse
saveOrUpdate
(
@RequestBody
VehicleCommonPriceInfo
vehicleCommonPriceInfo
)
{
return
baseBiz
.
addOrUpdate
(
vehicleCommonPriceInfo
);
}
@GetMapping
(
value
=
"getOneByVehicleId"
)
public
ObjectRestResponse
getOneByVehicleId
(
String
vehicleId
)
{
return
ObjectRestResponse
.
succ
(
baseBiz
.
getByVehicleId
(
vehicleId
));
}
@GetMapping
(
value
=
"getAllByVehicleIds"
)
public
ObjectRestResponse
getAllByVehicleIds
(
String
vehicleIds
)
{
return
baseBiz
.
getAllByVehicleIds
(
vehicleIds
);
}
@GetMapping
(
value
=
"getAll"
)
public
ObjectRestResponse
selectList
(
VehicleCommonPriceDto
dto
)
{
return
baseBiz
.
selectList
(
dto
);
}
@GetMapping
(
value
=
"getOne"
)
public
ObjectRestResponse
getOne
(
Integer
id
)
{
return
ObjectRestResponse
.
succ
(
baseBiz
.
selectById
(
id
));
}
}
\ No newline at end of file
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/rest/VehicleHolidayPriceInfoController.java
0 → 100644
View file @
9775de12
package
com
.
xxfc
.
platform
.
vehicle
.
rest
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
com.xxfc.platform.vehicle.biz.VehicleHolidayPriceInfoBiz
;
import
com.xxfc.platform.vehicle.entity.VehicleHolidayPriceInfo
;
import
org.springframework.web.bind.annotation.*
;
@RestController
@RequestMapping
(
"vehicleHolidayPriceInfo"
)
public
class
VehicleHolidayPriceInfoController
extends
BaseController
<
VehicleHolidayPriceInfoBiz
,
VehicleHolidayPriceInfo
>
{
@PostMapping
(
value
=
"/saveOrUpdate"
)
public
ObjectRestResponse
saveOrUpdate
(
@RequestBody
VehicleHolidayPriceInfo
vehicleHolidayPriceInfo
)
{
return
baseBiz
.
addOrUpdate
(
vehicleHolidayPriceInfo
);
}
@GetMapping
(
value
=
"getByVehicleId"
)
public
ObjectRestResponse
getByVehicleId
(
String
vehicleId
,
String
startDate
,
String
endDate
)
{
return
ObjectRestResponse
.
succ
(
baseBiz
.
getByVehicleIdAndDate
(
vehicleId
,
startDate
,
endDate
));
}
@GetMapping
(
value
=
"getAllByVehicleId"
)
public
ObjectRestResponse
getAllByVehicleId
(
String
vehicleId
)
{
return
baseBiz
.
getByVehicleId
(
vehicleId
);
}
@GetMapping
(
value
=
"getOne"
)
public
ObjectRestResponse
getOne
(
Integer
id
)
{
return
ObjectRestResponse
.
succ
(
baseBiz
.
selectById
(
id
));
}
}
\ No newline at end of file
xx-vehicle/xx-vehicle-server/src/main/resources/mapper/VehicleCommonPriceInfoMapper.xml
0 → 100644
View file @
9775de12
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.xxfc.platform.vehicle.mapper.VehicleCommonPriceInfoMapper"
>
<select
id=
"selectList"
resultType=
"com.xxfc.platform.vehicle.pojo.vo.VehicleCommonPriceVo"
>
SELECT
vci.*, v.`code`,
v.number_plate,
FLOOR(
YEAR (NOW()) - YEAR (v.vehicle_register_date)
) as vehicleAge,
v.vehicle_status,
v.mileage_last_update AS mileage
FROM
vehicle_common_price_info vci
LEFT JOIN vehicle v ON v.id = vci.vehicle_id
<where>
<if
test=
"companyId != null and companyId > 0"
>
and vci.company_id = #{companyId}
</if>
<if
test=
"modelId != null and modelId > 0"
>
and vci.model_id = #{modelId}
</if>
and v.is_del = 0 and v.status
<
3
</where>
order by vci.upd_time DESC
</select>
</mapper>
\ No newline at end of file
xx-vehicle/xx-vehicle-server/src/main/resources/mapper/VehicleHolidayPriceInfoMapper.xml
0 → 100644
View file @
9775de12
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.xxfc.platform.vehicle.mapper.VehicleHolidayPriceInfoMapper"
>
</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