Commit cfae5700 authored by lining's avatar lining

feat: 订单流程图接口

parent f93860bd
......@@ -4,6 +4,7 @@ import com.onsiteservice.common.annotation.user.CurrentUserId;
import com.onsiteservice.core.result.Result;
import com.onsiteservice.dao.common.page.PageInfoVO;
import com.onsiteservice.miniapp.controller.order.dto.*;
import com.onsiteservice.miniapp.controller.order.vo.ServiceOrderLogVO;
import com.onsiteservice.miniapp.controller.order.vo.ServiceOrderVO;
import com.onsiteservice.miniapp.service.order.ServiceOrderService;
import io.swagger.annotations.Api;
......@@ -16,6 +17,8 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.constraints.Positive;
import java.util.List;
import static com.onsiteservice.core.result.ResultGenerator.fail;
import static com.onsiteservice.core.result.ResultGenerator.success;
......@@ -40,7 +43,7 @@ public class ServiceOrderController {
@ApiOperation(value = "根据id查询订单详情")
@GetMapping("get/{id}")
public Result<ServiceOrderVO> getDetail(@ApiParam(name = "id", value = "订单id") @PathVariable @Positive Long id, @CurrentUserId Long userId) {
return success(serviceOrderService.selectById(id, userId), "根据id查询订单详情");
return success(serviceOrderService.selectById(id, userId));
}
@ApiOperation(value = "分页查询订单")
......@@ -121,6 +124,12 @@ public class ServiceOrderController {
return serviceOrderService.cancelOrder(dto, userId) == 1 ? success() : fail("取消失败");
}
@ApiOperation(value = "订单流程图")
@GetMapping("process/id")
public Result<List<ServiceOrderLogVO>> process(@ApiParam(name = "id", value = "订单id") @PathVariable @Positive Long id, @CurrentUserId Long userId) {
return success(serviceOrderService.process(id, userId));
}
......
package com.onsiteservice.miniapp.controller.order.vo;
import lombok.Data;
import java.util.Date;
@Data
public class ServiceOrderLogVO {
/**
* 主键
*/
private Long id;
/**
* 订单id
*/
private Long orderId;
/**
* 流程id <link>ServiceOrderStatusEnum</link>
*/
private Integer processId;
/**
* 维修工id或估价员id
*/
private Long hostId;
/**
* 步骤说明
*/
private String description;
/**
* 备注
*/
private String remark;
/**
* 创建时间
*/
private Date createTime;
}
\ No newline at end of file
......@@ -18,6 +18,7 @@ import com.onsiteservice.entity.order.ServiceOrder;
import com.onsiteservice.entity.service.*;
import com.onsiteservice.entity.user.User;
import com.onsiteservice.miniapp.controller.order.dto.*;
import com.onsiteservice.miniapp.controller.order.vo.ServiceOrderLogVO;
import com.onsiteservice.miniapp.controller.order.vo.ServiceOrderVO;
import com.onsiteservice.miniapp.mapper.order.ServiceOrderBizMapper;
import com.onsiteservice.util.AttrCopyUtils;
......@@ -33,6 +34,7 @@ import org.springframework.util.CollectionUtils;
import tk.mybatis.mapper.entity.Condition;
import javax.annotation.Resource;
import java.util.Comparator;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
......@@ -436,6 +438,19 @@ public class ServiceOrderService extends AbstractMapper<ServiceOrder> {
}
public List<ServiceOrderLogVO> process(Long id, Long userId) {
log.info("order process id: {}, userId: {}", id, userId);
Condition c = new Condition(ServiceOrderLog.class);
c.createCriteria().andEqualTo(BizConstants.OrderConstants.ORDER_ID, id);
List<ServiceOrderLog> serviceOrderLogList = serviceOrderLogMapper.selectByCondition(c);
return serviceOrderLogList.parallelStream()
.map(e -> AttrCopyUtils.copy(e, new ServiceOrderLogVO()))
.sorted(Comparator.comparing(ServiceOrderLogVO::getCreateTime).reversed())
.collect(Collectors.toList());
}
/**
* 未派单订单 用户可实时退款
* 已派单订单 需要管理员审批
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment