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