no message

This commit is contained in:
cb 2025-09-29 15:35:25 +08:00
parent eced56a427
commit c57c585b37
10 changed files with 972 additions and 686 deletions

View File

@ -749,8 +749,52 @@ public class GoodsController extends BaseController {
// 通过商品的服务类目获取服务店铺 // 通过商品的服务类目获取服务店铺
if (goods.getDeptGoodsCategoryId() != null) { if (goods.getDeptGoodsCategoryId() != null) {
try { try {
// 使用新的方法通过商品ID直接获取服务类目下的所有商品 // 1. 通过商品的类目ID获取类目信息
List<Goods> goodsList = goodsService.selectGoodsByServiceCategory(goodsId); DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.selectOneByGoodsCategoryId(goods.getDeptGoodsCategoryId());
Long serviceCategoryId = null;
if (deptGoodsCategory != null) {
// 先检查当前类目是否有服务类目ID
if (deptGoodsCategory.getServiceCategoryId() != null) {
serviceCategoryId = deptGoodsCategory.getServiceCategoryId();
logger.debug("当前类目[{}]的服务类目ID: {}", deptGoodsCategory.getGoodsCategoryName(), serviceCategoryId);
} else {
// 如果当前类目没有服务类目ID查找上一级类目
logger.debug("当前类目[{}]未配置服务类目ID查找上一级类目", deptGoodsCategory.getGoodsCategoryName());
if (deptGoodsCategory.getParentCategoryId() != null) {
DeptGoodsCategory parentCategory = deptGoodsCategoryService.selectOneByGoodsCategoryId(deptGoodsCategory.getParentCategoryId());
if (parentCategory != null && parentCategory.getServiceCategoryId() != null) {
serviceCategoryId = parentCategory.getServiceCategoryId();
logger.debug("上一级类目[{}]的服务类目ID: {}", parentCategory.getGoodsCategoryName(), serviceCategoryId);
} else {
logger.debug("上一级类目[{}]也未配置服务类目ID", parentCategory != null ? parentCategory.getGoodsCategoryName() : "null");
}
} else {
logger.debug("当前类目没有父级类目");
}
}
}
List<Goods> goodsList = new ArrayList<>();
if (serviceCategoryId != null) {
// 2. 通过服务类目ID查询所有使用该服务类目的商品
Goods queryGoods = new Goods();
queryGoods.setDeptGoodsCategoryId(serviceCategoryId);
queryGoods.setStatus(0); // 只查询上架的商品
goodsList = goodsService.selectGoodsList(queryGoods);
if (goodsList.size() == 0) {
DeptGoodsCategory deptGoodsCategory1 = deptGoodsCategoryService.selectOneByGoodsCategoryId(serviceCategoryId);
serviceCategoryId = deptGoodsCategory1.getDeptGoodsCategoryId();
// 直接使用新方法获取商品列表
goodsList = goodsStandardService.selectGoodsByDeptGoodsCategoryId(serviceCategoryId);
// 过滤只保留上架的商品
goodsList = goodsList.stream()
.filter(g -> g.getStatus() != null && g.getStatus() == 0)
.collect(Collectors.toList());
}
logger.info("获取到的服务类目id{} 取到的商品列表:{}", serviceCategoryId, goodsList);
}
if (!goodsList.isEmpty()) { if (!goodsList.isEmpty()) {
logger.debug("通过商品ID[{}]找到{}个相关服务商品", goodsId, goodsList.size()); logger.debug("通过商品ID[{}]找到{}个相关服务商品", goodsId, goodsList.size());
@ -901,6 +945,13 @@ public class GoodsController extends BaseController {
@ResponseBody @ResponseBody
public AjaxResult editSave(@Validated Goods goods) { public AjaxResult editSave(@Validated Goods goods) {
goods.setUpdateBy(getLoginName()); goods.setUpdateBy(getLoginName());
// 处理Long类型字段的空值情况
// 当前端传入0或空字符串时将shopId设置为null以便清空
if (goods.getShopId() != null && goods.getShopId().equals(0L)) {
goods.setShopId(null);
}
return toAjax(goodsService.updateGoods(goods)); return toAjax(goodsService.updateGoods(goods));
} }
@ -908,6 +959,12 @@ public class GoodsController extends BaseController {
@ResponseBody @ResponseBody
public AjaxResult appEditSave(@RequestBody @Validated Goods goods) { public AjaxResult appEditSave(@RequestBody @Validated Goods goods) {
// 处理Long类型字段的空值情况
// 当前端传入0或空字符串时将shopId设置为null以便清空
if (goods.getShopId() != null && goods.getShopId().equals(0L)) {
goods.setShopId(null);
}
goodsService.edit(goods); goodsService.edit(goods);
return AjaxResult.success(); return AjaxResult.success();
} }

View File

@ -204,7 +204,8 @@ public class OrderController extends BaseController {
} }
// 判断是否有客户地址 // 判断是否有客户地址
if (request.getProvinceId() == null || request.getCityId() == null || request.getDistrictId() == null || StringUtils.isBlank(request.getFullAddress())) { if (request.getProvinceId() == null || request.getCityId() == null || request.getDistrictId() == null
|| StringUtils.isBlank(request.getFullAddress())) {
return AjaxResult.error("请填写地址"); return AjaxResult.error("请填写地址");
} }
CustomerAddress customerAddress = new CustomerAddress(); CustomerAddress customerAddress = new CustomerAddress();
@ -300,8 +301,10 @@ public class OrderController extends BaseController {
// 服务时间 // 服务时间
String[] split = request.getServTime().split("-"); String[] split = request.getServTime().split("-");
try { try {
orderMaster.setExpectTimeStart(DateUtils.parseDate(request.getServDate() + " " + split[0], "yyyy-MM-dd hh:mm")); orderMaster.setExpectTimeStart(
orderMaster.setExpectTimeEnd(DateUtils.parseDate(request.getServDate() + " " + split[1], "yyyy-MM-dd hh:mm")); DateUtils.parseDate(request.getServDate() + " " + split[0], "yyyy-MM-dd hh:mm"));
orderMaster
.setExpectTimeEnd(DateUtils.parseDate(request.getServDate() + " " + split[1], "yyyy-MM-dd hh:mm"));
} catch (Exception e) { } catch (Exception e) {
} }
@ -335,7 +338,8 @@ public class OrderController extends BaseController {
// 名称 // 名称
params.put("thing14", customer.getName()); params.put("thing14", customer.getName());
// 预约时间 // 预约时间
params.put("time4", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", orderMaster.getExpectTimeStart())); params.put("time4", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm",
orderMaster.getExpectTimeStart()));
// 消息推送 // 消息推送
WechatMsgUtils.sendWeChatMsg(WechatMsgUtils.getToken(), assignWorker.getWxOpenId(), WxMsgEnum.TEXT, params); WechatMsgUtils.sendWeChatMsg(WechatMsgUtils.getToken(), assignWorker.getWxOpenId(), WxMsgEnum.TEXT, params);
} catch (Exception e) { } catch (Exception e) {
@ -364,20 +368,24 @@ public class OrderController extends BaseController {
DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.get(goodsStandard.getDeptGoodsCategoryId()); DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.get(goodsStandard.getDeptGoodsCategoryId());
// 平台扣点 = 平台金额 + 商品单价 * 扣点比例 // 平台扣点 = 平台金额 + 商品单价 * 扣点比例
deptMoney = deptMoney.add(deptGoodsCategory.getPcDeptMoney()) deptMoney = deptMoney.add(deptGoodsCategory.getPcDeptMoney())
.add(financialMaster.getPayMoney().multiply(BigDecimal.valueOf(Double.parseDouble(deptGoodsCategory.getPcDeptRate())))); .add(financialMaster.getPayMoney()
.multiply(BigDecimal.valueOf(Double.parseDouble(deptGoodsCategory.getPcDeptRate()))));
// 截流扣点 = 截流金额 + 商品单价 * 扣点比例 // 截流扣点 = 截流金额 + 商品单价 * 扣点比例
specialMoney = specialMoney.add(deptGoodsCategory.getPcRetainMoney()) specialMoney = specialMoney.add(deptGoodsCategory.getPcRetainMoney())
.add(financialMaster.getPayMoney().multiply(BigDecimal.valueOf(Double.parseDouble(deptGoodsCategory.getPcRetainRate())))); .add(financialMaster.getPayMoney()
.multiply(BigDecimal.valueOf(Double.parseDouble(deptGoodsCategory.getPcRetainRate()))));
// 平台扣点记录 // 平台扣点记录
FinancialDetail deptDetail = new FinancialDetail(deptId, financialDetailService.createCode(), FinancialDetail deptDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
financialMaster.getId(), financialMaster.getCode(), deptMoney, FinancialDetailType.PLATFORM_FEE.getCode(), null); financialMaster.getId(), financialMaster.getCode(), deptMoney,
FinancialDetailType.PLATFORM_FEE.getCode(), null);
financialDetailService.insertFinancialDetail(deptDetail); financialDetailService.insertFinancialDetail(deptDetail);
// 剩余服务金额 // 剩余服务金额
serverMoney = serverMoney.subtract(deptMoney); serverMoney = serverMoney.subtract(deptMoney);
// 截流扣点记录 // 截流扣点记录
FinancialDetail retainDetail = new FinancialDetail(deptId, financialDetailService.createCode(), FinancialDetail retainDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
financialMaster.getId(), financialMaster.getCode(), specialMoney, FinancialDetailType.PLATFORM_FEE.getCode(), null); financialMaster.getId(), financialMaster.getCode(), specialMoney,
FinancialDetailType.PLATFORM_FEE.getCode(), null);
financialDetailService.insertFinancialDetail(retainDetail); financialDetailService.insertFinancialDetail(retainDetail);
// 剩余服务金额 // 剩余服务金额
serverMoney = serverMoney.subtract(specialMoney); serverMoney = serverMoney.subtract(specialMoney);
@ -468,7 +476,8 @@ public class OrderController extends BaseController {
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());
od.setRevTime(om.getRevTime()); od.setRevTime(om.getRevTime());
@ -478,7 +487,7 @@ public class OrderController extends BaseController {
// 将主单的师傅备注复制到子单 // 将主单的师傅备注复制到子单
od.setWorkerRemark(om.getWorkerRemark()); od.setWorkerRemark(om.getWorkerRemark());
orderDetailService.insertOrderDetail(od); orderDetailService.insertOrderDetail(od);
logger.info("子订单是否创建完成{}", od); logger.info("子订单是否创建完成{}商品详情{}分配参数详情{}", od, request.getGoodsList(), request);
// 批量生成订单商品 // 批量生成订单商品
request.getGoodsList().forEach(goods -> { request.getGoodsList().forEach(goods -> {
// 查询规格信息 // 查询规格信息
@ -488,15 +497,17 @@ public class OrderController extends BaseController {
orderGoods.setGoodsNum(goods.getNum()); orderGoods.setGoodsNum(goods.getNum());
orderGoods.setGoodsName(goodsStandard.getGoodsStandardName()); orderGoods.setGoodsName(goodsStandard.getGoodsStandardName());
orderGoods.setOrderDetailId(od.getId()); orderGoods.setOrderDetailId(od.getId());
logger.info("是否为立即发货{}", request.getIsQuicklyDelivery());
// 立即发货时计算可发货数量主单商品数量减去已分配给其他子单的数量否则设置为0 // 立即发货时计算可发货数量主单商品数量减去已分配给其他子单的数量否则设置为0
if (request.getIsQuicklyDelivery() != null && request.getIsQuicklyDelivery() == 1) { if (request.getIsQuicklyDelivery() != null && request.getIsQuicklyDelivery() == 1) {
// 获取主单中该商品的总数量 // 获取主单中该商品的总数量
List<OrderGoods> masterOrderGoodsList = orderGoodsService.selectByOrderMasterId(om.getId()); List<OrderGoods> masterOrderGoodsList = orderGoodsService.selectByOrderMasterId(om.getId());
Integer masterGoodsNum = 0; Integer masterGoodsNum = 0;
for (OrderGoods masterGoods : masterOrderGoodsList) { OrderGoods mastGoods = null;
if (Objects.equals(masterGoods.getGoodsStandardId(), goods.getGoodsStandardId())) { for (OrderGoods masterOrderGoods : masterOrderGoodsList) {
masterGoodsNum = masterGoods.getGoodsNum(); if (Objects.equals(masterOrderGoods.getGoodsStandardId(), goods.getGoodsStandardId())) {
masterGoodsNum = masterOrderGoods.getGoodsNum();
mastGoods = masterOrderGoods;
break; break;
} }
} }
@ -507,7 +518,8 @@ public class OrderController extends BaseController {
for (OrderDetail existingDetail : existingOrderDetails) { for (OrderDetail existingDetail : existingOrderDetails) {
// 排除当前正在创建的子单 // 排除当前正在创建的子单
if (!existingDetail.getId().equals(od.getId())) { if (!existingDetail.getId().equals(od.getId())) {
List<OrderGoods> existingOrderGoods = orderGoodsService.selectByOrderDetailId(existingDetail.getId()); List<OrderGoods> existingOrderGoods = orderGoodsService
.selectByOrderDetailId(existingDetail.getId());
for (OrderGoods existingGoods : existingOrderGoods) { for (OrderGoods existingGoods : existingOrderGoods) {
if (Objects.equals(existingGoods.getGoodsStandardId(), goods.getGoodsStandardId())) { if (Objects.equals(existingGoods.getGoodsStandardId(), goods.getGoodsStandardId())) {
allocatedGoodsNum += existingGoods.getGoodsNum(); allocatedGoodsNum += existingGoods.getGoodsNum();
@ -521,9 +533,14 @@ public class OrderController extends BaseController {
// 取当前子单商品数量和剩余可发货数量的最小值 // 取当前子单商品数量和剩余可发货数量的最小值
Integer serverGoodsNum = Math.min(goods.getNum(), Math.max(0, availableGoodsNum)); Integer serverGoodsNum = Math.min(goods.getNum(), Math.max(0, availableGoodsNum));
if (mastGoods != null) {
mastGoods.setServerGoodsNum(serverGoodsNum);
orderGoodsService.updateOrderGoods(mastGoods);
}
orderGoods.setServerGoodsNum(serverGoodsNum); orderGoods.setServerGoodsNum(serverGoodsNum);
logger.info("立即发货订单[{}]商品[{}]主单总数量:{},已分配数量:{},当前子单数量:{},设置已发货数量:{}", logger.info("立即发货订单[{}]商品[{}]主单总数量:{},已分配数量:{},当前子单数量:{},设置已发货数量:{}",
od.getCode(), goodsStandard.getGoodsStandardName(), masterGoodsNum, allocatedGoodsNum, goods.getNum(), serverGoodsNum); od.getCode(), goodsStandard.getGoodsStandardName(), masterGoodsNum, allocatedGoodsNum,
goods.getNum(), serverGoodsNum);
} else { } else {
orderGoods.setServerGoodsNum(0); orderGoods.setServerGoodsNum(0);
} }
@ -532,10 +549,10 @@ public class OrderController extends BaseController {
orderGoodsService.insertOrderGoods(orderGoods); orderGoodsService.insertOrderGoods(orderGoods);
}); });
// 为接单师傅生成子财务单 // 为接单师傅生成子财务单
FinancialDetail fd = new FinancialDetail(fm.getDeptId(), financialDetailService.createCode(), fm.getId(), FinancialDetail fd = new FinancialDetail(fm.getDeptId(), financialDetailService.createCode(), fm.getId(),
fm.getCode(), od.getId(), od.getCode(), request.getTotalPay(), FinancialDetailType.ORDER_FEE.getCode(), acceptWorker.getWorkerId(), fm.getCode(), od.getId(), od.getCode(), request.getTotalPay(), FinancialDetailType.ORDER_FEE.getCode(),
acceptWorker.getWorkerId(),
fm.getPayType(), fm.getPayStatus(), fm.getPayTime()); fm.getPayType(), fm.getPayStatus(), fm.getPayTime());
financialDetailService.insertFinancialDetail(fd); financialDetailService.insertFinancialDetail(fd);
@ -549,7 +566,8 @@ public class OrderController extends BaseController {
// 保存订单操作记录 // 保存订单操作记录
OrderBehavior orderBehavior = new OrderBehavior().setOrderMasterId(om.getId()).setOrderMasterCode(om.getCode()) OrderBehavior orderBehavior = new OrderBehavior().setOrderMasterId(om.getId()).setOrderMasterCode(om.getCode())
.setWorkerId(assignWorker.getWorkerId()).setWorkerName(assignWorker.getName()).setBehavior(OrderBehaviorEnum.ASSIGN_ORDER); .setWorkerId(assignWorker.getWorkerId()).setWorkerName(assignWorker.getName())
.setBehavior(OrderBehaviorEnum.ASSIGN_ORDER);
orderBehaviorService.insert(orderBehavior); orderBehaviorService.insert(orderBehavior);
// 更新主订单 // 更新主订单
@ -557,7 +575,8 @@ public class OrderController extends BaseController {
om2up.setId(om.getId()); om2up.setId(om.getId());
// 判断是否全部派完 // 判断是否全部派完
if (orderMasterService.isAllAssign(om.getId())) { if (orderMasterService.isAllAssign(om.getId())) {
Set<Long> workIds = orderDetailService.selectByOrderMasterId(om.getId()).stream().map(OrderDetail::getWorkerId).collect(Collectors.toSet()); Set<Long> workIds = orderDetailService.selectByOrderMasterId(om.getId()).stream()
.map(OrderDetail::getWorkerId).collect(Collectors.toSet());
if (workIds.size() == 1 && workIds.contains(om.getWorkerId())) { if (workIds.size() == 1 && workIds.contains(om.getWorkerId())) {
// 派完单 并且只有自己接单 // 派完单 并且只有自己接单
om2up.setHasDispatchedAll(1); om2up.setHasDispatchedAll(1);
@ -594,11 +613,13 @@ public class OrderController extends BaseController {
CustomerAddress address = customerAddressService.selectByCustomerAddressId(om.getAddressId()); CustomerAddress address = customerAddressService.selectByCustomerAddressId(om.getAddressId());
paramsNew.put("thing14", address.getName()); paramsNew.put("thing14", address.getName());
// 预约时间 // 预约时间
paramsNew.put("time4", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", om.getExpectTimeStart())); paramsNew.put("time4",
com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", om.getExpectTimeStart()));
// 非自己承接的订单需要通知 // 非自己承接的订单需要通知
logger.info("主订单师傅{},派单师傅{}", om.getWorkerId(), request.getWorkerId()); logger.info("主订单师傅{},派单师傅{}", om.getWorkerId(), request.getWorkerId());
if (!om.getWorkerId().equals(request.getWorkerId())) { if (!om.getWorkerId().equals(request.getWorkerId())) {
WechatMsgUtils.sendWeChatMsg(WechatMsgUtils.getToken(), acceptWorker.getWxOpenId(), WxMsgEnum.NORMAL_ORDER, paramsNew); WechatMsgUtils.sendWeChatMsg(WechatMsgUtils.getToken(), acceptWorker.getWxOpenId(),
WxMsgEnum.NORMAL_ORDER, paramsNew);
} }
} catch (Exception e) { } catch (Exception e) {
@ -609,6 +630,7 @@ public class OrderController extends BaseController {
/** /**
* 更新订单商品的已发货数量 * 更新订单商品的已发货数量
*
* @param orderDetailId 子订单ID * @param orderDetailId 子订单ID
* @param isIncrement 是否增加数量true增加false重置为0 * @param isIncrement 是否增加数量true增加false重置为0
*/ */
@ -670,7 +692,8 @@ 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());
// 所有商品 // 所有商品
List<GoodsStandard> goodsList = goodsStandardService.selectByIds(goodsStandardIds); List<GoodsStandard> goodsList = goodsStandardService.selectByIds(goodsStandardIds);
logger.info("商品信息{}", goodsList); logger.info("商品信息{}", goodsList);
@ -687,8 +710,10 @@ public class OrderController extends BaseController {
} }
// // 通过商品的类目ID获取类目信息 // // 通过商品的类目ID获取类目信息
// DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.selectOneByGoodsCategoryId(goods.getDeptGoodsCategoryId()); // DeptGoodsCategory deptGoodsCategory =
// if (deptGoodsCategory != null && deptGoodsCategory.getServiceCategoryId() != null) { // deptGoodsCategoryService.selectOneByGoodsCategoryId(goods.getDeptGoodsCategoryId());
// if (deptGoodsCategory != null && deptGoodsCategory.getServiceCategoryId() !=
// null) {
// logger.info("配件商品的服务类目ID: {}", deptGoodsCategory.getServiceCategoryId()); // logger.info("配件商品的服务类目ID: {}", deptGoodsCategory.getServiceCategoryId());
// // 通过服务类目ID查询对应的服务商品 // // 通过服务类目ID查询对应的服务商品
@ -696,7 +721,8 @@ public class OrderController extends BaseController {
// serviceGoodsQuery.setDeptGoodsCategoryId(deptGoodsCategory.getServiceCategoryId()); // serviceGoodsQuery.setDeptGoodsCategoryId(deptGoodsCategory.getServiceCategoryId());
// serviceGoodsQuery.setType(1); // 服务商品类型 // serviceGoodsQuery.setType(1); // 服务商品类型
// serviceGoodsQuery.setStatus(0); // 上架状态 // serviceGoodsQuery.setStatus(0); // 上架状态
// List<Goods> serviceGoodsList = goodsService.selectGoodsList(serviceGoodsQuery); // List<Goods> serviceGoodsList =
// goodsService.selectGoodsList(serviceGoodsQuery);
// if (CollectionUtils.isNotEmpty(serviceGoodsList)) { // if (CollectionUtils.isNotEmpty(serviceGoodsList)) {
// Goods serviceGoods = serviceGoodsList.get(0); // 取第一个服务商品 // Goods serviceGoods = serviceGoodsList.get(0); // 取第一个服务商品
// logger.info("找到对应的服务商品: {}", serviceGoods); // logger.info("找到对应的服务商品: {}", serviceGoods);
@ -734,14 +760,18 @@ public class OrderController extends BaseController {
orderMaster.setCreateTime(new Date()); orderMaster.setCreateTime(new Date());
orderMaster.setWorkerId(goods.getWorkerId()); orderMaster.setWorkerId(goods.getWorkerId());
orderMaster.setGoodsId(appOrderRequest.getGoodsId()); orderMaster.setGoodsId(appOrderRequest.getGoodsId());
// orderMaster.setRevTime(DateUtils.parseDate(appOrderRequest.getServerTime(), com.ghy.common.utils.DateUtils.YYYY_MM_DD_HH_MM_SS)); // orderMaster.setRevTime(DateUtils.parseDate(appOrderRequest.getServerTime(),
// com.ghy.common.utils.DateUtils.YYYY_MM_DD_HH_MM_SS));
orderMaster.setRemark(appOrderRequest.getRemark()); orderMaster.setRemark(appOrderRequest.getRemark());
orderMaster.setExpectTimeStart(DateUtils.parseDate(appOrderRequest.getExpectTimeStart(), com.ghy.common.utils.DateUtils.YYYY_MM_DD_HH_MM_SS)); orderMaster.setExpectTimeStart(DateUtils.parseDate(appOrderRequest.getExpectTimeStart(),
orderMaster.setExpectTimeEnd(DateUtils.parseDate(appOrderRequest.getExpectTimeEnd(), com.ghy.common.utils.DateUtils.YYYY_MM_DD_HH_MM_SS)); com.ghy.common.utils.DateUtils.YYYY_MM_DD_HH_MM_SS));
orderMaster.setExpectTimeEnd(DateUtils.parseDate(appOrderRequest.getExpectTimeEnd(),
com.ghy.common.utils.DateUtils.YYYY_MM_DD_HH_MM_SS));
orderMaster.setInsuranceId(appOrderRequest.getInsuranceId()); orderMaster.setInsuranceId(appOrderRequest.getInsuranceId());
// 处理新增订单的地址 // 处理新增订单的地址
CustomerAddress customerAddress = customerAddressService.selectByCustomerAddressId(appOrderRequest.getAddressId()); CustomerAddress customerAddress = customerAddressService
.selectByCustomerAddressId(appOrderRequest.getAddressId());
SysArea sysArea = sysAreaService.selectById(customerAddress.getStreetId()); SysArea sysArea = sysAreaService.selectById(customerAddress.getStreetId());
String addressSysArea = sysArea.getMergerName(); String addressSysArea = sysArea.getMergerName();
String[] array = addressSysArea.split(","); String[] array = addressSysArea.split(",");
@ -759,7 +789,6 @@ public class OrderController extends BaseController {
orderMaster.setStreetId(customerAddress.getStreetId()); orderMaster.setStreetId(customerAddress.getStreetId());
orderMaster.setStreetName(array[3]); orderMaster.setStreetName(array[3]);
// TODO 优惠金额不知道咋算 暂时先给0 // TODO 优惠金额不知道咋算 暂时先给0
BigDecimal discountMoney = BigDecimal.ZERO; BigDecimal discountMoney = BigDecimal.ZERO;
BigDecimal payMoney = totalPay.subtract(discountMoney); BigDecimal payMoney = totalPay.subtract(discountMoney);
@ -767,7 +796,8 @@ public class OrderController extends BaseController {
// 保险金额 // 保险金额
if (appOrderRequest.getInsuranceId() != null) { if (appOrderRequest.getInsuranceId() != null) {
InsuranceManager manager = insuranceManagerService.selectInsuranceManagerById(appOrderRequest.getInsuranceId()); InsuranceManager manager = insuranceManagerService
.selectInsuranceManagerById(appOrderRequest.getInsuranceId());
if (manager != null) { if (manager != null) {
payMoney = payMoney.add(manager.getInsuranceAmount()); payMoney = payMoney.add(manager.getInsuranceAmount());
insuranceMoney = insuranceMoney.add(manager.getInsuranceAmount()); insuranceMoney = insuranceMoney.add(manager.getInsuranceAmount());
@ -788,8 +818,8 @@ public class OrderController extends BaseController {
financialMasterService.insertFinancialMaster(financialMaster); financialMasterService.insertFinancialMaster(financialMaster);
Assert.notNull(financialMaster.getId(), "FinancialMaster.id is null!"); Assert.notNull(financialMaster.getId(), "FinancialMaster.id is null!");
// createFinancialDetail(goodsList.get(0).getDeptGoodsCategoryId(), deptId,
// createFinancialDetail(goodsList.get(0).getDeptGoodsCategoryId(), deptId, customer, payMoney, financialMaster); // customer, payMoney, financialMaster);
// 生成财务子单 // 生成财务子单
createFinancialDetail(appGoodsList, deptId, customer, payMoney, financialMaster, insuranceMoney); createFinancialDetail(appGoodsList, deptId, customer, payMoney, financialMaster, insuranceMoney);
@ -816,12 +846,12 @@ public class OrderController extends BaseController {
paramsNew.put("thing14", address.getName()); paramsNew.put("thing14", address.getName());
// 预约时间 // 预约时间
paramsNew.put("time4", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", new Date())); paramsNew.put("time4", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", new Date()));
WechatMsgUtils.sendWeChatMsg(WechatMsgUtils.getToken(), worker.getWxOpenId(), WxMsgEnum.NORMAL_ORDER, paramsNew); WechatMsgUtils.sendWeChatMsg(WechatMsgUtils.getToken(), worker.getWxOpenId(), WxMsgEnum.NORMAL_ORDER,
paramsNew);
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(), e); logger.error(e.getMessage(), e);
} }
return AjaxResult.success(orderMaster); return AjaxResult.success(orderMaster);
} }
@ -845,18 +875,23 @@ public class OrderController extends BaseController {
for (int index = 0; index < goodsRequest.getNum(); index++) { for (int index = 0; index < goodsRequest.getNum(); index++) {
// 一级分销 = 商品单价 * 扣点比例 // 一级分销 = 商品单价 * 扣点比例
oneMoney = oneMoney oneMoney = oneMoney
.add(goodsStandard.getGoodsPrice().multiply(BigDecimal.valueOf(Double.parseDouble(deptGoodsCategory.getOneRate())))); .add(goodsStandard.getGoodsPrice()
.multiply(BigDecimal.valueOf(Double.parseDouble(deptGoodsCategory.getOneRate()))));
// 二级分销 = 商品单价 * 扣点比例 // 二级分销 = 商品单价 * 扣点比例
twoMoney = twoMoney.add(goodsStandard.getGoodsPrice().multiply(BigDecimal.valueOf(Double.parseDouble(deptGoodsCategory.getTwoRate())))); twoMoney = twoMoney.add(goodsStandard.getGoodsPrice()
.multiply(BigDecimal.valueOf(Double.parseDouble(deptGoodsCategory.getTwoRate()))));
// 三级分销 = 提成额 + 商品单价 * 扣点比例 // 三级分销 = 提成额 + 商品单价 * 扣点比例
threeMoney = threeMoney.add(goodsStandard.getExtMoney()) threeMoney = threeMoney.add(goodsStandard.getExtMoney())
.add(goodsStandard.getGoodsPrice().multiply(BigDecimal.valueOf(Double.parseDouble(deptGoodsCategory.getThreeRate())))); .add(goodsStandard.getGoodsPrice()
.multiply(BigDecimal.valueOf(Double.parseDouble(deptGoodsCategory.getThreeRate()))));
// 平台扣点 = 平台金额 + 商品单价 * 扣点比例 // 平台扣点 = 平台金额 + 商品单价 * 扣点比例
deptMoney = deptMoney.add(deptGoodsCategory.getDeptMoney()) deptMoney = deptMoney.add(deptGoodsCategory.getDeptMoney())
.add(goodsStandard.getGoodsPrice().multiply(BigDecimal.valueOf(Double.parseDouble(deptGoodsCategory.getDeptRate())))); .add(goodsStandard.getGoodsPrice()
.multiply(BigDecimal.valueOf(Double.parseDouble(deptGoodsCategory.getDeptRate()))));
// 截流扣点 = 截流金额 + 商品单价 * 扣点比例 // 截流扣点 = 截流金额 + 商品单价 * 扣点比例
specialMoney = specialMoney.add(deptGoodsCategory.getRetainMoney()) specialMoney = specialMoney.add(deptGoodsCategory.getRetainMoney())
.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);
@ -865,7 +900,8 @@ public class OrderController extends BaseController {
// 平台扣点记录 // 平台扣点记录
FinancialDetail deptDetail = new FinancialDetail(deptId, financialDetailService.createCode(), FinancialDetail deptDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
financialMaster.getId(), financialMaster.getCode(), deptMoney, FinancialDetailType.PLATFORM_FEE.getCode(), null); financialMaster.getId(), financialMaster.getCode(), deptMoney,
FinancialDetailType.PLATFORM_FEE.getCode(), null);
financialDetailService.insertFinancialDetail(deptDetail); financialDetailService.insertFinancialDetail(deptDetail);
// 剩余服务金额 // 剩余服务金额
@ -873,7 +909,8 @@ public class OrderController extends BaseController {
// 截流扣点记录 // 截流扣点记录
FinancialDetail retainDetail = new FinancialDetail(deptId, financialDetailService.createCode(), FinancialDetail retainDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
financialMaster.getId(), financialMaster.getCode(), specialMoney, FinancialDetailType.PLATFORM_FEE.getCode(), null); financialMaster.getId(), financialMaster.getCode(), specialMoney,
FinancialDetailType.PLATFORM_FEE.getCode(), null);
financialDetailService.insertFinancialDetail(retainDetail); financialDetailService.insertFinancialDetail(retainDetail);
// 剩余服务金额 // 剩余服务金额
@ -893,7 +930,8 @@ public class OrderController extends BaseController {
// 一级分销 // 一级分销
if (customerPlaceId != null) { if (customerPlaceId != null) {
FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(), FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
financialMaster.getId(), financialMaster.getCode(), threeMoney, FinancialDetailType.PLACE_FEE.getCode(), customerPlaceId); financialMaster.getId(), financialMaster.getCode(), threeMoney,
FinancialDetailType.PLACE_FEE.getCode(), customerPlaceId);
financialDetailService.insertFinancialDetail(financialDetail); financialDetailService.insertFinancialDetail(financialDetail);
// 剩余服务金额 // 剩余服务金额
@ -903,7 +941,8 @@ public class OrderController extends BaseController {
// 二级分销 // 二级分销
if (parentCustomerPlaceId != null) { if (parentCustomerPlaceId != null) {
FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(), FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
financialMaster.getId(), financialMaster.getCode(), twoMoney, FinancialDetailType.PLACE_FEE.getCode(), parentCustomerPlaceId); financialMaster.getId(), financialMaster.getCode(), twoMoney,
FinancialDetailType.PLACE_FEE.getCode(), parentCustomerPlaceId);
financialDetailService.insertFinancialDetail(financialDetail); financialDetailService.insertFinancialDetail(financialDetail);
// 剩余服务金额 // 剩余服务金额
@ -911,7 +950,8 @@ public class OrderController extends BaseController {
} else if (customerPlaceId != null) { } else if (customerPlaceId != null) {
// 二级没有且三级有 // 二级没有且三级有
FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(), FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
financialMaster.getId(), financialMaster.getCode(), twoMoney, FinancialDetailType.PLACE_FEE.getCode(), customerPlaceId); financialMaster.getId(), financialMaster.getCode(), twoMoney,
FinancialDetailType.PLACE_FEE.getCode(), customerPlaceId);
financialDetailService.insertFinancialDetail(financialDetail); financialDetailService.insertFinancialDetail(financialDetail);
// 剩余服务金额 // 剩余服务金额
@ -922,7 +962,8 @@ public class OrderController extends BaseController {
if (reparentCustomerPlaceId != null) { if (reparentCustomerPlaceId != null) {
// 平台分销 // 平台分销
FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(), FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
financialMaster.getId(), financialMaster.getCode(), oneMoney, FinancialDetailType.PLACE_FEE.getCode(), reparentCustomerPlaceId); financialMaster.getId(), financialMaster.getCode(), oneMoney,
FinancialDetailType.PLACE_FEE.getCode(), reparentCustomerPlaceId);
financialDetailService.insertFinancialDetail(financialDetail); financialDetailService.insertFinancialDetail(financialDetail);
// 剩余服务金额 // 剩余服务金额
@ -930,7 +971,8 @@ public class OrderController extends BaseController {
} else if (parentCustomerPlaceId != null) { } else if (parentCustomerPlaceId != null) {
// 平台分销 // 平台分销
FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(), FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
financialMaster.getId(), financialMaster.getCode(), oneMoney, FinancialDetailType.PLACE_FEE.getCode(), parentCustomerPlaceId); financialMaster.getId(), financialMaster.getCode(), oneMoney,
FinancialDetailType.PLACE_FEE.getCode(), parentCustomerPlaceId);
financialDetailService.insertFinancialDetail(financialDetail); financialDetailService.insertFinancialDetail(financialDetail);
// 剩余服务金额 // 剩余服务金额
@ -938,7 +980,8 @@ public class OrderController extends BaseController {
} else if (customerPlaceId != null) { } else if (customerPlaceId != null) {
// 平台分销 // 平台分销
FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(), FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
financialMaster.getId(), financialMaster.getCode(), oneMoney, FinancialDetailType.PLACE_FEE.getCode(), customerPlaceId); financialMaster.getId(), financialMaster.getCode(), oneMoney,
FinancialDetailType.PLACE_FEE.getCode(), customerPlaceId);
financialDetailService.insertFinancialDetail(financialDetail); financialDetailService.insertFinancialDetail(financialDetail);
// 剩余服务金额 // 剩余服务金额
@ -958,7 +1001,8 @@ public class OrderController extends BaseController {
* @param payMoney 实付金额 * @param payMoney 实付金额
* @param financialMaster 财务主单 * @param financialMaster 财务主单
*/ */
private void createFinancialDetail(Long deptGoodsCategoryId, Long deptId, Customer customer, BigDecimal payMoney, FinancialMaster financialMaster) { private void createFinancialDetail(Long deptGoodsCategoryId, Long deptId, Customer customer, BigDecimal payMoney,
FinancialMaster financialMaster) {
// 是否为0元购 是的话下面就不用多级分销了 // 是否为0元购 是的话下面就不用多级分销了
if (BigDecimal.ZERO.compareTo(payMoney) == 0) { if (BigDecimal.ZERO.compareTo(payMoney) == 0) {
return; return;
@ -972,7 +1016,8 @@ public class OrderController extends BaseController {
BigDecimal deptTotal = payMoney.multiply(deptRate).add(deptMoney); BigDecimal deptTotal = payMoney.multiply(deptRate).add(deptMoney);
FinancialDetail deptDetail = new FinancialDetail(deptId, financialDetailService.createCode(), FinancialDetail deptDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
financialMaster.getId(), financialMaster.getCode(), deptTotal, FinancialDetailType.PLATFORM_FEE.getCode(), null); financialMaster.getId(), financialMaster.getCode(), deptTotal,
FinancialDetailType.PLATFORM_FEE.getCode(), null);
financialDetailService.insertFinancialDetail(deptDetail); financialDetailService.insertFinancialDetail(deptDetail);
/* 2 截留扣点 */ /* 2 截留扣点 */
@ -982,7 +1027,8 @@ public class OrderController extends BaseController {
BigDecimal retainTotal = payMoney.multiply(retainRate).add(retainMoney); BigDecimal retainTotal = payMoney.multiply(retainRate).add(retainMoney);
FinancialDetail retainDetail = new FinancialDetail(deptId, financialDetailService.createCode(), FinancialDetail retainDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
financialMaster.getId(), financialMaster.getCode(), retainTotal, FinancialDetailType.PLATFORM_FEE.getCode(), null); financialMaster.getId(), financialMaster.getCode(), retainTotal,
FinancialDetailType.PLATFORM_FEE.getCode(), null);
financialDetailService.insertFinancialDetail(retainDetail); financialDetailService.insertFinancialDetail(retainDetail);
/* 3 分销扣点 */ /* 3 分销扣点 */
@ -996,7 +1042,8 @@ public class OrderController extends BaseController {
// 一级分销 // 一级分销
if (customerPlaceId != null) { if (customerPlaceId != null) {
FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(), FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
financialMaster.getId(), financialMaster.getCode(), onePlaceMoney, FinancialDetailType.PLACE_FEE.getCode(), customerPlaceId); financialMaster.getId(), financialMaster.getCode(), onePlaceMoney,
FinancialDetailType.PLACE_FEE.getCode(), customerPlaceId);
financialDetailService.insertFinancialDetail(financialDetail); financialDetailService.insertFinancialDetail(financialDetail);
} else { } else {
deptPlaceTotal = deptPlaceTotal.add(onePlaceMoney); deptPlaceTotal = deptPlaceTotal.add(onePlaceMoney);
@ -1006,7 +1053,8 @@ public class OrderController extends BaseController {
Long parentCustomerPlaceId = customer.getParentCustomerPlace(); Long parentCustomerPlaceId = customer.getParentCustomerPlace();
if (parentCustomerPlaceId != null) { if (parentCustomerPlaceId != null) {
FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(), FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
financialMaster.getId(), financialMaster.getCode(), twoPlaceMoney, FinancialDetailType.PLACE_FEE.getCode(), parentCustomerPlaceId); financialMaster.getId(), financialMaster.getCode(), twoPlaceMoney,
FinancialDetailType.PLACE_FEE.getCode(), parentCustomerPlaceId);
financialDetailService.insertFinancialDetail(financialDetail); financialDetailService.insertFinancialDetail(financialDetail);
} else { } else {
deptPlaceTotal = deptPlaceTotal.add(twoPlaceMoney); deptPlaceTotal = deptPlaceTotal.add(twoPlaceMoney);
@ -1015,7 +1063,8 @@ public class OrderController extends BaseController {
// 平台分销 // 平台分销
deptPlaceTotal = deptPlaceTotal.add(threePlaceMoney); deptPlaceTotal = deptPlaceTotal.add(threePlaceMoney);
FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(), FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
financialMaster.getId(), financialMaster.getCode(), deptPlaceTotal, FinancialDetailType.PLACE_FEE.getCode(), null); financialMaster.getId(), financialMaster.getCode(), deptPlaceTotal,
FinancialDetailType.PLACE_FEE.getCode(), null);
financialDetailService.insertFinancialDetail(financialDetail); financialDetailService.insertFinancialDetail(financialDetail);
// 更新订单服务金额 // 更新订单服务金额
@ -1065,22 +1114,28 @@ public class OrderController extends BaseController {
response.setServingOrderNum(orderDetailService.countOrderDetailList(orderDetail)); response.setServingOrderNum(orderDetailService.countOrderDetailList(orderDetail));
// 统计待确认单量 // 统计待确认单量
orderDetail.setOrderStatus(null); orderDetail.setOrderStatus(null);
orderDetail.setOrderStatusList(new ArrayList<Integer>() {{ orderDetail.setOrderStatusList(new ArrayList<Integer>() {
{
add(4); add(4);
add(5); add(5);
}}); }
});
orderDetail.setWorkFinishTimeExisted(true); orderDetail.setWorkFinishTimeExisted(true);
orderDetail.setDrawCashStatusList(new ArrayList<Integer>() {{ orderDetail.setDrawCashStatusList(new ArrayList<Integer>() {
{
add(0); add(0);
add(1); add(1);
}}); }
});
response.setWaitSureOrderNum(orderDetailService.countOrderDetailList(orderDetail)); response.setWaitSureOrderNum(orderDetailService.countOrderDetailList(orderDetail));
orderDetail.setOrderStatusList(null); orderDetail.setOrderStatusList(null);
// 统计已完成子单量 // 统计已完成子单量
orderDetail.setOrderStatus(OrderStatus.FINISH.code()); orderDetail.setOrderStatus(OrderStatus.FINISH.code());
orderDetail.setDrawCashStatusList(new ArrayList<Integer>() {{ orderDetail.setDrawCashStatusList(new ArrayList<Integer>() {
{
add(2); add(2);
}}); }
});
response.setFinishedOrderNum(orderDetailService.countOrderDetailList(orderDetail)); response.setFinishedOrderNum(orderDetailService.countOrderDetailList(orderDetail));
orderDetail.setWorkFinishTimeExisted(false); orderDetail.setWorkFinishTimeExisted(false);
orderDetail.setDrawCashStatusList(null); orderDetail.setDrawCashStatusList(null);
@ -1091,7 +1146,15 @@ public class OrderController extends BaseController {
orderMaster.setOrderStatus(null); orderMaster.setOrderStatus(null);
orderMaster.setIsMonitoredOrder(true); orderMaster.setIsMonitoredOrder(true);
orderMaster.setAllSelfAssigned(0); orderMaster.setAllSelfAssigned(0);
response.setMonitoredOrderNum(orderMasterService.countOrderMasterList(orderMaster)); Long monitoredOrderNum = orderMasterService.countOrderMasterList(orderMaster);
if (orderMaster.getOrderType()!=null&&orderMaster.getOrderType() == 0) {
OrderMaster origiOrderMaster = new OrderMaster();
origiOrderMaster.setOriginalWorkerId(orderMaster.getWorkerId());
List<OrderMaster> originalList = orderMasterService.selectOrderMasterList(origiOrderMaster);
monitoredOrderNum += originalList.size();
}
response.setMonitoredOrderNum(monitoredOrderNum);
orderMaster.setIsMonitoredOrder(false); orderMaster.setIsMonitoredOrder(false);
orderMaster.setAllSelfAssigned(null); orderMaster.setAllSelfAssigned(null);
// 统计搁置单量 // 统计搁置单量
@ -1174,14 +1237,14 @@ public class OrderController extends BaseController {
.filter(order -> order.getOrderStatus() != 6) // 先过滤状态不等于6的订单 .filter(order -> order.getOrderStatus() != 6) // 先过滤状态不等于6的订单
.filter(order -> order.getOrderStatus() != 5) .filter(order -> order.getOrderStatus() != 5)
.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)) {
masterIdSet = result.stream().map(OrderDetail::getOrderMasterId).collect(Collectors.toList()); masterIdSet = result.stream().map(OrderDetail::getOrderMasterId).collect(Collectors.toList());
} }
@ -1211,7 +1274,8 @@ public class OrderController extends BaseController {
// 查询该主单下所有售后中的子单 // 查询该主单下所有售后中的子单
OrderDetail detailAfterListOfMasterQry = new OrderDetail(); OrderDetail detailAfterListOfMasterQry = new OrderDetail();
detailAfterListOfMasterQry.setOrderMasterCode(master.getCode()); detailAfterListOfMasterQry.setOrderMasterCode(master.getCode());
List<OrderDetail> tmpDetailListOfMasters = orderDetailService.selectOrderDetailList(detailAfterListOfMasterQry); List<OrderDetail> tmpDetailListOfMasters = orderDetailService
.selectOrderDetailList(detailAfterListOfMasterQry);
List<OrderListResponse> detailListOfMasters = new ArrayList<>(); List<OrderListResponse> detailListOfMasters = new ArrayList<>();
tmpDetailListOfMasters.forEach(model -> { tmpDetailListOfMasters.forEach(model -> {
OrderListResponse response = new OrderListResponse(); OrderListResponse response = new OrderListResponse();
@ -1224,7 +1288,8 @@ 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);
} }
@ -1233,7 +1298,8 @@ public class OrderController extends BaseController {
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();
} }
@ -1264,19 +1330,24 @@ public class OrderController extends BaseController {
orderListResponses.addAll(detailList); orderListResponses.addAll(detailList);
// List<OrderListResponse> allList = new ArrayList<>(); // List<OrderListResponse> 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) {
// // 增加主单下子单有超时的 // // 增加主单下子单有超时的
// // 增加主单下子单有超时的 // // 增加主单下子单有超时的
// OrderMaster param = new OrderMaster(); // OrderMaster param = new OrderMaster();
// param.setWorkerId(orderListRequest.getWorkerId()); // param.setWorkerId(orderListRequest.getWorkerId());
// List<OrderMaster> allOrderMaster = orderMasterService.selectOrderMasterList(param); // List<OrderMaster> allOrderMaster =
// orderMasterService.selectOrderMasterList(param);
// if(CollectionUtils.isNotEmpty(allOrderMaster)){ // if(CollectionUtils.isNotEmpty(allOrderMaster)){
// OrderDetail countParam = new OrderDetail(); // OrderDetail countParam = new OrderDetail();
// countParam.setMasterIds(allOrderMaster.stream().map(OrderMaster::getId).collect(Collectors.toList())); // countParam.setMasterIds(allOrderMaster.stream().map(OrderMaster::getId).collect(Collectors.toList()));
// List<OrderDetail> orderDetails = orderDetailService.selectOrderDetailList(countParam); // List<OrderDetail> orderDetails =
// List<OrderDetail> result = orderDetails.stream().filter(s -> s.getTimeout().equals(1)).collect(Collectors.toList()); // orderDetailService.selectOrderDetailList(countParam);
// List<OrderDetail> result = orderDetails.stream().filter(s ->
// s.getTimeout().equals(1)).collect(Collectors.toList());
// if (CollectionUtils.isNotEmpty(result)) { // if (CollectionUtils.isNotEmpty(result)) {
// masterIdSet = result.stream().map(OrderDetail::getOrderMasterId).collect(Collectors.toList()); // masterIdSet =
// result.stream().map(OrderDetail::getOrderMasterId).collect(Collectors.toList());
// } // }
// } // }
// if (CollectionUtils.isNotEmpty(masterIdSet)) { // if (CollectionUtils.isNotEmpty(masterIdSet)) {
@ -1295,17 +1366,21 @@ public class OrderController extends BaseController {
// allList.addAll(masterList); // allList.addAll(masterList);
// 超时查询需要排除同个师傅的主单子单同时出现 // 超时查询需要排除同个师傅的主单子单同时出现
// if (orderListRequest.getTimeout() != null && orderListRequest.getTimeout() == 1) { // if (orderListRequest.getTimeout() != null && orderListRequest.getTimeout() ==
// 1) {
// // 需要排除同个师傅的主单子单同时出现 // // 需要排除同个师傅的主单子单同时出现
// List<OrderListResponse> filteredMasterList = new ArrayList<OrderListResponse>(); // List<OrderListResponse> filteredMasterList = new
// ArrayList<OrderListResponse>();
// for (OrderListResponse master : allList) { // for (OrderListResponse master : allList) {
// boolean isKeep = false; // boolean isKeep = false;
// // 查询该主单下所有售后中的子单 // // 查询该主单下所有售后中的子单
// OrderDetail detailAfterListOfMasterQry = new OrderDetail(); // OrderDetail detailAfterListOfMasterQry = new OrderDetail();
// detailAfterListOfMasterQry.setOrderMasterCode(master.getOrderMasterCode()); // detailAfterListOfMasterQry.setOrderMasterCode(master.getOrderMasterCode());
// List<OrderListResponse> detailListOfMasters = this.getDetailList(detailAfterListOfMasterQry); // List<OrderListResponse> detailListOfMasters =
// this.getDetailList(detailAfterListOfMasterQry);
// for (OrderListResponse detailListOfMaster : detailListOfMasters) { // for (OrderListResponse detailListOfMaster : detailListOfMasters) {
// if (!detailListOfMaster.getWorkerId().equals(orderListRequest.getWorkerId())) { // if (!detailListOfMaster.getWorkerId().equals(orderListRequest.getWorkerId()))
// {
// isKeep = true; // isKeep = true;
// break; // break;
// } // }
@ -1331,7 +1406,8 @@ public class OrderController extends BaseController {
Collections.sort(orderListResponses, new Comparator<OrderListResponse>() { Collections.sort(orderListResponses, new Comparator<OrderListResponse>() {
@Override @Override
public int compare(OrderListResponse o1, OrderListResponse o2) { public int compare(OrderListResponse o1, OrderListResponse o2) {
if (Objects.equals(orderListRequest.getOrderStatus(), 0) || Objects.equals(orderListRequest.getTimeout(), 1)) { if (Objects.equals(orderListRequest.getOrderStatus(), 0)
|| Objects.equals(orderListRequest.getTimeout(), 1)) {
return o2.getCreateTime().compareTo(o1.getCreateTime()); return o2.getCreateTime().compareTo(o1.getCreateTime());
} else { } else {
return o2.getUpdateTime().compareTo(o1.getUpdateTime()); return o2.getUpdateTime().compareTo(o1.getUpdateTime());
@ -1375,7 +1451,8 @@ public class OrderController extends BaseController {
break; break;
} }
} }
long count = detailAfterListOfMasters.stream().filter(x -> (x.getAfterTimeout() != null && x.getAfterTimeout() == 1)).count(); long count = detailAfterListOfMasters.stream()
.filter(x -> (x.getAfterTimeout() != null && x.getAfterTimeout() == 1)).count();
if (isKeep) { if (isKeep) {
if (count > 0) { if (count > 0) {
master.setAfterTimeout(1); master.setAfterTimeout(1);
@ -1401,9 +1478,11 @@ public class OrderController extends BaseController {
// 查所有售后的单 // 查所有售后的单
AfterServiceRecord afterServiceRecord = new AfterServiceRecord(); AfterServiceRecord afterServiceRecord = new AfterServiceRecord();
afterServiceRecord.setExcludeAfterServiceFinished(Boolean.TRUE); afterServiceRecord.setExcludeAfterServiceFinished(Boolean.TRUE);
List<AfterServiceRecord> afterServiceRecordList = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord); List<AfterServiceRecord> afterServiceRecordList = afterServiceRecordService
.selectAfterServiceRecordList(afterServiceRecord);
// 踢重后的子单ids // 踢重后的子单ids
List<Long> detailIds = afterServiceRecordList.stream().map(AfterServiceRecord::getOrderDetailId).distinct().collect(Collectors.toList()); List<Long> detailIds = afterServiceRecordList.stream().map(AfterServiceRecord::getOrderDetailId).distinct()
.collect(Collectors.toList());
StringBuilder orderDetailIds = new StringBuilder(); StringBuilder orderDetailIds = new StringBuilder();
OrderDetail orderDetail = new OrderDetail(); OrderDetail orderDetail = new OrderDetail();
orderDetail.setCustomerId(orderMaster.getCustomerId()); orderDetail.setCustomerId(orderMaster.getCustomerId());
@ -1445,20 +1524,23 @@ public class OrderController extends BaseController {
Worker worker = master.getWorkerId() != null ? workerService.selectById(master.getWorkerId()) : null; Worker worker = master.getWorkerId() != null ? workerService.selectById(master.getWorkerId()) : null;
// 消费者信息 // 消费者信息
// Customer customer = customerService.selectByCustomerId(master.getCustomerId()); // Customer customer =
// customerService.selectByCustomerId(master.getCustomerId());
// 商品规格及信息 // 商品规格及信息
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(master.getGoodsId()); Goods goods = goodsService.selectById(master.getGoodsId());
if (goods.getDeptGoodsCategoryId() != null) { if (goods.getDeptGoodsCategoryId() != null) {
Long categoryId = null; Long categoryId = null;
// 前端发单和后台派单 // 前端发单和后台派单
if (com.ghy.common.utils.StringUtils.isEmpty(orderMaster.getOrderMode())) { if (com.ghy.common.utils.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();
} }
@ -1491,9 +1573,11 @@ public class OrderController extends BaseController {
// // 查询子单加价记录 // // 查询子单加价记录
// FinancialChangeRecord changeRecordQry = new FinancialChangeRecord(); // FinancialChangeRecord changeRecordQry = new FinancialChangeRecord();
// changeRecordQry.setOrderDetailId(detail.getId()); // changeRecordQry.setOrderDetailId(detail.getId());
// List<FinancialChangeRecord> financialChangeRecords = financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry); // List<FinancialChangeRecord> financialChangeRecords =
// financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry);
// if (CollectionUtils.isNotEmpty(financialChangeRecords)) { // if (CollectionUtils.isNotEmpty(financialChangeRecords)) {
// totalChangeMoney = totalChangeMoney.add(financialChangeRecords.get(0).getChangeMoney()); // totalChangeMoney =
// totalChangeMoney.add(financialChangeRecords.get(0).getChangeMoney());
// } // }
// } // }
// totalPayMoney = totalPayMoney.add(totalChangeMoney); // totalPayMoney = totalPayMoney.add(totalChangeMoney);
@ -1514,7 +1598,8 @@ public class OrderController extends BaseController {
detailOrderList.stream().forEach(detail -> { detailOrderList.stream().forEach(detail -> {
AfterServiceRecord afterServiceRecordQry = new AfterServiceRecord(); AfterServiceRecord afterServiceRecordQry = new AfterServiceRecord();
afterServiceRecordQry.setOrderDetailId(detail.getId()); afterServiceRecordQry.setOrderDetailId(detail.getId());
List<AfterServiceRecord> records = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecordQry); List<AfterServiceRecord> records = afterServiceRecordService
.selectAfterServiceRecordList(afterServiceRecordQry);
afterServiceRecords.addAll(records); afterServiceRecords.addAll(records);
}); });
@ -1546,8 +1631,10 @@ 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(
orderListResponse.setCustomerPhone(StringUtils.isNotEmpty(master.getPhone()) ? master.getPhone() : customerAddress.getPhone()); StringUtils.isNotEmpty(master.getName()) ? master.getName() : customerAddress.getName());
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());
@ -1576,10 +1663,13 @@ public class OrderController extends BaseController {
AfterServiceRecord afterServiceRecord = new AfterServiceRecord(); AfterServiceRecord afterServiceRecord = new AfterServiceRecord();
afterServiceRecord.setExcludeAfterServiceFinished(Boolean.TRUE); afterServiceRecord.setExcludeAfterServiceFinished(Boolean.TRUE);
afterServiceRecord.setNeedImgs(orderDetail.getNeedImgs()); afterServiceRecord.setNeedImgs(orderDetail.getNeedImgs());
List<AfterServiceRecord> afterServiceRecordList = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord); List<AfterServiceRecord> afterServiceRecordList = afterServiceRecordService
Map<Long, List<AfterServiceRecord>> detailRecordMap = afterServiceRecordList.stream().collect(Collectors.groupingBy(record -> record.getOrderDetailId())); .selectAfterServiceRecordList(afterServiceRecord);
Map<Long, List<AfterServiceRecord>> detailRecordMap = afterServiceRecordList.stream()
.collect(Collectors.groupingBy(record -> record.getOrderDetailId()));
// 踢重后的子单ids // 踢重后的子单ids
List<Long> detailIds = afterServiceRecordList.stream().map(AfterServiceRecord::getOrderDetailId).distinct().collect(Collectors.toList()); List<Long> detailIds = afterServiceRecordList.stream().map(AfterServiceRecord::getOrderDetailId).distinct()
.collect(Collectors.toList());
StringBuilder orderDetailIds = new StringBuilder(); StringBuilder orderDetailIds = new StringBuilder();
detailIds.forEach(id -> { detailIds.forEach(id -> {
orderDetailIds.append(id).append(","); orderDetailIds.append(id).append(",");
@ -1607,24 +1697,28 @@ public class OrderController 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();
} }
// 消费者信息 // 消费者信息
// Customer customer = customerService.selectByCustomerId(detail.getCustomerId()); // Customer customer =
// customerService.selectByCustomerId(detail.getCustomerId());
// 商品规格及信息 // 商品规格及信息
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(orderMaster.getGoodsId()); Goods goods = goodsService.selectById(orderMaster.getGoodsId());
if (goods.getDeptGoodsCategoryId() != null) { if (goods.getDeptGoodsCategoryId() != null) {
Long categoryId = null; Long categoryId = null;
// 前端发单和后台派单 // 前端发单和后台派单
if (com.ghy.common.utils.StringUtils.isEmpty(orderMaster.getOrderMode())) { if (com.ghy.common.utils.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();
} }
@ -1654,8 +1748,10 @@ public class OrderController extends BaseController {
BigDecimal detailPayMoney = financialDetail.getPayMoney(); BigDecimal detailPayMoney = financialDetail.getPayMoney();
// 查询子单加价记录 // 查询子单加价记录
FinancialChangeRecord financialChangeRecord = financialChangeRecordService.selectNotPayRecordByDetailId(detail.getId()); FinancialChangeRecord financialChangeRecord = financialChangeRecordService
BigDecimal changeMoney = financialChangeRecord == null ? BigDecimal.ZERO : financialChangeRecord.getChangeMoney(); .selectNotPayRecordByDetailId(detail.getId());
BigDecimal changeMoney = financialChangeRecord == null ? BigDecimal.ZERO
: financialChangeRecord.getChangeMoney();
// 地址信息 // 地址信息
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId()); CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId());
@ -1678,9 +1774,11 @@ public class OrderController extends BaseController {
} }
if (this.checkIsOnlyServer(orderMaster.getId(), detail.getWorkerId())) { if (this.checkIsOnlyServer(orderMaster.getId(), detail.getWorkerId())) {
FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(detail.getOrderMasterId()); FinancialMaster financialMaster = financialMasterService
.selectByOrderMasterId(detail.getOrderMasterId());
BigDecimal workerFee = financialMaster.getPayMoney(); BigDecimal workerFee = financialMaster.getPayMoney();
List<FinancialDetail> financialDetailList = financialDetailService.selectByFinancialMasterId(financialMaster.getId()); List<FinancialDetail> financialDetailList = financialDetailService
.selectByFinancialMasterId(financialMaster.getId());
for (FinancialDetail param : financialDetailList) { for (FinancialDetail param : financialDetailList) {
if (!detail.getWorkerId().equals(param.getPayeeId())) { if (!detail.getWorkerId().equals(param.getPayeeId())) {
workerFee = workerFee.subtract(param.getPayMoney()); workerFee = workerFee.subtract(param.getPayMoney());
@ -1693,7 +1791,6 @@ public class OrderController extends BaseController {
orderListResponse.setIsOnlyServ(Boolean.FALSE); orderListResponse.setIsOnlyServ(Boolean.FALSE);
} }
// 编辑返回属性 // 编辑返回属性
orderListResponse.setGoodsBrand(orderMaster.getGoodsBrand()); orderListResponse.setGoodsBrand(orderMaster.getGoodsBrand());
orderListResponse.setGoodsSpecification(orderMaster.getGoodsSpecification()); orderListResponse.setGoodsSpecification(orderMaster.getGoodsSpecification());
@ -1708,8 +1805,10 @@ 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(
orderListResponse.setCustomerPhone(StringUtils.isNotEmpty(orderMaster.getPhone()) ? orderMaster.getPhone() : customerAddress.getPhone()); StringUtils.isNotEmpty(orderMaster.getName()) ? orderMaster.getName() : customerAddress.getName());
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());
@ -1751,7 +1850,8 @@ public class OrderController extends BaseController {
OrderDetail masterIdsParam = new OrderDetail(); OrderDetail masterIdsParam = new OrderDetail();
masterIdsParam.setMasterIds(orderMasterIds); masterIdsParam.setMasterIds(orderMasterIds);
List<OrderDetail> orderDetailsList = orderDetailService.selectOrderDetailList(masterIdsParam); List<OrderDetail> orderDetailsList = orderDetailService.selectOrderDetailList(masterIdsParam);
Map<Long, List<OrderDetail>> orderMasterIdsMap = orderDetailsList.stream().collect(Collectors.groupingBy(OrderDetail::getOrderMasterId)); Map<Long, List<OrderDetail>> orderMasterIdsMap = orderDetailsList.stream()
.collect(Collectors.groupingBy(OrderDetail::getOrderMasterId));
// -- 都是同一个师傅的,师傅信息 // -- 都是同一个师傅的,师傅信息
Worker worker = orderMaster.getWorkerId() != null ? workerService.selectById(orderMaster.getWorkerId()) : null; Worker worker = orderMaster.getWorkerId() != null ? workerService.selectById(orderMaster.getWorkerId()) : null;
@ -1770,15 +1870,18 @@ 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(master.getGoodsId()); Goods goods = goodsService.selectById(master.getGoodsId());
// 填充商品三级类目 // 填充商品三级类目
if (goods.getDeptGoodsCategoryId() != null) { if (goods.getDeptGoodsCategoryId() != null) {
Long categoryId = null; Long categoryId = null;
// 前端发单和后台派单 // 前端发单和后台派单
if (com.ghy.common.utils.StringUtils.isEmpty(orderMaster.getOrderMode()) || "01".equals(orderMaster.getConsultMode())) { if (com.ghy.common.utils.StringUtils.isEmpty(orderMaster.getOrderMode())
DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.selectOneByGoodsCategoryId(goods.getDeptGoodsCategoryId()); || "01".equals(orderMaster.getConsultMode())) {
DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService
.selectOneByGoodsCategoryId(goods.getDeptGoodsCategoryId());
if (deptGoodsCategory != null) { if (deptGoodsCategory != null) {
categoryId = deptGoodsCategory.getGoodsCategoryId(); categoryId = deptGoodsCategory.getGoodsCategoryId();
} }
@ -1809,7 +1912,8 @@ public class OrderController extends BaseController {
// 查询加价价格 // 查询加价价格
BigDecimal changeMoney = BigDecimal.ZERO; BigDecimal changeMoney = BigDecimal.ZERO;
List<FinancialChangeRecord> changeRecords = financialChangeRecordService.selectByDetailIds(StringUtils.join(orderDetailIds, ",")); List<FinancialChangeRecord> changeRecords = financialChangeRecordService
.selectByDetailIds(StringUtils.join(orderDetailIds, ","));
for (FinancialChangeRecord changeRecord : changeRecords) { for (FinancialChangeRecord changeRecord : changeRecords) {
if (PayStatus.WAIT_PAY.getCode().equals(changeRecord.getPayStatus())) { if (PayStatus.WAIT_PAY.getCode().equals(changeRecord.getPayStatus())) {
changeMoney = changeMoney.add(changeRecord.getChangeMoney()); changeMoney = changeMoney.add(changeRecord.getChangeMoney());
@ -1832,7 +1936,8 @@ public class OrderController extends BaseController {
detailOrderList.stream().forEach(detail -> { detailOrderList.stream().forEach(detail -> {
AfterServiceRecord afterServiceRecordQry = new AfterServiceRecord(); AfterServiceRecord afterServiceRecordQry = new AfterServiceRecord();
afterServiceRecordQry.setOrderDetailId(detail.getId()); afterServiceRecordQry.setOrderDetailId(detail.getId());
List<AfterServiceRecord> records = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecordQry); List<AfterServiceRecord> records = afterServiceRecordService
.selectAfterServiceRecordList(afterServiceRecordQry);
afterServiceRecords.addAll(records); afterServiceRecords.addAll(records);
}); });
@ -1875,8 +1980,10 @@ 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(
orderListResponse.setCustomerPhone(StringUtils.isNotEmpty(master.getPhone()) ? master.getPhone() : customerAddress.getPhone()); StringUtils.isNotEmpty(master.getName()) ? master.getName() : customerAddress.getName());
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());
@ -1917,8 +2024,10 @@ 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(
orderListResponse.setCustomerPhone(StringUtils.isNotEmpty(master.getPhone()) ? master.getPhone() : customerAddress.getPhone()); StringUtils.isNotEmpty(master.getName()) ? master.getName() : customerAddress.getName());
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(",");
@ -1938,7 +2047,6 @@ public class OrderController extends BaseController {
orderListResponse.setAddress(completeAddress); orderListResponse.setAddress(completeAddress);
} }
orderListResponses.add(orderListResponse); orderListResponses.add(orderListResponse);
} }
@ -1958,13 +2066,15 @@ public class OrderController extends BaseController {
Worker worker = workerService.selectById(detail.getWorkerId()); Worker worker = workerService.selectById(detail.getWorkerId());
// 消费者信息 // 消费者信息
// Customer customer = customerService.selectByCustomerId(detail.getCustomerId()); // Customer customer =
// customerService.selectByCustomerId(detail.getCustomerId());
// 商品规格及信息 // 商品规格及信息
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(orderMaster.getGoodsId()); Goods goods = goodsService.selectById(orderMaster.getGoodsId());
// 填充商品三级类目 // 填充商品三级类目
@ -1972,7 +2082,8 @@ public class OrderController extends BaseController {
Long categoryId = null; Long categoryId = null;
// 前端发单和后台派单 // 前端发单和后台派单
if (com.ghy.common.utils.StringUtils.isEmpty(orderMaster.getOrderMode())) { if (com.ghy.common.utils.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();
} }
@ -2002,8 +2113,10 @@ public class OrderController extends BaseController {
FinancialDetail financialDetail = financialDetailService.selectByOrderDetailId(detail.getId()); FinancialDetail financialDetail = financialDetailService.selectByOrderDetailId(detail.getId());
// 查询子单加价记录 // 查询子单加价记录
FinancialChangeRecord financialChangeRecord = financialChangeRecordService.selectNotPayRecordByDetailId(detail.getId()); FinancialChangeRecord financialChangeRecord = financialChangeRecordService
BigDecimal changeMoney = financialChangeRecord == null ? BigDecimal.ZERO : financialChangeRecord.getChangeMoney(); .selectNotPayRecordByDetailId(detail.getId());
BigDecimal changeMoney = financialChangeRecord == null ? BigDecimal.ZERO
: financialChangeRecord.getChangeMoney();
// 地址信息 // 地址信息
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId()); CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId());
@ -2038,7 +2151,8 @@ public class OrderController extends BaseController {
// 售后记录 // 售后记录
// AfterServiceRecord afterServiceRecord = new AfterServiceRecord(); // AfterServiceRecord afterServiceRecord = new AfterServiceRecord();
// afterServiceRecord.setOrderDetailId(detail.getId()); // afterServiceRecord.setOrderDetailId(detail.getId());
// List<AfterServiceRecord> afterServiceRecordList =afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord); // List<AfterServiceRecord> afterServiceRecordList
// =afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord);
// 编辑返回属性 // 编辑返回属性
orderListResponse.setWorkerRemark(detail.getWorkerRemark()); orderListResponse.setWorkerRemark(detail.getWorkerRemark());
@ -2057,8 +2171,10 @@ 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(
orderListResponse.setCustomerPhone(StringUtils.isNotEmpty(orderMaster.getPhone()) ? orderMaster.getPhone() : customerAddress.getPhone()); StringUtils.isNotEmpty(orderMaster.getName()) ? orderMaster.getName() : customerAddress.getName());
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());
@ -2083,7 +2199,6 @@ public class OrderController extends BaseController {
orderListResponse.setConsultMode(orderMaster.getConsultMode()); orderListResponse.setConsultMode(orderMaster.getConsultMode());
orderListResponse.setInsuranceId(orderMaster.getInsuranceId()); orderListResponse.setInsuranceId(orderMaster.getInsuranceId());
orderListResponse.setProvinceName(orderMaster.getProvinceName()); orderListResponse.setProvinceName(orderMaster.getProvinceName());
orderListResponse.setCityName(orderMaster.getCityName()); orderListResponse.setCityName(orderMaster.getCityName());
orderListResponse.setCountryName(orderMaster.getCountryName()); orderListResponse.setCountryName(orderMaster.getCountryName());
@ -2116,7 +2231,8 @@ public class OrderController extends BaseController {
} }
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);
} }
@ -2224,7 +2340,6 @@ public class OrderController extends BaseController {
queryGoods.setType(1); // 1表示服务类型 queryGoods.setType(1); // 1表示服务类型
List<Goods> serviceGoodsList = goodsService.selectGoodsList(queryGoods); 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.setGoodsId(serviceGoodsList.size() > 0 ? serviceGoodsList.get(0).getGoodsId() : null);
@ -2240,11 +2355,15 @@ public class OrderController extends BaseController {
serviceOrderMaster.setCreateTime(new Date()); serviceOrderMaster.setCreateTime(new Date());
serviceOrderMaster.setWorkerId(serviceWorker.getWorkerId()); // 使用服务店铺的师傅ID serviceOrderMaster.setWorkerId(serviceWorker.getWorkerId()); // 使用服务店铺的师傅ID
serviceOrderMaster.setServiceShopId(serviceShopId); // 设置服务店铺ID serviceOrderMaster.setServiceShopId(serviceShopId); // 设置服务店铺ID
serviceOrderMaster.setRemark("由配件订单[" + accessoryOrderMaster.getCode() + "]自动生成的服务订单,接单后请约客户上门服务,服务费用已在订单内,完单后会自行结算,请勿重复向客户收取。服务时不要讲产品负面话题,不要生硬推销!杜绝一切不合常理的行为!服务客户过程中有任何问题可致电商品/配件店铺"+phone+"【致电时按商品信息说明是该商品安装服务方】" ); serviceOrderMaster.setRemark("由配件订单[" + accessoryOrderMaster.getCode()
+ "]自动生成的服务订单,接单后请约客户上门服务,服务费用已在订单内,完单后会自行结算,请勿重复向客户收取。服务时不要讲产品负面话题,不要生硬推销!杜绝一切不合常理的行为!服务客户过程中有任何问题可致电商品/配件店铺"
+ phone + "【致电时按商品信息说明是该商品安装服务方】");
serviceOrderMaster.setExpectTimeStart(accessoryOrderMaster.getExpectTimeStart()); serviceOrderMaster.setExpectTimeStart(accessoryOrderMaster.getExpectTimeStart());
serviceOrderMaster.setExpectTimeEnd(accessoryOrderMaster.getExpectTimeEnd()); serviceOrderMaster.setExpectTimeEnd(accessoryOrderMaster.getExpectTimeEnd());
serviceOrderMaster.setInsuranceId(accessoryOrderMaster.getInsuranceId()); serviceOrderMaster.setInsuranceId(accessoryOrderMaster.getInsuranceId());
serviceOrderMaster.setGoodsOrderMasterId(orderMasterId); serviceOrderMaster.setGoodsOrderMasterId(orderMasterId);
// 设置原始师傅ID配件订单的师傅ID
serviceOrderMaster.setOriginalWorkerId(accessoryOrderMaster.getWorkerId());
// 设置服务商品金额 // 设置服务商品金额
serviceOrderMaster.setServerGoodsMoney(serviceMoney); serviceOrderMaster.setServerGoodsMoney(serviceMoney);
@ -2273,8 +2392,7 @@ public class OrderController extends BaseController {
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!");
@ -2301,7 +2419,8 @@ public class OrderController extends BaseController {
// 更新配件主单关联生成的服务订单并标记已派发服务订单 // 更新配件主单关联生成的服务订单并标记已派发服务订单
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);
@ -2310,10 +2429,12 @@ public class OrderController extends BaseController {
Map<String, Object> paramsNew = new HashMap<>(); Map<String, Object> paramsNew = new HashMap<>();
paramsNew.put("thing21", "您帐号收到1条新服务订单"); paramsNew.put("thing21", "您帐号收到1条新服务订单");
paramsNew.put("thing31", "请进入【我的订单--新订单】操作处理"); paramsNew.put("thing31", "请进入【我的订单--新订单】操作处理");
CustomerAddress address = customerAddressService.selectByCustomerAddressId(serviceOrderMaster.getAddressId()); CustomerAddress address = customerAddressService
.selectByCustomerAddressId(serviceOrderMaster.getAddressId());
paramsNew.put("thing14", address.getName()); paramsNew.put("thing14", address.getName());
paramsNew.put("time4", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", new Date())); paramsNew.put("time4", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", new Date()));
WechatMsgUtils.sendWeChatMsg(WechatMsgUtils.getToken(), serviceWorker.getWxOpenId(), WxMsgEnum.NORMAL_ORDER, paramsNew); WechatMsgUtils.sendWeChatMsg(WechatMsgUtils.getToken(), serviceWorker.getWxOpenId(),
WxMsgEnum.NORMAL_ORDER, paramsNew);
} catch (Exception e) { } catch (Exception e) {
logger.error("发送微信通知失败: {}", e.getMessage(), e); logger.error("发送微信通知失败: {}", e.getMessage(), e);
} }
@ -2332,7 +2453,8 @@ public class OrderController extends BaseController {
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);

View File

@ -139,8 +139,7 @@ public class OrderMasterController extends BaseController {
} }
@GetMapping("/changePrice/{orderIds}") @GetMapping("/changePrice/{orderIds}")
public String changePrice(@PathVariable("orderIds") String orderIds, ModelMap mmap) public String changePrice(@PathVariable("orderIds") String orderIds, ModelMap mmap) {
{
mmap.put("orderIds", orderIds); mmap.put("orderIds", orderIds);
return "order/batchChangePrice"; return "order/batchChangePrice";
} }
@ -151,7 +150,6 @@ public class OrderMasterController extends BaseController {
return orderMasterService.batchChangePrice(changePriceReq); return orderMasterService.batchChangePrice(changePriceReq);
} }
// @RequiresPermissions("order:master:view") // @RequiresPermissions("order:master:view")
@GetMapping() @GetMapping()
public String orderMaster() { public String orderMaster() {
@ -160,15 +158,13 @@ public class OrderMasterController extends BaseController {
@PostMapping("/changeIsCharge") @PostMapping("/changeIsCharge")
@ResponseBody @ResponseBody
public AjaxResult changeIsCharge(OrderMaster orderMaster) public AjaxResult changeIsCharge(OrderMaster orderMaster) {
{
return toAjax(orderMasterService.updateOrderMaster(orderMaster)); return toAjax(orderMasterService.updateOrderMaster(orderMaster));
} }
@PostMapping("/changeIsContact") @PostMapping("/changeIsContact")
@ResponseBody @ResponseBody
public AjaxResult changeIsContact(OrderMaster orderMaster) public AjaxResult changeIsContact(OrderMaster orderMaster) {
{
return toAjax(orderMasterService.updateOrderMaster(orderMaster)); return toAjax(orderMasterService.updateOrderMaster(orderMaster));
} }
@ -181,8 +177,7 @@ public class OrderMasterController extends BaseController {
@PostMapping("/changeInvoiceStatus") @PostMapping("/changeInvoiceStatus")
@ResponseBody @ResponseBody
@Log(title = "订单开票状态管理", businessType = BusinessType.UPDATE) @Log(title = "订单开票状态管理", businessType = BusinessType.UPDATE)
public AjaxResult changeInvoiceStatus(@RequestBody OrderMaster orderMaster) public AjaxResult changeInvoiceStatus(@RequestBody OrderMaster orderMaster) {
{
try { try {
if (orderMaster.getId() == null) { if (orderMaster.getId() == null) {
return AjaxResult.error("订单ID不能为空"); return AjaxResult.error("订单ID不能为空");
@ -218,8 +213,7 @@ public class OrderMasterController extends BaseController {
@PostMapping("/changeNeedBillStatus") @PostMapping("/changeNeedBillStatus")
@ResponseBody @ResponseBody
@Log(title = "订单是否需要开票状态管理", businessType = BusinessType.UPDATE) @Log(title = "订单是否需要开票状态管理", businessType = BusinessType.UPDATE)
public AjaxResult changeNeedBillStatus(@RequestBody OrderMaster orderMaster) public AjaxResult changeNeedBillStatus(@RequestBody OrderMaster orderMaster) {
{
try { try {
if (orderMaster.getId() == null) { if (orderMaster.getId() == null) {
return AjaxResult.error("订单ID不能为空"); return AjaxResult.error("订单ID不能为空");
@ -256,8 +250,7 @@ public class OrderMasterController extends BaseController {
@ResponseBody @ResponseBody
@Log(title = "订单转单管理", businessType = BusinessType.UPDATE) @Log(title = "订单转单管理", businessType = BusinessType.UPDATE)
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public AjaxResult transferOrder(@RequestBody TransferOrderRequest request) public AjaxResult transferOrder(@RequestBody TransferOrderRequest request) {
{
try { try {
// 参数校验 // 参数校验
if (request.getOrderId() == null) { if (request.getOrderId() == null) {
@ -284,7 +277,8 @@ public class OrderMasterController extends BaseController {
} }
// 如果原师傅和新师傅相同则不允许转单 // 如果原师傅和新师傅相同则不允许转单
if (originalOrder.getWorkerId() != null && originalOrder.getWorkerId().equals(request.getNewWorkerId())) { if (originalOrder.getWorkerId() != null
&& originalOrder.getWorkerId().equals(request.getNewWorkerId())) {
return AjaxResult.error("新师傅不能与原师傅相同"); return AjaxResult.error("新师傅不能与原师傅相同");
} }
} }
@ -437,7 +431,8 @@ public class OrderMasterController extends BaseController {
public String batchChangeInsurance(@PathVariable(value = "orderIds") String orderIds, ModelMap mmap) { public String batchChangeInsurance(@PathVariable(value = "orderIds") String orderIds, ModelMap mmap) {
// 不知道为啥参数可能会带上双引号 这里去掉再转Long // 不知道为啥参数可能会带上双引号 这里去掉再转Long
orderIds = orderIds.replace("\"", ""); orderIds = orderIds.replace("\"", "");
List<InsuranceManager> insuranceManagers = insuranceManagerService.selectInsuranceManagerList(new InsuranceManager()); List<InsuranceManager> insuranceManagers = insuranceManagerService
.selectInsuranceManagerList(new InsuranceManager());
mmap.put("orderIds", orderIds); mmap.put("orderIds", orderIds);
mmap.put("insurances", insuranceManagers); mmap.put("insurances", insuranceManagers);
return "order/batchPcOrderInsurance"; return "order/batchPcOrderInsurance";
@ -447,7 +442,8 @@ public class OrderMasterController extends BaseController {
public String pcOrderInsurance(@PathVariable(value = "orderIds") String orderIds, ModelMap mmap) { public String pcOrderInsurance(@PathVariable(value = "orderIds") String orderIds, ModelMap mmap) {
// 不知道为啥参数可能会带上双引号 这里去掉再转Long // 不知道为啥参数可能会带上双引号 这里去掉再转Long
orderIds = orderIds.replace("\"", ""); orderIds = orderIds.replace("\"", "");
List<InsuranceManager> insuranceManagers = insuranceManagerService.selectInsuranceManagerList(new InsuranceManager()); List<InsuranceManager> insuranceManagers = insuranceManagerService
.selectInsuranceManagerList(new InsuranceManager());
mmap.put("orderIds", orderIds); mmap.put("orderIds", orderIds);
mmap.put("insurances", insuranceManagers); mmap.put("insurances", insuranceManagers);
return "order/pcOrderInsurance"; return "order/pcOrderInsurance";
@ -466,7 +462,8 @@ public class OrderMasterController extends BaseController {
} }
} }
// 查询保险信息 // 查询保险信息
InsuranceManager insuranceManager = insuranceManagerService.selectInsuranceManagerById(orderMaster.getInsuranceId()); InsuranceManager insuranceManager = insuranceManagerService
.selectInsuranceManagerById(orderMaster.getInsuranceId());
if (insuranceManager == null) { if (insuranceManager == null) {
return AjaxResult.error("保险信息有误!"); return AjaxResult.error("保险信息有误!");
} }
@ -483,7 +480,8 @@ public class OrderMasterController extends BaseController {
financialMaster.setTotalMoney(financialMaster.getTotalMoney().add(insuranceManager.getInsuranceAmount())); financialMaster.setTotalMoney(financialMaster.getTotalMoney().add(insuranceManager.getInsuranceAmount()));
financialMasterService.updateFinancialMaster(financialMaster); financialMasterService.updateFinancialMaster(financialMaster);
// 修改子单 // 修改子单
List<FinancialDetail> details = financialDetailService.selectByFinancialMasterIdAndType(financialMaster.getId(), FinancialDetailType.PLATFORM_FEE.getCode()); List<FinancialDetail> details = financialDetailService.selectByFinancialMasterIdAndType(
financialMaster.getId(), FinancialDetailType.PLATFORM_FEE.getCode());
if (CollectionUtils.isNotEmpty(details)) { if (CollectionUtils.isNotEmpty(details)) {
FinancialDetail detail = details.get(0); FinancialDetail detail = details.get(0);
detail.setPayMoney(detail.getPayMoney().add(insuranceManager.getInsuranceAmount())); detail.setPayMoney(detail.getPayMoney().add(insuranceManager.getInsuranceAmount()));
@ -508,7 +506,8 @@ public class OrderMasterController extends BaseController {
return AjaxResult.error("订单已经选择过保险了!"); return AjaxResult.error("订单已经选择过保险了!");
} }
// 查询保险信息 // 查询保险信息
InsuranceManager insuranceManager = insuranceManagerService.selectInsuranceManagerById(orderMaster.getInsuranceId()); InsuranceManager insuranceManager = insuranceManagerService
.selectInsuranceManagerById(orderMaster.getInsuranceId());
if (insuranceManager == null) { if (insuranceManager == null) {
return AjaxResult.error("保险信息有误!"); return AjaxResult.error("保险信息有误!");
} }
@ -518,7 +517,8 @@ public class OrderMasterController extends BaseController {
financialMaster.setTotalMoney(financialMaster.getTotalMoney().add(insuranceManager.getInsuranceAmount())); financialMaster.setTotalMoney(financialMaster.getTotalMoney().add(insuranceManager.getInsuranceAmount()));
financialMasterService.updateFinancialMaster(financialMaster); financialMasterService.updateFinancialMaster(financialMaster);
// 修改子单 // 修改子单
List<FinancialDetail> details = financialDetailService.selectByFinancialMasterIdAndType(financialMaster.getId(), FinancialDetailType.PLATFORM_FEE.getCode()); List<FinancialDetail> details = financialDetailService.selectByFinancialMasterIdAndType(financialMaster.getId(),
FinancialDetailType.PLATFORM_FEE.getCode());
if (CollectionUtils.isNotEmpty(details)) { if (CollectionUtils.isNotEmpty(details)) {
FinancialDetail detail = details.get(0); FinancialDetail detail = details.get(0);
detail.setPayMoney(detail.getPayMoney().add(insuranceManager.getInsuranceAmount())); detail.setPayMoney(detail.getPayMoney().add(insuranceManager.getInsuranceAmount()));
@ -556,9 +556,11 @@ public class OrderMasterController extends BaseController {
CustomerAddress address = customerAddressService.selectByCustomerAddressId(master.getAddressId()); CustomerAddress address = customerAddressService.selectByCustomerAddressId(master.getAddressId());
paramsNew.put("thing14", address.getName()); paramsNew.put("thing14", address.getName());
// 预约时间 // 预约时间
paramsNew.put("time4", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", master.getExpectTimeStart())); paramsNew.put("time4", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm",
master.getExpectTimeStart()));
// 消息推送 // 消息推送
WechatMsgUtils.sendWeChatMsg(WechatMsgUtils.getToken(), assignWorker.getWxOpenId(), WxMsgEnum.NORMAL_ORDER, paramsNew); WechatMsgUtils.sendWeChatMsg(WechatMsgUtils.getToken(), assignWorker.getWxOpenId(),
WxMsgEnum.NORMAL_ORDER, paramsNew);
} catch (Exception e) { } catch (Exception e) {
// 暂时不做任何操作 // 暂时不做任何操作
logger.error(e.getMessage(), e); logger.error(e.getMessage(), e);
@ -571,8 +573,7 @@ public class OrderMasterController extends BaseController {
@PostMapping("/importData") @PostMapping("/importData")
@ResponseBody @ResponseBody
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
{
ExcelUtil<SysOrderRequest> util = new ExcelUtil<SysOrderRequest>(SysOrderRequest.class); ExcelUtil<SysOrderRequest> util = new ExcelUtil<SysOrderRequest>(SysOrderRequest.class);
List<SysOrderRequest> jsonObjects = util.importExcel(file.getInputStream()); List<SysOrderRequest> jsonObjects = util.importExcel(file.getInputStream());
boolean flag = false; boolean flag = false;
@ -667,7 +668,8 @@ public class OrderMasterController extends BaseController {
if (categoryNames.length != 3) { if (categoryNames.length != 3) {
throw new Exception("导入表格序号" + orderRequest.getSeq() + ",B列三级类目名称有误/或格式有误!"); throw new Exception("导入表格序号" + orderRequest.getSeq() + ",B列三级类目名称有误/或格式有误!");
} else { } else {
if(StringUtils.isEmpty(categoryNames[0])||StringUtils.isEmpty(categoryNames[1])||StringUtils.isEmpty(categoryNames[2])){ if (StringUtils.isEmpty(categoryNames[0]) || StringUtils.isEmpty(categoryNames[1])
|| StringUtils.isEmpty(categoryNames[2])) {
throw new Exception("导入表格序号" + orderRequest.getSeq() + ",B列三级类目名称有误/或格式有误!"); throw new Exception("导入表格序号" + orderRequest.getSeq() + ",B列三级类目名称有误/或格式有误!");
} }
try { try {
@ -686,7 +688,8 @@ public class OrderMasterController extends BaseController {
param3.setGoodsCategoryName(categoryNames[2]); param3.setGoodsCategoryName(categoryNames[2]);
GoodsCategory category3 = goodsCategoryService.selectGoodsCategoryList(param3).get(0); GoodsCategory category3 = goodsCategoryService.selectGoodsCategoryList(param3).get(0);
DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.selectOneByGoodsCategoryId(category3.getGoodsCategoryId()); DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService
.selectOneByGoodsCategoryId(category3.getGoodsCategoryId());
request.setCategoryId3(deptGoodsCategory.getDeptGoodsCategoryId()); request.setCategoryId3(deptGoodsCategory.getDeptGoodsCategoryId());
// 第四层 // 第四层
@ -701,7 +704,8 @@ public class OrderMasterController extends BaseController {
GoodsCategory category4 = categories.get(0); GoodsCategory category4 = categories.get(0);
SysOrderGoodsStandards standards = new SysOrderGoodsStandards(); SysOrderGoodsStandards standards = new SysOrderGoodsStandards();
DeptGoodsCategory deptGoodsCategory2 = deptGoodsCategoryService.selectOneByGoodsCategoryId(category4.getGoodsCategoryId()); DeptGoodsCategory deptGoodsCategory2 = deptGoodsCategoryService
.selectOneByGoodsCategoryId(category4.getGoodsCategoryId());
standards.setDeptCategoryId(deptGoodsCategory2.getDeptGoodsCategoryId()); standards.setDeptCategoryId(deptGoodsCategory2.getDeptGoodsCategoryId());
standards.setGoodsStandardNum(Integer.parseInt(orderRequest.getNum())); standards.setGoodsStandardNum(Integer.parseInt(orderRequest.getNum()));
standards.setGoodsStandardName(orderRequest.getLastCategory()); standards.setGoodsStandardName(orderRequest.getLastCategory());
@ -717,7 +721,8 @@ public class OrderMasterController extends BaseController {
addressName = orderRequest.getAddress().split(""); addressName = orderRequest.getAddress().split("");
if (addressName.length == 1) { if (addressName.length == 1) {
addressName = orderRequest.getAddress().split(" "); addressName = orderRequest.getAddress().split(" ");
}if(addressName.length == 1){ }
if (addressName.length == 1) {
addressName = orderRequest.getAddress().split("/"); addressName = orderRequest.getAddress().split("/");
} }
} }
@ -775,7 +780,8 @@ public class OrderMasterController extends BaseController {
} }
// 判断是否有客户地址 // 判断是否有客户地址
if (request.getProvinceId() == null || request.getCityId() == null || request.getDistrictId() == null || org.apache.commons.lang3.StringUtils.isBlank(request.getFullAddress())) { if (request.getProvinceId() == null || request.getCityId() == null || request.getDistrictId() == null
|| org.apache.commons.lang3.StringUtils.isBlank(request.getFullAddress())) {
throw new Exception("请填写地址"); throw new Exception("请填写地址");
} }
@ -873,8 +879,10 @@ public class OrderMasterController extends BaseController {
// 服务时间 // 服务时间
String[] split = request.getServTime().split("-"); String[] split = request.getServTime().split("-");
try { try {
orderMaster.setExpectTimeStart(org.apache.commons.lang3.time.DateUtils.parseDate(request.getServDate() + " " + split[0], "yyyy-MM-dd hh:mm")); orderMaster.setExpectTimeStart(org.apache.commons.lang3.time.DateUtils
orderMaster.setExpectTimeEnd(org.apache.commons.lang3.time.DateUtils.parseDate(request.getServDate() + " " + split[1], "yyyy-MM-dd hh:mm")); .parseDate(request.getServDate() + " " + split[0], "yyyy-MM-dd hh:mm"));
orderMaster.setExpectTimeEnd(org.apache.commons.lang3.time.DateUtils
.parseDate(request.getServDate() + " " + split[1], "yyyy-MM-dd hh:mm"));
} catch (Exception e) { } catch (Exception e) {
} }
@ -909,7 +917,8 @@ public class OrderMasterController extends BaseController {
// 名称 // 名称
params.put("thing14", customer.getName()); params.put("thing14", customer.getName());
// 预约时间 // 预约时间
params.put("time4", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", orderMaster.getExpectTimeStart())); params.put("time4", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm",
orderMaster.getExpectTimeStart()));
// 消息推送 // 消息推送
WechatMsgUtils.sendWeChatMsg(WechatMsgUtils.getToken(), assignWorker.getWxOpenId(), WxMsgEnum.TEXT, params); WechatMsgUtils.sendWeChatMsg(WechatMsgUtils.getToken(), assignWorker.getWxOpenId(), WxMsgEnum.TEXT, params);
} catch (Exception e) { } catch (Exception e) {
@ -930,20 +939,24 @@ public class OrderMasterController extends BaseController {
DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.get(goodsStandard.getDeptGoodsCategoryId()); DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.get(goodsStandard.getDeptGoodsCategoryId());
// 平台扣点 = 平台金额 + 商品单价 * 扣点比例 // 平台扣点 = 平台金额 + 商品单价 * 扣点比例
deptMoney = deptMoney.add(deptGoodsCategory.getPcDeptMoney()) deptMoney = deptMoney.add(deptGoodsCategory.getPcDeptMoney())
.add(financialMaster.getPayMoney().multiply(BigDecimal.valueOf(Double.parseDouble(deptGoodsCategory.getPcDeptRate())))); .add(financialMaster.getPayMoney()
.multiply(BigDecimal.valueOf(Double.parseDouble(deptGoodsCategory.getPcDeptRate()))));
// 截流扣点 = 截流金额 + 商品单价 * 扣点比例 // 截流扣点 = 截流金额 + 商品单价 * 扣点比例
specialMoney = specialMoney.add(deptGoodsCategory.getPcRetainMoney()) specialMoney = specialMoney.add(deptGoodsCategory.getPcRetainMoney())
.add(financialMaster.getPayMoney().multiply(BigDecimal.valueOf(Double.parseDouble(deptGoodsCategory.getPcRetainRate())))); .add(financialMaster.getPayMoney()
.multiply(BigDecimal.valueOf(Double.parseDouble(deptGoodsCategory.getPcRetainRate()))));
// 平台扣点记录 // 平台扣点记录
FinancialDetail deptDetail = new FinancialDetail(deptId, financialDetailService.createCode(), FinancialDetail deptDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
financialMaster.getId(), financialMaster.getCode(), deptMoney, FinancialDetailType.PLATFORM_FEE.getCode(), null); financialMaster.getId(), financialMaster.getCode(), deptMoney,
FinancialDetailType.PLATFORM_FEE.getCode(), null);
financialDetailService.insertFinancialDetail(deptDetail); financialDetailService.insertFinancialDetail(deptDetail);
// 剩余服务金额 // 剩余服务金额
serverMoney = serverMoney.subtract(deptMoney); serverMoney = serverMoney.subtract(deptMoney);
// 截流扣点记录 // 截流扣点记录
FinancialDetail retainDetail = new FinancialDetail(deptId, financialDetailService.createCode(), FinancialDetail retainDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
financialMaster.getId(), financialMaster.getCode(), specialMoney, FinancialDetailType.PLATFORM_FEE.getCode(), null); financialMaster.getId(), financialMaster.getCode(), specialMoney,
FinancialDetailType.PLATFORM_FEE.getCode(), null);
financialDetailService.insertFinancialDetail(retainDetail); financialDetailService.insertFinancialDetail(retainDetail);
// 剩余服务金额 // 剩余服务金额
serverMoney = serverMoney.subtract(specialMoney); serverMoney = serverMoney.subtract(specialMoney);
@ -984,7 +997,8 @@ public class OrderMasterController extends BaseController {
customerAddress.setStreetIds(orderMaster.getStreetIds()); customerAddress.setStreetIds(orderMaster.getStreetIds());
customerAddress.setNeedNameFlag(true); customerAddress.setNeedNameFlag(true);
List<CustomerAddress> addressList = addressService.getCustomerAddressList(customerAddress); List<CustomerAddress> addressList = addressService.getCustomerAddressList(customerAddress);
orderMaster.setAddressIds(addressList.stream().map(CustomerAddress::getCustomerAddressId).collect(Collectors.toList())); orderMaster.setAddressIds(
addressList.stream().map(CustomerAddress::getCustomerAddressId).collect(Collectors.toList()));
if (CollectionUtils.isEmpty(orderMaster.getAddressIds())) { if (CollectionUtils.isEmpty(orderMaster.getAddressIds())) {
return voDataTable(orderListResponses, new ArrayList<>()); return voDataTable(orderListResponses, new ArrayList<>());
} }
@ -994,6 +1008,12 @@ public class OrderMasterController extends BaseController {
// orderMaster.setOrderStatuses(); // orderMaster.setOrderStatuses();
// } // }
List<OrderMaster> list = orderMasterService.selectOrderMasterList(orderMaster); List<OrderMaster> list = orderMasterService.selectOrderMasterList(orderMaster);
OrderMaster origiOrderMaster = new OrderMaster();
if (orderMaster.getOrderType() == 0) {
origiOrderMaster.setOriginalWorkerId(orderMaster.getWorkerId());
List<OrderMaster> originalList = orderMasterService.selectOrderMasterList(origiOrderMaster);
list.addAll(originalList);
}
if (CollectionUtils.isEmpty(list)) { if (CollectionUtils.isEmpty(list)) {
return voDataTable(orderListResponses, new ArrayList<>()); return voDataTable(orderListResponses, new ArrayList<>());
@ -1027,13 +1047,9 @@ public class OrderMasterController extends BaseController {
} }
if (!CollectionUtils.isEmpty(addressIds)) { if (!CollectionUtils.isEmpty(addressIds)) {
// 由于没有批量查询方法使用循环查询 // 使用批量查询方法优化性能
addressIds.forEach(addressId -> { List<CustomerAddress> addresses = addressService.selectByIds(new ArrayList<>(addressIds));
CustomerAddress address = addressService.selectByCustomerAddressId(addressId); addresses.forEach(address -> addressMap.put(address.getCustomerAddressId(), address));
if (address != null) {
addressMap.put(address.getCustomerAddressId(), address);
}
});
} }
if (!CollectionUtils.isEmpty(goodsIds)) { if (!CollectionUtils.isEmpty(goodsIds)) {
@ -1053,14 +1069,16 @@ public class OrderMasterController extends BaseController {
Worker worker = workerMap.get(master.getWorkerId()); Worker worker = workerMap.get(master.getWorkerId());
// 消费者信息 // 消费者信息
// Customer customer = customerService.selectByCustomerId(master.getCustomerId()); // Customer customer =
// customerService.selectByCustomerId(master.getCustomerId());
// 商品规格及信息 // 商品规格及信息
List<OrderGoods> orderStandardList = orderGoodsService.selectByOrderMasterId(master.getId()); List<OrderGoods> orderStandardList = orderGoodsService.selectByOrderMasterId(master.getId());
Goods goods = new Goods(); Goods goods = new Goods();
if (orderStandardList.size() > 0) { if (orderStandardList.size() > 0) {
// 商品信息 // 商品信息
GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId()); GoodsStandard goodsStandard = goodsStandardService
.selectById(orderStandardList.get(0).getGoodsStandardId());
if (goodsStandard != null) { if (goodsStandard != null) {
goods = goodsService.selectById(goodsStandard.getGoodsId()); goods = goodsService.selectById(goodsStandard.getGoodsId());
} }
@ -1074,7 +1092,8 @@ public class OrderMasterController extends BaseController {
Long categoryId = null; Long categoryId = null;
// 前端发单和后台派单 // 前端发单和后台派单
if (com.ghy.common.utils.StringUtils.isEmpty(master.getOrderMode())) { if (com.ghy.common.utils.StringUtils.isEmpty(master.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();
} }
@ -1108,7 +1127,8 @@ public class OrderMasterController extends BaseController {
if (financialMaster.getPayStatus() == 1) { if (financialMaster.getPayStatus() == 1) {
paymentMoney = paymentMoney.add(financialMaster.getPayMoney()); paymentMoney = paymentMoney.add(financialMaster.getPayMoney());
} }
List<FinancialChangeRecord> financialChangeRecords = financialChangeRecordService.selectByMasterId(master.getId()); List<FinancialChangeRecord> financialChangeRecords = financialChangeRecordService
.selectByMasterId(master.getId());
BigDecimal changePaymentMoney = financialChangeRecords.stream() BigDecimal changePaymentMoney = financialChangeRecords.stream()
.filter(record -> record.getPayStatus() == 1) .filter(record -> record.getPayStatus() == 1)
.map(FinancialChangeRecord::getChangeMoney) .map(FinancialChangeRecord::getChangeMoney)
@ -1117,14 +1137,16 @@ public class OrderMasterController extends BaseController {
for (OrderDetail detail : detailList) { for (OrderDetail detail : detailList) {
// 查询子单加价记录 // 查询子单加价记录
FinancialChangeRecord record = financialChangeRecordService.selectNotPayRecordByDetailId(detail.getId()); FinancialChangeRecord record = financialChangeRecordService
.selectNotPayRecordByDetailId(detail.getId());
if (record != null) { if (record != null) {
totalChangeMoney = totalChangeMoney.add(record.getChangeMoney()); totalChangeMoney = totalChangeMoney.add(record.getChangeMoney());
} }
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);
for (OrderAttachmentRecord orderAttachmentRecord : orderAttachmentRecordList) { for (OrderAttachmentRecord orderAttachmentRecord : orderAttachmentRecordList) {
if (record != null && record.getPayStatus() == 0) { if (record != null && record.getPayStatus() == 0) {
totalChangeMoney = totalChangeMoney.add(orderAttachmentRecord.getAttachMoney()); totalChangeMoney = totalChangeMoney.add(orderAttachmentRecord.getAttachMoney());
@ -1155,7 +1177,8 @@ public class OrderMasterController extends BaseController {
detailList.forEach(detail -> { detailList.forEach(detail -> {
AfterServiceRecord afterServiceRecordQry = new AfterServiceRecord(); AfterServiceRecord afterServiceRecordQry = new AfterServiceRecord();
afterServiceRecordQry.setOrderDetailId(detail.getId()); afterServiceRecordQry.setOrderDetailId(detail.getId());
List<AfterServiceRecord> records = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecordQry); List<AfterServiceRecord> records = afterServiceRecordService
.selectAfterServiceRecordList(afterServiceRecordQry);
afterServiceRecords.addAll(records); afterServiceRecords.addAll(records);
}); });
@ -1188,8 +1211,12 @@ public class OrderMasterController 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(org.apache.commons.lang3.StringUtils.isNotEmpty(master.getName()) ? master.getName() : customerAddress.getName()); orderListResponse.setCustomerName(
orderListResponse.setCustomerPhone(org.apache.commons.lang3.StringUtils.isNotEmpty(master.getPhone()) ? master.getPhone() : customerAddress.getPhone()); org.apache.commons.lang3.StringUtils.isNotEmpty(master.getName()) ? master.getName()
: customerAddress.getName());
orderListResponse.setCustomerPhone(
org.apache.commons.lang3.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());
@ -1265,9 +1292,11 @@ public class OrderMasterController extends BaseController {
// 查所有售后的单 // 查所有售后的单
AfterServiceRecord afterServiceRecord = new AfterServiceRecord(); AfterServiceRecord afterServiceRecord = new AfterServiceRecord();
afterServiceRecord.setExcludeAfterServiceFinished(Boolean.TRUE); afterServiceRecord.setExcludeAfterServiceFinished(Boolean.TRUE);
List<AfterServiceRecord> afterServiceRecordList = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord); List<AfterServiceRecord> afterServiceRecordList = afterServiceRecordService
.selectAfterServiceRecordList(afterServiceRecord);
// 踢重后的子单ids // 踢重后的子单ids
List<Long> detailIds = afterServiceRecordList.stream().map(AfterServiceRecord::getOrderDetailId).distinct().collect(Collectors.toList()); List<Long> detailIds = afterServiceRecordList.stream().map(AfterServiceRecord::getOrderDetailId).distinct()
.collect(Collectors.toList());
StringBuilder orderDetailIds = new StringBuilder(); StringBuilder orderDetailIds = new StringBuilder();
OrderDetail orderDetail = new OrderDetail(); OrderDetail orderDetail = new OrderDetail();
orderDetail.setCustomerId(orderMaster.getCustomerId()); orderDetail.setCustomerId(orderMaster.getCustomerId());
@ -1300,7 +1329,8 @@ public class OrderMasterController extends BaseController {
List<OrderMaster> list = orderMasterService.selectOrderMasterList(orderMaster); List<OrderMaster> list = orderMasterService.selectOrderMasterList(orderMaster);
list.forEach(master -> { list.forEach(master -> {
// 子单 // 子单
// List<OrderDetail> detailList = orderDetailService.selectByOrderMasterId(master.getId()); // List<OrderDetail> detailList =
// orderDetailService.selectByOrderMasterId(master.getId());
// 初始化属性 // 初始化属性
OrderListResponse orderListResponse = new OrderListResponse(); OrderListResponse orderListResponse = new OrderListResponse();
@ -1310,13 +1340,15 @@ public class OrderMasterController extends BaseController {
Worker worker = master.getWorkerId() != null ? workerService.selectById(master.getWorkerId()) : null; Worker worker = master.getWorkerId() != null ? workerService.selectById(master.getWorkerId()) : null;
// 消费者信息 // 消费者信息
// Customer customer = customerService.selectByCustomerId(master.getCustomerId()); // Customer customer =
// customerService.selectByCustomerId(master.getCustomerId());
// 商品规格及信息 // 商品规格及信息
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(master.getGoodsId()); Goods goods = goodsService.selectById(master.getGoodsId());
@ -1328,9 +1360,11 @@ public class OrderMasterController extends BaseController {
// // 查询子单加价记录 // // 查询子单加价记录
// FinancialChangeRecord changeRecordQry = new FinancialChangeRecord(); // FinancialChangeRecord changeRecordQry = new FinancialChangeRecord();
// changeRecordQry.setOrderDetailId(detail.getId()); // changeRecordQry.setOrderDetailId(detail.getId());
// List<FinancialChangeRecord> financialChangeRecords = financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry); // List<FinancialChangeRecord> financialChangeRecords =
// financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry);
// if (CollectionUtils.isNotEmpty(financialChangeRecords)) { // if (CollectionUtils.isNotEmpty(financialChangeRecords)) {
// totalChangeMoney = totalChangeMoney.add(financialChangeRecords.get(0).getChangeMoney()); // totalChangeMoney =
// totalChangeMoney.add(financialChangeRecords.get(0).getChangeMoney());
// } // }
// } // }
// totalPayMoney = totalPayMoney.add(totalChangeMoney); // totalPayMoney = totalPayMoney.add(totalChangeMoney);
@ -1363,8 +1397,12 @@ public class OrderMasterController 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(org.apache.commons.lang3.StringUtils.isNotEmpty(master.getName())?master.getName():customerAddress.getName()); orderListResponse.setCustomerName(
orderListResponse.setCustomerPhone(org.apache.commons.lang3.StringUtils.isNotEmpty(master.getPhone())?master.getPhone():customerAddress.getPhone()); org.apache.commons.lang3.StringUtils.isNotEmpty(master.getName()) ? master.getName()
: customerAddress.getName());
orderListResponse.setCustomerPhone(
org.apache.commons.lang3.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());
@ -1405,9 +1443,11 @@ public class OrderMasterController extends BaseController {
// 查所有售后的单 // 查所有售后的单
AfterServiceRecord afterServiceRecord = new AfterServiceRecord(); AfterServiceRecord afterServiceRecord = new AfterServiceRecord();
afterServiceRecord.setExcludeAfterServiceFinished(Boolean.TRUE); afterServiceRecord.setExcludeAfterServiceFinished(Boolean.TRUE);
List<AfterServiceRecord> afterServiceRecordList = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord); List<AfterServiceRecord> afterServiceRecordList = afterServiceRecordService
.selectAfterServiceRecordList(afterServiceRecord);
// 踢重后的子单ids // 踢重后的子单ids
List<Long> detailIds = afterServiceRecordList.stream().map(AfterServiceRecord::getOrderDetailId).distinct().collect(Collectors.toList()); List<Long> detailIds = afterServiceRecordList.stream().map(AfterServiceRecord::getOrderDetailId).distinct()
.collect(Collectors.toList());
StringBuilder orderDetailIds = new StringBuilder(); StringBuilder orderDetailIds = new StringBuilder();
OrderDetail orderDetail = new OrderDetail(); OrderDetail orderDetail = new OrderDetail();
orderDetail.setCustomerId(orderMaster.getCustomerId()); orderDetail.setCustomerId(orderMaster.getCustomerId());
@ -1446,10 +1486,12 @@ public class OrderMasterController extends BaseController {
afterServiceRecord.setExcludeAfterServiceFinished(Boolean.TRUE); afterServiceRecord.setExcludeAfterServiceFinished(Boolean.TRUE);
// 只查询售后纠纷的记录客户不同意的记录 // 只查询售后纠纷的记录客户不同意的记录
afterServiceRecord.setCustomerFinalCheck(0L); // 客户不同意 afterServiceRecord.setCustomerFinalCheck(0L); // 客户不同意
List<AfterServiceRecord> afterServiceRecordList = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord); List<AfterServiceRecord> afterServiceRecordList = afterServiceRecordService
.selectAfterServiceRecordList(afterServiceRecord);
// 踢重后的子单ids // 踢重后的子单ids
List<Long> detailIds = afterServiceRecordList.stream().map(AfterServiceRecord::getOrderDetailId).distinct().collect(Collectors.toList()); List<Long> detailIds = afterServiceRecordList.stream().map(AfterServiceRecord::getOrderDetailId).distinct()
.collect(Collectors.toList());
StringBuilder orderDetailIds = new StringBuilder(); StringBuilder orderDetailIds = new StringBuilder();
OrderDetail orderDetail = new OrderDetail(); OrderDetail orderDetail = new OrderDetail();
orderDetail.setCustomerId(orderMaster.getCustomerId()); orderDetail.setCustomerId(orderMaster.getCustomerId());
@ -1520,7 +1562,8 @@ public class OrderMasterController extends BaseController {
// 设置子单ID列表用于IN查询 // 设置子单ID列表用于IN查询
queryRecord.setOrderDetailIds(orderDetailIdsStr.toString()); queryRecord.setOrderDetailIds(orderDetailIdsStr.toString());
List<AfterServiceRecord> disputeRecords = afterServiceRecordService.selectAfterServiceRecordList(queryRecord); List<AfterServiceRecord> disputeRecords = afterServiceRecordService
.selectAfterServiceRecordList(queryRecord);
logger.info("主单[{}]的子单IDs: {},找到{}条售后纠纷记录", orderMaster.getId(), orderDetailIds, disputeRecords.size()); logger.info("主单[{}]的子单IDs: {},找到{}条售后纠纷记录", orderMaster.getId(), orderDetailIds, disputeRecords.size());
@ -1559,7 +1602,8 @@ public class OrderMasterController extends BaseController {
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("子单[{}]找到{}条售后纠纷记录", orderDetail.getId(), disputeRecords.size()); logger.info("子单[{}]找到{}条售后纠纷记录", orderDetail.getId(), disputeRecords.size());
@ -1641,7 +1685,8 @@ public class OrderMasterController extends BaseController {
// 子单施工师傅信息 // 子单施工师傅信息
Worker detailWorker = workerService.selectById(orderDetail.getWorkerId()); Worker detailWorker = workerService.selectById(orderDetail.getWorkerId());
// 师傅实名信息 // 师傅实名信息
WorkerCertification detailWorkerRealInfo = workerCertificationService.selectByWorkerId(orderDetail.getWorkerId()); WorkerCertification detailWorkerRealInfo = workerCertificationService
.selectByWorkerId(orderDetail.getWorkerId());
// 子单商品规格及信息 // 子单商品规格及信息
List<OrderGoods> orderStandardList = orderGoodsService.selectByOrderDetailId(orderDetail.getId()); List<OrderGoods> orderStandardList = orderGoodsService.selectByOrderDetailId(orderDetail.getId());
@ -1649,7 +1694,8 @@ public class OrderMasterController extends BaseController {
OrderStandard orderStandard = new OrderStandard(); OrderStandard orderStandard = new OrderStandard();
orderStandard.setStandardName(orderGoods.getGoodsName()); orderStandard.setStandardName(orderGoods.getGoodsName());
orderStandard.setStandardNum(orderGoods.getGoodsNum()); orderStandard.setStandardNum(orderGoods.getGoodsNum());
orderStandard.setServerNum(orderGoods.getServerGoodsNum() == null ? 0 : orderGoods.getServerGoodsNum()); orderStandard
.setServerNum(orderGoods.getServerGoodsNum() == null ? 0 : orderGoods.getServerGoodsNum());
orderStandard.setWaitServerNum(orderStandard.getStandardNum() - orderStandard.getServerNum()); orderStandard.setWaitServerNum(orderStandard.getStandardNum() - orderStandard.getServerNum());
standardList.add(orderStandard); standardList.add(orderStandard);
} }
@ -1670,7 +1716,8 @@ public class OrderMasterController extends BaseController {
// 查询子单加价记录 // 查询子单加价记录
FinancialChangeRecord changeRecordQry = new FinancialChangeRecord(); FinancialChangeRecord changeRecordQry = new FinancialChangeRecord();
changeRecordQry.setOrderDetailId(orderDetail.getId()); changeRecordQry.setOrderDetailId(orderDetail.getId());
List<FinancialChangeRecord> financialChangeRecords = financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry); List<FinancialChangeRecord> financialChangeRecords = financialChangeRecordService
.selectFinancialChangeRecordList(changeRecordQry);
// if (CollectionUtils.isNotEmpty(financialChangeRecords)) { // if (CollectionUtils.isNotEmpty(financialChangeRecords)) {
// financialChangeRecord = financialChangeRecords.get(0); // financialChangeRecord = financialChangeRecords.get(0);
// totalPayMoney = totalPayMoney.add(financialChangeRecord.getChangeMoney()); // totalPayMoney = totalPayMoney.add(financialChangeRecord.getChangeMoney());
@ -1679,7 +1726,8 @@ public class OrderMasterController extends BaseController {
OrderAttachmentRecord param = new OrderAttachmentRecord(); OrderAttachmentRecord param = new OrderAttachmentRecord();
param.setOrderDetailId(orderDetail.getId()); param.setOrderDetailId(orderDetail.getId());
List<OrderAttachmentRecord> orderAttachmentRecordList = orderAttachmentRecordService.selectOrderAttachmentRecordList(param); List<OrderAttachmentRecord> orderAttachmentRecordList = orderAttachmentRecordService
.selectOrderAttachmentRecordList(param);
BigDecimal addMoneyTotal = BigDecimal.ZERO; BigDecimal addMoneyTotal = BigDecimal.ZERO;
String remark = null; String remark = null;
for (FinancialChangeRecord financialChangeRecord : financialChangeRecords) { for (FinancialChangeRecord financialChangeRecord : financialChangeRecords) {
@ -1690,7 +1738,8 @@ public class OrderMasterController extends BaseController {
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);
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);
@ -1718,7 +1767,9 @@ public class OrderMasterController extends BaseController {
orderStandardDetail.setOrderDetailCode(orderDetail.getCode()); orderStandardDetail.setOrderDetailCode(orderDetail.getCode());
orderStandardDetail.setWorkBeginTime(orderDetail.getWorkBeginTime()); orderStandardDetail.setWorkBeginTime(orderDetail.getWorkBeginTime());
orderStandardDetail.setWorkFinishTime(orderDetail.getWorkFinishTime()); orderStandardDetail.setWorkFinishTime(orderDetail.getWorkFinishTime());
orderStandardDetail.setWorkerName(detailWorkerRealInfo != null ?detailWorkerRealInfo.getSurname()+ detailWorkerRealInfo.getName() : detailWorker.getName()); orderStandardDetail.setWorkerName(detailWorkerRealInfo != null
? detailWorkerRealInfo.getSurname() + detailWorkerRealInfo.getName()
: detailWorker.getName());
orderStandardDetail.setWorkerPhone(detailWorker.getPhone()); orderStandardDetail.setWorkerPhone(detailWorker.getPhone());
orderStandardDetail.setRevTime(orderDetail.getRevTime()); orderStandardDetail.setRevTime(orderDetail.getRevTime());
orderStandardDetail.setExpectTimeStart(orderDetail.getExpectTimeStart()); orderStandardDetail.setExpectTimeStart(orderDetail.getExpectTimeStart());
@ -1736,10 +1787,13 @@ public class OrderMasterController extends BaseController {
orderStandardDetail.setServerMoney(financialMaster.getServerMoney()); orderStandardDetail.setServerMoney(financialMaster.getServerMoney());
AfterServiceRecord afterServiceRecord = new AfterServiceRecord(); AfterServiceRecord afterServiceRecord = new AfterServiceRecord();
afterServiceRecord.setOrderDetailId(orderDetail.getId()); afterServiceRecord.setOrderDetailId(orderDetail.getId());
List<AfterServiceRecord> records = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord); List<AfterServiceRecord> records = afterServiceRecordService
.selectAfterServiceRecordList(afterServiceRecord);
orderStandardDetail.setAfterServiceRecordList(records); orderStandardDetail.setAfterServiceRecordList(records);
orderStandardDetail.setIsOnlyServ(this.checkIsOnlyServer(orderMaster.getId(), orderDetail.getWorkerId()) ? Boolean.TRUE : Boolean.FALSE); orderStandardDetail.setIsOnlyServ(
this.checkIsOnlyServer(orderMaster.getId(), orderDetail.getWorkerId()) ? Boolean.TRUE
: Boolean.FALSE);
orderStandardDetail.setDrawCashStatus(orderDetail.getDrawCashStatus()); orderStandardDetail.setDrawCashStatus(orderDetail.getDrawCashStatus());
orderStandardDetail.setDrawCashTime(orderDetail.getDrawCashTime()); orderStandardDetail.setDrawCashTime(orderDetail.getDrawCashTime());
@ -1765,7 +1819,8 @@ public class OrderMasterController 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();
} }
String masterWorkerName = ""; String masterWorkerName = "";
String masterCompanyName = ""; String masterCompanyName = "";
@ -1773,17 +1828,20 @@ public class OrderMasterController 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();
} }
// 消费者信息 // 消费者信息
// Customer customer = customerService.selectByCustomerId(orderMaster.getCustomerId()); // Customer customer =
// customerService.selectByCustomerId(orderMaster.getCustomerId());
// 商品规格及信息 // 商品规格及信息
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(orderMaster.getGoodsId()); Goods goods = goodsService.selectById(orderMaster.getGoodsId());
if (goods != null) { if (goods != null) {
@ -1792,12 +1850,14 @@ public class OrderMasterController extends BaseController {
Long categoryId = null; Long categoryId = null;
// 前端发单和后台派单 // 前端发单和后台派单
if (com.ghy.common.utils.StringUtils.isEmpty(orderMaster.getOrderMode())) { if (com.ghy.common.utils.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();
} }
@ -1878,8 +1938,12 @@ public class OrderMasterController extends BaseController {
orderListResponse.setWorkerId(worker == null ? null : worker.getWorkerId()); orderListResponse.setWorkerId(worker == null ? null : worker.getWorkerId());
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(
orderListResponse.setCustomerPhone(org.apache.commons.lang3.StringUtils.isNotEmpty(orderMaster.getPhone())?orderMaster.getPhone():customerAddress.getPhone()); 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.setOrderStatus(orderMaster.getOrderStatus()); orderListResponse.setOrderStatus(orderMaster.getOrderStatus());
orderListResponse.setPayStatus(orderMaster.getPayStatus()); orderListResponse.setPayStatus(orderMaster.getPayStatus());
orderListResponse.setPayType(orderMaster.getPayType()); orderListResponse.setPayType(orderMaster.getPayType());
@ -2026,10 +2090,14 @@ public class OrderMasterController extends BaseController {
OrderCallRecord orderCallRecordParam = new OrderCallRecord(); OrderCallRecord orderCallRecordParam = new OrderCallRecord();
orderCallRecordParam.setOrderType("01"); orderCallRecordParam.setOrderType("01");
orderCallRecordParam.setOrderId(master.getId()); orderCallRecordParam.setOrderId(master.getId());
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()
master.setLastCallTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",newOne.getCallTime()) + " 拨号次数x" + orderCallRecords.size()); .sorted(Comparator.comparing(OrderCallRecord::getCallTime).reversed())
.collect(Collectors.toList()).get(0);
master.setLastCallTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", newOne.getCallTime()) + " 拨号次数x"
+ orderCallRecords.size());
} }
Goods good = goodsMap.get(master.getGoodsId()); Goods good = goodsMap.get(master.getGoodsId());
if (good != null) { if (good != null) {
@ -2039,12 +2107,14 @@ public class OrderMasterController extends BaseController {
Long categoryId = null; Long categoryId = null;
// 前端发单和后台派单 // 前端发单和后台派单
if (com.ghy.common.utils.StringUtils.isEmpty(master.getOrderMode())) { if (com.ghy.common.utils.StringUtils.isEmpty(master.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();
} }
@ -2056,7 +2126,8 @@ public class OrderMasterController extends BaseController {
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.selectByOrderMasterId(master.getId()).stream().mapToInt(OrderGoods::getGoodsNum).sum(); int totalNum = orderGoodsService.selectByOrderMasterId(master.getId()).stream()
.mapToInt(OrderGoods::getGoodsNum).sum();
master.setConsoleGoodsName("" + three.getGoodsCategoryName() master.setConsoleGoodsName("" + three.getGoodsCategoryName()
+ "-" + two.getGoodsCategoryName() + "-" + two.getGoodsCategoryName()
+ "-" + one.getGoodsCategoryName() + "】x" + totalNum); + "-" + one.getGoodsCategoryName() + "】x" + totalNum);
@ -2082,7 +2153,8 @@ public class OrderMasterController extends BaseController {
master.setAddress(completeAddress); master.setAddress(completeAddress);
} }
if (master.getExpectTimeStart() != null && master.getExpectTimeEnd() != null) { if (master.getExpectTimeStart() != null && master.getExpectTimeEnd() != null) {
master.setMixExpectTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm",master.getExpectTimeStart()) +"-"+ DateUtils.parseDateToStr("HH:mm",master.getExpectTimeEnd())); master.setMixExpectTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm", master.getExpectTimeStart()) + "-"
+ DateUtils.parseDateToStr("HH:mm", master.getExpectTimeEnd()));
} }
if ("01".equals(master.getConsultMode())) { if ("01".equals(master.getConsultMode())) {
master.setOrderMode("05"); master.setOrderMode("05");
@ -2146,7 +2218,8 @@ public class OrderMasterController extends BaseController {
@ResponseBody @ResponseBody
public AjaxResult editSave(@Validated OrderMaster orderMaster) throws BaseAdaPayException { public AjaxResult editSave(@Validated OrderMaster orderMaster) throws BaseAdaPayException {
try { try {
if (UserConstants.ORDER_CODE_NOT_UNIQUE.equals(orderMasterService.checkOrderMasterCodeUnique(orderMaster))) { if (UserConstants.ORDER_CODE_NOT_UNIQUE
.equals(orderMasterService.checkOrderMasterCodeUnique(orderMaster))) {
return error("修改主订单'" + orderMaster.getCode() + "'失败,主订单编码已存在"); return error("修改主订单'" + orderMaster.getCode() + "'失败,主订单编码已存在");
} }
orderMaster.setUpdateBy(getLoginName()); orderMaster.setUpdateBy(getLoginName());
@ -2280,7 +2353,7 @@ public class OrderMasterController extends BaseController {
/* /*
* 主单退单 * 主单退单
* */ */
@PostMapping("/console/cancel") @PostMapping("/console/cancel")
@ResponseBody @ResponseBody
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@ -2291,7 +2364,8 @@ public class OrderMasterController extends BaseController {
// 判断该主单状态 // 判断该主单状态
OrderMaster orderMasterInfo = orderMasterService.selectById(orderMaster.getId()); OrderMaster orderMasterInfo = orderMasterService.selectById(orderMaster.getId());
if(!orderMasterInfo.getOrderStatus().equals(OrderStatus.PLAIN.code()) && !orderMasterInfo.getOrderStatus().equals(OrderStatus.RECEIVE.code())){ if (!orderMasterInfo.getOrderStatus().equals(OrderStatus.PLAIN.code())
&& !orderMasterInfo.getOrderStatus().equals(OrderStatus.RECEIVE.code())) {
return AjaxResult.error("该订单处于无法退单状态!"); return AjaxResult.error("该订单处于无法退单状态!");
} }
@ -2309,10 +2383,12 @@ public class OrderMasterController extends BaseController {
orderMasterInfo.getServerGoodsMoney().compareTo(BigDecimal.ZERO) > 0) { orderMasterInfo.getServerGoodsMoney().compareTo(BigDecimal.ZERO) > 0) {
logger.info("检测到服务订单退单,开始退还服务金额:订单[{}],金额[{}],目标商品订单[{}]", logger.info("检测到服务订单退单,开始退还服务金额:订单[{}],金额[{}],目标商品订单[{}]",
orderMasterInfo.getId(), orderMasterInfo.getServerGoodsMoney(), orderMasterInfo.getGoodsOrderMasterId()); orderMasterInfo.getId(), orderMasterInfo.getServerGoodsMoney(),
orderMasterInfo.getGoodsOrderMasterId());
// 退还服务金额到商品订单 // 退还服务金额到商品订单
refundServerMoneyToGoodsOrder(orderMasterInfo.getGoodsOrderMasterId(), orderMasterInfo.getServerGoodsMoney()); refundServerMoneyToGoodsOrder(orderMasterInfo.getGoodsOrderMasterId(),
orderMasterInfo.getServerGoodsMoney());
// 重置配件主单的服务订单派发状态 // 重置配件主单的服务订单派发状态
OrderMaster goodsOrderUpdate = new OrderMaster(); OrderMaster goodsOrderUpdate = new OrderMaster();
@ -2419,13 +2495,15 @@ public class OrderMasterController extends BaseController {
if (worker != null) { if (worker != null) {
// 师傅实名信息 // 师傅实名信息
workerRealInfo = workerCertificationService.selectByWorkerId(detail.getWorkerId()); workerRealInfo = workerCertificationService.selectByWorkerId(detail.getWorkerId());
workerName = workerRealInfo == null ? worker.getName() : workerRealInfo.getSurname()+ workerRealInfo.getName(); workerName = workerRealInfo == null ? worker.getName()
: workerRealInfo.getSurname() + workerRealInfo.getName();
} }
// 查询子单加价记录 // 查询子单加价记录
// FinancialChangeRecord changeRecordQry = new FinancialChangeRecord(); // FinancialChangeRecord changeRecordQry = new FinancialChangeRecord();
// changeRecordQry.setOrderDetailId(detail.getId()); // changeRecordQry.setOrderDetailId(detail.getId());
// List<FinancialChangeRecord> financialChangeRecords = financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry); // List<FinancialChangeRecord> financialChangeRecords =
// financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry);
// if (CollectionUtils.isNotEmpty(financialChangeRecords)) { // if (CollectionUtils.isNotEmpty(financialChangeRecords)) {
// totalMoney = totalMoney.add(financialChangeRecords.get(0).getChangeMoney()); // totalMoney = totalMoney.add(financialChangeRecords.get(0).getChangeMoney());
// } // }
@ -2526,7 +2604,6 @@ public class OrderMasterController extends BaseController {
return AjaxResult.success(orderMasterService.orderStatisticsReturn()); return AjaxResult.success(orderMasterService.orderStatisticsReturn());
} }
@PostMapping("/updateMasterAddress") @PostMapping("/updateMasterAddress")
@ResponseBody @ResponseBody
public AjaxResult updateMasterAddress(@RequestBody OrderMaster orderMaster) { public AjaxResult updateMasterAddress(@RequestBody OrderMaster orderMaster) {
@ -2534,7 +2611,6 @@ public class OrderMasterController extends BaseController {
return toAjax(orderMasterService.updateOrderMasterAddressById(orderMaster)); return toAjax(orderMasterService.updateOrderMasterAddressById(orderMaster));
} }
/** /**
* 保存主单师傅备注 * 保存主单师傅备注
*/ */
@ -2562,9 +2638,9 @@ public class OrderMasterController extends BaseController {
} }
} }
/** /**
* 计算商家与主单地址之间的距离 * 计算商家与主单地址之间的距离
*
* @param orderMaster 主单信息 * @param orderMaster 主单信息
* @param shop 商家信息 * @param shop 商家信息
* @return 带有距离信息的商家对象 * @return 带有距离信息的商家对象
@ -2614,9 +2690,11 @@ public class OrderMasterController extends BaseController {
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());
@ -2629,8 +2707,7 @@ public class OrderMasterController extends BaseController {
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);

View File

@ -55,4 +55,11 @@ public interface CustomerAddressMapper {
@Param("cityId") Long cityId, @Param("cityId") Long cityId,
@Param("countryId") Long countryId, @Param("countryId") Long countryId,
@Param("address") String address); @Param("address") String address);
/**
* 批量查询地址信息
* @param customerAddressIds 地址ID列表
* @return 地址列表
*/
List<CustomerAddress> selectByIds(@Param("customerAddressIds") List<Long> customerAddressIds);
} }

View File

@ -51,4 +51,11 @@ public interface CustomerAddressService {
int updateCustomerAddress(CustomerAddress customerAddress); int updateCustomerAddress(CustomerAddress customerAddress);
CustomerAddress selectByCustomerAndAddress(Long customerId, Long provinceId, Long cityId, Long countryId, String address); CustomerAddress selectByCustomerAndAddress(Long customerId, Long provinceId, Long cityId, Long countryId, String address);
/**
* 批量查询地址信息
* @param customerAddressIds 地址ID列表
* @return 地址列表
*/
List<CustomerAddress> selectByIds(List<Long> customerAddressIds);
} }

View File

@ -96,6 +96,14 @@ public class CustomerAddressServiceImpl implements CustomerAddressService {
return customerAddressMapper.selectByCustomerAndAddress(customerId, provinceId, cityId, countryId, address); return customerAddressMapper.selectByCustomerAndAddress(customerId, provinceId, cityId, countryId, address);
} }
@Override
public List<CustomerAddress> selectByIds(List<Long> customerAddressIds) {
if (customerAddressIds == null || customerAddressIds.isEmpty()) {
return null;
}
return customerAddressMapper.selectByIds(customerAddressIds);
}
/** /**
* 为地址设置经纬度信息 * 为地址设置经纬度信息
* *

View File

@ -161,4 +161,13 @@
where customer_address_id = #{customerAddressId} where customer_address_id = #{customerAddressId}
</update> </update>
<select id="selectByIds" resultMap="CustomerAddressResult">
<include refid="selectCustomerAddress"/>
WHERE customer_address_id IN
<foreach collection="customerAddressIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
AND deleted = 0
</select>
</mapper> </mapper>

View File

@ -50,26 +50,26 @@
<update id="updateGoods" parameterType="com.ghy.goods.domain.Goods"> <update id="updateGoods" parameterType="com.ghy.goods.domain.Goods">
UPDATE goods UPDATE goods
<set> <set>
<if test="goodsName != null and goodsName != ''">goods_name = #{goodsName},</if> <if test="goodsName != null">goods_name = #{goodsName},</if>
<if test="goodsDesc != null and goodsDesc != ''">goods_desc = #{goodsDesc},</if> <if test="goodsDesc != null">goods_desc = #{goodsDesc},</if>
<if test="goodsSort != null and goodsSort != ''">goods_sort = #{goodsSort},</if> <if test="goodsSort != null">goods_sort = #{goodsSort},</if>
<if test="deptGoodsCategoryId != null and deptGoodsCategoryId != ''">dept_goods_category_id = #{deptGoodsCategoryId},</if> <if test="deptGoodsCategoryId != null and deptGoodsCategoryId != ''">dept_goods_category_id = #{deptGoodsCategoryId},</if>
<if test="goodsImgUrl != null and goodsImgUrl != ''">goods_img_url = #{goodsImgUrl},</if> <if test="goodsImgUrl != null">goods_img_url = #{goodsImgUrl},</if>
<if test="goodsVideoUrl != null and goodsVideoUrl != ''">goods_video_url = #{goodsVideoUrl},</if> <if test="goodsVideoUrl != null">goods_video_url = #{goodsVideoUrl},</if>
<if test="status != null">`status` = #{status},</if> <if test="status != null">`status` = #{status},</if>
<if test="remark != null">remark = #{remark},</if> <if test="remark != null">remark = #{remark},</if>
<if test="goodsUnit != null and goodsUnit != ''">goods_unit = #{goodsUnit},</if> <if test="goodsUnit != null">goods_unit = #{goodsUnit},</if>
<if test="warrantyPeriod != null and warrantyPeriod != ''">warranty_period = #{warrantyPeriod},</if> <if test="warrantyPeriod != null">warranty_period = #{warrantyPeriod},</if>
<if test="servActivity != null and servActivity!=''">serv_activity = #{servActivity},</if> <if test="servActivity != null">serv_activity = #{servActivity},</if>
<if test="expectDuration != null and expectDuration!=''">expect_duration = #{expectDuration},</if> <if test="expectDuration != null">expect_duration = #{expectDuration},</if>
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> <if test="updateBy != null">update_by = #{updateBy},</if>
<if test="areaDesc != null and areaDesc != ''">area_desc = #{areaDesc},</if> <if test="areaDesc != null">area_desc = #{areaDesc},</if>
<if test="type != null">type = #{type},</if> <if test="type != null">type = #{type},</if>
<if test="storeService != null">store_service = #{storeService},</if> <if test="storeService != null">store_service = #{storeService},</if>
<if test="installService != null">install_service = #{installService},</if> <if test="installService != null">install_service = #{installService},</if>
<if test="deliveryService != null">delivery_service = #{deliveryService},</if> <if test="deliveryService != null">delivery_service = #{deliveryService},</if>
<if test="shopId != null">shop_id = #{shopId},</if> shop_id = #{shopId},
<if test="shopName != null and shopName != ''">shop_name = #{shopName},</if> <if test="shopName != null">shop_name = #{shopName},</if>
update_time = sysdate() update_time = sysdate()
</set> </set>
WHERE goods_id = #{goodsId} WHERE goods_id = #{goodsId}

View File

@ -292,6 +292,9 @@
<if test="workerId == -2"> <if test="workerId == -2">
and om.worker_id IS not NULL and om.worker_id IS not NULL
</if> </if>
<if test="originalWorkerId != null and originalWorkerId > 0">
AND om.original_worker_id = #{originalWorkerId}
</if>
<if test="payMode != null"> <if test="payMode != null">
AND om.pay_mode = #{payMode} AND om.pay_mode = #{payMode}
</if> </if>

View File

@ -58,11 +58,7 @@
<select id="selectById" parameterType="long" resultMap="SysAreaResult"> <select id="selectById" parameterType="long" resultMap="SysAreaResult">
<include refid="selectSysArea"/> <include refid="selectSysArea"/>
<where> WHERE area_id = #{areaId}
<if test="areaId != null and areaId != 0">
AND area_id = #{areaId}
</if>
</where>
</select> </select>
<select id="selectByAreaCode" parameterType="string" resultMap="SysAreaResult"> <select id="selectByAreaCode" parameterType="string" resultMap="SysAreaResult">