diff --git a/nxhs-service/src/main/java/cc/yunxi/config/WebMvcConfig.java b/nxhs-service/src/main/java/cc/yunxi/config/WebMvcConfig.java index 7200854..c8d36b8 100644 --- a/nxhs-service/src/main/java/cc/yunxi/config/WebMvcConfig.java +++ b/nxhs-service/src/main/java/cc/yunxi/config/WebMvcConfig.java @@ -51,7 +51,9 @@ public class WebMvcConfig implements WebMvcConfigurer { "/qrcode/**.txt", "/wx/**",//微信消息推送验证 "/webSocketServer/**",//socket通信 - "/doc.html" + "/doc.html", + "/api/delivery-order/**", + "/api/clean-order/**" ); /** diff --git a/nxhs-service/src/main/java/cc/yunxi/controller/CleanOrderController.java b/nxhs-service/src/main/java/cc/yunxi/controller/CleanOrderController.java index 9971b28..8c7957f 100644 --- a/nxhs-service/src/main/java/cc/yunxi/controller/CleanOrderController.java +++ b/nxhs-service/src/main/java/cc/yunxi/controller/CleanOrderController.java @@ -1,4 +1,41 @@ package cc.yunxi.controller; +import cc.yunxi.common.domain.CommonResult; +import cc.yunxi.common.domain.PageDTO; +import cc.yunxi.domain.po.RecycleCleanOrder; +import cc.yunxi.domain.query.RecycleCleanOrderQuery; +import cc.yunxi.domain.vo.recycleorder.RecycleCleanOrderVO; +import cc.yunxi.service.IRecycleCleanOrderService; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "清运订单接口") +@RestController +@RequestMapping("/clean-order") +@RequiredArgsConstructor public class CleanOrderController { + + @Resource + private IRecycleCleanOrderService iRecycleCleanOrderService; + + @ApiOperation("分页查询清运订单") + @PostMapping("/page") + private CommonResult> queryOrderByPage(@RequestBody @Validated RecycleCleanOrderQuery cleanOrderQuery) { + Page result = iRecycleCleanOrderService.queryOrderByPage(cleanOrderQuery); + PageDTO orderVOPageDTO = PageDTO.of(result, RecycleCleanOrderVO.class); + return CommonResult.success(orderVOPageDTO); + } + + @ApiOperation("根据id查询订单详情") + @GetMapping("/{id}") + private CommonResult detailById(@PathVariable String id) { + RecycleCleanOrderVO recycleCleanOrderVO = iRecycleCleanOrderService.detailById(id); + return CommonResult.success(recycleCleanOrderVO); + } } diff --git a/nxhs-service/src/main/java/cc/yunxi/controller/DeliveryOrderController.java b/nxhs-service/src/main/java/cc/yunxi/controller/DeliveryOrderController.java index 16dfca7..fc8a367 100644 --- a/nxhs-service/src/main/java/cc/yunxi/controller/DeliveryOrderController.java +++ b/nxhs-service/src/main/java/cc/yunxi/controller/DeliveryOrderController.java @@ -1,8 +1,43 @@ package cc.yunxi.controller; +import cc.yunxi.common.domain.CommonResult; +import cc.yunxi.common.domain.PageDTO; +import cc.yunxi.domain.po.RecycleDeliveryOrder; +import cc.yunxi.domain.query.DeliveryOrderQuery; +import cc.yunxi.domain.vo.recycleorder.RecycleDeliveryOrderVO; +import cc.yunxi.service.IRecycleDeliveryOrderService; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "投运订单接口") +@RestController +@RequestMapping("/delivery-order") +@RequiredArgsConstructor public class DeliveryOrderController { + @Resource + private IRecycleDeliveryOrderService iRecycleDeliveryOrderService; + + @ApiOperation("分页查询投运订单") + @PostMapping("/page") + private CommonResult> queryOrderByPage(@RequestBody @Validated DeliveryOrderQuery deliveryOrderQuery) { + Page result = iRecycleDeliveryOrderService.queryOrderByPage(deliveryOrderQuery); + PageDTO orderVOPageDTO = PageDTO.of(result, RecycleDeliveryOrderVO.class); + return CommonResult.success(orderVOPageDTO); + } + @ApiOperation("根据id查询订单详情") + @GetMapping("/{id}") + private CommonResult detailById(@PathVariable String id) { + RecycleDeliveryOrderVO recycleDeliveryOrderVO = iRecycleDeliveryOrderService.detailById(id); + return CommonResult.success(recycleDeliveryOrderVO); + } } diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/converter/RecycleCleanOrderConvertMapper.java b/nxhs-service/src/main/java/cc/yunxi/domain/converter/RecycleCleanOrderConvertMapper.java new file mode 100644 index 0000000..52228b5 --- /dev/null +++ b/nxhs-service/src/main/java/cc/yunxi/domain/converter/RecycleCleanOrderConvertMapper.java @@ -0,0 +1,47 @@ +package cc.yunxi.domain.converter; + +import cc.yunxi.domain.po.RecycleCleanOrder; +import cc.yunxi.domain.vo.recycleorder.RecycleCleanOrderVO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +@Mapper +public interface RecycleCleanOrderConvertMapper { + + RecycleCleanOrderConvertMapper INSTANCE = Mappers.getMapper(RecycleCleanOrderConvertMapper.class); + + /** + * 将 {@link RecycleCleanOrder} 转换为 {@link RecycleCleanOrderVO} 对象 + * + * @param po PO对象 + * @return DTO对象 + */ + RecycleCleanOrderVO toVO(RecycleCleanOrder po); + + /** + * 将 {@link RecycleCleanOrderVO} 转换为 {@link RecycleCleanOrder} 对象 + * + * @param dto DTO对象 + * @return PO对象 + */ + RecycleCleanOrder toDO(RecycleCleanOrderVO dto); + + /** + * 将 {@link RecycleCleanOrder} 转换为 {@link RecycleCleanOrderVO} 对象集合 + * + * @param list PO对象 + * @return DTO对象 + */ + List toVO(List list); + + /** + * 将 {@link RecycleCleanOrder} 转换为 {@link RecycleCleanOrderVO} 对象集合 + * + * @param list PO对象 + * @return DTO对象 + */ + List toDO(List list); + +} diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/converter/RecycleDeliveryOrderConvertMapper.java b/nxhs-service/src/main/java/cc/yunxi/domain/converter/RecycleDeliveryOrderConvertMapper.java new file mode 100644 index 0000000..a8dc0f1 --- /dev/null +++ b/nxhs-service/src/main/java/cc/yunxi/domain/converter/RecycleDeliveryOrderConvertMapper.java @@ -0,0 +1,47 @@ +package cc.yunxi.domain.converter; + +import cc.yunxi.domain.po.RecycleDeliveryOrder; +import cc.yunxi.domain.vo.recycleorder.RecycleDeliveryOrderVO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +@Mapper +public interface RecycleDeliveryOrderConvertMapper { + + RecycleDeliveryOrderConvertMapper INSTANCE = Mappers.getMapper(RecycleDeliveryOrderConvertMapper.class); + + /** + * 将 {@link RecycleDeliveryOrder} 转换为 {@link RecycleDeliveryOrderVO} 对象 + * + * @param po PO对象 + * @return DTO对象 + */ + RecycleDeliveryOrderVO toVO(RecycleDeliveryOrder po); + + /** + * 将 {@link RecycleDeliveryOrderVO} 转换为 {@link RecycleDeliveryOrder} 对象 + * + * @param dto DTO对象 + * @return PO对象 + */ + RecycleDeliveryOrder toDO(RecycleDeliveryOrderVO dto); + + /** + * 将 {@link RecycleDeliveryOrder} 转换为 {@link RecycleDeliveryOrderVO} 对象集合 + * + * @param list PO对象 + * @return DTO对象 + */ + List toVO(List list); + + /** + * 将 {@link RecycleDeliveryOrder} 转换为 {@link RecycleDeliveryOrderVO} 对象集合 + * + * @param list PO对象 + * @return DTO对象 + */ + List toDO(List list); + +} diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/query/DeliveryOrderQuery.java b/nxhs-service/src/main/java/cc/yunxi/domain/query/DeliveryOrderQuery.java new file mode 100644 index 0000000..3cc4cfc --- /dev/null +++ b/nxhs-service/src/main/java/cc/yunxi/domain/query/DeliveryOrderQuery.java @@ -0,0 +1,23 @@ +package cc.yunxi.domain.query; + +import cc.yunxi.common.domain.PageQuery; +import cc.yunxi.domain.po.RecycleDeliveryOrder; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotBlank; + + +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value = "DeliveryOrder", description = "投运订单查询条件") +public class DeliveryOrderQuery extends PageQuery { + + @ApiModelProperty(value = "手机号", example = "17802164218") + @NotBlank(message = "手机号不能为空") + private String phoneNumber; +} diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/query/RecycleCleanOrderQuery.java b/nxhs-service/src/main/java/cc/yunxi/domain/query/RecycleCleanOrderQuery.java new file mode 100644 index 0000000..1d633c7 --- /dev/null +++ b/nxhs-service/src/main/java/cc/yunxi/domain/query/RecycleCleanOrderQuery.java @@ -0,0 +1,23 @@ +package cc.yunxi.domain.query; + +import cc.yunxi.common.domain.PageQuery; +import cc.yunxi.domain.po.RecycleCleanOrder; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotBlank; + +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value = "CleanOrder", description = "清运订单查询条件") +public class RecycleCleanOrderQuery extends PageQuery { + + @ApiModelProperty(value = "手机号", example = "17802164218") + @NotBlank(message = "手机号不能为空") + private String phoneNumber; + +} diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/RecycleCleanOrderVO.java b/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/RecycleCleanOrderVO.java new file mode 100644 index 0000000..261142d --- /dev/null +++ b/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/RecycleCleanOrderVO.java @@ -0,0 +1,128 @@ +package cc.yunxi.domain.vo.recycleorder; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +@Data +public class RecycleCleanOrderVO implements Serializable { + + private static final long serialVersionUID = -1L; + + @ApiModelProperty("主键") + private String id; + + @ApiModelProperty("订单号") + private String orderNo; + + + @ApiModelProperty("设备订单号") + private String deviceOrderNo; + + @ApiModelProperty("设备编码") + private String deviceCode; + + @ApiModelProperty("桶编号") + private String bucketCode; + + + @ApiModelProperty("门号") + private Integer doorNum; + + + @ApiModelProperty("垃圾袋编号") + private String bagNo; + + + @ApiModelProperty("桶内原重") + private BigDecimal originalWeight; + + + @ApiModelProperty("上报重量") + private BigDecimal reportWeight; + + + @ApiModelProperty("审核重量") + private BigDecimal adjustWeight; + + + @ApiModelProperty("回收大类") + private String productCode; + + + @ApiModelProperty("回收子类") + private String productSubCode; + + + @ApiModelProperty("单价") + private BigDecimal price; + + + @ApiModelProperty("总价") + private BigDecimal totalPrice; + + + @ApiModelProperty("审核总价") + private BigDecimal adjustPrice; + + + @ApiModelProperty("审核设置") + private Integer adjustSet; + + + @ApiModelProperty("审核状态 0:未审核 1:通过 2:调整通过 3:拒绝") + private Integer adjustStatus; + + + @ApiModelProperty("审核意见") + private String adjustComm; + + + @ApiModelProperty("投递员id") + private String deliverId; + + + @ApiModelProperty("投递员手机") + private String phone; + + + @ApiModelProperty("清运状态") + private Integer cleanStatus; + + + @ApiModelProperty("清运单号") + private String cleanNo; + + @ApiModelProperty("清运员手机号") + private String cleanerPhone; + + @ApiModelProperty("登录方式") + private String loginType; + + @ApiModelProperty("抓拍") + private String photo; + + @ApiModelProperty("租户id") + private String tenantId; + + @ApiModelProperty("公司id") + private String companyId; + + @ApiModelProperty("部门id") + private String departmentId; + + @ApiModelProperty("部门id") + private String organizeJsonId; + + @ApiModelProperty("开始时间") + private Date startTime; + + @ApiModelProperty("结束时间") + private Date finishTime; + + @ApiModelProperty("上报时间") + private Date reportTime; +} diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/RecycleDeliveryOrderVO.java b/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/RecycleDeliveryOrderVO.java new file mode 100644 index 0000000..84d6009 --- /dev/null +++ b/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/RecycleDeliveryOrderVO.java @@ -0,0 +1,111 @@ +package cc.yunxi.domain.vo.recycleorder; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +@Data +public class RecycleDeliveryOrderVO implements Serializable { + + private static final long serialVersionUID = -1L; + + @ApiModelProperty("主键id") + private String id; + + @ApiModelProperty("订单号") + private String orderNo; + + @ApiModelProperty("设备订单号") + private String deviceOrderNo; + + @ApiModelProperty("设备编码") + private String deviceCode; + + @ApiModelProperty("桶编号") + private String bucketCode; + + @ApiModelProperty("门号") + private Integer doorNum; + + @ApiModelProperty("垃圾袋编号") + private String bagNo; + + @ApiModelProperty("桶内原重") + private BigDecimal originalWeight; + + @ApiModelProperty("上报重量") + private BigDecimal reportWeight; + + @ApiModelProperty("审核重量") + private BigDecimal adjustWeight; + + @ApiModelProperty("回收大类") + private String productCode; + + @ApiModelProperty("回收子类") + private String productSubCode; + + @ApiModelProperty("单价") + private BigDecimal price; + + @ApiModelProperty("总价") + private BigDecimal totalPrice; + + @ApiModelProperty("审核总价") + private BigDecimal adjustPrice; + + @ApiModelProperty("审核设置") + private Integer adjustSet; + + @ApiModelProperty("审核状态 0:未审核 1:通过 2:调整通过 3:拒绝") + private Integer adjustStatus; + + @ApiModelProperty("审核意见") + private String adjustComm; + + @ApiModelProperty("投递员id") + private String deliverId; + + @ApiModelProperty("用户手机号") + private String phone; + + @ApiModelProperty("清运状态") + private Integer cleanStatus; + + @ApiModelProperty("清运单号") + private String cleanNo; + + @ApiModelProperty("清运员手机号") + private String cleanerPhone; + + @ApiModelProperty("登录方式") + private String loginType; + + @ApiModelProperty("抓拍") + private String photo; + + @ApiModelProperty("租户id") + private String tenantId; + + @ApiModelProperty("商户id") + private String companyId; + + @ApiModelProperty("部门id") + private String departmentId; + + @ApiModelProperty("组织json_id") + private String organizeJsonId; + + @ApiModelProperty("开始时间") + private Date startTime; + + @ApiModelProperty("完成时间") + private Date finishTime; + + @ApiModelProperty("上报时间") + private Date reportTime; + +} diff --git a/nxhs-service/src/main/java/cc/yunxi/service/IRecycleCleanOrderService.java b/nxhs-service/src/main/java/cc/yunxi/service/IRecycleCleanOrderService.java index 7f64570..4f36088 100644 --- a/nxhs-service/src/main/java/cc/yunxi/service/IRecycleCleanOrderService.java +++ b/nxhs-service/src/main/java/cc/yunxi/service/IRecycleCleanOrderService.java @@ -1,8 +1,25 @@ package cc.yunxi.service; import cc.yunxi.domain.po.RecycleCleanOrder; -import cc.yunxi.domain.po.RecycleDeviceEvent; +import cc.yunxi.domain.query.RecycleCleanOrderQuery; +import cc.yunxi.domain.vo.recycleorder.RecycleCleanOrderVO; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; public interface IRecycleCleanOrderService extends IService { + /** + * 分页查询清运订单 + * + * @param cleanOrderQuery 查询条件 + * @return page + */ + Page queryOrderByPage(RecycleCleanOrderQuery cleanOrderQuery); + + /** + * 根据id查询订单详情 + * + * @param id 主键id + * @return vo + */ + RecycleCleanOrderVO detailById(String id); } diff --git a/nxhs-service/src/main/java/cc/yunxi/service/IRecycleDeliveryOrderService.java b/nxhs-service/src/main/java/cc/yunxi/service/IRecycleDeliveryOrderService.java index 7e221cd..a2d1564 100644 --- a/nxhs-service/src/main/java/cc/yunxi/service/IRecycleDeliveryOrderService.java +++ b/nxhs-service/src/main/java/cc/yunxi/service/IRecycleDeliveryOrderService.java @@ -2,7 +2,26 @@ package cc.yunxi.service; import cc.yunxi.domain.po.RecycleDeliveryOrder; import cc.yunxi.domain.po.RecycleDeviceEvent; +import cc.yunxi.domain.query.DeliveryOrderQuery; +import cc.yunxi.domain.vo.recycleorder.RecycleDeliveryOrderVO; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; public interface IRecycleDeliveryOrderService extends IService { + + /** + * 根据手机号查询订单 + * + * @param deliveryOrderQuery 查询条件 + * @return 分页数据 + */ + Page queryOrderByPage(DeliveryOrderQuery deliveryOrderQuery); + + /** + * 根据id查询订单详情 + * + * @param id 主键id + * @return vo + */ + RecycleDeliveryOrderVO detailById(String id); } diff --git a/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleCleanOrderServiceImpl.java b/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleCleanOrderServiceImpl.java index ad394ca..b3805f0 100644 --- a/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleCleanOrderServiceImpl.java +++ b/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleCleanOrderServiceImpl.java @@ -1,11 +1,37 @@ package cc.yunxi.service.impl; +import cc.yunxi.domain.converter.RecycleCleanOrderConvertMapper; +import cc.yunxi.domain.converter.RecycleDeliveryOrderConvertMapper; import cc.yunxi.domain.po.RecycleCleanOrder; +import cc.yunxi.domain.po.RecycleDeliveryOrder; +import cc.yunxi.domain.query.RecycleCleanOrderQuery; +import cc.yunxi.domain.vo.recycleorder.RecycleCleanOrderVO; +import cc.yunxi.domain.vo.recycleorder.RecycleDeliveryOrderVO; import cc.yunxi.mapper.RecycleCleanOrderMapper; import cc.yunxi.service.IRecycleCleanOrderService; +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.log4j.Log4j2; import org.springframework.stereotype.Service; @Service +@Log4j2 public class RecycleCleanOrderServiceImpl extends ServiceImpl implements IRecycleCleanOrderService { + @Override + public Page queryOrderByPage(RecycleCleanOrderQuery cleanOrderQuery) { + log.info("查询清运订单号,phoneNumber:{}", cleanOrderQuery.getPhoneNumber()); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(RecycleCleanOrder.class) + .eq(RecycleCleanOrder::getPhone, cleanOrderQuery.getPhoneNumber()); + Page pageDO = cleanOrderQuery.buildPage(); + return this.page(pageDO, wrapper); + } + + @Override + public RecycleCleanOrderVO detailById(String id) { + log.info("根据主键查询订单详情,id:{}", id); + RecycleCleanOrder order = this.getById(id); + return BeanUtil.copyProperties(order, RecycleCleanOrderVO.class); + } } diff --git a/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleDeliveryOrderServiceImpl.java b/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleDeliveryOrderServiceImpl.java index 78b3616..325e567 100644 --- a/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleDeliveryOrderServiceImpl.java +++ b/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleDeliveryOrderServiceImpl.java @@ -1,11 +1,35 @@ package cc.yunxi.service.impl; +import cc.yunxi.domain.converter.RecycleDeliveryOrderConvertMapper; import cc.yunxi.domain.po.RecycleDeliveryOrder; +import cc.yunxi.domain.query.DeliveryOrderQuery; +import cc.yunxi.domain.vo.recycleorder.RecycleDeliveryOrderVO; import cc.yunxi.mapper.RecycleDeliveryOrderMapper; import cc.yunxi.service.IRecycleDeliveryOrderService; +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.log4j.Log4j2; import org.springframework.stereotype.Service; @Service +@Log4j2 public class RecycleDeliveryOrderServiceImpl extends ServiceImpl implements IRecycleDeliveryOrderService { + + @Override + public Page queryOrderByPage(DeliveryOrderQuery deliveryOrderQuery) { + log.info("查询投运订单号,phoneNumber:{}", deliveryOrderQuery.getPhoneNumber()); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(RecycleDeliveryOrder.class) + .eq(RecycleDeliveryOrder::getPhone, deliveryOrderQuery.getPhoneNumber()); + Page pageDO = deliveryOrderQuery.buildPage(); + return this.page(pageDO, wrapper); + } + + @Override + public RecycleDeliveryOrderVO detailById(String id) { + log.info("根据主键查询订单详情,id:{}", id); + RecycleDeliveryOrder order = this.getById(id); + return BeanUtil.copyProperties(order, RecycleDeliveryOrderVO.class); + } }