no message
This commit is contained in:
parent
232509dc14
commit
e66d6b56e9
|
|
@ -1249,9 +1249,11 @@ public class OrderController extends BaseController {
|
|||
BeanUtils.copyProperties(orderListRequest, orderDetailReq);
|
||||
List<OrderDetail> list = orderDetailService.selectOrderDetailList(orderDetailReq);
|
||||
long size = list.stream()
|
||||
.filter(order -> order.getOrderStatus() != 6) // 先过滤状态不等于6的订单
|
||||
.filter(order -> order.getOrderStatus() != 5)
|
||||
.filter(order->order.getOrderType()==1&&order.getOrderStatus()!=OrderStatus.GOING.code())
|
||||
.filter(order -> order.getOrderStatus() != 6) // 排除已取消的订单
|
||||
.filter(order -> order.getOrderStatus() != 5) // 排除已完成的订单
|
||||
// 排除商品订单中“服务中(3)”状态:保留非商品订单,或商品订单且状态 != 服务中
|
||||
.filter(order -> order.getOrderType() != 1 ||
|
||||
order.getOrderStatus() != OrderStatus.SERVER.code())
|
||||
.count();
|
||||
count += size;
|
||||
logger.info("子单超时数量{}", count);
|
||||
|
|
@ -1295,6 +1297,14 @@ public class OrderController extends BaseController {
|
|||
orderMasterReq.setExceptOrderMasterIds(masterIdSet);
|
||||
List<OrderMaster> masterList = orderMasterService.selectOrderMasterList(orderMasterReq);
|
||||
allList.addAll(masterList);
|
||||
allList=allList.stream()
|
||||
.filter(order -> order.getOrderStatus() != 6) // 排除已取消的订单
|
||||
.filter(order -> order.getOrderStatus() != 5) // 排除已完成的订单
|
||||
// 排除商品订单中“服务中(3)”状态:保留非商品订单,或商品订单且状态 != 服务中
|
||||
.filter(order -> order.getOrderType() != 1 ||
|
||||
order.getOrderStatus() != OrderStatus.SERVER.code())
|
||||
.filter(order -> order.getHasDispatchedAll()!=null&&order.getHasDispatchedAll()==0)
|
||||
.collect(Collectors.toList());
|
||||
List<Long> mateIds = allList.stream().map(OrderMaster::getId)
|
||||
.collect(Collectors.toList());
|
||||
// logger.info("查询符合条件的主单条件{}总数{}allList的数量{}allist的主单id{}", orderMasterReq, count, allList.size(), mateIds);
|
||||
|
|
|
|||
|
|
@ -1234,9 +1234,11 @@ public class OrderDetailController extends BaseController {
|
|||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
orderDetail=orderDetailService.selectById(orderDetail.getId());
|
||||
if (orderDetail.getIsQuicklyDelivery()!=null&&orderDetail.getIsQuicklyDelivery()==1) {
|
||||
// 立即发货时更新订单商品的已发货数量
|
||||
logger.info("立即发货订单[{}]开始更新商品已发货数量", orderDetail.getId());
|
||||
orderDetail.setTimeout(0);
|
||||
try {
|
||||
// 获取子订单商品列表
|
||||
List<OrderGoods> detailGoodsList = orderGoodsService.selectByOrderDetailId(orderDetail.getId());
|
||||
|
|
|
|||
|
|
@ -111,41 +111,58 @@ public class WorkerAreaController extends BaseController {
|
|||
byWorker = workerAreaService.getByWorker(workerId);
|
||||
}
|
||||
|
||||
// 收集城市ID
|
||||
Set<Long> cityIds = new HashSet<>();
|
||||
// 收集只有cityId没有districtId的城市ID集合(用于单独处理)
|
||||
Set<Long> cityOnlyIds = new HashSet<>();
|
||||
// 按districtId分组收集cityIds
|
||||
Map<Long, Set<Long>> districtCityMap = new HashMap<>();
|
||||
|
||||
for (WorkerArea area : byWorker){
|
||||
Long districtId = area.getDistrictId();
|
||||
|
||||
// 如果有districtId,按districtId分组处理
|
||||
if (districtId != null) {
|
||||
List<String> ids;
|
||||
if(countryMap.containsKey(area.getDistrictId())){
|
||||
ids = countryMap.get(area.getDistrictId());
|
||||
if(countryMap.containsKey(districtId)){
|
||||
ids = countryMap.get(districtId);
|
||||
} else {
|
||||
ids = new ArrayList<>();
|
||||
}
|
||||
|
||||
// 收集城市ID
|
||||
// 收集该district下的城市ID
|
||||
if (area.getCityId() != null) {
|
||||
cityIds.add(area.getCityId());
|
||||
districtCityMap.computeIfAbsent(districtId, k -> new HashSet<>()).add(area.getCityId());
|
||||
}
|
||||
|
||||
// 添加街道ID
|
||||
if (area.getStreetId() != null) {
|
||||
ids.add(String.valueOf(area.getStreetId()));
|
||||
if (area.getDistrictId()!=null){
|
||||
countryMap.put(area.getDistrictId(), ids);
|
||||
}
|
||||
|
||||
countryMap.put(districtId, ids);
|
||||
} else {
|
||||
// 如果只有cityId没有districtId,收集到cityOnlyIds
|
||||
if (area.getCityId() != null) {
|
||||
cityOnlyIds.add(area.getCityId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
List<WorkerArea> result = new ArrayList<>();
|
||||
|
||||
// 处理有districtId的情况(正常流程)
|
||||
for (Map.Entry<Long, List<String>> longListEntry : countryMap.entrySet()) {
|
||||
WorkerArea model = new WorkerArea();
|
||||
SysArea countryArea = sysAreaService.selectById(longListEntry.getKey());
|
||||
Long districtId = longListEntry.getKey();
|
||||
SysArea countryArea = sysAreaService.selectById(districtId);
|
||||
model.setDistrictArea(countryArea);
|
||||
SysArea cityArea = sysAreaService.selectById(Long.valueOf(countryArea.getParentCode()));
|
||||
model.setCityArea(cityArea);
|
||||
SysArea provinceArea = sysAreaService.selectById(Long.valueOf(cityArea.getParentCode()));
|
||||
model.setProvinceArea(provinceArea);
|
||||
|
||||
// 需求2:增加cityIds字段
|
||||
List<Long> cityIdList = cityIds.stream()
|
||||
.map(Long::valueOf)
|
||||
.collect(Collectors.toList());
|
||||
// 设置该district下的cityIds
|
||||
Set<Long> districtCityIds = districtCityMap.getOrDefault(districtId, new HashSet<>());
|
||||
List<Long> cityIdList = new ArrayList<>(districtCityIds);
|
||||
model.setCityIds(cityIdList);
|
||||
|
||||
// 设置街道ID列表
|
||||
|
|
@ -153,6 +170,24 @@ public class WorkerAreaController extends BaseController {
|
|||
|
||||
result.add(model);
|
||||
}
|
||||
|
||||
// 处理只有cityId没有districtId的情况(只返回省市信息)
|
||||
for (Long cityId : cityOnlyIds) {
|
||||
WorkerArea model = new WorkerArea();
|
||||
SysArea cityArea = sysAreaService.selectById(cityId);
|
||||
model.setCityArea(cityArea);
|
||||
// 获取省份信息
|
||||
SysArea provinceArea = sysAreaService.selectById(Long.valueOf(cityArea.getParentCode()));
|
||||
model.setProvinceArea(provinceArea);
|
||||
|
||||
// 只设置城市ID列表
|
||||
List<Long> cityIdList = new ArrayList<>();
|
||||
cityIdList.add(cityId);
|
||||
model.setCityIds(cityIdList);
|
||||
|
||||
// 不设置district和street信息
|
||||
result.add(model);
|
||||
}
|
||||
return AjaxResult.success(result);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -195,6 +195,7 @@ public class AfterServiceTimeoutTask {
|
|||
record.setCustomerFinalCheck(1L);
|
||||
record.setIsAutoProcessed(1);
|
||||
record.setRefundApplyTime(new Date());
|
||||
record.setAfterServiceStatus(1);
|
||||
|
||||
// 更新记录
|
||||
afterServiceRecordService.updateGoodsAfterServiceRecord(record);
|
||||
|
|
|
|||
|
|
@ -288,7 +288,7 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService
|
|||
}
|
||||
Assert.notNull(afterServiceRecord, "售后记录不存在!");
|
||||
OrderDetail orderDetail = orderDetailService.selectById(afterServiceRecord.getOrderDetailId());
|
||||
|
||||
afterServiceRecordMapper.updateAfterServiceRecord(afterServiceRecord);
|
||||
// 检查orderDetail是否为null,避免NullPointerException
|
||||
if (orderDetail == null) {
|
||||
log.error("订单详情不存在,售后记录ID:{},订单详情ID:{}", afterServiceRecord.getId(), afterServiceRecord.getOrderDetailId());
|
||||
|
|
@ -602,6 +602,8 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService
|
|||
if (param.getWorkerReceiveConfirm() != null) {
|
||||
afterServiceRecord.setWorkerReceiveConfirm(param.getWorkerReceiveConfirm());
|
||||
}
|
||||
afterServiceRecord.setUpdateTime(new Date());
|
||||
afterServiceRecordMapper.updateAfterServiceRecord(afterServiceRecord);
|
||||
Assert.notNull(afterServiceRecord, "售后记录不存在!");
|
||||
OrderDetail orderDetail = orderDetailService.selectById(afterServiceRecord.getOrderDetailId());
|
||||
boolean drawCash = orderDetail.getDrawCashTime() != null;
|
||||
|
|
@ -658,37 +660,6 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService
|
|||
return AjaxResult.success("重做/补做完成状态已更新");
|
||||
}
|
||||
|
||||
// 新增:处理师傅反馈结果为0或1时,设置redoCompleteTime为当前时间+36小时
|
||||
// if (param.getWorkerFeedbackResult() != null && (param.getWorkerFeedbackResult().equals(0L) || param.getWorkerFeedbackResult().equals(1L))) {
|
||||
// afterServiceRecord.setWorkerFeedbackResult(param.getWorkerFeedbackResult());
|
||||
// // 设置当前时间推后36小时
|
||||
// Calendar calendar = Calendar.getInstance();
|
||||
// calendar.setTime(new Date());
|
||||
// calendar.add(Calendar.HOUR_OF_DAY, 36);
|
||||
// afterServiceRecord.setRedoCompleteTime(calendar.getTime());
|
||||
|
||||
// // 处理师傅反馈相关字段
|
||||
// if (param.getWorkerFeedbackReasonType() != null) {
|
||||
// afterServiceRecord.setWorkerFeedbackReasonType(param.getWorkerFeedbackReasonType());
|
||||
// }
|
||||
// if (param.getWorkerFeedbackReason() != null) {
|
||||
// afterServiceRecord.setWorkerFeedbackReason(param.getWorkerFeedbackReason());
|
||||
// }
|
||||
// if (param.getWorkerFeedbackImages() != null) {
|
||||
// afterServiceRecord.setWorkerFeedbackImages(param.getWorkerFeedbackImages());
|
||||
// }
|
||||
// if (param.getAgreedRefund() != null) {
|
||||
// afterServiceRecord.setAgreedRefund(param.getAgreedRefund());
|
||||
// }
|
||||
// if (param.getUpdateBy() != null) {
|
||||
// afterServiceRecord.setUpdateBy(param.getUpdateBy());
|
||||
// }
|
||||
|
||||
// afterServiceRecordMapper.updateAfterServiceRecord(afterServiceRecord);
|
||||
// log.info("商品售后-师傅反馈结果为{},记录ID:{},redoCompleteTime设置为:{}", param.getWorkerFeedbackResult(), param.getId(), afterServiceRecord.getRedoCompleteTime());
|
||||
// return AjaxResult.success("师傅反馈结果已更新");
|
||||
// }
|
||||
|
||||
// 新增:处理师傅重发/补发方案
|
||||
if (param.getWorkerResendPlan() != null) {
|
||||
// 验证快递/物流方式必须提供单号
|
||||
|
|
@ -824,7 +795,7 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService
|
|||
param.getId(), afterServiceRecord.getWorkerAgreeType());
|
||||
}
|
||||
|
||||
} else {
|
||||
} else if (afterServiceRecord.getCustomerFinalCheck() == null) {
|
||||
afterServiceRecord.setCustomerFinalCheck(0L);
|
||||
// 如果redoCompleteTime字段有值,且师傅操作为0或1,且客户不同意,则将其设置为null
|
||||
if (afterServiceRecord.getRedoCompleteTime() != null &&
|
||||
|
|
@ -940,7 +911,7 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService
|
|||
afterServiceRecordMapper.updateAfterServiceRecord(param);
|
||||
return drawCash ? AjaxResult.error("本单银联已确认货款结算完毕(订单支付完成),款项已到达或即将到达您所绑定帐户,需同意退款的同意后您线下与客户另行操作,系统无法提供原路返回退款!") : AjaxResult.success();
|
||||
} else {
|
||||
if(two.equals(param.getCustomerFinalCheck())){
|
||||
if(two.equals(afterServiceRecord.getCustomerFinalCheck())){
|
||||
// 客户不同意师傅的意见,如果订单是确认中,则需要将订单改为服务中
|
||||
if(orderDetail.getOrderStatus() == OrderStatus.FINISH_CHECK.code() && orderDetail.getDrawCashTime()!= null ){
|
||||
orderDetail.setOrderStatus(OrderStatus.SERVER.code());
|
||||
|
|
|
|||
|
|
@ -322,7 +322,7 @@
|
|||
OR
|
||||
-- workerResendType为2或3(送货上门/自提):24小时倒计时
|
||||
(worker_resend_type IN (2, 3) AND worker_resend_time <= DATE_SUB(NOW(), INTERVAL 24 HOUR)
|
||||
AND worker_resend_time >= DATE_SUB(NOW(), INTERVAL 1440 MINUTE))
|
||||
AND worker_resend_time >= DATE_SUB(NOW(), INTERVAL 1800 MINUTE))
|
||||
)
|
||||
</select>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue