处理商品类目没有的问题,增加客户是否同意上门重做方案,以及师傅重做/补做完成接口
This commit is contained in:
parent
a2a009a1e2
commit
08e5353b4e
|
|
@ -119,6 +119,7 @@ public class OrderController extends BaseController {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private ShopService shopService;
|
private ShopService shopService;
|
||||||
|
|
||||||
@GetMapping("/imgs")
|
@GetMapping("/imgs")
|
||||||
public String orderImgs(Long orderId, ModelMap mmap) {
|
public String orderImgs(Long orderId, ModelMap mmap) {
|
||||||
mmap.put("orderId", orderId);
|
mmap.put("orderId", orderId);
|
||||||
|
|
@ -425,14 +426,14 @@ public class OrderController extends BaseController {
|
||||||
od.setOrderMasterCode(om.getCode());
|
od.setOrderMasterCode(om.getCode());
|
||||||
od.setCustomerId(om.getCustomerId());
|
od.setCustomerId(om.getCustomerId());
|
||||||
od.setOrderType(om.getOrderType());
|
od.setOrderType(om.getOrderType());
|
||||||
if (request.getIsQuicklyDelivery()!=null&&request.getIsQuicklyDelivery()==1){
|
if (request.getIsQuicklyDelivery() != null && request.getIsQuicklyDelivery() == 1) {
|
||||||
od.setOrderStatus(OrderStatus.SERVER.code());
|
od.setOrderStatus(OrderStatus.SERVER.code());
|
||||||
|
|
||||||
// 立即发货时,计算确认截止时间并设置到confirmStartTime字段
|
// 立即发货时,计算确认截止时间并设置到confirmStartTime字段
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
long waitTimeMillis;
|
long waitTimeMillis;
|
||||||
String logType;
|
String logType;
|
||||||
|
|
||||||
// 根据发货类型判断等待时间
|
// 根据发货类型判断等待时间
|
||||||
if (om.getDeliveryType() != null) {
|
if (om.getDeliveryType() != null) {
|
||||||
if (om.getDeliveryType() == 2 || om.getDeliveryType() == 3) {
|
if (om.getDeliveryType() == 2 || om.getDeliveryType() == 3) {
|
||||||
|
|
@ -449,18 +450,18 @@ public class OrderController extends BaseController {
|
||||||
logType = "未知类型(默认8小时)";
|
logType = "未知类型(默认8小时)";
|
||||||
logger.warn("订单[{}]发货类型未知[{}],使用默认8小时", od.getCode(), om.getDeliveryType());
|
logger.warn("订单[{}]发货类型未知[{}],使用默认8小时", od.getCode(), om.getDeliveryType());
|
||||||
}
|
}
|
||||||
|
|
||||||
// 计算确认截止时间
|
// 计算确认截止时间
|
||||||
Date confirmDeadlineTime = new Date(now.getTime() + waitTimeMillis);
|
Date confirmDeadlineTime = new Date(now.getTime() + waitTimeMillis);
|
||||||
od.setConfirmStartTime(confirmDeadlineTime);
|
od.setConfirmStartTime(confirmDeadlineTime);
|
||||||
|
|
||||||
logger.info("立即发货订单[{}]发货类型[{}],确认截止时间:{}",
|
logger.info("立即发货订单[{}]发货类型[{}],确认截止时间:{}",
|
||||||
od.getCode(), logType,
|
od.getCode(), logType,
|
||||||
com.ghy.common.utils.DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", confirmDeadlineTime));
|
com.ghy.common.utils.DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", confirmDeadlineTime));
|
||||||
} else {
|
} else {
|
||||||
logger.warn("订单[{}]发货类型为null,未设置确认截止时间", od.getCode());
|
logger.warn("订单[{}]发货类型为null,未设置确认截止时间", od.getCode());
|
||||||
}
|
}
|
||||||
}else{
|
} else {
|
||||||
od.setOrderStatus(request.getWorkerId().equals(om.getWorkerId()) ? OrderStatus.GOING.code() : OrderStatus.RECEIVE.code());
|
od.setOrderStatus(request.getWorkerId().equals(om.getWorkerId()) ? OrderStatus.GOING.code() : OrderStatus.RECEIVE.code());
|
||||||
}
|
}
|
||||||
od.setWorkerId(request.getWorkerId());
|
od.setWorkerId(request.getWorkerId());
|
||||||
|
|
@ -480,7 +481,7 @@ public class OrderController extends BaseController {
|
||||||
orderGoods.setGoodsName(goodsStandard.getGoodsStandardName());
|
orderGoods.setGoodsName(goodsStandard.getGoodsStandardName());
|
||||||
orderGoods.setOrderDetailId(od.getId());
|
orderGoods.setOrderDetailId(od.getId());
|
||||||
orderGoods.setServerGoodsNum(0);
|
orderGoods.setServerGoodsNum(0);
|
||||||
// orderGoods.setOrderId(om.getId());
|
// orderGoods.setOrderId(om.getId());
|
||||||
orderGoodsService.insertOrderGoods(orderGoods);
|
orderGoodsService.insertOrderGoods(orderGoods);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -514,9 +515,9 @@ public class OrderController extends BaseController {
|
||||||
// 派完单 并且只有自己接单
|
// 派完单 并且只有自己接单
|
||||||
om2up.setHasDispatchedAll(1);
|
om2up.setHasDispatchedAll(1);
|
||||||
om2up.setAllSelfAssigned(1);
|
om2up.setAllSelfAssigned(1);
|
||||||
if (request.getIsQuicklyDelivery()!=null&&request.getIsQuicklyDelivery()==1){
|
if (request.getIsQuicklyDelivery() != null && request.getIsQuicklyDelivery() == 1) {
|
||||||
om2up.setOrderStatus(OrderStatus.SERVER.code());
|
om2up.setOrderStatus(OrderStatus.SERVER.code());
|
||||||
}else{
|
} else {
|
||||||
om2up.setOrderStatus(OrderStatus.GOING.code());
|
om2up.setOrderStatus(OrderStatus.GOING.code());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -576,7 +577,7 @@ public class OrderController extends BaseController {
|
||||||
}
|
}
|
||||||
// 计算商品费用
|
// 计算商品费用
|
||||||
BigDecimal totalPay = goodsService.calculate(appGoodsList);
|
BigDecimal totalPay = goodsService.calculate(appGoodsList);
|
||||||
logger.info("获取到的商品:{},计算的商品价值{}",appGoodsList,totalPay);
|
logger.info("获取到的商品:{},计算的商品价值{}", appGoodsList, totalPay);
|
||||||
// 所有商品的ID
|
// 所有商品的ID
|
||||||
Set<Long> goodsStandardIds = appGoodsList.stream().map(AppGoodsRequest::getGoodsStandardId).collect(Collectors.toSet());
|
Set<Long> goodsStandardIds = appGoodsList.stream().map(AppGoodsRequest::getGoodsStandardId).collect(Collectors.toSet());
|
||||||
// 所有商品
|
// 所有商品
|
||||||
|
|
@ -589,16 +590,16 @@ public class OrderController extends BaseController {
|
||||||
OrderMaster orderMaster = new OrderMaster();
|
OrderMaster orderMaster = new OrderMaster();
|
||||||
orderMaster.setOrderType(0);
|
orderMaster.setOrderType(0);
|
||||||
// 判断是否是配件商品
|
// 判断是否是配件商品
|
||||||
if (goods.getType() != null && goods.getType() == 2) {
|
if (goods.getType() != null && goods.getType() == 2) {
|
||||||
// 配件商品,需要获取对应的服务商品
|
// 配件商品,需要获取对应的服务商品
|
||||||
orderMaster.setOrderType(1);
|
orderMaster.setOrderType(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// // 通过商品的类目ID获取类目信息
|
// // 通过商品的类目ID获取类目信息
|
||||||
// DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.selectOneByGoodsCategoryId(goods.getDeptGoodsCategoryId());
|
// DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.selectOneByGoodsCategoryId(goods.getDeptGoodsCategoryId());
|
||||||
// if (deptGoodsCategory != null && deptGoodsCategory.getServiceCategoryId() != null) {
|
// if (deptGoodsCategory != null && deptGoodsCategory.getServiceCategoryId() != null) {
|
||||||
// logger.info("配件商品的服务类目ID: {}", deptGoodsCategory.getServiceCategoryId());
|
// logger.info("配件商品的服务类目ID: {}", deptGoodsCategory.getServiceCategoryId());
|
||||||
|
|
||||||
// // 通过服务类目ID查询对应的服务商品
|
// // 通过服务类目ID查询对应的服务商品
|
||||||
// Goods serviceGoodsQuery = new Goods();
|
// Goods serviceGoodsQuery = new Goods();
|
||||||
// serviceGoodsQuery.setDeptGoodsCategoryId(deptGoodsCategory.getServiceCategoryId());
|
// serviceGoodsQuery.setDeptGoodsCategoryId(deptGoodsCategory.getServiceCategoryId());
|
||||||
|
|
@ -609,7 +610,7 @@ public class OrderController extends BaseController {
|
||||||
// Goods serviceGoods = serviceGoodsList.get(0); // 取第一个服务商品
|
// Goods serviceGoods = serviceGoodsList.get(0); // 取第一个服务商品
|
||||||
// logger.info("找到对应的服务商品: {}", serviceGoods);
|
// logger.info("找到对应的服务商品: {}", serviceGoods);
|
||||||
// orderMaster.setServerGoodsId(serviceGoods.getGoodsId());
|
// orderMaster.setServerGoodsId(serviceGoods.getGoodsId());
|
||||||
|
|
||||||
// // 设置服务店铺ID
|
// // 设置服务店铺ID
|
||||||
// if (serviceGoods.getShopId() != null) {
|
// if (serviceGoods.getShopId() != null) {
|
||||||
// orderMaster.setServiceShopId(serviceGoods.getShopId());
|
// orderMaster.setServiceShopId(serviceGoods.getShopId());
|
||||||
|
|
@ -681,7 +682,7 @@ public class OrderController extends BaseController {
|
||||||
orderMaster.setInsuranceId(manager.getId());
|
orderMaster.setInsuranceId(manager.getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
logger.info("是否有保险金额{}",payMoney);
|
logger.info("是否有保险金额{}", payMoney);
|
||||||
orderMasterService.insertOrderMaster(orderMaster);
|
orderMasterService.insertOrderMaster(orderMaster);
|
||||||
Assert.notNull(orderMaster.getId(), "OrderMaster.id is null!");
|
Assert.notNull(orderMaster.getId(), "OrderMaster.id is null!");
|
||||||
|
|
||||||
|
|
@ -728,7 +729,6 @@ public class OrderController extends BaseController {
|
||||||
logger.error(e.getMessage(), e);
|
logger.error(e.getMessage(), e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return AjaxResult.success(orderMaster);
|
return AjaxResult.success(orderMaster);
|
||||||
}
|
}
|
||||||
|
|
@ -767,7 +767,7 @@ public class OrderController extends BaseController {
|
||||||
.add(goodsStandard.getGoodsPrice().multiply(BigDecimal.valueOf(Double.parseDouble(deptGoodsCategory.getRetainRate()))));
|
.add(goodsStandard.getGoodsPrice().multiply(BigDecimal.valueOf(Double.parseDouble(deptGoodsCategory.getRetainRate()))));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// logger.info("一二三级平台节流扣点分别为【{}】【{}】【{}】【{}】[{}]",oneMoney,twoMoney,threeMoney,deptMoney,specialMoney);
|
// logger.info("一二三级平台节流扣点分别为【{}】【{}】【{}】【{}】[{}]",oneMoney,twoMoney,threeMoney,deptMoney,specialMoney);
|
||||||
// 平台扣除保险 --
|
// 平台扣除保险 --
|
||||||
deptMoney = deptMoney.add(insuranceMoney);
|
deptMoney = deptMoney.add(insuranceMoney);
|
||||||
|
|
||||||
|
|
@ -1062,11 +1062,11 @@ public class OrderController extends BaseController {
|
||||||
OrderDetail orderDetailReq = new OrderDetail();
|
OrderDetail orderDetailReq = new OrderDetail();
|
||||||
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) // 先过滤状态不等于6的订单
|
||||||
.filter(order -> order.getOrderStatus() != 5).count();
|
.filter(order -> order.getOrderStatus() != 5).count();
|
||||||
count += size;
|
count += size;
|
||||||
logger.info("子单超时数量{}",count);
|
logger.info("子单超时数量{}", count);
|
||||||
List<OrderMaster> allList = new ArrayList<>();
|
List<OrderMaster> allList = new ArrayList<>();
|
||||||
List<Long> masterIdSet = new ArrayList<Long>();
|
List<Long> masterIdSet = new ArrayList<Long>();
|
||||||
if (orderListRequest.getTimeout() != null && orderListRequest.getTimeout() == 1) {
|
if (orderListRequest.getTimeout() != null && orderListRequest.getTimeout() == 1) {
|
||||||
|
|
@ -1084,10 +1084,10 @@ public class OrderController extends BaseController {
|
||||||
.map(OrderMaster::getId) // 再提取id
|
.map(OrderMaster::getId) // 再提取id
|
||||||
.collect(Collectors.toList())
|
.collect(Collectors.toList())
|
||||||
);
|
);
|
||||||
if (CollectionUtils.isEmpty(countParam.getMasterIds())){
|
if (CollectionUtils.isEmpty(countParam.getMasterIds())) {
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
logger.info("符合条件的主单超时参数{},count{}",countParam,count);
|
logger.info("符合条件的主单超时参数{},count{}", countParam, count);
|
||||||
List<OrderDetail> orderDetails = orderDetailService.selectOrderDetailList(countParam);
|
List<OrderDetail> orderDetails = orderDetailService.selectOrderDetailList(countParam);
|
||||||
List<OrderDetail> result = orderDetails.stream().filter(s -> s.getTimeout().equals(1)).collect(Collectors.toList());
|
List<OrderDetail> result = orderDetails.stream().filter(s -> s.getTimeout().equals(1)).collect(Collectors.toList());
|
||||||
if (CollectionUtils.isNotEmpty(result)) {
|
if (CollectionUtils.isNotEmpty(result)) {
|
||||||
|
|
@ -1107,9 +1107,9 @@ 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);
|
||||||
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);
|
||||||
// 超时查询需要排除同个师傅的主单子单同时出现
|
// 超时查询需要排除同个师傅的主单子单同时出现
|
||||||
if (orderListRequest.getTimeout() != null && orderListRequest.getTimeout() == 1) {
|
if (orderListRequest.getTimeout() != null && orderListRequest.getTimeout() == 1) {
|
||||||
// 需要排除同个师傅的主单子单同时出现
|
// 需要排除同个师傅的主单子单同时出现
|
||||||
|
|
@ -1132,23 +1132,23 @@ public class OrderController extends BaseController {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
logger.info("主单id{},子单数据{},{}",master.getId(),CollectionUtils.isEmpty(tmpDetailListOfMasters),isKeep);
|
logger.info("主单id{},子单数据{},{}", master.getId(), CollectionUtils.isEmpty(tmpDetailListOfMasters), isKeep);
|
||||||
if (isKeep||CollectionUtils.isEmpty(tmpDetailListOfMasters)) {
|
if (isKeep || CollectionUtils.isEmpty(tmpDetailListOfMasters)) {
|
||||||
filteredMasterList.add(master);
|
filteredMasterList.add(master);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
count += filteredMasterList.size();
|
count += filteredMasterList.size();
|
||||||
mateIds=filteredMasterList.stream().map(OrderMaster::getId)
|
mateIds = filteredMasterList.stream().map(OrderMaster::getId)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
logger.info("主单filteredMasterList超时数量{}总数{},filteredMasterList的id集合{}",filteredMasterList.size(),count,mateIds);
|
logger.info("主单filteredMasterList超时数量{}总数{},filteredMasterList的id集合{}", filteredMasterList.size(), count, mateIds);
|
||||||
if (CollectionUtils.isEmpty(filteredMasterList)){
|
if (CollectionUtils.isEmpty(filteredMasterList)) {
|
||||||
count += masterList.size();
|
count += masterList.size();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
count += masterList.size();
|
count += masterList.size();
|
||||||
}
|
}
|
||||||
logger.info("主单超时数量{}总数{}",masterList.size(),count);
|
logger.info("主单超时数量{}总数{}", masterList.size(), count);
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1160,7 +1160,7 @@ public class OrderController extends BaseController {
|
||||||
public AjaxResult appMixOrderList(@RequestBody OrderListRequest orderListRequest) {
|
public AjaxResult appMixOrderList(@RequestBody OrderListRequest orderListRequest) {
|
||||||
List<OrderListResponse> orderListResponses = new ArrayList<>();
|
List<OrderListResponse> orderListResponses = new ArrayList<>();
|
||||||
|
|
||||||
logger.info("查询不同订单的传入参数{}",orderListRequest);
|
logger.info("查询不同订单的传入参数{}", orderListRequest);
|
||||||
// 校验参数
|
// 校验参数
|
||||||
Assert.notNull(orderListRequest.getWorkerId(), "师傅id不能为空");
|
Assert.notNull(orderListRequest.getWorkerId(), "师傅id不能为空");
|
||||||
|
|
||||||
|
|
@ -1226,13 +1226,13 @@ public class OrderController extends BaseController {
|
||||||
// } else {
|
// } else {
|
||||||
orderListResponses.addAll(masterList);
|
orderListResponses.addAll(masterList);
|
||||||
// }
|
// }
|
||||||
logger.info("未处理的订单{}",orderListResponses);
|
logger.info("未处理的订单{}", orderListResponses);
|
||||||
if (orderListRequest.getTimeout() != null && orderListRequest.getTimeout() == 1) {
|
if (orderListRequest.getTimeout() != null && orderListRequest.getTimeout() == 1) {
|
||||||
if (orderListResponses.size()>0){
|
if (orderListResponses.size() > 0) {
|
||||||
orderListResponses = orderListResponses.stream()
|
orderListResponses = orderListResponses.stream()
|
||||||
.filter(order -> order.getOrderStatus() != 5 && order.getOrderStatus() != 6)
|
.filter(order -> order.getOrderStatus() != 5 && order.getOrderStatus() != 6)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
logger.info("处理已完成及已取消的订单: {}", orderListResponses);
|
logger.info("处理已完成及已取消的订单: {}", orderListResponses);
|
||||||
}
|
}
|
||||||
// 查询新订单列表根据创建时间倒叙排列,查询其他根据更新时间倒序排列
|
// 查询新订单列表根据创建时间倒叙排列,查询其他根据更新时间倒序排列
|
||||||
|
|
@ -1359,9 +1359,9 @@ public class OrderController extends BaseController {
|
||||||
List<OrderGoods> orderStandardList = orderGoodsService.selectByOrderMasterId(master.getId());
|
List<OrderGoods> orderStandardList = orderGoodsService.selectByOrderMasterId(master.getId());
|
||||||
|
|
||||||
// 商品信息
|
// 商品信息
|
||||||
GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId());
|
// GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId());
|
||||||
|
|
||||||
Goods goods = goodsService.selectById(goodsStandard.getGoodsId());
|
Goods goods = goodsService.selectById(master.getGoodsId());
|
||||||
|
|
||||||
// 财务信息
|
// 财务信息
|
||||||
FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(master.getId());
|
FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(master.getId());
|
||||||
|
|
@ -1426,8 +1426,8 @@ public class OrderController extends BaseController {
|
||||||
// orderListResponse.setChangeMoney(totalChangeMoney);
|
// orderListResponse.setChangeMoney(totalChangeMoney);
|
||||||
orderListResponse.setWorkerName(worker == null ? "" : worker.getName());
|
orderListResponse.setWorkerName(worker == null ? "" : worker.getName());
|
||||||
orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone());
|
orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone());
|
||||||
orderListResponse.setCustomerName(StringUtils.isNotEmpty(master.getName())?master.getName():customerAddress.getName());
|
orderListResponse.setCustomerName(StringUtils.isNotEmpty(master.getName()) ? master.getName() : customerAddress.getName());
|
||||||
orderListResponse.setCustomerPhone(StringUtils.isNotEmpty(master.getPhone())?master.getPhone():customerAddress.getPhone());
|
orderListResponse.setCustomerPhone(StringUtils.isNotEmpty(master.getPhone()) ? master.getPhone() : customerAddress.getPhone());
|
||||||
orderListResponse.setServerTime(master.getRevTime());
|
orderListResponse.setServerTime(master.getRevTime());
|
||||||
orderListResponse.setExpectTimeStart(master.getExpectTimeStart());
|
orderListResponse.setExpectTimeStart(master.getExpectTimeStart());
|
||||||
orderListResponse.setExpectTimeEnd(master.getExpectTimeEnd());
|
orderListResponse.setExpectTimeEnd(master.getExpectTimeEnd());
|
||||||
|
|
@ -1497,9 +1497,9 @@ public class OrderController extends BaseController {
|
||||||
List<OrderGoods> orderStandardList = orderGoodsService.selectByOrderDetailId(detail.getId());
|
List<OrderGoods> orderStandardList = orderGoodsService.selectByOrderDetailId(detail.getId());
|
||||||
|
|
||||||
// 商品信息
|
// 商品信息
|
||||||
GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId());
|
// GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId());
|
||||||
|
|
||||||
Goods goods = goodsService.selectById(goodsStandard.getGoodsId());
|
Goods goods = goodsService.selectById(orderMaster.getGoodsId());
|
||||||
|
|
||||||
// 财务信息
|
// 财务信息
|
||||||
FinancialDetail financialDetail = financialDetailService.selectByOrderDetailId(detail.getId());
|
FinancialDetail financialDetail = financialDetailService.selectByOrderDetailId(detail.getId());
|
||||||
|
|
@ -1560,8 +1560,8 @@ public class OrderController extends BaseController {
|
||||||
orderListResponse.setWorkerId(detail.getWorkerId());
|
orderListResponse.setWorkerId(detail.getWorkerId());
|
||||||
orderListResponse.setWorkerName(workerName);
|
orderListResponse.setWorkerName(workerName);
|
||||||
orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone());
|
orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone());
|
||||||
orderListResponse.setCustomerName(StringUtils.isNotEmpty(orderMaster.getName())?orderMaster.getName():customerAddress.getName());
|
orderListResponse.setCustomerName(StringUtils.isNotEmpty(orderMaster.getName()) ? orderMaster.getName() : customerAddress.getName());
|
||||||
orderListResponse.setCustomerPhone(StringUtils.isNotEmpty(orderMaster.getPhone())?orderMaster.getPhone():customerAddress.getPhone());
|
orderListResponse.setCustomerPhone(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());
|
||||||
|
|
@ -1622,9 +1622,9 @@ public class OrderController extends BaseController {
|
||||||
List<OrderGoods> orderStandardList = orderGoodsService.selectByOrderMasterId(master.getId());
|
List<OrderGoods> orderStandardList = orderGoodsService.selectByOrderMasterId(master.getId());
|
||||||
|
|
||||||
// 商品信息
|
// 商品信息
|
||||||
GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId());
|
// GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId());
|
||||||
|
|
||||||
Goods goods = goodsService.selectById(goodsStandard.getGoodsId());
|
Goods goods = goodsService.selectById(master.getGoodsId());
|
||||||
// 填充商品三级类目
|
// 填充商品三级类目
|
||||||
if (goods.getDeptGoodsCategoryId() != null) {
|
if (goods.getDeptGoodsCategoryId() != null) {
|
||||||
Long categoryId = null;
|
Long categoryId = null;
|
||||||
|
|
@ -1702,7 +1702,7 @@ public class OrderController extends BaseController {
|
||||||
|| master.getOrderStatus() == 3
|
|| master.getOrderStatus() == 3
|
||||||
|| master.getOrderStatus() == 4))
|
|| master.getOrderStatus() == 4))
|
||||||
&& master.getWorkerId() != null;
|
&& master.getWorkerId() != null;
|
||||||
logger.info("是否为监控单{}主单id{}", condition,master);
|
logger.info("是否为监控单{}主单id{}", condition, master);
|
||||||
// 编辑返回属性
|
// 编辑返回属性
|
||||||
orderListResponse.setIsNeedBill(master.getIsNeedBill());
|
orderListResponse.setIsNeedBill(master.getIsNeedBill());
|
||||||
orderListResponse.setIsMonitoredOrder(master.getIsMonitoredOrder());
|
orderListResponse.setIsMonitoredOrder(master.getIsMonitoredOrder());
|
||||||
|
|
@ -1725,8 +1725,8 @@ public class OrderController extends BaseController {
|
||||||
orderListResponse.setPayMoney(financialMaster.getPayMoney());
|
orderListResponse.setPayMoney(financialMaster.getPayMoney());
|
||||||
orderListResponse.setWorkerName(worker == null ? "" : worker.getName());
|
orderListResponse.setWorkerName(worker == null ? "" : worker.getName());
|
||||||
orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone());
|
orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone());
|
||||||
orderListResponse.setCustomerName(StringUtils.isNotEmpty(master.getName())?master.getName():customerAddress.getName());
|
orderListResponse.setCustomerName(StringUtils.isNotEmpty(master.getName()) ? master.getName() : customerAddress.getName());
|
||||||
orderListResponse.setCustomerPhone(StringUtils.isNotEmpty(master.getPhone())?master.getPhone():customerAddress.getPhone());
|
orderListResponse.setCustomerPhone(StringUtils.isNotEmpty(master.getPhone()) ? master.getPhone() : customerAddress.getPhone());
|
||||||
orderListResponse.setServerTime(master.getRevTime());
|
orderListResponse.setServerTime(master.getRevTime());
|
||||||
orderListResponse.setExpectTimeStart(master.getExpectTimeStart());
|
orderListResponse.setExpectTimeStart(master.getExpectTimeStart());
|
||||||
orderListResponse.setExpectTimeEnd(master.getExpectTimeEnd());
|
orderListResponse.setExpectTimeEnd(master.getExpectTimeEnd());
|
||||||
|
|
@ -1737,7 +1737,7 @@ public class OrderController extends BaseController {
|
||||||
orderListResponse.setPayType(master.getPayType());
|
orderListResponse.setPayType(master.getPayType());
|
||||||
orderListResponse.setOrderMasterCode(master.getCode());
|
orderListResponse.setOrderMasterCode(master.getCode());
|
||||||
orderListResponse.setStandardList(standardList);
|
orderListResponse.setStandardList(standardList);
|
||||||
|
|
||||||
orderListResponse.setRemark(goods.getRemark());
|
orderListResponse.setRemark(goods.getRemark());
|
||||||
orderListResponse.setCustomerRemark(master.getRemark());
|
orderListResponse.setCustomerRemark(master.getRemark());
|
||||||
orderListResponse.setTimeout(master.getTimeout());
|
orderListResponse.setTimeout(master.getTimeout());
|
||||||
|
|
@ -1767,12 +1767,12 @@ public class OrderController extends BaseController {
|
||||||
orderListResponse.setStreetId(master.getStreetId());
|
orderListResponse.setStreetId(master.getStreetId());
|
||||||
orderListResponse.setPhone(master.getPhone());
|
orderListResponse.setPhone(master.getPhone());
|
||||||
orderListResponse.setName(master.getName());
|
orderListResponse.setName(master.getName());
|
||||||
orderListResponse.setCustomerName(StringUtils.isNotEmpty(master.getName())?master.getName():customerAddress.getName());
|
orderListResponse.setCustomerName(StringUtils.isNotEmpty(master.getName()) ? master.getName() : customerAddress.getName());
|
||||||
orderListResponse.setCustomerPhone(StringUtils.isNotEmpty(master.getPhone())?master.getPhone():customerAddress.getPhone());
|
orderListResponse.setCustomerPhone(StringUtils.isNotEmpty(master.getPhone()) ? master.getPhone() : customerAddress.getPhone());
|
||||||
orderListResponse.setAddress(master.getAddress());
|
orderListResponse.setAddress(master.getAddress());
|
||||||
String addressSysArea = sysArea.getMergerName();
|
String addressSysArea = sysArea.getMergerName();
|
||||||
String[] array = addressSysArea.split(",");
|
String[] array = addressSysArea.split(",");
|
||||||
if (StringUtils.isEmpty(master.getProvinceName())){
|
if (StringUtils.isEmpty(master.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]);
|
||||||
|
|
@ -1903,8 +1903,8 @@ public class OrderController extends BaseController {
|
||||||
orderListResponse.setWorkerName(worker.getName());
|
orderListResponse.setWorkerName(worker.getName());
|
||||||
orderListResponse.setWorkerPhone(worker.getPhone());
|
orderListResponse.setWorkerPhone(worker.getPhone());
|
||||||
orderListResponse.setWorkerId(detail.getWorkerId());
|
orderListResponse.setWorkerId(detail.getWorkerId());
|
||||||
orderListResponse.setCustomerName(StringUtils.isNotEmpty(orderMaster.getName())?orderMaster.getName():customerAddress.getName());
|
orderListResponse.setCustomerName(StringUtils.isNotEmpty(orderMaster.getName()) ? orderMaster.getName() : customerAddress.getName());
|
||||||
orderListResponse.setCustomerPhone(StringUtils.isNotEmpty(orderMaster.getPhone())?orderMaster.getPhone():customerAddress.getPhone());
|
orderListResponse.setCustomerPhone(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());
|
||||||
|
|
@ -1945,7 +1945,7 @@ public class OrderController extends BaseController {
|
||||||
orderListResponse.setAddress(orderMaster.getAddress());
|
orderListResponse.setAddress(orderMaster.getAddress());
|
||||||
String addressSysArea = sysArea.getMergerName();
|
String addressSysArea = sysArea.getMergerName();
|
||||||
String[] array = addressSysArea.split(",");
|
String[] array = addressSysArea.split(",");
|
||||||
if (StringUtils.isEmpty(orderMaster.getProvinceName())){
|
if (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]);
|
||||||
|
|
@ -2015,50 +2015,60 @@ public class OrderController extends BaseController {
|
||||||
Long orderMasterId = request.getId();
|
Long orderMasterId = request.getId();
|
||||||
BigDecimal serviceMoney = request.getServerGoodsMoney();
|
BigDecimal serviceMoney = request.getServerGoodsMoney();
|
||||||
Long serviceShopId = request.getServiceShopId();
|
Long serviceShopId = request.getServiceShopId();
|
||||||
|
|
||||||
// 校验参数
|
// 校验参数
|
||||||
if (orderMasterId == null) {
|
if (orderMasterId == null) {
|
||||||
return AjaxResult.error("主单ID不能为空");
|
return AjaxResult.error("主单ID不能为空");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (serviceMoney == null || serviceMoney.compareTo(BigDecimal.ZERO) < 0) {
|
if (serviceMoney == null || serviceMoney.compareTo(BigDecimal.ZERO) < 0) {
|
||||||
return AjaxResult.error("服务金额不能为空且不能为负数");
|
return AjaxResult.error("服务金额不能为空且不能为负数");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (serviceShopId == null) {
|
if (serviceShopId == null) {
|
||||||
return AjaxResult.error("服务店铺ID不能为空");
|
return AjaxResult.error("服务店铺ID不能为空");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询配件主单信息
|
// 查询配件主单信息
|
||||||
OrderMaster accessoryOrderMaster = orderMasterService.selectById(orderMasterId);
|
OrderMaster accessoryOrderMaster = orderMasterService.selectById(orderMasterId);
|
||||||
if (accessoryOrderMaster == null) {
|
if (accessoryOrderMaster == null) {
|
||||||
return AjaxResult.error("主单不存在");
|
return AjaxResult.error("主单不存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 判断是否为配件订单
|
// 判断是否为配件订单
|
||||||
if (accessoryOrderMaster.getOrderType() == null || accessoryOrderMaster.getOrderType() != 1) {
|
if (accessoryOrderMaster.getOrderType() == null || accessoryOrderMaster.getOrderType() != 1) {
|
||||||
return AjaxResult.error("当前订单不是配件订单,无法生成服务订单");
|
return AjaxResult.error("当前订单不是配件订单,无法生成服务订单");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 检查是否已经派发过服务订单
|
// 检查是否已经派发过服务订单
|
||||||
if (accessoryOrderMaster.getHasServiceOrder() != null && accessoryOrderMaster.getHasServiceOrder() == 1) {
|
if (accessoryOrderMaster.getHasServiceOrder() != null && accessoryOrderMaster.getHasServiceOrder() == 1) {
|
||||||
return AjaxResult.error("该配件订单已经派发过服务订单,不能重复操作");
|
return AjaxResult.error("该配件订单已经派发过服务订单,不能重复操作");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取服务店铺信息
|
// 获取服务店铺信息
|
||||||
Shop serviceShop = shopService.getShop(serviceShopId);
|
Shop serviceShop = shopService.getShop(serviceShopId);
|
||||||
if (serviceShop == null) {
|
if (serviceShop == null) {
|
||||||
return AjaxResult.error("服务店铺不存在");
|
return AjaxResult.error("服务店铺不存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取服务店铺的师傅信息(创建店铺的师傅)
|
// 获取服务店铺的师傅信息(创建店铺的师傅)
|
||||||
Worker serviceWorker = workerService.selectById(serviceShop.getWorkerId());
|
Worker serviceWorker = workerService.selectById(serviceShop.getWorkerId());
|
||||||
if (serviceWorker == null) {
|
if (serviceWorker == null) {
|
||||||
return AjaxResult.error("服务店铺未关联师傅信息");
|
return AjaxResult.error("服务店铺未关联师傅信息");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取服务店铺的第一个服务商品并生成OrderGoods
|
||||||
|
// 查询服务店铺的服务商品
|
||||||
|
Goods queryGoods = new Goods();
|
||||||
|
queryGoods.setShopId(serviceShopId);
|
||||||
|
queryGoods.setType(1); // 1表示服务类型
|
||||||
|
List<Goods> serviceGoodsList = goodsService.selectGoodsList(queryGoods);
|
||||||
|
|
||||||
|
|
||||||
// 创建服务主单
|
// 创建服务主单
|
||||||
OrderMaster serviceOrderMaster = new OrderMaster();
|
OrderMaster serviceOrderMaster = new OrderMaster();
|
||||||
|
serviceOrderMaster.setGoodsId(serviceGoodsList.size()>0?serviceGoodsList.get(0).getGoodsId():null);
|
||||||
|
serviceOrderMaster.setGoods(serviceGoodsList.size()>0?serviceGoodsList.get(0):null);
|
||||||
serviceOrderMaster.setDeptId(accessoryOrderMaster.getDeptId());
|
serviceOrderMaster.setDeptId(accessoryOrderMaster.getDeptId());
|
||||||
serviceOrderMaster.setCode(orderMasterService.createOrderCode());
|
serviceOrderMaster.setCode(orderMasterService.createOrderCode());
|
||||||
serviceOrderMaster.setOrderType(0); // 服务订单类型为0
|
serviceOrderMaster.setOrderType(0); // 服务订单类型为0
|
||||||
|
|
@ -2077,7 +2087,7 @@ public class OrderController extends BaseController {
|
||||||
serviceOrderMaster.setGoodsOrderMasterId(orderMasterId);
|
serviceOrderMaster.setGoodsOrderMasterId(orderMasterId);
|
||||||
// 设置服务商品金额
|
// 设置服务商品金额
|
||||||
serviceOrderMaster.setServerGoodsMoney(serviceMoney);
|
serviceOrderMaster.setServerGoodsMoney(serviceMoney);
|
||||||
|
|
||||||
// 复制地址信息
|
// 复制地址信息
|
||||||
serviceOrderMaster.setProvinceId(accessoryOrderMaster.getProvinceId());
|
serviceOrderMaster.setProvinceId(accessoryOrderMaster.getProvinceId());
|
||||||
serviceOrderMaster.setCityId(accessoryOrderMaster.getCityId());
|
serviceOrderMaster.setCityId(accessoryOrderMaster.getCityId());
|
||||||
|
|
@ -2090,32 +2100,51 @@ public class OrderController extends BaseController {
|
||||||
serviceOrderMaster.setCityName(accessoryOrderMaster.getCityName());
|
serviceOrderMaster.setCityName(accessoryOrderMaster.getCityName());
|
||||||
serviceOrderMaster.setCountryName(accessoryOrderMaster.getCountryName());
|
serviceOrderMaster.setCountryName(accessoryOrderMaster.getCountryName());
|
||||||
serviceOrderMaster.setStreetName(accessoryOrderMaster.getStreetName());
|
serviceOrderMaster.setStreetName(accessoryOrderMaster.getStreetName());
|
||||||
|
|
||||||
// 保存服务主单
|
// 保存服务主单
|
||||||
orderMasterService.insertOrderMaster(serviceOrderMaster);
|
orderMasterService.insertOrderMaster(serviceOrderMaster);
|
||||||
Assert.notNull(serviceOrderMaster.getId(), "ServiceOrderMaster.id is null!");
|
Assert.notNull(serviceOrderMaster.getId(), "ServiceOrderMaster.id is null!");
|
||||||
|
|
||||||
// 生成财务主单(使用传入的服务金额)
|
// 生成财务主单(使用传入的服务金额)
|
||||||
FinancialMaster serviceFinancialMaster = new FinancialMaster(
|
FinancialMaster serviceFinancialMaster = new FinancialMaster(
|
||||||
financialMasterService.createCode(),
|
financialMasterService.createCode(),
|
||||||
accessoryOrderMaster.getDeptId(),
|
accessoryOrderMaster.getDeptId(),
|
||||||
serviceOrderMaster.getId(),
|
serviceOrderMaster.getId(),
|
||||||
serviceOrderMaster.getCode(),
|
serviceOrderMaster.getCode(),
|
||||||
serviceMoney,
|
serviceMoney,
|
||||||
BigDecimal.ZERO,
|
BigDecimal.ZERO,
|
||||||
serviceMoney
|
serviceMoney
|
||||||
);
|
);
|
||||||
serviceFinancialMaster.setServerMoney(serviceMoney);
|
serviceFinancialMaster.setServerMoney(serviceMoney);
|
||||||
financialMasterService.insertFinancialMaster(serviceFinancialMaster);
|
financialMasterService.insertFinancialMaster(serviceFinancialMaster);
|
||||||
Assert.notNull(serviceFinancialMaster.getId(), "ServiceFinancialMaster.id is null!");
|
Assert.notNull(serviceFinancialMaster.getId(), "ServiceFinancialMaster.id is null!");
|
||||||
|
|
||||||
|
if (!CollectionUtils.isEmpty(serviceGoodsList)) {
|
||||||
|
Goods firstServiceGoods = serviceGoodsList.get(0); // 取第一个服务商品
|
||||||
|
OrderGoods serviceOrderGoods = new OrderGoods();
|
||||||
|
serviceOrderGoods.setOrderId(serviceOrderMaster.getId());
|
||||||
|
serviceOrderGoods.setGoodsStandardId(firstServiceGoods.getDeptGoodsCategoryId()); // 用标准ID
|
||||||
|
serviceOrderGoods.setGoodsName(firstServiceGoods.getGoodsName());
|
||||||
|
serviceOrderGoods.setGoodsNum(1); // 数量为1
|
||||||
|
serviceOrderGoods.setRemark("由配件订单自动生成的服务商品,服务金额:" + serviceMoney);
|
||||||
|
serviceOrderGoods.setCreateTime(new Date());
|
||||||
|
|
||||||
|
// 保存OrderGoods
|
||||||
|
orderGoodsService.insertOrderGoods(serviceOrderGoods);
|
||||||
|
logger.info("为服务订单[{}]生成服务商品[{}],商品ID:{},金额:{}",
|
||||||
|
serviceOrderMaster.getCode(), firstServiceGoods.getGoodsName(),
|
||||||
|
firstServiceGoods.getGoodsId(), serviceMoney);
|
||||||
|
} else {
|
||||||
|
logger.warn("服务店铺[{}]没有找到服务商品,无法生成OrderGoods", serviceShopId);
|
||||||
|
}
|
||||||
|
|
||||||
// 更新配件主单,关联生成的服务订单并标记已派发服务订单
|
// 更新配件主单,关联生成的服务订单并标记已派发服务订单
|
||||||
OrderMaster accessoryUpdate = new OrderMaster();
|
OrderMaster accessoryUpdate = new OrderMaster();
|
||||||
accessoryUpdate.setId(accessoryOrderMaster.getId());
|
accessoryUpdate.setId(accessoryOrderMaster.getId());
|
||||||
accessoryUpdate.setRemark(accessoryOrderMaster.getRemark() + " [已生成服务订单:" + serviceOrderMaster.getCode() + ",服务金额:" + serviceMoney + "]");
|
accessoryUpdate.setRemark(accessoryOrderMaster.getRemark() + " [已生成服务订单:" + serviceOrderMaster.getCode() + ",服务金额:" + serviceMoney + "]");
|
||||||
accessoryUpdate.setHasServiceOrder(1); // 标记已派发服务订单
|
accessoryUpdate.setHasServiceOrder(1); // 标记已派发服务订单
|
||||||
orderMasterService.updateOrderMaster(accessoryUpdate);
|
orderMasterService.updateOrderMaster(accessoryUpdate);
|
||||||
|
|
||||||
// 通知服务师傅新订单
|
// 通知服务师傅新订单
|
||||||
try {
|
try {
|
||||||
Map<String, Object> paramsNew = new HashMap<>();
|
Map<String, Object> paramsNew = new HashMap<>();
|
||||||
|
|
@ -2128,7 +2157,7 @@ public class OrderController extends BaseController {
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("发送微信通知失败: {}", e.getMessage(), e);
|
logger.error("发送微信通知失败: {}", e.getMessage(), e);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 构建返回结果
|
// 构建返回结果
|
||||||
Map<String, Object> result = new HashMap<>();
|
Map<String, Object> result = new HashMap<>();
|
||||||
result.put("accessoryOrderId", accessoryOrderMaster.getId());
|
result.put("accessoryOrderId", accessoryOrderMaster.getId());
|
||||||
|
|
@ -2141,18 +2170,18 @@ public class OrderController extends BaseController {
|
||||||
result.put("serviceWorkerId", serviceWorker.getWorkerId());
|
result.put("serviceWorkerId", serviceWorker.getWorkerId());
|
||||||
result.put("serviceWorkerName", serviceWorker.getName());
|
result.put("serviceWorkerName", serviceWorker.getName());
|
||||||
result.put("serviceWorkerPhone", serviceWorker.getPhone());
|
result.put("serviceWorkerPhone", serviceWorker.getPhone());
|
||||||
|
|
||||||
logger.info("成功为配件订单[{}]生成服务订单[{}],服务金额:{},服务店铺:{}",
|
logger.info("成功为配件订单[{}]生成服务订单[{}],服务金额:{},服务店铺:{}",
|
||||||
accessoryOrderMaster.getCode(), serviceOrderMaster.getCode(), serviceMoney, serviceShop.getShopName());
|
accessoryOrderMaster.getCode(), serviceOrderMaster.getCode(), serviceMoney, serviceShop.getShopName());
|
||||||
|
|
||||||
return AjaxResult.success("服务订单生成成功", result);
|
return AjaxResult.success("服务订单生成成功", result);
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("生成服务订单失败: {}", e.getMessage(), e);
|
logger.error("生成服务订单失败: {}", e.getMessage(), e);
|
||||||
return AjaxResult.error("生成服务订单失败: " + e.getMessage());
|
return AjaxResult.error("生成服务订单失败: " + e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据快递单号查询物流信息
|
* 根据快递单号查询物流信息
|
||||||
*
|
*
|
||||||
|
|
@ -2170,7 +2199,7 @@ public class OrderController extends BaseController {
|
||||||
return AjaxResult.error("查询物流信息失败: " + e.getMessage());
|
return AjaxResult.error("查询物流信息失败: " + e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据快递单号查询物流信息(简化版)
|
* 根据快递单号查询物流信息(简化版)
|
||||||
*
|
*
|
||||||
|
|
@ -2188,7 +2217,7 @@ public class OrderController extends BaseController {
|
||||||
return AjaxResult.error("查询物流信息失败: " + e.getMessage());
|
return AjaxResult.error("查询物流信息失败: " + e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据订单ID查询物流信息
|
* 根据订单ID查询物流信息
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -1016,12 +1016,17 @@ public class OrderMasterController extends BaseController {
|
||||||
|
|
||||||
if (!CollectionUtils.isEmpty(workerIds)) {
|
if (!CollectionUtils.isEmpty(workerIds)) {
|
||||||
List<Worker> workers = workerService.selectByIds(workerIds);
|
List<Worker> workers = workerService.selectByIds(workerIds);
|
||||||
workers.forEach(worker -> workerMap.put(worker.getId(), worker));
|
workers.forEach(worker -> workerMap.put(worker.getWorkerId(), worker));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!CollectionUtils.isEmpty(addressIds)) {
|
if (!CollectionUtils.isEmpty(addressIds)) {
|
||||||
List<CustomerAddress> addresses = addressService.selectByCustomerAddressIds(addressIds);
|
// 由于没有批量查询方法,使用循环查询
|
||||||
addresses.forEach(address -> addressMap.put(address.getCustomerAddressId(), address));
|
addressIds.forEach(addressId -> {
|
||||||
|
CustomerAddress address = addressService.selectByCustomerAddressId(addressId);
|
||||||
|
if (address != null) {
|
||||||
|
addressMap.put(address.getCustomerAddressId(), address);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!CollectionUtils.isEmpty(goodsIds)) {
|
if (!CollectionUtils.isEmpty(goodsIds)) {
|
||||||
|
|
@ -1303,9 +1308,9 @@ public class OrderMasterController extends BaseController {
|
||||||
List<OrderGoods> orderStandardList = orderGoodsService.selectByOrderMasterId(master.getId());
|
List<OrderGoods> orderStandardList = orderGoodsService.selectByOrderMasterId(master.getId());
|
||||||
|
|
||||||
// 商品信息
|
// 商品信息
|
||||||
GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId());
|
// GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId());
|
||||||
|
|
||||||
Goods goods = goodsService.selectById(goodsStandard.getGoodsId());
|
Goods goods = goodsService.selectById(master.getGoodsId());
|
||||||
|
|
||||||
// 财务信息
|
// 财务信息
|
||||||
FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(master.getId());
|
FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(master.getId());
|
||||||
|
|
@ -1581,9 +1586,9 @@ public class OrderMasterController extends BaseController {
|
||||||
List<OrderGoods> orderStandardList = orderGoodsService.selectByOrderMasterId(orderMaster.getId());
|
List<OrderGoods> orderStandardList = orderGoodsService.selectByOrderMasterId(orderMaster.getId());
|
||||||
|
|
||||||
// 商品信息
|
// 商品信息
|
||||||
GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId());
|
// GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId());
|
||||||
|
|
||||||
Goods goods = goodsService.selectById(goodsStandard.getGoodsId());
|
Goods goods = goodsService.selectById(orderMaster.getGoodsId());
|
||||||
if (goods != null) {
|
if (goods != null) {
|
||||||
// 填充商品三级类目
|
// 填充商品三级类目
|
||||||
if(goods.getDeptGoodsCategoryId() != null){
|
if(goods.getDeptGoodsCategoryId() != null){
|
||||||
|
|
|
||||||
|
|
@ -40,8 +40,8 @@ public class AfterServiceRecord extends BaseEntity
|
||||||
@Excel(name = "操作原因:1为申请退款,2为发起售后")
|
@Excel(name = "操作原因:1为申请退款,2为发起售后")
|
||||||
private Long operType;
|
private Long operType;
|
||||||
|
|
||||||
/** 师傅反馈结果:0为拒绝,1为同意,2为上门补做/重做 */
|
/** 师傅反馈结果:0为拒绝,1为同意,2为上门补做/重做,3重做/补做完成 */
|
||||||
@Excel(name = "师傅反馈结果:0为拒绝,1为同意,2为上门补做/重做")
|
@Excel(name = "师傅反馈结果:0为拒绝,1为同意,2为上门补做/重做,3重做/补做完成")
|
||||||
private Long workerFeedbackResult;
|
private Long workerFeedbackResult;
|
||||||
|
|
||||||
/** 师傅反馈原因类型:1为客户原因,2为师傅原因,3为其他 */
|
/** 师傅反馈原因类型:1为客户原因,2为师傅原因,3为其他 */
|
||||||
|
|
@ -69,6 +69,22 @@ public class AfterServiceRecord extends BaseEntity
|
||||||
|
|
||||||
private Date refundApplyTime;
|
private Date refundApplyTime;
|
||||||
|
|
||||||
|
/** 客户是否同意上门重做方案:0-未处理,1-同意,2-不同意 */
|
||||||
|
@Excel(name = "客户是否同意上门重做方案:0-未处理,1-同意,2-不同意")
|
||||||
|
private Integer customerAgreeRedo;
|
||||||
|
|
||||||
|
/** 重做/补做完成时间 */
|
||||||
|
@Excel(name = "重做/补做完成时间")
|
||||||
|
private Date redoCompleteTime;
|
||||||
|
|
||||||
|
/** 重做/补做完成备注 */
|
||||||
|
@Excel(name = "重做/补做完成备注")
|
||||||
|
private String redoCompleteRemark;
|
||||||
|
|
||||||
|
/** 重做/补做完成图片 */
|
||||||
|
@Excel(name = "重做/补做完成图片")
|
||||||
|
private String redoCompleteImages;
|
||||||
|
|
||||||
private boolean excludeAfterServiceFinished;
|
private boolean excludeAfterServiceFinished;
|
||||||
|
|
||||||
private List<AfterServiceImgs> imgsList;
|
private List<AfterServiceImgs> imgsList;
|
||||||
|
|
|
||||||
|
|
@ -184,6 +184,30 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService
|
||||||
orderDetailService.updateAfterTimeout(afterServiceRecord.getOrderDetailId(), 0, 0);
|
orderDetailService.updateAfterTimeout(afterServiceRecord.getOrderDetailId(), 0, 0);
|
||||||
log.info("客户是否同意{},客户操作{}",one.equals(param.getCustomerFinalCheck()),param);
|
log.info("客户是否同意{},客户操作{}",one.equals(param.getCustomerFinalCheck()),param);
|
||||||
log.info("修改后的售后订单{}",orderDetail);
|
log.info("修改后的售后订单{}",orderDetail);
|
||||||
|
|
||||||
|
// 新增:处理客户同意上门重做方案
|
||||||
|
if (param.getCustomerAgreeRedo() != null) {
|
||||||
|
afterServiceRecord.setCustomerAgreeRedo(param.getCustomerAgreeRedo());
|
||||||
|
afterServiceRecordMapper.updateAfterServiceRecord(afterServiceRecord);
|
||||||
|
log.info("客户同意上门重做方案状态已更新:{}", param.getCustomerAgreeRedo());
|
||||||
|
return AjaxResult.success("客户同意方案状态已更新");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增:处理师傅重做/补做完成
|
||||||
|
if (param.getWorkerFeedbackResult() != null && param.getWorkerFeedbackResult().equals(3L)) {
|
||||||
|
afterServiceRecord.setWorkerFeedbackResult(3L);
|
||||||
|
afterServiceRecord.setRedoCompleteTime(new Date());
|
||||||
|
if (param.getRedoCompleteRemark() != null) {
|
||||||
|
afterServiceRecord.setRedoCompleteRemark(param.getRedoCompleteRemark());
|
||||||
|
}
|
||||||
|
if (param.getRedoCompleteImages() != null) {
|
||||||
|
afterServiceRecord.setRedoCompleteImages(param.getRedoCompleteImages());
|
||||||
|
}
|
||||||
|
afterServiceRecordMapper.updateAfterServiceRecord(afterServiceRecord);
|
||||||
|
log.info("师傅重做/补做完成,记录ID:{},完成时间:{}", param.getId(), afterServiceRecord.getRedoCompleteTime());
|
||||||
|
return AjaxResult.success("重做/补做完成状态已更新");
|
||||||
|
}
|
||||||
|
|
||||||
if (param.getCustomerFinalCheck()!=null ) {
|
if (param.getCustomerFinalCheck()!=null ) {
|
||||||
// 师傅同意 且 客户同意退款
|
// 师傅同意 且 客户同意退款
|
||||||
//afterServiceRecord.setCustomerFinalCheck(1L);
|
//afterServiceRecord.setCustomerFinalCheck(1L);
|
||||||
|
|
|
||||||
|
|
@ -23,12 +23,17 @@
|
||||||
<result property="remark" column="remark" />
|
<result property="remark" column="remark" />
|
||||||
<result property="originalRefund" column="original_refund" />
|
<result property="originalRefund" column="original_refund" />
|
||||||
<result property="refundApplyTime" column="refund_apply_time" />
|
<result property="refundApplyTime" column="refund_apply_time" />
|
||||||
|
<result property="customerAgreeRedo" column="customer_agree_redo" />
|
||||||
|
<result property="redoCompleteTime" column="redo_complete_time" />
|
||||||
|
<result property="redoCompleteRemark" column="redo_complete_remark" />
|
||||||
|
<result property="redoCompleteImages" column="redo_complete_images" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectAfterServiceRecordVo">
|
<sql id="selectAfterServiceRecordVo">
|
||||||
select id, customer_reason_type, customer_reason, order_detail_id, oper_type, worker_feedback_result,
|
select id, customer_reason_type, customer_reason, order_detail_id, oper_type, worker_feedback_result,
|
||||||
worker_feedback_reason_type, worker_feedback_reason, refund, agreed_refund, original_refund,
|
worker_feedback_reason_type, worker_feedback_reason, refund, agreed_refund, original_refund,
|
||||||
customer_final_check, create_by, create_time, update_by, update_time, remark, refund_apply_time
|
customer_final_check, create_by, create_time, update_by, update_time, remark, refund_apply_time, customer_agree_redo,
|
||||||
|
redo_complete_time, redo_complete_remark, redo_complete_images
|
||||||
from after_service_record
|
from after_service_record
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
|
|
@ -74,6 +79,10 @@
|
||||||
<if test="refund != null">refund,</if>
|
<if test="refund != null">refund,</if>
|
||||||
<if test="agreedRefund != null">agreed_refund,</if>
|
<if test="agreedRefund != null">agreed_refund,</if>
|
||||||
<if test="customerFinalCheck != null">customer_final_check,</if>
|
<if test="customerFinalCheck != null">customer_final_check,</if>
|
||||||
|
<if test="customerAgreeRedo != null">customer_agree_redo,</if>
|
||||||
|
<if test="redoCompleteTime != null">redo_complete_time,</if>
|
||||||
|
<if test="redoCompleteRemark != null">redo_complete_remark,</if>
|
||||||
|
<if test="redoCompleteImages != null">redo_complete_images,</if>
|
||||||
<if test="createBy != null">create_by,</if>
|
<if test="createBy != null">create_by,</if>
|
||||||
<if test="updateBy != null">update_by,</if>
|
<if test="updateBy != null">update_by,</if>
|
||||||
<if test="remark != null">remark,</if>
|
<if test="remark != null">remark,</if>
|
||||||
|
|
@ -90,6 +99,10 @@
|
||||||
<if test="refund != null">#{refund},</if>
|
<if test="refund != null">#{refund},</if>
|
||||||
<if test="agreedRefund != null">#{agreedRefund},</if>
|
<if test="agreedRefund != null">#{agreedRefund},</if>
|
||||||
<if test="customerFinalCheck != null">#{customerFinalCheck},</if>
|
<if test="customerFinalCheck != null">#{customerFinalCheck},</if>
|
||||||
|
<if test="customerAgreeRedo != null">#{customerAgreeRedo},</if>
|
||||||
|
<if test="redoCompleteTime != null">#{redoCompleteTime},</if>
|
||||||
|
<if test="redoCompleteRemark != null">#{redoCompleteRemark},</if>
|
||||||
|
<if test="redoCompleteImages != null">#{redoCompleteImages},</if>
|
||||||
<if test="createBy != null">#{createBy},</if>
|
<if test="createBy != null">#{createBy},</if>
|
||||||
<if test="updateBy != null">#{updateBy},</if>
|
<if test="updateBy != null">#{updateBy},</if>
|
||||||
<if test="remark != null">#{remark},</if>
|
<if test="remark != null">#{remark},</if>
|
||||||
|
|
@ -112,6 +125,10 @@
|
||||||
<if test="refund != null">refund = #{refund},</if>
|
<if test="refund != null">refund = #{refund},</if>
|
||||||
<if test="agreedRefund != null">agreed_refund = #{agreedRefund},</if>
|
<if test="agreedRefund != null">agreed_refund = #{agreedRefund},</if>
|
||||||
<if test="customerFinalCheck != null">customer_final_check = #{customerFinalCheck},</if>
|
<if test="customerFinalCheck != null">customer_final_check = #{customerFinalCheck},</if>
|
||||||
|
<if test="customerAgreeRedo != null">customer_agree_redo = #{customerAgreeRedo},</if>
|
||||||
|
<if test="redoCompleteTime != null">redo_complete_time = #{redoCompleteTime},</if>
|
||||||
|
<if test="redoCompleteRemark != null">redo_complete_remark = #{redoCompleteRemark},</if>
|
||||||
|
<if test="redoCompleteImages != null">redo_complete_images = #{redoCompleteImages},</if>
|
||||||
<if test="createBy != null">create_by = #{createBy},</if>
|
<if test="createBy != null">create_by = #{createBy},</if>
|
||||||
<if test="createTime != null">create_time = #{createTime},</if>
|
<if test="createTime != null">create_time = #{createTime},</if>
|
||||||
<if test="updateBy != null">update_by = #{updateBy},</if>
|
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue