Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
order-group
Overview
Overview
Details
Activity
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
order-group-application
order-group
Commits
64fb3115
Commit
64fb3115
authored
Jul 03, 2020
by
ping.wu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
小程序查询停车场订单列表与详情
parent
e45b6103
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
360 additions
and
0 deletions
+360
-0
order-application-service/src/main/java/cn/freemud/controller/ParkingOrderController.java
+55
-0
order-application-service/src/main/java/cn/freemud/entities/vo/parking/ParkingOrderResponseVo.java
+65
-0
order-application-service/src/main/java/cn/freemud/entities/vo/parking/QueryParkingOrderVo.java
+42
-0
order-application-service/src/main/java/cn/freemud/entities/vo/parking/QueryParkingOrdersResponseVo.java
+26
-0
order-application-service/src/main/java/cn/freemud/service/ParkingOrderService.java
+23
-0
order-application-service/src/main/java/cn/freemud/service/impl/ParkingOrderServiceImpl.java
+144
-0
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/OrderExtInfoDto.java
+2
-0
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/response/orderInfo/OrderInfoReqs.java
+3
-0
No files found.
order-application-service/src/main/java/cn/freemud/controller/ParkingOrderController.java
0 → 100644
View file @
64fb3115
package
cn
.
freemud
.
controller
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.entities.vo.parking.QueryParkingOrderVo
;
import
cn.freemud.service.ParkingOrderService
;
import
com.freemud.application.sdk.api.log.ApiAnnotation
;
import
com.freemud.application.sdk.api.log.LogParams
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: ParkingOrderController
* @Package cn.freemud.controller
* @Description:
* @author: ping1.wu
* @date: 2020/7/3 15:14
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Slf4j
@RequestMapping
(
"/order"
)
@RestController
@Validated
public
class
ParkingOrderController
{
@Autowired
private
ParkingOrderService
parkingOrderService
;
/**
* 查询停车订单列表
*/
@ApiAnnotation
(
logMessage
=
"queryParkingOrders"
)
@PostMapping
(
"/queryParkingOrders"
)
public
BaseResponse
queryParkingOrders
(
@Validated
@LogParams
@RequestBody
QueryParkingOrderVo
requestVo
)
{
return
parkingOrderService
.
queryOrders
(
requestVo
);
}
/**
* 获取停车订单详情
*/
@ApiAnnotation
(
logMessage
=
"queryParkingOrderById"
)
@PostMapping
(
"/queryParkingOrderById"
)
public
BaseResponse
queryParkingOrderById
(
@Validated
@LogParams
@RequestBody
QueryParkingOrderVo
requestVo
)
{
return
parkingOrderService
.
queryOrderById
(
requestVo
);
}
}
order-application-service/src/main/java/cn/freemud/entities/vo/parking/ParkingOrderResponseVo.java
0 → 100644
View file @
64fb3115
package
cn
.
freemud
.
entities
.
vo
.
parking
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSettlementResp
;
import
lombok.Data
;
import
java.util.List
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: ParkingOrderResponseVo
* @Package cn.freemud.entities.vo.parking
* @Description:
* @author: ping1.wu
* @date: 2020/7/3 16:00
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public
class
ParkingOrderResponseVo
{
/**
* 订单编号
*/
private
String
orderCode
;
private
String
parkingAreaId
;
private
String
parkingAreaName
;
private
String
carNumber
;
private
String
parkingTime
;
private
String
inTime
;
private
String
outTime
;
/**
* 原金额
*/
private
Integer
originalAmount
;
private
Integer
actualPayAmount
;
private
Integer
discountAmount
;
/**
* 创建时间 时间戳
*/
private
String
gmtCreate
;
/**
* 更新时间 时间戳
*/
private
String
gmtPay
;
private
String
payChannel
;
/**
* 支付方式:订单支付渠道类型 1:微信 2:储值卡 3:支付宝
*/
private
String
payChannelType
;
}
order-application-service/src/main/java/cn/freemud/entities/vo/parking/QueryParkingOrderVo.java
0 → 100644
View file @
64fb3115
package
cn
.
freemud
.
entities
.
vo
.
parking
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.NotEmpty
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: QueryParkingOrderVo
* @Package cn.freemud.entities.vo.parking
* @Description:
* @author: ping1.wu
* @date: 2020/7/3 15:26
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public
class
QueryParkingOrderVo
{
@NotEmpty
(
message
=
"sessionId 不能为空"
)
private
String
sessionId
;
/**
* 商户ID
*/
private
String
partnerId
;
/**
* 订单ID
*/
private
String
orderCode
;
/**
* 每页显示几条数据
*/
private
Integer
pageSize
;
/**
* 第几页
*/
private
Integer
pageNumber
;
}
order-application-service/src/main/java/cn/freemud/entities/vo/parking/QueryParkingOrdersResponseVo.java
0 → 100644
View file @
64fb3115
package
cn
.
freemud
.
entities
.
vo
.
parking
;
import
lombok.Data
;
import
java.util.List
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: QueryParkingOrdersResponseVo
* @Package cn.freemud.entities.vo.parking
* @Description:
* @author: ping1.wu
* @date: 2020/7/3 16:26
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public
class
QueryParkingOrdersResponseVo
{
private
Integer
count
;
private
List
<
ParkingOrderResponseVo
>
dates
;
}
order-application-service/src/main/java/cn/freemud/service/ParkingOrderService.java
0 → 100644
View file @
64fb3115
package
cn
.
freemud
.
service
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.entities.vo.parking.QueryParkingOrderVo
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: ParkingOrderService
* @Package cn.freemud.service
* @Description:
* @author: ping1.wu
* @date: 2020/7/3 15:33
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
public
interface
ParkingOrderService
{
BaseResponse
queryOrders
(
QueryParkingOrderVo
requestVo
);
BaseResponse
queryOrderById
(
QueryParkingOrderVo
requestVo
);
}
order-application-service/src/main/java/cn/freemud/service/impl/ParkingOrderServiceImpl.java
0 → 100644
View file @
64fb3115
package
cn
.
freemud
.
service
.
impl
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.log.LogTreadLocal
;
import
cn.freemud.base.util.DateUtil
;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.entities.vo.parking.ParkingOrderResponseVo
;
import
cn.freemud.entities.vo.parking.QueryParkingOrderVo
;
import
cn.freemud.entities.vo.parking.QueryParkingOrdersResponseVo
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.service.ParkingOrderService
;
import
cn.freemud.utils.ResponseUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderConditionsReq
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.response.BaseDownLoadResponse
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSettlementResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.QueryByCodeResponse
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderDownLoadSdkService
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.paymentcenter.client.request.PaymentQueryOrderRequest
;
import
com.freemud.application.sdk.api.paymentcenter.client.response.PaymentQueryOrderResponse
;
import
com.freemud.application.sdk.api.storecenter.service.StoreCenterService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.List
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: ParkingOrderServiceImpl
* @Package cn.freemud.service.impl
* @Description:
* @author: ping1.wu
* @date: 2020/7/3 15:37
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Service
@Slf4j
public
class
ParkingOrderServiceImpl
implements
ParkingOrderService
{
@Autowired
private
OrderDownLoadSdkService
orderDownLoadSdkService
;
@Autowired
private
AssortmentCustomerInfoManager
customerInfoManager
;
@Override
public
BaseResponse
queryOrders
(
QueryParkingOrderVo
requestVo
)
{
QueryParkingOrdersResponseVo
responseVo
=
new
QueryParkingOrdersResponseVo
();
String
trackingNo
=
LogTreadLocal
.
getTrackingNo
();
AssortmentCustomerInfoVo
userInfo
=
customerInfoManager
.
getCustomerInfoByObject
(
requestVo
.
getSessionId
());
if
(
userInfo
==
null
||
StringUtils
.
isEmpty
(
userInfo
.
getMemberId
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
NOT_LOGIN
);
}
OrderConditionsReq
request
=
new
OrderConditionsReq
();
request
.
setUserId
(
userInfo
.
getMemberId
());
request
.
setPartnerId
(
userInfo
.
getPartnerId
());
request
.
setPageSize
(
requestVo
.
getPageSize
());
request
.
setPageNum
(
requestVo
.
getPageNumber
());
Date
date
=
new
Date
();
request
.
setStartTimestamp
(
DateUtil
.
addMonths
(
date
,
-
3
).
getTime
()/
1000
);
request
.
setEndTimestamp
(
date
.
getTime
()/
1000
);
request
.
setOrderClients
(
Arrays
.
asList
(
OrderClientType
.
PARKING
.
getIndex
()));
request
.
setPayStatuses
(
Arrays
.
asList
(
2
,
3
,
4
));
BaseDownLoadResponse
<
List
<
OrderInfoReqs
>>
listBaseDownLoadResponse
=
orderDownLoadSdkService
.
queryOrderByConditions
(
request
,
trackingNo
);
if
(
listBaseDownLoadResponse
==
null
&&
!
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
listBaseDownLoadResponse
.
getCode
())){
return
ResponseUtil
.
success
();
}
List
<
ParkingOrderResponseVo
>
dates
=
new
ArrayList
<>();
for
(
OrderInfoReqs
orderInfo
:
listBaseDownLoadResponse
.
getResult
()){
dates
.
add
(
convent2QueryOrdersDto
(
orderInfo
));
}
responseVo
.
setDates
(
dates
);
responseVo
.
setCount
(
listBaseDownLoadResponse
.
getTotalNum
());
return
ResponseUtil
.
success
(
responseVo
);
}
@Override
public
BaseResponse
queryOrderById
(
QueryParkingOrderVo
requestVo
)
{
String
trackingNo
=
LogTreadLocal
.
getTrackingNo
();
AssortmentCustomerInfoVo
userInfo
=
customerInfoManager
.
getCustomerInfoByObject
(
requestVo
.
getSessionId
());
if
(
userInfo
==
null
||
StringUtils
.
isEmpty
(
userInfo
.
getMemberId
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
NOT_LOGIN
);
}
QueryByCodeResponse
queryByCodeResponse
=
orderDownLoadSdkService
.
queryOrderByCode
(
userInfo
.
getPartnerId
(),
requestVo
.
getOrderCode
(),
trackingNo
);
if
(
null
==
queryByCodeResponse
||
!
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
queryByCodeResponse
.
getCode
()))
{
return
ResponseUtil
.
success
();
}
ParkingOrderResponseVo
responseVo
=
convent2QueryOrdersDto
(
queryByCodeResponse
.
getResult
());
return
ResponseUtil
.
success
(
responseVo
);
}
private
ParkingOrderResponseVo
convent2QueryOrdersDto
(
OrderInfoReqs
orderInfoReqs
){
if
(
orderInfoReqs
==
null
||
orderInfoReqs
.
getOrderCode
()
==
null
){
return
null
;
}
ParkingOrderResponseVo
respVo
=
new
ParkingOrderResponseVo
();
respVo
.
setOrderCode
(
orderInfoReqs
.
getOrderCode
());
if
(
StringUtils
.
isNotBlank
(
orderInfoReqs
.
getExtInfo
())
&&
orderInfoReqs
.
getPayTime
()
!=
null
){
OrderExtInfoDto
extInfoDto
=
JSONObject
.
parseObject
(
orderInfoReqs
.
getExtInfo
(),
OrderExtInfoDto
.
class
);
respVo
.
setParkingAreaId
(
extInfoDto
.
getParkingAreaId
());
respVo
.
setParkingAreaName
(
extInfoDto
.
getParkingAreaName
());
respVo
.
setCarNumber
(
extInfoDto
.
getCarNumber
());
Integer
diffMinute
=
DateUtil
.
diffMinute
(
new
Date
(
Long
.
parseLong
(
extInfoDto
.
getInTime
())),
new
Date
(
Long
.
parseLong
(
orderInfoReqs
.
getPayTime
())));
respVo
.
setParkingTime
(
diffMinute
.
toString
());
respVo
.
setInTime
(
DateUtil
.
convert2Str
(
new
Date
(
Long
.
parseLong
(
extInfoDto
.
getInTime
())),
DateUtil
.
FORMAT_YYYY_MM_DD_HHMMSS
));
respVo
.
setOutTime
(
DateUtil
.
convert2Str
(
new
Date
(
Long
.
parseLong
(
orderInfoReqs
.
getPayTime
())),
DateUtil
.
FORMAT_YYYY_MM_DD_HHMMSS
));
}
Long
discountAmount
=
0L
;
if
(
CollectionUtils
.
isNotEmpty
(
orderInfoReqs
.
getOrderSettlementDetailList
()))
{
for
(
OrderSettlementResp
orderSettlementResp
:
orderInfoReqs
.
getOrderSettlementDetailList
())
{
discountAmount
+=
orderSettlementResp
.
getShopDiscountAmount
();
}
}
respVo
.
setDiscountAmount
(
discountAmount
.
intValue
());
respVo
.
setActualPayAmount
(
orderInfoReqs
.
getActualPayAmount
().
intValue
());
respVo
.
setGmtCreate
(
DateUtil
.
convert2Str
(
new
Date
(
Long
.
parseLong
(
orderInfoReqs
.
getCreateTime
())),
DateUtil
.
FORMAT_YYYY_MM_DD_HHMMSS
));
respVo
.
setGmtPay
(
DateUtil
.
convert2Str
(
orderInfoReqs
.
getPayTime
()
==
null
?
null
:
new
Date
(
Long
.
parseLong
(
orderInfoReqs
.
getPayTime
())),
DateUtil
.
FORMAT_YYYY_MM_DD_HHMMSS
));
respVo
.
setOriginalAmount
(
orderInfoReqs
.
getOriginalAmount
().
intValue
());
respVo
.
setPayChannel
(
orderInfoReqs
.
getPayChannel
());
respVo
.
setPayChannelType
(
orderInfoReqs
.
getPayChannelType
());
return
respVo
;
}
}
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/OrderExtInfoDto.java
View file @
64fb3115
...
...
@@ -124,6 +124,8 @@ public class OrderExtInfoDto {
* 停车场ID
*/
private
String
parkingAreaId
;
private
String
parkingAreaName
;
/**
* 车牌号
*/
...
...
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/response/orderInfo/OrderInfoReqs.java
View file @
64fb3115
...
...
@@ -268,4 +268,7 @@ public class OrderInfoReqs {
*/
private
String
downstreamThirdOrderCode
;
//支付渠道类型
private
String
payChannelType
;
}
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