diff --git a/nxhs-common/src/main/java/cc/yunxi/common/utils/CommonUtil.java b/nxhs-common/src/main/java/cc/yunxi/common/utils/CommonUtil.java index 1170371..933aac6 100644 --- a/nxhs-common/src/main/java/cc/yunxi/common/utils/CommonUtil.java +++ b/nxhs-common/src/main/java/cc/yunxi/common/utils/CommonUtil.java @@ -2,12 +2,15 @@ package cc.yunxi.common.utils; import cn.hutool.core.util.RandomUtil; +import cn.hutool.core.util.ReflectUtil; import cn.hutool.core.util.StrUtil; +import lombok.SneakyThrows; import org.gavaghan.geodesy.Ellipsoid; import org.gavaghan.geodesy.GeodeticCalculator; import org.gavaghan.geodesy.GeodeticCurve; import org.gavaghan.geodesy.GlobalCoordinates; +import java.lang.reflect.Field; import java.math.BigDecimal; import java.math.RoundingMode; import java.text.SimpleDateFormat; @@ -81,13 +84,38 @@ public class CommonUtil { } + @SneakyThrows + public static void assignField(Object obj, String fieldName, Object value) { + Class clazz = obj.getClass(); + Field field = ReflectUtil.getField(clazz, fieldName); + if (field != null) { + field.set(clazz, value); + } + } + + @SneakyThrows + public static Object obtainField(Object obj, String fieldName) { + Class clazz = obj.getClass(); + Field field = ReflectUtil.getField(clazz, fieldName); + if (field == null) { + return null; + } + return field.get(clazz); + } + + public static void main(String[] args) { -// String lon1 = "121.233549"; -// String lat1 = "31.035796"; -// String lon2 = "121.404032"; -// String lat2 = "31.163973"; -// System.out.println(getDistance(lon1, lat1, lon2, lat2)); - int i = new BigDecimal("0.09").compareTo(new BigDecimal("0.1")); - System.out.println(i); +// 121.190912 +// 31.121521 大门口 + +// 121.190944 +// 31.122294 办公室 + String lon1 = "106.371621"; + String lat1 = "39.009392"; + String lon2 = "106.371979"; + String lat2 = "39.010994"; + System.out.println(getDistance(lon1, lat1, lon2, lat2)); +// int i = new BigDecimal("0.09").compareTo(new BigDecimal("0.1")); +// System.out.println(i); } } diff --git a/nxhs-service/src/main/java/cc/yunxi/controller/RecycleOrderController.java b/nxhs-service/src/main/java/cc/yunxi/controller/RecycleOrderController.java index ffd375c..41cdd6e 100644 --- a/nxhs-service/src/main/java/cc/yunxi/controller/RecycleOrderController.java +++ b/nxhs-service/src/main/java/cc/yunxi/controller/RecycleOrderController.java @@ -14,9 +14,12 @@ import cc.yunxi.domain.vo.clientaddress.ClientAddressSimpleVO; import cc.yunxi.domain.vo.housingestate.HousingEstateSimpleVO; import cc.yunxi.domain.vo.priceproduct.ProductSimpleVO; import cc.yunxi.domain.query.RecycleOrderQuery; +import cc.yunxi.domain.vo.recycleorder.RecycleOrderRespVO; import cc.yunxi.domain.vo.recycleorder.dzorder.DZRecycleOrderCreateVO; +import cc.yunxi.domain.vo.recycleorder.dzorder.DZRecycleOrderRespVO; import cc.yunxi.domain.vo.recycleorder.shorder.*; import cc.yunxi.domain.vo.recycleorder.tmorder.TMRecycleOrderCreateVO; +import cc.yunxi.domain.vo.recycleorder.tmorder.TMRecycleOrderRespVO; import cc.yunxi.domain.vo.recycleorderdetail.RecycleOrderDetailResponseVO; import cc.yunxi.domain.vo.recycler.RecyclerSimpleVO; import cc.yunxi.enums.OrderTypeEnum; @@ -24,7 +27,6 @@ import cc.yunxi.enums.UserTypeEnum; import cc.yunxi.service.*; import cc.yunxi.utils.UserContext; import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -32,6 +34,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; +import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; @@ -63,7 +66,7 @@ public class RecycleOrderController { @ApiOperation("分页查询回收订单") @PostMapping("/page") - public CommonResult> queryOrderByPage(@RequestBody RecycleOrderQuery recycleOrderQuery) { + public CommonResult> queryOrderByPage(@RequestBody RecycleOrderQuery recycleOrderQuery) { if (ObjectUtil.isEmpty(recycleOrderQuery.getOrderType())) { throw new BizIllegalException("请确定要查询的订单类型"); } @@ -73,14 +76,15 @@ public class RecycleOrderController { // recycleOrderQuery.setUserId(userDTO.getId()).setUserType(userDTO.getUserType()); // 测试时从前端获取回收站Id // 2.分页查询 Page result = recycleOrderService.queryOrderByPage(recycleOrderQuery); - PageDTO recycleOrderPageVO = PageDTO.of(result, RecycleOrderRespVO.class, (s, t) -> { - t.setLocation(new LocationDTO(s.getLongitude(), s.getLatitude())); - }); // 3.数据组装处理 - List orderRespVOList = recycleOrderPageVO.getList(); - if (CollUtils.isNotEmpty(orderRespVOList)) { - this.perfectOrderAttributes(recycleOrderQuery.getOrderType(), orderRespVOList, recycleOrderQuery.getLocation()); + List recycleOrderList = result.getRecords(); + List recycleOrderRespVOList = new ArrayList<>(); + if (CollUtils.isNotEmpty(recycleOrderList)) { + OrderTypeEnum orderType = recycleOrderQuery.getOrderType(); + LocationDTO location = recycleOrderQuery.getLocation(); + recycleOrderRespVOList = this.buildOrderAttributes(orderType, recycleOrderList, location); } + PageDTO recycleOrderPageVO = PageDTO.of(result, recycleOrderRespVOList); return CommonResult.success(recycleOrderPageVO); } @@ -117,24 +121,14 @@ public class RecycleOrderController { } - - @ApiOperation("回收订单详情") // todo + @ApiOperation("回收订单详情") @GetMapping("/info") - public CommonResult findOrder(@RequestParam("orderId") String orderId, LocationDTO location) { + public CommonResult findOrder(@RequestParam("orderId") String orderId, LocationDTO location) { RecycleOrder recycleOrder = recycleOrderService.getOrderById(orderId); - RecycleOrderRespVO recycleOrderRespVO = BeanUtils.copyBean(recycleOrder, RecycleOrderRespVO.class, (s, t) -> { - t.setLocation(new LocationDTO(s.getLongitude(), s.getLatitude())); - }); - this.perfectOrderAttributes(recycleOrder.getOrderType(), CollUtils.singletonList(recycleOrderRespVO), location); - // 接单后展示回收员信息 - if (StrUtil.isNotEmpty(recycleOrder.getStaffsId())) { - Recycler recycler = recyclerService.getRecyclerById(recycleOrder.getStaffsId()); - RecyclerSimpleVO recyclerSimpleVO = BeanUtils.copyBean(recycler, RecyclerSimpleVO.class); - recycleOrderRespVO.setRecyclerInfo(recyclerSimpleVO); - // 计算预计上门时间 - recycleOrderRespVO.setEstimateArrivalTime(recycleOrderRespVO.getAppointmentTimeStart().plusHours(1)); - } - return CommonResult.success(recycleOrderRespVO); + OrderTypeEnum orderType = recycleOrder.getOrderType(); + List recycleOrderRespVO = + this.buildOrderAttributes(orderType, CollUtils.singletonList(recycleOrder), location); + return CommonResult.success(CollUtils.getFirst(recycleOrderRespVO)); } @@ -147,7 +141,7 @@ public class RecycleOrderController { } @ApiOperation("散户取消订单") - @PostMapping ("/cancel") + @PostMapping("/cancel") @UserTypeAnnotation(UserTypeEnum.CLIENT) public CommonResult cancelOrder(@RequestBody RecycleOrderCancelVO orderCancelVO) { UserDTO userDTO = UserContext.getUser(); @@ -201,48 +195,57 @@ public class RecycleOrderController { /** * 完善扩展属性 + * * @param orderType - * @param orderRespVOList + * @param recycleOrderList * @param locationDTO + * @return List */ - private void perfectOrderAttributes(OrderTypeEnum orderType, List orderRespVOList, LocationDTO locationDTO) { + private List buildOrderAttributes(OrderTypeEnum orderType, + List recycleOrderList, LocationDTO locationDTO) { switch (orderType) { case SH_ORDER: - this.computeOrderDistance(orderRespVOList, locationDTO); - this.assembleProductInfo(orderRespVOList); - this.assembleClientAddressInfo(orderRespVOList); - this.assembleRecyclerInfo(orderRespVOList); - break; + List shOrderRespVOList = BeanUtils.copyList(recycleOrderList, SHRecycleOrderRespVO.class, (s, t) -> { + t.setLocation(new LocationDTO(s.getLongitude(), s.getLatitude())); + }); + this.computeOrderDistance(shOrderRespVOList, locationDTO); + this.assembleProductInfo(shOrderRespVOList); + this.assembleClientAddressInfo(shOrderRespVOList); + this.assembleRecyclerInfo(shOrderRespVOList); + return shOrderRespVOList; case TM_RECOVERY: - this.assembleProductInfo(orderRespVOList); - this.assembleRecyclerInfo(orderRespVOList); - this.assembleHousingEstateInfo(orderRespVOList); - break; + List tmOrderRespVOList = BeanUtils.copyList(recycleOrderList, TMRecycleOrderRespVO.class); + this.assembleProductInfo(tmOrderRespVOList); + this.assembleRecyclerInfo(tmOrderRespVOList); + this.assembleHousingEstateInfo(tmOrderRespVOList); + return tmOrderRespVOList; case DZ_RECOVERY: - this.assembleProductInfo(orderRespVOList); - this.assembleRecyclerInfo(orderRespVOList); - break; + List dzOrderRespVOList = BeanUtils.copyList(recycleOrderList, DZRecycleOrderRespVO.class); + this.assembleProductInfo(dzOrderRespVOList); + this.assembleRecyclerInfo(dzOrderRespVOList); + return dzOrderRespVOList; default: - break; + return BeanUtils.copyList(recycleOrderList, RecycleOrderRespVO.class); } } /** * 计算订单 -> 回收员距离(km) + * * @param orderRespVOList * @param locationDTO */ - private void computeOrderDistance(List orderRespVOList, LocationDTO locationDTO) { + private void computeOrderDistance(List orderRespVOList, LocationDTO locationDTO) { if (ObjectUtil.isNotEmpty(locationDTO) && locationDTO.isValid()) { String longitude = locationDTO.getLongitude(); String latitude = locationDTO.getLatitude(); orderRespVOList.forEach(orderRespVO -> { - String orderLongitude = orderRespVO.getLocation().getLongitude(); - String orderLatitude = orderRespVO.getLocation().getLatitude(); - BigDecimal distance = CommonUtil.getDistance(longitude, latitude, orderLongitude, orderLatitude); -// orderRespVO.setDistance(distance.toString().concat("km")); - orderRespVO.setDistance2(distance.doubleValue()); + LocationDTO location = (LocationDTO) CommonUtil.obtainField(orderRespVO, "location"); + if (location != null) { + BigDecimal distance = CommonUtil.getDistance(longitude, latitude, location.getLongitude(), location.getLatitude()); + CommonUtil.assignField(orderRespVO, "distance2", distance); + } }); } } @@ -250,9 +253,10 @@ public class RecycleOrderController { /** * 组装订单废品信息 + * * @param orderRespVOList */ - private void assembleProductInfo(List orderRespVOList) { + private void assembleProductInfo(List orderRespVOList) { List orderIds = orderRespVOList.stream().map(RecycleOrderRespVO::getId).collect(Collectors.toList()); List orderProducts = recycleOrderProductService.getOrderProductsByOrderIds(orderIds); List detailResponseVOList = BeanUtils.copyList(orderProducts, RecycleOrderDetailResponseVO.class); @@ -266,31 +270,41 @@ public class RecycleOrderController { } Map> orderProductsMap = detailResponseVOList.stream().collect(Collectors.groupingBy(RecycleOrderDetailResponseVO::getRecycleOrderId)); - orderRespVOList.forEach(v -> v.setOrderDetails(orderProductsMap.get(v.getId()))); + orderRespVOList.forEach(v -> { + CommonUtil.assignField(v, "orderDetails", orderProductsMap.get(v.getId())); + }); } /** * 组装订单散户地址信息 + * * @param orderRespVOList */ - private void assembleClientAddressInfo(List orderRespVOList) { + private void assembleClientAddressInfo(List orderRespVOList) { Map orderAddressMap = orderRespVOList.stream().collect(Collectors.toMap( - RecycleOrderRespVO::getId, v -> Optional.ofNullable(v.getClientAddressId()).orElse(""), (k1, k2) -> k1)); + RecycleOrderRespVO::getId, v -> { + String clientAddressId = (String) CommonUtil.obtainField(v, "clientAddressId"); + return Optional.ofNullable(clientAddressId).orElse(""); + }, (k1, k2) -> k1)); Set addressIds = new HashSet<>(CollUtils.removeEmpty(orderAddressMap.values())); List clientAddresses = clientAddressService.queryAddressList(addressIds); List addressSimpleVOList = BeanUtils.copyList(clientAddresses, ClientAddressSimpleVO.class); Map clientAddressMap = addressSimpleVOList.stream().collect( Collectors.toMap(ClientAddressSimpleVO::getId, v -> v, (k1, k2) -> k1)); - orderRespVOList.forEach(v -> v.setAddressInfo(clientAddressMap.get(v.getClientAddressId()))); + orderRespVOList.forEach(v -> { + String clientAddressId = (String) CommonUtil.obtainField(v, "clientAddressId"); + CommonUtil.assignField(v, "clientAddressId", clientAddressId); + }); } /** * 组装订单回收员信息 + * * @param orderRespVOList */ - private void assembleRecyclerInfo(List orderRespVOList) { + private void assembleRecyclerInfo(List orderRespVOList) { Map orderRecyclerMap = orderRespVOList.stream().collect(Collectors.toMap( RecycleOrderRespVO::getId, v -> Optional.ofNullable(v.getStaffsId()).orElse(""), (k1, k2) -> k1)); Set recyclerIds = new HashSet<>(CollUtils.removeEmpty(orderRecyclerMap.values())); @@ -299,25 +313,35 @@ public class RecycleOrderController { Map recyclerMap = recyclerSimpleVOList.stream().collect( Collectors.toMap(RecyclerSimpleVO::getId, v -> v, (k1, k2) -> k1)); orderRespVOList.forEach(v -> { - v.setRecyclerInfo(recyclerMap.get(v.getStaffsId())); - v.setEstimateArrivalTime(v.getAppointmentTimeStart().plusHours(1)); // 预计上门时间 + CommonUtil.assignField(v, "recyclerInfo", recyclerMap.get(v.getStaffsId())); + LocalDateTime appointmentTimeStart = (LocalDateTime) CommonUtil.obtainField(v, "appointmentTimeStart"); + if (ObjectUtil.isNotEmpty(appointmentTimeStart)) { + CommonUtil.assignField(v, "estimateArrivalTime", appointmentTimeStart.plusHours(1)); + } }); } /** * 组装小区地址信息 + * * @param orderRespVOList */ - private void assembleHousingEstateInfo(List orderRespVOList) { + private void assembleHousingEstateInfo(List orderRespVOList) { Map orderHousingEstateMap = orderRespVOList.stream().collect(Collectors.toMap( - RecycleOrderRespVO::getId, v -> Optional.ofNullable(v.getHousingEstateId()).orElse(""), (k1, k2) -> k1)); + RecycleOrderRespVO::getId, v -> { + String housingEstateId = (String) CommonUtil.obtainField(v, "housingEstateId"); + return Optional.ofNullable(housingEstateId).orElse(""); + }, (k1, k2) -> k1)); Set housingEstateIds = new HashSet<>(CollUtils.removeEmpty(orderHousingEstateMap.values())); List housingEstateList = housingEstateService.getHousingListByIds(housingEstateIds); List housingSimpleVOList = BeanUtils.copyList(housingEstateList, HousingEstateSimpleVO.class); Map housingEstateMap = housingSimpleVOList.stream().collect( Collectors.toMap(HousingEstateSimpleVO::getId, v -> v, (k1, k2) -> k1)); - orderRespVOList.forEach(v -> v.setHousingEstateInfo(housingEstateMap.get(v.getHousingEstateId()))); + orderRespVOList.forEach(v -> { + String housingEstateId = (String) CommonUtil.obtainField(v, "housingEstateId"); + CommonUtil.assignField(v, "housingEstateInfo", housingEstateMap.get(housingEstateId)); + }); } } diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/dto/LocationDTO.java b/nxhs-service/src/main/java/cc/yunxi/domain/dto/LocationDTO.java index ad40bcb..0742694 100644 --- a/nxhs-service/src/main/java/cc/yunxi/domain/dto/LocationDTO.java +++ b/nxhs-service/src/main/java/cc/yunxi/domain/dto/LocationDTO.java @@ -21,7 +21,6 @@ public class LocationDTO { private static final String LATITUDE_REGEX = "^[\\-\\+]?([0-8]?\\d{1}\\.\\d{1,6}|90\\.0{1,6})$"; - @ApiModelProperty(value = "当前经度", required = true, example = "121.404032") @NotNull(message = "未知定位") @Pattern(regexp = LONGITUDE_REGEX, message = "经度格式错误") diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/RecycleOrderRespVO.java b/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/RecycleOrderRespVO.java new file mode 100644 index 0000000..64a0d8f --- /dev/null +++ b/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/RecycleOrderRespVO.java @@ -0,0 +1,78 @@ +package cc.yunxi.domain.vo.recycleorder; + +import cc.yunxi.domain.dto.LocationDTO; +import cc.yunxi.domain.vo.clientaddress.ClientAddressSimpleVO; +import cc.yunxi.domain.vo.housingestate.HousingEstateSimpleVO; +import cc.yunxi.domain.vo.recycleorderdetail.RecycleOrderDetailResponseVO; +import cc.yunxi.domain.vo.recycler.RecyclerSimpleVO; +import cc.yunxi.enums.OrderStatusEnum; +import cc.yunxi.enums.OrderTypeEnum; +import cc.yunxi.enums.ProductWeightEnum; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + +/** + *

+ * 回收订单VO + *

+ * + * @author ccongli + * @since 2024-03-01 11:15:39 + */ +@ApiModel(description = "回收订单 Base Response VO") +@Data +public class RecycleOrderRespVO { + + @ApiModelProperty("主键id") + protected String id; + + @ApiModelProperty("回收站id") + protected String recycleStationId; + + @ApiModelProperty("订单编号") + protected String orderNumber; + + @ApiModelProperty("订单类型") + protected OrderTypeEnum orderType; + + @ApiModelProperty("订单金额(元)") + protected BigDecimal orderAmount; + + @ApiModelProperty("订单状态") + protected OrderStatusEnum orderStatus; + + + @ApiModelProperty("散户id") + protected String clientId; + + @ApiModelProperty("散户姓名") + protected String clientName; + + @ApiModelProperty("散户手机号") + protected String clientMobile; + + @ApiModelProperty("回收员id") + protected String staffsId; + + + @ApiModelProperty("订单创建时间") + protected LocalDateTime creatorTime; + + @ApiModelProperty("订单修改时间") + protected LocalDateTime updateTime; + + @ApiModelProperty("完成时间") + protected LocalDateTime completeTime; + + @ApiModelProperty("结算时间") + private LocalDateTime settleTime; + + @ApiModelProperty("备注") + protected String remark; + +} diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/dzorder/DZRecycleOrderRespVO.java b/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/dzorder/DZRecycleOrderRespVO.java index e398722..00fc1df 100644 --- a/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/dzorder/DZRecycleOrderRespVO.java +++ b/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/dzorder/DZRecycleOrderRespVO.java @@ -1,52 +1,18 @@ package cc.yunxi.domain.vo.recycleorder.dzorder; -import cc.yunxi.domain.vo.housingestate.HousingEstateSimpleVO; +import cc.yunxi.domain.vo.recycleorder.RecycleOrderRespVO; import cc.yunxi.domain.vo.recycleorderdetail.RecycleOrderDetailResponseVO; import cc.yunxi.domain.vo.recycler.RecyclerSimpleVO; -import cc.yunxi.enums.OrderStatusEnum; -import cc.yunxi.enums.OrderTypeEnum; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import java.math.BigDecimal; -import java.time.LocalDateTime; import java.util.List; @ApiModel(description = "到站回收订单 Response VO") @Data -public class DZRecycleOrderRespVO { - - @ApiModelProperty("主键id") - private String id; - - @ApiModelProperty("回收站id") - private String recycleStationId; - - @ApiModelProperty("订单编号") - private String orderNumber; - - @ApiModelProperty("订单类型") - private OrderTypeEnum orderType; - - @ApiModelProperty("订单金额(元)") - private BigDecimal orderAmount; - - @ApiModelProperty("订单状态") - private OrderStatusEnum orderStatus; - - @ApiModelProperty("散户id") - private String clientId; - - @ApiModelProperty("散户姓名") - private String clientName; - - @ApiModelProperty("散户手机号") - private String clientMobile; - - @ApiModelProperty("回收员id") - private String staffsId; +public class DZRecycleOrderRespVO extends RecycleOrderRespVO { @ApiModelProperty("回收员信息") private RecyclerSimpleVO recyclerInfo; @@ -54,10 +20,4 @@ public class DZRecycleOrderRespVO { @ApiModelProperty("订单明细详情") private List orderDetails; - @ApiModelProperty("订单创建时间") - private LocalDateTime creatorTime; - - @ApiModelProperty("完成时间") - private LocalDateTime completeTime; - } diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/shorder/RecycleOrderRespVO.java b/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/shorder/SHRecycleOrderRespVO.java similarity index 59% rename from nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/shorder/RecycleOrderRespVO.java rename to nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/shorder/SHRecycleOrderRespVO.java index e02dcc2..81857ad 100644 --- a/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/shorder/RecycleOrderRespVO.java +++ b/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/shorder/SHRecycleOrderRespVO.java @@ -3,12 +3,12 @@ package cc.yunxi.domain.vo.recycleorder.shorder; import cc.yunxi.domain.dto.LocationDTO; import cc.yunxi.domain.vo.clientaddress.ClientAddressSimpleVO; import cc.yunxi.domain.vo.housingestate.HousingEstateSimpleVO; +import cc.yunxi.domain.vo.recycleorder.RecycleOrderRespVO; import cc.yunxi.domain.vo.recycleorderdetail.RecycleOrderDetailResponseVO; import cc.yunxi.domain.vo.recycler.RecyclerSimpleVO; import cc.yunxi.enums.OrderStatusEnum; import cc.yunxi.enums.OrderTypeEnum; import cc.yunxi.enums.ProductWeightEnum; -import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -25,36 +25,9 @@ import java.util.List; * @author ccongli * @since 2024-03-01 11:15:39 */ -@ApiModel(description = "回收订单 Response VO") +@ApiModel(description = "预约回收订单 Response VO") @Data -public class RecycleOrderRespVO { - - @ApiModelProperty("主键id") - private String id; - - @ApiModelProperty("回收站id") - private String recycleStationId; - - @ApiModelProperty("订单编号") - private String orderNumber; - - @ApiModelProperty("订单类型") - private OrderTypeEnum orderType; - - @ApiModelProperty("订单金额(元)") - private BigDecimal orderAmount; - - @ApiModelProperty("订单状态") - private OrderStatusEnum orderStatus; - - @ApiModelProperty("散户id") - private String clientId; - - @ApiModelProperty("散户姓名") - private String clientName; - - @ApiModelProperty("散户手机号") - private String clientMobile; +public class SHRecycleOrderRespVO extends RecycleOrderRespVO { @ApiModelProperty("散户地址id") private String clientAddressId; @@ -65,47 +38,36 @@ public class RecycleOrderRespVO { @ApiModelProperty("订单地理位置") private LocationDTO location; - @ApiModelProperty("回收员id") - private String staffsId; - - @ApiModelProperty("回收员姓名") - private String staffsName; - - @ApiModelProperty("订单创建时间") - private LocalDateTime creatorTime; - - @ApiModelProperty("订单修改时间") - private LocalDateTime updateTime; - @ApiModelProperty("预约上门时间起") private LocalDateTime appointmentTimeStart; @ApiModelProperty("预约上门时间止") private LocalDateTime appointmentTimeEnd; -// @ApiModelProperty("协商上门时间起") -// private LocalDateTime consultTimeStart; -// -// @ApiModelProperty("协商上门时间止") -// private LocalDateTime consultTimeEnd; - @ApiModelProperty("接单时间") private LocalDateTime receiveTime; @ApiModelProperty("到达时间") private LocalDateTime arrivalTime; - @ApiModelProperty("完成时间") - private LocalDateTime completeTime; + @ApiModelProperty("订单->回收站距离(km)") + private Double distance; - @ApiModelProperty("结算时间") - private LocalDateTime settleTime; + @ApiModelProperty("订单->回收员距离(km)") + private Double distance2; - @ApiModelProperty("小区id") - private String housingEstateId; + @ApiModelProperty("预计到达时间") + private LocalDateTime estimateArrivalTime; + + @ApiModelProperty("散户地址信息") + private ClientAddressSimpleVO addressInfo; + + @ApiModelProperty("回收员信息") + private RecyclerSimpleVO recyclerInfo; + + @ApiModelProperty("订单明细详情") + private List orderDetails; - @ApiModelProperty("备注") - private String remark; // @ApiModelProperty("综合评分") // private Integer starScore; @@ -128,25 +90,4 @@ public class RecycleOrderRespVO { // @ApiModelProperty("系统是否删除") // private Integer isDeleted; - @ApiModelProperty("订单->回收站距离(km)") - private Double distance; - - @ApiModelProperty("订单->回收员距离(km)") - private Double distance2; - - @ApiModelProperty("预计到达时间") - private LocalDateTime estimateArrivalTime; - - @ApiModelProperty("散户地址信息") - private ClientAddressSimpleVO addressInfo; - - @ApiModelProperty("小区信息") - private HousingEstateSimpleVO housingEstateInfo; - - @ApiModelProperty("回收员信息") - private RecyclerSimpleVO recyclerInfo; - - @ApiModelProperty("订单明细详情") - private List orderDetails; - } diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/tmorder/TMRecycleOrderRespVO.java b/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/tmorder/TMRecycleOrderRespVO.java index 5dd4437..ad76dc4 100644 --- a/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/tmorder/TMRecycleOrderRespVO.java +++ b/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/tmorder/TMRecycleOrderRespVO.java @@ -1,53 +1,23 @@ package cc.yunxi.domain.vo.recycleorder.tmorder; -import cc.yunxi.domain.vo.clientaddress.ClientAddressSimpleVO; import cc.yunxi.domain.vo.housingestate.HousingEstateSimpleVO; +import cc.yunxi.domain.vo.recycleorder.RecycleOrderRespVO; import cc.yunxi.domain.vo.recycleorderdetail.RecycleOrderDetailResponseVO; import cc.yunxi.domain.vo.recycler.RecyclerSimpleVO; -import cc.yunxi.enums.OrderStatusEnum; -import cc.yunxi.enums.OrderTypeEnum; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import java.math.BigDecimal; -import java.time.LocalDateTime; import java.util.List; @ApiModel(description = "定点回收订单 Response VO") @Data -public class TMRecycleOrderRespVO { - - @ApiModelProperty("主键id") - private String id; - - @ApiModelProperty("回收站id") - private String recycleStationId; - - @ApiModelProperty("订单编号") - private String orderNumber; - - @ApiModelProperty("订单类型") - private OrderTypeEnum orderType; - - @ApiModelProperty("订单金额(元)") - private BigDecimal orderAmount; - - @ApiModelProperty("订单状态") - private OrderStatusEnum orderStatus; +public class TMRecycleOrderRespVO extends RecycleOrderRespVO { - @ApiModelProperty("散户id") - private String clientId; - - @ApiModelProperty("散户姓名") - private String clientName; - - @ApiModelProperty("散户手机号") - private String clientMobile; - - @ApiModelProperty("回收员id") - private String staffsId; + @ApiModelProperty("小区id") + protected String housingEstateId; @ApiModelProperty("小区地址信息") private HousingEstateSimpleVO housingInfo; @@ -58,11 +28,4 @@ public class TMRecycleOrderRespVO { @ApiModelProperty("订单明细详情") private List orderDetails; - - @ApiModelProperty("创建时间") - private LocalDateTime creatorTime; - - @ApiModelProperty("完成时间") - private LocalDateTime completeTime; - }