no message
This commit is contained in:
parent
1fe53780b9
commit
91cb050b47
|
|
@ -129,19 +129,19 @@ public class OrderServiceImpl implements OrderService {
|
||||||
if (nowT.getHour() < 8 || nowT.getHour() > 20) {
|
if (nowT.getHour() < 8 || nowT.getHour() > 20) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
List<Integer> list=new ArrayList<>();
|
List<Integer> list = new ArrayList<>();
|
||||||
list.add(OrderStatus.FINISH_CHECK.code());
|
list.add(OrderStatus.FINISH_CHECK.code());
|
||||||
OrderMaster orderMasterFinishCheck = new OrderMaster();
|
OrderMaster orderMasterFinishCheck = new OrderMaster();
|
||||||
orderMasterFinishCheck.setOrderStatus(OrderStatus.FINISH_CHECK.code());
|
orderMasterFinishCheck.setOrderStatus(OrderStatus.FINISH_CHECK.code());
|
||||||
orderMasterFinishCheck.setWithdrawn(1);
|
orderMasterFinishCheck.setWithdrawn(1);
|
||||||
List<OrderMaster> orderMasterFinish = orderMasterService.selectOrderMasterList(orderMasterFinishCheck);
|
List<OrderMaster> orderMasterFinish = orderMasterService.selectOrderMasterList(orderMasterFinishCheck);
|
||||||
for (OrderMaster orderMaster:orderMasterFinish){
|
for (OrderMaster orderMaster : orderMasterFinish) {
|
||||||
log.info("满足完成条件的主订单{}",orderMaster);
|
log.info("满足完成条件的主订单{}", orderMaster);
|
||||||
List<OrderDetail> orderDetailList=orderDetailService.selectByOrderMasterId(orderMaster.getId());
|
List<OrderDetail> orderDetailList = orderDetailService.selectByOrderMasterId(orderMaster.getId());
|
||||||
boolean allDrawCashStatusIs2 = orderDetailList != null
|
boolean allDrawCashStatusIs2 = orderDetailList != null
|
||||||
&& orderDetailList.stream()
|
&& orderDetailList.stream()
|
||||||
.allMatch(detail -> detail.getDrawCashStatus() == 2);
|
.allMatch(detail -> detail.getDrawCashStatus() == 2);
|
||||||
if (allDrawCashStatusIs2){
|
if (allDrawCashStatusIs2) {
|
||||||
orderMaster.setWithdrawn(2);
|
orderMaster.setWithdrawn(2);
|
||||||
orderMaster.setOrderStatus(OrderStatus.FINISH.code());
|
orderMaster.setOrderStatus(OrderStatus.FINISH.code());
|
||||||
orderMasterService.updateOrderMaster(orderMaster);
|
orderMasterService.updateOrderMaster(orderMaster);
|
||||||
|
|
@ -149,7 +149,6 @@ public class OrderServiceImpl implements OrderService {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 查询待接单状态的主单
|
// 查询待接单状态的主单
|
||||||
List<OrderMaster> orderMasters = orderMasterService.selectByStatus(orderMasterTimeoutStatus);
|
List<OrderMaster> orderMasters = orderMasterService.selectByStatus(orderMasterTimeoutStatus);
|
||||||
log.info("扫描到{}条未完成的主订单", orderMasters.size());
|
log.info("扫描到{}条未完成的主订单", orderMasters.size());
|
||||||
|
|
@ -186,9 +185,9 @@ public class OrderServiceImpl implements OrderService {
|
||||||
Date overTime1h = getOverTime(createTime, 30 * 60 * 1000);
|
Date overTime1h = getOverTime(createTime, 30 * 60 * 1000);
|
||||||
boolean flag;
|
boolean flag;
|
||||||
if (order.getUpdateTime() != null) {
|
if (order.getUpdateTime() != null) {
|
||||||
flag = getOverTime(order.getUpdateTime(), 45 * 60 * 1000).before(now);
|
flag = getOverTime(order.getUpdateTime(), 8 * 60 * 60 * 1000).before(now);
|
||||||
} else {
|
} else {
|
||||||
flag = getOverTime(createTime, 45 * 60 * 1000).before(now);
|
flag = getOverTime(createTime, 8 * 60 * 60 * 1000).before(now);
|
||||||
log.info("判断时间:{},当前时间:{},结果:{}", getOverTime(createTime, 45 * 60 * 1000), now, flag);
|
log.info("判断时间:{},当前时间:{},结果:{}", getOverTime(createTime, 45 * 60 * 1000), now, flag);
|
||||||
}
|
}
|
||||||
// 是否已经超时
|
// 是否已经超时
|
||||||
|
|
@ -242,14 +241,14 @@ public class OrderServiceImpl implements OrderService {
|
||||||
boolean timeout = ONE.equals(order.getTimeout());
|
boolean timeout = ONE.equals(order.getTimeout());
|
||||||
Integer fineTimes = order.getTimeoutFineTimes();
|
Integer fineTimes = order.getTimeoutFineTimes();
|
||||||
if (!timeout) {
|
if (!timeout) {
|
||||||
log.info("主订单是否未约未排[{}]派单工id{}", order.getIsCall(),order.getWorkerId());
|
log.info("主订单是否未约未排[{}]派单工id{}", order.getIsCall(), order.getWorkerId());
|
||||||
if (overTime30min.before(now)) {
|
if (overTime30min.before(now)) {
|
||||||
// 30min未接单为超时
|
// 30min未接单为超时
|
||||||
log.info("主订单[{}]超时30分钟未排的参数{}", order.getId(),order.getHasDispatchedAll());
|
log.info("主订单[{}]超时30分钟未排的参数{}", order.getId(), order.getHasDispatchedAll());
|
||||||
orderMasterService.updateTimeout(order.getId(), 1);
|
orderMasterService.updateTimeout(order.getId(), 1);
|
||||||
timeout = true;
|
timeout = true;
|
||||||
//主单超时未约未排
|
//主单超时未约未排
|
||||||
if (order.getIsCall().equals("01")&&order.getHasDispatchedAll().equals(0)) {
|
if (order.getIsCall().equals("01") && order.getHasDispatchedAll().equals(0)) {
|
||||||
log.info("主订单未约[{}]", order.getIsCall());
|
log.info("主订单未约[{}]", order.getIsCall());
|
||||||
try {
|
try {
|
||||||
// 推送公众号通知数据。
|
// 推送公众号通知数据。
|
||||||
|
|
@ -322,9 +321,9 @@ public class OrderServiceImpl implements OrderService {
|
||||||
|
|
||||||
public boolean isInTimeRange(LocalTime now, int hour, int minute) {
|
public boolean isInTimeRange(LocalTime now, int hour, int minute) {
|
||||||
LocalTime end = LocalTime.of(hour, minute, 59); // 17:30:59
|
LocalTime end = LocalTime.of(hour, minute, 59); // 17:30:59
|
||||||
if(minute==0){
|
if (minute == 0) {
|
||||||
minute=60;
|
minute = 60;
|
||||||
hour=hour-1;
|
hour = hour - 1;
|
||||||
}
|
}
|
||||||
LocalTime start = LocalTime.of(hour, minute - 1, 59); // 17:29:59
|
LocalTime start = LocalTime.of(hour, minute - 1, 59); // 17:29:59
|
||||||
return !now.isBefore(start) && !now.isAfter(end);
|
return !now.isBefore(start) && !now.isAfter(end);
|
||||||
|
|
@ -353,9 +352,9 @@ public class OrderServiceImpl implements OrderService {
|
||||||
// 查询一下售后单时间
|
// 查询一下售后单时间
|
||||||
Date afterTime = getOverTime(afterServiceRecord.get(0).getUpdateTime(), 30 * 60 * 1000);
|
Date afterTime = getOverTime(afterServiceRecord.get(0).getUpdateTime(), 30 * 60 * 1000);
|
||||||
//师傅没有操作 则正常进行售后超时计算
|
//师傅没有操作 则正常进行售后超时计算
|
||||||
boolean WorkerFeedback=afterServiceRecord.get(0).getWorkerFeedbackResult()==null;
|
boolean WorkerFeedback = afterServiceRecord.get(0).getWorkerFeedbackResult() == null;
|
||||||
log.info("师傅操作{},所有记录{},师傅是否进行操作{}",afterServiceRecord.get(0).getWorkerFeedbackResult(),afterServiceRecord,WorkerFeedback);
|
log.info("师傅操作{},所有记录{},师傅是否进行操作{}", afterServiceRecord.get(0).getWorkerFeedbackResult(), afterServiceRecord, WorkerFeedback);
|
||||||
if (afterTime.before(now) && !afterTimeout&&WorkerFeedback) {
|
if (afterTime.before(now) && !afterTimeout && WorkerFeedback) {
|
||||||
log.info("售后订单[{}]超时30分钟", order.getId());
|
log.info("售后订单[{}]超时30分钟", order.getId());
|
||||||
orderDetailService.updateAfterTimeout(order.getId(), 1, 0);
|
orderDetailService.updateAfterTimeout(order.getId(), 1, 0);
|
||||||
// 售后超时通知
|
// 售后超时通知
|
||||||
|
|
@ -386,7 +385,7 @@ public class OrderServiceImpl implements OrderService {
|
||||||
if (order.getOrderStatus().equals(OrderStatus.SERVER.code())) {
|
if (order.getOrderStatus().equals(OrderStatus.SERVER.code())) {
|
||||||
// 服务中状态要按预计上门时间计算4h超时
|
// 服务中状态要按预计上门时间计算4h超时
|
||||||
// Date overTime = DateUtils.addMilliseconds(order.getUpdateTime(), 4 * 60 * 60 * 1000);
|
// Date overTime = DateUtils.addMilliseconds(order.getUpdateTime(), 4 * 60 * 60 * 1000);
|
||||||
Date overTime=calculateOverTime(order.getUpdateTime());
|
Date overTime = calculateOverTime(order.getUpdateTime());
|
||||||
log.info("订单[{}]服务中状态超时4小时 4小时后的时间", overTime);
|
log.info("订单[{}]服务中状态超时4小时 4小时后的时间", overTime);
|
||||||
if (overTime.before(now)) {
|
if (overTime.before(now)) {
|
||||||
log.info("订单[{}]服务中状态超时4小时 扣款", order.getId());
|
log.info("订单[{}]服务中状态超时4小时 扣款", order.getId());
|
||||||
|
|
@ -420,14 +419,14 @@ public class OrderServiceImpl implements OrderService {
|
||||||
} else if (timeoutOrderStatus.contains(order.getOrderStatus())) {
|
} else if (timeoutOrderStatus.contains(order.getOrderStatus())) {
|
||||||
// 其它状态用update_time判断30min超时
|
// 其它状态用update_time判断30min超时
|
||||||
Date overTime = getOverTime(order.getUpdateTime(), 30 * 60 * 1000);
|
Date overTime = getOverTime(order.getUpdateTime(), 30 * 60 * 1000);
|
||||||
if (overTime.before(now)&&order.getOrderStatus()!=OrderStatus.GOING.code()) {
|
if (overTime.before(now) && order.getOrderStatus() != OrderStatus.GOING.code()) {
|
||||||
log.info("订单[{}]超时30分钟", order.getId());
|
log.info("订单[{}]超时30分钟", order.getId());
|
||||||
orderDetailService.updateTimeout(order.getId(), 1, 0);
|
orderDetailService.updateTimeout(order.getId(), 1, 0);
|
||||||
// 判断是否约单
|
// 判断是否约单
|
||||||
OrderCallRecord param = new OrderCallRecord();
|
OrderCallRecord param = new OrderCallRecord();
|
||||||
param.setOrderId(order.getId());
|
param.setOrderId(order.getId());
|
||||||
List<OrderCallRecord> list = orderCallRecordService.selectOrderCallRecordList(param);
|
List<OrderCallRecord> list = orderCallRecordService.selectOrderCallRecordList(param);
|
||||||
if (order.getOrderStatus()==OrderStatus.RECEIVE.code()){
|
if (order.getOrderStatus() == OrderStatus.RECEIVE.code()) {
|
||||||
try {
|
try {
|
||||||
// 推送公众号通知数据。
|
// 推送公众号通知数据。
|
||||||
// 消息组装。
|
// 消息组装。
|
||||||
|
|
@ -698,7 +697,7 @@ public class OrderServiceImpl implements OrderService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 如果已经不存在"已完成"和"已取消"以外的子订单 就把主订单也改为完成
|
// 如果已经不存在"已完成"和"已取消"以外的子订单 就把主订单也改为完成
|
||||||
if (allFinish&&om.getWithdrawn()==null) {
|
if (allFinish && om.getWithdrawn() == null) {
|
||||||
log.info("主订单自动完成[id={} code={}]", om.getId(), om.getCode());
|
log.info("主订单自动完成[id={} code={}]", om.getId(), om.getCode());
|
||||||
orderMasterService.finish(om.getId());
|
orderMasterService.finish(om.getId());
|
||||||
}
|
}
|
||||||
|
|
@ -724,7 +723,7 @@ public class OrderServiceImpl implements OrderService {
|
||||||
orderListRequest.setIsMonitoredOrder(true);
|
orderListRequest.setIsMonitoredOrder(true);
|
||||||
orderListRequest.setNeedImgs(false);
|
orderListRequest.setNeedImgs(false);
|
||||||
long num = this.appMixOrderCount(orderListRequest);
|
long num = this.appMixOrderCount(orderListRequest);
|
||||||
log.info("超时巡查超时数量{},超时师傅名称{}",num,worker.getName());
|
log.info("超时巡查超时数量{},超时师傅名称{}", num, worker.getName());
|
||||||
if (num > 0) {
|
if (num > 0) {
|
||||||
try {
|
try {
|
||||||
// 推送公众号通知数据。
|
// 推送公众号通知数据。
|
||||||
|
|
@ -735,7 +734,7 @@ public class OrderServiceImpl implements OrderService {
|
||||||
// 名称
|
// 名称
|
||||||
paramsNew.put("thing7", "请进入【我的订单--超时单】迅速处理");
|
paramsNew.put("thing7", "请进入【我的订单--超时单】迅速处理");
|
||||||
|
|
||||||
paramsNew.put("character_string23", num );
|
paramsNew.put("character_string23", num);
|
||||||
// 预约时间
|
// 预约时间
|
||||||
paramsNew.put("time4", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", new Date()));
|
paramsNew.put("time4", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", new Date()));
|
||||||
|
|
||||||
|
|
@ -759,8 +758,8 @@ public class OrderServiceImpl implements OrderService {
|
||||||
orderDetail1.setDeptId(worker.getDeptId());
|
orderDetail1.setDeptId(worker.getDeptId());
|
||||||
orderDetail1.setWorkerId(worker.getWorkerId());
|
orderDetail1.setWorkerId(worker.getWorkerId());
|
||||||
orderDetail1.setShelveStatus(1);
|
orderDetail1.setShelveStatus(1);
|
||||||
long num =orderDetailService.countOrderDetailList(orderDetail1);
|
long num = orderDetailService.countOrderDetailList(orderDetail1);
|
||||||
log.info("搁置单巡查超时数量{},超时师傅名称{}",num,worker.getName());
|
log.info("搁置单巡查超时数量{},超时师傅名称{}", num, worker.getName());
|
||||||
if (num > 0) {
|
if (num > 0) {
|
||||||
try {
|
try {
|
||||||
// 推送公众号通知数据。
|
// 推送公众号通知数据。
|
||||||
|
|
@ -770,7 +769,7 @@ public class OrderServiceImpl implements OrderService {
|
||||||
paramsNew.put("thing13", "您有《无法排单》需再次联系客户");
|
paramsNew.put("thing13", "您有《无法排单》需再次联系客户");
|
||||||
// 名称
|
// 名称
|
||||||
paramsNew.put("thing7", "请进入【我的订单--搁置单】操作处理");
|
paramsNew.put("thing7", "请进入【我的订单--搁置单】操作处理");
|
||||||
paramsNew.put("character_string23", num );
|
paramsNew.put("character_string23", num);
|
||||||
// 预约时间
|
// 预约时间
|
||||||
paramsNew.put("time4", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", new Date()));
|
paramsNew.put("time4", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", new Date()));
|
||||||
WechatMsgUtils.sendWeChatMsg(WechatMsgUtils.getToken(), worker.getWxOpenId(), WxMsgEnum.DEFAULT_HANDLE_ORDER, paramsNew);
|
WechatMsgUtils.sendWeChatMsg(WechatMsgUtils.getToken(), worker.getWxOpenId(), WxMsgEnum.DEFAULT_HANDLE_ORDER, paramsNew);
|
||||||
|
|
@ -789,9 +788,9 @@ public class OrderServiceImpl implements OrderService {
|
||||||
orderDetail.setExpectTimeStart(Date.from(tomorrow.atZone(ZoneId.systemDefault()).toInstant()));
|
orderDetail.setExpectTimeStart(Date.from(tomorrow.atZone(ZoneId.systemDefault()).toInstant()));
|
||||||
tomorrow = LocalDateTime.of(LocalDate.now().plusDays(1), LocalTime.MAX);
|
tomorrow = LocalDateTime.of(LocalDate.now().plusDays(1), LocalTime.MAX);
|
||||||
orderDetail.setExpectTimeEnd(Date.from(tomorrow.atZone(ZoneId.systemDefault()).toInstant()));
|
orderDetail.setExpectTimeEnd(Date.from(tomorrow.atZone(ZoneId.systemDefault()).toInstant()));
|
||||||
long tomorrowNum =orderDetailService.countOrderDetailList(orderDetail);
|
long tomorrowNum = orderDetailService.countOrderDetailList(orderDetail);
|
||||||
log.info("明日单巡查超时数量{},超时师傅名称{}",tomorrowNum,worker.getName());
|
log.info("明日单巡查超时数量{},超时师傅名称{}", tomorrowNum, worker.getName());
|
||||||
if (tomorrowNum>0){
|
if (tomorrowNum > 0) {
|
||||||
log.info("订单[{}]明日订单通知", worker.getName());
|
log.info("订单[{}]明日订单通知", worker.getName());
|
||||||
try {
|
try {
|
||||||
// 推送公众号通知数据。
|
// 推送公众号通知数据。
|
||||||
|
|
@ -802,7 +801,7 @@ public class OrderServiceImpl implements OrderService {
|
||||||
// 名称
|
// 名称
|
||||||
paramsNew.put("thing7", "进入【我的订单--明日单】查看准备");
|
paramsNew.put("thing7", "进入【我的订单--明日单】查看准备");
|
||||||
|
|
||||||
paramsNew.put("character_string23", tomorrowNum );
|
paramsNew.put("character_string23", tomorrowNum);
|
||||||
// 预约时间
|
// 预约时间
|
||||||
paramsNew.put("time4", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", new Date()));
|
paramsNew.put("time4", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", new Date()));
|
||||||
WechatMsgUtils.sendWeChatMsg(WechatMsgUtils.getToken(), worker.getWxOpenId(), WxMsgEnum.TOMORROW_ORDER, paramsNew);
|
WechatMsgUtils.sendWeChatMsg(WechatMsgUtils.getToken(), worker.getWxOpenId(), WxMsgEnum.TOMORROW_ORDER, paramsNew);
|
||||||
|
|
@ -820,8 +819,8 @@ public class OrderServiceImpl implements OrderService {
|
||||||
orderListRequest.setNeedImgs(false);
|
orderListRequest.setNeedImgs(false);
|
||||||
AjaxResult afterListRes = this.appMixAfterList(orderListRequest);
|
AjaxResult afterListRes = this.appMixAfterList(orderListRequest);
|
||||||
List<AfterServiceRecord> afterList = (List<AfterServiceRecord>) afterListRes.get("data");
|
List<AfterServiceRecord> afterList = (List<AfterServiceRecord>) afterListRes.get("data");
|
||||||
log.info("售后单巡查超时数量{},超时师傅名称{}",num,worker.getName());
|
log.info("售后单巡查超时数量{},超时师傅名称{}", num, worker.getName());
|
||||||
if (afterList.size()>0){
|
if (afterList.size() > 0) {
|
||||||
log.info("订单[{}]售后巡查订单通知", worker.getName());
|
log.info("订单[{}]售后巡查订单通知", worker.getName());
|
||||||
try {
|
try {
|
||||||
// 推送公众号通知数据。
|
// 推送公众号通知数据。
|
||||||
|
|
@ -831,7 +830,7 @@ public class OrderServiceImpl implements OrderService {
|
||||||
paramsNew.put("thing13", "售后巡查,您或您下级售后单未完成");
|
paramsNew.put("thing13", "售后巡查,您或您下级售后单未完成");
|
||||||
// 名称
|
// 名称
|
||||||
paramsNew.put("thing7", "请进入【我的订单--售后中】查看处理");
|
paramsNew.put("thing7", "请进入【我的订单--售后中】查看处理");
|
||||||
paramsNew.put("character_string23", afterList.size() );
|
paramsNew.put("character_string23", afterList.size());
|
||||||
// 预约时间
|
// 预约时间
|
||||||
paramsNew.put("time4", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", new Date()));
|
paramsNew.put("time4", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", new Date()));
|
||||||
WechatMsgUtils.sendWeChatMsg(WechatMsgUtils.getToken(), worker.getWxOpenId(), WxMsgEnum.DEFAULT_HANDLE_ORDER, paramsNew);
|
WechatMsgUtils.sendWeChatMsg(WechatMsgUtils.getToken(), worker.getWxOpenId(), WxMsgEnum.DEFAULT_HANDLE_ORDER, paramsNew);
|
||||||
|
|
@ -845,7 +844,6 @@ public class OrderServiceImpl implements OrderService {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public long appMixOrderCount(OrderListRequest orderListRequest) {
|
public long appMixOrderCount(OrderListRequest orderListRequest) {
|
||||||
long count = 0;
|
long count = 0;
|
||||||
|
|
||||||
|
|
@ -856,7 +854,7 @@ public class OrderServiceImpl implements OrderService {
|
||||||
OrderDetail orderDetailReq = new OrderDetail();
|
OrderDetail orderDetailReq = new OrderDetail();
|
||||||
BeanUtils.copyProperties(orderListRequest, orderDetailReq);
|
BeanUtils.copyProperties(orderListRequest, orderDetailReq);
|
||||||
List<OrderDetail> list = orderDetailService.selectOrderDetailList(orderDetailReq);
|
List<OrderDetail> list = orderDetailService.selectOrderDetailList(orderDetailReq);
|
||||||
long size= list.stream()
|
long size = list.stream()
|
||||||
.filter(order -> order.getOrderStatus() != 6) // 先过滤状态不等于6的订单
|
.filter(order -> order.getOrderStatus() != 6) // 先过滤状态不等于6的订单
|
||||||
.filter(order -> order.getOrderStatus() != 5).count();
|
.filter(order -> order.getOrderStatus() != 5).count();
|
||||||
count += size;
|
count += size;
|
||||||
|
|
@ -876,7 +874,7 @@ public class OrderServiceImpl implements OrderService {
|
||||||
.map(OrderMaster::getId) // 再提取id
|
.map(OrderMaster::getId) // 再提取id
|
||||||
.collect(Collectors.toList())
|
.collect(Collectors.toList())
|
||||||
);
|
);
|
||||||
if (org.apache.commons.collections.CollectionUtils.isEmpty(countParam.getMasterIds())){
|
if (org.apache.commons.collections.CollectionUtils.isEmpty(countParam.getMasterIds())) {
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
List<OrderDetail> orderDetails = orderDetailService.selectOrderDetailList(countParam);
|
List<OrderDetail> orderDetails = orderDetailService.selectOrderDetailList(countParam);
|
||||||
|
|
@ -919,13 +917,13 @@ public class OrderServiceImpl implements OrderService {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (isKeep|| org.apache.commons.collections.CollectionUtils.isEmpty(tmpDetailListOfMasters)) {
|
if (isKeep || org.apache.commons.collections.CollectionUtils.isEmpty(tmpDetailListOfMasters)) {
|
||||||
filteredMasterList.add(master);
|
filteredMasterList.add(master);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
count += filteredMasterList.size();
|
count += filteredMasterList.size();
|
||||||
if (filteredMasterList.isEmpty()){
|
if (filteredMasterList.isEmpty()) {
|
||||||
count += masterList.size();
|
count += masterList.size();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -933,6 +931,7 @@ public class OrderServiceImpl implements OrderService {
|
||||||
}
|
}
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
public AjaxResult appMixAfterList(@RequestBody OrderListRequest orderListRequest) {
|
public AjaxResult appMixAfterList(@RequestBody OrderListRequest orderListRequest) {
|
||||||
List<OrderListResponse> orderListResponses = new ArrayList<>();
|
List<OrderListResponse> orderListResponses = new ArrayList<>();
|
||||||
|
|
||||||
|
|
@ -964,9 +963,9 @@ public class OrderServiceImpl implements OrderService {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
long count = detailAfterListOfMasters.stream().filter(x->(x.getAfterTimeout()!=null && x.getAfterTimeout() == 1)).count();
|
long count = detailAfterListOfMasters.stream().filter(x -> (x.getAfterTimeout() != null && x.getAfterTimeout() == 1)).count();
|
||||||
if (isKeep) {
|
if (isKeep) {
|
||||||
if(count > 0){
|
if (count > 0) {
|
||||||
master.setAfterTimeout(1);
|
master.setAfterTimeout(1);
|
||||||
}
|
}
|
||||||
filteredMasterList.add(master);
|
filteredMasterList.add(master);
|
||||||
|
|
@ -984,6 +983,7 @@ public class OrderServiceImpl implements OrderService {
|
||||||
|
|
||||||
return AjaxResult.success(orderListResponses);
|
return AjaxResult.success(orderListResponses);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<OrderListResponse> getMasterAfterList(OrderMaster orderMaster) {
|
public List<OrderListResponse> getMasterAfterList(OrderMaster orderMaster) {
|
||||||
|
|
||||||
// 查所有售后的单
|
// 查所有售后的单
|
||||||
|
|
@ -1061,9 +1061,9 @@ public class OrderServiceImpl implements OrderService {
|
||||||
// 地址信息
|
// 地址信息
|
||||||
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(master.getAddressId());
|
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(master.getAddressId());
|
||||||
SysArea sysArea;
|
SysArea sysArea;
|
||||||
if(customerAddress.getStreetId()!=null){
|
if (customerAddress.getStreetId() != null) {
|
||||||
sysArea = sysAreaService.selectById(customerAddress.getStreetId());
|
sysArea = sysAreaService.selectById(customerAddress.getStreetId());
|
||||||
}else {
|
} else {
|
||||||
sysArea = sysAreaService.selectById(customerAddress.getCountryId());
|
sysArea = sysAreaService.selectById(customerAddress.getCountryId());
|
||||||
}
|
}
|
||||||
String completeAddress = sysArea.getMergerName().replaceAll(",", "") + customerAddress.getAddress();
|
String completeAddress = sysArea.getMergerName().replaceAll(",", "") + customerAddress.getAddress();
|
||||||
|
|
@ -1097,8 +1097,8 @@ public class OrderServiceImpl implements OrderService {
|
||||||
// orderListResponse.setChangeMoney(totalChangeMoney);
|
// orderListResponse.setChangeMoney(totalChangeMoney);
|
||||||
orderListResponse.setWorkerName(worker == null ? "" : worker.getName());
|
orderListResponse.setWorkerName(worker == null ? "" : worker.getName());
|
||||||
orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone());
|
orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone());
|
||||||
orderListResponse.setCustomerName(StringUtils.isNotEmpty(master.getName())?master.getName():customerAddress.getName());
|
orderListResponse.setCustomerName(StringUtils.isNotEmpty(master.getName()) ? master.getName() : customerAddress.getName());
|
||||||
orderListResponse.setCustomerPhone(StringUtils.isNotEmpty(master.getPhone())?master.getPhone():customerAddress.getPhone());
|
orderListResponse.setCustomerPhone(StringUtils.isNotEmpty(master.getPhone()) ? master.getPhone() : customerAddress.getPhone());
|
||||||
orderListResponse.setServerTime(master.getRevTime());
|
orderListResponse.setServerTime(master.getRevTime());
|
||||||
orderListResponse.setExpectTimeStart(master.getExpectTimeStart());
|
orderListResponse.setExpectTimeStart(master.getExpectTimeStart());
|
||||||
orderListResponse.setExpectTimeEnd(master.getExpectTimeEnd());
|
orderListResponse.setExpectTimeEnd(master.getExpectTimeEnd());
|
||||||
|
|
@ -1158,7 +1158,7 @@ public class OrderServiceImpl implements OrderService {
|
||||||
if (worker != null) {
|
if (worker != null) {
|
||||||
// 师傅实名信息
|
// 师傅实名信息
|
||||||
workerRealInfo = workerCertificationService.selectByWorkerId(orderMaster.getWorkerId());
|
workerRealInfo = workerCertificationService.selectByWorkerId(orderMaster.getWorkerId());
|
||||||
workerName = workerRealInfo == null ? worker.getName() : workerRealInfo.getSurname()+workerRealInfo.getName();
|
workerName = workerRealInfo == null ? worker.getName() : workerRealInfo.getSurname() + workerRealInfo.getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 消费者信息
|
// 消费者信息
|
||||||
|
|
@ -1183,9 +1183,9 @@ public class OrderServiceImpl implements OrderService {
|
||||||
// 地址信息
|
// 地址信息
|
||||||
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId());
|
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId());
|
||||||
SysArea sysArea;
|
SysArea sysArea;
|
||||||
if(customerAddress.getStreetId()!=null){
|
if (customerAddress.getStreetId() != null) {
|
||||||
sysArea = sysAreaService.selectById(customerAddress.getStreetId());
|
sysArea = sysAreaService.selectById(customerAddress.getStreetId());
|
||||||
}else {
|
} else {
|
||||||
sysArea = sysAreaService.selectById(customerAddress.getCountryId());
|
sysArea = sysAreaService.selectById(customerAddress.getCountryId());
|
||||||
}
|
}
|
||||||
String completeAddress = sysArea.getMergerName().replaceAll(",", "") + customerAddress.getAddress();
|
String completeAddress = sysArea.getMergerName().replaceAll(",", "") + customerAddress.getAddress();
|
||||||
|
|
@ -1231,8 +1231,8 @@ public class OrderServiceImpl implements OrderService {
|
||||||
orderListResponse.setWorkerId(detail.getWorkerId());
|
orderListResponse.setWorkerId(detail.getWorkerId());
|
||||||
orderListResponse.setWorkerName(workerName);
|
orderListResponse.setWorkerName(workerName);
|
||||||
orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone());
|
orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone());
|
||||||
orderListResponse.setCustomerName(StringUtils.isNotEmpty(orderMaster.getName())?orderMaster.getName():customerAddress.getName());
|
orderListResponse.setCustomerName(StringUtils.isNotEmpty(orderMaster.getName()) ? orderMaster.getName() : customerAddress.getName());
|
||||||
orderListResponse.setCustomerPhone(StringUtils.isNotEmpty(orderMaster.getPhone())?orderMaster.getPhone():customerAddress.getPhone());
|
orderListResponse.setCustomerPhone(StringUtils.isNotEmpty(orderMaster.getPhone()) ? orderMaster.getPhone() : customerAddress.getPhone());
|
||||||
orderListResponse.setOrderStatus(detail.getOrderStatus());
|
orderListResponse.setOrderStatus(detail.getOrderStatus());
|
||||||
orderListResponse.setPayStatus(orderMaster.getPayStatus());
|
orderListResponse.setPayStatus(orderMaster.getPayStatus());
|
||||||
orderListResponse.setPayType(orderMaster.getPayType());
|
orderListResponse.setPayType(orderMaster.getPayType());
|
||||||
|
|
@ -1260,6 +1260,7 @@ public class OrderServiceImpl implements OrderService {
|
||||||
});
|
});
|
||||||
return orderListResponses;
|
return orderListResponses;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean checkIsOnlyServer(Long orderMasterId, Long workId) {
|
private boolean checkIsOnlyServer(Long orderMasterId, Long workId) {
|
||||||
// 找出原单的数量
|
// 找出原单的数量
|
||||||
List<OrderGoods> orderGoodsList = orderGoodsService.selectByOrderMasterId(orderMasterId);
|
List<OrderGoods> orderGoodsList = orderGoodsService.selectByOrderMasterId(orderMasterId);
|
||||||
|
|
@ -1289,6 +1290,7 @@ public class OrderServiceImpl implements OrderService {
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*判断超时4小时的时间 如果超过晚上八点则剩余的时间从第二天早上开始计时*/
|
/*判断超时4小时的时间 如果超过晚上八点则剩余的时间从第二天早上开始计时*/
|
||||||
public static Date calculateOverTime(Date updateTime) {
|
public static Date calculateOverTime(Date updateTime) {
|
||||||
// 1. 增加4小时
|
// 1. 增加4小时
|
||||||
|
|
@ -1313,6 +1315,7 @@ public class OrderServiceImpl implements OrderService {
|
||||||
}
|
}
|
||||||
return Date.from(overTime.atZone(java.time.ZoneId.systemDefault()).toInstant());
|
return Date.from(overTime.atZone(java.time.ZoneId.systemDefault()).toInstant());
|
||||||
}
|
}
|
||||||
|
|
||||||
//单独处理待上门通知
|
//单独处理待上门通知
|
||||||
public void checkTimeoutDoor(OrderDetail order) {
|
public void checkTimeoutDoor(OrderDetail order) {
|
||||||
log.info("子单超时开始:单号:{}, 内容:{}", order.getCode(), order);
|
log.info("子单超时开始:单号:{}, 内容:{}", order.getCode(), order);
|
||||||
|
|
@ -1333,7 +1336,7 @@ public class OrderServiceImpl implements OrderService {
|
||||||
|
|
||||||
Date oneHourTime = DateUtils.addMilliseconds(order.getExpectTimeStart(), -60 * 60 * 1000);
|
Date oneHourTime = DateUtils.addMilliseconds(order.getExpectTimeStart(), -60 * 60 * 1000);
|
||||||
log.info("待上门订单开始前一个小时 订单号:[{}]时间:{} 当前时间 {} 是否为同一时间小时{} 分钟{}", order.getId(), oneHourTime, now, oneHourTime.getHours(), oneHourTime.getMinutes());
|
log.info("待上门订单开始前一个小时 订单号:[{}]时间:{} 当前时间 {} 是否为同一时间小时{} 分钟{}", order.getId(), oneHourTime, now, oneHourTime.getHours(), oneHourTime.getMinutes());
|
||||||
log.info("待上门订单[{}]服务中预计超时时间{},是否已经超时{}", order.getId(),overTime,overTime.before(now));
|
log.info("待上门订单[{}]服务中预计超时时间{},是否已经超时{}", order.getId(), overTime, overTime.before(now));
|
||||||
LocalTime currentTime = LocalTime.now(); // 当前系统时间
|
LocalTime currentTime = LocalTime.now(); // 当前系统时间
|
||||||
if (overTime.before(now)) {
|
if (overTime.before(now)) {
|
||||||
log.info("订单[{}]待上门状态超时30分钟", order.getId());
|
log.info("订单[{}]待上门状态超时30分钟", order.getId());
|
||||||
|
|
@ -1364,7 +1367,7 @@ public class OrderServiceImpl implements OrderService {
|
||||||
log.error(e.getMessage(), e);
|
log.error(e.getMessage(), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (isInTimeRange(currentTime, oneHourTime.getHours(), oneHourTime.getMinutes())&&isSameYearMonthDay(now,oneHourTime)) {
|
if (isInTimeRange(currentTime, oneHourTime.getHours(), oneHourTime.getMinutes()) && isSameYearMonthDay(now, oneHourTime)) {
|
||||||
log.info("订单[{}]约一小时上门服务", order.getId());
|
log.info("订单[{}]约一小时上门服务", order.getId());
|
||||||
try {
|
try {
|
||||||
// 推送公众号通知数据。
|
// 推送公众号通知数据。
|
||||||
|
|
@ -1392,6 +1395,7 @@ public class OrderServiceImpl implements OrderService {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isSameYearMonthDay(Date date1, Date date2) {
|
public static boolean isSameYearMonthDay(Date date1, Date date2) {
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
// 格式化为本地时间的字符串(忽略时间部分)
|
// 格式化为本地时间的字符串(忽略时间部分)
|
||||||
|
|
@ -1399,6 +1403,7 @@ public class OrderServiceImpl implements OrderService {
|
||||||
String dateStr2 = sdf.format(date2);
|
String dateStr2 = sdf.format(date2);
|
||||||
return dateStr1.equals(dateStr2);
|
return dateStr1.equals(dateStr2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void orderServerToFinishCheck() {
|
public void orderServerToFinishCheck() {
|
||||||
List<OrderDetail> orderDetails = orderDetailService.selectByStatus(Collections.singletonList(OrderStatus.SERVER.code()));
|
List<OrderDetail> orderDetails = orderDetailService.selectByStatus(Collections.singletonList(OrderStatus.SERVER.code()));
|
||||||
|
|
@ -1460,7 +1465,7 @@ public class OrderServiceImpl implements OrderService {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 检查是否到达目标时间
|
// 检查是否到达目标时间
|
||||||
if (now.after(targetTime)&&orderMaster.getPayStatus()==1) {
|
if (now.after(targetTime) && orderMaster.getPayStatus() == 1) {
|
||||||
log.info("订单[{}]确认截止时间已到,开始转为确认中状态", orderDetail.getCode());
|
log.info("订单[{}]确认截止时间已到,开始转为确认中状态", orderDetail.getCode());
|
||||||
orderDetail.setWorkFinishTime(new Date());
|
orderDetail.setWorkFinishTime(new Date());
|
||||||
orderDetailService.updateOrderDetail(orderDetail);
|
orderDetailService.updateOrderDetail(orderDetail);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue