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
85e17d67
Commit
85e17d67
authored
Jun 17, 2019
by
周健威
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改计价代码
parent
d7b6aa06
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
99 additions
and
24 deletions
+99
-24
MemberEnum.java
...wxiaoqi/security/admin/constant/enumerate/MemberEnum.java
+27
-7
AppUserDTO.java
...m/github/wxiaoqi/security/admin/feign/dto/AppUserDTO.java
+1
-0
PublicController.java
.../github/wxiaoqi/security/admin/rest/PublicController.java
+6
-4
RentVehicleBO.java
...ava/com/xxfc/platform/order/pojo/order/RentVehicleBO.java
+4
-0
OrderRentVehicleService.java
.../xxfc/platform/order/service/OrderRentVehicleService.java
+60
-12
VehicleModel.java
...n/java/com/xxfc/platform/vehicle/entity/VehicleModel.java
+1
-1
No files found.
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/constant/enumerate/MemberEnum.java
View file @
85e17d67
...
@@ -4,10 +4,10 @@ import java.util.HashMap;
...
@@ -4,10 +4,10 @@ import java.util.HashMap;
import
java.util.Map
;
import
java.util.Map
;
public
enum
MemberEnum
{
public
enum
MemberEnum
{
NONE
(
0
,
"非会员"
),
NONE
(
0
,
"非会员"
,
100
),
NORMAL
(
1
,
"普通会员"
),
NORMAL
(
1
,
"普通会员"
,
80
),
GOLD
(
2
,
"黄金会员"
),
GOLD
(
2
,
"黄金会员"
,
70
),
DIAMOND
(
3
,
"钻石会员"
),
DIAMOND
(
3
,
"钻石会员"
,
60
),
;
;
/**
/**
* 编码
* 编码
...
@@ -18,11 +18,17 @@ public enum MemberEnum {
...
@@ -18,11 +18,17 @@ public enum MemberEnum {
*/
*/
private
String
desc
;
private
String
desc
;
/**
* 优惠比例
*/
private
Integer
percent
;
private
static
Map
<
Integer
,
String
>
codeAndDesc
=
new
HashMap
<
Integer
,
String
>();
private
static
Map
<
Integer
,
String
>
codeAndDesc
=
new
HashMap
<
Integer
,
String
>();
MemberEnum
(
Integer
code
,
String
desc
){
MemberEnum
(
Integer
code
,
String
desc
,
Integer
percent
){
this
.
code
=
code
;
this
.
code
=
code
;
this
.
desc
=
desc
;
this
.
desc
=
desc
;
this
.
percent
=
percent
;
}
}
public
Integer
getCode
()
{
public
Integer
getCode
()
{
...
@@ -41,7 +47,21 @@ public enum MemberEnum {
...
@@ -41,7 +47,21 @@ public enum MemberEnum {
this
.
desc
=
desc
;
this
.
desc
=
desc
;
}
}
public
static
Boolean
exists
(
Integer
code
){
public
Integer
getPercent
()
{
return
codeAndDesc
.
containsKey
(
code
);
return
percent
;
}
public
void
setPercent
(
Integer
percent
)
{
this
.
percent
=
percent
;
}
public
static
MemberEnum
getByCode
(
Integer
code
)
{
if
(
code
==
null
)
return
null
;
for
(
MemberEnum
enumE
:
values
())
{
if
(
enumE
.
getCode
().
equals
(
code
))
{
return
enumE
;
}
}
return
null
;
}
}
}
}
\ No newline at end of file
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/feign/dto/AppUserDTO.java
View file @
85e17d67
...
@@ -22,5 +22,6 @@ public class AppUserDTO {
...
@@ -22,5 +22,6 @@ public class AppUserDTO {
private
Long
createtime
;
private
Long
createtime
;
private
Long
updatetime
;
private
Long
updatetime
;
private
Integer
isdel
;
private
Integer
isdel
;
private
Integer
rentFreeDays
;
}
}
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/PublicController.java
View file @
85e17d67
...
@@ -12,9 +12,11 @@ import com.github.wxiaoqi.security.admin.vo.FrontUser;
...
@@ -12,9 +12,11 @@ import com.github.wxiaoqi.security.admin.vo.FrontUser;
import
com.github.wxiaoqi.security.admin.vo.MenuTree
;
import
com.github.wxiaoqi.security.admin.vo.MenuTree
;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken
;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken
;
import
com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil
;
import
com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.msg.BaseResponse
;
import
com.github.wxiaoqi.security.common.msg.BaseResponse
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
...
@@ -44,11 +46,11 @@ public class PublicController {
...
@@ -44,11 +46,11 @@ public class PublicController {
ObjectRestResponse
userinfoByToken
(
String
token
)
throws
Exception
{
ObjectRestResponse
userinfoByToken
(
String
token
)
throws
Exception
{
String
username
=
userAuthUtil
.
getInfoFromToken
(
token
).
getUniqueName
();
String
username
=
userAuthUtil
.
getInfoFromToken
(
token
).
getUniqueName
();
if
(
username
==
null
)
{
if
(
username
==
null
)
{
throw
new
Exception
(
);
throw
new
BaseException
(
ResultCode
.
NOTEXIST_CODE
);
}
}
User
user
=
userBiz
.
getUserByUsername
(
username
);
User
user
=
userBiz
.
getUserByUsername
(
username
);
if
(
user
==
null
)
{
if
(
user
==
null
)
{
throw
new
Exception
(
);
throw
new
BaseException
(
ResultCode
.
NOTEXIST_CODE
);
}
}
return
new
ObjectRestResponse
<
User
>().
rel
(
true
).
data
(
user
);
return
new
ObjectRestResponse
<
User
>().
rel
(
true
).
data
(
user
);
}
}
...
@@ -58,12 +60,12 @@ public class PublicController {
...
@@ -58,12 +60,12 @@ public class PublicController {
ObjectRestResponse
userDetailByToken
(
String
token
)
throws
Exception
{
ObjectRestResponse
userDetailByToken
(
String
token
)
throws
Exception
{
String
username
=
userAuthUtil
.
getInfoFromToken
(
token
).
getId
();
String
username
=
userAuthUtil
.
getInfoFromToken
(
token
).
getId
();
if
(
username
==
null
)
{
if
(
username
==
null
)
{
throw
new
Exception
(
);
throw
new
BaseException
(
ResultCode
.
NOTEXIST_CODE
);
}
}
Integer
userid
=
Integer
.
parseInt
(
username
);
Integer
userid
=
Integer
.
parseInt
(
username
);
AppUserDetail
user
=
detailBiz
.
getUserByUserid
(
userid
);
AppUserDetail
user
=
detailBiz
.
getUserByUserid
(
userid
);
if
(
user
==
null
)
{
if
(
user
==
null
)
{
throw
new
Exception
(
);
throw
new
BaseException
(
ResultCode
.
NOTEXIST_CODE
);
}
}
return
new
ObjectRestResponse
<
AppUserDetail
>().
rel
(
true
).
data
(
user
);
return
new
ObjectRestResponse
<
AppUserDetail
>().
rel
(
true
).
data
(
user
);
}
}
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/order/RentVehicleBO.java
View file @
85e17d67
...
@@ -14,5 +14,9 @@ public class RentVehicleBO extends OrderRentVehicleDetail implements OrderDetail
...
@@ -14,5 +14,9 @@ public class RentVehicleBO extends OrderRentVehicleDetail implements OrderDetail
private
VehicleModel
vehicleModel
;
private
VehicleModel
vehicleModel
;
private
BookVehicleVO
bookVehicleVO
;
private
BookVehicleVO
bookVehicleVO
;
private
Integer
damageSafe
;
private
Integer
damageSafe
;
/**
* 是否使用出租免费天数
*/
private
Integer
rentFreeDay
;
private
AppUserDTO
appUserDTO
;
private
AppUserDTO
appUserDTO
;
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderRentVehicleService.java
View file @
85e17d67
...
@@ -2,11 +2,8 @@ package com.xxfc.platform.order.service;
...
@@ -2,11 +2,8 @@ package com.xxfc.platform.order.service;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.lang.Dict
;
import
cn.hutool.core.lang.Dict
;
import
cn.hutool.extra.template.Template
;
import
cn.hutool.extra.template.TemplateConfig
;
import
cn.hutool.extra.template.TemplateEngine
;
import
cn.hutool.extra.template.TemplateUtil
;
import
com.github.wxiaoqi.security.admin.constant.enumerate.MemberEnum
;
import
com.github.wxiaoqi.security.admin.constant.enumerate.MemberEnum
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.common.context.BaseContextHandler
;
import
com.github.wxiaoqi.security.common.context.BaseContextHandler
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.order.biz.OrderCostDetailBiz
;
import
com.xxfc.platform.order.biz.OrderCostDetailBiz
;
...
@@ -15,13 +12,11 @@ import com.xxfc.platform.order.biz.OrderTemplateBiz;
...
@@ -15,13 +12,11 @@ import com.xxfc.platform.order.biz.OrderTemplateBiz;
import
com.xxfc.platform.order.contant.enumerate.OrderCostEnum
;
import
com.xxfc.platform.order.contant.enumerate.OrderCostEnum
;
import
com.xxfc.platform.order.contant.enumerate.OrderStatusEnum
;
import
com.xxfc.platform.order.contant.enumerate.OrderStatusEnum
;
import
com.xxfc.platform.order.contant.enumerate.OrderTypeEnum
;
import
com.xxfc.platform.order.contant.enumerate.OrderTypeEnum
;
import
com.xxfc.platform.order.entity.OrderCostDetail
;
import
com.xxfc.platform.order.entity.OrderTemplate
;
import
com.xxfc.platform.order.entity.OrderTemplate
;
import
com.xxfc.platform.order.pojo.order.RentVehicleBO
;
import
com.xxfc.platform.order.pojo.order.RentVehicleBO
;
import
com.xxfc.platform.order.pojo.price.RentVehiclePriceVO
;
import
com.xxfc.platform.order.pojo.price.RentVehiclePriceVO
;
import
com.xxfc.platform.vehicle.entity.VehicleModel
;
import
com.xxfc.platform.vehicle.entity.VehicleModel
;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
com.xxfc.platform.vehicle.pojo.BookVehicleVO
;
import
com.xxfc.platform.vehicle.pojo.RentVehicleBookDTO
;
import
com.xxfc.platform.vehicle.pojo.RentVehicleBookDTO
;
import
lombok.extern.log4j.Log4j
;
import
lombok.extern.log4j.Log4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -29,9 +24,9 @@ import org.springframework.stereotype.Service;
...
@@ -29,9 +24,9 @@ import org.springframework.stereotype.Service;
import
javax.annotation.PostConstruct
;
import
javax.annotation.PostConstruct
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
static
com
.
github
.
wxiaoqi
.
security
.
admin
.
constant
.
enumerate
.
MemberEnum
.*;
@Service
@Service
@Log4j
@Log4j
...
@@ -41,6 +36,9 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
...
@@ -41,6 +36,9 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
private
static
BigDecimal
DAMAGE_SAFE
=
new
BigDecimal
(
"100.00"
);
//车损免赔
private
static
BigDecimal
DAMAGE_SAFE
=
new
BigDecimal
(
"100.00"
);
//车损免赔
private
static
Integer
DRIVER_TYPE_COMPANY
=
1
;
private
static
Integer
DRIVER_TYPE_COMPANY
=
1
;
private
static
Integer
DRIVER_TYPE_DAMAGE_SAFE
=
1
;
private
static
Integer
DRIVER_TYPE_DAMAGE_SAFE
=
1
;
private
static
Integer
DISCOUNT_STATUS_NONE
=
0
;
private
static
Integer
DISCOUNT_STATUS_MEMBER
=
1
;
private
static
Integer
DISCOUNT_STATUS_FIXED
=
2
;
// private static BigDecimal DEPOSIT = new BigDecimal("20000.00");
// private static BigDecimal DEPOSIT = new BigDecimal("20000.00");
@Autowired
@Autowired
...
@@ -93,14 +91,46 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
...
@@ -93,14 +91,46 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
BigDecimal
vehicleAmount
=
BigDecimal
.
ZERO
;
BigDecimal
vehicleAmount
=
BigDecimal
.
ZERO
;
BigDecimal
driverAmount
=
BigDecimal
.
ZERO
;
BigDecimal
driverAmount
=
BigDecimal
.
ZERO
;
BigDecimal
damageSafeAmount
=
BigDecimal
.
ZERO
;
BigDecimal
damageSafeAmount
=
BigDecimal
.
ZERO
;
BigDecimal
modelAmount
=
BigDecimal
.
ZERO
;
Integer
vehicleDayNum
=
0
;
Integer
freeDayNum
=
0
;
//当前用户
AppUserDTO
dto
=
detail
.
getAppUserDTO
();
// //如果用户存在,并且为会员,并且车辆有优惠价
// if(null != dto && detail.getRentFreeDay() > 0 && dto.getRentFreeDays() > 0) {
// if(detail.getDayNum() > dto.getRentFreeDays()) {
// freeDayNum = dto.getRentFreeDays();
// }else {
// freeDayNum = detail.getDayNum();
// }
// vehicleDayNum = detail.getDayNum() - freeDayNum;
// }else {
// vehicleDayNum = detail.getDayNum();
// }
//计算价格
//计算价格
//计算车辆费用
//计算车辆费用
VehicleModel
vehicleModel
=
vehicleFeign
.
get
(
detail
.
getModelId
()).
getData
();
VehicleModel
vehicleModel
=
vehicleFeign
.
get
(
detail
.
getModelId
()).
getData
();
// detail.getAppUserDTO()
//如果用户存在,并且为会员,并且车辆有优惠价
// if(null != detail.getAppUserDTO() && MemberEnum.NONE.equals(detail.getAppUserDTO()))
if
(
null
!=
dto
&&
!
NONE
.
equals
(
detail
.
getAppUserDTO
())
&&
!
DISCOUNT_STATUS_NONE
.
equals
(
vehicleModel
.
getRentDiscountStatus
()))
{
vehicleAmount
=
vehicleAmount
.
add
(
vehicleModel
.
getPrice
().
multiply
(
BigDecimal
.
valueOf
(
detail
.
getDayNum
())));
String
[]
prices
=
vehicleModel
.
getRentDiscountPrice
().
split
(
","
);
switch
(
MemberEnum
.
getByCode
(
detail
.
getAppUserDTO
().
getIsMember
()))
{
case
NORMAL:
modelAmount
=
handleDiscount
(
vehicleModel
,
prices
,
NORMAL
);
break
;
case
GOLD:
modelAmount
=
handleDiscount
(
vehicleModel
,
prices
,
GOLD
);
break
;
case
DIAMOND:
modelAmount
=
handleDiscount
(
vehicleModel
,
prices
,
DIAMOND
);
break
;
}
}
else
{
modelAmount
=
vehicleModel
.
getPrice
();
}
vehicleAmount
=
vehicleAmount
.
add
(
modelAmount
.
multiply
(
BigDecimal
.
valueOf
(
detail
.
getDayNum
())));
if
(
DRIVER_TYPE_COMPANY
.
equals
(
detail
.
getDriverType
()))
{
if
(
DRIVER_TYPE_COMPANY
.
equals
(
detail
.
getDriverType
()))
{
//计算司机费用
//计算司机费用
driverAmount
=
driverAmount
.
add
(
DRIVER_PRICE
.
multiply
(
BigDecimal
.
valueOf
(
detail
.
getDayNum
())));
driverAmount
=
driverAmount
.
add
(
DRIVER_PRICE
.
multiply
(
BigDecimal
.
valueOf
(
detail
.
getDayNum
())));
...
@@ -125,7 +155,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
...
@@ -125,7 +155,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
rvp
.
setDamageSafeAmount
(
damageSafeAmount
);
rvp
.
setDamageSafeAmount
(
damageSafeAmount
);
rvp
.
setRealAmount
(
orderAmount
);
rvp
.
setRealAmount
(
orderAmount
);
rvp
.
setDeposit
(
vehicleModel
.
getDeposit
());
rvp
.
setDeposit
(
vehicleModel
.
getDeposit
());
rvp
.
setModelAmount
(
vehicleModel
.
getPrice
()
);
rvp
.
setModelAmount
(
modelAmount
);
rvp
.
setDriverPrice
(
DRIVER_PRICE
);
rvp
.
setDriverPrice
(
DRIVER_PRICE
);
rvp
.
setDamageSafePrice
(
DAMAGE_SAFE
);
rvp
.
setDamageSafePrice
(
DAMAGE_SAFE
);
rvp
.
setModelName
(
vehicleModel
.
getName
());
rvp
.
setModelName
(
vehicleModel
.
getName
());
...
@@ -138,6 +168,24 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
...
@@ -138,6 +168,24 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
return
rvp
;
return
rvp
;
}
}
/**
* 获取会员比例或者会员价
* @param vehicleModel
* @param prices
* @param memberEnum
* @return
*/
private
BigDecimal
handleDiscount
(
VehicleModel
vehicleModel
,
String
[]
prices
,
MemberEnum
memberEnum
)
{
BigDecimal
modelAmount
;
//会员比例
if
(
DISCOUNT_STATUS_MEMBER
.
equals
(
vehicleModel
.
getRentDiscountStatus
()))
{
modelAmount
=
new
BigDecimal
(
String
.
valueOf
((
memberEnum
.
getPercent
()/
100
))).
multiply
(
vehicleModel
.
getPrice
());
}
else
{
//会员固定价列表
modelAmount
=
new
BigDecimal
(
prices
[(
memberEnum
.
getCode
()
-
1
)]);
}
return
modelAmount
;
}
private
String
handlechildren
(
RentVehicleBO
detail
)
{
private
String
handlechildren
(
RentVehicleBO
detail
)
{
StringBuffer
childrenStr
=
new
StringBuffer
(
"${tem_0101}"
);
StringBuffer
childrenStr
=
new
StringBuffer
(
"${tem_0101}"
);
if
(
DRIVER_TYPE_COMPANY
.
equals
(
detail
.
getDriverType
()))
{
if
(
DRIVER_TYPE_COMPANY
.
equals
(
detail
.
getDriverType
()))
{
...
...
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/entity/VehicleModel.java
View file @
85e17d67
...
@@ -131,7 +131,7 @@ public class VehicleModel implements Serializable {
...
@@ -131,7 +131,7 @@ public class VehicleModel implements Serializable {
@Column
(
name
=
"rent_discount_price"
)
@Column
(
name
=
"rent_discount_price"
)
@ApiModelProperty
(
value
=
"租车优惠价格"
)
@ApiModelProperty
(
value
=
"租车优惠价格"
)
private
BigDecimal
R
entDiscountPrice
;
private
String
r
entDiscountPrice
;
@Column
(
name
=
"buy_price"
)
@Column
(
name
=
"buy_price"
)
@ApiModelProperty
(
value
=
"购买价格"
)
@ApiModelProperty
(
value
=
"购买价格"
)
...
...
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