no message
This commit is contained in:
parent
fa7ff1971f
commit
d59b15c569
|
|
@ -937,6 +937,7 @@ public class OrderController extends BaseController {
|
|||
orderDetail.setOrderStatus(OrderStatus.RECEIVE.code());
|
||||
orderDetail.setWorkerId(request.getWorkerId());
|
||||
orderDetail.setShelveStatus(0);
|
||||
orderDetail.setOrderType(request.getOrderType());
|
||||
Long newMasterOrderCount = orderMasterService.countOrderMasterList(orderMaster);
|
||||
Long newDetailOrderCount = orderDetailService.countOrderDetailList(orderDetail);
|
||||
// 统计新订单的单量
|
||||
|
|
@ -992,6 +993,7 @@ public class OrderController extends BaseController {
|
|||
orderDetail1.setDeptId(request.getDeptId());
|
||||
orderDetail1.setWorkerId(request.getWorkerId());
|
||||
orderDetail1.setShelveStatus(1);
|
||||
orderDetail1.setOrderType(request.getOrderType());
|
||||
response.setShelvedOrderNum(orderDetailService.countOrderDetailList(orderDetail1));
|
||||
// 统计售后中单量
|
||||
OrderListRequest orderListRequest = new OrderListRequest();
|
||||
|
|
@ -1000,6 +1002,7 @@ public class OrderController extends BaseController {
|
|||
orderListRequest.setIsMonitoredOrder(true);
|
||||
orderListRequest.setAllSelfAssigned(0);
|
||||
orderListRequest.setNeedImgs(false);
|
||||
orderListRequest.setOrderType(request.getOrderType());
|
||||
AjaxResult afterListRes = this.appMixAfterList(orderListRequest);
|
||||
List<AfterServiceRecord> afterList = (List<AfterServiceRecord>) afterListRes.get("data");
|
||||
response.setAfterListNum(afterList.size());
|
||||
|
|
@ -1010,6 +1013,7 @@ public class OrderController extends BaseController {
|
|||
orderListRequest.setWorkerId(request.getWorkerId());
|
||||
orderListRequest.setIsMonitoredOrder(true);
|
||||
orderListRequest.setNeedImgs(false);
|
||||
orderListRequest.setOrderType(request.getOrderType());
|
||||
response.setOverTimeOrderNum(this.appMixOrderCount(orderListRequest));
|
||||
// 统计今日单量
|
||||
LocalDateTime today = LocalDateTime.of(LocalDate.now(), LocalTime.MIN);
|
||||
|
|
@ -1055,6 +1059,7 @@ public class OrderController extends BaseController {
|
|||
// 增加主单下子单有超时的
|
||||
OrderMaster param = new OrderMaster();
|
||||
param.setWorkerId(orderListRequest.getWorkerId());
|
||||
param.setOrderType(orderListRequest.getOrderType());
|
||||
List<OrderMaster> allOrderMaster = orderMasterService.selectOrderMasterList(param);
|
||||
if (CollectionUtils.isNotEmpty(allOrderMaster)) {
|
||||
OrderDetail countParam = new OrderDetail();
|
||||
|
|
@ -1690,6 +1695,7 @@ public class OrderController extends BaseController {
|
|||
orderListResponse.setIsInvoiced(master.getIsInvoiced());
|
||||
orderListResponse.setOriginalWorkerId(master.getOriginalWorkerId());
|
||||
|
||||
orderListResponse.setServerGoodsId(master.getServerGoodsId());
|
||||
orderListResponse.setOrderType(master.getOrderType());
|
||||
orderListResponse.setHasServiceOrder(master.getHasServiceOrder());
|
||||
orderListResponse.setIsMonitoredOrder(condition);
|
||||
|
|
|
|||
|
|
@ -1533,10 +1533,10 @@ public class OrderDetailController extends BaseController {
|
|||
@PostMapping("/app/delay")
|
||||
@ResponseBody
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public AjaxResult delayOrder(@RequestBody OrderDetail orderDetail) {
|
||||
logger.info("延期到货,orderDetailId={}", orderDetail.getId());
|
||||
public AjaxResult delayOrder(@RequestBody OrderMaster orderMaster) {
|
||||
logger.info("延期到货,orderDetailId={}", orderMaster.getId());
|
||||
try {
|
||||
return toAjax(orderDetailService.delayOrder(orderDetail.getId()));
|
||||
return toAjax(orderDetailService.delayOrder(orderMaster.getId()));
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
logger.error(ExceptionUtil.getExceptionMessage(e));
|
||||
|
|
|
|||
|
|
@ -244,4 +244,7 @@ public class OrderListResponse {
|
|||
*/
|
||||
@Excel(name = "原师傅id", cellType = Excel.ColumnType.NUMERIC)
|
||||
private Long originalWorkerId;
|
||||
|
||||
|
||||
private Long serverGoodsId;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -78,10 +78,10 @@ public class WechatMsgUtils {
|
|||
paramMap.put("page", "index");
|
||||
paramMap.put("template_id", mesType.getTempCode());
|
||||
paramMap.put("url","");
|
||||
Map<String, Object> miniprogram=new HashMap<>();
|
||||
miniprogram.put("appid","wx105ce607b514ff2a");
|
||||
miniprogram.put("pagepath",wxStatusByWxMsgUrl);
|
||||
paramMap.put("miniprogram",miniprogram);
|
||||
// Map<String, Object> miniprogram=new HashMap<>();
|
||||
// miniprogram.put("appid","wx105ce607b514ff2a");
|
||||
// miniprogram.put("pagepath",wxStatusByWxMsgUrl);
|
||||
// paramMap.put("miniprogram",miniprogram);
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
for (Map.Entry<String, Object> objectEntry : dataMap.entrySet()) {
|
||||
JSONObject model = new JSONObject();
|
||||
|
|
|
|||
|
|
@ -210,10 +210,10 @@ public interface OrderDetailService {
|
|||
* 将confirm_start_time增加3天
|
||||
* 延期次数最多2次
|
||||
*
|
||||
* @param orderDetailId 子订单ID
|
||||
* @param orderMasterId 主订单ID
|
||||
* @return 成功条数
|
||||
*/
|
||||
int delayOrder(Long orderDetailId);
|
||||
int delayOrder(Long orderMasterId);
|
||||
|
||||
/**
|
||||
* 子订单退回
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ import org.apache.commons.collections4.CollectionUtils;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.core.annotation.Order;
|
||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
|
@ -1434,48 +1435,52 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
|||
return statisticsDTOByNow;
|
||||
}
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public int delayOrder(Long orderDetailId) {
|
||||
// 查询订单信息
|
||||
OrderDetail orderDetail = orderDetailMapper.selectById(orderDetailId);
|
||||
if (orderDetail == null) {
|
||||
throw new BaseException("订单不存在");
|
||||
}
|
||||
public int delayOrder(Long orderMasterId) {
|
||||
|
||||
// 检查延期次数
|
||||
Integer delayCount = orderDetail.getDelayCount();
|
||||
if (delayCount == null) {
|
||||
delayCount = 0;
|
||||
}
|
||||
if (delayCount >= 2) {
|
||||
throw new BaseException("延期次数已达上限,最多只能延期2次");
|
||||
}
|
||||
List<OrderDetail> orderDetailList=orderDetailMapper.selectByOrderMasterId(orderMasterId);
|
||||
int num=0;
|
||||
for (OrderDetail orderDetail:orderDetailList){
|
||||
// 查询订单信息
|
||||
if (orderDetail == null) {
|
||||
throw new BaseException("订单不存在");
|
||||
}
|
||||
|
||||
// 检查订单状态是否允许延期
|
||||
if (orderDetail.getOrderStatus() == null) {
|
||||
throw new BaseException("订单状态异常");
|
||||
// 检查延期次数
|
||||
Integer delayCount = orderDetail.getDelayCount();
|
||||
if (delayCount == null) {
|
||||
delayCount = 0;
|
||||
}
|
||||
if (delayCount >= 2) {
|
||||
throw new BaseException("延期次数已达上限,最多只能延期2次");
|
||||
}
|
||||
|
||||
// 检查订单状态是否允许延期
|
||||
if (orderDetail.getOrderStatus() == null) {
|
||||
throw new BaseException("订单状态异常");
|
||||
}
|
||||
|
||||
// 更新延期次数
|
||||
orderDetail.setDelayCount(delayCount + 1);
|
||||
|
||||
// 处理confirm_start_time,增加3天
|
||||
Date confirmStartTime = orderDetail.getConfirmStartTime();
|
||||
if (confirmStartTime == null) {
|
||||
confirmStartTime = new Date();
|
||||
}
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTime(confirmStartTime);
|
||||
calendar.add(Calendar.DAY_OF_MONTH, 3);
|
||||
orderDetail.setConfirmStartTime(calendar.getTime());
|
||||
|
||||
// 如果是待确认状态,则变为服务中
|
||||
if (OrderStatus.FINISH_CHECK.code()==orderDetail.getOrderStatus()) {
|
||||
orderDetail.setOrderStatus(OrderStatus.SERVER.code());
|
||||
}
|
||||
|
||||
// 更新订单
|
||||
num= orderDetailMapper.updateOrderDetail(orderDetail);
|
||||
}
|
||||
|
||||
// 更新延期次数
|
||||
orderDetail.setDelayCount(delayCount + 1);
|
||||
|
||||
// 处理confirm_start_time,增加3天
|
||||
Date confirmStartTime = orderDetail.getConfirmStartTime();
|
||||
if (confirmStartTime == null) {
|
||||
confirmStartTime = new Date();
|
||||
}
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTime(confirmStartTime);
|
||||
calendar.add(Calendar.DAY_OF_MONTH, 3);
|
||||
orderDetail.setConfirmStartTime(calendar.getTime());
|
||||
|
||||
// 如果是待确认状态,则变为服务中
|
||||
if (OrderStatus.FINISH_CHECK.code()==orderDetail.getOrderStatus()) {
|
||||
orderDetail.setOrderStatus(OrderStatus.SERVER.code());
|
||||
}
|
||||
|
||||
// 更新订单
|
||||
return orderDetailMapper.updateOrderDetail(orderDetail);
|
||||
return num;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -1483,6 +1488,8 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
|||
public int returnOrder(Long orderDetailId) {
|
||||
// 查询订单信息
|
||||
OrderDetail orderDetail = orderDetailMapper.selectById(orderDetailId);
|
||||
OrderMaster orderMaster=orderMasterMapper.selectById(orderDetail.getOrderMasterId());
|
||||
|
||||
if (orderDetail == null) {
|
||||
throw new BaseException("订单不存在");
|
||||
}
|
||||
|
|
@ -1511,8 +1518,36 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
|||
|
||||
// 清除超时状态
|
||||
orderDetail.setTimeout(0);
|
||||
int num= orderDetailMapper.updateOrderDetail(orderDetail);
|
||||
List<OrderDetail> orderDetailList=orderDetailMapper.selectByOrderMasterId(orderDetail.getOrderMasterId());
|
||||
if (orderMaster.getOrderType()==0){
|
||||
Boolean bo= orderDetailList.stream()
|
||||
.allMatch(subOrder ->
|
||||
// 子单状态不为 null 且等于 1
|
||||
Objects.nonNull(subOrder.getOrderStatus()) && subOrder.getOrderStatus() == 3
|
||||
);
|
||||
if (bo){
|
||||
num= orderMasterMapper.updateStatus(orderMaster.getId(),3);
|
||||
}
|
||||
}else{
|
||||
Boolean bo= orderDetailList.stream()
|
||||
.allMatch(subOrder ->
|
||||
// 子单状态不为 null 且等于 1
|
||||
Objects.nonNull(subOrder.getOrderStatus()) && subOrder.getOrderStatus() == 1
|
||||
);
|
||||
if (bo){
|
||||
List<Long> idList = new ArrayList<>();
|
||||
idList.add(orderDetailId);
|
||||
Long[] ids = idList.toArray(new Long[0]);
|
||||
OrderMaster orderMaster1=new OrderMaster();
|
||||
orderMaster1.setHasDispatchedAll(0);
|
||||
orderMaster1.setId(orderMaster.getId());
|
||||
orderMaster1.setOrderStatus(1);
|
||||
num= orderMasterMapper.updateOrderMaster(orderMaster1);
|
||||
orderDetailMapper.deleteOrderDetailByIds(ids);
|
||||
}
|
||||
}
|
||||
|
||||
// 更新订单
|
||||
return orderDetailMapper.updateOrderDetail(orderDetail);
|
||||
return num;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -790,7 +790,7 @@ public class OrderServiceImpl implements OrderService {
|
|||
tomorrow = LocalDateTime.of(LocalDate.now().plusDays(1), LocalTime.MAX);
|
||||
orderDetail.setExpectTimeEnd(Date.from(tomorrow.atZone(ZoneId.systemDefault()).toInstant()));
|
||||
long tomorrowNum =orderDetailService.countOrderDetailList(orderDetail);
|
||||
log.info("明日单巡查超时数量{},超时师傅名称{}",num,worker.getName());
|
||||
log.info("明日单巡查超时数量{},超时师傅名称{}",tomorrowNum,worker.getName());
|
||||
if (tomorrowNum>0){
|
||||
log.info("订单[{}]明日订单通知", worker.getName());
|
||||
try {
|
||||
|
|
@ -1364,7 +1364,7 @@ public class OrderServiceImpl implements OrderService {
|
|||
log.error(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
if (isInTimeRange(currentTime, oneHourTime.getHours(), oneHourTime.getMinutes())&&now.getDay()==oneHourTime.getDay()) {
|
||||
if (isInTimeRange(currentTime, oneHourTime.getHours(), oneHourTime.getMinutes())&&isSameYearMonthDay(now,oneHourTime)) {
|
||||
log.info("订单[{}]约一小时上门服务", order.getId());
|
||||
try {
|
||||
// 推送公众号通知数据。
|
||||
|
|
@ -1392,7 +1392,13 @@ public class OrderServiceImpl implements OrderService {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
public static boolean isSameYearMonthDay(Date date1, Date date2) {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
// 格式化为本地时间的字符串(忽略时间部分)
|
||||
String dateStr1 = sdf.format(date1);
|
||||
String dateStr2 = sdf.format(date2);
|
||||
return dateStr1.equals(dateStr2);
|
||||
}
|
||||
@Override
|
||||
public void orderServerToFinishCheck() {
|
||||
List<OrderDetail> orderDetails = orderDetailService.selectByStatus(Collections.singletonList(OrderStatus.SERVER.code()));
|
||||
|
|
|
|||
Loading…
Reference in New Issue