OrderConverter.java 4.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package com.hys.app.converter.erp;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.hys.app.framework.database.WebPage;
  4. import com.hys.app.model.erp.dos.*;
  5. import com.hys.app.model.erp.dto.OrderDTO;
  6. import com.hys.app.model.erp.enums.OrderStatusEnum;
  7. import com.hys.app.model.erp.enums.OrderTypeEnum;
  8. import com.hys.app.model.erp.vo.OrderExcelVO;
  9. import com.hys.app.model.erp.vo.OrderItemVO;
  10. import com.hys.app.model.erp.vo.OrderVO;
  11. import com.hys.app.service.kuaidiniao.entity.PreOrderModel;
  12. import com.hys.app.service.kuaidiniao.entity.PreOrderModelDTO;
  13. import com.hys.app.service.kuaidiniao.entity.ReceiverSender;
  14. import org.mapstruct.Mapper;
  15. import org.mapstruct.Mapping;
  16. import org.mapstruct.MappingConstants;
  17. import org.mapstruct.MappingTarget;
  18. import java.util.List;
  19. import java.util.Map;
  20. /**
  21. * 订单 Converter
  22. *
  23. * @author 张崧
  24. * 2024-01-24 15:58:31
  25. */
  26. @Mapper(componentModel = MappingConstants.ComponentModel.SPRING)
  27. public interface OrderConverter {
  28. OrderDO convert(OrderDTO orderDTO);
  29. List<OrderVO> convertList(List<OrderDO> list);
  30. WebPage<OrderVO> convertPage(WebPage<OrderDO> webPage);
  31. default OrderStatusEnum convertAuditStatus(Boolean isPass, OrderTypeEnum type) {
  32. if (isPass) {
  33. return type == OrderTypeEnum.TO_C ? OrderStatusEnum.COMPLETE : OrderStatusEnum.WAIT_WAREHOUSE_OUT;
  34. } else {
  35. return OrderStatusEnum.AUDIT_REJECT;
  36. }
  37. }
  38. @Mapping(target = "aDo.receiverProvinceName", source = "receiver.provinceName")
  39. @Mapping(target = "aDo.receiverCityName", source = "receiver.cityName")
  40. @Mapping(target = "aDo.receiverAreaName", source = "receiver.areaName")
  41. @Mapping(target = "aDo.receiverAddress", source = "receiver.address")
  42. @Mapping(target = "aDo.receiverName", source = "receiver.name")
  43. @Mapping(target = "aDo.receiverPhone", source = "receiver.phone")
  44. @Mapping(target = "aDo.receiverMobile", source = "receiver.mobile")
  45. @Mapping(target = "aDo.receiverLatitude", source = "receiver.latitude")
  46. @Mapping(target = "aDo.receiverLongitude", source = "receiver.longitude")
  47. @Mapping(target = "aDo.senderProvinceName", source = "sender.provinceName")
  48. @Mapping(target = "aDo.senderCityName", source = "sender.cityName")
  49. @Mapping(target = "aDo.senderAreaName", source = "sender.areaName")
  50. @Mapping(target = "aDo.senderAddress", source = "sender.address")
  51. @Mapping(target = "aDo.senderName", source = "sender.name")
  52. @Mapping(target = "aDo.senderMobile", source = "sender.mobile")
  53. @Mapping(target = "aDo.senderPhone", source = "sender.phone")
  54. @Mapping(target = "aDo.senderLatitude", source = "sender.latitude")
  55. @Mapping(target = "aDo.senderLongitude", source = "sender.longitude")
  56. @Mapping(target = "aDo.deleted", ignore = true)
  57. void copyProperties(@MappingTarget OrderSendDO aDo, PreOrderModelDTO preOrderModel, ReceiverSender receiver, ReceiverSender sender);
  58. @Mapping(target = "preOrderModel.sender.longitude", source = "aDo.senderLongitude")
  59. @Mapping(target = "preOrderModel.sender.latitude", source = "aDo.senderLatitude")
  60. @Mapping(target = "preOrderModel.sender.phone", source = "aDo.senderPhone")
  61. @Mapping(target = "preOrderModel.sender.mobile", source = "aDo.senderMobile")
  62. @Mapping(target = "preOrderModel.sender.name", source = "aDo.senderName")
  63. @Mapping(target = "preOrderModel.sender.address", source = "aDo.senderAddress")
  64. @Mapping(target = "preOrderModel.sender.areaName", source = "aDo.senderAreaName")
  65. @Mapping(target = "preOrderModel.sender.cityName", source = "aDo.senderCityName")
  66. @Mapping(target = "preOrderModel.sender.provinceName", source = "aDo.senderProvinceName")
  67. @Mapping(target = "preOrderModel.receiver.longitude", source = "aDo.receiverLongitude")
  68. @Mapping(target = "preOrderModel.receiver.latitude", source = "aDo.receiverLatitude")
  69. @Mapping(target = "preOrderModel.receiver.mobile", source = "aDo.receiverMobile")
  70. @Mapping(target = "preOrderModel.receiver.phone", source = "aDo.receiverPhone")
  71. @Mapping(target = "preOrderModel.receiver.name", source = "aDo.receiverName")
  72. @Mapping(target = "preOrderModel.receiver.address", source = "aDo.receiverAddress")
  73. @Mapping(target = "preOrderModel.receiver.areaName", source = "aDo.receiverAreaName")
  74. @Mapping(target = "preOrderModel.receiver.cityName", source = "aDo.receiverCityName")
  75. @Mapping(target = "preOrderModel.receiver.provinceName", source = "aDo.receiverProvinceName")
  76. void copyProperties(@MappingTarget PreOrderModel preOrderModel, OrderSendDO aDo);
  77. }