From 4d69f51940bc2244301fb40ad40a22ff16cd5d4c Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 28 Jun 2021 21:14:35 +0800
Subject: [PATCH] Merge branch 'score-shop' of http://120.27.238.55:7000/r/xzx into score-shop
---
gc-core/src/main/java/com/xzx/gc/entity/JhyOrder.java | 4 +
gc-order/src/main/java/com/xzx/gc/order/controller/ApiJhyOrderController.java | 22 +++++++
gc-order/src/main/resources/mapper/order/JhyInfoMapper.xml | 9 +++
gc-order/src/main/java/com/xzx/gc/order/mapper/JhyInfoMapper.java | 10 +++
gc-order/src/main/java/com/xzx/gc/order/dto/JhyOrderConfirmDto.java | 22 +++++++
gc-order/src/main/java/com/xzx/gc/order/dto/JhyOrderConfirmItemsDto.java | 21 +++++++
gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java | 52 ++++++++++++++--
7 files changed, 131 insertions(+), 9 deletions(-)
diff --git a/gc-core/src/main/java/com/xzx/gc/entity/JhyOrder.java b/gc-core/src/main/java/com/xzx/gc/entity/JhyOrder.java
index 754cf59..63f0cfb 100644
--- a/gc-core/src/main/java/com/xzx/gc/entity/JhyOrder.java
+++ b/gc-core/src/main/java/com/xzx/gc/entity/JhyOrder.java
@@ -36,10 +36,12 @@
private String weight;
/**
- * 订单状态 状态 1-待接单2-服务中3-已收款4-待入库5-已完成6-已取消
+ * 订单状态 状态 1-待接单2-已接单3-已完成(用户)/待入库(集物员)4-已完成5-已取消
*/
private Integer status;
public static final Integer ORDER_STATUS_WAITING = 1;
+ public static final Integer ORDER_STATUS_IMG = 2;
+ public static final Integer ORDER_STATUS_CANCEL = 5;
/**
* 评论
diff --git a/gc-order/src/main/java/com/xzx/gc/order/controller/ApiJhyOrderController.java b/gc-order/src/main/java/com/xzx/gc/order/controller/ApiJhyOrderController.java
index 6d6f5c9..ac46420 100644
--- a/gc-order/src/main/java/com/xzx/gc/order/controller/ApiJhyOrderController.java
+++ b/gc-order/src/main/java/com/xzx/gc/order/controller/ApiJhyOrderController.java
@@ -5,6 +5,7 @@
import com.xzx.gc.common.request.BaseController;
import com.xzx.gc.model.JsonResult;
import com.xzx.gc.order.dto.AddJhyOrderDto;
+import com.xzx.gc.order.dto.JhyOrderConfirmDto;
import com.xzx.gc.order.dto.JhyOrderListDto;
import com.xzx.gc.order.service.JhyOrderService;
import com.xzx.gc.order.vo.JhyOrderDetailsVo;
@@ -14,6 +15,7 @@
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import lombok.extern.slf4j.Slf4j;
+import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
@@ -58,4 +60,24 @@
return JsonResult.success(jhyOrderService.orderDetails(orderId, getUserId(request)));
}
+ @ApiOperation("抢单")
+ @PostMapping(value = "/jhy/order/grab/{orderId}")
+ public Result<String> grabOrder(@PathVariable("orderId") Long orderId, HttpServletRequest request) {
+ jhyOrderService.grabOrder(orderId, getUserId(request));
+ return Result.success();
+ }
+
+ @ApiOperation("取消订单")
+ @PostMapping(value = "/jhy/order/cancel/{orderId}")
+ public Result<String> cancelOrder(@PathVariable("orderId") Long orderId, HttpServletRequest request) {
+ jhyOrderService.cancelOrder(orderId, getUserId(request));
+ return null;
+ }
+
+ @ApiOperation("确认订单-支付")
+ @PostMapping(value = "/jhy/order/confirm")
+ public Result<String> confirmOrder(@RequestBody JhyOrderConfirmDto confirmDto) {
+ return null;
+ }
+
}
diff --git a/gc-order/src/main/java/com/xzx/gc/order/dto/JhyOrderConfirmDto.java b/gc-order/src/main/java/com/xzx/gc/order/dto/JhyOrderConfirmDto.java
new file mode 100644
index 0000000..c45f07a
--- /dev/null
+++ b/gc-order/src/main/java/com/xzx/gc/order/dto/JhyOrderConfirmDto.java
@@ -0,0 +1,22 @@
+package com.xzx.gc.order.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2021-06-28
+ **/
+@Data
+@ApiModel(value = "JhyOrderConfirmDto")
+public class JhyOrderConfirmDto {
+
+ @ApiModelProperty(value = "订单ID")
+ private Long orderId;
+
+ @ApiModelProperty(value = "明细")
+ private List<JhyOrderConfirmItemsDto> items;
+}
diff --git a/gc-order/src/main/java/com/xzx/gc/order/dto/JhyOrderConfirmItemsDto.java b/gc-order/src/main/java/com/xzx/gc/order/dto/JhyOrderConfirmItemsDto.java
new file mode 100644
index 0000000..aa46f47
--- /dev/null
+++ b/gc-order/src/main/java/com/xzx/gc/order/dto/JhyOrderConfirmItemsDto.java
@@ -0,0 +1,21 @@
+package com.xzx.gc.order.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author wzy
+ * @date 2021-06-28
+ **/
+@Data
+@ApiModel(value = "JhyOrderConfirmItemsDto")
+public class JhyOrderConfirmItemsDto {
+
+ @ApiModelProperty(value = "id")
+ private Long id;
+
+ @ApiModelProperty(value = "重量")
+ private String weight;
+
+}
diff --git a/gc-order/src/main/java/com/xzx/gc/order/mapper/JhyInfoMapper.java b/gc-order/src/main/java/com/xzx/gc/order/mapper/JhyInfoMapper.java
new file mode 100644
index 0000000..b2a3f43
--- /dev/null
+++ b/gc-order/src/main/java/com/xzx/gc/order/mapper/JhyInfoMapper.java
@@ -0,0 +1,10 @@
+package com.xzx.gc.order.mapper;
+
+import com.xzx.gc.entity.JhyInfo;
+import com.xzx.gc.util.GcMapper;
+import org.apache.ibatis.annotations.Param;
+
+public interface JhyInfoMapper extends GcMapper<JhyInfo> {
+ JhyInfo selectJhyInfoByUserId(@Param("userId") String userId);
+
+}
diff --git a/gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java b/gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java
index 9859109..599c89d 100644
--- a/gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java
+++ b/gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java
@@ -5,17 +5,12 @@
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.xzx.gc.common.constant.Constants;
+import com.xzx.gc.common.exception.RestException;
import com.xzx.gc.common.utils.IdUtils;
-import com.xzx.gc.entity.AddressInfo;
-import com.xzx.gc.entity.JhyOrder;
-import com.xzx.gc.entity.JhyOrderItems;
-import com.xzx.gc.entity.SysEnvironmentalInfo;
+import com.xzx.gc.entity.*;
import com.xzx.gc.order.dto.AddJhyOrderDto;
import com.xzx.gc.order.dto.JhyOrderListDto;
-import com.xzx.gc.order.mapper.AddressMapper;
-import com.xzx.gc.order.mapper.JhyOrderItemsMapper;
-import com.xzx.gc.order.mapper.JhyOrderMapper;
-import com.xzx.gc.order.mapper.SysEnvironmentalInfoMapper;
+import com.xzx.gc.order.mapper.*;
import com.xzx.gc.order.vo.JhyOrderDetailsVo;
import com.xzx.gc.order.vo.JhyOrderListVo;
import lombok.extern.slf4j.Slf4j;
@@ -23,6 +18,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
@@ -46,9 +42,17 @@
private JhyOrderItemsMapper jhyOrderItemsMapper;
@Autowired
+ private JhyInfoMapper jhyInfoMapper;
+
+ @Autowired
private IdUtils idUtils;
public void addJhyOrder(AddJhyOrderDto orderDto) {
+// JhyInfo jhyInfo = jhyInfoMapper.selectJhyInfoByUserId(orderDto.getUserId());
+// if (jhyInfo != null && JhyInfo.CHECK_PASS.equals(jhyInfo.getStatus())) {
+// throw new RestException(-3, "集货员不能下单");
+// }
+
// TODO 判断地址附近500米是否有集物员
String orderNo = idUtils.generate("JW", 10);
@@ -96,6 +100,11 @@
}
public PageInfo<JhyOrderListVo> orderList(JhyOrderListDto orderListDto) {
+ JhyInfo jhyInfo = jhyInfoMapper.selectJhyInfoByUserId(orderListDto.getUserId());
+ if (jhyInfo == null || !JhyInfo.CHECK_PASS.equals(jhyInfo.getStatus())) {
+ throw new RestException(-3, "不是集货员");
+ }
+
PageHelper.startPage(orderListDto.getPageNo(), orderListDto.getPageSize());
List<JhyOrderListVo> data = jhyOrderMapper.selectJhyOrderList(orderListDto);
return new PageInfo<>(data);
@@ -118,4 +127,31 @@
detailsVo.setItems(items);
return detailsVo;
}
+
+ public void grabOrder(Long orderId, String userId) {
+ JhyInfo jhyInfo = jhyInfoMapper.selectJhyInfoByUserId(userId);
+ if (jhyInfo == null || !JhyInfo.CHECK_PASS.equals(jhyInfo.getStatus())) {
+ throw new RestException(-3, "不是集货员");
+ }
+
+ JhyOrder order = jhyOrderMapper.selectByPrimaryKey(orderId);
+ if (order == null) {
+ throw new RestException(-3, "订单不存在");
+ }
+
+ order.setJhyId(userId);
+ order.setStatus(JhyOrder.ORDER_STATUS_IMG);
+ jhyOrderMapper.updateByPrimaryKey(order);
+ }
+
+ public void cancelOrder(Long orderId, String userId) {
+ JhyOrder order = jhyOrderMapper.selectByPrimaryKey(orderId);
+
+ if (!userId.equals(order.getUserId()) && !userId.equals(order.getJhyId())) {
+ throw new RestException(-3, "无权限操作");
+ }
+
+ order.setStatus(JhyOrder.ORDER_STATUS_CANCEL);
+ jhyOrderMapper.updateByPrimaryKey(order);
+ }
}
diff --git a/gc-order/src/main/resources/mapper/order/JhyInfoMapper.xml b/gc-order/src/main/resources/mapper/order/JhyInfoMapper.xml
new file mode 100644
index 0000000..cde8ce2
--- /dev/null
+++ b/gc-order/src/main/resources/mapper/order/JhyInfoMapper.xml
@@ -0,0 +1,9 @@
+<?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.xzx.gc.order.mapper.JhyInfoMapper">
+
+ <select id="selectJhyInfoByUserId" resultType="com.xzx.gc.entity.JhyInfo">
+ select * from xzx_jhy_info where user_id=#{userId}
+ </select>
+
+</mapper>
\ No newline at end of file
--
Gitblit v1.9.1