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
7a0e389d
Commit
7a0e389d
authored
Jul 02, 2019
by
hezhen
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'base-modify' of
http://113.105.137.151:22280/youjj/cloud-platform
into base-modify
parents
264e6890
d012c2f4
Changes
17
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
377 additions
and
71 deletions
+377
-71
BaseException.java
...thub/wxiaoqi/security/common/exception/BaseException.java
+6
-0
IntervalUtil.java
...com/github/wxiaoqi/security/common/util/IntervalUtil.java
+146
-0
ResultCode.java
...thub/wxiaoqi/security/common/util/process/ResultCode.java
+2
-0
OrderStatusEnum.java
...xfc/platform/order/contant/enumerate/OrderStatusEnum.java
+1
-1
BaseOrderBiz.java
...c/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
+77
-15
OrderRentVehicleController.java
.../xxfc/platform/order/rest/OrderRentVehicleController.java
+1
-0
AbstractOrderHandle.java
.../com/xxfc/platform/order/service/AbstractOrderHandle.java
+4
-0
OrderMemberService.java
...a/com/xxfc/platform/order/service/OrderMemberService.java
+3
-2
OrderRentVehicleService.java
.../xxfc/platform/order/service/OrderRentVehicleService.java
+34
-31
OrderTourService.java
...ava/com/xxfc/platform/order/service/OrderTourService.java
+26
-7
DictionaryKey.java
...a/com/xxfc/platform/universal/constant/DictionaryKey.java
+31
-0
ThirdFeign.java
...in/java/com/xxfc/platform/universal/feign/ThirdFeign.java
+3
-0
DictionaryBiz.java
...n/java/com/xxfc/platform/universal/biz/DictionaryBiz.java
+19
-6
DictionaryController.java
...c/platform/universal/controller/DictionaryController.java
+7
-0
VehicleFeign.java
...in/java/com/xxfc/platform/vehicle/feign/VehicleFeign.java
+8
-2
VehicleBiz.java
...c/main/java/com/xxfc/platform/vehicle/biz/VehicleBiz.java
+6
-1
VehicleController.java
...ava/com/xxfc/platform/vehicle/rest/VehicleController.java
+3
-6
No files found.
ace-common/src/main/java/com/github/wxiaoqi/security/common/exception/BaseException.java
View file @
7a0e389d
...
@@ -4,6 +4,7 @@ import com.github.wxiaoqi.security.common.constant.RestCode;
...
@@ -4,6 +4,7 @@ import com.github.wxiaoqi.security.common.constant.RestCode;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Set
;
/**
/**
* Created by ace on 2017/9/8.
* Created by ace on 2017/9/8.
...
@@ -57,4 +58,9 @@ public class BaseException extends RuntimeException {
...
@@ -57,4 +58,9 @@ public class BaseException extends RuntimeException {
super
(
ResultCode
.
getMsg
(
code
)
+
(
map
==
null
?
""
:
map
.
toString
()));
super
(
ResultCode
.
getMsg
(
code
)
+
(
map
==
null
?
""
:
map
.
toString
()));
this
.
status
=
code
;
this
.
status
=
code
;
}
}
public
BaseException
(
int
code
,
Set
<
String
>
set
)
{
super
(
ResultCode
.
getMsg
(
code
)+
(
set
==
null
?
""
:
set
.
toString
()));
this
.
status
=
code
;
}
}
}
ace-common/src/main/java/com/github/wxiaoqi/security/common/util/IntervalUtil.java
0 → 100644
View file @
7a0e389d
package
com
.
github
.
wxiaoqi
.
security
.
common
.
util
;
import
org.apache.commons.jexl2.Expression
;
import
org.apache.commons.jexl2.JexlContext
;
import
org.apache.commons.jexl2.JexlEngine
;
import
org.apache.commons.jexl2.MapContext
;
import
javax.script.ScriptEngine
;
import
javax.script.ScriptEngineManager
;
import
java.util.Map
;
/**
*
* @ClassName: IntervalUtil
* @author: kangyl17909
* @date: 2018年7月3日
*/
public
class
IntervalUtil
{
/**
* 判断data_value是否在interval区间范围内
* @author: kangyl17909
* @date: 2018年7月3日
* @param data_value 数值类型的
* @param interval 正常的数学区间,包括无穷大等,如:(1,3)、>5%、(-∞,6]、(125%,135%)U(70%,80%)
* @return true:表示data_value在区间interval范围内,false:表示data_value不在区间interval范围内
*/
public
boolean
isInTheInterval
(
String
data_value
,
String
interval
)
{
//将区间和data_value转化为可计算的表达式
String
formula
=
getFormulaByAllInterval
(
data_value
,
interval
,
"||"
);
ScriptEngine
jse
=
new
ScriptEngineManager
().
getEngineByName
(
"JavaScript"
);
try
{
//计算表达式
return
(
Boolean
)
jse
.
eval
(
formula
);
}
catch
(
Exception
t
)
{
return
false
;
}
}
/**
* 将所有阀值区间转化为公式:如
* [75,80) =》 date_value < 80 && date_value >= 75
* (125%,135%)U(70%,80%) =》 (date_value < 1.35 && date_value > 1.25) || (date_value < 0.8 && date_value > 0.7)
* @param date_value
* @param interval 形式如:(125%,135%)U(70%,80%)
* @param connector 连接符 如:") || ("
*/
private
String
getFormulaByAllInterval
(
String
date_value
,
String
interval
,
String
connector
)
{
StringBuffer
buff
=
new
StringBuffer
();
for
(
String
limit:
interval
.
split
(
"U"
)){
//如:(125%,135%)U (70%,80%)
buff
.
append
(
"("
).
append
(
getFormulaByInterval
(
date_value
,
limit
,
" && "
)).
append
(
")"
).
append
(
connector
);
}
String
allLimitInvel
=
buff
.
toString
();
int
index
=
allLimitInvel
.
lastIndexOf
(
connector
);
allLimitInvel
=
allLimitInvel
.
substring
(
0
,
index
);
return
allLimitInvel
;
}
/**
* 将整个阀值区间转化为公式:如
* 145) =》 date_value < 145
* [75,80) =》 date_value < 80 && date_value >= 75
* @param date_value
* @param interval 形式如:145)、[75,80)
* @param connector 连接符 如:&&
*/
private
String
getFormulaByInterval
(
String
date_value
,
String
interval
,
String
connector
)
{
StringBuffer
buff
=
new
StringBuffer
();
for
(
String
halfInterval:
interval
.
split
(
","
)){
//如:[75,80)、≥80
buff
.
append
(
getFormulaByHalfInterval
(
halfInterval
,
date_value
)).
append
(
connector
);
}
String
limitInvel
=
buff
.
toString
();
int
index
=
limitInvel
.
lastIndexOf
(
connector
);
limitInvel
=
limitInvel
.
substring
(
0
,
index
);
return
limitInvel
;
}
/**
* 将半个阀值区间转化为公式:如
* 145) =》 date_value < 145
* ≥80% =》 date_value >= 0.8
* [130 =》 date_value >= 130
* <80% =》 date_value < 0.8
* @param halfInterval 形式如:145)、≥80%、[130、<80%
* @param date_value
* @return date_value < 145
*/
private
String
getFormulaByHalfInterval
(
String
halfInterval
,
String
date_value
)
{
halfInterval
=
halfInterval
.
trim
();
if
(
halfInterval
.
contains
(
"∞"
)){
//包含无穷大则不需要公式
return
"1 == 1"
;
}
StringBuffer
formula
=
new
StringBuffer
();
String
data
=
""
;
String
opera
=
""
;
if
(
halfInterval
.
matches
(
"^([<>≤≥\\[\\(]{1}(-?\\d+.?\\d*\\%?))$"
)){
//表示判断方向(如>)在前面 如:≥80%
opera
=
halfInterval
.
substring
(
0
,
1
);
data
=
halfInterval
.
substring
(
1
);
}
else
{
//[130、145)
opera
=
halfInterval
.
substring
(
halfInterval
.
length
()-
1
);
data
=
halfInterval
.
substring
(
0
,
halfInterval
.
length
()-
1
);
}
double
value
=
dealPercent
(
data
);
formula
.
append
(
date_value
).
append
(
" "
).
append
(
opera
).
append
(
" "
).
append
(
value
);
String
a
=
formula
.
toString
();
//转化特定字符
return
a
.
replace
(
"["
,
">="
).
replace
(
"("
,
">"
).
replace
(
"]"
,
"<="
).
replace
(
")"
,
"<"
).
replace
(
"≤"
,
"<="
).
replace
(
"≥"
,
">="
);
}
/**
* 去除百分号,转为小数
* @param str 可能含百分号的数字
* @return
*/
private
double
dealPercent
(
String
str
){
double
d
=
0.0
;
if
(
str
.
contains
(
"%"
)){
str
=
str
.
substring
(
0
,
str
.
length
()-
1
);
d
=
Double
.
parseDouble
(
str
)/
100
;
}
else
{
d
=
Double
.
parseDouble
(
str
);
}
return
d
;
}
public
static
boolean
staticIsInTheInterval
(
String
data_value
,
String
interval
)
{
return
new
IntervalUtil
().
isInTheInterval
(
data_value
,
interval
);
}
public
static
Object
evaluate
(
String
expression
,
JexlContext
jexlContext
)
{
Expression
e
=
new
JexlEngine
().
createExpression
(
expression
);
return
e
.
evaluate
(
jexlContext
);
}
public
static
Object
evaluate
(
String
expression
,
Map
<
String
,
Object
>
jexlContextMap
)
{
Expression
e
=
new
JexlEngine
().
createExpression
(
expression
);
JexlContext
jexlContext
=
new
MapContext
();
jexlContextMap
.
forEach
((
k
,
v
)
->
jexlContext
.
set
(
k
,
v
));
return
e
.
evaluate
(
jexlContext
);
}
public
static
void
main
(
String
[]
args
)
{
IntervalUtil
a
=
new
IntervalUtil
();
System
.
out
.
println
(
a
.
isInTheInterval
(
"6"
,
"(-∞,6]"
));
}
}
ace-common/src/main/java/com/github/wxiaoqi/security/common/util/process/ResultCode.java
View file @
7a0e389d
...
@@ -6,7 +6,9 @@ import com.github.wxiaoqi.security.common.util.SystemProperty;
...
@@ -6,7 +6,9 @@ import com.github.wxiaoqi.security.common.util.SystemProperty;
public
class
ResultCode
{
public
class
ResultCode
{
////////////////////////////参数相关///////////////////////////
////////////////////////////参数相关///////////////////////////
//参数非法,请修改
public
static
int
PARAM_ILLEGAL_CODE
=
Integer
.
valueOf
(
SystemProperty
.
getResultConfig
(
"PARAM_ILLEGAL_CODE"
));
public
static
int
PARAM_ILLEGAL_CODE
=
Integer
.
valueOf
(
SystemProperty
.
getResultConfig
(
"PARAM_ILLEGAL_CODE"
));
//参数时效已过时,不能使用
public
static
int
PARAM_EXPIRE_CODE
=
Integer
.
valueOf
(
SystemProperty
.
getResultConfig
(
"PARAM_EXPIRE_CODE"
));
public
static
int
PARAM_EXPIRE_CODE
=
Integer
.
valueOf
(
SystemProperty
.
getResultConfig
(
"PARAM_EXPIRE_CODE"
));
// 操作成功
// 操作成功
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/OrderStatusEnum.java
View file @
7a0e389d
...
@@ -8,7 +8,7 @@ public enum OrderStatusEnum {
...
@@ -8,7 +8,7 @@ public enum OrderStatusEnum {
ORDER_CRT
(
1
,
"创建订单"
),
ORDER_CRT
(
1
,
"创建订单"
),
ORDER_CANCEL
(
2
,
"取消订单"
),
ORDER_CANCEL
(
2
,
"取消订单"
),
ORDER_UNPAY
(
3
,
"待支付"
),
ORDER_UNPAY
(
3
,
"待支付"
),
ORDER_TOSTART
(
4
,
"待进行(待出行)"
),
ORDER_TOSTART
(
4
,
"待进行(待出行
/租车已支付
)"
),
ORDER_WAIT
(
5
,
"出行中(进行中)"
),
ORDER_WAIT
(
5
,
"出行中(进行中)"
),
ORDER_FINISH
(
6
,
"已完成"
),
ORDER_FINISH
(
6
,
"已完成"
),
;
;
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
View file @
7a0e389d
...
@@ -6,6 +6,7 @@ import com.github.wxiaoqi.security.admin.feign.UserFeign;
...
@@ -6,6 +6,7 @@ import com.github.wxiaoqi.security.admin.feign.UserFeign;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.util.IntervalUtil
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
com.xxfc.platform.order.contant.enumerate.OrderStatusEnum
;
import
com.xxfc.platform.order.contant.enumerate.OrderStatusEnum
;
...
@@ -22,18 +23,19 @@ import com.xxfc.platform.vehicle.common.RestResponse;
...
@@ -22,18 +23,19 @@ import com.xxfc.platform.vehicle.common.RestResponse;
import
com.xxfc.platform.vehicle.entity.VehicleUserLicense
;
import
com.xxfc.platform.vehicle.entity.VehicleUserLicense
;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.jexl2.MapContext
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.HashMap
;
import
java.util.*
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.Map
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_FALSE
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_FALSE
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_TRUE
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_TRUE
;
import
static
com
.
xxfc
.
platform
.
universal
.
constant
.
DictionaryKey
.
APP_ORDER
;
import
static
com
.
xxfc
.
platform
.
universal
.
constant
.
DictionaryKey
.
RENT_REFUND
;
/**
/**
*
*
...
@@ -165,6 +167,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
...
@@ -165,6 +167,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
* 取消订单
* 取消订单
* @param baseOrder
* @param baseOrder
*/
*/
@Transactional
public
void
cancel
(
BaseOrder
baseOrder
)
{
public
void
cancel
(
BaseOrder
baseOrder
)
{
if
(
cancelAble
.
get
(
baseOrder
.
getType
()).
contains
(
baseOrder
.
getStatus
()))
{
if
(
cancelAble
.
get
(
baseOrder
.
getType
()).
contains
(
baseOrder
.
getStatus
()))
{
BaseOrder
updateOrder
=
new
BaseOrder
(){{
BaseOrder
updateOrder
=
new
BaseOrder
(){{
...
@@ -190,10 +193,14 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
...
@@ -190,10 +193,14 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
}});
}});
//退款流程
//退款流程
re
fundProcess
(
baseOrder
,
orvd
);
re
ntRefundProcess
(
baseOrder
,
orvd
.
getDeposit
(),
orvd
.
getStartTime
(),
APP_ORDER
+
"_"
+
RENT_REFUND
);
}
else
if
(
OrderTypeEnum
.
TOUR
.
getCode
().
equals
(
baseOrder
.
getType
()))
{
}
else
if
(
OrderTypeEnum
.
TOUR
.
getCode
().
equals
(
baseOrder
.
getType
()))
{
OrderTourDetail
otd
=
orderTourDetailBiz
.
selectOne
(
new
OrderTourDetail
(){{
setOrderId
(
baseOrder
.
getId
());
}});
//退款流程
rentRefundProcess
(
baseOrder
,
otd
.
getStartTime
(),
APP_ORDER
+
"_"
+
RENT_REFUND
);
}
}
}
}
...
@@ -202,7 +209,15 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
...
@@ -202,7 +209,15 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
OrderRentVehicleDetail
orvd
=
orderRentVehicleBiz
.
selectOne
(
new
OrderRentVehicleDetail
(){{
OrderRentVehicleDetail
orvd
=
orderRentVehicleBiz
.
selectOne
(
new
OrderRentVehicleDetail
(){{
setOrderId
(
baseOrder
.
getId
());
setOrderId
(
baseOrder
.
getId
());
}});
}});
//取消租车预定
//取消租车预定
//已支付,并且是待出行状态,取消预约
if
(
OrderStatusEnum
.
ORDER_TOSTART
.
equals
(
baseOrder
.
getType
())
&&
SYS_TRUE
.
equals
(
baseOrder
.
getHasPay
())){
vehicleFeign
.
unbookVehicle
(
orvd
.
getBookRecordId
());
}
else
{
//未支付,拒绝之前的预约
vehicleFeign
.
rejectVehicleBooking
(
orvd
.
getBookRecordId
());
}
//取消租车免费天数使用
//取消租车免费天数使用
if
(
null
!=
orvd
.
getFreeDays
()
&&
orvd
.
getFreeDays
()
>
0
)
{
if
(
null
!=
orvd
.
getFreeDays
()
&&
orvd
.
getFreeDays
()
>
0
)
{
...
@@ -225,17 +240,64 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
...
@@ -225,17 +240,64 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
}
}
}
}
private
void
refundProcess
(
BaseOrder
baseOrder
,
OrderRentVehicleDetail
orvd
)
{
private
void
rentRefundProcess
(
BaseOrder
baseOrder
,
Long
startTime
,
String
dicParentKey
){
rentRefundProcess
(
baseOrder
,
BigDecimal
.
ZERO
,
startTime
,
dicParentKey
);
}
private
void
rentRefundProcess
(
BaseOrder
baseOrder
,
BigDecimal
depositAmont
,
Long
startTime
,
String
dicParentKey
)
{
//计算退款金额
//计算退款金额
// 1、押金 + 租金(规则扣除)
// 1、押金 + 租金(规则扣除)
BigDecimal
refundAmont
=
orvd
.
getDeposit
().
add
(
baseOrder
.
getGoodsAmount
());
BigDecimal
refundGoodsAmount
=
baseOrder
.
getGoodsAmount
();
String
refundTradeNo
=
thirdFeign
.
refund
(
new
OrderRefundVo
(){{
String
refundDesc
=
"取消订单退款:"
;
BigDecimal
refundGoodsAmont
=
baseOrder
.
getGoodsAmount
();
BigDecimal
refundAmont
=
BigDecimal
.
ZERO
;
if
(
null
==
depositAmont
)
{
depositAmont
=
BigDecimal
.
ZERO
;
}
//根据时间处理goodsAmount
//获取出发时间 到现在 距离时间
//LocalDateTime StartDay = LocalDateTime.ofInstant(Instant.ofEpochMilli(orvd.getStartTime()), ZoneOffset.ofHours(8));
Long
timeLag
=
startTime
-
System
.
currentTimeMillis
();
Integer
hourLag
=
Long
.
valueOf
(
timeLag
/(
1000L
*
60L
*
60L
)).
intValue
();
Map
<
String
,
com
.
xxfc
.
platform
.
universal
.
entity
.
Dictionary
>
dictionaryMap
=
thirdFeign
.
dictionaryGetAll4Map
().
getData
();
//APP_ORDER+ "_"+ RENT_REFUND
Set
<
com
.
xxfc
.
platform
.
universal
.
entity
.
Dictionary
>
rentRefunds
=
dictionaryMap
.
get
(
dicParentKey
).
getChildrens
();
for
(
com
.
xxfc
.
platform
.
universal
.
entity
.
Dictionary
dic
:
rentRefunds
)
{
if
(
StrUtil
.
isBlank
(
dic
.
getName
()))
{
continue
;
}
String
[]
names
=
dic
.
getName
().
split
(
"\\|"
);
if
(
names
.
length
<
2
)
{
continue
;
}
//符合范围
if
(
IntervalUtil
.
staticIsInTheInterval
(
hourLag
.
toString
(),
names
[
0
])){
refundGoodsAmont
=
new
BigDecimal
(((
Double
)
IntervalUtil
.
evaluate
(
dic
.
getDetail
(),
new
MapContext
(){{
set
(
"ga"
,
baseOrder
.
getGoodsAmount
());
}})).
toString
());
refundDesc
=
names
[
1
]+
","
+
refundDesc
;
break
;
}
}
refundAmont
=
depositAmont
.
add
(
refundGoodsAmont
);
OrderRefundVo
orv
=
new
OrderRefundVo
(){{
setAmount
(
baseOrder
.
getRealAmount
().
multiply
(
new
BigDecimal
(
"100"
)).
intValue
());
setAmount
(
baseOrder
.
getRealAmount
().
multiply
(
new
BigDecimal
(
"100"
)).
intValue
());
setRefundAmount
(
refundAmont
.
multiply
(
new
BigDecimal
(
"100"
)).
intValue
());
setOrderNo
(
baseOrder
.
getNo
());
setOrderNo
(
baseOrder
.
getNo
());
setRefundDesc
(
"取消订单退款:"
+
refundAmont
.
toString
());
}};
}}).
getData
();
orv
.
setRefundDesc
(
refundDesc
+
refundAmont
.
toString
());
orv
.
setRefundAmount
(
refundAmont
.
multiply
(
new
BigDecimal
(
"100"
)).
intValue
());
String
refundTradeNo
=
thirdFeign
.
refund
(
orv
).
getData
();
//记录订单退款记录
addOrderRefund
(
baseOrder
.
getId
(),
refundDesc
,
refundAmont
,
refundTradeNo
);
}
private
void
addOrderRefund
(
Integer
orderId
,
String
refundDesc
,
BigDecimal
refundAmont
,
String
refundTradeNo
)
{
//如果返回的流水为空,则当做失败
//如果返回的流水为空,则当做失败
Integer
refundStatus
=
SYS_TRUE
;
Integer
refundStatus
=
SYS_TRUE
;
if
(
StrUtil
.
isBlank
(
refundTradeNo
))
{
if
(
StrUtil
.
isBlank
(
refundTradeNo
))
{
...
@@ -244,13 +306,13 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
...
@@ -244,13 +306,13 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
//创建订单退款记录
//创建订单退款记录
OrderRefund
orderRefund
=
new
OrderRefund
(){{
OrderRefund
orderRefund
=
new
OrderRefund
(){{
setOrderId
(
baseOrder
.
getId
());
setOrderId
(
orderId
);
setRefundAmount
(
refundAmont
);
setRefundTime
(
System
.
currentTimeMillis
());
setRefundTime
(
System
.
currentTimeMillis
());
setRefundDesc
(
"取消订单退款:"
+
refundAmont
.
toString
());
setTradeNo
(
refundTradeNo
);
setTradeNo
(
refundTradeNo
);
setRefundType
(
RefundTypeEnum
.
RentVehicle
.
getCode
());
setRefundType
(
RefundTypeEnum
.
RentVehicle
.
getCode
());
}};
}};
orderRefund
.
setRefundAmount
(
refundAmont
);
orderRefund
.
setRefundDesc
(
refundDesc
);
orderRefund
.
setRefundStatus
(
refundStatus
);
orderRefund
.
setRefundStatus
(
refundStatus
);
orderRefundBiz
.
insertSelective
(
orderRefund
);
orderRefundBiz
.
insertSelective
(
orderRefund
);
}
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/OrderRentVehicleController.java
View file @
7a0e389d
...
@@ -74,6 +74,7 @@ public class OrderRentVehicleController extends CommonBaseController {
...
@@ -74,6 +74,7 @@ public class OrderRentVehicleController extends CommonBaseController {
if
(
StrUtil
.
isNotBlank
(
BaseContextHandler
.
getToken
()))
{
if
(
StrUtil
.
isNotBlank
(
BaseContextHandler
.
getToken
()))
{
bo
.
setAppUserDTO
(
userFeign
.
userDetailByToken
(
BaseContextHandler
.
getToken
()).
getData
());
bo
.
setAppUserDTO
(
userFeign
.
userDetailByToken
(
BaseContextHandler
.
getToken
()).
getData
());
}
}
orderRentVehicleService
.
initDetailSecond
(
bo
);
return
ObjectRestResponse
.
succ
(
orderRentVehicleService
.
calculatePrice
(
bo
));
return
ObjectRestResponse
.
succ
(
orderRentVehicleService
.
calculatePrice
(
bo
));
}
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/AbstractOrderHandle.java
View file @
7a0e389d
...
@@ -13,10 +13,12 @@ import com.xxfc.platform.order.entity.BaseOrder;
...
@@ -13,10 +13,12 @@ import com.xxfc.platform.order.entity.BaseOrder;
import
com.xxfc.platform.order.entity.inter.OrderDetail
;
import
com.xxfc.platform.order.entity.inter.OrderDetail
;
import
com.xxfc.platform.order.mqhandler.RabbitProduct
;
import
com.xxfc.platform.order.mqhandler.RabbitProduct
;
import
com.xxfc.platform.order.pojo.price.OrderPriceVO
;
import
com.xxfc.platform.order.pojo.price.OrderPriceVO
;
import
com.xxfc.platform.universal.entity.Dictionary
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.Map
;
@Transactional
@Transactional
public
abstract
class
AbstractOrderHandle
<
Biz
extends
BaseBiz
,
Detail
extends
OrderDetail
>{
public
abstract
class
AbstractOrderHandle
<
Biz
extends
BaseBiz
,
Detail
extends
OrderDetail
>{
...
@@ -26,6 +28,8 @@ public abstract class AbstractOrderHandle<Biz extends BaseBiz, Detail extends Or
...
@@ -26,6 +28,8 @@ public abstract class AbstractOrderHandle<Biz extends BaseBiz, Detail extends Or
@Autowired
@Autowired
protected
Biz
detailBiz
;
protected
Biz
detailBiz
;
protected
Map
<
String
,
Dictionary
>
dictionaryMap
;
@Autowired
@Autowired
RabbitProduct
rabbitProduct
;
RabbitProduct
rabbitProduct
;
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderMemberService.java
View file @
7a0e389d
...
@@ -24,6 +24,7 @@ import javax.annotation.PostConstruct;
...
@@ -24,6 +24,7 @@ import javax.annotation.PostConstruct;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.HashSet
;
@Service
@Service
@Log4j
@Log4j
...
@@ -69,8 +70,8 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
...
@@ -69,8 +70,8 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
super
.
initDetail
(
bo
);
super
.
initDetail
(
bo
);
BaseUserMemberLevel
buml
=
userFeign
.
level
(
bo
.
getMemberLevel
());
BaseUserMemberLevel
buml
=
userFeign
.
level
(
bo
.
getMemberLevel
());
if
(!
bo
.
getMemberLevelId
().
equals
(
buml
.
getId
()))
{
if
(!
bo
.
getMemberLevelId
().
equals
(
buml
.
getId
()))
{
throw
new
BaseException
(
ResultCode
.
PARAM_ILLEGAL_CODE
,
new
Hash
Map
<
String
,
Object
>(){{
throw
new
BaseException
(
ResultCode
.
PARAM_ILLEGAL_CODE
,
new
Hash
Set
<
String
>(){{
put
(
"MemberLevelId 和 MemberLevel"
,
"
不对称"
);
add
(
"MemberLevelId 和 MemberLevel
不对称"
);
}});
}});
}
}
bo
.
setBaseUserMemberLevel
(
buml
);
bo
.
setBaseUserMemberLevel
(
buml
);
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderRentVehicleService.java
View file @
7a0e389d
...
@@ -20,7 +20,7 @@ import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
...
@@ -20,7 +20,7 @@ import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
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.universal.
entity.Dictionar
y
;
import
com.xxfc.platform.universal.
constant.DictionaryKe
y
;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
import
com.xxfc.platform.vehicle.entity.VehicleBookRecord
;
import
com.xxfc.platform.vehicle.entity.VehicleBookRecord
;
import
com.xxfc.platform.vehicle.entity.VehicleModel
;
import
com.xxfc.platform.vehicle.entity.VehicleModel
;
...
@@ -33,8 +33,10 @@ import org.springframework.stereotype.Service;
...
@@ -33,8 +33,10 @@ import org.springframework.stereotype.Service;
import
javax.annotation.PostConstruct
;
import
javax.annotation.PostConstruct
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.HashSet
;
import
static
com
.
github
.
wxiaoqi
.
security
.
admin
.
constant
.
enumerate
.
MemberEnum
.*;
import
static
com
.
github
.
wxiaoqi
.
security
.
admin
.
constant
.
enumerate
.
MemberEnum
.*;
import
static
com
.
xxfc
.
platform
.
universal
.
constant
.
DictionaryKey
.
APP_ORDER
;
@Service
@Service
@Log4j
@Log4j
...
@@ -47,6 +49,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
...
@@ -47,6 +49,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
private
static
Integer
DISCOUNT_STATUS_NONE
=
0
;
private
static
Integer
DISCOUNT_STATUS_NONE
=
0
;
private
static
Integer
DISCOUNT_STATUS_MEMBER
=
1
;
private
static
Integer
DISCOUNT_STATUS_MEMBER
=
1
;
private
static
Integer
DISCOUNT_STATUS_FIXED
=
2
;
private
static
Integer
DISCOUNT_STATUS_FIXED
=
2
;
private
static
Long
autoCancelTime
;
@Autowired
@Autowired
VehicleFeign
vehicleFeign
;
VehicleFeign
vehicleFeign
;
...
@@ -72,23 +75,21 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
...
@@ -72,23 +75,21 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
@Override
@Override
public
void
initDetail
(
RentVehicleBO
bo
)
{
public
void
initDetail
(
RentVehicleBO
bo
)
{
super
.
initDetail
(
bo
);
super
.
initDetail
(
bo
);
initDetailSecond
(
bo
);
}
public
void
initDetailSecond
(
RentVehicleBO
bo
)
{
initDictionary
();
initDictionary
();
VehicleModel
vehicleModel
=
vehicleFeign
.
get
(
bo
.
getModelId
()).
getData
();
VehicleModel
vehicleModel
=
vehicleFeign
.
get
(
bo
.
getModelId
()).
getData
();
bo
.
setVehicleModel
(
vehicleModel
);
bo
.
setVehicleModel
(
vehicleModel
);
}
}
private
void
initDictionary
()
{
public
void
initDictionary
()
{
Dictionary
driverPriceDic
=
thirdFeign
.
dictionaryGet
(
BeanUtil
.
beanToMap
(
new
Dictionary
(){{
dictionaryMap
=
thirdFeign
.
dictionaryGetAll4Map
().
getData
();
setType
(
"APP_ORDER"
);
this
.
autoCancelTime
=
Long
.
valueOf
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
ACT_RENT
).
getDetail
());
setCode
(
"DRIVER_PRICE"
);
this
.
DRIVER_PRICE
=
new
BigDecimal
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
DRIVER_PRICE
).
getDetail
());
}},
false
,
true
)).
getData
().
get
(
0
);
this
.
DAMAGE_SAFE
=
new
BigDecimal
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
DAMAGE_SAFE
).
getDetail
());
Dictionary
damageSafeDic
=
thirdFeign
.
dictionaryGet
(
BeanUtil
.
beanToMap
(
new
Dictionary
(){{
setType
(
"APP_ORDER"
);
setCode
(
"DAMAGE_SAFE"
);
}},
false
,
true
)).
getData
().
get
(
0
);
this
.
DRIVER_PRICE
=
new
BigDecimal
(
driverPriceDic
.
getDetail
());
this
.
DAMAGE_SAFE
=
new
BigDecimal
(
damageSafeDic
.
getDetail
());
}
}
@Override
@Override
...
@@ -112,9 +113,8 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
...
@@ -112,9 +113,8 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
super
.
handleDetail
(
bo
);
super
.
handleDetail
(
bo
);
//发送定时取消订单(30分钟)
//发送定时取消订单(数据字典设置--5分钟)
//rabbitProduct.sendDelayMessage(bo.getOrder(), 1000L * 60 * 30);
rabbitProduct
.
sendDelayMessage
(
bo
.
getOrder
(),
autoCancelTime
);
rabbitProduct
.
sendDelayMessage
(
bo
.
getOrder
(),
1000L
*
60
*
5
);
}
}
@Override
@Override
...
@@ -139,8 +139,10 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
...
@@ -139,8 +139,10 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
//如果用户存在,并且为会员,并且车辆有优惠价
//如果用户存在,并且为会员,并且车辆有优惠价
if
(
null
!=
dto
&&
null
!=
detail
.
getRentFreeDay
()
&&
detail
.
getRentFreeDay
()
>
0
)
{
if
(
null
!=
dto
&&
null
!=
detail
.
getRentFreeDay
()
&&
detail
.
getRentFreeDay
()
>
0
)
{
if
(
dto
.
getRentFreeDays
()
<=
0
)
{
if
(
null
==
dto
.
getRentFreeDays
()
||
dto
.
getRentFreeDays
()
<=
0
)
{
throw
new
BaseException
(
ResultCode
.
PARAM_EXPIRE_CODE
);
throw
new
BaseException
(
ResultCode
.
PARAM_EXPIRE_CODE
,
new
HashSet
<
String
>()
{{
add
(
"免费租车天数不存在或为0"
);
}});
}
}
if
(
detail
.
getDayNum
()
>
dto
.
getRentFreeDays
())
{
if
(
detail
.
getDayNum
()
>
dto
.
getRentFreeDays
())
{
freeDayNum
=
dto
.
getRentFreeDays
();
freeDayNum
=
dto
.
getRentFreeDays
();
...
@@ -194,25 +196,26 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
...
@@ -194,25 +196,26 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
orderAmount
=
orderAmount
.
add
(
goodsAmount
).
add
(
vehicleModel
.
getDeposit
());
orderAmount
=
orderAmount
.
add
(
goodsAmount
).
add
(
vehicleModel
.
getDeposit
());
//生成订单明细
//生成订单明细
RentVehiclePriceVO
rvp
=
new
RentVehiclePriceVO
();
RentVehiclePriceVO
rvp
=
new
RentVehiclePriceVO
(){{
rvp
.
setOrderAmount
(
orderAmount
);
setOrderAmount
(
orderAmount
);
rvp
.
setGoodsAmount
(
goodsAmount
);
setGoodsAmount
(
goodsAmount
);
setRealAmount
(
orderAmount
);
setDeposit
(
vehicleModel
.
getDeposit
());
setDriverPrice
(
DRIVER_PRICE
);
setDamageSafePrice
(
DAMAGE_SAFE
);
setModelName
(
vehicleModel
.
getName
());
setDayNum
(
detail
.
getDayNum
());
setVehicleNum
(
1
);
setDriverNum
(
1
);
}};
rvp
.
setDriverAmount
(
driverAmount
);
rvp
.
setDriverAmount
(
driverAmount
);
rvp
.
setVehicleAmount
(
vehicleAmount
);
rvp
.
setVehicleAmount
(
vehicleAmount
);
rvp
.
setDamageSafeAmount
(
damageSafeAmount
);
rvp
.
setDamageSafeAmount
(
damageSafeAmount
);
rvp
.
setRealAmount
(
orderAmount
);
rvp
.
setDeposit
(
vehicleModel
.
getDeposit
());
rvp
.
setModelAmount
(
modelAmount
);
rvp
.
setModelAmount
(
modelAmount
);
rvp
.
setDriverPrice
(
DRIVER_PRICE
);
rvp
.
setDamageSafePrice
(
DAMAGE_SAFE
);
rvp
.
setModelName
(
vehicleModel
.
getName
());
rvp
.
setDayNum
(
detail
.
getDayNum
());
rvp
.
setVehicleDayNum
(
vehicleDayNum
);
rvp
.
setVehicleDayNum
(
vehicleDayNum
);
rvp
.
setVehicleNum
(
1
);
rvp
.
setDriverNum
(
1
);
//设置收费明细
//设置收费明细
costDetail
(
rvp
,
handle
c
hildren
(
detail
,
vehicleDayNum
));
costDetail
(
rvp
,
handle
C
hildren
(
detail
,
vehicleDayNum
));
return
rvp
;
return
rvp
;
}
}
...
@@ -234,7 +237,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
...
@@ -234,7 +237,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
return
modelAmount
;
return
modelAmount
;
}
}
private
String
handle
c
hildren
(
RentVehicleBO
detail
,
Integer
vehicleDayNum
)
{
private
String
handle
C
hildren
(
RentVehicleBO
detail
,
Integer
vehicleDayNum
)
{
StringBuffer
childrenStr
=
new
StringBuffer
(
""
);
StringBuffer
childrenStr
=
new
StringBuffer
(
""
);
if
(
vehicleDayNum
>
0
)
{
if
(
vehicleDayNum
>
0
)
{
childrenStr
.
append
(
",${tem_0101}"
);
childrenStr
.
append
(
",${tem_0101}"
);
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderTourService.java
View file @
7a0e389d
...
@@ -6,7 +6,9 @@ import cn.hutool.core.util.StrUtil;
...
@@ -6,7 +6,9 @@ import cn.hutool.core.util.StrUtil;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.auth.client.config.UserAuthConfig
;
import
com.github.wxiaoqi.security.auth.client.config.UserAuthConfig
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.xxfc.platform.order.biz.OrderCostDetailBiz
;
import
com.xxfc.platform.order.biz.OrderCostDetailBiz
;
import
com.xxfc.platform.order.biz.OrderTemplateBiz
;
import
com.xxfc.platform.order.biz.OrderTemplateBiz
;
import
com.xxfc.platform.order.biz.OrderTourDetailBiz
;
import
com.xxfc.platform.order.biz.OrderTourDetailBiz
;
...
@@ -22,6 +24,8 @@ import com.xxfc.platform.tour.entity.TourGoodVerification;
...
@@ -22,6 +24,8 @@ import com.xxfc.platform.tour.entity.TourGoodVerification;
import
com.xxfc.platform.tour.entity.TourUser
;
import
com.xxfc.platform.tour.entity.TourUser
;
import
com.xxfc.platform.tour.feign.TourFeign
;
import
com.xxfc.platform.tour.feign.TourFeign
;
import
com.xxfc.platform.tour.vo.TourSpePriceVo
;
import
com.xxfc.platform.tour.vo.TourSpePriceVo
;
import
com.xxfc.platform.universal.constant.DictionaryKey
;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
import
com.xxfc.platform.vehicle.entity.SysRegion
;
import
com.xxfc.platform.vehicle.entity.SysRegion
;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
com.xxfc.platform.vehicle.pojo.CompanyDetail
;
import
com.xxfc.platform.vehicle.pojo.CompanyDetail
;
...
@@ -34,11 +38,12 @@ import javax.servlet.http.HttpServletRequest;
...
@@ -34,11 +38,12 @@ import javax.servlet.http.HttpServletRequest;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_FALSE
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_TRUE
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_TRUE
;
import
static
com
.
xxfc
.
platform
.
universal
.
constant
.
DictionaryKey
.
APP_ORDER
;
@Service
@Service
@Log4j
@Log4j
...
@@ -49,13 +54,13 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
...
@@ -49,13 +54,13 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
@Autowired
@Autowired
VehicleFeign
vehicleFeign
;
VehicleFeign
vehicleFeign
;
private
static
Integer
IS_CHILD
=
1
;
private
static
Integer
IS_CHILD
=
1
;
private
static
Integer
LEVEL_DEFAULT
=
0
;
private
static
Integer
LEVEL_DEFAULT
=
0
;
private
static
Integer
NUMBER_ZERO
=
0
;
private
static
Integer
NUMBER_ZERO
=
0
;
private
static
BigDecimal
INSURE_PRICE
=
new
BigDecimal
(
"5.00"
);
//保险
private
static
BigDecimal
INSURE_PRICE
;
private
static
Long
autoCancelTime
;
//= new BigDecimal("5.00"); //保险
@Autowired
@Autowired
OrderCostDetailBiz
orderCostDetailBiz
;
OrderCostDetailBiz
orderCostDetailBiz
;
...
@@ -69,6 +74,9 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
...
@@ -69,6 +74,9 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
@Autowired
@Autowired
UserFeign
userFeign
;
UserFeign
userFeign
;
@Autowired
ThirdFeign
thirdFeign
;
@Autowired
@Autowired
public
HttpServletRequest
request
;
public
HttpServletRequest
request
;
...
@@ -84,11 +92,18 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
...
@@ -84,11 +92,18 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
@Override
@Override
public
void
initDetail
(
TourBO
bo
)
{
public
void
initDetail
(
TourBO
bo
)
{
super
.
initDetail
(
bo
);
super
.
initDetail
(
bo
);
initDictionary
();
TourGood
tourGood
=
tourFeign
.
usableGet
(
bo
.
getGoodId
()).
getData
();
TourGood
tourGood
=
tourFeign
.
usableGet
(
bo
.
getGoodId
()).
getData
();
bo
.
setTourGood
(
tourGood
);
bo
.
setTourGood
(
tourGood
);
bo
.
setAppUserDTO
(
getUserInfo
());
bo
.
setAppUserDTO
(
getUserInfo
());
}
}
public
void
initDictionary
()
{
dictionaryMap
=
thirdFeign
.
dictionaryGetAll4Map
().
getData
();
this
.
INSURE_PRICE
=
new
BigDecimal
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
INSURE_PRICE
).
getDetail
());
this
.
autoCancelTime
=
Long
.
valueOf
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
ACT_TOUR
).
getDetail
());
}
@Override
@Override
public
void
handleDetail
(
TourBO
bo
)
{
public
void
handleDetail
(
TourBO
bo
)
{
//设置订单状态为3
//设置订单状态为3
...
@@ -117,7 +132,7 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
...
@@ -117,7 +132,7 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
super
.
handleDetail
(
bo
);
super
.
handleDetail
(
bo
);
//发送定时取消订单(30分钟)
//发送定时取消订单(30分钟)
rabbitProduct
.
sendDelayMessage
(
bo
.
getOrder
(),
1000L
*
60
*
30
);
rabbitProduct
.
sendDelayMessage
(
bo
.
getOrder
(),
autoCancelTime
);
}
}
@Override
@Override
...
@@ -156,6 +171,10 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
...
@@ -156,6 +171,10 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
detail
.
setTotalNumber
(
detail
.
getAdultNum
()
+
detail
.
getChildNum
());
detail
.
setTotalNumber
(
detail
.
getAdultNum
()
+
detail
.
getChildNum
());
}
}
if
(
detail
.
getAdultNum
()
<=
0
)
{
throw
new
BaseException
(
ResultCode
.
PARAM_ILLEGAL_CODE
,
new
HashSet
<
String
>(){{
add
(
"最少一个成人"
);}});
}
//计算旅游价格
//计算旅游价格
ObjectRestResponse
<
TourSpePriceVo
>
objectRestResponse
=
tourFeign
.
refund
(
new
TourSpePriceDTO
(){{
ObjectRestResponse
<
TourSpePriceVo
>
objectRestResponse
=
tourFeign
.
refund
(
new
TourSpePriceDTO
(){{
setChildNumber
(
detail
.
getChildNum
());
setChildNumber
(
detail
.
getChildNum
());
...
@@ -193,11 +212,11 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
...
@@ -193,11 +212,11 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
tpv
.
setTotalNumber
(
detail
.
getTotalNumber
());
tpv
.
setTotalNumber
(
detail
.
getTotalNumber
());
//设置收费明细
//设置收费明细
costDetail
(
tpv
,
handle
c
hildren
(
detail
));
costDetail
(
tpv
,
handle
C
hildren
(
detail
));
return
tpv
;
return
tpv
;
}
}
private
String
handle
c
hildren
(
TourBO
detail
)
{
private
String
handle
C
hildren
(
TourBO
detail
)
{
StringBuffer
childrenStr
=
new
StringBuffer
(
""
);
StringBuffer
childrenStr
=
new
StringBuffer
(
""
);
if
(
NUMBER_ZERO
<
detail
.
getAdultNum
())
{
if
(
NUMBER_ZERO
<
detail
.
getAdultNum
())
{
childrenStr
.
append
(
",${tem_0201}"
);
childrenStr
.
append
(
",${tem_0201}"
);
...
...
xx-universal/xx-universal-api/src/main/java/com/xxfc/platform/universal/constant/DictionaryKey.java
0 → 100644
View file @
7a0e389d
package
com
.
xxfc
.
platform
.
universal
.
constant
;
public
class
DictionaryKey
{
/**
* 订单类型
*/
public
static
final
String
APP_ORDER
=
"APP_ORDER"
;
/**
* 租车,旅游退款
*/
public
static
final
String
RENT_REFUND
=
"RENT_REFUND"
;
public
static
final
String
TOUR_REFUND
=
"TOUR_REFUND"
;
/**
* 租车:公司司机租金、免赔费用
*/
public
static
final
String
DRIVER_PRICE
=
"DRIVER_PRICE"
;
public
static
final
String
DAMAGE_SAFE
=
"DAMAGE_SAFE"
;
/**
* 旅游:保险费用
*/
public
static
final
String
INSURE_PRICE
=
"INSURE_PRICE"
;
/**
* 自动取消订单时间:租车、旅游
*/
public
static
final
String
ACT_RENT
=
"ACT_RENT"
;
public
static
final
String
ACT_TOUR
=
"ACT_TOUR"
;
}
xx-universal/xx-universal-api/src/main/java/com/xxfc/platform/universal/feign/ThirdFeign.java
View file @
7a0e389d
...
@@ -69,4 +69,7 @@ public interface ThirdFeign {
...
@@ -69,4 +69,7 @@ public interface ThirdFeign {
// @GetMapping(value = "/dictionary/get")
// @GetMapping(value = "/dictionary/get")
@RequestMapping
(
value
=
"/dictionary/get"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/dictionary/get"
,
method
=
RequestMethod
.
GET
)
public
ObjectRestResponse
<
List
<
Dictionary
>>
dictionaryGet
(
@RequestParam
(
value
=
"dictionary"
)
Map
<
String
,
Object
>
dictionary
);
public
ObjectRestResponse
<
List
<
Dictionary
>>
dictionaryGet
(
@RequestParam
(
value
=
"dictionary"
)
Map
<
String
,
Object
>
dictionary
);
@RequestMapping
(
value
=
"/dictionary/getAll4Map"
,
method
=
RequestMethod
.
GET
)
public
ObjectRestResponse
<
Map
<
String
,
Dictionary
>>
dictionaryGetAll4Map
();
}
}
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/biz/DictionaryBiz.java
View file @
7a0e389d
...
@@ -12,10 +12,9 @@ import lombok.extern.slf4j.Slf4j;
...
@@ -12,10 +12,9 @@ import lombok.extern.slf4j.Slf4j;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.StringUtils
;
import
org.springframework.util.StringUtils
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.HashSet
;
import
java.util.function.Function
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
java.util.Set
;
@Service
@Service
@Slf4j
@Slf4j
...
@@ -83,6 +82,11 @@ public class DictionaryBiz extends BaseBiz<DictionaryMapper, Dictionary> {
...
@@ -83,6 +82,11 @@ public class DictionaryBiz extends BaseBiz<DictionaryMapper, Dictionary> {
if
(
StringUtils
.
isEmpty
(
type
))
{
if
(
StringUtils
.
isEmpty
(
type
))
{
return
ObjectRestResponse
.
paramIsEmpty
();
return
ObjectRestResponse
.
paramIsEmpty
();
}
}
List
<
Dictionary
>
dictionaryList
=
getParentCommon
(
type
);
return
ObjectRestResponse
.
succ
(
dictionaryList
);
}
private
List
<
Dictionary
>
getParentCommon
(
String
type
)
{
Dictionary
dictionary
=
new
Dictionary
();
Dictionary
dictionary
=
new
Dictionary
();
dictionary
.
setType
(
type
);
dictionary
.
setType
(
type
);
dictionary
.
setPid
(
0
);
dictionary
.
setPid
(
0
);
...
@@ -91,10 +95,19 @@ public class DictionaryBiz extends BaseBiz<DictionaryMapper, Dictionary> {
...
@@ -91,10 +95,19 @@ public class DictionaryBiz extends BaseBiz<DictionaryMapper, Dictionary> {
Set
<
Dictionary
>
dictionaryVoList
=
buildTree
(
parent
.
getId
());
Set
<
Dictionary
>
dictionaryVoList
=
buildTree
(
parent
.
getId
());
parent
.
setChildrens
(
dictionaryVoList
);
parent
.
setChildrens
(
dictionaryVoList
);
}
}
return
ObjectRestResponse
.
succ
(
dictionaryList
)
;
return
dictionaryList
;
}
}
public
Map
<
String
,
Dictionary
>
getAll4Map
(){
// List<Dictionary> dictionaries = this.getParentCommon(null);
List
<
Dictionary
>
dictionaries
=
selectListAll
();
Map
<
String
,
Dictionary
>
dictionaryMap
=
dictionaries
.
parallelStream
().
collect
(
Collectors
.
toMap
(
dic
->
dic
.
getType
()+
"_"
+
dic
.
getCode
()
,
Function
.
identity
(),
(
oldValue
,
newValue
)
->
newValue
));
dictionaryMap
.
forEach
((
k
,
v
)
->
{
v
.
setChildrens
(
buildTree
(
v
.
getId
()));
});
return
dictionaryMap
;
}
public
DictionaryVo
buidTree
(
Dictionary
dictionary
)
{
public
DictionaryVo
buidTree
(
Dictionary
dictionary
)
{
DictionaryVo
dictionaryVo
=
new
DictionaryVo
();
DictionaryVo
dictionaryVo
=
new
DictionaryVo
();
...
...
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/controller/DictionaryController.java
View file @
7a0e389d
...
@@ -9,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -9,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
@RestController
@RestController
@RequestMapping
(
value
=
"dictionary"
)
@RequestMapping
(
value
=
"dictionary"
)
...
@@ -47,4 +48,10 @@ public class DictionaryController {
...
@@ -47,4 +48,10 @@ public class DictionaryController {
public
ObjectRestResponse
<
List
<
Dictionary
>>
getParent
(
String
type
)
{
public
ObjectRestResponse
<
List
<
Dictionary
>>
getParent
(
String
type
)
{
return
dictionaryBiz
.
getParent
(
type
);
return
dictionaryBiz
.
getParent
(
type
);
}
}
@GetMapping
(
value
=
"/getAll4Map"
)
@ApiOperation
(
value
=
"获取所有的内容, key为 <type>_<code>"
)
public
ObjectRestResponse
<
Map
<
String
,
Dictionary
>>
getAll4Map
()
{
return
ObjectRestResponse
.
succ
(
dictionaryBiz
.
getAll4Map
());
}
}
}
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/feign/VehicleFeign.java
View file @
7a0e389d
...
@@ -37,10 +37,16 @@ public interface VehicleFeign {
...
@@ -37,10 +37,16 @@ public interface VehicleFeign {
@RequestMapping
(
value
=
"/branchCompany/app/unauth/detail/{id}"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/branchCompany/app/unauth/detail/{id}"
,
method
=
RequestMethod
.
GET
)
public
ObjectRestResponse
<
CompanyDetail
>
getCompanyDetail
(
@PathVariable
Integer
id
);
public
ObjectRestResponse
<
CompanyDetail
>
getCompanyDetail
(
@PathVariable
Integer
id
);
@RequestMapping
(
value
=
"/unbook/4employee/{bookRecordId}"
,
method
=
RequestMethod
.
DELETE
)
//拒绝预约
@RequestMapping
(
value
=
"/vehicleInfo/book/4employee/reject/{bookRecordId}"
,
method
=
RequestMethod
.
PUT
)
public
RestResponse
<
Integer
>
rejectVehicleBooking
(
@PathVariable
Long
bookRecordId
);
//取消预约
@RequestMapping
(
value
=
"/vehicleInfo/unbook/4employee/{bookRecordId}"
,
method
=
RequestMethod
.
DELETE
)
public
RestResponse
<
Integer
>
unbookVehicle
(
@PathVariable
Long
bookRecordId
);
public
RestResponse
<
Integer
>
unbookVehicle
(
@PathVariable
Long
bookRecordId
);
@RequestMapping
(
value
=
"/book/4employee/prove/{bookRecordId}"
,
method
=
RequestMethod
.
PUT
)
//通过预约
@RequestMapping
(
value
=
"/vehicleInfo/book/4employee/prove/{bookRecordId}"
,
method
=
RequestMethod
.
PUT
)
public
RestResponse
<
Integer
>
proveVehicleBooking
(
@PathVariable
Long
bookRecordId
);
public
RestResponse
<
Integer
>
proveVehicleBooking
(
@PathVariable
Long
bookRecordId
);
//获取分公司列表
//获取分公司列表
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleBiz.java
View file @
7a0e389d
...
@@ -449,6 +449,11 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
...
@@ -449,6 +449,11 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
if
(
effected
==
0
){
//修改失败,手动回滚
if
(
effected
==
0
){
//修改失败,手动回滚
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
//手动回滚
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
//手动回滚
return
RestResponse
.
code
(
ResCode
.
VEHICLE_BOOKED_RECORD_ALREADY_CHANGED
.
getCode
());
return
RestResponse
.
code
(
ResCode
.
VEHICLE_BOOKED_RECORD_ALREADY_CHANGED
.
getCode
());
}
else
if
(
VehicleBookRecordStatus
.
REJECTED
.
getCode
().
equals
(
rsStatus
)){
//拒绝,则释放bookinfo
bookVehicleVo
.
setUnbookStartDate
(
bookVehicleVo
.
getBookStartDate
());
bookVehicleVo
.
setUnbookEndDate
(
bookVehicleVo
.
getBookEndDate
());
Boolean
hasSuc
=
unbookVehicle
(
bookVehicleVo
);
}
}
return
RestResponse
.
suc
();
return
RestResponse
.
suc
();
}
}
...
@@ -645,7 +650,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
...
@@ -645,7 +650,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
}
}
/**
/**
* 取消预定
* 取消预定
(释放bookinfo)
* @return
* @return
*/
*/
@Transactional
@Transactional
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/rest/VehicleController.java
View file @
7a0e389d
...
@@ -42,10 +42,7 @@ import org.springframework.web.multipart.MultipartFile;
...
@@ -42,10 +42,7 @@ import org.springframework.web.multipart.MultipartFile;
import
tk.mybatis.mapper.entity.Example
;
import
tk.mybatis.mapper.entity.Example
;
import
tk.mybatis.mapper.weekend.WeekendSqls
;
import
tk.mybatis.mapper.weekend.WeekendSqls
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.regex.Pattern
;
import
java.util.regex.Pattern
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -401,8 +398,8 @@ public class VehicleController extends BaseController<VehicleBiz> {
...
@@ -401,8 +398,8 @@ public class VehicleController extends BaseController<VehicleBiz> {
//查询可车辆信息
//查询可车辆信息
PageDataVO
<
Vehicle
>
pageDataVO
=
vehicleBiz
.
searchUsableVehicle
(
dto
);
PageDataVO
<
Vehicle
>
pageDataVO
=
vehicleBiz
.
searchUsableVehicle
(
dto
);
if
(
pageDataVO
.
getData
().
size
()
<=
0
)
{
if
(
pageDataVO
.
getData
().
size
()
<=
0
)
{
throw
new
BaseException
(
ResultCode
.
NOTEXIST_CODE
,
new
Hash
Map
<
String
,
Object
>(){{
throw
new
BaseException
(
ResultCode
.
NOTEXIST_CODE
,
new
Hash
Set
<
String
>(){{
put
(
"可用车辆"
,
"
不存在"
);
add
(
"可用车辆
不存在"
);
}});
}});
}
}
bookVehicleVo
.
setVehicleId
(
pageDataVO
.
getData
().
get
(
0
).
getId
());
bookVehicleVo
.
setVehicleId
(
pageDataVO
.
getData
().
get
(
0
).
getId
());
...
...
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