Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
O
on-site-service
Project
Project
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
external
on-site-service
Commits
b516df82
Commit
b516df82
authored
Jul 22, 2022
by
lining
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 时间格式化
parent
6bff29c0
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
61 additions
and
25 deletions
+61
-25
ServiceOrderLogVO.java
.../com/onsiteservice/common/order/vo/ServiceOrderLogVO.java
+3
-0
ServiceOrderVO.java
...ava/com/onsiteservice/common/order/vo/ServiceOrderVO.java
+10
-1
ServiceOrderService.java
.../com/onsiteservice/service/order/ServiceOrderService.java
+11
-1
ServiceOrderController.java
...vice/miniapp/controller/order/ServiceOrderController.java
+1
-0
ServiceOrderCancelJob.java
.../com/onsiteservice/miniapp/job/ServiceOrderCancelJob.java
+1
-7
ServiceOrderBizService.java
...service/miniapp/service/order/ServiceOrderBizService.java
+35
-16
No files found.
common/src/main/java/com/onsiteservice/common/order/vo/ServiceOrderLogVO.java
View file @
b516df82
package
com
.
onsiteservice
.
common
.
order
.
vo
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
@@ -23,9 +24,11 @@ public class ServiceOrderLogVO {
private
String
remark
;
@ApiModelProperty
(
value
=
"流程发生时间"
)
@JSONField
(
format
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"估价员上门时间"
)
@JSONField
(
format
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
expectArrivalTime
;
}
\ No newline at end of file
common/src/main/java/com/onsiteservice/common/order/vo/ServiceOrderVO.java
View file @
b516df82
package
com
.
onsiteservice
.
common
.
order
.
vo
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
@@ -17,6 +18,9 @@ public class ServiceOrderVO {
@ApiModelProperty
(
value
=
"订单号"
)
private
String
orderNo
;
@ApiModelProperty
(
value
=
"服务名"
)
private
String
serviceName
;
@ApiModelProperty
(
value
=
"客户名"
)
private
String
name
;
@ApiModelProperty
(
value
=
"客户手机号"
)
...
...
@@ -25,6 +29,7 @@ public class ServiceOrderVO {
private
String
address
;
@ApiModelProperty
(
value
=
"期望上门时间"
)
@JSONField
(
format
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
expectArrivalTime
;
@ApiModelProperty
(
value
=
"服务数量"
)
...
...
@@ -40,8 +45,12 @@ public class ServiceOrderVO {
private
String
remark
;
@ApiModelProperty
(
value
=
"订单创建时间"
)
@JSONField
(
format
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"订单付款剩余时间"
)
private
Long
leftTime
;
@ApiModelProperty
(
value
=
"客户上传需求图片,最多8张"
)
private
List
<
String
>
demandImgUrls
;
...
...
@@ -49,6 +58,6 @@ public class ServiceOrderVO {
private
List
<
ServiceOrderLogVO
>
process
;
@ApiModelProperty
(
value
=
"订单状态 1待受理,2 已拍估价员 3待支付,4待派单,5服务中,6已完成,7已取消 "
)
private
Integer
orderStatus
;
private
String
orderStatus
;
}
\ No newline at end of file
common/src/main/java/com/onsiteservice/service/order/ServiceOrderService.java
View file @
b516df82
...
...
@@ -5,6 +5,7 @@ import com.onsiteservice.common.order.dto.FinishServiceOrderDTO;
import
com.onsiteservice.common.order.dto.SendServiceOrderDTO
;
import
com.onsiteservice.common.order.dto.ValuationServiceOrderDTO
;
import
com.onsiteservice.constant.constant.BizConstants
;
import
com.onsiteservice.constant.constant.SysParamConstants
;
import
com.onsiteservice.constant.enums.BizCodeEnum
;
import
com.onsiteservice.constant.enums.ServiceOrderOpSourceEnum
;
import
com.onsiteservice.constant.enums.ServiceOrderStatusEnum
;
...
...
@@ -13,6 +14,7 @@ import com.onsiteservice.core.exception.ServiceException;
import
com.onsiteservice.dao.common.AbstractMapper
;
import
com.onsiteservice.dao.component.RecordComponent
;
import
com.onsiteservice.dao.mapper.service.*
;
import
com.onsiteservice.dao.mapper.sys.SysParamMapper
;
import
com.onsiteservice.dao.mapper.sys.SysUserMapper
;
import
com.onsiteservice.dao.mapper.user.UserMapper
;
import
com.onsiteservice.entity.order.ServiceOrder
;
...
...
@@ -20,6 +22,7 @@ import com.onsiteservice.entity.service.ServiceValuator;
import
com.onsiteservice.entity.service.ServiceValuatorAssign
;
import
com.onsiteservice.entity.service.ServiceWorker
;
import
com.onsiteservice.entity.service.ServiceWorkerAssign
;
import
com.onsiteservice.entity.sys.SysParam
;
import
com.onsiteservice.entity.sys.SysUser
;
import
com.onsiteservice.entity.user.User
;
import
com.onsiteservice.util.aliyun.SmsUtils
;
...
...
@@ -72,6 +75,9 @@ public class ServiceOrderService extends AbstractMapper<ServiceOrder> {
@Resource
private
SysUserMapper
sysUserMapper
;
@Resource
private
SysParamMapper
sysParamMapper
;
/**
* 指派估价员 管理员操作
...
...
@@ -163,7 +169,11 @@ public class ServiceOrderService extends AbstractMapper<ServiceOrder> {
serviceOrder
.
setOrderStatus
(
ServiceOrderStatusEnum
.
SEND
.
getStatus
());
serviceOrder
.
setModifyBy
(
userId
);
// 超时时间
serviceOrder
.
setCancelTime
(
new
Date
());
Condition
sysParamCondition
=
new
Condition
(
SysParam
.
class
);
sysParamCondition
.
createCriteria
().
andEqualTo
(
"code"
,
SysParamConstants
.
ORDER_PAY_TIMEOUT
);
List
<
SysParam
>
sysParamList
=
sysParamMapper
.
selectByCondition
(
sysParamCondition
);
long
timeOut
=
CollectionUtils
.
isEmpty
(
sysParamList
)
?
BizConstants
.
OrderConstants
.
TIMEOUT_CANCEL_LIMIT
:
Long
.
parseLong
(
sysParamList
.
get
(
0
).
getValue
());
serviceOrder
.
setCancelTime
(
new
Date
(
System
.
currentTimeMillis
()
+
timeOut
));
int
result
=
serviceOrderMapper
.
updateByPrimaryKeySelective
(
serviceOrder
);
...
...
mini-app/src/main/java/com/onsiteservice/miniapp/controller/order/ServiceOrderController.java
View file @
b516df82
...
...
@@ -53,6 +53,7 @@ public class ServiceOrderController {
private
ServiceOrderService
serviceOrderService
;
@Dict
(
code
=
DictConstants
.
ORDER_STATUS
,
name
=
"orderStatus"
)
@ApiOperation
(
value
=
"根据id查询订单详情"
)
@GetMapping
(
"get/{id}"
)
public
Result
<
ServiceOrderVO
>
getDetail
(
@ApiParam
(
name
=
"id"
,
value
=
"订单id"
)
@PathVariable
@Positive
Long
id
,
@CurrentUserId
Long
userId
)
{
...
...
mini-app/src/main/java/com/onsiteservice/miniapp/job/ServiceOrderCancelJob.java
View file @
b516df82
...
...
@@ -48,19 +48,13 @@ public class ServiceOrderCancelJob {
public
void
cancelServiceOrder
()
{
log
.
info
(
"cancelServiceOrder start!"
);
// 超时时间
Condition
sysParamCondition
=
new
Condition
(
SysParam
.
class
);
sysParamCondition
.
createCriteria
().
andEqualTo
(
"code"
,
SysParamConstants
.
ORDER_PAY_TIMEOUT
);
List
<
SysParam
>
sysParamList
=
sysParamMapper
.
selectByCondition
(
sysParamCondition
);
long
timeOut
=
CollectionUtils
.
isEmpty
(
sysParamList
)
?
BizConstants
.
OrderConstants
.
TIMEOUT_CANCEL_LIMIT
:
Long
.
parseLong
(
sysParamList
.
get
(
0
).
getValue
());
// 超时订单
Condition
c
=
new
Condition
(
ServiceOrder
.
class
);
c
.
createCriteria
().
andEqualTo
(
BizConstants
.
OrderConstants
.
ORDER_STATUS
,
ServiceOrderStatusEnum
.
SEND
.
getStatus
());
List
<
ServiceOrder
>
serviceOrderList
=
serviceOrderMapper
.
selectByCondition
(
c
);
serviceOrderList
.
forEach
(
serviceOrder
->
{
if
(
(
System
.
currentTimeMillis
()
-
serviceOrder
.
getCancelTime
().
getTime
())
>=
timeOut
)
{
if
(
System
.
currentTimeMillis
()
>
serviceOrder
.
getCancelTime
().
getTime
()
)
{
serviceOrder
.
setOrderStatus
(
ServiceOrderStatusEnum
.
CANCEL
.
getStatus
());
serviceOrder
.
setRemark
(
MSG
);
int
result
=
serviceOrderMapper
.
updateByPrimaryKey
(
serviceOrder
);
...
...
mini-app/src/main/java/com/onsiteservice/miniapp/service/order/ServiceOrderBizService.java
View file @
b516df82
...
...
@@ -37,6 +37,7 @@ import com.onsiteservice.miniapp.controller.order.vo.ServiceOrderDefDetailVO;
import
com.onsiteservice.miniapp.service.weixin.pay.WechatNativePay
;
import
com.onsiteservice.service.order.ServiceOrderService
;
import
com.onsiteservice.util.AttrCopyUtils
;
import
com.onsiteservice.util.DateUtils
;
import
com.onsiteservice.util.RandomUtils
;
import
com.onsiteservice.util.aliyun.SmsUtils
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -223,9 +224,9 @@ public class ServiceOrderBizService extends AbstractMapper<ServiceOrder> {
logCondition
.
setProcessId
(
ServiceOrderStatusEnum
.
SEND
.
getStatus
());
var
orderLog
=
serviceOrderLogMapper
.
selectOne
(
logCondition
);
if
(
orderLog
!=
null
)
{
if
(
ServiceOrderOpSourceEnum
.
WEB
.
getId
().
equals
(
orderLog
.
getSource
()))
{
if
(
ServiceOrderOpSourceEnum
.
WEB
.
getId
().
equals
(
orderLog
.
getSource
()))
{
var
sysUser
=
sysUserMapper
.
selectByPrimaryKey
(
orderLog
.
getHostId
());
if
(
StringUtils
.
isNotEmpty
(
sysUser
.
getPhone
()))
{
if
(
StringUtils
.
isNotEmpty
(
sysUser
.
getPhone
()))
{
try
{
smsUtils
.
send
(
""
,
""
,
""
,
sysUser
.
getPhone
());
amqpTemplate
.
convertAndSend
(
SysConstants
.
Queue
.
ADMIN_ORDER
,
Pair
.
of
(
sysUser
.
getId
(),
1
));
...
...
@@ -235,7 +236,7 @@ public class ServiceOrderBizService extends AbstractMapper<ServiceOrder> {
}
}
}
if
(
ServiceOrderOpSourceEnum
.
MINI_APP
.
getId
().
equals
(
orderLog
.
getSource
()))
{
if
(
ServiceOrderOpSourceEnum
.
MINI_APP
.
getId
().
equals
(
orderLog
.
getSource
()))
{
var
user
=
userMapper
.
selectByPrimaryKey
(
orderLog
.
getHostId
());
try
{
smsUtils
.
send
(
""
,
""
,
""
,
user
.
getPhone
());
...
...
@@ -335,9 +336,27 @@ public class ServiceOrderBizService extends AbstractMapper<ServiceOrder> {
List
<
ServiceSubclass
>
serviceSubclassList
=
serviceSubclassMapper
.
selectByIdList
(
subclassIdList
);
Map
<
Integer
,
ServiceSubclass
>
serviceSubclassMap
=
serviceSubclassList
.
parallelStream
().
collect
(
Collectors
.
toMap
(
ServiceSubclass:
:
getId
,
Function
.
identity
()));
return
serviceOrderList
.
parallelStream
().
map
(
e
->
{
ServiceOrderVO
serviceOrderVO
=
AttrCopyUtils
.
copy
(
e
,
new
ServiceOrderVO
());
serviceOrderVO
.
setSubclassImg
(
serviceSubclassMap
.
getOrDefault
(
e
.
getSubclassId
(),
new
ServiceSubclass
()).
getImg
());
return
serviceOrderList
.
parallelStream
().
map
(
serviceOrder
->
{
ServiceOrderVO
serviceOrderVO
=
new
ServiceOrderVO
();
serviceOrderVO
.
setId
(
serviceOrder
.
getId
());
serviceOrderVO
.
setOrderNo
(
serviceOrder
.
getOrderNo
());
serviceOrderVO
.
setServiceName
(
serviceOrder
.
getServiceName
());
serviceOrderVO
.
setName
(
serviceOrder
.
getName
());
serviceOrderVO
.
setPhone
(
serviceOrder
.
getPhone
());
serviceOrderVO
.
setAddress
(
serviceOrder
.
getAddress
());
serviceOrderVO
.
setExpectArrivalTime
(
serviceOrder
.
getExpectArrivalTime
());
serviceOrderVO
.
setNum
(
serviceOrder
.
getNum
());
serviceOrderVO
.
setDemandDesc
(
serviceOrder
.
getDemandDesc
());
serviceOrderVO
.
setRemark
(
serviceOrder
.
getRemark
());
serviceOrderVO
.
setCreateTime
(
serviceOrder
.
getCreateTime
());
serviceOrderVO
.
setOrderStatus
(
String
.
valueOf
(
serviceOrder
.
getOrderStatus
()));
// 剩余时间
if
(
serviceOrder
.
getOrderStatus
().
equals
(
ServiceOrderStatusEnum
.
SEND
.
getStatus
()))
{
long
left
=
Math
.
max
(
serviceOrder
.
getCancelTime
().
getTime
()
-
System
.
currentTimeMillis
(),
0
);
serviceOrderVO
.
setLeftTime
(
left
);
}
serviceOrderVO
.
setSubclassImg
(
serviceSubclassMap
.
getOrDefault
(
serviceOrder
.
getSubclassId
(),
new
ServiceSubclass
()).
getImg
());
return
serviceOrderVO
;
}).
collect
(
Collectors
.
toList
());
...
...
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