no message

This commit is contained in:
cb 2025-07-29 08:34:57 +08:00
parent fa7ff1971f
commit d59b15c569
7 changed files with 103 additions and 53 deletions

View File

@ -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);

View File

@ -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));

View File

@ -244,4 +244,7 @@ public class OrderListResponse {
*/
@Excel(name = "原师傅id", cellType = Excel.ColumnType.NUMERIC)
private Long originalWorkerId;
private Long serverGoodsId;
}

View File

@ -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();

View File

@ -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);
/**
* 子订单退回

View File

@ -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,10 +1435,12 @@ public class OrderDetailServiceImpl implements OrderDetailService {
return statisticsDTOByNow;
}
@Override
@Transactional(rollbackFor = Exception.class)
public int delayOrder(Long orderDetailId) {
public int delayOrder(Long orderMasterId) {
List<OrderDetail> orderDetailList=orderDetailMapper.selectByOrderMasterId(orderMasterId);
int num=0;
for (OrderDetail orderDetail:orderDetailList){
// 查询订单信息
OrderDetail orderDetail = orderDetailMapper.selectById(orderDetailId);
if (orderDetail == null) {
throw new BaseException("订单不存在");
}
@ -1475,7 +1478,9 @@ public class OrderDetailServiceImpl implements OrderDetailService {
}
// 更新订单
return orderDetailMapper.updateOrderDetail(orderDetail);
num= 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;
}
}

View File

@ -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()));