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
bf7366e6
Commit
bf7366e6
authored
Jul 25, 2019
by
jiaorz
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/base-modify' into base-modify
parents
e0e7b086
a74cbc88
Changes
14
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
292 additions
and
35 deletions
+292
-35
BaseUserMemberExportBiz.java
...b/wxiaoqi/security/admin/biz/BaseUserMemberExportBiz.java
+29
-15
UserBusinessBiz.java
...om/github/wxiaoqi/security/admin/biz/UserBusinessBiz.java
+6
-2
UserMemberLevelBiz.java
...github/wxiaoqi/security/admin/biz/UserMemberLevelBiz.java
+5
-3
WaterMQHandler.java
...github/wxiaoqi/security/admin/handler/WaterMQHandler.java
+9
-3
usermember.xlsx
...modules/ace-admin/src/main/resources/file/usermember.xlsx
+0
-0
UserCouponBiz.java
...in/java/com/xxfc/platform/activity/biz/UserCouponBiz.java
+3
-0
UserCouponAdminController.java
...atform/activity/rest/admin/UserCouponAdminController.java
+1
-1
OrderMemberService.java
...a/com/xxfc/platform/order/service/OrderMemberService.java
+7
-3
OrderTourService.java
...ava/com/xxfc/platform/order/service/OrderTourService.java
+9
-1
RentVehicleBookDTO.java
...va/com/xxfc/platform/vehicle/pojo/RentVehicleBookDTO.java
+0
-1
VehicleBiz.java
...c/main/java/com/xxfc/platform/vehicle/biz/VehicleBiz.java
+7
-4
VehicleController.java
...ava/com/xxfc/platform/vehicle/rest/VehicleController.java
+4
-2
ListTest.java
...ver/src/test/java/com/xxfc/platform/vehicle/ListTest.java
+18
-0
RegionTest.java
...r/src/test/java/com/xxfc/platform/vehicle/RegionTest.java
+194
-0
No files found.
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/BaseUserMemberExportBiz.java
View file @
bf7366e6
...
...
@@ -4,8 +4,10 @@ import com.github.wxiaoqi.security.admin.dto.BaseUserMemberExportDTO;
import
com.github.wxiaoqi.security.admin.dto.BaseUserMemberExportDataFindDTO
;
import
com.github.wxiaoqi.security.admin.dto.UserMemberDTO
;
import
com.github.wxiaoqi.security.admin.dto.UserMemberSaveDTO
;
import
com.github.wxiaoqi.security.admin.entity.BaseUserMember
;
import
com.github.wxiaoqi.security.admin.entity.BaseUserMemberExport
;
import
com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel
;
import
com.github.wxiaoqi.security.admin.entity.UserMemberLevel
;
import
com.github.wxiaoqi.security.admin.mapper.BaseUserMemberExportMapper
;
import
com.github.wxiaoqi.security.admin.vo.BaseUserMemberExportVo
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
...
...
@@ -22,6 +24,7 @@ import tk.mybatis.mapper.entity.Example;
import
java.time.Instant
;
import
java.util.*
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -45,7 +48,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
private
AppUserLoginBiz
appUserLoginBiz
;
public
void
saveUserMember
(
UserMemberSaveDTO
userMemberSaveDTO
,
Integer
userId
,
String
name
)
{
public
void
saveUserMember
(
UserMemberSaveDTO
userMemberSaveDTO
,
Integer
userId
,
String
name
)
{
if
(
userMemberSaveDTO
!=
null
)
{
UserMemberDTO
userMemberDTO
=
new
UserMemberDTO
();
BaseUserMemberLevel
level
=
userMemberLevelBiz
.
getLevel
(
userMemberSaveDTO
.
getMemberLevel
());
...
...
@@ -86,26 +89,37 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
}
@Transactional
(
rollbackFor
=
Exception
.
class
,
propagation
=
Propagation
.
REQUIRED
)
public
int
importUserMember
(
List
<
String
[]>
userMemberData
,
Integer
userId
,
String
userName
)
{
public
int
importUserMember
(
List
<
String
[]>
userMemberData
,
Integer
userId
,
String
userName
)
{
List
<
BaseUserMemberExport
>
baseUserMemberExports
=
new
ArrayList
<>();
List
<
Integer
>
levels
=
userMemberData
.
stream
().
map
(
x
->
x
[
1
]).
map
(
Integer:
:
valueOf
).
distinct
().
collect
(
Collectors
.
toList
());
Map
<
Integer
,
Integer
>
levelAndDisCountMap
=
userMemberLevelBiz
.
getUserMemberLevelAndDisCountMapByLevels
(
levels
);
List
<
BaseUserMemberLevel
>
levesls
=
userMemberLevelBiz
.
getLevesls
();
Map
<
Integer
,
BaseUserMemberLevel
>
levelAndbaseUserMemberMap
=
levesls
.
stream
().
collect
(
Collectors
.
toMap
(
BaseUserMemberLevel:
:
getLevel
,
Function
.
identity
()));
Map
<
String
,
Integer
>
leavelNameAndLeaveMap
=
levelAndbaseUserMemberMap
.
values
().
stream
().
collect
(
Collectors
.
toMap
(
BaseUserMemberLevel:
:
getName
,
BaseUserMemberLevel:
:
getLevel
));
List
<
String
>
phones
=
userMemberData
.
stream
().
map
(
x
->
x
[
0
]).
distinct
().
collect
(
Collectors
.
toList
());
Map
<
String
,
Integer
>
phoneAndUserIdMap
=
appUserLoginBiz
.
findPhoneAndUserIdMapByPhones
(
phones
);
Set
<
Map
.
Entry
<
String
,
Integer
>>
leaveNameAndLeaveEntry
=
leavelNameAndLeaveMap
.
entrySet
();
Integer
memberLevel
=
1
;
Integer
discount
=
0
;
for
(
String
[]
data
:
userMemberData
)
{
String
phone
=
data
[
0
];
String
memberLevel
=
data
[
1
];
String
memberLevel
Name
=
data
[
1
];
String
totalNumber
=
data
[
2
];
String
rentFreeDays
=
data
[
3
];
for
(
Map
.
Entry
<
String
,
Integer
>
entry
:
leaveNameAndLeaveEntry
)
{
if
(
entry
.
getKey
().
contains
(
memberLevelName
.
substring
(
0
,
1
))){
memberLevel
=
entry
.
getValue
();
discount
=
levelAndbaseUserMemberMap
.
get
(
memberLevel
).
getDiscount
();
break
;
}
}
if
(
phoneAndUserIdMap
!=
null
&&
phoneAndUserIdMap
.
get
(
phone
)
!=
null
)
{
UserMemberDTO
userMemberDTO
=
new
UserMemberDTO
();
userMemberDTO
.
setUserId
(
phoneAndUserIdMap
.
get
(
phone
));
userMemberDTO
.
setMemberLevel
(
Integer
.
valueOf
(
memberLevel
)
);
userMemberDTO
.
setDiscount
(
levelAndDisCountMap
==
null
?
0
:
(
levelAndDisCountMap
.
get
(
Integer
.
valueOf
(
memberLevel
))
==
null
?
0
:
levelAndDisCountMap
.
get
(
Integer
.
valueOf
(
memberLevel
)))
);
userMemberDTO
.
setMemberLevel
(
memberLevel
);
userMemberDTO
.
setDiscount
(
discount
);
userMemberDTO
.
setTotalNumber
(
Integer
.
valueOf
(
totalNumber
));
userMemberDTO
.
setRentFreeDays
(
Integer
.
valueOf
(
rentFreeDays
));
userMemberDTO
.
setIsBind
(
1
);
...
...
@@ -120,10 +134,10 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
BaseUserMemberExport
memberExport
=
BaseUserMemberExport
.
builder
()
.
username
(
phone
)
.
memberLevel
(
Integer
.
valueOf
(
memberLevel
)
)
.
memberLevel
(
memberLevel
)
.
totalNumber
(
Integer
.
valueOf
(
totalNumber
))
.
rentFreeDays
(
Integer
.
valueOf
(
rentFreeDays
))
.
discount
(
levelAndDisCountMap
==
null
?
0
:
(
levelAndDisCountMap
.
get
(
Integer
.
valueOf
(
memberLevel
))
==
null
?
0
:
levelAndDisCountMap
.
get
(
Integer
.
valueOf
(
memberLevel
)))
)
.
discount
(
discount
)
.
status
(
phoneAndUserIdMap
==
null
?
0
:
(
phoneAndUserIdMap
.
get
(
phone
)
==
null
?
0
:
1
))
.
crtId
(
userId
)
.
crtName
(
userName
)
...
...
@@ -152,7 +166,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
Example
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
andEqualTo
(
"username"
,
phone
);
criteria
.
andEqualTo
(
"status"
,
0
);
criteria
.
andEqualTo
(
"isDel"
,
0
);
criteria
.
andEqualTo
(
"isDel"
,
0
);
List
<
BaseUserMemberExport
>
baseUserMemberExports
=
mapper
.
selectByExample
(
example
);
if
(
CollectionUtils
.
isNotEmpty
(
baseUserMemberExports
))
{
...
...
@@ -183,7 +197,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
BaseUserMemberExportVo
baseUserMemberExportVo
;
for
(
BaseUserMemberExportDTO
userMemberExportDTO
:
userMemberExportDTOS
)
{
baseUserMemberExportVo
=
new
BaseUserMemberExportVo
();
BeanUtils
.
copyProperties
(
userMemberExportDTO
,
baseUserMemberExportVo
);
BeanUtils
.
copyProperties
(
userMemberExportDTO
,
baseUserMemberExportVo
);
baseUserMemberExportVos
.
add
(
baseUserMemberExportVo
);
}
baseUserMemberExportVos
.
sort
(
Comparator
.
comparing
(
BaseUserMemberExportVo:
:
getCrtTime
).
reversed
());
...
...
@@ -196,6 +210,6 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
}
public
void
updateUserMemberExportDataStatus
(
Integer
id
)
{
mapper
.
updateUserMemberExportDataStatusById
(
id
,
1
);
mapper
.
updateUserMemberExportDataStatusById
(
id
,
1
);
}
}
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/UserBusinessBiz.java
View file @
bf7366e6
...
...
@@ -98,9 +98,13 @@ public class UserBusinessBiz {
if
(
leaderId
!=
0
)
{
Map
<
Integer
,
AppUserLogin
>
userIdAndUserLoginMap
=
appUserLoginBiz
.
findUserIdAndUserLoginMapByMemberIds
(
Arrays
.
asList
(
leaderId
));
Map
<
Integer
,
AppUserDetail
>
userIdAndUserDetailMap
=
appUserDetailBiz
.
findUserIdAndUserDetailMapByMemberIds
(
Arrays
.
asList
(
leaderId
));
if
(!
userIdAndUserLoginMap
.
isEmpty
()){
promoteBO
.
setLeaderUsername
(
userIdAndUserLoginMap
.
get
(
leaderId
).
getUsername
());
}
if
(!
userIdAndUserDetailMap
.
isEmpty
()){
promoteBO
.
setLeaderHeadUrl
(
userIdAndUserDetailMap
.
get
(
leaderId
).
getHeadimgurl
());
}
}
promoteBO
.
setInviteNumber
(
memberStateAndCountMap
.
get
(
0
));
promoteBO
.
setActivatedNumber
(
memberStateAndCountMap
.
get
(
1
));
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/UserMemberLevelBiz.java
View file @
bf7366e6
...
...
@@ -2,6 +2,7 @@ package com.github.wxiaoqi.security.admin.biz;
import
com.ace.cache.annotation.Cache
;
import
com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel
;
import
com.github.wxiaoqi.security.admin.entity.UserMemberLevel
;
import
com.github.wxiaoqi.security.admin.mapper.BaseUserMemberLevelMapper
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
org.apache.commons.collections.CollectionUtils
;
...
...
@@ -12,6 +13,7 @@ import tk.mybatis.mapper.entity.Example;
import
java.util.List
;
import
java.util.Map
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -41,11 +43,11 @@ public class UserMemberLevelBiz extends BaseBiz<BaseUserMemberLevelMapper,BaseUs
}
@Transactional
(
rollbackFor
=
Exception
.
class
,
propagation
=
Propagation
.
REQUIRED
)
public
Map
<
Integer
,
Integer
>
getUserMemberLevelAndDisCount
MapByLevels
(
List
<
Integer
>
levels
){
public
Map
<
Integer
,
BaseUserMemberLevel
>
getUserMemberLevelAndUserMember
MapByLevels
(
List
<
Integer
>
levels
){
List
<
BaseUserMemberLevel
>
baseUserMemberLevels
=
mapper
.
selectUserMembersLevelByLevels
(
levels
);
Map
<
Integer
,
Integer
>
levelAndDiscountMap
=
null
;
Map
<
Integer
,
BaseUserMemberLevel
>
levelAndDiscountMap
=
null
;
if
(
CollectionUtils
.
isNotEmpty
(
baseUserMemberLevels
)){
levelAndDiscountMap
=
baseUserMemberLevels
.
stream
().
collect
(
Collectors
.
toMap
(
BaseUserMemberLevel:
:
getLevel
,
BaseUserMemberLevel:
:
getDiscount
));
levelAndDiscountMap
=
baseUserMemberLevels
.
stream
().
collect
(
Collectors
.
toMap
(
BaseUserMemberLevel:
:
getLevel
,
Function
.
identity
()
));
}
return
levelAndDiscountMap
;
}
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/handler/WaterMQHandler.java
View file @
bf7366e6
...
...
@@ -8,7 +8,9 @@ import com.github.wxiaoqi.security.admin.biz.AppUserSellingWaterBiz;
import
com.github.wxiaoqi.security.admin.dto.OrderGoodsDTO
;
import
com.github.wxiaoqi.security.admin.dto.OrderWaterDTO
;
import
com.rabbitmq.client.Channel
;
import
com.xxfc.platform.order.contant.enumerate.ItemTypeEnum
;
import
com.xxfc.platform.order.contant.enumerate.OrderTypeEnum
;
import
com.xxfc.platform.order.entity.OrderItem
;
import
com.xxfc.platform.order.pojo.mq.OrderMQDTO
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.Message
;
...
...
@@ -18,6 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.messaging.handler.annotation.Headers
;
import
org.springframework.stereotype.Component
;
import
java.io.IOException
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.Map
;
import
java.util.concurrent.ExecutorService
;
...
...
@@ -73,7 +76,7 @@ public class WaterMQHandler {
setGoodId
(
orderMQDTO
.
getOrderRentVehicleDetail
().
getModelId
());
setGoodNumber
(
1
);
setImg
(
orderMQDTO
.
getPicture
());
setPrice
(
orderMQDTO
.
get
Goods
Amount
());
setPrice
(
orderMQDTO
.
get
ItemByTypeEnum
(
ItemTypeEnum
.
VEHICLE_MODEL
).
getReal
Amount
());
setTitle
(
orderMQDTO
.
getName
());
setType
(
OrderGoodsDTO
.
TYPE_RENT
);
}});
...
...
@@ -81,13 +84,16 @@ public class WaterMQHandler {
);
break
;
case
TOUR:
OrderItem
tourAdultItem
=
orderMQDTO
.
getItemByTypeEnum
(
ItemTypeEnum
.
TOUR_ADULT
);
OrderItem
tourChildItem
=
orderMQDTO
.
getItemByTypeEnum
(
ItemTypeEnum
.
TOUR_CHILD
);
orderWaterDTO
.
setGoodsDTOList
(
new
ArrayList
<
OrderGoodsDTO
>()
{{
add
(
new
OrderGoodsDTO
()
{{
setGoodId
(
orderMQDTO
.
getOrderTourDetail
().
getGoodId
());
setGoodNumber
(
1
);
setImg
(
orderMQDTO
.
getPicture
());
setPrice
(
orderMQDTO
.
getGoodsAmount
());
setPrice
(
tourAdultItem
.
getRealAmount
().
add
(
null
==
tourChildItem
?
BigDecimal
.
ZERO
:
tourChildItem
.
getRealAmount
()));
setTitle
(
orderMQDTO
.
getName
());
setType
(
OrderGoodsDTO
.
TYPE_TOUR
);
}});
...
...
@@ -101,7 +107,7 @@ public class WaterMQHandler {
setGoodId
(
orderMQDTO
.
getOrderMemberDetail
().
getMemberLevelId
());
setGoodNumber
(
1
);
setImg
(
orderMQDTO
.
getPicture
());
setPrice
(
orderMQDTO
.
get
Goods
Amount
());
setPrice
(
orderMQDTO
.
get
ItemByTypeEnum
(
ItemTypeEnum
.
MEMBER
).
getReal
Amount
());
setTitle
(
orderMQDTO
.
getName
());
setType
(
OrderGoodsDTO
.
TYPE_MEMBER
);
}});
...
...
ace-modules/ace-admin/src/main/resources/file/usermember.xlsx
View file @
bf7366e6
No preview for this file type
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/UserCouponBiz.java
View file @
bf7366e6
...
...
@@ -202,6 +202,9 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> {
}
couponAmout
=
couponAmout
.
add
(
getCouponAmout
(
couponId
,
channel
,
amout
));
}
if
(
couponAmout
.
compareTo
(
amout
)>
0
){
couponAmout
=
amout
;
}
return
couponAmout
;
}
...
...
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/rest/admin/UserCouponAdminController.java
View file @
bf7366e6
...
...
@@ -45,7 +45,7 @@ public class UserCouponAdminController {
}
@PostMapping
(
"/sendcoupon"
)
public
ObjectRestResponse
<
Void
>
sendCoupon
(
UserCouponSendDTO
userCouponSendDTO
){
public
ObjectRestResponse
<
Void
>
sendCoupon
(
@RequestBody
UserCouponSendDTO
userCouponSendDTO
){
userCouponBiz
.
sendCoupon
(
userCouponSendDTO
);
return
ObjectRestResponse
.
succ
();
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderMemberService.java
View file @
bf7366e6
...
...
@@ -29,6 +29,7 @@ import org.springframework.stereotype.Service;
import
javax.annotation.PostConstruct
;
import
javax.servlet.http.HttpServletRequest
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.HashSet
;
import
java.util.stream.Collectors
;
...
...
@@ -140,10 +141,13 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
BigDecimal
couponAmount
=
BigDecimal
.
ZERO
;
//设置Item
OrderItem
vehicleOrderItem
=
orderItemBiz
.
initOrderItem
(
detail
.
getBaseUserMemberLevel
().
getPrice
(),
1
,
detail
.
getBaseUserMemberLevel
().
getName
(),
detail
.
getBaseUserMemberLevel
().
getId
(),
ItemTypeEnum
.
MEMBER
);
OrderItem
memberOrderItem
=
orderItemBiz
.
initOrderItem
(
detail
.
getBaseUserMemberLevel
().
getPrice
(),
1
,
detail
.
getBaseUserMemberLevel
().
getName
(),
detail
.
getBaseUserMemberLevel
().
getId
(),
ItemTypeEnum
.
MEMBER
);
detail
.
setItems
(
new
ArrayList
<
OrderItem
>());
detail
.
getItems
().
add
(
memberOrderItem
);
//商品价格
goodsAmount
=
goodsAmount
.
add
(
vehicle
OrderItem
.
getCalculateAmount
(
Boolean
.
TRUE
));
goodsAmount
=
goodsAmount
.
add
(
member
OrderItem
.
getCalculateAmount
(
Boolean
.
TRUE
));
//vehicleAmount 优惠券处理
if
(
null
!=
detail
.
getTickerNo
()
&&
detail
.
getTickerNo
().
size
()
>
0
)
{
...
...
@@ -151,7 +155,7 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
if
(
couponAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
detail
.
getOrder
().
setCouponTickerNos
(
detail
.
getTickerNo
().
stream
().
collect
(
Collectors
.
joining
(
","
)));
detail
.
getOrder
().
setHasDiscount
(
SYS_TRUE
);
vehicle
OrderItem
.
handleCouponAmount
(
couponAmount
);
member
OrderItem
.
handleCouponAmount
(
couponAmount
);
}
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderTourService.java
View file @
bf7366e6
...
...
@@ -143,7 +143,7 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
OrderItem
tourAdultItem
=
bo
.
getItemByTypeEnum
(
ItemTypeEnum
.
TOUR_ADULT
);
OrderItem
tourChildItem
=
bo
.
getItemByTypeEnum
(
ItemTypeEnum
.
TOUR_CHILD
);
BigDecimal
amount
=
tourAdultItem
.
getTotalAmount
().
add
(
tourChildItem
.
getTotalAmount
());
BigDecimal
amount
=
tourAdultItem
.
getTotalAmount
().
add
(
null
==
tourChildItem
?
BigDecimal
.
ZERO
:
tourChildItem
.
getTotalAmount
());
//如果有使用优惠券,则扣减
if
(
BigDecimal
.
ZERO
.
compareTo
(
bo
.
getOrder
().
getCouponAmount
())
<
0
)
{
...
...
@@ -215,14 +215,22 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
tourAdultItem
.
setUnitPrice
(
tourSpePriceVo
.
getPrice
());
OrderItem
tourChildItem
=
orderItemBiz
.
initOrderItem
(
tourSpePriceVo
.
getChildOriginalPrice
(),
detail
.
getChildNum
(),
"儿童"
,
detail
.
getSpePriceId
(),
ItemTypeEnum
.
TOUR_CHILD
);
tourChildItem
.
setUnitPrice
(
tourSpePriceVo
.
getChildPrice
());
//人数 * 天数
OrderItem
insureItem
=
orderItemBiz
.
initOrderItem
(
INSURE_PRICE
,
detail
.
getTotalNumber
()
*
detail
.
getTourGood
().
getNumber
(),
"旅游保险"
,
null
,
ItemTypeEnum
.
TOUR_INSURE
);
detail
.
setItems
(
new
ArrayList
<
OrderItem
>());
detail
.
getItems
().
add
(
tourAdultItem
);
if
(
tourChildItem
.
getBuyNum
()
>
0
)
{
detail
.
getItems
().
add
(
tourChildItem
);
}
//需要保险
if
(
SYS_TRUE
.
equals
(
detail
.
getHasInsure
()))
{
//人数 * 天数 * 价格
insureAmount
=
insureAmount
.
add
(
insureItem
.
getCalculateAmount
(
Boolean
.
TRUE
));
detail
.
getItems
().
add
(
insureItem
);
}
//总价
...
...
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/pojo/RentVehicleBookDTO.java
View file @
bf7366e6
...
...
@@ -47,5 +47,4 @@ public class RentVehicleBookDTO extends PageParam {
@ApiModelProperty
(
"订单号"
)
private
String
orderNo
;
}
\ No newline at end of file
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleBiz.java
View file @
bf7366e6
...
...
@@ -308,8 +308,11 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
checkIfVehicleExists
(
bookVehicleVo
.
getVehicleId
());
//提取日期和相应的预定目标日期
Map
<
String
,
List
<
String
>>
yearMonthAndDate
=
Maps
.
newHashMap
();
DateTime
startDay
=
DateTime
.
parse
(
bookVehicleVo
.
getBookStartDate
(),
DEFAULT_DATE_TIME_FORMATTER
);
DateTime
endDay
=
DateTime
.
parse
(
bookVehicleVo
.
getBookEndDate
(),
DEFAULT_DATE_TIME_FORMATTER
);
String
[]
bookStartDateArray
=
bookVehicleVo
.
getBookStartDate
().
split
(
" "
);
String
[]
bookEndDateArray
=
bookVehicleVo
.
getBookEndDate
().
split
(
" "
);
DateTime
startDay
=
DateTime
.
parse
(
bookStartDateArray
[
0
],
DEFAULT_DATE_TIME_FORMATTER
);
DateTime
endDay
=
DateTime
.
parse
(
bookEndDateArray
[
0
],
DEFAULT_DATE_TIME_FORMATTER
);
//转换日期范围为列表,并检查是否合法
...
...
@@ -332,9 +335,9 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
vehicleBookRecord
.
setBookUser
(
userId
);
vehicleBookRecord
.
setBookUserName
(
userName
);
vehicleBookRecord
.
setBookStartDate
(
DateTime
.
parse
(
book
VehicleVo
.
getBookStartDate
()
,
DEFAULT_DATE_TIME_FORMATTER
).
toDate
());
parse
(
book
StartDateArray
[
0
]
,
DEFAULT_DATE_TIME_FORMATTER
).
toDate
());
vehicleBookRecord
.
setBookEndDate
(
DateTime
.
parse
(
book
VehicleVo
.
getBookEndDate
()
,
DEFAULT_DATE_TIME_FORMATTER
).
toDate
());
parse
(
book
EndDateArray
[
0
]
,
DEFAULT_DATE_TIME_FORMATTER
).
toDate
());
vehicleBookRecord
.
setLiftAddr
(
bookVehicleVo
.
getLiftAddr
());
vehicleBookRecord
.
setRemark
(
bookVehicleVo
.
getRemark
());
vehicleBookRecord
.
setDestination
(
bookVehicleVo
.
getDestination
());
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/rest/VehicleController.java
View file @
bf7366e6
...
...
@@ -398,10 +398,8 @@ public class VehicleController extends BaseController<VehicleBiz> {
Integer
operatorId
=
USER_APP
;
String
userName
=
dto
.
getUserName
();
//BaseContextHandler.getName();
BookVehicleVO
bookVehicleVo
=
BeanUtil
.
toBean
(
dto
,
BookVehicleVO
.
class
);
dto
.
setLimit
(
1
);
dto
.
setPage
(
1
);
bookVehicleVo
.
setBookType
(
BookType
.
USER_RENT
.
getCode
());
//查询可车辆信息
PageDataVO
<
Vehicle
>
pageDataVO
=
vehicleBiz
.
searchUsableVehicle
(
dto
);
if
(
pageDataVO
.
getData
().
size
()
<=
0
)
{
...
...
@@ -409,6 +407,10 @@ public class VehicleController extends BaseController<VehicleBiz> {
add
(
"可用车辆不存在"
);
}});
}
dto
.
setBookStartDate
(
dto
.
getBookStartDate
()+
" 00:00:00"
);
dto
.
setBookEndDate
(
dto
.
getBookEndDate
()+
" 23:59:59"
);
BookVehicleVO
bookVehicleVo
=
BeanUtil
.
toBean
(
dto
,
BookVehicleVO
.
class
);
bookVehicleVo
.
setBookType
(
BookType
.
USER_RENT
.
getCode
());
bookVehicleVo
.
setVehicleId
(
pageDataVO
.
getData
().
get
(
0
).
getId
());
VehicleBookRecord
vehicleBookRecord
=
baseBiz
.
applyVehicle4Employee
(
operatorId
,
bookVehicleVo
,
userName
);
return
ObjectRestResponse
.
succ
(
vehicleBookRecord
);
...
...
xx-vehicle/xx-vehicle-server/src/test/java/com/xxfc/platform/vehicle/ListTest.java
View file @
bf7366e6
package
com
.
xxfc
.
platform
.
vehicle
;
import
org.joda.time.DateTime
;
import
org.joda.time.format.DateTimeFormat
;
import
org.junit.Test
;
import
java.lang.reflect.Array
;
import
java.util.Arrays
;
import
java.util.List
;
public
class
ListTest
{
@Test
public
void
ListTest
(){
List
<
Object
>
objects
=
Arrays
.
asList
();
DateTime
startDay
=
DateTime
.
parse
(
"2019-07-30 00:00:00"
,
DateTimeFormat
.
forPattern
(
"yyyy-MM-dd HH:mm:ss"
));
System
.
out
.
println
(
startDay
);
}
}
xx-vehicle/xx-vehicle-server/src/test/java/com/xxfc/platform/vehicle/RegionTest.java
0 → 100644
View file @
bf7366e6
package
com
.
xxfc
.
platform
.
vehicle
;
import
cn.hutool.core.comparator.PinyinComparator
;
import
cn.hutool.core.date.DateUnit
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.io.FileUtil
;
import
cn.hutool.core.io.file.FileWriter
;
import
cn.hutool.core.util.PinyinUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.ace.cache.annotation.Cache
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.stuxuhai.jpinyin.PinyinHelper
;
import
com.github.wxiaoqi.security.common.msg.TableResultResponse
;
import
com.github.wxiaoqi.security.common.util.Query
;
import
com.google.common.collect.Sets
;
import
com.mysql.cj.conf.RuntimeProperty
;
import
com.xxfc.platform.vehicle.VehicleApplication
;
import
com.xxfc.platform.vehicle.biz.SysRegionBiz
;
import
com.xxfc.platform.vehicle.constant.RedisKey
;
import
com.xxfc.platform.vehicle.entity.SysRegion
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.Getter
;
import
lombok.Setter
;
import
org.joda.time.DateTime
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.test.context.junit4.SpringJUnit4ClassRunner
;
import
java.io.PrintStream
;
import
java.util.*
;
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
@SpringBootTest
(
classes
={
VehicleApplication
.
class
})
public
class
RegionTest
{
@Autowired
private
RedisTemplate
customRedisTemplate
;
@Autowired
private
SysRegionBiz
sysRegionBiz
;
// public static final String TEST_REDIS_KEY ="redis:{1}";
private
final
String
TEST_REDIS_KEY
=
"redis:{1}"
;
@Data
public
class
Title
{
String
title
;
List
<
String
>
lists
;
}
@Data
public
class
City
{
List
<
Title
>
city
;
}
@Data
public
class
NewData
{
Long
id
;
String
name
;
String
lat
;
String
lon
;
}
@Data
public
class
NewTitle
{
String
title
;
List
<
NewData
>
lists
;
}
@Data
public
class
NewCity
{
List
<
NewTitle
>
city
;
}
@Test
public
void
test
()
throws
Exception
{
String
jsonstr
=
"{\"city\":[{\"title\":\"A\",\"lists\":[\"阿坝\",\"阿拉善\",\"阿里\",\"安康\",\"安庆\",\"鞍山\",\"安顺\",\"安阳\",\"澳门\"]},{\"title\":\"B\",\"lists\":[\"北京\",\"白银\",\"保定\",\"宝鸡\",\"保山\",\"包头\",\"巴中\",\"北海\",\"蚌埠\",\"本溪\",\"毕节\",\"滨州\",\"百色\",\"亳州\"]},{\"title\":\"C\",\"lists\":[\"重庆\",\"成都\",\"长沙\",\"长春\",\"沧州\",\"常德\",\"昌都\",\"长治\",\"常州\",\"巢湖\",\"潮州\",\"承德\",\"郴州\",\"赤峰\",\"池州\",\"崇左\",\"楚雄\",\"滁州\",\"朝阳\"]},{\"title\":\"D\",\"lists\":[\"大连\",\"东莞\",\"大理\",\"丹东\",\"大庆\",\"大同\",\"大兴安岭\",\"德宏\",\"德阳\",\"德州\",\"定西\",\"迪庆\",\"东营\"]},{\"title\":\"E\",\"lists\":[\"鄂尔多斯\",\"恩施\",\"鄂州\"]},{\"title\":\"F\",\"lists\":[\"福州\",\"防城港\",\"佛山\",\"抚顺\",\"抚州\",\"阜新\",\"阜阳\"]},{\"title\":\"G\",\"lists\":[\"广州\",\"桂林\",\"贵阳\",\"甘南\",\"赣州\",\"甘孜\",\"广安\",\"广元\",\"贵港\",\"果洛\"]},{\"title\":\"H\",\"lists\":[\"杭州\",\"哈尔滨\",\"合肥\",\"海口\",\"呼和浩特\",\"海北\",\"海东\",\"海南\",\"海西\",\"邯郸\",\"汉中\",\"鹤壁\",\"河池\",\"鹤岗\",\"黑河\",\"衡水\",\"衡阳\",\"河源\",\"贺州\",\"红河\",\"淮安\",\"淮北\",\"怀化\",\"淮南\",\"黄冈\",\"黄南\",\"黄山\",\"黄石\",\"惠州\",\"葫芦岛\",\"呼伦贝尔\",\"湖州\",\"菏泽\"]},{\"title\":\"J\",\"lists\":[\"济南\",\"佳木斯\",\"吉安\",\"江门\",\"焦作\",\"嘉兴\",\"嘉峪关\",\"揭阳\",\"吉林\",\"金昌\",\"晋城\",\"景德镇\",\"荆门\",\"荆州\",\"金华\",\"济宁\",\"晋中\",\"锦州\",\"九江\",\"酒泉\"]},{\"title\":\"K\",\"lists\":[\"昆明\",\"开封\"]},{\"title\":\"L\",\"lists\":[\"兰州\",\"拉萨\",\"来宾\",\"莱芜\",\"廊坊\",\"乐山\",\"凉山\",\"连云港\",\"聊城\",\"辽阳\",\"辽源\",\"丽江\",\"临沧\",\"临汾\",\"临夏\",\"临沂\",\"林芝\",\"丽水\",\"六安\",\"六盘水\",\"柳州\",\"陇南\",\"龙岩\",\"娄底\",\"漯河\",\"洛阳\",\"泸州\",\"吕梁\"]},{\"title\":\"M\",\"lists\":[\"马鞍山\",\"茂名\",\"眉山\",\"梅州\",\"绵阳\",\"牡丹江\"]},{\"title\":\"N\",\"lists\":[\"南京\",\"南昌\",\"南宁\",\"宁波\",\"南充\",\"南平\",\"南通\",\"南阳\",\"那曲\",\"内江\",\"宁德\",\"怒江\"]},{\"title\":\"P\",\"lists\":[\"盘锦\",\"攀枝花\",\"平顶山\",\"平凉\",\"萍乡\",\"莆田\",\"濮阳\"]},{\"title\":\"Q\",\"lists\":[\"青岛\",\"黔东南\",\"黔南\",\"黔西南\",\"庆阳\",\"清远\",\"秦皇岛\",\"钦州\",\"齐齐哈尔\",\"泉州\",\"曲靖\",\"衢州\"]},{\"title\":\"R\",\"lists\":[\"日喀则\",\"日照\"]},{\"title\":\"S\",\"lists\":[\"上海\",\"深圳\",\"苏州\",\"沈阳\",\"石家庄\",\"三门峡\",\"三明\",\"三亚\",\"商洛\",\"商丘\",\"上饶\",\"山南\",\"汕头\",\"汕尾\",\"韶关\",\"绍兴\",\"邵阳\",\"十堰\",\"朔州\",\"四平\",\"绥化\",\"遂宁\",\"随州\",\"宿迁\",\"宿州\"]},{\"title\":\"T\",\"lists\":[\"天津\",\"太原\",\"泰安\",\"泰州\",\"台州\",\"唐山\",\"天水\",\"铁岭\",\"铜川\",\"通化\",\"通辽\",\"铜陵\",\"铜仁\",\"台湾\"]},{\"title\":\"W\",\"lists\":[\"武汉\",\"乌鲁木齐\",\"无锡\",\"威海\",\"潍坊\",\"文山\",\"温州\",\"乌海\",\"芜湖\",\"乌兰察布\",\"武威\",\"梧州\"]},{\"title\":\"X\",\"lists\":[\"厦门\",\"西安\",\"西宁\",\"襄阳\",\"湘潭\",\"湘西\",\"咸宁\",\"咸阳\",\"孝感\",\"邢台\",\"新乡\",\"信阳\",\"新余\",\"忻州\",\"西双版纳\",\"宣城\",\"许昌\",\"徐州\",\"香港\",\"锡林郭勒\",\"兴安\"]},{\"title\":\"Y\",\"lists\":[\"银川\",\"雅安\",\"延安\",\"延边\",\"盐城\",\"阳江\",\"阳泉\",\"扬州\",\"烟台\",\"宜宾\",\"宜昌\",\"宜春\",\"营口\",\"益阳\",\"永州\",\"岳阳\",\"榆林\",\"运城\",\"云浮\",\"玉树\",\"玉溪\",\"玉林\"]},{\"title\":\"Z\",\"lists\":[\"杂多县\",\"赞皇县\",\"枣强县\",\"枣阳市\",\"枣庄\",\"泽库县\",\"曾都区\",\"泽普县\",\"泽州县\",\"札达县\",\"扎赉特旗\",\"扎兰屯市\",\"扎鲁特旗\",\"扎囊县\",\"张北县\",\"张店区\",\"章贡区\",\"张家港\",\"张家界\",\"张家口\",\"漳平市\",\"漳浦县\",\"章丘市\",\"樟树市\",\"张湾区\",\"彰武县\",\"漳县\",\"张掖\",\"漳州\",\"长子县\",\"湛河区\",\"湛江\",\"站前区\",\"沾益县\",\"诏安县\",\"召陵区\",\"昭平县\",\"肇庆\",\"昭通\",\"赵县\",\"昭阳区\",\"招远市\",\"肇源县\",\"肇州县\",\"柞水县\",\"柘城县\",\"浙江\",\"镇安县\",\"振安区\",\"镇巴县\",\"正安县\",\"正定县\",\"正蓝旗\",\"正宁县\",\"蒸湘区\",\"正镶白旗\",\"正阳县\",\"郑州\",\"镇海区\",\"镇江\",\"浈江区\",\"镇康县\",\"镇赉县\",\"镇平县\",\"振兴区\",\"镇雄县\",\"镇原县\",\"志丹县\",\"治多县\",\"芝罘区\",\"枝江市\",\"芷江侗族自治县\",\"织金县\",\"中方县\",\"中江县\",\"钟楼区\",\"中牟县\",\"中宁县\",\"中山\",\"中山区\",\"钟山区\",\"钟山县\",\"中卫\",\"钟祥市\",\"中阳县\",\"中原区\",\"周村区\",\"周口\",\"周宁县\",\"舟曲县\",\"舟山\",\"周至县\",\"庄河市\",\"诸城市\",\"珠海\",\"珠晖区\",\"诸暨市\",\"驻马店\",\"准格尔旗\",\"涿鹿县\",\"卓尼\",\"涿州市\",\"卓资县\",\"珠山区\",\"竹山县\",\"竹溪县\",\"株洲\",\"株洲县\",\"淄博\",\"子长县\",\"淄川区\",\"自贡\",\"秭归县\",\"紫金县\",\"自流井区\",\"资溪县\",\"资兴市\",\"资阳\"]}]}"
;
//City city = JSONObject.parseObject
City
city
=
JSONUtil
.
toBean
(
jsonstr
,
City
.
class
);
NewCity
newCity
=
new
NewCity
();
newCity
.
setCity
(
new
ArrayList
<
NewTitle
>());
for
(
Title
title
:
city
.
getCity
())
{
NewTitle
newTitle
=
new
NewTitle
();
newTitle
.
setTitle
(
title
.
getTitle
());
newTitle
.
setLists
(
new
ArrayList
<
NewData
>());
for
(
String
str
:
title
.
getLists
())
{
TableResultResponse
<
SysRegion
>
sysRegionTableResultResponse
=
sysRegionBiz
.
selectByQuery
(
new
Query
(
new
HashMap
<
String
,
Object
>(){{
put
(
"name"
,
str
);
}}));
NewData
newData
=
new
NewData
(){{
setId
(
sysRegionTableResultResponse
.
getData
().
getRows
().
get
(
0
).
getId
());
setName
(
sysRegionTableResultResponse
.
getData
().
getRows
().
get
(
0
).
getName
());
}};
// builder()
// .id(sysRegionTableResultResponse.getData().getRows().get(0).getId()).name(sysRegionTableResultResponse.getData().getRows().get(0).getName()).build();
newTitle
.
getLists
().
add
(
newData
);
}
newCity
.
getCity
().
add
(
newTitle
);
}
//
// List<SysRegion> sysRegions = sysRegionBiz.selectCity();
// String str = new String();
// str += "{ \n\"city\": [";
// for(int i = 1;i<=26;i++) {
// str += "\n{ \"title\": \""+(char)(64+i)+"\", \n";
// str += "\"lists\":[\n";
// Boolean flag = false;
// for(SysRegion sysRegion : sysRegions) {
// if(PinyinHelper.getShortPinyin(sysRegion.getName()).substring(0,1).equals(String.valueOf((char)(96+i)))){
// //(sysRegion.getName()))
// String name = sysRegion.getName();
// if("直辖县级".equals(name)) {
// //获得父级
// SysRegion sysRegionP = sysRegionBiz.selectOne(SysRegion.builder().id(sysRegion.getParentId()).build());
// name = sysRegionP.getName();
// }
// str += "{\"id\":"+sysRegion.getId()+", \"name\":\""+name+"\"},\n";
// flag = true;
// }
// }
// if(flag) {
// str = StrUtil.sub(str, 0, str.length() - 2);
// }
// str += "]";
// str += "},\n";
// }
// str = StrUtil.sub(str, 0, str.length() - 2);
// str += "] \n }";
FileWriter
writer
=
new
FileWriter
(
"D://"
+
DateUtil
.
currentSeconds
()+
"test.properties"
);
writer
.
write
(
JSONUtil
.
toJsonStr
(
newCity
));
System
.
out
.
println
(
"test"
);
}
// @Test
// public void test1() {
// int i = DateTime.now().getMinuteOfDay() / 5;
// System.out.println("DateTime.now().getMinuteOfDay() / 5++++++++++++"+i);
// String redisLockKey = RedisKey.SYS_REGION_REFRESH_LOCK +i;//同一日每5分钟只刷新一次
// System.out.println("redisLockKey++++++++++++++++"+redisLockKey);
// String s = String.valueOf(DateTime.now().getMillis());
// System.out.println("s++++++++++++++++++"+s);
// Boolean suc = customRedisTemplate.opsForValue().setIfAbsent(redisLockKey, s);
// Boolean test1 = customRedisTemplate.opsForValue().setIfAbsent("1", "2");
// Boolean test2 = customRedisTemplate.opsForValue().setIfAbsent("1", "3");
// System.out.println("test1///////////////////////////////"+test1);
// System.out.println("test2///////////////////////////////"+test2);
// System.out.println("suc++++++++++++++++++++"+suc);
// }
//
// @Test
// public void testRedis() {
// SysRegion sysRegion = getSysRegion(1);
// System.out.println("sysRegion+++++++++"+sysRegion);
// System.out.println("TEST_REDIS_KEY+++++++++++" + TEST_REDIS_KEY);
// }
//
// @Cache(key = TEST_REDIS_KEY)
// private SysRegion getSysRegion(int id){
// SysRegion sysRegion = sysRegionBiz.selectById(2);
// return sysRegion;
// }
@Test
public
void
testStream
(){
List
<
Integer
>
integers
=
Arrays
.
asList
(
1
,
3
,
5
,
7
,
9
,
9
);
HashSet
<
Integer
>
objects
=
new
HashSet
<>();
objects
.
addAll
(
integers
);
System
.
out
.
println
(
objects
);
System
.
out
.
println
(
"获取最小值"
);
Optional
<
Integer
>
min
=
objects
.
parallelStream
().
min
(
Integer:
:
compareTo
);
if
(
min
.
isPresent
())
{
System
.
out
.
println
(
min
.
get
());
}
System
.
out
.
println
(
"获取最大"
);
Optional
<
Integer
>
max
=
integers
.
parallelStream
().
max
(
Integer:
:
compareTo
);
if
(
max
.
isPresent
())
{
System
.
out
.
println
(
max
.
get
());
}
System
.
out
.
println
(
"排序"
);
integers
.
stream
().
sorted
().
forEach
(
elem
->
System
.
out
.
println
(
elem
));
System
.
out
.
println
(
"筛选"
);
integers
.
parallelStream
().
filter
(
e
->
e
>
1
).
filter
(
e
->
e
<
9
).
forEach
(
e
->
System
.
out
.
println
(
e
));
System
.
out
.
println
(
"list的总和为"
);
integers
.
stream
().
reduce
((
a
,
b
)
->
a
+
b
).
ifPresent
(
System
.
out
::
println
);
}
}
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