feat: 新增订单任务接口;新增材料业务类型枚举;调整service类的命名;
This commit is contained in:
parent
51303195f7
commit
b6bdf842a9
@ -8,7 +8,7 @@ import com.aircraft.modules.aircraft.domain.vo.AircraftDevicePageVO;
|
|||||||
import com.aircraft.modules.aircraft.mapper.AircraftDeviceMapper;
|
import com.aircraft.modules.aircraft.mapper.AircraftDeviceMapper;
|
||||||
import com.aircraft.modules.aircraft.service.AircraftDeviceService;
|
import com.aircraft.modules.aircraft.service.AircraftDeviceService;
|
||||||
import com.aircraft.modules.system.domain.AttachmentMaterial;
|
import com.aircraft.modules.system.domain.AttachmentMaterial;
|
||||||
import com.aircraft.modules.system.service.AttachmentMaterialService;
|
import com.aircraft.modules.system.service.IAttachmentMaterialService;
|
||||||
import com.aircraft.utils.SecurityUtils;
|
import com.aircraft.utils.SecurityUtils;
|
||||||
import com.aircraft.utils.enums.UserTypeEnum;
|
import com.aircraft.utils.enums.UserTypeEnum;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
@ -36,7 +36,7 @@ import java.util.List;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class AircraftDeviceServiceImpl extends ServiceImpl<AircraftDeviceMapper, AircraftDevice> implements AircraftDeviceService {
|
public class AircraftDeviceServiceImpl extends ServiceImpl<AircraftDeviceMapper, AircraftDevice> implements AircraftDeviceService {
|
||||||
|
|
||||||
private final AttachmentMaterialService attachmentMaterialService;
|
private final IAttachmentMaterialService attachmentMaterialService;
|
||||||
|
|
||||||
//todo 枚举?
|
//todo 枚举?
|
||||||
private final String BUSINESS_TYPE = "aircraft_device";
|
private final String BUSINESS_TYPE = "aircraft_device";
|
||||||
|
@ -5,7 +5,7 @@ import com.aircraft.modules.aircraft.domain.AircraftInsurance;
|
|||||||
import com.aircraft.modules.aircraft.mapper.AircraftInsuranceMapper;
|
import com.aircraft.modules.aircraft.mapper.AircraftInsuranceMapper;
|
||||||
import com.aircraft.modules.aircraft.service.AircraftInsuranceService;
|
import com.aircraft.modules.aircraft.service.AircraftInsuranceService;
|
||||||
import com.aircraft.modules.system.domain.AttachmentMaterial;
|
import com.aircraft.modules.system.domain.AttachmentMaterial;
|
||||||
import com.aircraft.modules.system.service.AttachmentMaterialService;
|
import com.aircraft.modules.system.service.IAttachmentMaterialService;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
@ -30,7 +30,7 @@ import java.util.List;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class AircraftInsuranceServiceImpl extends ServiceImpl<AircraftInsuranceMapper, AircraftInsurance> implements AircraftInsuranceService {
|
public class AircraftInsuranceServiceImpl extends ServiceImpl<AircraftInsuranceMapper, AircraftInsurance> implements AircraftInsuranceService {
|
||||||
|
|
||||||
private final AttachmentMaterialService attachmentMaterialService;
|
private final IAttachmentMaterialService attachmentMaterialService;
|
||||||
|
|
||||||
//todo 枚举?
|
//todo 枚举?
|
||||||
private final String BUSINESS_TYPE = "aircraft_insurance";
|
private final String BUSINESS_TYPE = "aircraft_insurance";
|
||||||
|
@ -2,18 +2,24 @@ package com.aircraft.modules.order.biz;
|
|||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.aircraft.modules.order.domain.OrderDetail;
|
||||||
import com.aircraft.modules.order.domain.OrderMain;
|
import com.aircraft.modules.order.domain.OrderMain;
|
||||||
import com.aircraft.modules.order.domain.OrderOperator;
|
import com.aircraft.modules.order.domain.OrderOperator;
|
||||||
import com.aircraft.modules.order.domain.dto.AddOrderDTO;
|
import com.aircraft.modules.order.domain.dto.AddOrderDTO;
|
||||||
|
import com.aircraft.modules.order.domain.dto.AddOrderTaskDTO;
|
||||||
import com.aircraft.modules.order.domain.dto.OrderMainPageQueryDTO;
|
import com.aircraft.modules.order.domain.dto.OrderMainPageQueryDTO;
|
||||||
import com.aircraft.modules.order.domain.enums.MainOrderStatusEnum;
|
import com.aircraft.modules.order.domain.enums.MainOrderStatusEnum;
|
||||||
import com.aircraft.modules.order.domain.enums.OrderSettlementStatusEnum;
|
import com.aircraft.modules.order.domain.enums.OrderSettlementStatusEnum;
|
||||||
|
import com.aircraft.modules.order.domain.enums.OrderTaskStatusEnum;
|
||||||
import com.aircraft.modules.order.domain.vo.OrderMainPageQueryVO;
|
import com.aircraft.modules.order.domain.vo.OrderMainPageQueryVO;
|
||||||
|
import com.aircraft.modules.order.service.IOrderDetailService;
|
||||||
import com.aircraft.modules.order.service.IOrderMainService;
|
import com.aircraft.modules.order.service.IOrderMainService;
|
||||||
import com.aircraft.modules.order.service.IOrderOperatorService;
|
import com.aircraft.modules.order.service.IOrderOperatorService;
|
||||||
|
import com.aircraft.modules.system.domain.AttachmentMaterial;
|
||||||
|
import com.aircraft.modules.system.domain.enums.AttachmentMaterialBusinessTypeEnum;
|
||||||
|
import com.aircraft.modules.system.service.IAttachmentMaterialService;
|
||||||
import com.aircraft.utils.PageResult;
|
import com.aircraft.utils.PageResult;
|
||||||
import com.aircraft.utils.SecurityUtils;
|
import com.aircraft.utils.SecurityUtils;
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.security.core.userdetails.UserDetails;
|
import org.springframework.security.core.userdetails.UserDetails;
|
||||||
@ -38,9 +44,12 @@ public class OrderBiz {
|
|||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private IOrderMainService orderMainService;
|
private IOrderMainService orderMainService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private IOrderOperatorService orderOperatorService;
|
private IOrderOperatorService orderOperatorService;
|
||||||
|
@Resource
|
||||||
|
private IAttachmentMaterialService attachmentMaterialService;
|
||||||
|
@Resource
|
||||||
|
private IOrderDetailService orderDetailService;
|
||||||
|
|
||||||
public List<OrderMainPageQueryVO> queryAll(OrderMainPageQueryDTO pageQueryDTO) {
|
public List<OrderMainPageQueryVO> queryAll(OrderMainPageQueryDTO pageQueryDTO) {
|
||||||
UserDetails currentUser = SecurityUtils.getCurrentUser();
|
UserDetails currentUser = SecurityUtils.getCurrentUser();
|
||||||
@ -118,4 +127,49 @@ public class OrderBiz {
|
|||||||
orderMain.setSettlementStatus(OrderSettlementStatusEnum.NOT_SETTLED.getCode());
|
orderMain.setSettlementStatus(OrderSettlementStatusEnum.NOT_SETTLED.getCode());
|
||||||
return orderMain;
|
return orderMain;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void addOrderTask(AddOrderTaskDTO orderTaskDTO) {
|
||||||
|
// TODO 获取当前登录用户
|
||||||
|
Long orderInitiatorId = SecurityUtils.getCurrentUserId();
|
||||||
|
// 构建任务参数
|
||||||
|
OrderDetail orderTask = buildOrderTaskParam(orderTaskDTO, orderInitiatorId);
|
||||||
|
// 批量新增
|
||||||
|
orderDetailService.addOrderDetail(orderTask);
|
||||||
|
// 保存材料
|
||||||
|
AttachmentMaterial attachmentMaterialList = buildAttachmentMaterialParam(orderTaskDTO);
|
||||||
|
attachmentMaterialService.addAttachmentMaterial(attachmentMaterialList);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构建任务参数
|
||||||
|
*
|
||||||
|
* @param orderTaskDTO {@link AddOrderTaskDTO}
|
||||||
|
* @param orderInitiatorId
|
||||||
|
* @return {@link OrderDetail}
|
||||||
|
*/
|
||||||
|
private OrderDetail buildOrderTaskParam(AddOrderTaskDTO orderTaskDTO, Long orderInitiatorId) {
|
||||||
|
OrderDetail orderDetail = new OrderDetail();
|
||||||
|
orderDetail.setOrderId(orderTaskDTO.getOrderId());
|
||||||
|
orderDetail.setDeviceId(orderTaskDTO.getDeviceId());
|
||||||
|
orderDetail.setRouteId(orderTaskDTO.getRouteId());
|
||||||
|
orderDetail.setCargoWeight(orderTaskDTO.getCargoWeight());
|
||||||
|
orderDetail.setOrderItemStatus(OrderTaskStatusEnum.NOT_STARTED.getCode());
|
||||||
|
orderDetail.setOperatorId(orderInitiatorId);
|
||||||
|
return orderDetail;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构建保存材料参数
|
||||||
|
*
|
||||||
|
* @param orderTaskDTO {@link AddOrderTaskDTO}
|
||||||
|
* @return {@link AttachmentMaterial}
|
||||||
|
*/
|
||||||
|
private AttachmentMaterial buildAttachmentMaterialParam(AddOrderTaskDTO orderTaskDTO) {
|
||||||
|
AttachmentMaterial attachmentMaterial = new AttachmentMaterial();
|
||||||
|
attachmentMaterial.setBusinessId(orderTaskDTO.getOrderId());
|
||||||
|
attachmentMaterial.setBusinessType(AttachmentMaterialBusinessTypeEnum.ORDER_TASK_MATERIAL.getCode());
|
||||||
|
attachmentMaterial.setFileFullPath(orderTaskDTO.getPicUrl());
|
||||||
|
return attachmentMaterial;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@ package com.aircraft.modules.order.controller;
|
|||||||
|
|
||||||
import com.aircraft.modules.order.biz.OrderBiz;
|
import com.aircraft.modules.order.biz.OrderBiz;
|
||||||
import com.aircraft.modules.order.domain.dto.AddOrderDTO;
|
import com.aircraft.modules.order.domain.dto.AddOrderDTO;
|
||||||
|
import com.aircraft.modules.order.domain.dto.AddOrderTaskDTO;
|
||||||
import com.aircraft.modules.order.domain.dto.OrderMainPageQueryDTO;
|
import com.aircraft.modules.order.domain.dto.OrderMainPageQueryDTO;
|
||||||
import com.aircraft.modules.order.domain.vo.OrderMainPageQueryVO;
|
import com.aircraft.modules.order.domain.vo.OrderMainPageQueryVO;
|
||||||
import com.aircraft.utils.PageResult;
|
import com.aircraft.utils.PageResult;
|
||||||
@ -48,15 +49,14 @@ public class OrderMainController {
|
|||||||
@GetMapping("/addOrder")
|
@GetMapping("/addOrder")
|
||||||
public ResponseEntity<Object> addOrder(AddOrderDTO addOrderDTO) {
|
public ResponseEntity<Object> addOrder(AddOrderDTO addOrderDTO) {
|
||||||
orderBiz.addOrder(addOrderDTO);
|
orderBiz.addOrder(addOrderDTO);
|
||||||
return new ResponseEntity<Object>(HttpStatus.OK);
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("新增订单任务")
|
@ApiOperation("新增订单任务")
|
||||||
@GetMapping("/addOrderTask")
|
@GetMapping("/addOrderTask")
|
||||||
public ResponseEntity<Object> addOrderTask(OrderMainPageQueryDTO pageQueryDTO) {
|
public ResponseEntity<Object> addOrderTask(AddOrderTaskDTO orderTaskDTO) {
|
||||||
|
orderBiz.addOrderTask(orderTaskDTO);
|
||||||
List<OrderMainPageQueryVO> orderList = orderBiz.queryAll(pageQueryDTO);
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
return new ResponseEntity<>(PageUtil.toPage(orderList),HttpStatus.OK);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("用户端关联订单")
|
@ApiOperation("用户端关联订单")
|
||||||
|
@ -0,0 +1,53 @@
|
|||||||
|
package com.aircraft.modules.order.domain.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* 新增订单任务DTO
|
||||||
|
*
|
||||||
|
* @author chenxiky
|
||||||
|
* @version 1.0.0
|
||||||
|
* @since 2025/7/16
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class AddOrderTaskDTO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单ID
|
||||||
|
*/
|
||||||
|
@NotNull(message = "订单ID不能为空")
|
||||||
|
@ApiModelProperty(value = "订单ID", required = true, example = "订单列表返回的ID")
|
||||||
|
private Long orderId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 执行设备ID
|
||||||
|
*/
|
||||||
|
@NotNull(message = "执行设备ID不能为空")
|
||||||
|
@ApiModelProperty(value = "执行设备ID", required = true)
|
||||||
|
private Long deviceId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 执行路线ID
|
||||||
|
*/
|
||||||
|
@NotNull(message = "执行路线ID不能为空")
|
||||||
|
@ApiModelProperty(value = "执行路线ID", required = true)
|
||||||
|
private Long routeId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 载物重量
|
||||||
|
*/
|
||||||
|
@NotNull(message = "载物重量不能为空")
|
||||||
|
@ApiModelProperty(value = "载物重量", required = true)
|
||||||
|
private BigDecimal cargoWeight;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务上传的图片全路径URL
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "任务上传的图片全路径URL")
|
||||||
|
private String picUrl;
|
||||||
|
}
|
@ -13,4 +13,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||||||
*/
|
*/
|
||||||
public interface IOrderDetailService extends IService<OrderDetail> {
|
public interface IOrderDetailService extends IService<OrderDetail> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增订单明细
|
||||||
|
*
|
||||||
|
* @param orderTask {@link OrderTask}订单任务
|
||||||
|
*/
|
||||||
|
void addOrderDetail(OrderDetail orderTask);
|
||||||
}
|
}
|
||||||
|
@ -17,4 +17,8 @@ import org.springframework.stereotype.Service;
|
|||||||
@Service
|
@Service
|
||||||
public class OrderDetailServiceImpl extends ServiceImpl<OrderDetailMapper, OrderDetail> implements IOrderDetailService {
|
public class OrderDetailServiceImpl extends ServiceImpl<OrderDetailMapper, OrderDetail> implements IOrderDetailService {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addOrderDetail(OrderDetail orderTask) {
|
||||||
|
this.save(orderTask);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
package com.aircraft.modules.system.domain.enums;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* 材料表对应的业务类型枚举
|
||||||
|
*
|
||||||
|
* @author chenxiky
|
||||||
|
* @version 1.0.0
|
||||||
|
* @since 2025/7/16
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@AllArgsConstructor
|
||||||
|
public enum AttachmentMaterialBusinessTypeEnum {
|
||||||
|
/**
|
||||||
|
* 订单任务材料
|
||||||
|
*/
|
||||||
|
ORDER_TASK_MATERIAL("order_task_material", "订单任务材料"),
|
||||||
|
;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* code值
|
||||||
|
*/
|
||||||
|
private final String code;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 描述
|
||||||
|
*/
|
||||||
|
private final String description;
|
||||||
|
}
|
@ -11,6 +11,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||||||
* @author cli
|
* @author cli
|
||||||
* @since 2025-07-10
|
* @since 2025-07-10
|
||||||
*/
|
*/
|
||||||
public interface AttachmentMaterialService extends IService<AttachmentMaterial> {
|
public interface IAttachmentMaterialService extends IService<AttachmentMaterial> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增材料
|
||||||
|
* @param attachmentMaterial
|
||||||
|
*/
|
||||||
|
void addAttachmentMaterial(AttachmentMaterial attachmentMaterial);
|
||||||
}
|
}
|
@ -2,7 +2,7 @@ package com.aircraft.modules.system.service.impl;
|
|||||||
|
|
||||||
import com.aircraft.modules.system.domain.AttachmentMaterial;
|
import com.aircraft.modules.system.domain.AttachmentMaterial;
|
||||||
import com.aircraft.modules.system.mapper.AttachmentMaterialMapper;
|
import com.aircraft.modules.system.mapper.AttachmentMaterialMapper;
|
||||||
import com.aircraft.modules.system.service.AttachmentMaterialService;
|
import com.aircraft.modules.system.service.IAttachmentMaterialService;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@ -15,6 +15,10 @@ import org.springframework.stereotype.Service;
|
|||||||
* @since 2025-07-10
|
* @since 2025-07-10
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class AttachmentMaterialServiceImpl extends ServiceImpl<AttachmentMaterialMapper, AttachmentMaterial> implements AttachmentMaterialService {
|
public class AttachmentMaterialServiceImpl extends ServiceImpl<AttachmentMaterialMapper, AttachmentMaterial> implements IAttachmentMaterialService {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addAttachmentMaterial(AttachmentMaterial attachmentMaterial) {
|
||||||
|
this.save(attachmentMaterial);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user