夏文涛 1 год назад
Родитель
Сommit
9f6a8f92bd

+ 19 - 9
src/main/java/com/sqx/modules/errand/controller/app/AppTbIndentController.java

@@ -7,10 +7,7 @@ import com.sqx.modules.app.annotation.Login;
 import com.sqx.modules.app.entity.UserEntity;
 import com.sqx.modules.app.service.UserService;
 import com.sqx.modules.common.service.CommonInfoService;
-import com.sqx.modules.errand.dto.OrderRiderDeliveryDTO;
-import com.sqx.modules.errand.dto.RiderDeliveryDTO;
-import com.sqx.modules.errand.dto.RiderTransferOrderDTO;
-import com.sqx.modules.errand.dto.WaitForAcceptOrderQueryDTO;
+import com.sqx.modules.errand.dto.*;
 import com.sqx.modules.errand.entity.ErrandAddress;
 import com.sqx.modules.errand.entity.ErrandComplaint;
 import com.sqx.modules.errand.entity.ErrandEvaluate;
@@ -389,7 +386,7 @@ public class AppTbIndentController {
     @ApiOperation("扫码或收单码查询跑腿订单列表(带分页")
     public Result selectMemberPage(@RequestAttribute Long userId, Integer page, Integer limit, String acquireCode) {
         //如果只有一条数据就看看数据是否能被当前骑手接
-        PageUtils datas = tbIndentService.selectIndentPage(page, limit, acquireCode);
+        PageUtils datas = tbIndentService.selectIndentPage(page, limit, acquireCode, userId);
         if (datas.getTotalCount() == 1) {
             //校验当前骑手是否能接单
             Result checkData = tbIndentService.checkIndent(userId, acquireCode);
@@ -402,7 +399,7 @@ public class AppTbIndentController {
     }
     //endregion
 
-    //region 2、根据订单id抢单(跑腿订单);
+    //region 2、根据订单id抢单(跑腿订单) 以及取货按钮功能
     @Login
     @PostMapping(value = "orderIndentReceiving")
     @ApiOperation("骑手根据扫码或收单码接单")
@@ -422,11 +419,24 @@ public class AppTbIndentController {
     }
     //endregion
 
-    //region 取货
+    //region 转单
+    @Login
+    @ApiOperation("根据订单ID进行转单操作")
+    @PostMapping("transferByOrderId")
+    public Result transferByOrderId(@RequestAttribute Long userId, @Valid RiderTransferByOrderIdDTO transferByOrderIdDTO) {
+        // 检查入参
+        checkTransferByOrderIdParam(transferByOrderIdDTO);
 
-    //endregion
+        tbIndentService.transferByOrderId(userId, transferByOrderIdDTO);
 
-    //region 转单
+        return Result.success();
+    }
+
+    private void checkTransferByOrderIdParam(RiderTransferByOrderIdDTO transferOrderDTO) {
+        if (StringUtils.isBlank(transferOrderDTO.getPhone()) && StringUtils.isBlank(transferOrderDTO.getRealName())) {
+            throw new SqxException("待分配骑手手机号和待分配骑手真实姓名不能同时为空");
+        }
+    }
     //endregion
     //endregion
 

+ 23 - 0
src/main/java/com/sqx/modules/errand/dto/RiderTransferByOrderIdDTO.java

@@ -0,0 +1,23 @@
+package com.sqx.modules.errand.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+@Data
+@ApiModel("骑手转单dto")
+public class RiderTransferByOrderIdDTO {
+
+    @ApiModelProperty(value = "取单码", required = true)
+    @NotBlank(message = "取单码不能为空")
+    private String acquireCode;
+
+    @ApiModelProperty("待分配骑手手机号,待分配骑手手机号和待分配骑手真实姓名不能同时为空")
+    private String phone;
+
+    @ApiModelProperty("待分配骑手真实姓名,待分配骑手手机号和待分配骑手真实姓名不能同时为空")
+    private String realName;
+}

+ 9 - 5
src/main/java/com/sqx/modules/errand/service/TbIndentService.java

@@ -4,10 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.sqx.common.utils.PageUtils;
 import com.sqx.common.utils.Result;
 import com.sqx.modules.app.entity.UserEntity;
-import com.sqx.modules.errand.dto.OrderRiderDeliveryDTO;
-import com.sqx.modules.errand.dto.RiderDeliveryDTO;
-import com.sqx.modules.errand.dto.RiderTransferOrderDTO;
-import com.sqx.modules.errand.dto.WaitForAcceptOrderQueryDTO;
+import com.sqx.modules.errand.dto.*;
 import com.sqx.modules.errand.entity.ErrandAddress;
 import com.sqx.modules.errand.entity.ErrandEvaluate;
 import com.sqx.modules.errand.entity.ErrandRedPacket;
@@ -119,9 +116,16 @@ public interface TbIndentService extends IService<TbIndent> {
      */
     void transferOfOrder(Long userId, RiderTransferOrderDTO transferOrderDTO);
 
+    /**
+     * 骑手转单
+     * @param userId 当前用户id
+     * @param transferOrderDTO dto
+     */
+    void transferByOrderId(Long userId, RiderTransferByOrderIdDTO transferOrderDTO);
+
     //region 2024-09-12 A-jax 添加方法
     //获取跑腿订单分页数据
-    PageUtils selectIndentPage(Integer page, Integer limit, String acquireCode);
+    PageUtils selectIndentPage(Integer page, Integer limit, String acquireCode, Long userId);
 
     //校验订单是否能接
     Result checkIndent(Long userId, String orderId);

Разница между файлами не показана из-за своего большого размера
+ 319 - 272
src/main/java/com/sqx/modules/errand/service/impl/TbIndentServiceImpl.java


+ 1 - 1
src/main/java/com/sqx/modules/utils/fieYun/FeiYunUtils.java

@@ -1492,7 +1492,7 @@ public class FeiYunUtils {
                 stringBuilder.append("<BR>");
                 //String returnNo = getDigitBarCode();
                 //sb.append("<BC128_C>"+returnNo+"</BC128_C>");
-                stringBuilder.append("<CB><QR>").append(tbOrder.getOrderId()).append("</QR></CB><BR>");
+                stringBuilder.append("<CB><QR>").append(tbOrder.getOrderId()).append("</QR></CB>");
                 stringBuilder.append("<CB>收单码:").append(tbOrder.getOrderId()).append("</CB>");
                 stringBuilder.append("<BR>").append("<BR>").append("<BR>");
                 stringBuilder.append("<CUT>");