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.service.AircraftDeviceService;
|
||||
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.enums.UserTypeEnum;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
@ -36,7 +36,7 @@ import java.util.List;
|
||||
@RequiredArgsConstructor
|
||||
public class AircraftDeviceServiceImpl extends ServiceImpl<AircraftDeviceMapper, AircraftDevice> implements AircraftDeviceService {
|
||||
|
||||
private final AttachmentMaterialService attachmentMaterialService;
|
||||
private final IAttachmentMaterialService attachmentMaterialService;
|
||||
|
||||
//todo 枚举?
|
||||
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.service.AircraftInsuranceService;
|
||||
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.toolkit.CollectionUtils;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
@ -30,7 +30,7 @@ import java.util.List;
|
||||
@RequiredArgsConstructor
|
||||
public class AircraftInsuranceServiceImpl extends ServiceImpl<AircraftInsuranceMapper, AircraftInsurance> implements AircraftInsuranceService {
|
||||
|
||||
private final AttachmentMaterialService attachmentMaterialService;
|
||||
private final IAttachmentMaterialService attachmentMaterialService;
|
||||
|
||||
//todo 枚举?
|
||||
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.util.StrUtil;
|
||||
import com.aircraft.modules.order.domain.OrderDetail;
|
||||
import com.aircraft.modules.order.domain.OrderMain;
|
||||
import com.aircraft.modules.order.domain.OrderOperator;
|
||||
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.enums.MainOrderStatusEnum;
|
||||
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.service.IOrderDetailService;
|
||||
import com.aircraft.modules.order.service.IOrderMainService;
|
||||
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.SecurityUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.core.userdetails.UserDetails;
|
||||
@ -38,9 +44,12 @@ public class OrderBiz {
|
||||
|
||||
@Resource
|
||||
private IOrderMainService orderMainService;
|
||||
|
||||
@Resource
|
||||
private IOrderOperatorService orderOperatorService;
|
||||
@Resource
|
||||
private IAttachmentMaterialService attachmentMaterialService;
|
||||
@Resource
|
||||
private IOrderDetailService orderDetailService;
|
||||
|
||||
public List<OrderMainPageQueryVO> queryAll(OrderMainPageQueryDTO pageQueryDTO) {
|
||||
UserDetails currentUser = SecurityUtils.getCurrentUser();
|
||||
@ -118,4 +127,49 @@ public class OrderBiz {
|
||||
orderMain.setSettlementStatus(OrderSettlementStatusEnum.NOT_SETTLED.getCode());
|
||||
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.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.vo.OrderMainPageQueryVO;
|
||||
import com.aircraft.utils.PageResult;
|
||||
@ -48,15 +49,14 @@ public class OrderMainController {
|
||||
@GetMapping("/addOrder")
|
||||
public ResponseEntity<Object> addOrder(AddOrderDTO addOrderDTO) {
|
||||
orderBiz.addOrder(addOrderDTO);
|
||||
return new ResponseEntity<Object>(HttpStatus.OK);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@ApiOperation("新增订单任务")
|
||||
@GetMapping("/addOrderTask")
|
||||
public ResponseEntity<Object> addOrderTask(OrderMainPageQueryDTO pageQueryDTO) {
|
||||
|
||||
List<OrderMainPageQueryVO> orderList = orderBiz.queryAll(pageQueryDTO);
|
||||
return new ResponseEntity<>(PageUtil.toPage(orderList),HttpStatus.OK);
|
||||
public ResponseEntity<Object> addOrderTask(AddOrderTaskDTO orderTaskDTO) {
|
||||
orderBiz.addOrderTask(orderTaskDTO);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@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> {
|
||||
|
||||
/**
|
||||
* 新增订单明细
|
||||
*
|
||||
* @param orderTask {@link OrderTask}订单任务
|
||||
*/
|
||||
void addOrderDetail(OrderDetail orderTask);
|
||||
}
|
||||
|
@ -17,4 +17,8 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
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
|
||||
* @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.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 org.springframework.stereotype.Service;
|
||||
|
||||
@ -15,6 +15,10 @@ import org.springframework.stereotype.Service;
|
||||
* @since 2025-07-10
|
||||
*/
|
||||
@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