gc-order/src/main/java/com/xzx/gc/order/controller/ApiJhyOrderController.java
@@ -1,16 +1,21 @@ package com.xzx.gc.order.controller; import com.github.pagehelper.PageInfo; import com.xzx.gc.common.Result; 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.JhyOrderListDto; import com.xzx.gc.order.service.JhyOrderService; import com.xzx.gc.order.vo.JhyOrderDetailsVo; import com.xzx.gc.order.vo.JhyOrderListVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; @@ -34,10 +39,23 @@ } @ApiOperation("集物员订单列表") @ApiResponses( @ApiResponse(code = 200, message = "success", response = JhyOrderListVo.class) ) @PostMapping(value = "/jhy/order/list") public JsonResult<JhyOrderListVo> orderList(@RequestBody JhyOrderListDto jhyOrderListDto) { return null; public JsonResult<PageInfo<JhyOrderListVo>> orderList(@RequestBody JhyOrderListDto jhyOrderListDto, HttpServletRequest request) { jhyOrderListDto.setUserId(getUserId(request)); PageInfo<JhyOrderListVo> result = jhyOrderService.orderList(jhyOrderListDto); return JsonResult.success(result); } @ApiOperation("订单明细信息") @ApiResponses( @ApiResponse(code = 200, message = "success", response = JhyOrderDetailsVo.class) ) @PostMapping(value = "/jhy/order/details/{orderId}") public JsonResult<Object> orderDetail(@PathVariable("orderId") Long orderId, HttpServletRequest request) { return JsonResult.success(jhyOrderService.orderDetails(orderId, getUserId(request))); } } gc-order/src/main/java/com/xzx/gc/order/dto/AddJhyOrderDto.java
@@ -11,10 +11,13 @@ @ApiModel(value = "AddJhyOrderDto", description = "小程序下单参数接收类") public class AddJhyOrderDto { @ApiModelProperty(value = "地址类型") private String addressType; @ApiModelProperty(value = "地址ID") private Long addressId; // @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") @ApiModelProperty(value = "预约日期") private Date reserveDate; gc-order/src/main/java/com/xzx/gc/order/dto/JhyOrderListDto.java
@@ -15,8 +15,12 @@ @ApiModelProperty(value="每页显示记录数") private int pageSize=10; @ApiModelProperty(value = "状态 1-新任务 2-服务中 3-待入库 4-已完成") @ApiModelProperty(value = "状态 用户:1-待接单 2-服务中 3-已完成 5-已取消 集物员:1-新任务 2-服务中 3-待入库 4-已完成") private Integer status; @ApiModelProperty(value = "1-用户 2-集物员") private Integer type; @ApiModelProperty(hidden = true) private String userId; } gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderItemsMapper.java
@@ -2,6 +2,11 @@ import com.xzx.gc.entity.JhyOrderItems; import com.xzx.gc.util.GcMapper; import org.apache.ibatis.annotations.Param; import java.util.List; public interface JhyOrderItemsMapper extends GcMapper<JhyOrderItems> { List<JhyOrderItems> selectOrderItems(@Param("orderId") Long orderId); } gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderMapper.java
@@ -1,9 +1,16 @@ package com.xzx.gc.order.mapper; import com.xzx.gc.entity.JhyOrder; import com.xzx.gc.order.dto.JhyOrderListDto; import com.xzx.gc.order.vo.JhyOrderListVo; import com.xzx.gc.util.GcMapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import java.util.List; @Repository public interface JhyOrderMapper extends GcMapper<JhyOrder> { List<JhyOrderListVo> selectJhyOrderList(@Param("record") JhyOrderListDto jhyOrderListDto); } gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java
@@ -1,6 +1,9 @@ package com.xzx.gc.order.service; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.xzx.gc.common.constant.Constants; import com.xzx.gc.common.utils.IdUtils; import com.xzx.gc.entity.AddressInfo; @@ -13,6 +16,7 @@ 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.vo.JhyOrderDetailsVo; import com.xzx.gc.order.vo.JhyOrderListVo; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -91,7 +95,27 @@ } } public List<JhyOrderListVo> orderList(JhyOrderListDto orderListDto) { return null; public PageInfo<JhyOrderListVo> orderList(JhyOrderListDto orderListDto) { PageHelper.startPage(orderListDto.getPageNo(), orderListDto.getPageSize()); List<JhyOrderListVo> data = jhyOrderMapper.selectJhyOrderList(orderListDto); return new PageInfo<>(data); } public JhyOrderDetailsVo orderDetails(Long orderId, String userId) { JhyOrder order = jhyOrderMapper.selectByPrimaryKey(orderId); List<JhyOrderItems> items = jhyOrderItemsMapper.selectOrderItems(orderId); BigDecimal total = BigDecimal.ZERO; for (JhyOrderItems item : items) { total = total.add(StrUtil.isNotBlank(item.getScore()) ? new BigDecimal(item.getScore()) : BigDecimal.ZERO); } JhyOrderDetailsVo detailsVo = new JhyOrderDetailsVo(); BeanUtil.copyProperties(order, detailsVo); detailsVo.setAddress(order.getArea() + order.getAddress()); detailsVo.setTotalPrice(total); detailsVo.setItems(items); return detailsVo; } } gc-order/src/main/java/com/xzx/gc/order/vo/JhyOrderDetailItemsVo.java
New file @@ -0,0 +1,30 @@ package com.xzx.gc.order.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; @Data @ApiModel(value = "JhyOrderDetailItemsVo", description = "集物员订单详情返回参数类") public class JhyOrderDetailItemsVo { @ApiModelProperty("id") private Long id; @ApiModelProperty("明细标题") private String title; @ApiModelProperty("单价") private BigDecimal price; @ApiModelProperty("图片") private String picture; @ApiModelProperty(value = "重量") private String weight; @ApiModelProperty(value = "积分") private String score; } gc-order/src/main/java/com/xzx/gc/order/vo/JhyOrderDetailsVo.java
New file @@ -0,0 +1,33 @@ package com.xzx.gc.order.vo; import com.xzx.gc.entity.JhyOrderItems; import com.xzx.gc.entity.OrderItemInfo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.util.List; @Data @ApiModel(value = "JhyOrderDetailsVo", description = "订单详情返回参数类") public class JhyOrderDetailsVo { @ApiModelProperty(value = "地址") private String address; @ApiModelProperty(value = "姓名") private String username; @ApiModelProperty(value = "手机号") private String phone; @ApiModelProperty(value = "订单编号") private String orderNo; @ApiModelProperty(value = "总积分") private BigDecimal totalPrice; @ApiModelProperty(value = "明细") private List<JhyOrderItems> items; } gc-order/src/main/java/com/xzx/gc/order/vo/JhyOrderListVo.java
@@ -15,7 +15,7 @@ private String reserveTime; @ApiModelProperty(value = "姓名") private String name; private String username; @ApiModelProperty(value = "手机号") private String phone; @@ -27,14 +27,35 @@ private String address; @ApiModelProperty(value = "经度") private String lon; private String longitude; @ApiModelProperty(value = "纬度") private String lat; private String latitude; @ApiModelProperty(value = "重量") private String weight; @ApiModelProperty(value = "备注") private String remark; @ApiModelProperty(value = "入库时间") private String storageTime; @ApiModelProperty(value = "入库重量") private String storageWeight; @ApiModelProperty(value = "入库积分") private String storageScore; @ApiModelProperty(value = "回收重量") private String recycleWeight; @ApiModelProperty(value = "回收积分") private String recycleScore; @ApiModelProperty(value = "损耗重量") private int lossWeight; @ApiModelProperty(value = "状态") private Integer status; } gc-order/src/main/resources/mapper/order/JhyOrderItemsMapper.xml
@@ -2,4 +2,7 @@ <!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.JhyOrderItemsMapper"> <select id="selectOrderItems" resultType="com.xzx.gc.entity.JhyOrderItems"> select * from xzx_jhy_order_items where order_id=#{orderId} </select> </mapper> gc-order/src/main/resources/mapper/order/JhyOrderMapper.xml
@@ -2,4 +2,33 @@ <!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.JhyOrderMapper"> <select id="selectJhyOrderList" resultType="com.xzx.gc.order.vo.JhyOrderListVo"> select a.id orderid ,a.username ,CONCAT(a.area, a.address) address ,a.longitude ,a.latitude ,a.weight ,a.status ,a.remark ,CONCAT(a.reserve_date, ' ', a.reserve_time) reserveTime ,GROUP_CONCAT(b.title) items from xzx_jhy_order a inner join xzx_jhy_order_items b on a.id=b.order_id <where> <if test="record.type == 1"> and user_id=#{record.userId} </if> <if test="record.type == 2"> <if test="record.status != 1"> and jhy_id=#{record.userId} </if> </if> <if test="record.status != null and record.status != ''"> and a.status = #{record.status} </if> </where> group by a.id </select> </mapper>