src/main/java/com/mzl/flower/mapper/payment/OrderItemSalesMapper.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.mzl.flower.dto.request.payment.OrderItemSalesQueryDTO; import com.mzl.flower.dto.response.payment.OrderItemSalesNewListDTO; import com.mzl.flower.dto.response.payment.OrderStatusCountDTO; import com.mzl.flower.entity.payment.OrderItemSales; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -17,4 +18,6 @@ Integer getSupplierSalesCount(@Param("supplierId") Long supplierId); Integer getPartnerSalesCount(@Param("partnerId") Long partnerId); List<OrderStatusCountDTO> getSalesStatusCount(@Param("condition") OrderItemSalesQueryDTO dto); } src/main/java/com/mzl/flower/service/payment/OrderItemSalesService.java
@@ -9,11 +9,14 @@ import com.mzl.flower.dto.request.payment.*; import com.mzl.flower.dto.response.payment.OrderItemSalesNewDTO; import com.mzl.flower.dto.response.payment.OrderItemSalesNewListDTO; import com.mzl.flower.dto.response.payment.OrderStatusCountDTO; import com.mzl.flower.dto.response.system.CodeValueDTO; import com.mzl.flower.entity.payment.*; import com.mzl.flower.entity.supplier.Station; import com.mzl.flower.mapper.payment.*; import com.mzl.flower.mapper.supplier.StationMapper; import com.mzl.flower.service.BaseService; import com.mzl.flower.service.system.CodeService; import com.mzl.flower.utils.UUIDGenerator; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; @@ -23,7 +26,10 @@ import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @Slf4j @Service @@ -47,6 +53,9 @@ @Autowired private StationMapper stationMapper; @Autowired private CodeService codeService; public String createSales(OrderItemSalesCreateDTO dto){ Integer num = dto.getNum(); @@ -126,6 +135,35 @@ orderItemSalesMapper.updateById(s); } public List<OrderStatusCountDTO> getSalesStatusCount(OrderItemSalesQueryDTO dto) { dto.setOrderStartDate(parseLocalDateTime(dto.getOrderStartDateStr())); dto.setOrderEndDate(parseLocalDateTime(dto.getOrderEndDateStr())); dto.setSalesStartDate(parseLocalDateTime(dto.getSalesStartDateStr())); dto.setSalesEndDate(parseLocalDateTime(dto.getSalesEndDateStr())); List<CodeValueDTO> ls = codeService.searchValue("ORDER_SALES_STATUS"); List<OrderStatusCountDTO> ll = orderItemSalesMapper.getSalesStatusCount(dto); Map<String, Integer> llMap = new HashMap<>(); if (ll != null && ll.size() > 0) { for (OrderStatusCountDTO c : ll) { llMap.put(c.getValue(), c.getOrderCount()); } } List<OrderStatusCountDTO> rr = new ArrayList<>(); for (CodeValueDTO c : ls) { OrderStatusCountDTO r = new OrderStatusCountDTO(); r.setValue(c.getValue()); r.setLabel(c.getLabel()); Integer count = llMap.get(r.getValue()); r.setOrderCount(count == null ? 0 : count); rr.add(r); } return rr; } public Page<OrderItemSalesNewListDTO> selectSalesList(Page page, OrderItemSalesQueryDTO dto){ dto.setOrderStartDate(parseLocalDateTime(dto.getOrderStartDateStr())); dto.setOrderEndDate(parseLocalDateTime(dto.getOrderEndDateStr())); src/main/java/com/mzl/flower/web/customer/SalesCustomerController.java
@@ -59,7 +59,7 @@ @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "售后id", required = true, dataType = "String", paramType = "query") }) public ResponseEntity<ReturnDataDTO<OrderSalesDTO>> cancelSales(String id){ public ResponseEntity<ReturnDataDTO<?>> cancelSales(String id){ salesService.cancelSales(id); return returnData(R.SUCCESS.getCode(), null); } src/main/java/com/mzl/flower/web/payment/SalesController.java
@@ -8,7 +8,8 @@ import com.mzl.flower.constant.Constants; import com.mzl.flower.dto.request.payment.*; import com.mzl.flower.dto.response.payment.OrderItemSalesNewDTO; import com.mzl.flower.dto.response.payment.OrderSalesListDTO; import com.mzl.flower.dto.response.payment.OrderItemSalesNewListDTO; import com.mzl.flower.dto.response.payment.OrderStatusCountDTO; import com.mzl.flower.entity.payment.OrderItem; import com.mzl.flower.service.payment.OrderItemSalesService; import com.mzl.flower.service.payment.OrderItemSettlementService; @@ -21,6 +22,8 @@ import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController @RequestMapping("/api/sales") @@ -35,9 +38,15 @@ @Autowired private OrderItemSettlementService orderItemSettlementService; @GetMapping("/status/count") @ApiOperation(value = "获取状态数量") public ResponseEntity<ReturnDataDTO<List<OrderStatusCountDTO>>> getSalesStatusCount(OrderItemSalesQueryDTO dto){ return returnData(R.SUCCESS.getCode(), salesService.getSalesStatusCount(dto)); } @GetMapping("/list") @ApiOperation(value = "查询售后列表") public ResponseEntity<ReturnDataDTO<Page<OrderSalesListDTO>>> selectSalesList(Page page public ResponseEntity<ReturnDataDTO<Page<OrderItemSalesNewListDTO>>> selectSalesList(Page page , OrderItemSalesQueryDTO dto){ return returnData(R.SUCCESS.getCode(), salesService.selectSalesList(page, dto)); } src/main/resources/mapper/payment/OrderItemSalesMapper.xml
@@ -2,6 +2,70 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.mzl.flower.mapper.payment.OrderItemSalesMapper"> <select id="getSalesStatusCount" resultType="com.mzl.flower.dto.response.payment.OrderStatusCountDTO"> SELECT si.status value, count(1) orderCount FROM t_order_item_sales si join t_order_item oi on oi.id = si.order_item_id join t_order o on si.order_id = o.id WHERE oi.deleted = 0 <if test="condition.orderId != null and condition.orderId != ''"> AND si.order_id = #{condition.orderId} </if> <if test="condition.flowerName != null and condition.flowerName != ''"> AND oi.flower_name LIKE concat('%', #{condition.flowerName},'%') </if> <if test="condition.orderNo != null and condition.orderNo != ''"> AND o.order_no LIKE concat('%', #{condition.orderNo},'%') </if> <if test="condition.salesNo != null and condition.salesNo != ''"> AND si.sales_no LIKE concat('%', #{condition.salesNo},'%') </if> <if test="condition.customer != null and condition.customer != ''"> AND o.customer LIKE concat('%', #{condition.customer},'%') </if> <if test="condition.customerTel != null and condition.customerTel != ''"> AND o.customer_tel LIKE concat('%', #{condition.customerTel},'%') </if> <if test="condition.supplierName != null and condition.supplierName != ''"> AND oi.supplier_name LIKE concat('%', #{condition.supplierName},'%') </if> <if test="condition.orderStartDate != null"> AND oi.create_time >= #{condition.createStartDate} </if> <if test="condition.orderEndDate != null"> AND oi.create_time <= #{condition.createEndDate} </if> <if test="condition.salesStartDate != null"> AND si.create_time >= #{condition.createStartDate} </if> <if test="condition.salesEndDate != null"> AND si.create_time <= #{condition.createEndDate} </if> <if test="condition.status != null and condition.status != ''"> AND si.status = #{condition.status} </if> <if test="condition.createBy != null and condition.createBy != ''"> AND si.create_by = #{condition.createBy} </if> <if test="condition.partnerId != null"> AND o.partner_id = #{condition.partnerId} </if> <if test="condition.supplierId != null"> AND oi.supplier_id = #{condition.supplierId} </if> GROUP BY si.status </select> <select id="selectItemSalesList" resultType="com.mzl.flower.dto.response.payment.OrderItemSalesNewListDTO"> SELECT si.id, s.name stationName, oi.flower_name, oi.flower_unit, oi.flower_color, oi.flower_cover , oi.flower_level, oi.flower_category, o.customer, o.customer_tel, o.customer_province, o.customer_city