From 2b3cf8e87398099ba0818ea84e6c751871beac1c Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Mon, 28 Jun 2021 20:53:10 +0800 Subject: [PATCH] modify --- gc-core/src/main/java/com/xzx/gc/entity/JhyOrder.java | 4 + gc-order/src/main/java/com/xzx/gc/order/controller/ApiJhyOrderController.java | 21 ++++++++++ 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 | 16 ++++++++ gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java | 52 ++++++++++++++++++++++---- 6 files changed, 103 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..8080976 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 @@ -14,6 +14,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 +59,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(Long orderId, HttpServletRequest request) { + jhyOrderService.cancelOrder(orderId, getUserId(request)); + return null; + } + + @ApiOperation("确认订单-支付") + @PostMapping(value = "/jhy/order/confirm") + public Result<String> confirmOrder() { + 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..6d56a6f --- /dev/null +++ b/gc-order/src/main/java/com/xzx/gc/order/dto/JhyOrderConfirmDto.java @@ -0,0 +1,16 @@ +package com.xzx.gc.order.dto; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author wzy + * @date 2021-06-28 + **/ +@Data +@ApiModel(value = "JhyOrderConfirmDto") +public class JhyOrderConfirmDto { + + private Long orderId; + +} 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