no message

This commit is contained in:
cb 2025-09-13 17:30:50 +08:00
parent 61dcb7b25c
commit 9db20efd88
3 changed files with 176 additions and 164 deletions

View File

@ -1713,6 +1713,7 @@ public class OrderController extends BaseController {
&& master.getWorkerId() != null; && master.getWorkerId() != null;
logger.info("是否为监控单{}主单id{}", condition, master); logger.info("是否为监控单{}主单id{}", condition, master);
// 编辑返回属性 // 编辑返回属性
orderListResponse.setWorkerRemark(master.getWorkerRemark());
orderListResponse.setGoods(goods); orderListResponse.setGoods(goods);
orderListResponse.setIsNeedBill(master.getIsNeedBill()); orderListResponse.setIsNeedBill(master.getIsNeedBill());
orderListResponse.setIsMonitoredOrder(master.getIsMonitoredOrder()); orderListResponse.setIsMonitoredOrder(master.getIsMonitoredOrder());
@ -1786,7 +1787,9 @@ public class OrderController extends BaseController {
orderListResponse.setProvinceName(array[0]); orderListResponse.setProvinceName(array[0]);
orderListResponse.setCityName(array[1]); orderListResponse.setCityName(array[1]);
orderListResponse.setCountryName(array[2]); orderListResponse.setCountryName(array[2]);
orderListResponse.setStreetName(array[3]); if (array.length>3){
orderListResponse.setStreetName(array[3]);
}
orderListResponse.setProvinceId(customerAddress.getProvinceId()); orderListResponse.setProvinceId(customerAddress.getProvinceId());
orderListResponse.setCityId(customerAddress.getCityId()); orderListResponse.setCityId(customerAddress.getCityId());
orderListResponse.setCountryId(customerAddress.getCountryId()); orderListResponse.setCountryId(customerAddress.getCountryId());
@ -1899,6 +1902,7 @@ public class OrderController extends BaseController {
// List<AfterServiceRecord> afterServiceRecordList =afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord); // List<AfterServiceRecord> afterServiceRecordList =afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord);
// 编辑返回属性 // 编辑返回属性
orderListResponse.setWorkerRemark(detail.getWorkerRemark());
orderListResponse.setGoods(goods); orderListResponse.setGoods(goods);
orderListResponse.setGoodsBrand(orderMaster.getGoodsBrand()); orderListResponse.setGoodsBrand(orderMaster.getGoodsBrand());
orderListResponse.setGoodsSpecification(orderMaster.getGoodsSpecification()); orderListResponse.setGoodsSpecification(orderMaster.getGoodsSpecification());
@ -1960,7 +1964,9 @@ public class OrderController extends BaseController {
orderListResponse.setProvinceName(array[0]); orderListResponse.setProvinceName(array[0]);
orderListResponse.setCityName(array[1]); orderListResponse.setCityName(array[1]);
orderListResponse.setCountryName(array[2]); orderListResponse.setCountryName(array[2]);
orderListResponse.setStreetName(array[3]); if (array.length>3){
orderListResponse.setStreetName(array[3]);
}
orderListResponse.setProvinceId(customerAddress.getProvinceId()); orderListResponse.setProvinceId(customerAddress.getProvinceId());
orderListResponse.setCityId(customerAddress.getCityId()); orderListResponse.setCityId(customerAddress.getCityId());
orderListResponse.setCountryId(customerAddress.getCountryId()); orderListResponse.setCountryId(customerAddress.getCountryId());

View File

@ -125,14 +125,14 @@ public class OrderDetailController extends BaseController {
private IInsuranceManagerService insuranceManagerService; private IInsuranceManagerService insuranceManagerService;
@Autowired @Autowired
private InsuranceService insuranceService; private InsuranceService insuranceService;
@Autowired @Autowired
private ShopService shopService; private ShopService shopService;
@Resource @Resource
private IOrderAttachmentRecordService orderAttachmentRecordService; private IOrderAttachmentRecordService orderAttachmentRecordService;
@Resource @Resource
private AdapayService adapayService; private AdapayService adapayService;
@Autowired @Autowired
private BaiduMapUtils baiduMapUtils; private BaiduMapUtils baiduMapUtils;
@ -151,13 +151,13 @@ public class OrderDetailController extends BaseController {
// 直接使用afterServiceStatus字段查询售后纠纷订单 // 直接使用afterServiceStatus字段查询售后纠纷订单
orderDetail.setAfterServiceStatus(1); orderDetail.setAfterServiceStatus(1);
orderDetail.setOrderStatus(null); // 清除orderStatus条件避免冲突 orderDetail.setOrderStatus(null); // 清除orderStatus条件避免冲突
} else if (orderDetail.getSearchAfterList() !=null && orderDetail.getSearchAfterList()) { } else if (orderDetail.getSearchAfterList() != null && orderDetail.getSearchAfterList()) {
// 保持原有的售后查询逻辑 // 保持原有的售后查询逻辑
List<?> rows = this.afterServiceList(orderDetail).getRows(); List<?> rows = this.afterServiceList(orderDetail).getRows();
StringBuilder detailIds = new StringBuilder(); StringBuilder detailIds = new StringBuilder();
if(CollectionUtils.isNotEmpty(rows)){ if (CollectionUtils.isNotEmpty(rows)) {
rows.forEach(model->{ rows.forEach(model -> {
OrderListResponse response = (OrderListResponse)model; OrderListResponse response = (OrderListResponse) model;
detailIds.append(response.getOrderDetailId()).append(","); detailIds.append(response.getOrderDetailId()).append(",");
}); });
} }
@ -167,24 +167,24 @@ public class OrderDetailController extends BaseController {
} }
} }
if(StringUtils.isNotEmpty(orderDetail.getWorkerName()) || StringUtils.isNotEmpty(orderDetail.getWorkerPhone())){ if (StringUtils.isNotEmpty(orderDetail.getWorkerName()) || StringUtils.isNotEmpty(orderDetail.getWorkerPhone())) {
Worker param = new Worker(); Worker param = new Worker();
param.setName(orderDetail.getWorkerName()); param.setName(orderDetail.getWorkerName());
param.setPhone(orderDetail.getWorkerPhone()); param.setPhone(orderDetail.getWorkerPhone());
List<Worker> workList = workerService.getWorkList(param); List<Worker> workList = workerService.getWorkList(param);
List<Long> ids = workList.stream().map(Worker::getWorkerId).collect(Collectors.toList()); List<Long> ids = workList.stream().map(Worker::getWorkerId).collect(Collectors.toList());
orderDetail.setWorkerIds(ids); orderDetail.setWorkerIds(ids);
if(CollectionUtils.isEmpty(ids)){ if (CollectionUtils.isEmpty(ids)) {
return getDataTable(new ArrayList<>()); return getDataTable(new ArrayList<>());
} }
} }
if(orderDetail.getSysPayStatus() != null){ if (orderDetail.getSysPayStatus() != null) {
FinancialMaster param = new FinancialMaster(); FinancialMaster param = new FinancialMaster();
param.setPayStatus(orderDetail.getSysPayStatus()); param.setPayStatus(orderDetail.getSysPayStatus());
List<FinancialMaster> financialMasters = financialMasterService.selectFinancialMasterList(param); List<FinancialMaster> financialMasters = financialMasterService.selectFinancialMasterList(param);
List<Long> masterIds = financialMasters.stream().map(FinancialMaster::getOrderMasterId).collect(Collectors.toList()); List<Long> masterIds = financialMasters.stream().map(FinancialMaster::getOrderMasterId).collect(Collectors.toList());
orderDetail.setMasterIds(masterIds); orderDetail.setMasterIds(masterIds);
if(CollectionUtils.isEmpty(masterIds)){ if (CollectionUtils.isEmpty(masterIds)) {
return getDataTable(new ArrayList<>()); return getDataTable(new ArrayList<>());
} }
} }
@ -224,7 +224,7 @@ public class OrderDetailController extends BaseController {
.stream().collect(Collectors.toMap(Worker::getWorkerId, x -> x, (x, y) -> y)); .stream().collect(Collectors.toMap(Worker::getWorkerId, x -> x, (x, y) -> y));
for (OrderDetail detail : orderDetails) { for (OrderDetail detail : orderDetails) {
if(StringUtils.isNotEmpty(orderDetail.getOrderStatusName())){ if (StringUtils.isNotEmpty(orderDetail.getOrderStatusName())) {
detail.setOrderStatusName(orderDetail.getOrderStatusName()); detail.setOrderStatusName(orderDetail.getOrderStatusName());
} }
// 确保afterServiceStatus字段不为null // 确保afterServiceStatus字段不为null
@ -238,8 +238,8 @@ public class OrderDetailController extends BaseController {
detail.setCustomerPhone(customer.getPhone()); detail.setCustomerPhone(customer.getPhone());
} }
OrderMaster orderMaster = orderMasterMap.get(detail.getOrderMasterId()); OrderMaster orderMaster = orderMasterMap.get(detail.getOrderMasterId());
if(orderMaster.getExpectTimeStart() != null && orderMaster.getExpectTimeEnd() != null){ if (orderMaster.getExpectTimeStart() != null && orderMaster.getExpectTimeEnd() != null) {
detail.setMixExpectTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm",orderMaster.getExpectTimeStart()) +"-"+ DateUtils.parseDateToStr("HH:mm",orderMaster.getExpectTimeEnd())); detail.setMixExpectTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm", orderMaster.getExpectTimeStart()) + "-" + DateUtils.parseDateToStr("HH:mm", orderMaster.getExpectTimeEnd()));
} }
if (orderMaster != null) { if (orderMaster != null) {
detail.setPayStatus(orderMaster.getPayStatus()); detail.setPayStatus(orderMaster.getPayStatus());
@ -253,27 +253,27 @@ public class OrderDetailController extends BaseController {
if (good != null) { if (good != null) {
detail.setGoods(good); detail.setGoods(good);
// 填充商品三级类目 // 填充商品三级类目
if(good.getDeptGoodsCategoryId() != null){ if (good.getDeptGoodsCategoryId() != null) {
Long categoryId = null; Long categoryId = null;
// 前端发单和后台派单 // 前端发单和后台派单
if(StringUtils.isEmpty(orderMaster.getOrderMode())){ if (StringUtils.isEmpty(orderMaster.getOrderMode())) {
DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.selectOneByGoodsCategoryId(good.getDeptGoodsCategoryId()); DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.selectOneByGoodsCategoryId(good.getDeptGoodsCategoryId());
if(deptGoodsCategory != null){ if (deptGoodsCategory != null) {
categoryId = deptGoodsCategory.getGoodsCategoryId(); categoryId = deptGoodsCategory.getGoodsCategoryId();
} }
}else { } else {
DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.get(good.getDeptGoodsCategoryId()); DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.get(good.getDeptGoodsCategoryId());
if(deptGoodsCategory != null){ if (deptGoodsCategory != null) {
categoryId = deptGoodsCategory.getGoodsCategoryId(); categoryId = deptGoodsCategory.getGoodsCategoryId();
} }
} }
if(categoryId != null){ if (categoryId != null) {
GoodsCategory one = goodsCategoryService.selectById(categoryId); GoodsCategory one = goodsCategoryService.selectById(categoryId);
if(one != null && one.getParentCategoryId() != null){ if (one != null && one.getParentCategoryId() != null) {
GoodsCategory two = goodsCategoryService.selectById(one.getParentCategoryId()); GoodsCategory two = goodsCategoryService.selectById(one.getParentCategoryId());
if(two != null && two.getParentCategoryId() != null){ if (two != null && two.getParentCategoryId() != null) {
GoodsCategory three = goodsCategoryService.selectById(two.getParentCategoryId()); GoodsCategory three = goodsCategoryService.selectById(two.getParentCategoryId());
if(three != null){ if (three != null) {
int totalNum = orderGoodsService.selectByOrderDetailId(detail.getId()).stream().mapToInt(OrderGoods::getGoodsNum).sum(); int totalNum = orderGoodsService.selectByOrderDetailId(detail.getId()).stream().mapToInt(OrderGoods::getGoodsNum).sum();
detail.setConsoleGoodsName("" + three.getGoodsCategoryName() detail.setConsoleGoodsName("" + three.getGoodsCategoryName()
+ "-" + two.getGoodsCategoryName() + "-" + two.getGoodsCategoryName()
@ -289,9 +289,9 @@ public class OrderDetailController extends BaseController {
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId()); CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId());
if (customerAddress != null) { if (customerAddress != null) {
SysArea sysArea; SysArea sysArea;
if(customerAddress.getStreetId()!=null){ if (customerAddress.getStreetId() != null) {
sysArea = sysAreaService.selectById(customerAddress.getStreetId()); sysArea = sysAreaService.selectById(customerAddress.getStreetId());
}else { } else {
sysArea = sysAreaService.selectById(customerAddress.getCountryId()); sysArea = sysAreaService.selectById(customerAddress.getCountryId());
} }
String completeAddress = sysArea.getMergerName().replaceAll(",", "") + customerAddress.getAddress(); String completeAddress = sysArea.getMergerName().replaceAll(",", "") + customerAddress.getAddress();
@ -308,9 +308,9 @@ public class OrderDetailController extends BaseController {
orderCallRecordParam.setOrderType("01"); orderCallRecordParam.setOrderType("01");
orderCallRecordParam.setOrderId(detail.getOrderMasterId()); orderCallRecordParam.setOrderId(detail.getOrderMasterId());
List<OrderCallRecord> orderCallRecords = orderCallRecordService.selectOrderCallRecordList(orderCallRecordParam); List<OrderCallRecord> orderCallRecords = orderCallRecordService.selectOrderCallRecordList(orderCallRecordParam);
if(CollectionUtils.isNotEmpty(orderCallRecords)){ if (CollectionUtils.isNotEmpty(orderCallRecords)) {
OrderCallRecord newOne = orderCallRecords.stream().sorted(Comparator.comparing(OrderCallRecord::getCallTime).reversed()).collect(Collectors.toList()).get(0); OrderCallRecord newOne = orderCallRecords.stream().sorted(Comparator.comparing(OrderCallRecord::getCallTime).reversed()).collect(Collectors.toList()).get(0);
detail.setLastCallTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",newOne.getCallTime()) + " 拨号次数x" + orderCallRecords.size()); detail.setLastCallTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", newOne.getCallTime()) + " 拨号次数x" + orderCallRecords.size());
} }
FinancialChangeRecord fc = fcMap.get(detail.getId()); FinancialChangeRecord fc = fcMap.get(detail.getId());
if (fc != null) { if (fc != null) {
@ -322,7 +322,7 @@ public class OrderDetailController extends BaseController {
param.setImgType(ImgType.FINISH_IMG.getId()); param.setImgType(ImgType.FINISH_IMG.getId());
List<GoodsImgs> imgsList = goodsImgsService.qryGoodsImgs(param); List<GoodsImgs> imgsList = goodsImgsService.qryGoodsImgs(param);
StringBuilder stringBuilder = new StringBuilder(); StringBuilder stringBuilder = new StringBuilder();
imgsList.forEach(model->{ imgsList.forEach(model -> {
stringBuilder.append("<a target='_blank' href='").append(model.getImgUrl()).append("' >查看图片<a/>"); stringBuilder.append("<a target='_blank' href='").append(model.getImgUrl()).append("' >查看图片<a/>");
}); });
detail.setOrderImgs(stringBuilder.toString()); detail.setOrderImgs(stringBuilder.toString());
@ -366,7 +366,7 @@ public class OrderDetailController extends BaseController {
if (worker != null) { if (worker != null) {
// 师傅实名信息 // 师傅实名信息
workerRealInfo = workerCertificationService.selectByWorkerId(orderMaster.getWorkerId()); workerRealInfo = workerCertificationService.selectByWorkerId(orderMaster.getWorkerId());
workerName = workerRealInfo == null ? worker.getName() : workerRealInfo.getSurname()+ workerRealInfo.getName(); workerName = workerRealInfo == null ? worker.getName() : workerRealInfo.getSurname() + workerRealInfo.getName();
} }
workerRealInfo = null; workerRealInfo = null;
// 大师傅信息 // 大师傅信息
@ -374,7 +374,7 @@ public class OrderDetailController extends BaseController {
if (masterWorker != null) { if (masterWorker != null) {
// 大师傅实名信息 // 大师傅实名信息
workerRealInfo = workerCertificationService.selectByWorkerId(orderMaster.getWorkerId()); workerRealInfo = workerCertificationService.selectByWorkerId(orderMaster.getWorkerId());
masterWorkerName = workerRealInfo == null ? masterWorker.getName() : workerRealInfo.getSurname()+ workerRealInfo.getName(); masterWorkerName = workerRealInfo == null ? masterWorker.getName() : workerRealInfo.getSurname() + workerRealInfo.getName();
masterCompanyName = workerRealInfo == null ? null : workerRealInfo.getCompanyName(); masterCompanyName = workerRealInfo == null ? null : workerRealInfo.getCompanyName();
} }
@ -390,27 +390,27 @@ public class OrderDetailController extends BaseController {
Goods goods = goodsService.selectById(orderMaster.getGoodsId()); Goods goods = goodsService.selectById(orderMaster.getGoodsId());
if (goods != null) { if (goods != null) {
// 填充商品三级类目 // 填充商品三级类目
if(goods.getDeptGoodsCategoryId() != null){ if (goods.getDeptGoodsCategoryId() != null) {
Long categoryId = null; Long categoryId = null;
// 前端发单和后台派单 // 前端发单和后台派单
if(StringUtils.isEmpty(orderMaster.getOrderMode())){ if (StringUtils.isEmpty(orderMaster.getOrderMode())) {
DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.selectOneByGoodsCategoryId(goods.getDeptGoodsCategoryId()); DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.selectOneByGoodsCategoryId(goods.getDeptGoodsCategoryId());
if(deptGoodsCategory != null){ if (deptGoodsCategory != null) {
categoryId = deptGoodsCategory.getGoodsCategoryId(); categoryId = deptGoodsCategory.getGoodsCategoryId();
} }
}else { } else {
DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.get(goods.getDeptGoodsCategoryId()); DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.get(goods.getDeptGoodsCategoryId());
if(deptGoodsCategory != null){ if (deptGoodsCategory != null) {
categoryId = deptGoodsCategory.getGoodsCategoryId(); categoryId = deptGoodsCategory.getGoodsCategoryId();
} }
} }
if(categoryId != null){ if (categoryId != null) {
GoodsCategory one = goodsCategoryService.selectById(categoryId); GoodsCategory one = goodsCategoryService.selectById(categoryId);
if(one != null && one.getParentCategoryId() != null){ if (one != null && one.getParentCategoryId() != null) {
GoodsCategory two = goodsCategoryService.selectById(one.getParentCategoryId()); GoodsCategory two = goodsCategoryService.selectById(one.getParentCategoryId());
if(two != null && two.getParentCategoryId() != null){ if (two != null && two.getParentCategoryId() != null) {
GoodsCategory three = goodsCategoryService.selectById(two.getParentCategoryId()); GoodsCategory three = goodsCategoryService.selectById(two.getParentCategoryId());
if(three != null){ if (three != null) {
goods.setGoodsName(three.getGoodsCategoryName() goods.setGoodsName(three.getGoodsCategoryName()
+ "-" + two.getGoodsCategoryName() + "-" + two.getGoodsCategoryName()
+ "-" + one.getGoodsCategoryName()); + "-" + one.getGoodsCategoryName());
@ -436,9 +436,9 @@ public class OrderDetailController extends BaseController {
// 地址信息 // 地址信息
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId()); CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId());
SysArea sysArea; SysArea sysArea;
if(customerAddress.getStreetId()!=null){ if (customerAddress.getStreetId() != null) {
sysArea = sysAreaService.selectById(customerAddress.getStreetId()); sysArea = sysAreaService.selectById(customerAddress.getStreetId());
}else { } else {
sysArea = sysAreaService.selectById(customerAddress.getCountryId()); sysArea = sysAreaService.selectById(customerAddress.getCountryId());
} }
String completeAddress = sysArea.getMergerName().replaceAll(",", "") + customerAddress.getAddress(); String completeAddress = sysArea.getMergerName().replaceAll(",", "") + customerAddress.getAddress();
@ -491,36 +491,36 @@ public class OrderDetailController extends BaseController {
OrderAttachmentRecord param = new OrderAttachmentRecord(); OrderAttachmentRecord param = new OrderAttachmentRecord();
param.setOrderDetailId(detail.getId()); param.setOrderDetailId(detail.getId());
List<OrderAttachmentRecord> orderAttachmentRecordList = orderAttachmentRecordService.selectOrderAttachmentRecordList(param); List<OrderAttachmentRecord> orderAttachmentRecordList = orderAttachmentRecordService.selectOrderAttachmentRecordList(param);
BigDecimal addMoneyTotal= BigDecimal.ZERO; BigDecimal addMoneyTotal = BigDecimal.ZERO;
String addMoneyRemark=null; String addMoneyRemark = null;
for (FinancialChangeRecord financialChangeRecord:financialChangeRecords){ for (FinancialChangeRecord financialChangeRecord : financialChangeRecords) {
addMoneyTotal= addMoneyTotal.add(financialChangeRecord.getChangeMoney()); addMoneyTotal = addMoneyTotal.add(financialChangeRecord.getChangeMoney());
if (StringUtils.isNotEmpty(financialChangeRecord.getRemark())){ if (StringUtils.isNotEmpty(financialChangeRecord.getRemark())) {
addMoneyRemark=financialChangeRecord.getRemark(); addMoneyRemark = financialChangeRecord.getRemark();
} }
OrderAttachmentRecord param1 = new OrderAttachmentRecord(); OrderAttachmentRecord param1 = new OrderAttachmentRecord();
param1.setFinancialChangeRecordId(financialChangeRecord.getId()); param1.setFinancialChangeRecordId(financialChangeRecord.getId());
BigDecimal attachmentMoney= BigDecimal.ZERO; BigDecimal attachmentMoney = BigDecimal.ZERO;
List<OrderAttachmentRecord> orderAttachmentRecords=orderAttachmentRecordService.selectOrderAttachmentRecordList(param1); List<OrderAttachmentRecord> orderAttachmentRecords = orderAttachmentRecordService.selectOrderAttachmentRecordList(param1);
logger.info("参数传递{},配件的金额查询为{}",orderAttachmentRecords,param1); logger.info("参数传递{},配件的金额查询为{}", orderAttachmentRecords, param1);
if(orderAttachmentRecords!=null&&orderAttachmentRecords.size()>0){ if (orderAttachmentRecords != null && orderAttachmentRecords.size() > 0) {
attachmentMoney= attachmentMoney.add(orderAttachmentRecords.get(0).getAttachMoney()); attachmentMoney = attachmentMoney.add(orderAttachmentRecords.get(0).getAttachMoney());
financialChangeRecord.setAttachmentMoney(attachmentMoney); financialChangeRecord.setAttachmentMoney(attachmentMoney);
logger.info("配件的金为{}",attachmentMoney); logger.info("配件的金为{}", attachmentMoney);
} }
} }
for (OrderAttachmentRecord orderAttachmentRecord:orderAttachmentRecordList){ for (OrderAttachmentRecord orderAttachmentRecord : orderAttachmentRecordList) {
addMoneyTotal= addMoneyTotal.add(orderAttachmentRecord.getAttachMoney()); addMoneyTotal = addMoneyTotal.add(orderAttachmentRecord.getAttachMoney());
} }
logger.info("所有的加价订单{}",financialChangeRecords); logger.info("所有的加价订单{}", financialChangeRecords);
Shop shop = shopService.getShop(goods.getShopId());
Shop shop=shopService.getShop(goods.getShopId());
// 计算主单地址与店铺的距离 // 计算主单地址与店铺的距离
shop = calculateShopDistance(orderMaster, shop); shop = calculateShopDistance(orderMaster, shop);
orderListResponse.setShop(shop); orderListResponse.setShop(shop);
// 编辑返回属性 // 编辑返回属性
orderListResponse.setTrackingNumber(detail.getTrackingNumber()); orderListResponse.setTrackingNumber(detail.getTrackingNumber());
@ -548,13 +548,13 @@ public class OrderDetailController extends BaseController {
orderListResponse.setMasterWorkerName(masterWorkerName); orderListResponse.setMasterWorkerName(masterWorkerName);
orderListResponse.setMasterCompanyName(masterCompanyName); orderListResponse.setMasterCompanyName(masterCompanyName);
orderListResponse.setMasterWorkerPhone(masterWorker == null ? "" : masterWorker.getPhone()); orderListResponse.setMasterWorkerPhone(masterWorker == null ? "" : masterWorker.getPhone());
orderListResponse.setCustomerName(org.apache.commons.lang3.StringUtils.isNotEmpty(orderMaster.getName())?orderMaster.getName():customerAddress.getName()); orderListResponse.setCustomerName(org.apache.commons.lang3.StringUtils.isNotEmpty(orderMaster.getName()) ? orderMaster.getName() : customerAddress.getName());
orderListResponse.setCustomerPhone(org.apache.commons.lang3.StringUtils.isNotEmpty(orderMaster.getPhone())?orderMaster.getPhone():customerAddress.getPhone()); orderListResponse.setCustomerPhone(org.apache.commons.lang3.StringUtils.isNotEmpty(orderMaster.getPhone()) ? orderMaster.getPhone() : customerAddress.getPhone());
orderListResponse.setOrderStatus(detail.getOrderStatus()); orderListResponse.setOrderStatus(detail.getOrderStatus());
orderListResponse.setPayStatus(orderMaster.getPayStatus()); orderListResponse.setPayStatus(orderMaster.getPayStatus());
orderListResponse.setPayType(orderMaster.getPayType()); orderListResponse.setPayType(orderMaster.getPayType());
orderListResponse.setStandardList(standardList); orderListResponse.setStandardList(standardList);
orderListResponse.setAddress(StringUtils.isNotEmpty(orderMaster.getAddress())?orderMaster.getAddress():completeAddress); orderListResponse.setAddress(StringUtils.isNotEmpty(orderMaster.getAddress()) ? orderMaster.getAddress() : completeAddress);
orderListResponse.setServerTime(detail.getRevTime()); orderListResponse.setServerTime(detail.getRevTime());
orderListResponse.setExpectTimeStart(detail.getExpectTimeStart()); orderListResponse.setExpectTimeStart(detail.getExpectTimeStart());
orderListResponse.setExpectTimeEnd(detail.getExpectTimeEnd()); orderListResponse.setExpectTimeEnd(detail.getExpectTimeEnd());
@ -585,11 +585,13 @@ public class OrderDetailController extends BaseController {
orderListResponse.setName(orderMaster.getName()); orderListResponse.setName(orderMaster.getName());
String addressSysArea = sysArea.getMergerName(); String addressSysArea = sysArea.getMergerName();
String[] array = addressSysArea.split(","); String[] array = addressSysArea.split(",");
if (org.apache.commons.lang3.StringUtils.isEmpty(orderMaster.getProvinceName())){ if (org.apache.commons.lang3.StringUtils.isEmpty(orderMaster.getProvinceName())) {
orderListResponse.setProvinceName(array[0]); orderListResponse.setProvinceName(array[0]);
orderListResponse.setCityName(array[1]); orderListResponse.setCityName(array[1]);
orderListResponse.setCountryName(array[2]); orderListResponse.setCountryName(array[2]);
orderListResponse.setStreetName(array[3]); if (array.length > 3) {
orderListResponse.setStreetName(array[3]);
}
orderListResponse.setProvinceId(customerAddress.getProvinceId()); orderListResponse.setProvinceId(customerAddress.getProvinceId());
orderListResponse.setCityId(customerAddress.getCityId()); orderListResponse.setCityId(customerAddress.getCityId());
orderListResponse.setCountryId(customerAddress.getCountryId()); orderListResponse.setCountryId(customerAddress.getCountryId());
@ -597,14 +599,14 @@ public class OrderDetailController extends BaseController {
orderListResponse.setPhone(customerAddress.getPhone()); orderListResponse.setPhone(customerAddress.getPhone());
orderListResponse.setName(customerAddress.getName()); orderListResponse.setName(customerAddress.getName());
} }
if(orderMaster.getInsuranceId() != null){ if (orderMaster.getInsuranceId() != null) {
InsuranceManager manager = insuranceManagerService.selectInsuranceManagerById(orderMaster.getInsuranceId()); InsuranceManager manager = insuranceManagerService.selectInsuranceManagerById(orderMaster.getInsuranceId());
if(manager != null){ if (manager != null) {
orderListResponse.setInsuranceManager(manager); orderListResponse.setInsuranceManager(manager);
} }
} }
if(!CollectionUtils.isEmpty(financialChangeRecords)){ if (!CollectionUtils.isEmpty(financialChangeRecords)) {
BigDecimal totalAdd = financialChangeRecords.stream() BigDecimal totalAdd = financialChangeRecords.stream()
.filter(record -> record.getPayStatus() == 1) // 筛选 paystatus == 1 的记录 .filter(record -> record.getPayStatus() == 1) // 筛选 paystatus == 1 的记录
.map(FinancialChangeRecord::getChangeMoney) // 提取 changeMoney .map(FinancialChangeRecord::getChangeMoney) // 提取 changeMoney
@ -654,32 +656,32 @@ public class OrderDetailController extends BaseController {
masterFee = totalAdd.multiply(teamRete).setScale(2, RoundingMode.UP); masterFee = totalAdd.multiply(teamRete).setScale(2, RoundingMode.UP);
} }
// 如果是大师傅自己接单,则不需要抽成 // 如果是大师傅自己接单,则不需要抽成
if(detail.getWorkerId().equals(orderMaster.getWorkerId())){ if (detail.getWorkerId().equals(orderMaster.getWorkerId())) {
masterFee = BigDecimal.ZERO; masterFee = BigDecimal.ZERO;
} }
// 上门师傅应得加价的报酬 // 上门师傅应得加价的报酬
BigDecimal workerFee = financialChangeRecords.stream() BigDecimal workerFee = financialChangeRecords.stream()
.filter(record -> record != null && record.getPayStatus() == 1) .filter(record -> record != null && record.getPayStatus() == 1)
.map(record -> { .map(record -> {
BigDecimal money = record.getWorkerMoney(); BigDecimal money = record.getWorkerMoney();
return money != null ? money : BigDecimal.ZERO; // 处理 getWorkerMoney() 返回 null 的情况 return money != null ? money : BigDecimal.ZERO; // 处理 getWorkerMoney() 返回 null 的情况
}).reduce(BigDecimal.ZERO, BigDecimal::add); }).reduce(BigDecimal.ZERO, BigDecimal::add);
OrderAttachmentRecord orderAttachmentRecord=new OrderAttachmentRecord(); OrderAttachmentRecord orderAttachmentRecord = new OrderAttachmentRecord();
orderAttachmentRecord.setOrderDetailId(detail.getId()); orderAttachmentRecord.setOrderDetailId(detail.getId());
List<OrderAttachmentRecord> orderAttachmentRecords=orderAttachmentRecordService.selectOrderAttachmentRecordList(orderAttachmentRecord); List<OrderAttachmentRecord> orderAttachmentRecords = orderAttachmentRecordService.selectOrderAttachmentRecordList(orderAttachmentRecord);
//配件费的实际获取金额计算费率 //配件费的实际获取金额计算费率
BigDecimal rate = BigDecimal.valueOf(0.99); BigDecimal rate = BigDecimal.valueOf(0.99);
List<FinancialChangeRecord> changeRecords= financialChangeRecords.stream() List<FinancialChangeRecord> changeRecords = financialChangeRecords.stream()
.filter(record -> record.getPayStatus() == 1).collect(Collectors.toList()); .filter(record -> record.getPayStatus() == 1).collect(Collectors.toList());
BigDecimal attachmentMoney=BigDecimal.ZERO; BigDecimal attachmentMoney = BigDecimal.ZERO;
if (!changeRecords.isEmpty()){ if (!changeRecords.isEmpty()) {
attachmentMoney = orderAttachmentRecords.stream() attachmentMoney = orderAttachmentRecords.stream()
.filter(record -> StringUtils.isNotEmpty(record.getPaymentId())) .filter(record -> StringUtils.isNotEmpty(record.getPaymentId()))
.map(OrderAttachmentRecord::getAttachMoney) .map(OrderAttachmentRecord::getAttachMoney)
.map(attachMoney ->attachMoney.multiply(rate).setScale(2, RoundingMode.DOWN)) .map(attachMoney -> attachMoney.multiply(rate).setScale(2, RoundingMode.DOWN))
.reduce(BigDecimal.ZERO, BigDecimal::add); .reduce(BigDecimal.ZERO, BigDecimal::add);
} }
logger.info("是否支付{}加价的金额{}配件费{}总服务金额为{}",changeRecords,workerFee,attachmentMoney,orderListResponse.getPayMoney().add(workerFee).add(attachmentMoney)); logger.info("是否支付{}加价的金额{}配件费{}总服务金额为{}", changeRecords, workerFee, attachmentMoney, orderListResponse.getPayMoney().add(workerFee).add(attachmentMoney));
orderListResponse.setPayAddMoney(orderListResponse.getPayMoney().add(workerFee).add(attachmentMoney)); orderListResponse.setPayAddMoney(orderListResponse.getPayMoney().add(workerFee).add(attachmentMoney));
} }
@ -715,7 +717,7 @@ public class OrderDetailController extends BaseController {
if (worker != null) { if (worker != null) {
// 师傅实名信息 // 师傅实名信息
workerRealInfo = workerCertificationService.selectByWorkerId(orderMaster.getWorkerId()); workerRealInfo = workerCertificationService.selectByWorkerId(orderMaster.getWorkerId());
workerName = workerRealInfo == null ? worker.getName() : workerRealInfo.getSurname()+ workerRealInfo.getName(); workerName = workerRealInfo == null ? worker.getName() : workerRealInfo.getSurname() + workerRealInfo.getName();
} }
// 消费者信息 // 消费者信息
@ -726,27 +728,27 @@ public class OrderDetailController extends BaseController {
Goods goods = goodsService.selectById(orderMaster.getGoodsId()); Goods goods = goodsService.selectById(orderMaster.getGoodsId());
// 填充商品三级类目 // 填充商品三级类目
if(goods.getDeptGoodsCategoryId() != null){ if (goods.getDeptGoodsCategoryId() != null) {
Long categoryId = null; Long categoryId = null;
// 前端发单和后台派单 // 前端发单和后台派单
if(StringUtils.isEmpty(orderMaster.getOrderMode())){ if (StringUtils.isEmpty(orderMaster.getOrderMode())) {
DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.selectOneByGoodsCategoryId(goods.getDeptGoodsCategoryId()); DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.selectOneByGoodsCategoryId(goods.getDeptGoodsCategoryId());
if(deptGoodsCategory != null){ if (deptGoodsCategory != null) {
categoryId = deptGoodsCategory.getGoodsCategoryId(); categoryId = deptGoodsCategory.getGoodsCategoryId();
} }
}else { } else {
DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.get(goods.getDeptGoodsCategoryId()); DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.get(goods.getDeptGoodsCategoryId());
if(deptGoodsCategory != null){ if (deptGoodsCategory != null) {
categoryId = deptGoodsCategory.getGoodsCategoryId(); categoryId = deptGoodsCategory.getGoodsCategoryId();
} }
} }
if(categoryId != null){ if (categoryId != null) {
GoodsCategory one = goodsCategoryService.selectById(categoryId); GoodsCategory one = goodsCategoryService.selectById(categoryId);
if(one != null && one.getParentCategoryId() != null){ if (one != null && one.getParentCategoryId() != null) {
GoodsCategory two = goodsCategoryService.selectById(one.getParentCategoryId()); GoodsCategory two = goodsCategoryService.selectById(one.getParentCategoryId());
if(two != null && two.getParentCategoryId() != null){ if (two != null && two.getParentCategoryId() != null) {
GoodsCategory three = goodsCategoryService.selectById(two.getParentCategoryId()); GoodsCategory three = goodsCategoryService.selectById(two.getParentCategoryId());
if(three != null){ if (three != null) {
goods.setGoodsName(three.getGoodsCategoryName() goods.setGoodsName(three.getGoodsCategoryName()
+ "-" + two.getGoodsCategoryName() + "-" + two.getGoodsCategoryName()
+ "-" + one.getGoodsCategoryName()); + "-" + one.getGoodsCategoryName());
@ -766,9 +768,9 @@ public class OrderDetailController extends BaseController {
// 地址信息 // 地址信息
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId()); CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId());
SysArea sysArea; SysArea sysArea;
if(customerAddress.getStreetId()!=null){ if (customerAddress.getStreetId() != null) {
sysArea = sysAreaService.selectById(customerAddress.getStreetId()); sysArea = sysAreaService.selectById(customerAddress.getStreetId());
}else { } else {
sysArea = sysAreaService.selectById(customerAddress.getCountryId()); sysArea = sysAreaService.selectById(customerAddress.getCountryId());
} }
String completeAddress = sysArea.getMergerName().replaceAll(",", "") + customerAddress.getAddress(); String completeAddress = sysArea.getMergerName().replaceAll(",", "") + customerAddress.getAddress();
@ -824,13 +826,13 @@ public class OrderDetailController extends BaseController {
orderListResponse.setMasterWorkerId(masterWorker.getWorkerId()); orderListResponse.setMasterWorkerId(masterWorker.getWorkerId());
orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone()); orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone());
orderListResponse.setMasterWorkerName(masterWorker.getName()); orderListResponse.setMasterWorkerName(masterWorker.getName());
orderListResponse.setCustomerName(org.apache.commons.lang3.StringUtils.isNotEmpty(orderMaster.getName())?orderMaster.getName():customerAddress.getName()); orderListResponse.setCustomerName(org.apache.commons.lang3.StringUtils.isNotEmpty(orderMaster.getName()) ? orderMaster.getName() : customerAddress.getName());
orderListResponse.setCustomerPhone(org.apache.commons.lang3.StringUtils.isNotEmpty(orderMaster.getPhone())?orderMaster.getPhone():customerAddress.getPhone()); orderListResponse.setCustomerPhone(org.apache.commons.lang3.StringUtils.isNotEmpty(orderMaster.getPhone()) ? orderMaster.getPhone() : customerAddress.getPhone());
orderListResponse.setOrderStatus(detail.getOrderStatus()); orderListResponse.setOrderStatus(detail.getOrderStatus());
orderListResponse.setPayStatus(orderMaster.getPayStatus()); orderListResponse.setPayStatus(orderMaster.getPayStatus());
orderListResponse.setPayType(orderMaster.getPayType()); orderListResponse.setPayType(orderMaster.getPayType());
orderListResponse.setStandardList(standardList); orderListResponse.setStandardList(standardList);
orderListResponse.setAddress(StringUtils.isNotEmpty(orderMaster.getAddress())?orderMaster.getAddress():completeAddress); orderListResponse.setAddress(StringUtils.isNotEmpty(orderMaster.getAddress()) ? orderMaster.getAddress() : completeAddress);
orderListResponse.setServerTime(detail.getRevTime()); orderListResponse.setServerTime(detail.getRevTime());
orderListResponse.setExpectTimeStart(detail.getExpectTimeStart()); orderListResponse.setExpectTimeStart(detail.getExpectTimeStart());
orderListResponse.setExpectTimeEnd(detail.getExpectTimeEnd()); orderListResponse.setExpectTimeEnd(detail.getExpectTimeEnd());
@ -868,11 +870,11 @@ public class OrderDetailController extends BaseController {
orderListResponse.setName(orderMaster.getName()); orderListResponse.setName(orderMaster.getName());
String addressSysArea = sysArea.getMergerName(); String addressSysArea = sysArea.getMergerName();
String[] array = addressSysArea.split(","); String[] array = addressSysArea.split(",");
if (org.apache.commons.lang3.StringUtils.isEmpty(orderMaster.getProvinceName())){ if (org.apache.commons.lang3.StringUtils.isEmpty(orderMaster.getProvinceName())) {
orderListResponse.setProvinceName(array[0]); orderListResponse.setProvinceName(array[0]);
orderListResponse.setCityName(array[1]); orderListResponse.setCityName(array[1]);
orderListResponse.setCountryName(array[2]); orderListResponse.setCountryName(array[2]);
if (array.length>3){ if (array.length > 3) {
orderListResponse.setStreetName(array[3]); orderListResponse.setStreetName(array[3]);
} }
orderListResponse.setProvinceId(customerAddress.getProvinceId()); orderListResponse.setProvinceId(customerAddress.getProvinceId());
@ -882,9 +884,9 @@ public class OrderDetailController extends BaseController {
orderListResponse.setPhone(customerAddress.getPhone()); orderListResponse.setPhone(customerAddress.getPhone());
orderListResponse.setName(customerAddress.getName()); orderListResponse.setName(customerAddress.getName());
} }
if(orderMaster.getInsuranceId() != null){ if (orderMaster.getInsuranceId() != null) {
InsuranceManager manager = insuranceManagerService.selectInsuranceManagerById(orderMaster.getInsuranceId()); InsuranceManager manager = insuranceManagerService.selectInsuranceManagerById(orderMaster.getInsuranceId());
if(manager != null){ if (manager != null) {
orderListResponse.setInsuranceManager(manager); orderListResponse.setInsuranceManager(manager);
} }
} }
@ -930,7 +932,7 @@ public class OrderDetailController extends BaseController {
if (worker != null) { if (worker != null) {
// 师傅实名信息 // 师傅实名信息
workerRealInfo = workerCertificationService.selectByWorkerId(orderMaster.getWorkerId()); workerRealInfo = workerCertificationService.selectByWorkerId(orderMaster.getWorkerId());
workerName = workerRealInfo == null ? worker.getName() : workerRealInfo.getSurname()+ workerRealInfo.getName(); workerName = workerRealInfo == null ? worker.getName() : workerRealInfo.getSurname() + workerRealInfo.getName();
} }
// 消费者信息 // 消费者信息
@ -962,9 +964,9 @@ public class OrderDetailController extends BaseController {
// 地址信息 // 地址信息
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId()); CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId());
SysArea sysArea; SysArea sysArea;
if(customerAddress.getStreetId()!=null){ if (customerAddress.getStreetId() != null) {
sysArea = sysAreaService.selectById(customerAddress.getStreetId()); sysArea = sysAreaService.selectById(customerAddress.getStreetId());
}else { } else {
sysArea = sysAreaService.selectById(customerAddress.getCountryId()); sysArea = sysAreaService.selectById(customerAddress.getCountryId());
} }
String completeAddress = sysArea.getMergerName().replaceAll(",", "") + customerAddress.getAddress(); String completeAddress = sysArea.getMergerName().replaceAll(",", "") + customerAddress.getAddress();
@ -1015,13 +1017,13 @@ public class OrderDetailController extends BaseController {
orderListResponse.setTotalMoney(financialDetail.getTotalMoney()); orderListResponse.setTotalMoney(financialDetail.getTotalMoney());
orderListResponse.setWorkerName(workerName); orderListResponse.setWorkerName(workerName);
orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone()); orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone());
orderListResponse.setCustomerName(org.apache.commons.lang3.StringUtils.isNotEmpty(orderMaster.getName())?orderMaster.getName():customerAddress.getName()); orderListResponse.setCustomerName(org.apache.commons.lang3.StringUtils.isNotEmpty(orderMaster.getName()) ? orderMaster.getName() : customerAddress.getName());
orderListResponse.setCustomerPhone(org.apache.commons.lang3.StringUtils.isNotEmpty(orderMaster.getPhone())?orderMaster.getPhone():customerAddress.getPhone()); orderListResponse.setCustomerPhone(org.apache.commons.lang3.StringUtils.isNotEmpty(orderMaster.getPhone()) ? orderMaster.getPhone() : customerAddress.getPhone());
orderListResponse.setOrderStatus(detail.getOrderStatus()); orderListResponse.setOrderStatus(detail.getOrderStatus());
orderListResponse.setPayStatus(orderMaster.getPayStatus()); orderListResponse.setPayStatus(orderMaster.getPayStatus());
orderListResponse.setPayType(orderMaster.getPayType()); orderListResponse.setPayType(orderMaster.getPayType());
orderListResponse.setStandardList(standardList); orderListResponse.setStandardList(standardList);
orderListResponse.setAddress(StringUtils.isNotEmpty(orderMaster.getAddress())?orderMaster.getAddress():completeAddress); orderListResponse.setAddress(StringUtils.isNotEmpty(orderMaster.getAddress()) ? orderMaster.getAddress() : completeAddress);
orderListResponse.setServerTime(detail.getRevTime()); orderListResponse.setServerTime(detail.getRevTime());
orderListResponse.setExpectTimeStart(detail.getExpectTimeStart()); orderListResponse.setExpectTimeStart(detail.getExpectTimeStart());
orderListResponse.setExpectTimeEnd(detail.getExpectTimeEnd()); orderListResponse.setExpectTimeEnd(detail.getExpectTimeEnd());
@ -1048,11 +1050,13 @@ public class OrderDetailController extends BaseController {
orderListResponse.setName(orderMaster.getName()); orderListResponse.setName(orderMaster.getName());
String addressSysArea = sysArea.getMergerName(); String addressSysArea = sysArea.getMergerName();
String[] array = addressSysArea.split(","); String[] array = addressSysArea.split(",");
if (org.apache.commons.lang3.StringUtils.isEmpty(orderMaster.getProvinceName())){ if (org.apache.commons.lang3.StringUtils.isEmpty(orderMaster.getProvinceName())) {
orderListResponse.setProvinceName(array[0]); orderListResponse.setProvinceName(array[0]);
orderListResponse.setCityName(array[1]); orderListResponse.setCityName(array[1]);
orderListResponse.setCountryName(array[2]); orderListResponse.setCountryName(array[2]);
orderListResponse.setStreetName(array[3]); if (array.length > 3) {
orderListResponse.setStreetName(array[3]);
}
orderListResponse.setProvinceId(customerAddress.getProvinceId()); orderListResponse.setProvinceId(customerAddress.getProvinceId());
orderListResponse.setCityId(customerAddress.getCityId()); orderListResponse.setCityId(customerAddress.getCityId());
orderListResponse.setCountryId(customerAddress.getCountryId()); orderListResponse.setCountryId(customerAddress.getCountryId());
@ -1144,7 +1148,7 @@ public class OrderDetailController extends BaseController {
// 更新订单状态为上门 // 更新订单状态为上门
try { try {
insuranceService.clockInsurance(model.getId()); insuranceService.clockInsurance(model.getId());
}catch (Exception e){ } catch (Exception e) {
logger.error("订单上门返回异常:{}", e.getMessage()); logger.error("订单上门返回异常:{}", e.getMessage());
e.printStackTrace(); e.printStackTrace();
} }
@ -1279,7 +1283,7 @@ public class OrderDetailController extends BaseController {
updateOrderDetail.setWorkFinishTime(workFinishTime); updateOrderDetail.setWorkFinishTime(workFinishTime);
updateOrderDetail.setOrderStatus(OrderStatus.FINISH_CHECK.code()); updateOrderDetail.setOrderStatus(OrderStatus.FINISH_CHECK.code());
updateOrderDetail.setRemark(request.getRemark()); updateOrderDetail.setRemark(request.getRemark());
// 查询订单商品对应的类目倒计时小时数计算分账倒计时结束时间 // 查询订单商品对应的类目倒计时小时数计算分账倒计时结束时间
try { try {
List<OrderGoods> orderGoodsList = orderGoodsService.selectByOrderDetailId(request.getOrderDetailId()); List<OrderGoods> orderGoodsList = orderGoodsService.selectByOrderDetailId(request.getOrderDetailId());
@ -1294,11 +1298,11 @@ public class OrderDetailController extends BaseController {
// 计算分账倒计时结束时间workFinishTime + 倒计时小时数 // 计算分账倒计时结束时间workFinishTime + 倒计时小时数
long countdownMillis = countdownHours * 60 * 60 * 1000L; long countdownMillis = countdownHours * 60 * 60 * 1000L;
Date shareAccountCountdownEndTime = new Date(workFinishTime.getTime() + countdownMillis); Date shareAccountCountdownEndTime = new Date(workFinishTime.getTime() + countdownMillis);
updateOrderDetail.setShareAccountCountdownEndTime(shareAccountCountdownEndTime); updateOrderDetail.setShareAccountCountdownEndTime(shareAccountCountdownEndTime);
updateOrderDetail.setShareAccountCountdownDuration(countdownHours); updateOrderDetail.setShareAccountCountdownDuration(countdownHours);
logger.info("订单[{}]设置分账倒计时:完单时间={}, 倒计时小时数={}, 分账倒计时结束时间={}", logger.info("订单[{}]设置分账倒计时:完单时间={}, 倒计时小时数={}, 分账倒计时结束时间={}",
request.getOrderDetailId(), workFinishTime, countdownHours, shareAccountCountdownEndTime); request.getOrderDetailId(), workFinishTime, countdownHours, shareAccountCountdownEndTime);
} else { } else {
logger.warn("订单[{}]未找到类目倒计时小时数配置,跳过分账倒计时设置", request.getOrderDetailId()); logger.warn("订单[{}]未找到类目倒计时小时数配置,跳过分账倒计时设置", request.getOrderDetailId());
@ -1308,7 +1312,7 @@ public class OrderDetailController extends BaseController {
} catch (Exception e) { } catch (Exception e) {
logger.error("设置分账倒计时失败订单ID{}", request.getOrderDetailId(), e); logger.error("设置分账倒计时失败订单ID{}", request.getOrderDetailId(), e);
} }
int affectedRow = orderDetailService.updateOrderDetail(updateOrderDetail); int affectedRow = orderDetailService.updateOrderDetail(updateOrderDetail);
Assert.isTrue(affectedRow == 1, "子订单修改失败orderDetail=" + orderDetail); Assert.isTrue(affectedRow == 1, "子订单修改失败orderDetail=" + orderDetail);
@ -1351,7 +1355,7 @@ public class OrderDetailController extends BaseController {
orderDetail.setTimeout(0); orderDetail.setTimeout(0);
} }
int i = orderDetailService.updateOrderDetail(orderDetail); int i = orderDetailService.updateOrderDetail(orderDetail);
if(i > 0){ if (i > 0) {
OrderCallRecord param = new OrderCallRecord(); OrderCallRecord param = new OrderCallRecord();
param.setOrderId(orderDetail.getId()); param.setOrderId(orderDetail.getId());
param.setCallTime(new Date()); param.setCallTime(new Date());
@ -1397,19 +1401,19 @@ public class OrderDetailController extends BaseController {
OrderAttachmentRecord orderAttachmentRecord = new OrderAttachmentRecord(); OrderAttachmentRecord orderAttachmentRecord = new OrderAttachmentRecord();
orderAttachmentRecord.setFinancialChangeRecordId(fcr.getId()); orderAttachmentRecord.setFinancialChangeRecordId(fcr.getId());
List<OrderAttachmentRecord> orderAttachmentRecords = orderAttachmentRecordService.selectOrderAttachmentRecordList(orderAttachmentRecord); List<OrderAttachmentRecord> orderAttachmentRecords = orderAttachmentRecordService.selectOrderAttachmentRecordList(orderAttachmentRecord);
// 创建一个定时任务延迟1分钟后执行退款操作 // 创建一个定时任务延迟1分钟后执行退款操作
ScheduledExecutorService scheduledExecutor = Executors.newScheduledThreadPool(1); ScheduledExecutorService scheduledExecutor = Executors.newScheduledThreadPool(1);
scheduledExecutor.schedule(() -> { scheduledExecutor.schedule(() -> {
for (OrderAttachmentRecord orderAttachmentRecord1 : orderAttachmentRecords) { for (OrderAttachmentRecord orderAttachmentRecord1 : orderAttachmentRecords) {
executor.execute(() -> { executor.execute(() -> {
try { try {
JSONObject response = adapayService.payReverse(om.getDeptId(), orderAttachmentRecord1.getPaymentId(), JSONObject response = adapayService.payReverse(om.getDeptId(), orderAttachmentRecord1.getPaymentId(),
String.valueOf(orderAttachmentRecord1.getAttachMoney()), RefundType.RCG); String.valueOf(orderAttachmentRecord1.getAttachMoney()), RefundType.RCG);
logger.info("配件退款成功: paymentId={}, amount={}response{}", orderAttachmentRecord1.getPaymentId(), orderAttachmentRecord1.getAttachMoney(),response); logger.info("配件退款成功: paymentId={}, amount={}response{}", orderAttachmentRecord1.getPaymentId(), orderAttachmentRecord1.getAttachMoney(), response);
} catch (BaseAdaPayException e) { } catch (BaseAdaPayException e) {
logger.error("配件退款失败: paymentId={}, amount={}, error={}", logger.error("配件退款失败: paymentId={}, amount={}, error={}",
orderAttachmentRecord1.getPaymentId(), orderAttachmentRecord1.getAttachMoney(), e.getMessage(), e); orderAttachmentRecord1.getPaymentId(), orderAttachmentRecord1.getAttachMoney(), e.getMessage(), e);
} }
}); });
} }
@ -1437,8 +1441,8 @@ public class OrderDetailController extends BaseController {
orderMaster2Update.setOrderStatus(OrderStatus.PLAIN.code()); orderMaster2Update.setOrderStatus(OrderStatus.PLAIN.code());
// 查询是否还有派单记录没有的话需要重置主单是否自己承接的字段为NULL // 查询是否还有派单记录没有的话需要重置主单是否自己承接的字段为NULL
// List<OrderGoods> existOrderGoods = orderGoodsService.selectByOrderMasterId(od.getOrderMasterId()); // List<OrderGoods> existOrderGoods = orderGoodsService.selectByOrderMasterId(od.getOrderMasterId());
List<OrderDetail> orderDetailList=orderDetailService.selectByOrderMasterId(od.getOrderMasterId()); List<OrderDetail> orderDetailList = orderDetailService.selectByOrderMasterId(od.getOrderMasterId());
if (CollectionUtils.isEmpty(orderDetailList)) { if (CollectionUtils.isEmpty(orderDetailList)) {
orderMaster2Update.setResetAllSelfAssigned(true); orderMaster2Update.setResetAllSelfAssigned(true);
} }
// 更新主单是否全部派完 // 更新主单是否全部派完
@ -1452,10 +1456,10 @@ public class OrderDetailController extends BaseController {
orderBehaviorService.insert(orderBehavior); orderBehaviorService.insert(orderBehavior);
// 拒单 // 拒单
logger.info("师傅资料{}",masterWorker); logger.info("师傅资料{}", masterWorker);
WorkerCertification workerRealInfo = workerCertificationService.selectByWorkerId(od.getWorkerId()); WorkerCertification workerRealInfo = workerCertificationService.selectByWorkerId(od.getWorkerId());
logger.info("认证师傅资料{}",workerRealInfo); logger.info("认证师傅资料{}", workerRealInfo);
try { try {
// 推送公众号通知数据 // 推送公众号通知数据
// 消息组装 // 消息组装
@ -1467,7 +1471,7 @@ public class OrderDetailController extends BaseController {
CustomerAddress address = addressService.selectByCustomerAddressId(om.getAddressId()); CustomerAddress address = addressService.selectByCustomerAddressId(om.getAddressId());
//拒单人员 //拒单人员
paramsNew.put("thing13",workerRealInfo.getSurname()+ workerRealInfo.getName()); paramsNew.put("thing13", workerRealInfo.getSurname() + workerRealInfo.getName());
paramsNew.put("thing7", address.getName()); paramsNew.put("thing7", address.getName());
// 预约时间 // 预约时间
paramsNew.put("time5", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", new Date())); paramsNew.put("time5", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", new Date()));
@ -1484,7 +1488,7 @@ public class OrderDetailController extends BaseController {
public AjaxResult changePrice(@Valid @RequestBody OrderChangePriceRequest request) { public AjaxResult changePrice(@Valid @RequestBody OrderChangePriceRequest request) {
try { try {
Assert.notNull(request.getChangeMoney(), "报价不能为空"); Assert.notNull(request.getChangeMoney(), "报价不能为空");
return toAjax(orderDetailService.changePrice(request.getOrderDetailId(), request.getChangeMoney(), request.getType(), request.getRemark(),request.getUrls(),request.getFileNames(),request.getReason())); return toAjax(orderDetailService.changePrice(request.getOrderDetailId(), request.getChangeMoney(), request.getType(), request.getRemark(), request.getUrls(), request.getFileNames(), request.getReason()));
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
logger.error(ExceptionUtil.getExceptionMessage(e)); logger.error(ExceptionUtil.getExceptionMessage(e));
@ -1551,24 +1555,24 @@ public class OrderDetailController extends BaseController {
@GetMapping("/count") @GetMapping("/count")
@ResponseBody @ResponseBody
public AjaxResult orderDetailCount(OrderDetail orderDetail) { public AjaxResult orderDetailCount(OrderDetail orderDetail) {
if(StringUtils.isNotEmpty(orderDetail.getWorkerName()) || StringUtils.isNotEmpty(orderDetail.getWorkerPhone())){ if (StringUtils.isNotEmpty(orderDetail.getWorkerName()) || StringUtils.isNotEmpty(orderDetail.getWorkerPhone())) {
Worker param = new Worker(); Worker param = new Worker();
param.setName(orderDetail.getWorkerName()); param.setName(orderDetail.getWorkerName());
param.setPhone(orderDetail.getWorkerPhone()); param.setPhone(orderDetail.getWorkerPhone());
List<Worker> workList = workerService.getWorkList(param); List<Worker> workList = workerService.getWorkList(param);
List<Long> ids = workList.stream().map(Worker::getWorkerId).collect(Collectors.toList()); List<Long> ids = workList.stream().map(Worker::getWorkerId).collect(Collectors.toList());
orderDetail.setWorkerIds(ids); orderDetail.setWorkerIds(ids);
if(CollectionUtils.isEmpty(ids)){ if (CollectionUtils.isEmpty(ids)) {
return AjaxResult.success(0); return AjaxResult.success(0);
} }
} }
if(orderDetail.getSysPayStatus() != null){ if (orderDetail.getSysPayStatus() != null) {
FinancialMaster param = new FinancialMaster(); FinancialMaster param = new FinancialMaster();
param.setPayStatus(orderDetail.getSysPayStatus()); param.setPayStatus(orderDetail.getSysPayStatus());
List<FinancialMaster> financialMasters = financialMasterService.selectFinancialMasterList(param); List<FinancialMaster> financialMasters = financialMasterService.selectFinancialMasterList(param);
List<Long> masterIds = financialMasters.stream().map(FinancialMaster::getOrderMasterId).collect(Collectors.toList()); List<Long> masterIds = financialMasters.stream().map(FinancialMaster::getOrderMasterId).collect(Collectors.toList());
orderDetail.setMasterIds(masterIds); orderDetail.setMasterIds(masterIds);
if(CollectionUtils.isEmpty(masterIds)){ if (CollectionUtils.isEmpty(masterIds)) {
return AjaxResult.success(0); return AjaxResult.success(0);
} }
} }
@ -1589,15 +1593,15 @@ public class OrderDetailController extends BaseController {
public AjaxResult countAfterDisputeList(OrderDetail orderDetail) { public AjaxResult countAfterDisputeList(OrderDetail orderDetail) {
try { try {
logger.info("查询子单售后纠纷数量"); logger.info("查询子单售后纠纷数量");
// 设置查询条件售后纠纷状态 // 设置查询条件售后纠纷状态
orderDetail.setAfterServiceStatus(1); orderDetail.setAfterServiceStatus(1);
// 设置部门权限 // 设置部门权限
if (this.getSysUser().getDept().getParentId() != 101) { if (this.getSysUser().getDept().getParentId() != 101) {
orderDetail.setDeptId(this.getSysUser().getDept().getParentId()); orderDetail.setDeptId(this.getSysUser().getDept().getParentId());
} }
return AjaxResult.success(orderDetailService.countOrderDetailList(orderDetail)); return AjaxResult.success(orderDetailService.countOrderDetailList(orderDetail));
} catch (Exception e) { } catch (Exception e) {
logger.error("查询子单售后纠纷数量异常", e); logger.error("查询子单售后纠纷数量异常", e);
@ -1610,17 +1614,17 @@ public class OrderDetailController extends BaseController {
public AjaxResult getAfterServiceRecordsByDetailId(Long orderDetailId) { public AjaxResult getAfterServiceRecordsByDetailId(Long orderDetailId) {
try { try {
logger.info("查询子单[{}]的售后纠纷记录", orderDetailId); logger.info("查询子单[{}]的售后纠纷记录", orderDetailId);
// 直接查询该子单的售后纠纷记录 // 直接查询该子单的售后纠纷记录
AfterServiceRecord queryRecord = new AfterServiceRecord(); AfterServiceRecord queryRecord = new AfterServiceRecord();
queryRecord.setOrderDetailId(orderDetailId); queryRecord.setOrderDetailId(orderDetailId);
queryRecord.setCustomerFinalCheck(0L); // 客户不同意 queryRecord.setCustomerFinalCheck(0L); // 客户不同意
queryRecord.setExcludeAfterServiceFinished(Boolean.TRUE); // 排除已完成的售后 queryRecord.setExcludeAfterServiceFinished(Boolean.TRUE); // 排除已完成的售后
List<AfterServiceRecord> disputeRecords = afterServiceRecordService.selectAfterServiceRecordList(queryRecord); List<AfterServiceRecord> disputeRecords = afterServiceRecordService.selectAfterServiceRecordList(queryRecord);
logger.info("子单[{}]找到{}条售后纠纷记录", orderDetailId, disputeRecords.size()); logger.info("子单[{}]找到{}条售后纠纷记录", orderDetailId, disputeRecords.size());
// 为每个售后记录添加子单信息 // 为每个售后记录添加子单信息
OrderDetail detail = orderDetailService.selectById(orderDetailId); OrderDetail detail = orderDetailService.selectById(orderDetailId);
if (detail != null) { if (detail != null) {
@ -1630,7 +1634,7 @@ public class OrderDetailController extends BaseController {
} }
return AjaxResult.success(disputeRecords); return AjaxResult.success(disputeRecords);
} catch (Exception e) { } catch (Exception e) {
logger.error("查询子单[{}]售后纠纷记录异常", orderDetailId, e); logger.error("查询子单[{}]售后纠纷记录异常", orderDetailId, e);
return AjaxResult.error("查询售后纠纷记录失败:" + e.getMessage()); return AjaxResult.error("查询售后纠纷记录失败:" + e.getMessage());
@ -1700,11 +1704,11 @@ public class OrderDetailController extends BaseController {
if (orderDetail.getWorkerRemark() == null || orderDetail.getWorkerRemark().trim().isEmpty()) { if (orderDetail.getWorkerRemark() == null || orderDetail.getWorkerRemark().trim().isEmpty()) {
return AjaxResult.error("师傅备注不能为空"); return AjaxResult.error("师傅备注不能为空");
} }
if (orderDetail.getId() == null) { if (orderDetail.getId() == null) {
return AjaxResult.error("子单ID不能为空"); return AjaxResult.error("子单ID不能为空");
} }
int result = orderDetailService.saveDetailWorkerRemark(orderDetail.getId(), orderDetail.getWorkerRemark()); int result = orderDetailService.saveDetailWorkerRemark(orderDetail.getId(), orderDetail.getWorkerRemark());
if (result > 0) { if (result > 0) {
return AjaxResult.success("子单师傅备注保存成功"); return AjaxResult.success("子单师傅备注保存成功");
@ -1719,17 +1723,18 @@ public class OrderDetailController extends BaseController {
/** /**
* 计算商家与主单地址之间的距离 * 计算商家与主单地址之间的距离
*
* @param orderMaster 主单信息 * @param orderMaster 主单信息
* @param shop 商家信息 * @param shop 商家信息
* @return 带有距离信息的商家对象 * @return 带有距离信息的商家对象
*/ */
private Shop calculateShopDistance(OrderMaster orderMaster, Shop shop) { private Shop calculateShopDistance(OrderMaster orderMaster, Shop shop) {
try { try {
// 直接使用主单地址获取经纬度 // 直接使用主单地址获取经纬度
logger.info("使用主单地址获取经纬度"); logger.info("使用主单地址获取经纬度");
StringBuilder fullAddress = new StringBuilder(); StringBuilder fullAddress = new StringBuilder();
// 构建完整地址 // 构建完整地址
if (orderMaster.getProvinceId() != null) { if (orderMaster.getProvinceId() != null) {
SysArea province = sysAreaService.selectById(orderMaster.getProvinceId()); SysArea province = sysAreaService.selectById(orderMaster.getProvinceId());
@ -1737,55 +1742,55 @@ public class OrderDetailController extends BaseController {
fullAddress.append(province.getAreaName()); fullAddress.append(province.getAreaName());
} }
} }
if (orderMaster.getCityId() != null) { if (orderMaster.getCityId() != null) {
SysArea city = sysAreaService.selectById(orderMaster.getCityId()); SysArea city = sysAreaService.selectById(orderMaster.getCityId());
if (city != null) { if (city != null) {
fullAddress.append(city.getAreaName()); fullAddress.append(city.getAreaName());
} }
} }
if (orderMaster.getCountryId() != null) { if (orderMaster.getCountryId() != null) {
SysArea area = sysAreaService.selectById(orderMaster.getCountryId()); SysArea area = sysAreaService.selectById(orderMaster.getCountryId());
if (area != null) { if (area != null) {
fullAddress.append(area.getAreaName()); fullAddress.append(area.getAreaName());
} }
} }
if (orderMaster.getStreetId() != null) { if (orderMaster.getStreetId() != null) {
SysArea street = sysAreaService.selectById(orderMaster.getStreetId()); SysArea street = sysAreaService.selectById(orderMaster.getStreetId());
if (street != null) { if (street != null) {
fullAddress.append(street.getAreaName()); fullAddress.append(street.getAreaName());
} }
} }
if (StringUtils.isNotEmpty(orderMaster.getAddress())) { if (StringUtils.isNotEmpty(orderMaster.getAddress())) {
fullAddress.append(orderMaster.getAddress()); fullAddress.append(orderMaster.getAddress());
} }
String addressStr = fullAddress.toString(); String addressStr = fullAddress.toString();
logger.info("构建的完整地址:{}", addressStr); logger.info("构建的完整地址:{}", addressStr);
if (StringUtils.isNotEmpty(addressStr)) { if (StringUtils.isNotEmpty(addressStr)) {
// 调用百度地图API获取经纬度 // 调用百度地图API获取经纬度
Map<String, Double> coordinates = baiduMapUtils.getCoordinatesByAddress(shop.getProvinceName(), shop.getCityName(), shop.getCountryName(), shop.getStreetName(), addressStr); Map<String, Double> coordinates = baiduMapUtils.getCoordinatesByAddress(shop.getProvinceName(), shop.getCityName(), shop.getCountryName(), shop.getStreetName(), addressStr);
if (coordinates != null && coordinates.containsKey("longitude") && coordinates.containsKey("latitude")) { if (coordinates != null && coordinates.containsKey("longitude") && coordinates.containsKey("latitude")) {
BigDecimal lng = new BigDecimal(coordinates.get("longitude").toString()); BigDecimal lng = new BigDecimal(coordinates.get("longitude").toString());
BigDecimal lat = new BigDecimal(coordinates.get("latitude").toString()); BigDecimal lat = new BigDecimal(coordinates.get("latitude").toString());
logger.info("通过地址获取到经纬度longitude={}, latitude={}", lng, lat); logger.info("通过地址获取到经纬度longitude={}, latitude={}", lng, lat);
// 计算距离 // 计算距离
if (shop.getLongitude() != null && shop.getLatitude() != null ) { if (shop.getLongitude() != null && shop.getLatitude() != null) {
double distance = LocationUtils.getDistanceInMeters( double distance = LocationUtils.getDistanceInMeters(
lat.doubleValue(), lat.doubleValue(),
lng.doubleValue(), lng.doubleValue(),
shop.getLatitude().doubleValue(), shop.getLatitude().doubleValue(),
shop.getLongitude().doubleValue() shop.getLongitude().doubleValue()
); );
String formattedDistance = LocationUtils.formatDistance(distance); String formattedDistance = LocationUtils.formatDistance(distance);
shop.setDistance(formattedDistance); shop.setDistance(formattedDistance);
logger.info("通过地址获取经纬度后计算距离成功,商家[{}]与主单地址距离:{}", shop.getShopName(), formattedDistance); logger.info("通过地址获取经纬度后计算距离成功,商家[{}]与主单地址距离:{}", shop.getShopName(), formattedDistance);
@ -1799,7 +1804,7 @@ public class OrderDetailController extends BaseController {
} catch (Exception e) { } catch (Exception e) {
logger.error("计算商家与主单地址距离时发生异常", e); logger.error("计算商家与主单地址距离时发生异常", e);
} }
return shop; return shop;
} }
} }

View File

@ -1628,6 +1628,7 @@ public class OrderMasterController extends BaseController {
OrderMaster orderMaster = orderMasterService.selectById(request.getId()); OrderMaster orderMaster = orderMasterService.selectById(request.getId());
List<OrderDetail> orderDetailList = orderDetailService.selectByOrderMasterId(orderMaster.getId()); List<OrderDetail> orderDetailList = orderDetailService.selectByOrderMasterId(orderMaster.getId());
Collections.reverse(orderDetailList);
List<OrderStandardDetail> orderStandardDetails = new ArrayList<>(); List<OrderStandardDetail> orderStandardDetails = new ArrayList<>();
// 财务信息 // 财务信息