gc-core/src/main/java/com/xzx/gc/entity/JhyOrder.java | ●●●●● patch | view | raw | blame | history | |
gc-order/src/main/java/com/xzx/gc/order/controller/ApiJhyOrderController.java | ●●●●● patch | view | raw | blame | history | |
gc-order/src/main/java/com/xzx/gc/order/dto/JhyOrderConfirmDto.java | ●●●●● patch | view | raw | blame | history | |
gc-order/src/main/java/com/xzx/gc/order/mapper/JhyInfoMapper.java | ●●●●● patch | view | raw | blame | history | |
gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java | ●●●●● patch | view | raw | blame | history | |
gc-order/src/main/resources/mapper/order/JhyInfoMapper.xml | ●●●●● patch | view | raw | blame | history |
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; /** * 评论 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; } } gc-order/src/main/java/com/xzx/gc/order/dto/JhyOrderConfirmDto.java
New file @@ -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; } gc-order/src/main/java/com/xzx/gc/order/mapper/JhyInfoMapper.java
New file @@ -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); } 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); } } gc-order/src/main/resources/mapper/order/JhyInfoMapper.xml
New file @@ -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>