From 2890af63116d0b0ed5868b7a05033b2843928544 Mon Sep 17 00:00:00 2001 From: sin <2943460818@qq.com> Date: Mon, 6 May 2019 23:25:00 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E6=B7=BB=E5=8A=A0=20=E9=80=80=E8=B4=A7?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admins/AdminOrderReturnController.java | 38 ++++++ .../admins/AdminsOrderController.java | 5 +- .../convert/OrderReturnConvert.java | 5 + .../po/admin/OrderReturnQueryPO.java | 51 +++++++ .../mall/order/api/OrderReturnService.java | 10 ++ .../mall/order/api/bo/OrderReturnListBO.java | 124 ++++++++++++++++++ .../order/api/dto/OrderReturnQueryDTO.java | 48 +++++++ .../order/biz/convert/OrderReturnConvert.java | 4 + .../mall/order/biz/dao/OrderReturnMapper.java | 19 +++ .../biz/service/OrderReturnServiceImpl.java | 28 ++++ .../resources/mapper/OrderReturnMapper.xml | 40 ++++++ 11 files changed, 370 insertions(+), 2 deletions(-) create mode 100644 order/order-application/src/main/java/cn/iocoder/mall/order/application/controller/admins/AdminOrderReturnController.java create mode 100644 order/order-application/src/main/java/cn/iocoder/mall/order/application/po/admin/OrderReturnQueryPO.java create mode 100644 order/order-service-api/src/main/java/cn/iocoder/mall/order/api/bo/OrderReturnListBO.java create mode 100644 order/order-service-api/src/main/java/cn/iocoder/mall/order/api/dto/OrderReturnQueryDTO.java diff --git a/order/order-application/src/main/java/cn/iocoder/mall/order/application/controller/admins/AdminOrderReturnController.java b/order/order-application/src/main/java/cn/iocoder/mall/order/application/controller/admins/AdminOrderReturnController.java new file mode 100644 index 000000000..fd4bd286a --- /dev/null +++ b/order/order-application/src/main/java/cn/iocoder/mall/order/application/controller/admins/AdminOrderReturnController.java @@ -0,0 +1,38 @@ +package cn.iocoder.mall.order.application.controller.admins; + +import cn.iocoder.common.framework.vo.CommonResult; +import cn.iocoder.mall.order.api.OrderReturnService; +import cn.iocoder.mall.order.api.bo.OrderReturnListBO; +import cn.iocoder.mall.order.api.dto.OrderReturnQueryDTO; +import cn.iocoder.mall.order.application.convert.OrderReturnConvert; +import cn.iocoder.mall.order.application.po.admin.OrderReturnQueryPO; +import io.swagger.annotations.Api; +import org.apache.dubbo.config.annotation.Reference; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 订单退货 + * + * @author Sin + * @time 2019-05-06 21:31 + */ +@RestController +@RequestMapping("admins/order_return") +@Api("订单退货(admins api)") +public class AdminOrderReturnController { + + @Autowired + @Reference(validation = "true") + private OrderReturnService orderReturnService; + + @GetMapping("list") + public CommonResult list(@Validated OrderReturnQueryPO queryPO) { + OrderReturnQueryDTO queryDTO = OrderReturnConvert.INSTANCE.convert(queryPO); + return orderReturnService.orderReturnList(queryDTO); + } +} diff --git a/order/order-application/src/main/java/cn/iocoder/mall/order/application/controller/admins/AdminsOrderController.java b/order/order-application/src/main/java/cn/iocoder/mall/order/application/controller/admins/AdminsOrderController.java index 09fc21545..668607c54 100644 --- a/order/order-application/src/main/java/cn/iocoder/mall/order/application/controller/admins/AdminsOrderController.java +++ b/order/order-application/src/main/java/cn/iocoder/mall/order/application/controller/admins/AdminsOrderController.java @@ -14,6 +14,7 @@ import cn.iocoder.mall.order.application.po.admin.OrderLogisticsPO; import cn.iocoder.mall.order.application.po.admin.OrderPageQueryPO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.apache.dubbo.config.annotation.Reference; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -28,10 +29,10 @@ import java.util.List; */ @RestController @RequestMapping("admins/order") -@Api(description = "订单API(admins)") +@Api(value = "订单API(admins)") public class AdminsOrderController { - @Autowired + @Reference(validation = "true") private OrderService orderService; @GetMapping("page") diff --git a/order/order-application/src/main/java/cn/iocoder/mall/order/application/convert/OrderReturnConvert.java b/order/order-application/src/main/java/cn/iocoder/mall/order/application/convert/OrderReturnConvert.java index 2014ef55a..71f25954f 100644 --- a/order/order-application/src/main/java/cn/iocoder/mall/order/application/convert/OrderReturnConvert.java +++ b/order/order-application/src/main/java/cn/iocoder/mall/order/application/convert/OrderReturnConvert.java @@ -1,6 +1,8 @@ package cn.iocoder.mall.order.application.convert; import cn.iocoder.mall.order.api.dto.OrderReturnApplyDTO; +import cn.iocoder.mall.order.api.dto.OrderReturnQueryDTO; +import cn.iocoder.mall.order.application.po.admin.OrderReturnQueryPO; import cn.iocoder.mall.order.application.po.user.OrderReturnApplyPO; import org.mapstruct.Mapper; import org.mapstruct.Mappings; @@ -19,4 +21,7 @@ public interface OrderReturnConvert { @Mappings({}) OrderReturnApplyDTO convert(OrderReturnApplyPO orderReturnApplyPO); + + @Mappings({}) + OrderReturnQueryDTO convert(OrderReturnQueryPO orderReturnQueryPO); } diff --git a/order/order-application/src/main/java/cn/iocoder/mall/order/application/po/admin/OrderReturnQueryPO.java b/order/order-application/src/main/java/cn/iocoder/mall/order/application/po/admin/OrderReturnQueryPO.java new file mode 100644 index 000000000..99e185e90 --- /dev/null +++ b/order/order-application/src/main/java/cn/iocoder/mall/order/application/po/admin/OrderReturnQueryPO.java @@ -0,0 +1,51 @@ +package cn.iocoder.mall.order.application.po.admin; + +import lombok.Data; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; + +/** + * 订单退货 查询 po + * + * @author Sin + * @time 2019-05-06 21:36 + */ +@Data +@Accessors(chain = true) +public class OrderReturnQueryPO implements Serializable { + + /** + * + * 订单id + */ + private Integer orderId; + /** + * 订单编号 + */ + private Integer orderNo; + /** + * 创建时间 - 开始 + */ + private Date startCreateTime; + /** + * 创建时间 - 结束 + */ + private Date endCreateTime; + + /// + /// 分页信息 + + /** + * 分页 index + */ + @NotNull + private Integer index; + /** + * 分页大小 + */ + @NotNull + private Integer pageSize; +} diff --git a/order/order-service-api/src/main/java/cn/iocoder/mall/order/api/OrderReturnService.java b/order/order-service-api/src/main/java/cn/iocoder/mall/order/api/OrderReturnService.java index c47afa054..be847f257 100644 --- a/order/order-service-api/src/main/java/cn/iocoder/mall/order/api/OrderReturnService.java +++ b/order/order-service-api/src/main/java/cn/iocoder/mall/order/api/OrderReturnService.java @@ -2,7 +2,9 @@ package cn.iocoder.mall.order.api; import cn.iocoder.common.framework.vo.CommonResult; import cn.iocoder.mall.order.api.bo.OrderReturnInfoBO; +import cn.iocoder.mall.order.api.bo.OrderReturnListBO; import cn.iocoder.mall.order.api.dto.OrderReturnApplyDTO; +import cn.iocoder.mall.order.api.dto.OrderReturnQueryDTO; /** * 订单退货 @@ -40,4 +42,12 @@ public interface OrderReturnService { * @return */ CommonResult orderApplyInfo(Integer orderId); + + /** + * 订单退货 - 列表 + * + * @param queryDTO + * @return + */ + CommonResult orderReturnList(OrderReturnQueryDTO queryDTO); } diff --git a/order/order-service-api/src/main/java/cn/iocoder/mall/order/api/bo/OrderReturnListBO.java b/order/order-service-api/src/main/java/cn/iocoder/mall/order/api/bo/OrderReturnListBO.java new file mode 100644 index 000000000..8a4c82657 --- /dev/null +++ b/order/order-service-api/src/main/java/cn/iocoder/mall/order/api/bo/OrderReturnListBO.java @@ -0,0 +1,124 @@ +package cn.iocoder.mall.order.api.bo; + +import cn.iocoder.common.framework.dataobject.BaseDO; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * 订单退货 list + * + * @author Sin + * @time 2019-05-06 21:54 + */ +@Data +@Accessors(chain = true) +public class OrderReturnListBO implements Serializable { + + /** + * 分页当前 index + */ + private Integer index; + /** + * pageSize + */ + private Integer pageSize; + /** + * totalCount + */ + private Integer totalCount; + /** + * data + */ + private List data; + + @Data + @Accessors(chain = true) + public static class OrderReturn { + + /** + * 编号自动增长 + */ + private Integer id; + /** + * 服务号 + */ + private String serviceNumber; + /** + * 订单编号 + */ + private Integer orderId; + /** + * 订单号 (保存一个冗余) + */ + private String orderNo; + /** + * 物流id + */ + private Integer orderLogisticsId; + + /// + /// 退货原因 + + /** + * 退货金额 + */ + private Integer refundPrice; + /** + * 退货原因(字典值) + */ + private Integer reason; + /** + * 问题描述 + */ + private String describe; + + /// + /// 时间信息 + + /** + * 同意时间 + */ + private Date approvalTime; + /** + * 物流时间(填写物流单号时间) + */ + private Date logisticsTime; + /** + * 收货时间 + */ + private Date receiverTime; + /** + * 成交时间(确认时间) + */ + private Date closingTime; + /** + * 服务类型 + * + * - 1、退货退款 + * - 2、退款 + */ + private Integer serviceType; + /** + * 状态 + * + * - 1、退货申请 + * - 2、申请成功 + * - 3、申请失败 + * - 4、退货中 + * - 5、退货成功 + */ + private Integer status; + /** + * 创建时间 + */ + private Date createTime; + /** + * 更新时间 + */ + private Date updateTime; + } +} diff --git a/order/order-service-api/src/main/java/cn/iocoder/mall/order/api/dto/OrderReturnQueryDTO.java b/order/order-service-api/src/main/java/cn/iocoder/mall/order/api/dto/OrderReturnQueryDTO.java new file mode 100644 index 000000000..dc98e13c8 --- /dev/null +++ b/order/order-service-api/src/main/java/cn/iocoder/mall/order/api/dto/OrderReturnQueryDTO.java @@ -0,0 +1,48 @@ +package cn.iocoder.mall.order.api.dto; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * 订单退货 查询 po + * + * @author Sin + * @time 2019-05-06 21:36 + */ +@Data +@Accessors(chain = true) +public class OrderReturnQueryDTO implements Serializable { + + /** + * + * 订单id + */ + private Integer orderId; + /** + * 订单编号 + */ + private Integer orderNo; + /** + * 创建时间 - 开始 + */ + private Date startCreateTime; + /** + * 创建时间 - 结束 + */ + private Date endCreateTime; + + /// + /// 分页信息 + + /** + * 分页 index + */ + private Integer index; + /** + * 分页大小 + */ + private Integer pageSize; +} diff --git a/order/order-service-impl/src/main/java/cn/iocoder/mall/order/biz/convert/OrderReturnConvert.java b/order/order-service-impl/src/main/java/cn/iocoder/mall/order/biz/convert/OrderReturnConvert.java index 8b19b1380..736075c65 100644 --- a/order/order-service-impl/src/main/java/cn/iocoder/mall/order/biz/convert/OrderReturnConvert.java +++ b/order/order-service-impl/src/main/java/cn/iocoder/mall/order/biz/convert/OrderReturnConvert.java @@ -1,6 +1,7 @@ package cn.iocoder.mall.order.biz.convert; import cn.iocoder.mall.order.api.bo.OrderReturnInfoBO; +import cn.iocoder.mall.order.api.bo.OrderReturnListBO; import cn.iocoder.mall.order.api.dto.OrderReturnApplyDTO; import cn.iocoder.mall.order.api.dto.OrderReturnCreateDTO; import cn.iocoder.mall.order.biz.dataobject.OrderItemDO; @@ -33,4 +34,7 @@ public interface OrderReturnConvert { @Mappings({}) List convert(List orderItemDOList); + + @Mappings({}) + List convertListBO(List orderReturnDOList); } diff --git a/order/order-service-impl/src/main/java/cn/iocoder/mall/order/biz/dao/OrderReturnMapper.java b/order/order-service-impl/src/main/java/cn/iocoder/mall/order/biz/dao/OrderReturnMapper.java index 1f347c449..5efbf3c62 100644 --- a/order/order-service-impl/src/main/java/cn/iocoder/mall/order/biz/dao/OrderReturnMapper.java +++ b/order/order-service-impl/src/main/java/cn/iocoder/mall/order/biz/dao/OrderReturnMapper.java @@ -1,9 +1,12 @@ package cn.iocoder.mall.order.biz.dao; +import cn.iocoder.mall.order.api.dto.OrderReturnQueryDTO; import cn.iocoder.mall.order.biz.dataobject.OrderReturnDO; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; +import java.util.List; + /** * 订单退货 mapper * @@ -38,4 +41,20 @@ public interface OrderReturnMapper { OrderReturnDO selectByOrderId( @Param("orderId") Integer orderId ); + + /** + * 列表查询 - queryDTO + * + * @param queryDTO + * @return + */ + int selectListCount(OrderReturnQueryDTO queryDTO); + + /** + * 列表查询 - queryDTO + * + * @param queryDTO + * @return + */ + List selectList(OrderReturnQueryDTO queryDTO); } diff --git a/order/order-service-impl/src/main/java/cn/iocoder/mall/order/biz/service/OrderReturnServiceImpl.java b/order/order-service-impl/src/main/java/cn/iocoder/mall/order/biz/service/OrderReturnServiceImpl.java index 4e99c2f93..b723581fe 100644 --- a/order/order-service-impl/src/main/java/cn/iocoder/mall/order/biz/service/OrderReturnServiceImpl.java +++ b/order/order-service-impl/src/main/java/cn/iocoder/mall/order/biz/service/OrderReturnServiceImpl.java @@ -7,9 +7,11 @@ import cn.iocoder.mall.order.api.OrderLogisticsService; import cn.iocoder.mall.order.api.OrderReturnService; import cn.iocoder.mall.order.api.bo.OrderLastLogisticsInfoBO; import cn.iocoder.mall.order.api.bo.OrderReturnInfoBO; +import cn.iocoder.mall.order.api.bo.OrderReturnListBO; import cn.iocoder.mall.order.api.constant.OrderErrorCodeEnum; import cn.iocoder.mall.order.api.constant.OrderReturnStatusEnum; import cn.iocoder.mall.order.api.dto.OrderReturnApplyDTO; +import cn.iocoder.mall.order.api.dto.OrderReturnQueryDTO; import cn.iocoder.mall.order.biz.convert.OrderReturnConvert; import cn.iocoder.mall.order.biz.dao.OrderItemMapper; import cn.iocoder.mall.order.biz.dao.OrderMapper; @@ -22,6 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import java.util.Collections; import java.util.Date; import java.util.List; import java.util.UUID; @@ -112,4 +115,29 @@ public class OrderReturnServiceImpl implements OrderReturnService { return CommonResult.success(orderReturnInfoBO); } + + @Override + public CommonResult orderReturnList(OrderReturnQueryDTO queryDTO) { + int totalCount = orderReturnMapper.selectListCount(queryDTO); + if (totalCount <= 0) { + return CommonResult.success( + new OrderReturnListBO() + .setData(Collections.EMPTY_LIST) + .setIndex(queryDTO.getIndex()) + .setPageSize(queryDTO.getPageSize()) + .setTotalCount(0) + ); + } + List orderReturnDOList = orderReturnMapper.selectList(queryDTO); + List orderReturnListBOList + = OrderReturnConvert.INSTANCE.convertListBO(orderReturnDOList); + + return CommonResult.success( + new OrderReturnListBO() + .setData(orderReturnListBOList) + .setIndex(queryDTO.getIndex()) + .setPageSize(queryDTO.getPageSize()) + .setTotalCount(totalCount) + ); + } } diff --git a/order/order-service-impl/src/main/resources/mapper/OrderReturnMapper.xml b/order/order-service-impl/src/main/resources/mapper/OrderReturnMapper.xml index b3b043ebf..d7c92bb6b 100644 --- a/order/order-service-impl/src/main/resources/mapper/OrderReturnMapper.xml +++ b/order/order-service-impl/src/main/resources/mapper/OrderReturnMapper.xml @@ -105,4 +105,44 @@ LIMIT 1 + + + + AND order_id = #{orderId} + + + AND order_no = #{orderNo} + + + AND create_time >= #{startCreateTime} + AND create_time <= #{endCreateTime} + + + + + + + + +