Browse Source

fixed 店员操作权限判断

fushengqian 1 year ago
parent
commit
a1e2fc17d4

+ 3 - 2
fuint-application/src/main/java/com/fuint/common/service/OrderService.java

@@ -81,10 +81,11 @@ public interface OrderService extends IService<MtOrder> {
     /**
      * 取消订单
      *
-     * @param  id 订单ID
+     * @param orderId 订单ID
+     * @param remark 取消备注
      * @return
      * */
-    MtOrder cancelOrder(Integer id, String remark) throws BusinessCheckException;
+    MtOrder cancelOrder(Integer orderId, String remark) throws BusinessCheckException;
 
     /**
      * 根据订单ID删除

+ 4 - 3
fuint-application/src/main/java/com/fuint/common/service/impl/OrderServiceImpl.java

@@ -1024,14 +1024,15 @@ public class OrderServiceImpl extends ServiceImpl<MtOrderMapper, MtOrder> implem
 
     /**
      * 取消订单
-     * @param  id 订单ID
+     * @param orderId 订单ID
+     * @param remark 取消备注
      * @return
      * */
     @Override
     @Transactional(rollbackFor = Exception.class)
     @OperationServiceLog(description = "取消订单")
-    public MtOrder cancelOrder(Integer id, String remark) throws BusinessCheckException {
-        MtOrder mtOrder = mtOrderMapper.selectById(id);
+    public MtOrder cancelOrder(Integer orderId, String remark) throws BusinessCheckException {
+        MtOrder mtOrder = mtOrderMapper.selectById(orderId);
 
         if (mtOrder != null && mtOrder.getStatus().equals(OrderStatusEnum.CREATED.getKey()) && mtOrder.getPayStatus().equals(PayStatusEnum.WAIT.getKey())) {
             if (StringUtil.isNotEmpty(remark)) {

+ 11 - 4
fuint-application/src/main/java/com/fuint/module/merchantApi/controller/MerchantOrderController.java

@@ -113,18 +113,25 @@ public class MerchantOrderController extends BaseController {
         UserInfo mtUser = TokenUtil.getUserInfoByToken(token);
 
         if (mtUser == null) {
-            return getFailureResult(1001, "用户未登录");
+            return getFailureResult(1001, "请先登录");
         }
 
         String orderId = orderDetailParam.getOrderId();
         if (orderId == null || StringUtil.isEmpty(orderId)) {
-            return getFailureResult(2000, "订单不能为空");
+            return getFailureResult(201, "订单不能为空");
         }
 
-        UserOrderDto order = orderService.getOrderById(Integer.parseInt(orderId));
+        UserOrderDto orderDto = orderService.getOrderById(Integer.parseInt(orderId));
+        if (orderDto == null) {
+            return getFailureResult(201, "订单已不存在");
+        }
 
-        MtOrder orderInfo = orderService.cancelOrder(order.getId(), "店员取消");
+        MtStaff staffInfo = staffService.queryStaffByUserId(mtUser.getId());
+        if (staffInfo == null || orderDto.getStoreInfo() == null || !staffInfo.getStoreId().equals(orderDto.getStoreInfo().getId())) {
+            return getFailureResult(201, "没有操作权限");
+        }
 
+        MtOrder orderInfo = orderService.cancelOrder(orderDto.getId(), "店员取消");
         return getSuccessResult(orderInfo);
     }
 }