Commit f93860bd authored by lining's avatar lining

feat: 修改指派维修工,修改估价员接口

parent b01050ff
...@@ -7,13 +7,12 @@ import com.onsiteservice.admin.controller.service.dto.UpdateServiceValuatorDTO; ...@@ -7,13 +7,12 @@ import com.onsiteservice.admin.controller.service.dto.UpdateServiceValuatorDTO;
import com.onsiteservice.admin.controller.service.vo.ServiceValuatorVO; import com.onsiteservice.admin.controller.service.vo.ServiceValuatorVO;
import com.onsiteservice.admin.mapper.service.ServiceValuatorBizMapper; import com.onsiteservice.admin.mapper.service.ServiceValuatorBizMapper;
import com.onsiteservice.constant.enums.BizCodeEnum; import com.onsiteservice.constant.enums.BizCodeEnum;
import com.onsiteservice.constant.enums.ServiceUserTypeEnum;
import com.onsiteservice.core.exception.ServiceException; import com.onsiteservice.core.exception.ServiceException;
import com.onsiteservice.core.result.Result; import com.onsiteservice.core.result.Result;
import com.onsiteservice.core.result.ResultGenerator; import com.onsiteservice.core.result.ResultGenerator;
import com.onsiteservice.dao.common.AbstractMapper; import com.onsiteservice.dao.common.AbstractMapper;
import com.onsiteservice.dao.common.page.PageInfoVO; import com.onsiteservice.dao.common.page.PageInfoVO;
import com.onsiteservice.dao.common.page.PageParams;
import com.onsiteservice.dao.mapper.service.ServiceValuatorMapper;
import com.onsiteservice.dao.mapper.user.UserMapper; import com.onsiteservice.dao.mapper.user.UserMapper;
import com.onsiteservice.entity.service.ServiceValuator; import com.onsiteservice.entity.service.ServiceValuator;
import com.onsiteservice.entity.service.ServiceWorker; import com.onsiteservice.entity.service.ServiceWorker;
...@@ -109,7 +108,7 @@ public class ServiceValuatorService extends AbstractMapper<ServiceValuator> { ...@@ -109,7 +108,7 @@ public class ServiceValuatorService extends AbstractMapper<ServiceValuator> {
private void checkAuth(Long userId) { private void checkAuth(Long userId) {
User user = userMapper.selectByPrimaryKey(userId); User user = userMapper.selectByPrimaryKey(userId);
if (Objects.isNull(user) || !user.getAdmin()) { if (Objects.isNull(user) || !user.getRoleType().equals(ServiceUserTypeEnum.ADMIN.getId())) {
throw new ServiceException(BizCodeEnum.NO_AUTH); throw new ServiceException(BizCodeEnum.NO_AUTH);
} }
} }
......
...@@ -8,6 +8,7 @@ import com.onsiteservice.admin.controller.service.vo.ServiceWorkerKindVO; ...@@ -8,6 +8,7 @@ import com.onsiteservice.admin.controller.service.vo.ServiceWorkerKindVO;
import com.onsiteservice.admin.controller.service.vo.ServiceWorkerVO; import com.onsiteservice.admin.controller.service.vo.ServiceWorkerVO;
import com.onsiteservice.admin.mapper.service.ServiceWorkerBizMapper; import com.onsiteservice.admin.mapper.service.ServiceWorkerBizMapper;
import com.onsiteservice.constant.enums.BizCodeEnum; import com.onsiteservice.constant.enums.BizCodeEnum;
import com.onsiteservice.constant.enums.ServiceUserTypeEnum;
import com.onsiteservice.constant.enums.ServiceWorkerEnum; import com.onsiteservice.constant.enums.ServiceWorkerEnum;
import com.onsiteservice.core.exception.ServiceException; import com.onsiteservice.core.exception.ServiceException;
import com.onsiteservice.core.result.Result; import com.onsiteservice.core.result.Result;
...@@ -16,7 +17,6 @@ import com.onsiteservice.dao.common.AbstractMapper; ...@@ -16,7 +17,6 @@ import com.onsiteservice.dao.common.AbstractMapper;
import com.onsiteservice.dao.common.page.PageInfoVO; import com.onsiteservice.dao.common.page.PageInfoVO;
import com.onsiteservice.dao.mapper.service.ServiceWorkerMapper; import com.onsiteservice.dao.mapper.service.ServiceWorkerMapper;
import com.onsiteservice.dao.mapper.user.UserMapper; import com.onsiteservice.dao.mapper.user.UserMapper;
import com.onsiteservice.entity.order.ServiceOrder;
import com.onsiteservice.entity.service.ServiceWorker; import com.onsiteservice.entity.service.ServiceWorker;
import com.onsiteservice.entity.user.User; import com.onsiteservice.entity.user.User;
import com.onsiteservice.util.AttrCopyUtils; import com.onsiteservice.util.AttrCopyUtils;
...@@ -111,7 +111,7 @@ public class ServiceWorkerService extends AbstractMapper<ServiceWorker> { ...@@ -111,7 +111,7 @@ public class ServiceWorkerService extends AbstractMapper<ServiceWorker> {
private void checkAuth(Long userId) { private void checkAuth(Long userId) {
User user = userMapper.selectByPrimaryKey(userId); User user = userMapper.selectByPrimaryKey(userId);
if (Objects.isNull(user) || !user.getAdmin()) { if (Objects.isNull(user) || !user.getRoleType().equals(ServiceUserTypeEnum.ADMIN.getId())) {
throw new ServiceException(BizCodeEnum.NO_AUTH); throw new ServiceException(BizCodeEnum.NO_AUTH);
} }
} }
......
...@@ -9,4 +9,9 @@ public class BizConstants { ...@@ -9,4 +9,9 @@ public class BizConstants {
public static final String ACCOUNT_NO = "accountNo"; public static final String ACCOUNT_NO = "accountNo";
} }
public static class OrderConstants {
public static final String ORDER_ID = "orderId";
}
} }
...@@ -15,20 +15,25 @@ public enum BizCodeEnum { ...@@ -15,20 +15,25 @@ public enum BizCodeEnum {
* 订单分组 * 订单分组
*/ */
SERVICE_ORDER_NOT_EXIST("订单不存在"), SERVICE_ORDER_NOT_EXIST("订单不存在"),
SERVICE_ORDER_CANNOT_VALUATION("订单未提交,不能估价"), SERVICE_ORDER_CANNOT_VALUATION("订单未提交,不能派估价员"),
SERVICE_ORDER_CANNOT_SEND("订单未估价,不能发送给客户"), SERVICE_ORDER_CANNOT_REVALUATION("订单未指派估价员,不能修改"),
SERVICE_ORDER_CANNOT_SEND("订单未受理,不能发送给客户"),
SERVICE_ORDER_CANNOT_PAY("订单未受理,暂不能支付"), SERVICE_ORDER_CANNOT_PAY("订单未受理,暂不能支付"),
SERVICE_ORDER_CANNOT_CANCEL("订单不能取消"), SERVICE_ORDER_CANNOT_CANCEL("订单不能取消"),
SERVICE_ORDER_CANNOT_REFUND("订单不能申请退款"), SERVICE_ORDER_CANNOT_REFUND("订单不能申请退款"),
SERVICE_ORDER_CANNOT_DISPATCH("订单未支付,不能派单"), SERVICE_ORDER_CANNOT_DISPATCH("订单未支付,不能派维修工"),
SERVICE_ORDER_CANNOT_REDISPATCH("订单未指派维修工,不能修改"),
SERVICE_ORDER_CANNOT_FINISH("订单未派单,不能完成本次服务"), SERVICE_ORDER_CANNOT_FINISH("订单未派单,不能完成本次服务"),
/** /**
* 权限相关 * 权限相关
*/ */
NO_AUTH_VALUATION_ORDER("您不能指派估价员"), NO_AUTH_VALUATION_ORDER("没有权限指派估价员"),
NO_AUTH_SEND_ORDER("您不能发送订单"), NO_AUTH_REVALUATION_ORDER("没有权限修改估价员"),
NO_AUTH_DISPATCH_ORDER("您不能派单"), NO_AUTH_SEND_ORDER("没有权限发送订单"),
NO_AUTH_DISPATCH_ORDER("没有权限派单"),
NO_AUTH_REDISPATCH_ORDER("没有权限修改派单"),
NO_AUTH_FINISH_ORDER("没有权限完成服务"),
NO_AUTH("无操作权限"), NO_AUTH("无操作权限"),
/** /**
......
...@@ -15,37 +15,39 @@ public enum ServiceOrderStatusEnum { ...@@ -15,37 +15,39 @@ public enum ServiceOrderStatusEnum {
/** /**
* 已提交 * 已提交
*/ */
SUBMIT(1, "用户已下单"), RESERVE(1, "用户已下单"),
/** /**
* 已受理:估价+发送客户 * 已受理:估价+发送客户
*/ */
VALUATION(2, "已指派估价员"), VALUATION(2, "客服: %s 已派估价员 %s"),
REVALUATION(2, "客服: %s 已重新派估价员 %s"),
/** /**
* 已发送 * 已发送
*/ */
SEND(3, "已发送"), SEND(3, "%s: %s 已发送订单信息"),
/** /**
* 已支付 * 已支付
*/ */
PAY(4, "已支付"), PAY(4, "用户已付款"),
/** /**
* 已派单 * 已派单
*/ */
DISPATCH(5, "已派单"), DISPATCH(5, "客服: %s 已派维修工 %s"),
REDISPATCH(5, "客服: %s 已重新派维修工 %s"),
/** /**
* 已确认 * 已确认
*/ */
FINISH(6, "已完成"), FINISH(6, "%s 已确认完成服务"),
/** /**
* * 取消订单
*/ */
CANCEL(7, "已取消"), CANCEL(7, "用户已取消订单"),
/** /**
* 退款状态 * 退款状态
......
package com.onsiteservice.constant.enums;
import lombok.Getter;
/**
* <P>用户角色枚举类</P>
*
* @author 李宁
* @version v1.0
* @since 2022/7/11 16:08
*/
public enum ServiceUserTypeEnum {
VALUATOR(2, "估价员: "),
ADMIN(1, "客服: "),
USER(0, "用户");
@Getter
private Integer id;
@Getter
private String name;
private ServiceUserTypeEnum(Integer id, String name) {
this.id = id;
this.name = name;
}
}
...@@ -31,7 +31,7 @@ public class ServiceOrderLog implements Serializable { ...@@ -31,7 +31,7 @@ public class ServiceOrderLog implements Serializable {
private Long orderId; private Long orderId;
/** /**
* 流程id * 流程id <link>ServiceOrderStatusEnum</link>
*/ */
@Column(name = "process_id") @Column(name = "process_id")
@ApiModelProperty("流程id") @ApiModelProperty("流程id")
...@@ -42,7 +42,7 @@ public class ServiceOrderLog implements Serializable { ...@@ -42,7 +42,7 @@ public class ServiceOrderLog implements Serializable {
*/ */
@Column(name = "host_id") @Column(name = "host_id")
@ApiModelProperty("维修工id或估价员id") @ApiModelProperty("维修工id或估价员id")
private Integer hostId; private Long hostId;
/** /**
* 步骤说明 * 步骤说明
...@@ -63,12 +63,5 @@ public class ServiceOrderLog implements Serializable { ...@@ -63,12 +63,5 @@ public class ServiceOrderLog implements Serializable {
@ApiModelProperty("创建时间") @ApiModelProperty("创建时间")
private Date createTime; private Date createTime;
/**
* 创建人
*/
@Column(name = "create_by")
@ApiModelProperty("创建人")
private String createBy;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }
\ No newline at end of file
...@@ -8,6 +8,7 @@ import javax.persistence.*; ...@@ -8,6 +8,7 @@ import javax.persistence.*;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
import tk.mybatis.mapper.annotation.LogicDelete;
@Getter @Getter
@Setter @Setter
...@@ -55,5 +56,17 @@ public class ServiceValuatorAssign implements Serializable { ...@@ -55,5 +56,17 @@ public class ServiceValuatorAssign implements Serializable {
@ApiModelProperty("修改时间") @ApiModelProperty("修改时间")
private Date modifyTime; private Date modifyTime;
@Column(name = "create_by")
@ApiModelProperty("创建人")
private String createBy;
@Column(name = "modify_by")
@ApiModelProperty("修改人")
private String modifyBy;
@ApiModelProperty("删除标记")
@LogicDelete
private Boolean deleted;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }
\ No newline at end of file
...@@ -8,6 +8,7 @@ import javax.persistence.*; ...@@ -8,6 +8,7 @@ import javax.persistence.*;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
import tk.mybatis.mapper.annotation.LogicDelete;
@Getter @Getter
@Setter @Setter
...@@ -55,5 +56,17 @@ public class ServiceWorkerAssign implements Serializable { ...@@ -55,5 +56,17 @@ public class ServiceWorkerAssign implements Serializable {
@ApiModelProperty("修改时间") @ApiModelProperty("修改时间")
private Date modifyTime; private Date modifyTime;
@Column(name = "create_by")
@ApiModelProperty("创建人")
private String createBy;
@Column(name = "modify_by")
@ApiModelProperty("修改人")
private String modifyBy;
@ApiModelProperty("删除标记")
@LogicDelete
private Byte deleted;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }
\ No newline at end of file
...@@ -102,9 +102,9 @@ public class User implements Serializable { ...@@ -102,9 +102,9 @@ public class User implements Serializable {
@ApiModelProperty("即时通讯id") @ApiModelProperty("即时通讯id")
private String imUserId; private String imUserId;
@Column(name = "admin") @Column(name = "role_type")
@ApiModelProperty("管理员") @ApiModelProperty("管理员")
private Boolean admin; private Integer roleType;
/** /**
* 是否启用 0: 禁用 1: 启用 * 是否启用 0: 禁用 1: 启用
......
...@@ -61,6 +61,12 @@ public class ServiceOrderController { ...@@ -61,6 +61,12 @@ public class ServiceOrderController {
return serviceOrderService.valuation(dto, userId) == 1 ? success() : fail("估价失败"); return serviceOrderService.valuation(dto, userId) == 1 ? success() : fail("估价失败");
} }
@ApiOperation(value = "修改估价")
@PostMapping("revaluation")
public Result revaluation(@RequestBody @NonNull @Validated ValuationServiceOrderDTO dto, @CurrentUserId Long userId) {
return serviceOrderService.revaluation(dto, userId) == 1 ? success() : fail("修改估价失败");
}
/** /**
* 发送订单 已估价订单才能发送 <link>ServiceOrderStatusEnum</link> * 发送订单 已估价订单才能发送 <link>ServiceOrderStatusEnum</link>
*/ */
...@@ -82,6 +88,12 @@ public class ServiceOrderController { ...@@ -82,6 +88,12 @@ public class ServiceOrderController {
return serviceOrderService.dispatch(dto, userId) == 1 ? success() : fail("派单失败"); return serviceOrderService.dispatch(dto, userId) == 1 ? success() : fail("派单失败");
} }
@ApiOperation(value = "修改派单")
@PostMapping("redispatch")
public Result redispatch(@RequestBody @NonNull @Validated DispatchServiceOrderDTO dto, @CurrentUserId Long userId) {
return serviceOrderService.redispatch(dto, userId) == 1 ? success() : fail("修改派单失败");
}
/** /**
* 未派单之前不能完成,已申请退款的也可以点击完成 * 未派单之前不能完成,已申请退款的也可以点击完成
*/ */
...@@ -94,11 +106,11 @@ public class ServiceOrderController { ...@@ -94,11 +106,11 @@ public class ServiceOrderController {
/** /**
* 订单退款 订单已付款,未派单之前可以取消 <link>ServiceOrderStatusEnum</link> * 订单退款 订单已付款,未派单之前可以取消 <link>ServiceOrderStatusEnum</link>
*/ */
@ApiOperation(value = "订单退款") // @ApiOperation(value = "订单退款")
@PostMapping("refund") // @PostMapping("refund")
public Result refund(@RequestBody @NonNull @Validated RefundServiceOrderDTO dto, @CurrentUserId Long userId) { // public Result refund(@RequestBody @NonNull @Validated RefundServiceOrderDTO dto, @CurrentUserId Long userId) {
return serviceOrderService.refundOrder(dto, userId) == 1 ? success() : fail("退款失败"); // return serviceOrderService.refundOrder(dto, userId) == 1 ? success() : fail("退款失败");
} // }
/** /**
* 取消订单: 未支付之前可取消订单 <link>ServiceOrderStatusEnum</link> * 取消订单: 未支付之前可取消订单 <link>ServiceOrderStatusEnum</link>
......
...@@ -7,6 +7,7 @@ import lombok.Data; ...@@ -7,6 +7,7 @@ import lombok.Data;
import javax.validation.constraints.Min; import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
/** /**
* <P></P> * <P></P>
...@@ -16,16 +17,22 @@ import java.math.BigDecimal; ...@@ -16,16 +17,22 @@ import java.math.BigDecimal;
* @since 2022/7/7 15:20 * @since 2022/7/7 15:20
*/ */
@Data @Data
@ApiModel("发送订单请求模型") @ApiModel("单请求模型")
public class DispatchServiceOrderDTO { public class DispatchServiceOrderDTO {
@ApiModelProperty(value = "订单id", required = true) @ApiModelProperty(value = "订单id", required = true)
@NotNull(message = "请选择订单") @NotNull(message = "请选择订单")
private Long id; private Long id;
@ApiModelProperty(value = "订单价格,维修价格不能低于1元", required = true) @ApiModelProperty(value = "维修工id", required = true)
@Min(value = 1, message = "维修价格不能低于1元") @NotNull(message = "请选择维修工")
@NotNull(message = "请输入维修价格") private Long hostId;
private BigDecimal price;
@ApiModelProperty(value = "派单备注")
private String remark;
@ApiModelProperty(value = "期望维修工上门时间", required = true)
@NotNull(message = "请选择上门时间")
private Date expectArrivalTime;
} }
...@@ -9,6 +9,7 @@ import org.checkerframework.checker.units.qual.A; ...@@ -9,6 +9,7 @@ import org.checkerframework.checker.units.qual.A;
import javax.validation.constraints.Min; import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
/** /**
* <P></P> * <P></P>
...@@ -25,4 +26,15 @@ public class ValuationServiceOrderDTO { ...@@ -25,4 +26,15 @@ public class ValuationServiceOrderDTO {
@NotNull(message = "请输入订单ID") @NotNull(message = "请输入订单ID")
private Long id; private Long id;
@ApiModelProperty(value = "估价员id", required = true)
@NotNull(message = "请选择估价员")
private Long hostId;
@ApiModelProperty(value = "估价备注")
private String remark;
@ApiModelProperty(value = "期望估价员上门时间", required = true)
@NotNull(message = "请选择上门时间")
private Date expectArrivalTime;
} }
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