From ce7bf2e6ff801146d2ee02825b23d186e110c523 Mon Sep 17 00:00:00 2001
From: 彭雪彬 <1724387007@qq.com>
Date: Tue, 22 Jul 2025 18:06:35 +0800
Subject: [PATCH] 骑手送达照片记录
---
oying-system/src/main/java/com/oying/modules/rider/rest/RiderDeliveryPhotosController.java | 73 ++++++++
oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderDeliveryPhotosQueryCriteria.java | 45 +++++
oying-system/src/main/java/com/oying/modules/rider/domain/vo/OrderDeliveryPhotosVo.java | 37 ++++
oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderDeliveryPhotosServiceImpl.java | 121 +++++++++++++
oying-system/src/main/java/com/oying/modules/rider/utils/Constants.java | 6
oying-system/src/main/java/com/oying/modules/rider/service/RiderDeliveryPhotosService.java | 68 +++++++
oying-system/src/main/resources/mapper/rider/RiderDeliveryPhotosMapper.xml | 64 +++++++
oying-system/src/main/java/com/oying/modules/rider/domain/RiderDeliveryPhotos.java | 72 ++++++++
oying-system/src/main/java/com/oying/modules/rider/mapper/RiderDeliveryPhotosMapper.java | 22 ++
oying-system/src/main/java/com/oying/modules/rider/rest/WxRiderController.java | 28 ++
10 files changed, 530 insertions(+), 6 deletions(-)
diff --git a/oying-system/src/main/java/com/oying/modules/rider/domain/RiderDeliveryPhotos.java b/oying-system/src/main/java/com/oying/modules/rider/domain/RiderDeliveryPhotos.java
new file mode 100644
index 0000000..1690b09
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/domain/RiderDeliveryPhotos.java
@@ -0,0 +1,72 @@
+package com.oying.modules.rider.domain;
+
+import com.oying.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+import cn.hutool.core.bean.BeanUtil;
+import io.swagger.annotations.ApiModelProperty;
+import cn.hutool.core.bean.copier.CopyOptions;
+import java.sql.Timestamp;
+import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+/**
+* @description /
+* @author pxb
+* @date 2025-07-22
+**/
+@Getter
+@Setter
+@TableName("qs_rider_delivery_photos")
+public class RiderDeliveryPhotos extends BaseEntity implements Serializable {
+
+ @TableId(value = "photo_id", type = IdType.AUTO)
+ @ApiModelProperty(value = "照片记录ID")
+ private Long photoId;
+
+ @ApiModelProperty(value = "关联的订单ID")
+ private Long orderId;
+
+ @ApiModelProperty(value = "关联的订单号")
+ private String orderNum;
+
+ @ApiModelProperty(value = "骑手ID")
+ private Long riderId;
+
+ @ApiModelProperty(value = "骑手姓名")
+ private String riderName;
+
+ @ApiModelProperty(value = "骑手手机号")
+ private String riderPhone;
+
+ @ApiModelProperty(value = "照片存储的URL地址")
+ private String photoUrl;
+
+ @ApiModelProperty(value = "照片存储ID")
+ private Long uploadId;
+
+ @ApiModelProperty(value = "拍摄地点纬度")
+ private String latitude;
+
+ @ApiModelProperty(value = "拍摄地点经度")
+ private String longitude;
+
+ @ApiModelProperty(value = "照片描述信息")
+ private String description;
+
+ @ApiModelProperty(value = "是否有效 1-有效 0-无效")
+ private String isValid;
+
+ @ApiModelProperty(value = "用户手机号")
+ private String userPhone;
+
+ @ApiModelProperty(value = "用户id")
+ private Long userId;
+
+
+ public void copy(RiderDeliveryPhotos source){
+ BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
+ }
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderDeliveryPhotosQueryCriteria.java b/oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderDeliveryPhotosQueryCriteria.java
new file mode 100644
index 0000000..3c66081
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderDeliveryPhotosQueryCriteria.java
@@ -0,0 +1,45 @@
+package com.oying.modules.rider.domain.dto;
+
+import lombok.Data;
+import java.sql.Timestamp;
+import java.util.List;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+* @author pxb
+* @date 2025-07-22
+**/
+@Data
+public class RiderDeliveryPhotosQueryCriteria{
+
+ @ApiModelProperty(value = "页码", example = "1")
+ private Integer page = 1;
+
+ @ApiModelProperty(value = "每页数据量", example = "10")
+ private Integer size = 10;
+
+ @ApiModelProperty(value = "关联的订单ID")
+ private Long orderId;
+
+ @ApiModelProperty(value = "关联的订单号")
+ private String orderNum;
+
+ @ApiModelProperty(value = "骑手ID")
+ private Long riderId;
+
+ @ApiModelProperty(value = "骑手姓名")
+ private String riderName;
+
+ @ApiModelProperty(value = "骑手手机号")
+ private String riderPhone;
+
+ @ApiModelProperty(value = "照片存储ID")
+ private Long uploadId;
+
+ @ApiModelProperty(value = "用户手机号")
+ private String userPhone;
+
+ @ApiModelProperty(value = "用户id")
+ private Long userId;
+ private List<Timestamp> createTime;
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/domain/vo/OrderDeliveryPhotosVo.java b/oying-system/src/main/java/com/oying/modules/rider/domain/vo/OrderDeliveryPhotosVo.java
new file mode 100644
index 0000000..845a296
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/domain/vo/OrderDeliveryPhotosVo.java
@@ -0,0 +1,37 @@
+package com.oying.modules.rider.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+* @description /
+* @author pxb
+* @date 2025-06-18
+**/
+@Getter
+@Setter
+public class OrderDeliveryPhotosVo implements Serializable {
+
+
+ @ApiModelProperty(value = "订单号")
+ private String orderNum;
+
+ @ApiModelProperty(value = "拍照经度")
+ private String userLongitude;
+
+ @ApiModelProperty(value = "拍照纬度")
+ private String userLatitude;
+
+ @ApiModelProperty(value = "图片地址")
+ private String photoUrl;
+
+ @ApiModelProperty(value = "描述")
+ private String description;
+
+ @ApiModelProperty(value = "照片存储ID")
+ private Long uploadId;
+
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/mapper/RiderDeliveryPhotosMapper.java b/oying-system/src/main/java/com/oying/modules/rider/mapper/RiderDeliveryPhotosMapper.java
new file mode 100644
index 0000000..34de69b
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/mapper/RiderDeliveryPhotosMapper.java
@@ -0,0 +1,22 @@
+package com.oying.modules.rider.mapper;
+
+import com.oying.modules.rider.domain.RiderDeliveryPhotos;
+import com.oying.modules.rider.domain.dto.RiderDeliveryPhotosQueryCriteria;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+/**
+* @author pxb
+* @date 2025-07-22
+**/
+@Mapper
+public interface RiderDeliveryPhotosMapper extends BaseMapper<RiderDeliveryPhotos> {
+
+ IPage<RiderDeliveryPhotos> findAll(@Param("criteria") RiderDeliveryPhotosQueryCriteria criteria, Page<Object> page);
+
+ List<RiderDeliveryPhotos> findAll(@Param("criteria") RiderDeliveryPhotosQueryCriteria criteria);
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/rest/RiderDeliveryPhotosController.java b/oying-system/src/main/java/com/oying/modules/rider/rest/RiderDeliveryPhotosController.java
new file mode 100644
index 0000000..62080cc
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/rest/RiderDeliveryPhotosController.java
@@ -0,0 +1,73 @@
+package com.oying.modules.rider.rest;
+
+import com.oying.annotation.Log;
+import com.oying.modules.rider.domain.RiderDeliveryPhotos;
+import com.oying.modules.rider.service.RiderDeliveryPhotosService;
+import com.oying.modules.rider.domain.dto.RiderDeliveryPhotosQueryCriteria;
+import lombok.RequiredArgsConstructor;
+import java.util.List;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import io.swagger.annotations.*;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.oying.utils.PageResult;
+
+/**
+* @author pxb
+* @date 2025-07-22
+**/
+@RestController
+@RequiredArgsConstructor
+@Api(tags = "骑手送达照片记录")
+@RequestMapping("/api/riderDeliveryPhotos")
+public class RiderDeliveryPhotosController {
+
+ private final RiderDeliveryPhotosService riderDeliveryPhotosService;
+
+ @ApiOperation("导出数据")
+ @GetMapping(value = "/download")
+ @PreAuthorize("@el.check('riderDeliveryPhotos:list')")
+ public void exportRiderDeliveryPhotos(HttpServletResponse response, RiderDeliveryPhotosQueryCriteria criteria) throws IOException {
+ riderDeliveryPhotosService.download(riderDeliveryPhotosService.queryAll(criteria), response);
+ }
+
+ @GetMapping
+ @ApiOperation("查询骑手送达照片记录")
+ @PreAuthorize("@el.check('riderDeliveryPhotos:list')")
+ public ResponseEntity<PageResult<RiderDeliveryPhotos>> queryRiderDeliveryPhotos(RiderDeliveryPhotosQueryCriteria criteria){
+ Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
+ return new ResponseEntity<>(riderDeliveryPhotosService.queryAll(criteria,page),HttpStatus.OK);
+ }
+
+ @PostMapping
+ @Log("新增骑手送达照片记录")
+ @ApiOperation("新增骑手送达照片记录")
+ @PreAuthorize("@el.check('riderDeliveryPhotos:add')")
+ public ResponseEntity<Object> createRiderDeliveryPhotos(@Validated @RequestBody RiderDeliveryPhotos resources){
+ riderDeliveryPhotosService.create(resources);
+ return new ResponseEntity<>(HttpStatus.CREATED);
+ }
+
+ @PutMapping
+ @Log("修改骑手送达照片记录")
+ @ApiOperation("修改骑手送达照片记录")
+ @PreAuthorize("@el.check('riderDeliveryPhotos:edit')")
+ public ResponseEntity<Object> updateRiderDeliveryPhotos(@Validated @RequestBody RiderDeliveryPhotos resources){
+ riderDeliveryPhotosService.update(resources);
+ return new ResponseEntity<>(HttpStatus.NO_CONTENT);
+ }
+
+ @DeleteMapping
+ @Log("删除骑手送达照片记录")
+ @ApiOperation("删除骑手送达照片记录")
+ @PreAuthorize("@el.check('riderDeliveryPhotos:del')")
+ public ResponseEntity<Object> deleteRiderDeliveryPhotos(@ApiParam(value = "传ID数组[]") @RequestBody List<Long> ids) {
+ riderDeliveryPhotosService.deleteAll(ids);
+ return new ResponseEntity<>(HttpStatus.OK);
+ }
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/rest/WxRiderController.java b/oying-system/src/main/java/com/oying/modules/rider/rest/WxRiderController.java
index caaee55..6b046a1 100644
--- a/oying-system/src/main/java/com/oying/modules/rider/rest/WxRiderController.java
+++ b/oying-system/src/main/java/com/oying/modules/rider/rest/WxRiderController.java
@@ -5,11 +5,13 @@
import com.oying.modules.rider.domain.dto.RiderIncomeDetailQueryCriteria;
import com.oying.modules.rider.domain.dto.RiderOrderRecordQueryCriteria;
import com.oying.modules.rider.domain.dto.RiderWithdrawalRecordQueryCriteria;
+import com.oying.modules.rider.domain.vo.OrderDeliveryPhotosVo;
import com.oying.modules.rider.domain.vo.OrderRiderOperationVo;
import com.oying.modules.rider.service.*;
import com.oying.modules.rider.utils.Constants;
import com.oying.utils.PageResult;
import com.oying.utils.R;
+import com.oying.utils.StringUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
@@ -37,6 +39,8 @@
private final RiderInfoService riderInfoService;
private final RiderOrderRecordService riderOrderRecordService;
+
+ private final RiderDeliveryPhotosService riderDeliveryPhotosService;
@GetMapping("getRiderSourceInfo/{riderId}")
@@ -96,7 +100,7 @@
// @PreAuthorize("@el.check('riderOrderRecord:list')")
public ResponseEntity<?> riderGrabOrder(@PathVariable String orderNum) {
// 订单号不能为空
- if (orderNum == null || orderNum.equals("")) {
+ if (StringUtils.isBlank(orderNum)) {
return ResponseEntity.ok(R.fail(Constants.HTTP_CODE_FAIL, "订单号不能为空"));
}
R result = riderOrderRecordService.riderGrabOrder(orderNum);
@@ -108,7 +112,7 @@
// @PreAuthorize("@el.check('riderOrderRecord:list')")
public ResponseEntity<?> riderCancelOrder(@PathVariable String orderNum) {
// 订单号不能为空
- if (orderNum == null || orderNum.equals("")) {
+ if (StringUtils.isBlank(orderNum)) {
return ResponseEntity.ok(R.fail(Constants.HTTP_CODE_FAIL, "订单号不能为空"));
}
R result = riderOrderRecordService.riderCancelOrder(orderNum);
@@ -120,7 +124,7 @@
// @PreAuthorize("@el.check('riderOrderRecord:list')")
public ResponseEntity<?> riderCompleteOrder(@PathVariable String orderNum) {
// 订单号不能为空
- if (orderNum == null || orderNum.equals("")) {
+ if (StringUtils.isBlank(orderNum)) {
return ResponseEntity.ok(R.fail(Constants.HTTP_CODE_FAIL, "订单号不能为空"));
}
R result = riderOrderRecordService.riderCompleteOrder(orderNum);
@@ -130,12 +134,24 @@
@PostMapping("riderOperationOrder")
@ApiOperation("骑手上报到店/取货配送")
// @PreAuthorize("@el.check('riderOrderRecord:list')")
- public ResponseEntity<?> riderOperationOrder(@RequestBody OrderRiderOperationVo orderRiderOperation) {
+ public ResponseEntity<?> riderOperationOrder(@RequestBody OrderRiderOperationVo orderRiderOperationVo) {
// 订单号不能为空
- if (orderRiderOperation.getOrderNum() == null || orderRiderOperation.getOrderNum().equals("")) {
+ if (StringUtils.isBlank(orderRiderOperationVo.getOrderNum())) {
return ResponseEntity.ok(R.fail(Constants.HTTP_CODE_FAIL, "订单号不能为空"));
}
- R result = riderOrderRecordService.riderOperationOrder(orderRiderOperation);
+ R result = riderOrderRecordService.riderOperationOrder(orderRiderOperationVo);
+ return ResponseEntity.ok(R.success(result));
+ }
+
+ @PostMapping("riderDeliveryPhotos")
+ @ApiOperation("骑手上传图片记录")
+ // @PreAuthorize("@el.check('riderOrderRecord:list')")
+ public ResponseEntity<?> riderDeliveryPhotos(@RequestBody OrderDeliveryPhotosVo orderDeliveryPhotosVo) {
+ // 订单号不能为空
+ if (StringUtils.isBlank(orderDeliveryPhotosVo.getOrderNum())) {
+ return ResponseEntity.ok(R.fail(Constants.HTTP_CODE_FAIL, "订单号不能为空"));
+ }
+ Boolean result = riderDeliveryPhotosService.riderDeliveryPhotos(orderDeliveryPhotosVo);
return ResponseEntity.ok(R.success(result));
}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/service/RiderDeliveryPhotosService.java b/oying-system/src/main/java/com/oying/modules/rider/service/RiderDeliveryPhotosService.java
new file mode 100644
index 0000000..3db8594
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/service/RiderDeliveryPhotosService.java
@@ -0,0 +1,68 @@
+package com.oying.modules.rider.service;
+
+import com.oying.modules.rider.domain.RiderDeliveryPhotos;
+import com.oying.modules.rider.domain.dto.RiderDeliveryPhotosQueryCriteria;
+import java.util.Map;
+import java.util.List;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.oying.modules.rider.domain.vo.OrderDeliveryPhotosVo;
+import com.oying.utils.PageResult;
+
+/**
+* @description 服务接口
+* @author pxb
+* @date 2025-07-22
+**/
+public interface RiderDeliveryPhotosService extends IService<RiderDeliveryPhotos> {
+
+ /**
+ * 查询数据分页
+ * @param criteria 条件
+ * @param page 分页参数
+ * @return PageResult
+ */
+ PageResult<RiderDeliveryPhotos> queryAll(RiderDeliveryPhotosQueryCriteria criteria, Page<Object> page);
+
+ /**
+ * 查询所有数据不分页
+ * @param criteria 条件参数
+ * @return List<RiderDeliveryPhotosDto>
+ */
+ List<RiderDeliveryPhotos> queryAll(RiderDeliveryPhotosQueryCriteria criteria);
+
+ /**
+ * 创建
+ * @param resources /
+ */
+ void create(RiderDeliveryPhotos resources);
+
+ /**
+ * 编辑
+ * @param resources /
+ */
+ void update(RiderDeliveryPhotos resources);
+
+ /**
+ * 多选删除
+ * @param ids /
+ */
+ void deleteAll(List<Long> ids);
+
+ /**
+ * 导出数据
+ * @param all 待导出的数据
+ * @param response /
+ * @throws IOException /
+ */
+ void download(List<RiderDeliveryPhotos> all, HttpServletResponse response) throws IOException;
+
+ /**
+ * 新增配送照片记录
+ * @param orderDeliveryPhotosVo
+ * @throws IOException /
+ */
+ Boolean riderDeliveryPhotos(OrderDeliveryPhotosVo orderDeliveryPhotosVo);
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderDeliveryPhotosServiceImpl.java b/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderDeliveryPhotosServiceImpl.java
new file mode 100644
index 0000000..2c0d9be
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderDeliveryPhotosServiceImpl.java
@@ -0,0 +1,121 @@
+package com.oying.modules.rider.service.impl;
+
+import com.oying.modules.rider.domain.RiderDeliveryPhotos;
+import com.oying.modules.rider.domain.vo.OrderDeliveryPhotosVo;
+import com.oying.modules.rider.utils.Constants;
+import com.oying.modules.sh.domain.vo.OrderResponse;
+import com.oying.modules.sh.service.OrderService;
+import com.oying.utils.FileUtil;
+import lombok.RequiredArgsConstructor;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.oying.modules.rider.service.RiderDeliveryPhotosService;
+import com.oying.modules.rider.domain.dto.RiderDeliveryPhotosQueryCriteria;
+import com.oying.modules.rider.mapper.RiderDeliveryPhotosMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.oying.utils.PageUtil;
+
+import java.util.List;
+import java.util.Map;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+
+import com.oying.utils.PageResult;
+
+/**
+ * @author pxb
+ * @description 服务实现
+ * @date 2025-07-22
+ **/
+@Service
+@RequiredArgsConstructor
+public class RiderDeliveryPhotosServiceImpl extends ServiceImpl<RiderDeliveryPhotosMapper, RiderDeliveryPhotos> implements RiderDeliveryPhotosService {
+
+ private final RiderDeliveryPhotosMapper riderDeliveryPhotosMapper;
+ private final OrderService orderService;
+
+ @Override
+ public PageResult<RiderDeliveryPhotos> queryAll(RiderDeliveryPhotosQueryCriteria criteria, Page<Object> page) {
+ return PageUtil.toPage(riderDeliveryPhotosMapper.findAll(criteria, page));
+ }
+
+ @Override
+ public List<RiderDeliveryPhotos> queryAll(RiderDeliveryPhotosQueryCriteria criteria) {
+ return riderDeliveryPhotosMapper.findAll(criteria);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void create(RiderDeliveryPhotos resources) {
+ riderDeliveryPhotosMapper.insert(resources);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void update(RiderDeliveryPhotos resources) {
+ RiderDeliveryPhotos riderDeliveryPhotos = getById(resources.getPhotoId());
+ riderDeliveryPhotos.copy(resources);
+ riderDeliveryPhotosMapper.updateById(riderDeliveryPhotos);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void deleteAll(List<Long> ids) {
+ riderDeliveryPhotosMapper.deleteBatchIds(ids);
+ }
+
+ @Override
+ public void download(List<RiderDeliveryPhotos> all, HttpServletResponse response) throws IOException {
+ List<Map<String, Object>> list = new ArrayList<>();
+ for (RiderDeliveryPhotos riderDeliveryPhotos : all) {
+ Map<String, Object> map = new LinkedHashMap<>();
+ map.put("关联的订单ID", riderDeliveryPhotos.getOrderId());
+ map.put("关联的订单号", riderDeliveryPhotos.getOrderNum());
+ map.put("骑手ID", riderDeliveryPhotos.getRiderId());
+ map.put("骑手姓名", riderDeliveryPhotos.getRiderName());
+ map.put("骑手手机号", riderDeliveryPhotos.getRiderPhone());
+ map.put("照片存储的URL地址", riderDeliveryPhotos.getPhotoUrl());
+ map.put("照片存储ID", riderDeliveryPhotos.getUploadId());
+ map.put("拍摄地点纬度", riderDeliveryPhotos.getLatitude());
+ map.put("拍摄地点经度", riderDeliveryPhotos.getLongitude());
+ map.put("照片描述信息", riderDeliveryPhotos.getDescription());
+ map.put("是否有效 1-有效 0-无效", riderDeliveryPhotos.getIsValid());
+ map.put("用户手机号", riderDeliveryPhotos.getUserPhone());
+ map.put("用户id", riderDeliveryPhotos.getUserId());
+ map.put("创建人", riderDeliveryPhotos.getCreateBy());
+ map.put("修改人", riderDeliveryPhotos.getUpdateBy());
+ map.put("创建时间", riderDeliveryPhotos.getCreateTime());
+ map.put("修改时间", riderDeliveryPhotos.getUpdateTime());
+ list.add(map);
+ }
+ FileUtil.downloadExcel(list, response);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Boolean riderDeliveryPhotos(OrderDeliveryPhotosVo orderDeliveryPhotosVo) {
+ OrderResponse orderResponse = orderService.getByOrderNum(orderDeliveryPhotosVo.getOrderNum());
+ if (orderResponse != null) {
+ // 封装数据
+ RiderDeliveryPhotos riderDeliveryPhotos = new RiderDeliveryPhotos();
+ riderDeliveryPhotos.setOrderId(orderResponse.getOrder().getOrderId());
+ riderDeliveryPhotos.setOrderNum(orderResponse.getOrder().getOrderNum());
+ riderDeliveryPhotos.setRiderId(orderResponse.getOrder().getRiderId());
+ riderDeliveryPhotos.setRiderName(orderResponse.getOrder().getRiderName());
+ riderDeliveryPhotos.setRiderPhone(orderResponse.getOrder().getRiderPhone());
+ riderDeliveryPhotos.setPhotoUrl(orderDeliveryPhotosVo.getPhotoUrl());
+ riderDeliveryPhotos.setUploadId(orderDeliveryPhotosVo.getUploadId());
+ riderDeliveryPhotos.setLatitude(orderDeliveryPhotosVo.getUserLatitude());
+ riderDeliveryPhotos.setLongitude(orderDeliveryPhotosVo.getUserLongitude());
+ riderDeliveryPhotos.setDescription(orderDeliveryPhotosVo.getDescription());
+ riderDeliveryPhotos.setIsValid(Constants.IS_VALID_YES);
+ riderDeliveryPhotos.setUserPhone(orderResponse.getOrder().getUsername());
+ riderDeliveryPhotos.setUserId(orderResponse.getOrder().getUserId());
+ return this.save(riderDeliveryPhotos);
+ }
+ return false;
+ }
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/utils/Constants.java b/oying-system/src/main/java/com/oying/modules/rider/utils/Constants.java
index ecbb6cc..04a90b6 100644
--- a/oying-system/src/main/java/com/oying/modules/rider/utils/Constants.java
+++ b/oying-system/src/main/java/com/oying/modules/rider/utils/Constants.java
@@ -45,6 +45,12 @@
String IS_OVERTIME_YES = "1";
/**
+ * 是否有效 1-有效 0-无效
+ */
+ String IS_VALID_YES = "1";
+ String IS_VALID_NO = "0";
+
+ /**
* 订单来源: 1-平台派单 2-骑手抢单 3-商家直派 4-其他
*/
String ORDER_SOURCE_PLATFORM = "1";
diff --git a/oying-system/src/main/resources/mapper/rider/RiderDeliveryPhotosMapper.xml b/oying-system/src/main/resources/mapper/rider/RiderDeliveryPhotosMapper.xml
new file mode 100644
index 0000000..32d1a3d
--- /dev/null
+++ b/oying-system/src/main/resources/mapper/rider/RiderDeliveryPhotosMapper.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.oying.modules.rider.mapper.RiderDeliveryPhotosMapper">
+ <resultMap id="BaseResultMap" type="com.oying.modules.rider.domain.RiderDeliveryPhotos">
+ <id column="photo_id" property="photoId"/>
+ <result column="order_id" property="orderId"/>
+ <result column="order_num" property="orderNum"/>
+ <result column="rider_id" property="riderId"/>
+ <result column="rider_name" property="riderName"/>
+ <result column="rider_phone" property="riderPhone"/>
+ <result column="photo_url" property="photoUrl"/>
+ <result column="upload_id" property="uploadId"/>
+ <result column="latitude" property="latitude"/>
+ <result column="longitude" property="longitude"/>
+ <result column="description" property="description"/>
+ <result column="is_valid" property="isValid"/>
+ <result column="user_phone" property="userPhone"/>
+ <result column="user_id" property="userId"/>
+ <result column="create_by" property="createBy"/>
+ <result column="update_by" property="updateBy"/>
+ <result column="create_time" property="createTime"/>
+ <result column="update_time" property="updateTime"/>
+ </resultMap>
+
+ <sql id="Base_Column_List">
+ photo_id, order_id, order_num, rider_id, rider_name, rider_phone, photo_url, upload_id, latitude, longitude, description, is_valid, user_phone, user_id, create_by, update_by, create_time, update_time
+ </sql>
+
+ <select id="findAll" resultMap="BaseResultMap">
+ select
+ <include refid="Base_Column_List"/>
+ from qs_rider_delivery_photos
+ <where>
+ <if test="criteria.orderId != null">
+ and order_id = #{criteria.orderId}
+ </if>
+ <if test="criteria.orderNum != null">
+ and order_num = #{criteria.orderNum}
+ </if>
+ <if test="criteria.riderId != null">
+ and rider_id = #{criteria.riderId}
+ </if>
+ <if test="criteria.riderName != null">
+ and rider_name = #{criteria.riderName}
+ </if>
+ <if test="criteria.riderPhone != null">
+ and rider_phone = #{criteria.riderPhone}
+ </if>
+ <if test="criteria.uploadId != null">
+ and upload_id = #{criteria.uploadId}
+ </if>
+ <if test="criteria.userPhone != null">
+ and user_phone = #{criteria.userPhone}
+ </if>
+ <if test="criteria.userId != null">
+ and user_id = #{criteria.userId}
+ </if>
+ <if test="criteria.createTime != null and criteria.createTime.size() > 0">
+ AND create_time BETWEEN #{criteria.createTime[0]} AND #{criteria.createTime[1]}
+ </if>
+ </where>
+ order by photo_id desc
+ </select>
+</mapper>
\ No newline at end of file
--
Gitblit v1.9.3