Просмотр исходного кода

新增骑手上传送达照片接口

codingliang 1 год назад
Родитель
Сommit
db96b4d5d6

+ 12 - 0
src/main/java/com/sqx/modules/errand/controller/app/AppTbIndentController.java

@@ -19,13 +19,17 @@ import com.sqx.modules.errand.service.ErrandComplaintService;
 import com.sqx.modules.errand.service.TbIndentService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
 import org.springframework.web.bind.annotation.RequestAttribute;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
@@ -277,6 +281,14 @@ public class AppTbIndentController {
         return tbIndentService.riderDelivery(userId, riderDeliveryDTO);
     }
 
+    @Login
+    @PutMapping(value = "delivery-img/{indentNumber}")
+    @ApiOperation("骑手上传送达照片")
+    public Result riderUploadDeliveryImg(@RequestAttribute Long userId, @PathVariable @ApiParam("跑腿订单id") String indentNumber, @RequestParam @ApiParam("图片地址") String imgs){
+        tbIndentService.riderUploadDeliveryImg(userId, indentNumber, imgs);
+        return Result.success();
+    }
+
     //用户确认已送达
     @Login
     @PostMapping(value = "userDelivery")

+ 8 - 0
src/main/java/com/sqx/modules/errand/service/TbIndentService.java

@@ -113,4 +113,12 @@ public interface TbIndentService extends IService<TbIndent> {
      * @param transferOrderDTO dto
      */
     void transferOfOrder(Long userId, RiderTransferOrderDTO transferOrderDTO);
+
+    /**
+     * 骑手上次签收照片
+     * @param userId 用户id
+     * @param indentNumber 跑腿订单号
+     * @param imgs 图片地址
+     */
+    void riderUploadDeliveryImg(Long userId, String indentNumber, String imgs);
 }

+ 20 - 6
src/main/java/com/sqx/modules/errand/service/impl/TbIndentServiceImpl.java

@@ -813,6 +813,18 @@ public class TbIndentServiceImpl extends ServiceImpl<TbIndentDao, TbIndent> impl
         noticeAfterTransfer(indent);
     }
 
+    @Override
+    public void riderUploadDeliveryImg(Long userId, String indentNumber, String imgs) {
+        TbIndent indentOrder = tbIndentDao.findIndentByNumber(indentNumber);
+        if (ObjectUtil.isNull(indentOrder)) {
+            throw new SqxException("无效的跑腿订单id");
+        }
+
+        TbOrder tbOrder = appOrderService.getById(indentOrder.getOrderId());
+        tbOrder.setDeliveryImgs(imgs);
+        appOrderService.updateById(tbOrder);
+    }
+
     @Transactional
     @Override
     public Result riderCancleIndent(String indentNumber,Integer type) {
@@ -938,9 +950,8 @@ public class TbIndentServiceImpl extends ServiceImpl<TbIndentDao, TbIndent> impl
         }
 
         Long smsTemplateId = deliveryDTO.getSmsTemplateId();
-        String imgs = deliveryDTO.getImgs();
-        if (ObjectUtil.isNull(smsTemplateId) || StrUtil.isBlank(imgs)) {
-            throw new SqxException("短信模板id或图片不能为空");
+        if (ObjectUtil.isNull(smsTemplateId)) {
+            throw new SqxException("短信模板id不能为空");
         }
 
         // 收货人手机
@@ -959,9 +970,12 @@ public class TbIndentServiceImpl extends ServiceImpl<TbIndentDao, TbIndent> impl
         }
 
         // 订单新增送达图片
-        TbOrder tbOrder = appOrderService.getById(indentOrder.getOrderId());
-        tbOrder.setDeliveryImgs(imgs);
-        appOrderService.updateById(tbOrder);
+        String imgs = deliveryDTO.getImgs();
+        if (StrUtil.isNotBlank(imgs)) {
+            TbOrder tbOrder = appOrderService.getById(indentOrder.getOrderId());
+            tbOrder.setDeliveryImgs(imgs);
+            appOrderService.updateById(tbOrder);
+        }
 
         // 发送短信并记录短信发送记录
         SmsSendResult smsSendResult = smsTemplateService.sendSms(smsTemplateId, riderUser, userPhone);