Cui Zhi Feng
2024-09-08 bc9bd69850c95dacb22c7da4777a1d0470c33722
Merge branch 'master' into master-v2
已修改4个文件
已添加2个文件
139 ■■■■■ 文件已修改
src/main/java/com/mzl/flower/dto/response/payment/OrderCheckListDTO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/dto/response/payment/OrderCheckLocationListDTO.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/dto/response/payment/OrderItemLocationListDTO.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/service/payment/OrderService.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/web/payment/OrderController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/payment/OrderMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/dto/response/payment/OrderCheckListDTO.java
@@ -15,9 +15,13 @@
    private String partnerName;//合伙人名称
    private Long warehouseId;//仓库id
    @ApiModelProperty(value = "仓库名称")
    private String warehouseName;
    private Long warehouseLocationId;//库位id
    @ApiModelProperty(value = "库位名称")
    private String warehouseLocationCode;
src/main/java/com/mzl/flower/dto/response/payment/OrderCheckLocationListDTO.java
对比新文件
@@ -0,0 +1,43 @@
package com.mzl.flower.dto.response.payment;
import com.mzl.flower.base.AbstractTransDTO;
import com.mzl.flower.base.annotation.DictTrans;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class OrderCheckLocationListDTO extends AbstractTransDTO {
    private Long partnerId;//合伙人id
    private String partnerName;//合伙人名称
    private Long warehouseId;//仓库id
    @ApiModelProperty(value = "仓库名称")
    private String warehouseName;
    private Long warehouseLocationId;//库位id
    @ApiModelProperty(value = "库位名称")
    private String warehouseLocationCode;
    @ApiModelProperty(value = "收货人")
    private String customer;
    @ApiModelProperty(value = "收货人手机号码")
    private String customerTel;
    private String customerProvince;
    private String customerCity;
    private String customerRegion;
    @ApiModelProperty(value = "收货地址")
    private String customerAddress;
    @ApiModelProperty(value = "明细")
    private List<OrderItemLocationListDTO> items;
    private String createBy;
}
src/main/java/com/mzl/flower/dto/response/payment/OrderItemLocationListDTO.java
对比新文件
@@ -0,0 +1,15 @@
package com.mzl.flower.dto.response.payment;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class OrderItemLocationListDTO extends OrderItemListDTO {
    @ApiModelProperty(value = "订单id")
    private String orderId;
    @ApiModelProperty(value = "订单号")
    private String orderNo;
}
src/main/java/com/mzl/flower/service/payment/OrderService.java
@@ -878,6 +878,74 @@
        return ls;
    }
    public List<OrderCheckLocationListDTO> selectOrderCheckLocationList(OrderQueryDTO dto) {
        dto.setIdList(splitParam(dto.getIds()));
        dto.setStartDate(parseLocalDateTime(dto.getStartDateStr(), true));
        dto.setEndDate(parseLocalDateTime(dto.getEndDateStr(), false));
        dto.setCreateStartDate(parseLocalDateTime(dto.getCreateStartDateStr(), 17, 0, 0, -1));
        dto.setCreateEndDate(parseLocalDateTime(dto.getCreateEndDateStr(), 17, 0, 0, 0));
        List<OrderCheckListDTO> ls = orderMapper.selectOrderCheckList(dto);
        List<OrderCheckLocationListDTO> result = new ArrayList<>();
        if (ls != null && ls.size() > 0) {
            List<String> orderIds = new ArrayList<>();
            Map<Long, OrderCheckLocationListDTO> rMap = new HashMap<>();
            Map<String, OrderCheckListDTO> orderMap = new HashMap<>();
            for (OrderCheckListDTO c : ls) {
                orderIds.add(c.getId());
                orderMap.put(c.getId(), c);
                Long locationId = c.getWarehouseLocationId();
                OrderCheckLocationListDTO llc = rMap.get(locationId);
                if(llc == null){
                    llc = new OrderCheckLocationListDTO();
                    BeanUtils.copyProperties(c, llc);
                    rMap.put(locationId, llc);
                    result.add(llc);
                }
            }
            Map<Long, String> stationMap = prepareStationMap();
            List<OrderItem> itemList = orderItemMapper.selectList(new QueryWrapper<OrderItem>()
                    .in("order_id", orderIds));
            Map<String, List<OrderItemLocationListDTO>> map = new HashMap<>();
            for (OrderItem oi : itemList) {
                String orderId = oi.getOrderId();
                List<OrderItemLocationListDTO> ll = map.computeIfAbsent(orderId, k -> new ArrayList<>());
                OrderItemLocationListDTO d = new OrderItemLocationListDTO();
                BeanUtils.copyProperties(oi, d);
                d.setStationName(stationMap.get(oi.getStationId()));
                OrderCheckListDTO c = orderMap.get(oi.getOrderId());
                d.setOrderNo(c.getOrderNo());
                d.setOrderId(c.getId());
                ll.add(d);
            }
            for (OrderCheckListDTO c : ls) {
                String orderId = c.getId();
                Long locationId = c.getWarehouseLocationId();
                OrderCheckLocationListDTO r = rMap.get(locationId);
                List<OrderItemLocationListDTO> items = r.getItems();
                if(items == null){
                    items = new ArrayList<>();
                    r.setItems(items);
                }
                items.addAll(map.get(orderId));
            }
        }
        return result;
    }
    public Page<OrderListDTO> selectPartnerOrderList(Page page, OrderQueryDTO dto) {
        Partner p = getCurrentPartner();
        dto.setPartnerId(p.getId());
src/main/java/com/mzl/flower/web/payment/OrderController.java
@@ -163,6 +163,13 @@
        return returnData(R.SUCCESS.getCode(), orderService.selectOrderCheckList(dto));
    }
    @PostMapping("/check/location/list")
    @ApiOperation(value = "查询订单清单列表-按库位分商品")
    public ResponseEntity<ReturnDataDTO<List<OrderCheckLocationListDTO>>> selectOrderCheckLocationList(
            @RequestBody OrderQueryDTO dto){
        return returnData(R.SUCCESS.getCode(), orderService.selectOrderCheckLocationList(dto));
    }
    @GetMapping(value = "/refund")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "订单id", required = true, dataType = "String", paramType = "query"),
src/main/resources/mapper/payment/OrderMapper.xml
@@ -201,7 +201,7 @@
            </foreach>
        </if>
        ORDER BY q.partner_id, q.warehouse_name, q.warehouse_location_code, q.create_time desc, q.payment_time desc
        ORDER BY q.partner_id DESC, q.warehouse_id, q.warehouse_location_id, q.create_time desc, q.payment_time desc
    </select>
    <select id="getSupplierSaleNum" resultType="com.mzl.flower.dto.response.payment.SupplierNumDTO">