Commit f3d35f96 authored by shangtx's avatar shangtx

fix: 公共订单接口修改

parent dc7f6b9c
...@@ -5,10 +5,15 @@ import com.onsiteservice.admin.controller.order.vo.OrderDetailVO; ...@@ -5,10 +5,15 @@ import com.onsiteservice.admin.controller.order.vo.OrderDetailVO;
import com.onsiteservice.admin.controller.order.vo.OrderPageVO; import com.onsiteservice.admin.controller.order.vo.OrderPageVO;
import com.onsiteservice.admin.service.order.AdminOrderService; import com.onsiteservice.admin.service.order.AdminOrderService;
import com.onsiteservice.common.annotation.dict.Dict; import com.onsiteservice.common.annotation.dict.Dict;
import com.onsiteservice.common.annotation.user.CurrentUserId;
import com.onsiteservice.common.order.dto.SendServiceOrderDTO;
import com.onsiteservice.common.order.dto.ValuationServiceOrderDTO;
import com.onsiteservice.constant.enums.ServiceOrderOpSourceEnum;
import com.onsiteservice.entity.order.ServiceOrder; import com.onsiteservice.entity.order.ServiceOrder;
import com.onsiteservice.core.result.Result; import com.onsiteservice.core.result.Result;
import com.onsiteservice.dao.common.page.PageInfoVO; import com.onsiteservice.dao.common.page.PageInfoVO;
import com.onsiteservice.service.order.ServiceOrderService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.NonNull; import lombok.NonNull;
...@@ -19,6 +24,7 @@ import springfox.documentation.annotations.ApiIgnore; ...@@ -19,6 +24,7 @@ import springfox.documentation.annotations.ApiIgnore;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.constraints.Positive; import javax.validation.constraints.Positive;
import static com.onsiteservice.core.result.ResultGenerator.fail;
import static com.onsiteservice.core.result.ResultGenerator.success; import static com.onsiteservice.core.result.ResultGenerator.success;
/** /**
...@@ -35,6 +41,8 @@ public class ServiceOrderController { ...@@ -35,6 +41,8 @@ public class ServiceOrderController {
@Resource @Resource
private AdminOrderService adminOrderService; private AdminOrderService adminOrderService;
@Resource
private ServiceOrderService serviceOrderService;
@Dict(code = "BIZ0002", name = "orderStatus") @Dict(code = "BIZ0002", name = "orderStatus")
@ApiOperation(value = "分页查询列表", notes = "作者: 商天翔") @ApiOperation(value = "分页查询列表", notes = "作者: 商天翔")
...@@ -49,4 +57,25 @@ public class ServiceOrderController { ...@@ -49,4 +57,25 @@ public class ServiceOrderController {
return success(adminOrderService.getOrderDetail(id)); return success(adminOrderService.getOrderDetail(id));
} }
@ApiOperation(value = "订单估价")
@PostMapping("valuation")
public Result valuation(@RequestBody @NonNull @Validated ValuationServiceOrderDTO dto, @CurrentUserId Long userId) {
return serviceOrderService.valuation(dto, userId, ServiceOrderOpSourceEnum.WEB) == 1 ? success() : fail("估价失败");
}
@ApiOperation(value = "修改估价")
@PostMapping("revaluation")
public Result revaluation(@RequestBody @NonNull @Validated ValuationServiceOrderDTO dto, @CurrentUserId Long userId) {
return serviceOrderService.revaluation(dto, userId, ServiceOrderOpSourceEnum.WEB) == 1 ? success() : fail("修改估价失败");
}
/**
* 发送订单
*/
@ApiOperation(value = "发送订单")
@PostMapping("send")
public Result sendPrice(@RequestBody @NonNull @Validated SendServiceOrderDTO dto, @CurrentUserId Long userId) {
return serviceOrderService.sendOrder(dto, userId, ServiceOrderOpSourceEnum.WEB) == 1 ? success() : fail("发送失败");
}
} }
...@@ -13,12 +13,14 @@ import com.onsiteservice.core.exception.ServiceException; ...@@ -13,12 +13,14 @@ import com.onsiteservice.core.exception.ServiceException;
import com.onsiteservice.dao.common.AbstractMapper; import com.onsiteservice.dao.common.AbstractMapper;
import com.onsiteservice.dao.component.RecordComponent; import com.onsiteservice.dao.component.RecordComponent;
import com.onsiteservice.dao.mapper.service.*; import com.onsiteservice.dao.mapper.service.*;
import com.onsiteservice.dao.mapper.sys.SysUserMapper;
import com.onsiteservice.dao.mapper.user.UserMapper; import com.onsiteservice.dao.mapper.user.UserMapper;
import com.onsiteservice.entity.order.ServiceOrder; import com.onsiteservice.entity.order.ServiceOrder;
import com.onsiteservice.entity.service.ServiceValuator; import com.onsiteservice.entity.service.ServiceValuator;
import com.onsiteservice.entity.service.ServiceValuatorAssign; import com.onsiteservice.entity.service.ServiceValuatorAssign;
import com.onsiteservice.entity.service.ServiceWorker; import com.onsiteservice.entity.service.ServiceWorker;
import com.onsiteservice.entity.service.ServiceWorkerAssign; import com.onsiteservice.entity.service.ServiceWorkerAssign;
import com.onsiteservice.entity.sys.SysUser;
import com.onsiteservice.entity.user.User; import com.onsiteservice.entity.user.User;
import com.onsiteservice.util.aliyun.SmsUtils; import com.onsiteservice.util.aliyun.SmsUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -66,6 +68,9 @@ public class ServiceOrderService extends AbstractMapper<ServiceOrder> { ...@@ -66,6 +68,9 @@ public class ServiceOrderService extends AbstractMapper<ServiceOrder> {
@Autowired @Autowired
private RecordComponent recordComponent; private RecordComponent recordComponent;
@Resource
private SysUserMapper sysUserMapper;
/** /**
* 指派估价员 管理员操作 * 指派估价员 管理员操作
...@@ -73,7 +78,7 @@ public class ServiceOrderService extends AbstractMapper<ServiceOrder> { ...@@ -73,7 +78,7 @@ public class ServiceOrderService extends AbstractMapper<ServiceOrder> {
public int valuation(ValuationServiceOrderDTO dto, Long userId, ServiceOrderOpSourceEnum sourceEnum) { public int valuation(ValuationServiceOrderDTO dto, Long userId, ServiceOrderOpSourceEnum sourceEnum) {
log.info("order valuation dto: {}, userId: {}", dto, userId); log.info("order valuation dto: {}, userId: {}", dto, userId);
User user = checkAuth(userId, BizCodeEnum.NO_AUTH_VALUATION_ORDER); WorkUser user = checkAuth(userId, BizCodeEnum.NO_AUTH_VALUATION_ORDER, sourceEnum);
ServiceOrder serviceOrder = checkOrder(dto.getId(), null); ServiceOrder serviceOrder = checkOrder(dto.getId(), null);
if (!serviceOrder.getOrderStatus().equals(ServiceOrderStatusEnum.RESERVE.getStatus())) { if (!serviceOrder.getOrderStatus().equals(ServiceOrderStatusEnum.RESERVE.getStatus())) {
...@@ -94,7 +99,7 @@ public class ServiceOrderService extends AbstractMapper<ServiceOrder> { ...@@ -94,7 +99,7 @@ public class ServiceOrderService extends AbstractMapper<ServiceOrder> {
int result = this.updateByPrimaryKeySelective(serviceOrder); int result = this.updateByPrimaryKeySelective(serviceOrder);
if (result == 1) { if (result == 1) {
String description = String.format(ServiceOrderStatusEnum.VALUATION.getMsg(), user.getUserName(), valuatorUser.getUserName()); String description = String.format(ServiceOrderStatusEnum.VALUATION.getMsg(), user.getName(), valuatorUser.getUserName());
recordComponent.recordProcess(serviceOrder.getId(), ServiceOrderStatusEnum.VALUATION.getStatus(), description, recordComponent.recordProcess(serviceOrder.getId(), ServiceOrderStatusEnum.VALUATION.getStatus(), description,
sourceEnum, valuatorUser.getId(), dto.getRemark(), dto.getExpectArrivalTime()); sourceEnum, valuatorUser.getId(), dto.getRemark(), dto.getExpectArrivalTime());
} }
...@@ -106,7 +111,7 @@ public class ServiceOrderService extends AbstractMapper<ServiceOrder> { ...@@ -106,7 +111,7 @@ public class ServiceOrderService extends AbstractMapper<ServiceOrder> {
public int revaluation(ValuationServiceOrderDTO dto, Long userId, ServiceOrderOpSourceEnum sourceEnum) { public int revaluation(ValuationServiceOrderDTO dto, Long userId, ServiceOrderOpSourceEnum sourceEnum) {
log.info("order revaluation dto: {}, userId: {}", dto, userId); log.info("order revaluation dto: {}, userId: {}", dto, userId);
User user = checkAuth(userId, BizCodeEnum.NO_AUTH_REVALUATION_ORDER); WorkUser user = checkAuth(userId, BizCodeEnum.NO_AUTH_REVALUATION_ORDER, sourceEnum);
ServiceOrder serviceOrder = checkOrder(dto.getId(), null); ServiceOrder serviceOrder = checkOrder(dto.getId(), null);
if (!serviceOrder.getOrderStatus().equals(ServiceOrderStatusEnum.VALUATION.getStatus())) { if (!serviceOrder.getOrderStatus().equals(ServiceOrderStatusEnum.VALUATION.getStatus())) {
...@@ -126,7 +131,7 @@ public class ServiceOrderService extends AbstractMapper<ServiceOrder> { ...@@ -126,7 +131,7 @@ public class ServiceOrderService extends AbstractMapper<ServiceOrder> {
int result = this.updateByPrimaryKeySelective(serviceOrder); int result = this.updateByPrimaryKeySelective(serviceOrder);
if (result == 1) { if (result == 1) {
String description = String.format(ServiceOrderStatusEnum.REVALUATION.getMsg(), user.getUserName(), valuatorUser.getUserName()); String description = String.format(ServiceOrderStatusEnum.REVALUATION.getMsg(), user.getName(), valuatorUser.getUserName());
recordComponent.recordProcess(serviceOrder.getId(), ServiceOrderStatusEnum.REVALUATION.getStatus(), description, recordComponent.recordProcess(serviceOrder.getId(), ServiceOrderStatusEnum.REVALUATION.getStatus(), description,
sourceEnum, valuatorUser.getId(), dto.getRemark(), dto.getExpectArrivalTime()); sourceEnum, valuatorUser.getId(), dto.getRemark(), dto.getExpectArrivalTime());
} }
...@@ -186,7 +191,7 @@ public class ServiceOrderService extends AbstractMapper<ServiceOrder> { ...@@ -186,7 +191,7 @@ public class ServiceOrderService extends AbstractMapper<ServiceOrder> {
public int dispatch(DispatchServiceOrderDTO dto, Long userId, ServiceOrderOpSourceEnum sourceEnum) { public int dispatch(DispatchServiceOrderDTO dto, Long userId, ServiceOrderOpSourceEnum sourceEnum) {
log.info("order dispatch dto: {}, userId: {}", dto, userId); log.info("order dispatch dto: {}, userId: {}", dto, userId);
User user = checkAuth(userId, BizCodeEnum.NO_AUTH_DISPATCH_ORDER); WorkUser user = checkAuth(userId, BizCodeEnum.NO_AUTH_DISPATCH_ORDER, sourceEnum);
ServiceOrder serviceOrder = checkOrder(dto.getId(), null); ServiceOrder serviceOrder = checkOrder(dto.getId(), null);
if (!serviceOrder.getOrderStatus().equals(ServiceOrderStatusEnum.PAY.getStatus())) { if (!serviceOrder.getOrderStatus().equals(ServiceOrderStatusEnum.PAY.getStatus())) {
...@@ -214,7 +219,7 @@ public class ServiceOrderService extends AbstractMapper<ServiceOrder> { ...@@ -214,7 +219,7 @@ public class ServiceOrderService extends AbstractMapper<ServiceOrder> {
// TODO 小程序通知 您的订单已为您指派维修工~~~ // TODO 小程序通知 您的订单已为您指派维修工~~~
if (result == 1) { if (result == 1) {
String description = String.format(ServiceOrderStatusEnum.DISPATCH.getMsg(), user.getUserName(), serviceWorker.getName()); String description = String.format(ServiceOrderStatusEnum.DISPATCH.getMsg(), user.getName(), serviceWorker.getName());
recordComponent.recordProcess(serviceOrder.getId(), ServiceOrderStatusEnum.DISPATCH.getStatus(), description, sourceEnum, serviceWorker.getId(), dto.getRemark(), null); recordComponent.recordProcess(serviceOrder.getId(), ServiceOrderStatusEnum.DISPATCH.getStatus(), description, sourceEnum, serviceWorker.getId(), dto.getRemark(), null);
} }
...@@ -225,7 +230,7 @@ public class ServiceOrderService extends AbstractMapper<ServiceOrder> { ...@@ -225,7 +230,7 @@ public class ServiceOrderService extends AbstractMapper<ServiceOrder> {
public int redispatch(DispatchServiceOrderDTO dto, Long userId, ServiceOrderOpSourceEnum sourceEnum) { public int redispatch(DispatchServiceOrderDTO dto, Long userId, ServiceOrderOpSourceEnum sourceEnum) {
log.info("order redispatch dto: {}, userId: {}", dto, userId); log.info("order redispatch dto: {}, userId: {}", dto, userId);
User user = checkAuth(userId, BizCodeEnum.NO_AUTH_REDISPATCH_ORDER); WorkUser user = checkAuth(userId, BizCodeEnum.NO_AUTH_REDISPATCH_ORDER, sourceEnum);
ServiceOrder serviceOrder = checkOrder(dto.getId(), null); ServiceOrder serviceOrder = checkOrder(dto.getId(), null);
if (!serviceOrder.getOrderStatus().equals(ServiceOrderStatusEnum.DISPATCH.getStatus())) { if (!serviceOrder.getOrderStatus().equals(ServiceOrderStatusEnum.DISPATCH.getStatus())) {
...@@ -250,7 +255,7 @@ public class ServiceOrderService extends AbstractMapper<ServiceOrder> { ...@@ -250,7 +255,7 @@ public class ServiceOrderService extends AbstractMapper<ServiceOrder> {
// TODO 小程序通知 您的订单已为您重新指派维修工~~~ // TODO 小程序通知 您的订单已为您重新指派维修工~~~
if (result == 1) { if (result == 1) {
String description = String.format(ServiceOrderStatusEnum.REDISPATCH.getMsg(), user.getUserName(), serviceWorker.getName()); String description = String.format(ServiceOrderStatusEnum.REDISPATCH.getMsg(), user.getName(), serviceWorker.getName());
recordComponent.recordProcess(serviceOrder.getId(), ServiceOrderStatusEnum.REDISPATCH.getStatus(), description, sourceEnum, serviceWorker.getId(), dto.getRemark(), null); recordComponent.recordProcess(serviceOrder.getId(), ServiceOrderStatusEnum.REDISPATCH.getStatus(), description, sourceEnum, serviceWorker.getId(), dto.getRemark(), null);
} }
...@@ -309,13 +314,19 @@ public class ServiceOrderService extends AbstractMapper<ServiceOrder> { ...@@ -309,13 +314,19 @@ public class ServiceOrderService extends AbstractMapper<ServiceOrder> {
} }
private User checkAuth(Long userId, BizCodeEnum biz) { private WorkUser checkAuth(Long userId, BizCodeEnum biz, ServiceOrderOpSourceEnum source) {
User user = userMapper.selectByPrimaryKey(userId); if (source == ServiceOrderOpSourceEnum.MINI_APP) {
if (Objects.isNull(user) || !user.getRoleType().equals(ServiceUserTypeEnum.ADMIN.getId())) { User user = userMapper.selectByPrimaryKey(userId);
if (Objects.isNull(user) || !user.getRoleType().equals(ServiceUserTypeEnum.ADMIN.getId())) {
throw new ServiceException(biz);
}
return new WorkUser(user.getId(), user.getUserName());
}
SysUser sysUser = sysUserMapper.selectByPrimaryKey(userId);
if (Objects.isNull(sysUser)) {
throw new ServiceException(biz); throw new ServiceException(biz);
} }
return new WorkUser(sysUser.getId(), sysUser.getRealName());
return user;
} }
......
package com.onsiteservice.service.order;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@AllArgsConstructor
@Builder
@Data
public class WorkUser {
private Long id;
private String name;
}
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