From a5068173471dc2560d94626ad5866c6ec5f2caf3 Mon Sep 17 00:00:00 2001 From: Smile <2767057906@qq.com> Date: Fri, 7 Mar 2025 18:48:27 +0800 Subject: [PATCH] =?UTF-8?q?bug312=20APP/WEB=E6=8E=A7=E8=B4=A7=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E4=B8=8B=E8=BD=BD=E6=8F=90=E5=8D=95=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E9=99=90=E5=88=B6=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/order/OrderQueryService.java | 5 +- .../order/impl/OrderQueryServiceImpl.java | 47 +++++++++++++++++++ .../app/order/MyOrderController.java | 9 +++- 3 files changed, 58 insertions(+), 3 deletions(-) diff --git a/yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/order/OrderQueryService.java b/yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/order/OrderQueryService.java index b73491a7..a2c1ce4a 100644 --- a/yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/order/OrderQueryService.java +++ b/yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/order/OrderQueryService.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.order.service.order; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.vo.PageVO; @@ -407,8 +408,8 @@ public interface OrderQueryService { OrderDetailSummaryDto orderDetailSummaryByOrderId(Long orderId); List<OrderDO> getAirRefreshOrderPrice(List<Integer> transportIdList); - - + //是å¦èƒ½ä¸‹è½½æå• + CommonResult<Boolean> getOrderShowLadingStateStatus(Long orderId); /** * 是å¦æ‹†å•åè®¢å• * diff --git a/yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/order/impl/OrderQueryServiceImpl.java b/yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/order/impl/OrderQueryServiceImpl.java index 4d0e2ace..55fd9215 100644 --- a/yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/order/impl/OrderQueryServiceImpl.java +++ b/yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/order/impl/OrderQueryServiceImpl.java @@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil; import cn.iocoder.yudao.framework.apollo.core.event.Order.OrderApprovalTypeCheckEvent; import cn.iocoder.yudao.framework.common.exception.ServiceException; import cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.spring.enums.UserTypeEnum; @@ -17,6 +18,7 @@ import cn.iocoder.yudao.framework.mybatis.core.vo.PageVO; import cn.iocoder.yudao.framework.security.core.LoginUser; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; import cn.iocoder.yudao.module.customer.dal.dataobject.customer.CustomerDO; +import cn.iocoder.yudao.module.customer.dal.dataobject.customerContacts.CustomerContactsDO; import cn.iocoder.yudao.module.customer.service.customer.CustomerService; import cn.iocoder.yudao.module.customer.service.customerContacts.CustomerContactsService; import cn.iocoder.yudao.module.customer.service.zhongPao.ZhongPaoService; @@ -49,6 +51,7 @@ import cn.iocoder.yudao.module.order.dal.dataobject.approval.OrderApprovalDO; import cn.iocoder.yudao.module.order.dal.dataobject.order.OrderDO; import cn.iocoder.yudao.module.order.dal.dataobject.orderConsignee.OrderConsigneeDO; import cn.iocoder.yudao.module.order.dal.dataobject.orderConsignor.OrderConsignorDO; +import cn.iocoder.yudao.module.order.dal.dataobject.orderControlLog.OrderControlLogDO; import cn.iocoder.yudao.module.order.dal.dataobject.orderDeparture.OrderDepartureDO; import cn.iocoder.yudao.module.order.dal.dataobject.orderException.OrderExceptionDO; import cn.iocoder.yudao.module.order.dal.dataobject.orderItem.OrderItemDO; @@ -67,6 +70,7 @@ import cn.iocoder.yudao.module.order.enums.OrderApprovalTypeEnum; import cn.iocoder.yudao.module.order.enums.OrderExceptionEnum; import cn.iocoder.yudao.module.order.enums.TransportTypeShortEnum; import cn.iocoder.yudao.module.order.service.order.*; +import cn.iocoder.yudao.module.order.service.orderControlLog.OrderControlLogService; import cn.iocoder.yudao.module.order.service.orderException.OrderExceptionService; import cn.iocoder.yudao.module.order.service.orderWarehouseIn.OrderWarehouseInService; import cn.iocoder.yudao.module.order.service.orderWarehousePicture.OrderWarehousePictureService; @@ -121,6 +125,7 @@ import java.util.function.Function; import java.util.stream.Collectors; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import static cn.iocoder.yudao.framework.excel.constant.ExportConstant.*; import static cn.iocoder.yudao.module.order.enums.ErrorCodeConstants.*; import static cn.iocoder.yudao.module.order.enums.OrderApprovalTypeEnum.ORDER_UPDATE; @@ -138,6 +143,7 @@ import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.NOT_FIND_ public class OrderQueryServiceImpl implements OrderQueryService { private final OrderMapper orderMapper; + private final OrderControlLogService orderControlLogService; private final OrderItemMapper orderItemMapper; private final OrderTimeMapper orderTimeMapper; private final OrderDepartureService orderDepartureService; @@ -3842,6 +3848,47 @@ public class OrderQueryServiceImpl implements OrderQueryService { return orderMapper.getAirRefreshOrderPrice(transportIdList); } + @Override + public CommonResult<Boolean> getOrderShowLadingStateStatus(Long orderId) { + LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); + UserRespDTO user = memberUserApi.getUser(loginUser.getId()); + assert user != null; + Long userId = user.getId(); + OrderBackInfoDto dto = this.info(orderId); + if (Objects.isNull(dto)){ + return success(false); + } + // 判æ–å‘货人是å¦æ˜¯å½“å‰ç™»å½•äºº + Long customerId = dto.getConsignorVO().getCustomerId(); + List<CustomerContactsDO> consigneeCustomerList = customerContactsService.getCustomerContactsListByCustomerId(customerId); + CustomerContactsDO customerContactsDO = consigneeCustomerList.stream().filter(val -> Objects.equals(val.getIsDefault(), 1)).findFirst().orElse(null); + if (Objects.equals(customerContactsDO.getPhoneNew(),user.getMobile())){ + return success(true); + } + Long customerId1 = dto.getConsigneeVO().getCustomerId(); + List<CustomerContactsDO> consignorCustomerList1 = customerContactsService.getCustomerContactsListByCustomerId(customerId1); + CustomerContactsDO customerContactsDO1 = consignorCustomerList1.stream().filter(val -> Objects.equals(val.getIsDefault(), 1)).findFirst().orElse(null); + List<OrderControlLogDO> orderControlLogListByOrderIdList = orderControlLogService.getOrderControlLogListByOrderId(orderId, null); + boolean isFirstAllAllow = false; + int count = 0; // 新增计数器 + String msg=""; + for (int i = 0; i < orderControlLogListByOrderIdList.size(); i++) { + if (orderControlLogListByOrderIdList.get(i).getTypeKey() == 4) { + msg=orderControlLogListByOrderIdList.get(i).getMsg(); + count++; + // 如果å‘现超过1个,æå‰ç»ˆæ¢å¾ªçŽ¯ä¼˜åŒ–性能 + if (count > 1) { + break; + } + } + } + isFirstAllAllow = (count == 1); // 最终判æ–是å¦ä¸¥æ ¼ç‰äºŽ1 + if (dto.getSumNum()==dto.getReleaseNum()&&dto.getCargoControlStatus()==1&&isFirstAllAllow&& msg.contains(String.valueOf(customerContactsDO1.getPhoneNew())) && customerContactsDO1.getPhoneNew().equals(user.getMobile())){ + return success(true); + } + return success(false); + } + @Override public boolean isSplitOrderChildren(OrderDO orderDO) { boolean isSplitSeparateOrder = orderDO.getSplitSeparateOrder(); diff --git a/yudao-module-order/yudao-module-order-rest/src/main/java/cn/iocoder/yudao/module/order/controller/app/order/MyOrderController.java b/yudao-module-order/yudao-module-order-rest/src/main/java/cn/iocoder/yudao/module/order/controller/app/order/MyOrderController.java index 893e4c29..274ce0d3 100644 --- a/yudao-module-order/yudao-module-order-rest/src/main/java/cn/iocoder/yudao/module/order/controller/app/order/MyOrderController.java +++ b/yudao-module-order/yudao-module-order-rest/src/main/java/cn/iocoder/yudao/module/order/controller/app/order/MyOrderController.java @@ -4,13 +4,13 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.io.file.FileNameUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; -import cn.iocoder.yudao.framework.common.util.spring.enums.UserTypeEnum; import cn.iocoder.yudao.framework.common.exception.ErrorCode; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.code.CodeUtils; import cn.iocoder.yudao.framework.common.util.date.DateUtils; import cn.iocoder.yudao.framework.common.util.object.JavaBeanUtils; +import cn.iocoder.yudao.framework.common.util.spring.enums.UserTypeEnum; import cn.iocoder.yudao.framework.dict.core.dto.DictDataRespDTO; import cn.iocoder.yudao.framework.excel.util.ExcelUtils; import cn.iocoder.yudao.framework.i18n.core.I18nMessage; @@ -507,6 +507,13 @@ public class MyOrderController { } return success(pageResult); } + //是å¦èƒ½ä¸‹è½½æå• + @GetMapping("/getOrderShowLadingStateStatus/{orderId}") + @PreAuthenticated + @ApiOperation("是å¦èƒ½ä¸‹è½½æå•") + public CommonResult<Boolean> getOrderShowLadingStateStatus(@PathVariable("orderId") Long orderId) { + return orderQueryService.getOrderShowLadingStateStatus(orderId); + } @GetMapping("/cargo/control/page") @ApiOperation("获得我控货的订å•åˆ†é¡µ") -- 2.22.0