no message

This commit is contained in:
cb 2025-12-02 16:52:34 +08:00
parent 477f252fd1
commit 232509dc14
6 changed files with 72 additions and 15 deletions

View File

@ -1055,6 +1055,24 @@ public class OrderMasterController extends BaseController {
} }
countList = new ArrayList<>(uniqueOrderMap.values()); countList = new ArrayList<>(uniqueOrderMap.values());
List<Long> filterCityIds = orderMaster.getCityIds();
Long filterCityId = orderMaster.getCityId();
if ((filterCityIds != null && !filterCityIds.isEmpty()) || filterCityId != null) {
Set<Long> citySet = new HashSet<>();
if (filterCityIds != null) {
citySet.addAll(filterCityIds);
}
if (filterCityId != null) {
citySet.add(filterCityId);
}
uniqueList = uniqueList.stream()
.filter(o -> o.getCityId() != null && citySet.contains(o.getCityId()))
.collect(Collectors.toList());
countList = countList.stream()
.filter(o -> o.getCityId() != null && citySet.contains(o.getCityId()))
.collect(Collectors.toList());
}
// 按创建时间排序 // 按创建时间排序
uniqueList.sort((o1, o2) -> { uniqueList.sort((o1, o2) -> {
if (o1.getUpdateTimeAlias() == null && o2.getUpdateTimeAlias() == null) return 0; if (o1.getUpdateTimeAlias() == null && o2.getUpdateTimeAlias() == null) return 0;

View File

@ -99,7 +99,10 @@
<if test="retainMoney != null">retain_money = #{retainMoney},</if> <if test="retainMoney != null">retain_money = #{retainMoney},</if>
<if test="serviceCategoryId != null">service_category_id = #{serviceCategoryId},</if> <if test="serviceCategoryId != null">service_category_id = #{serviceCategoryId},</if>
<if test="serviceCategoryName != null and serviceCategoryName != ''">service_category_name = #{serviceCategoryName},</if> <if test="serviceCategoryName != null and serviceCategoryName != ''">service_category_name = #{serviceCategoryName},</if>
<if test="countdownHours != null">countdown_hours = #{countdownHours},</if> <choose>
<when test="countdownHours != null">countdown_hours = #{countdownHours},</when>
<otherwise>countdown_hours = NULL,</otherwise>
</choose>
<if test="pcDeptRate != null and pcDeptRate != ''">pc_dept_rate = #{pcDeptRate},</if> <if test="pcDeptRate != null and pcDeptRate != ''">pc_dept_rate = #{pcDeptRate},</if>
<if test="pcDeptMoney != null">pc_dept_money = #{pcDeptMoney},</if> <if test="pcDeptMoney != null">pc_dept_money = #{pcDeptMoney},</if>
@ -143,7 +146,7 @@
<if test="retainMoney != null and retainMoney != ''">retain_money,</if> <if test="retainMoney != null and retainMoney != ''">retain_money,</if>
<if test="serviceCategoryId != null">service_category_id,</if> <if test="serviceCategoryId != null">service_category_id,</if>
<if test="serviceCategoryName != null and serviceCategoryName != ''">service_category_name,</if> <if test="serviceCategoryName != null and serviceCategoryName != ''">service_category_name,</if>
<if test="countdownHours != null">countdown_hours,</if> countdown_hours,
<if test="pcDeptRate != null and pcDeptRate != ''">pc_dept_rate,</if> <if test="pcDeptRate != null and pcDeptRate != ''">pc_dept_rate,</if>
<if test="pcDeptMoney != null and pcDeptMoney != ''">pc_dept_money,</if> <if test="pcDeptMoney != null and pcDeptMoney != ''">pc_dept_money,</if>
@ -171,7 +174,7 @@
<if test="retainMoney != null and retainMoney != ''">#{retainMoney},</if> <if test="retainMoney != null and retainMoney != ''">#{retainMoney},</if>
<if test="serviceCategoryId != null">#{serviceCategoryId},</if> <if test="serviceCategoryId != null">#{serviceCategoryId},</if>
<if test="serviceCategoryName != null and serviceCategoryName != ''">#{serviceCategoryName},</if> <if test="serviceCategoryName != null and serviceCategoryName != ''">#{serviceCategoryName},</if>
<if test="countdownHours != null">#{countdownHours},</if> #{countdownHours},
<if test="pcDeptRate != null and pcDeptRate != ''">#{pcDeptRate},</if> <if test="pcDeptRate != null and pcDeptRate != ''">#{pcDeptRate},</if>
<if test="pcDeptMoney != null and pcDeptMoney != ''">#{pcDeptMoney},</if> <if test="pcDeptMoney != null and pcDeptMoney != ''">#{pcDeptMoney},</if>

View File

@ -82,7 +82,7 @@ public class AfterServiceRecord extends BaseEntity
private BigDecimal platformRefund; private BigDecimal platformRefund;
/** 客户最终确认0为不同意1为同意 */ /** 客户最终确认0为不同意1为同意 */
@Excel(name = "客户最终确认0为不同意1为同意") @Excel(name = "客户最终确认0为不同意1为同意2为取消")
private Long customerFinalCheck; private Long customerFinalCheck;
@Excel(name = "最终原路返还的金额") @Excel(name = "最终原路返还的金额")

View File

@ -123,10 +123,10 @@ public class AfterServiceTimeoutTask {
} else if (record.getWorkerFeedbackResult() != null && } else if (record.getWorkerFeedbackResult() != null &&
(record.getWorkerFeedbackResult().equals(0L) || record.getWorkerFeedbackResult().equals(1L))) { (record.getWorkerFeedbackResult().equals(0L) || record.getWorkerFeedbackResult().equals(1L))) {
// 倒计时3师傅拒绝或同意后客户36小时不操作自动取消售后 // 倒计时3师傅拒绝或同意后客户36小时不操作自动取消售后
record.setCustomerFinalCheck(null); record.setCustomerFinalCheck(2L);
record.setAfterServiceStatus(2); // 设置为已取消状态 record.setAfterServiceStatus(2); // 设置为已取消状态
record.setIsAutoProcessed(1); // 自动处理 record.setIsAutoProcessed(1); // 自动处理
record.setWorkerReceiveConfirm(0);
// // 检查是否需要恢复财务金额 // // 检查是否需要恢复财务金额
// if (record.getOriginalRefund() != null && record.getOriginalRefund().compareTo(java.math.BigDecimal.ZERO) > 0) { // if (record.getOriginalRefund() != null && record.getOriginalRefund().compareTo(java.math.BigDecimal.ZERO) > 0) {
// log.info("售后取消开始恢复财务金额记录ID{},原退款金额:{}", // log.info("售后取消开始恢复财务金额记录ID{},原退款金额:{}",
@ -144,16 +144,23 @@ public class AfterServiceTimeoutTask {
log.info("师傅拒绝/同意后客户超时自动取消售后单取消完成售后记录ID{}", record.getId()); log.info("师傅拒绝/同意后客户超时自动取消售后单取消完成售后记录ID{}", record.getId());
}else if (record.getWorkerFeedbackResult() != null && record.getWorkerFeedbackResult().equals(2L)) { }else if (record.getWorkerFeedbackResult() != null && record.getWorkerFeedbackResult().equals(2L)) {
// 倒计时4客户同意后36小时不操作自动同意完单 //师傅重做补做完成时候客户36小时不操作自动取消售后
record.setCustomerFinalCheck(null); record.setCustomerFinalCheck(2L);
record.setAfterServiceStatus(2); // 设置为已取消状态 record.setAfterServiceStatus(2); // 设置为已取消状态
record.setIsAutoProcessed(1); // 自动处理 record.setIsAutoProcessed(1); // 自动处理
record.setWorkerReceiveConfirm(0);
log.info("客户同意后超时自动取消订单完成售后记录ID{}", record.getId()); log.info("师傅重做补做完成时候客户36小时不操作自动取消售后订单完成售后记录ID{}", record.getId());
} }
// 更新记录 // 更新记录
if (record.getAfterServiceCategory() != null && record.getAfterServiceCategory().equals(1)) {
// 商品售后
afterServiceRecordService.updateGoodsAfterServiceRecord(record);
} else {
// 服务售后或其他类型
afterServiceRecordService.updateAfterServiceRecord(record); afterServiceRecordService.updateAfterServiceRecord(record);
}
// 恢复确认中倒计时 // 恢复确认中倒计时
afterServiceRecordService.resumeConfirmTimeout(record.getOrderDetailId()); afterServiceRecordService.resumeConfirmTimeout(record.getOrderDetailId());
@ -169,8 +176,8 @@ public class AfterServiceTimeoutTask {
/** /**
* 师傅重发补发超时处理 * 师傅重发补发超时处理
* 快递为4天 其他未1天
* *
* 同意为4天
* 超时后自动按客户同意处理 * 超时后自动按客户同意处理
*/ */
@Scheduled(fixedRate = 5 * 60 * 1000) // 5分钟执行一次 @Scheduled(fixedRate = 5 * 60 * 1000) // 5分钟执行一次
@ -190,7 +197,7 @@ public class AfterServiceTimeoutTask {
record.setRefundApplyTime(new Date()); record.setRefundApplyTime(new Date());
// 更新记录 // 更新记录
afterServiceRecordService.updateAfterServiceRecord(record); afterServiceRecordService.updateGoodsAfterServiceRecord(record);
// 恢复确认中倒计时 // 恢复确认中倒计时
afterServiceRecordService.resumeConfirmTimeout(record.getOrderDetailId()); afterServiceRecordService.resumeConfirmTimeout(record.getOrderDetailId());

View File

@ -274,6 +274,18 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService
Long one = 1L; Long one = 1L;
Long two = 2L; Long two = 2L;
AfterServiceRecord afterServiceRecord = this.selectAfterServiceRecordById(param.getId()); AfterServiceRecord afterServiceRecord = this.selectAfterServiceRecordById(param.getId());
if (param.getIsAutoProcessed() != null) {
afterServiceRecord.setIsAutoProcessed(param.getIsAutoProcessed());
}
if (param.getAfterServiceStatus() != null) {
afterServiceRecord.setAfterServiceStatus(param.getAfterServiceStatus());
}
if (param.getCustomerFinalCheck() != null) {
afterServiceRecord.setCustomerFinalCheck(param.getCustomerFinalCheck());
}
if (param.getWorkerReceiveConfirm() != null) {
afterServiceRecord.setWorkerReceiveConfirm(param.getWorkerReceiveConfirm());
}
Assert.notNull(afterServiceRecord, "售后记录不存在!"); Assert.notNull(afterServiceRecord, "售后记录不存在!");
OrderDetail orderDetail = orderDetailService.selectById(afterServiceRecord.getOrderDetailId()); OrderDetail orderDetail = orderDetailService.selectById(afterServiceRecord.getOrderDetailId());
@ -316,6 +328,7 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService
if (param.getUpdateBy() != null) { if (param.getUpdateBy() != null) {
afterServiceRecord.setUpdateBy(param.getUpdateBy()); afterServiceRecord.setUpdateBy(param.getUpdateBy());
} }
afterServiceRecordMapper.updateAfterServiceRecord(afterServiceRecord); afterServiceRecordMapper.updateAfterServiceRecord(afterServiceRecord);
log.info("师傅重做/补做完成记录ID{},完成时间:{}", param.getId(), afterServiceRecord.getRedoCompleteTime()); log.info("师傅重做/补做完成记录ID{},完成时间:{}", param.getId(), afterServiceRecord.getRedoCompleteTime());
return AjaxResult.success("重做/补做完成状态已更新"); return AjaxResult.success("重做/补做完成状态已更新");
@ -577,6 +590,18 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService
Long one = 1L; Long one = 1L;
Long two = 2L; Long two = 2L;
AfterServiceRecord afterServiceRecord = this.selectAfterServiceRecordById(param.getId()); AfterServiceRecord afterServiceRecord = this.selectAfterServiceRecordById(param.getId());
if (param.getIsAutoProcessed() != null) {
afterServiceRecord.setIsAutoProcessed(param.getIsAutoProcessed());
}
if (param.getAfterServiceStatus() != null) {
afterServiceRecord.setAfterServiceStatus(param.getAfterServiceStatus());
}
if (param.getCustomerFinalCheck() != null) {
afterServiceRecord.setCustomerFinalCheck(param.getCustomerFinalCheck());
}
if (param.getWorkerReceiveConfirm() != null) {
afterServiceRecord.setWorkerReceiveConfirm(param.getWorkerReceiveConfirm());
}
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;

View File

@ -316,9 +316,13 @@
AND customer_final_check IS NULL AND customer_final_check IS NULL
AND (is_auto_processed IS NULL OR is_auto_processed = 0) AND (is_auto_processed IS NULL OR is_auto_processed = 0)
AND ( AND (
-- 所有类型统一4天倒计时 -- workerResendType为1快递/物流4天倒计时
worker_resend_time &lt;= DATE_SUB(NOW(), INTERVAL 4 DAY) (worker_resend_type = 1 AND worker_resend_time &lt;= DATE_SUB(NOW(), INTERVAL 4 DAY)
AND worker_resend_time &gt;= DATE_SUB(NOW(), INTERVAL 5790 MINUTE) AND worker_resend_time &gt;= DATE_SUB(NOW(), INTERVAL 5790 MINUTE))
OR
-- workerResendType为2或3送货上门/自提24小时倒计时
(worker_resend_type IN (2, 3) AND worker_resend_time &lt;= DATE_SUB(NOW(), INTERVAL 24 HOUR)
AND worker_resend_time &gt;= DATE_SUB(NOW(), INTERVAL 1440 MINUTE))
) )
</select> </select>