Commit eb0a949648b3c8dcb82e3383f79ca2309c1a24bb

Authored by guzijian
1 parent b4baced4

feat: 接单,上传装车照片,卸货照片,写评价。

Showing 20 changed files with 602 additions and 18 deletions
trash-garbage/pom.xml
@@ -19,10 +19,10 @@ @@ -19,10 +19,10 @@
19 <groupId>com.trash</groupId> 19 <groupId>com.trash</groupId>
20 <artifactId>trash-common</artifactId> 20 <artifactId>trash-common</artifactId>
21 </dependency> 21 </dependency>
22 - <dependency>  
23 - <groupId>com.trash</groupId>  
24 - <artifactId>trash-activiti</artifactId>  
25 - </dependency> 22 +<!-- <dependency>-->
  23 +<!-- <groupId>com.trash</groupId>-->
  24 +<!-- <artifactId>trash-activiti</artifactId>-->
  25 +<!-- </dependency>-->
26 <dependency> 26 <dependency>
27 <groupId>com.trash</groupId> 27 <groupId>com.trash</groupId>
28 <artifactId>trash-framework</artifactId> 28 <artifactId>trash-framework</artifactId>
trash-garbage/src/main/java/com/trash/garbage/controller/GarbageOrderController.java
@@ -7,13 +7,20 @@ import com.trash.framework.config.ServerConfig; @@ -7,13 +7,20 @@ import com.trash.framework.config.ServerConfig;
7 import com.trash.garbage.custom.BizException; 7 import com.trash.garbage.custom.BizException;
8 import com.trash.garbage.global.Result; 8 import com.trash.garbage.global.Result;
9 import com.trash.garbage.global.ResultCode; 9 import com.trash.garbage.global.ResultCode;
  10 +import com.trash.garbage.pojo.dto.EvaluateDto;
10 import com.trash.garbage.pojo.dto.OrderDto; 11 import com.trash.garbage.pojo.dto.OrderDto;
  12 +import com.trash.garbage.pojo.dto.OrderUpdateDto;
  13 +import com.trash.garbage.pojo.dto.UploadDto;
  14 +import com.trash.garbage.pojo.vo.OrderDetailVo;
11 import com.trash.garbage.service.GarOrderService; 15 import com.trash.garbage.service.GarOrderService;
12 import org.springframework.beans.factory.annotation.Autowired; 16 import org.springframework.beans.factory.annotation.Autowired;
  17 +import org.springframework.validation.annotation.Validated;
13 import org.springframework.web.bind.annotation.*; 18 import org.springframework.web.bind.annotation.*;
14 import org.springframework.web.multipart.MultipartFile; 19 import org.springframework.web.multipart.MultipartFile;
15 20
16 import java.io.IOException; 21 import java.io.IOException;
  22 +import java.util.HashMap;
  23 +import java.util.Map;
17 24
18 /** 25 /**
19 * 订单控制 26 * 订单控制
@@ -30,7 +37,7 @@ public class GarbageOrderController { @@ -30,7 +37,7 @@ public class GarbageOrderController {
30 private ServerConfig serverConfig; 37 private ServerConfig serverConfig;
31 38
32 @PostMapping("/add") 39 @PostMapping("/add")
33 - public Result<?> saveOrder(@RequestBody OrderDto dto) { 40 + public Result<?> saveOrder(@Validated @RequestBody OrderDto dto) {
34 return Result.OK(garOrderService.saveOrder(dto)); 41 return Result.OK(garOrderService.saveOrder(dto));
35 } 42 }
36 43
@@ -45,7 +52,36 @@ public class GarbageOrderController { @@ -45,7 +52,36 @@ public class GarbageOrderController {
45 throw new BizException(ResultCode.CODE_400, ResultCode.CODE_400.getMsg()); 52 throw new BizException(ResultCode.CODE_400, ResultCode.CODE_400.getMsg());
46 } 53 }
47 String url = serverConfig.getUrl() + fileName; 54 String url = serverConfig.getUrl() + fileName;
48 - return Result.OK("图片上传成功", url); 55 + Map<String, String> urlMap = new HashMap<>();
  56 + urlMap.put("url", url);
  57 + urlMap.put("fileName", fileName);
  58 + return Result.OK(urlMap, "图片上传成功");
  59 + }
  60 +
  61 + @GetMapping("/detail/{id}")
  62 + public Result<OrderDetailVo> queryOrderDetail(@PathVariable("id") String id) {
  63 + return Result.OK(garOrderService.queryOrderDetail(id));
  64 + }
  65 +
  66 + @PutMapping("/update")
  67 + public Result<String> uploadOrder(@RequestBody OrderUpdateDto dto) {
  68 + return Result.OK(garOrderService.uploadOrder(dto));
  69 + }
  70 +
  71 + @PostMapping("/evaluate")
  72 + public Result<String> evaluateOrder(@Validated @RequestBody EvaluateDto dto) {
  73 + return Result.OK(garOrderService.evaluateOrder(dto));
  74 + }
  75 +
  76 +
  77 + @GetMapping("/query/list")
  78 + public Result<?> queryOrderList(@RequestParam("type") Integer type, @RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize) {
  79 + return Result.OK(garOrderService.queryOrderList(type, pageNo, pageSize));
  80 + }
  81 +
  82 + @PostMapping("/upload/imageUrl")
  83 + public Result<?> uploadImageUrlByType(@RequestBody UploadDto dto) {
  84 + return Result.OK(garOrderService.uploadImageUrlByType(dto));
49 } 85 }
50 86
51 } 87 }
trash-garbage/src/main/java/com/trash/garbage/global/GlobalStatus.java
@@ -42,7 +42,7 @@ public class GlobalStatus { @@ -42,7 +42,7 @@ public class GlobalStatus {
42 private Integer status; 42 private Integer status;
43 private String description; 43 private String description;
44 44
45 - public int getStatus() { 45 + public Integer getStatus() {
46 return this.status; 46 return this.status;
47 } 47 }
48 48
@@ -85,14 +85,17 @@ public class GlobalStatus { @@ -85,14 +85,17 @@ public class GlobalStatus {
85 */ 85 */
86 public enum GarOrderStatus { 86 public enum GarOrderStatus {
87 NEW_ORDER(0, "新订单"), 87 NEW_ORDER(0, "新订单"),
88 - HANDLE_ORDER(1, "被接单"),  
89 - ACTIVE_ORDER(2, "处理中"),  
90 - SUCCESS_ORDER(3, "完成订单"),  
91 - FAIL_ORDER(4, "订单处理失败"),  
92 - CANCEL_FLAG_NO(0,"未取消订单"),  
93 - IMAGE_TYPE_CURRENT(0,"现场图片"),  
94 - IMAGE_TYPE_PUT_ON(1,"装车图片"),  
95 - IMAGE_TYPE_PUT_DOWN(2,"卸车图片"); 88 + ACTIVE_ORDER(1, "处理中"),
  89 + ALL_ORDER(2, "全部订单"),
  90 + PAY_ORDER(3, "待支付订单"),
  91 + SUCCESS_ORDER(4, "完成订单"),
  92 + FAIL_ORDER(9, "订单处理失败"),
  93 + CANCEL_FLAG_NO(0, "未取消订单"),
  94 + IMAGE_TYPE_CURRENT(0, "现场图片"),
  95 + IMAGE_TYPE_PUT_ON(1, "装车图片"),
  96 + IMAGE_TYPE_PUT_DOWN(2, "卸车图片"),
  97 + EVALUATE_ORDER_NO(0,"待评价"),
  98 + EVALUATE_ORDER_YES(1,"已评价");
96 99
97 GarOrderStatus(Integer status, String description) { 100 GarOrderStatus(Integer status, String description) {
98 this.status = status; 101 this.status = status;
trash-garbage/src/main/java/com/trash/garbage/mapper/GarOrderEvaluateMapper.java 0 → 100644
  1 +package com.trash.garbage.mapper;
  2 +
  3 +import com.trash.garbage.pojo.domain.GarOrderEvaluate;
  4 +import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  5 +
  6 +/**
  7 +* @author 20412
  8 +* @description 针对表【gar_order_evaluate(建筑垃圾-派单评分)】的数据库操作Mapper
  9 +* @createDate 2023-11-29 14:19:18
  10 +* @Entity com.trash.garbage.pojo.domain.GarOrderEvaluate
  11 +*/
  12 +public interface GarOrderEvaluateMapper extends BaseMapper<GarOrderEvaluate> {
  13 +
  14 +}
  15 +
  16 +
  17 +
  18 +
trash-garbage/src/main/java/com/trash/garbage/pojo/domain/GarAddress.java
@@ -11,6 +11,7 @@ import java.util.Objects; @@ -11,6 +11,7 @@ import java.util.Objects;
11 11
12 import com.fasterxml.jackson.annotation.JsonFormat; 12 import com.fasterxml.jackson.annotation.JsonFormat;
13 import lombok.Data; 13 import lombok.Data;
  14 +import org.springframework.format.annotation.DateTimeFormat;
14 15
15 16
16 /** 17 /**
@@ -49,6 +50,7 @@ public class GarAddress implements Serializable { @@ -49,6 +50,7 @@ public class GarAddress implements Serializable {
49 */ 50 */
50 @TableField(fill = FieldFill.INSERT, select = false) 51 @TableField(fill = FieldFill.INSERT, select = false)
51 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd") 52 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd")
  53 + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:dd")
52 private Date garCreateTime; 54 private Date garCreateTime;
53 55
54 /** 56 /**
@@ -56,6 +58,7 @@ public class GarAddress implements Serializable { @@ -56,6 +58,7 @@ public class GarAddress implements Serializable {
56 */ 58 */
57 @TableField(fill = FieldFill.INSERT_UPDATE, select = false) 59 @TableField(fill = FieldFill.INSERT_UPDATE, select = false)
58 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd") 60 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd")
  61 + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:dd")
59 private Date garUpdateTime; 62 private Date garUpdateTime;
60 63
61 /** 64 /**
trash-garbage/src/main/java/com/trash/garbage/pojo/domain/GarOrder.java
@@ -6,7 +6,9 @@ import java.io.Serializable; @@ -6,7 +6,9 @@ import java.io.Serializable;
6 import java.util.Date; 6 import java.util.Date;
7 7
8 import com.fasterxml.jackson.annotation.JsonFormat; 8 import com.fasterxml.jackson.annotation.JsonFormat;
  9 +import com.fasterxml.jackson.annotation.JsonIgnore;
9 import lombok.Data; 10 import lombok.Data;
  11 +import org.springframework.format.annotation.DateTimeFormat;
10 12
11 /** 13 /**
12 * 建筑垃圾—订单表 14 * 建筑垃圾—订单表
@@ -24,6 +26,7 @@ public class GarOrder implements Serializable { @@ -24,6 +26,7 @@ public class GarOrder implements Serializable {
24 /** 26 /**
25 * 用户id 27 * 用户id
26 */ 28 */
  29 + @JsonIgnore
27 private String garOrderUserId; 30 private String garOrderUserId;
28 31
29 /** 32 /**
@@ -86,6 +89,7 @@ public class GarOrder implements Serializable { @@ -86,6 +89,7 @@ public class GarOrder implements Serializable {
86 */ 89 */
87 @TableField(fill = FieldFill.INSERT) 90 @TableField(fill = FieldFill.INSERT)
88 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd") 91 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd")
  92 + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:dd")
89 private Date garCreateTime; 93 private Date garCreateTime;
90 94
91 /** 95 /**
@@ -93,6 +97,7 @@ public class GarOrder implements Serializable { @@ -93,6 +97,7 @@ public class GarOrder implements Serializable {
93 */ 97 */
94 @TableField(fill = FieldFill.INSERT_UPDATE) 98 @TableField(fill = FieldFill.INSERT_UPDATE)
95 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd") 99 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd")
  100 + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:dd")
96 private Date garUpdateTime; 101 private Date garUpdateTime;
97 102
98 /** 103 /**
@@ -115,6 +120,11 @@ public class GarOrder implements Serializable { @@ -115,6 +120,11 @@ public class GarOrder implements Serializable {
115 * 取消标识 120 * 取消标识
116 */ 121 */
117 private Integer garCancelFlag; 122 private Integer garCancelFlag;
  123 +
  124 + /**
  125 + * 评分标识
  126 + */
  127 + private Integer garEvaluateFlag;
118 /** 128 /**
119 * 原因 129 * 原因
120 */ 130 */
trash-garbage/src/main/java/com/trash/garbage/pojo/domain/GarOrderEvaluate.java 0 → 100644
  1 +package com.trash.garbage.pojo.domain;
  2 +
  3 +import com.baomidou.mybatisplus.annotation.TableField;
  4 +import com.baomidou.mybatisplus.annotation.TableId;
  5 +import com.baomidou.mybatisplus.annotation.TableName;
  6 +import java.io.Serializable;
  7 +import java.util.Date;
  8 +import lombok.Data;
  9 +
  10 +/**
  11 + * 建筑垃圾-派单评分
  12 + * @author 20412
  13 + * @TableName gar_order_evaluate
  14 + */
  15 +@TableName(value ="gar_order_evaluate")
  16 +@Data
  17 +public class GarOrderEvaluate implements Serializable {
  18 + /**
  19 + * id
  20 + */
  21 + @TableId
  22 + private String garEvaluateId;
  23 +
  24 + /**
  25 + * 订单id
  26 + */
  27 + private String garOrderId;
  28 +
  29 + /**
  30 + * 公司id
  31 + */
  32 + private String garCompanyId;
  33 +
  34 + /**
  35 + * 评价内容
  36 + */
  37 + private String garEvaluateContent;
  38 +
  39 + /**
  40 + * 评分
  41 + */
  42 + private Integer garEvaluateScore;
  43 +
  44 + /**
  45 + * 修改人
  46 + */
  47 + private String garUpdateBy;
  48 +
  49 + /**
  50 + * 创建人
  51 + */
  52 + private String garCreateBy;
  53 +
  54 + /**
  55 + * 修改时间
  56 + */
  57 + private Date garUpdateTime;
  58 +
  59 + /**
  60 + * 创建时间
  61 + */
  62 + private Date garCreateTime;
  63 +
  64 + /**
  65 + * 备注
  66 + */
  67 + private String garRemark;
  68 +
  69 + @TableField(exist = false)
  70 + private static final long serialVersionUID = 1L;
  71 +}
0 \ No newline at end of file 72 \ No newline at end of file
trash-garbage/src/main/java/com/trash/garbage/pojo/domain/GarOrderImage.java
@@ -9,6 +9,7 @@ import java.util.Date; @@ -9,6 +9,7 @@ import java.util.Date;
9 9
10 import com.fasterxml.jackson.annotation.JsonFormat; 10 import com.fasterxml.jackson.annotation.JsonFormat;
11 import lombok.Data; 11 import lombok.Data;
  12 +import org.springframework.format.annotation.DateTimeFormat;
12 13
13 /** 14 /**
14 * 装修垃圾-订单图片表 15 * 装修垃圾-订单图片表
@@ -43,6 +44,7 @@ public class GarOrderImage implements Serializable { @@ -43,6 +44,7 @@ public class GarOrderImage implements Serializable {
43 */ 44 */
44 @TableField(fill = FieldFill.INSERT) 45 @TableField(fill = FieldFill.INSERT)
45 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd") 46 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd")
  47 + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:dd")
46 private Date garCreateTime; 48 private Date garCreateTime;
47 49
48 /** 50 /**
@@ -50,6 +52,7 @@ public class GarOrderImage implements Serializable { @@ -50,6 +52,7 @@ public class GarOrderImage implements Serializable {
50 */ 52 */
51 @TableField(fill = FieldFill.INSERT_UPDATE) 53 @TableField(fill = FieldFill.INSERT_UPDATE)
52 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd") 54 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd")
  55 + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:dd")
53 private Date garUpdateTime; 56 private Date garUpdateTime;
54 57
55 /** 58 /**
trash-garbage/src/main/java/com/trash/garbage/pojo/domain/GarUser.java
@@ -9,6 +9,7 @@ import java.util.Date; @@ -9,6 +9,7 @@ import java.util.Date;
9 9
10 import com.fasterxml.jackson.annotation.JsonFormat; 10 import com.fasterxml.jackson.annotation.JsonFormat;
11 import lombok.Data; 11 import lombok.Data;
  12 +import org.springframework.format.annotation.DateTimeFormat;
12 13
13 /** 14 /**
14 * 建筑垃圾-用户表 15 * 建筑垃圾-用户表
@@ -54,6 +55,7 @@ public class GarUser implements Serializable { @@ -54,6 +55,7 @@ public class GarUser implements Serializable {
54 55
55 @TableField(fill = FieldFill.INSERT) 56 @TableField(fill = FieldFill.INSERT)
56 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd") 57 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd")
  58 + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:dd")
57 private Date garCreateTime; 59 private Date garCreateTime;
58 60
59 /** 61 /**
@@ -61,6 +63,7 @@ public class GarUser implements Serializable { @@ -61,6 +63,7 @@ public class GarUser implements Serializable {
61 */ 63 */
62 @TableField(fill = FieldFill.INSERT_UPDATE) 64 @TableField(fill = FieldFill.INSERT_UPDATE)
63 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd") 65 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd")
  66 + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:dd")
64 private Date garUpdateTime; 67 private Date garUpdateTime;
65 68
66 /** 69 /**
trash-garbage/src/main/java/com/trash/garbage/pojo/dto/EvaluateDto.java 0 → 100644
  1 +package com.trash.garbage.pojo.dto;
  2 +
  3 +import lombok.Data;
  4 +
  5 +import javax.validation.constraints.NotBlank;
  6 +import javax.validation.constraints.NotNull;
  7 +import java.util.List;
  8 +
  9 +/**
  10 + * @author 20412
  11 + */
  12 +@Data
  13 +public class EvaluateDto {
  14 + @NotBlank(message = "订单id不能为空")
  15 + private String orderId;
  16 + private String garCompanyId;
  17 + private String content;
  18 + @NotNull
  19 + private Integer score;
  20 + private List<String> imageUrls;
  21 +}
trash-garbage/src/main/java/com/trash/garbage/pojo/dto/OrderDto.java
@@ -3,6 +3,8 @@ package com.trash.garbage.pojo.dto; @@ -3,6 +3,8 @@ package com.trash.garbage.pojo.dto;
3 import com.baomidou.mybatisplus.annotation.TableId; 3 import com.baomidou.mybatisplus.annotation.TableId;
4 import lombok.Data; 4 import lombok.Data;
5 5
  6 +import javax.validation.constraints.NotBlank;
  7 +import javax.validation.constraints.NotEmpty;
6 import java.util.List; 8 import java.util.List;
7 9
8 /** 10 /**
@@ -15,10 +17,12 @@ public class OrderDto { @@ -15,10 +17,12 @@ public class OrderDto {
15 /** 17 /**
16 * 订单地址 18 * 订单地址
17 */ 19 */
  20 + @NotBlank(message = "地址不能为空")
18 private String garOrderAddress; 21 private String garOrderAddress;
19 /** 22 /**
20 * 图片列表 23 * 图片列表
21 */ 24 */
  25 + @NotEmpty(message = "必须要有现场图片")
22 private List<String> imageUrls; 26 private List<String> imageUrls;
23 /** 27 /**
24 * 订单详细地址 28 * 订单详细地址
@@ -38,6 +42,7 @@ public class OrderDto { @@ -38,6 +42,7 @@ public class OrderDto {
38 /** 42 /**
39 * 订单人电话 43 * 订单人电话
40 */ 44 */
  45 + @NotBlank(message = "电话不能为空")
41 private String garOrderContactTel; 46 private String garOrderContactTel;
42 47
43 /** 48 /**
@@ -48,6 +53,7 @@ public class OrderDto { @@ -48,6 +53,7 @@ public class OrderDto {
48 /** 53 /**
49 * 公司名称 54 * 公司名称
50 */ 55 */
  56 + @NotEmpty(message = "公司名称不能为空")
51 private String garOrderCompanyName; 57 private String garOrderCompanyName;
52 58
53 /** 59 /**
@@ -58,6 +64,7 @@ public class OrderDto { @@ -58,6 +64,7 @@ public class OrderDto {
58 /** 64 /**
59 * 约定时间 65 * 约定时间
60 */ 66 */
  67 + @NotBlank(message = "约定时间不能为空")
61 private String garOrderAgreementTime; 68 private String garOrderAgreementTime;
62 69
63 /** 70 /**
trash-garbage/src/main/java/com/trash/garbage/pojo/dto/OrderUpdateDto.java 0 → 100644
  1 +package com.trash.garbage.pojo.dto;
  2 +
  3 +import lombok.Data;
  4 +
  5 +import java.util.List;
  6 +
  7 +/**
  8 + * @author 20412
  9 + */
  10 +@Data
  11 +public class OrderUpdateDto {
  12 +
  13 + /**
  14 + * 订单id
  15 + */
  16 + private String garOrderId;
  17 +
  18 + /**
  19 + * 处理类型
  20 + */
  21 + private Integer handleType;
  22 +
  23 + /**
  24 + * 照片url
  25 + */
  26 + private List<String> imageUrls;
  27 +}
trash-garbage/src/main/java/com/trash/garbage/pojo/dto/UploadDto.java 0 → 100644
  1 +package com.trash.garbage.pojo.dto;
  2 +
  3 +import lombok.Data;
  4 +
  5 +import java.util.List;
  6 +
  7 +/**
  8 + * @author 20412
  9 + */
  10 +@Data
  11 +public class UploadDto {
  12 + private String garOrderId;
  13 + private Integer type;
  14 + private List<String> imageUrls;
  15 +}
trash-garbage/src/main/java/com/trash/garbage/pojo/vo/OrderDetailVo.java 0 → 100644
  1 +package com.trash.garbage.pojo.vo;
  2 +
  3 +import com.fasterxml.jackson.annotation.JsonFormat;
  4 +import lombok.Data;
  5 +
  6 +import javax.validation.constraints.NotEmpty;
  7 +import java.util.ArrayList;
  8 +import java.util.Date;
  9 +import java.util.List;
  10 +
  11 +/**
  12 + * @author 20412
  13 + */
  14 +@Data
  15 +public class OrderDetailVo {
  16 +
  17 + private String garOrderHandlerId;
  18 +
  19 + private Integer garEvaluateFlag;
  20 + /**
  21 + * 订单地址
  22 + */
  23 + private String garOrderAddress;
  24 + /**
  25 + * 现场图片图片列表
  26 + */
  27 + private List<String> currentImages;
  28 + /**
  29 + * 装车图片
  30 + */
  31 + private List<String> putOnImages;
  32 + /**
  33 + * 卸车图片
  34 + */
  35 + private List<String> putDownImages;
  36 + /**
  37 + * 订单详细地址
  38 + */
  39 + private String garOrderAddressDetails;
  40 +
  41 + /**
  42 + * 订单姓名
  43 + */
  44 + private String garOrderContactName;
  45 +
  46 + /**
  47 + * 垃圾类型
  48 + */
  49 + private String garOrderTrashType;
  50 +
  51 + /**
  52 + * 订单状态
  53 + */
  54 + private Integer garOrderHandlerStatus;
  55 +
  56 + /**
  57 + * 创建时间
  58 + */
  59 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd")
  60 + private Date garCreateTime;
  61 +
  62 + /**
  63 + * 订单人电话
  64 + */
  65 + private String garOrderContactTel;
  66 +
  67 + /**
  68 + * 承接经营单位
  69 + */
  70 + private String garOrderCompanyId;
  71 +
  72 + /**
  73 + * 公司名称
  74 + */
  75 + private String garOrderCompanyName;
  76 +
  77 + /**
  78 + * 公司负责人电话
  79 + */
  80 + private String garOrderCompanyTel;
  81 +
  82 + /**
  83 + * 约定时间
  84 + */
  85 + private String garOrderAgreementTime;
  86 +
  87 + /**
  88 + * 备注
  89 + */
  90 + private String garRemark;
  91 +
  92 + public OrderDetailVo(){
  93 + this.currentImages = new ArrayList<>();
  94 + this.putDownImages = new ArrayList<>();
  95 + this.putOnImages = new ArrayList<>();
  96 + }
  97 +
  98 +}
trash-garbage/src/main/java/com/trash/garbage/service/GarOrderEvaluateService.java 0 → 100644
  1 +package com.trash.garbage.service;
  2 +
  3 +import com.trash.garbage.pojo.domain.GarOrderEvaluate;
  4 +import com.baomidou.mybatisplus.extension.service.IService;
  5 +
  6 +/**
  7 +* @author 20412
  8 +* @description 针对表【gar_order_evaluate(建筑垃圾-派单评分)】的数据库操作Service
  9 +* @createDate 2023-11-29 14:19:18
  10 +*/
  11 +public interface GarOrderEvaluateService extends IService<GarOrderEvaluate> {
  12 +
  13 +}
trash-garbage/src/main/java/com/trash/garbage/service/GarOrderService.java
1 package com.trash.garbage.service; 1 package com.trash.garbage.service;
2 2
3 import com.baomidou.mybatisplus.extension.service.IService; 3 import com.baomidou.mybatisplus.extension.service.IService;
  4 +import com.github.pagehelper.PageInfo;
4 import com.trash.garbage.pojo.domain.GarOrder; 5 import com.trash.garbage.pojo.domain.GarOrder;
  6 +import com.trash.garbage.pojo.dto.EvaluateDto;
5 import com.trash.garbage.pojo.dto.OrderDto; 7 import com.trash.garbage.pojo.dto.OrderDto;
  8 +import com.trash.garbage.pojo.dto.OrderUpdateDto;
  9 +import com.trash.garbage.pojo.dto.UploadDto;
  10 +import com.trash.garbage.pojo.vo.OrderDetailVo;
  11 +
  12 +import java.util.List;
6 13
7 /** 14 /**
8 * @author 20412 15 * @author 20412
@@ -17,4 +24,37 @@ public interface GarOrderService extends IService&lt;GarOrder&gt; { @@ -17,4 +24,37 @@ public interface GarOrderService extends IService&lt;GarOrder&gt; {
17 * @return 24 * @return
18 */ 25 */
19 String saveOrder(OrderDto dto); 26 String saveOrder(OrderDto dto);
  27 +
  28 + /**
  29 + * 根据id查询订单详情
  30 + * @param id
  31 + * @return
  32 + */
  33 + OrderDetailVo queryOrderDetail(String id);
  34 +
  35 + /**
  36 + * 根据类型查询订单
  37 + *
  38 + * @param type
  39 + * @param pageNo
  40 + * @param pageSize
  41 + * @return
  42 + */
  43 + PageInfo queryOrderList(Integer type, Integer pageNo, Integer pageSize);
  44 +
  45 + /**
  46 + * 修改订单状态
  47 + * @param dto
  48 + * @return
  49 + */
  50 + String uploadOrder(OrderUpdateDto dto);
  51 +
  52 + /**
  53 + * 上传图片url执行图片type
  54 + * @param dto
  55 + * @return
  56 + */
  57 + String uploadImageUrlByType(UploadDto dto);
  58 +
  59 + String evaluateOrder(EvaluateDto dto);
20 } 60 }
trash-garbage/src/main/java/com/trash/garbage/service/impl/GarOrderEvaluateServiceImpl.java 0 → 100644
  1 +package com.trash.garbage.service.impl;
  2 +
  3 +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  4 +import com.trash.garbage.pojo.domain.GarOrderEvaluate;
  5 +import com.trash.garbage.service.GarOrderEvaluateService;
  6 +import com.trash.garbage.mapper.GarOrderEvaluateMapper;
  7 +import org.springframework.stereotype.Service;
  8 +
  9 +/**
  10 +* @author 20412
  11 +* @description 针对表【gar_order_evaluate(建筑垃圾-派单评分)】的数据库操作Service实现
  12 +* @createDate 2023-11-29 14:19:18
  13 +*/
  14 +@Service
  15 +public class GarOrderEvaluateServiceImpl extends ServiceImpl<GarOrderEvaluateMapper, GarOrderEvaluate>
  16 + implements GarOrderEvaluateService{
  17 +
  18 +}
  19 +
  20 +
  21 +
  22 +
trash-garbage/src/main/java/com/trash/garbage/service/impl/GarOrderServiceImpl.java
1 package com.trash.garbage.service.impl; 1 package com.trash.garbage.service.impl;
2 2
  3 +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4 +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
3 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 5 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  6 +import com.github.pagehelper.PageHelper;
  7 +import com.github.pagehelper.PageInfo;
4 import com.trash.common.utils.SecurityUtils; 8 import com.trash.common.utils.SecurityUtils;
5 import com.trash.common.utils.bean.BeanUtils; 9 import com.trash.common.utils.bean.BeanUtils;
6 import com.trash.garbage.global.GlobalStatus; 10 import com.trash.garbage.global.GlobalStatus;
7 import com.trash.garbage.pojo.domain.GarOrder; 11 import com.trash.garbage.pojo.domain.GarOrder;
  12 +import com.trash.garbage.pojo.domain.GarOrderEvaluate;
  13 +import com.trash.garbage.pojo.domain.GarOrderImage;
  14 +import com.trash.garbage.pojo.domain.GarUser;
  15 +import com.trash.garbage.pojo.dto.EvaluateDto;
8 import com.trash.garbage.pojo.dto.OrderDto; 16 import com.trash.garbage.pojo.dto.OrderDto;
  17 +import com.trash.garbage.pojo.dto.OrderUpdateDto;
  18 +import com.trash.garbage.pojo.dto.UploadDto;
  19 +import com.trash.garbage.pojo.vo.OrderDetailVo;
  20 +import com.trash.garbage.service.GarOrderEvaluateService;
9 import com.trash.garbage.service.GarOrderImageService; 21 import com.trash.garbage.service.GarOrderImageService;
10 import com.trash.garbage.service.GarOrderService; 22 import com.trash.garbage.service.GarOrderService;
11 import com.trash.garbage.mapper.GarOrderMapper; 23 import com.trash.garbage.mapper.GarOrderMapper;
  24 +import com.trash.garbage.service.GarUserService;
12 import org.springframework.beans.factory.annotation.Autowired; 25 import org.springframework.beans.factory.annotation.Autowired;
13 import org.springframework.stereotype.Service; 26 import org.springframework.stereotype.Service;
14 import org.springframework.transaction.annotation.Transactional; 27 import org.springframework.transaction.annotation.Transactional;
15 28
  29 +import java.util.ArrayList;
  30 +import java.util.List;
  31 +
16 /** 32 /**
17 * @author 20412 33 * @author 20412
18 * @description 针对表【gar_order(建筑垃圾—订单表)】的数据库操作Service实现 34 * @description 针对表【gar_order(建筑垃圾—订单表)】的数据库操作Service实现
@@ -26,6 +42,12 @@ public class GarOrderServiceImpl extends ServiceImpl&lt;GarOrderMapper, GarOrder&gt; @@ -26,6 +42,12 @@ public class GarOrderServiceImpl extends ServiceImpl&lt;GarOrderMapper, GarOrder&gt;
26 @Autowired 42 @Autowired
27 private GarOrderImageService garOrderImageService; 43 private GarOrderImageService garOrderImageService;
28 44
  45 + @Autowired
  46 + private GarOrderEvaluateService garOrderEvaluateService;
  47 +
  48 + @Autowired
  49 + private GarUserService garUserService;
  50 +
29 @Override 51 @Override
30 @Transactional(rollbackFor = Exception.class) 52 @Transactional(rollbackFor = Exception.class)
31 public String saveOrder(OrderDto dto) { 53 public String saveOrder(OrderDto dto) {
@@ -37,9 +59,155 @@ public class GarOrderServiceImpl extends ServiceImpl&lt;GarOrderMapper, GarOrder&gt; @@ -37,9 +59,155 @@ public class GarOrderServiceImpl extends ServiceImpl&lt;GarOrderMapper, GarOrder&gt;
37 order.setGarCancelFlag(GlobalStatus.GarOrderStatus.CANCEL_FLAG_NO.getValue()); 59 order.setGarCancelFlag(GlobalStatus.GarOrderStatus.CANCEL_FLAG_NO.getValue());
38 save(order); 60 save(order);
39 // 保存图片url 61 // 保存图片url
  62 + List<String> imageUrls = dto.getImageUrls();
  63 + List<GarOrderImage> images = new ArrayList<>(imageUrls.size());
  64 + for (String imageUrl : imageUrls) {
  65 + GarOrderImage image = new GarOrderImage();
  66 + image.setGarOrderId(order.getGarOrderId());
  67 + image.setGarOrderImageUrl(imageUrl);
  68 + image.setGarOrderImageType(GlobalStatus.GarOrderStatus.IMAGE_TYPE_CURRENT.getValue());
  69 + images.add(image);
  70 + }
  71 + garOrderImageService.saveBatch(images);
  72 + return order.getGarOrderId();
  73 + }
  74 +
  75 + @Override
  76 + public OrderDetailVo queryOrderDetail(String id) {
  77 + GarOrder order = this.getById(id);
  78 + LambdaQueryWrapper<GarOrderImage> qwi = new LambdaQueryWrapper<>();
  79 + qwi.eq(GarOrderImage::getGarOrderId, id);
  80 + OrderDetailVo vo = new OrderDetailVo();
  81 + BeanUtils.copyBeanProp(vo, order);
  82 + List<GarOrderImage> imageList = garOrderImageService.list(qwi);
  83 + for (GarOrderImage image : imageList) {
  84 + if (GlobalStatus.GarOrderStatus.CANCEL_FLAG_NO.getValue().equals(image.getGarOrderImageType())) {
  85 + vo.getCurrentImages().add(image.getGarOrderImageUrl());
  86 + }
  87 + if (GlobalStatus.GarOrderStatus.IMAGE_TYPE_PUT_ON.getValue().equals(image.getGarOrderImageType())) {
  88 + vo.getPutOnImages().add(image.getGarOrderImageUrl());
  89 + }
  90 + if (GlobalStatus.GarOrderStatus.IMAGE_TYPE_PUT_DOWN.getValue().equals(image.getGarOrderImageType())) {
  91 + vo.getPutDownImages().add(image.getGarOrderImageUrl());
  92 + }
  93 + }
  94 + return vo;
  95 + }
  96 +
  97 + @Override
  98 + public PageInfo queryOrderList(Integer type, Integer pageNo, Integer pageSize) {
  99 + String userId = SecurityUtils.getLoginUser().getUser().getUserId();
  100 + GarUser user = garUserService.getById(userId);
  101 + // TODO 区分用户类型
  102 + // 判断用户类型 普通用户
  103 + if (GlobalStatus.UserStatusEnum.NORMAL_USER.getDescription().equals(user.getGarUserType())) {
  104 + // 待清运 || 清运中 || 已完成 || 待支付
  105 + if (GlobalStatus.GarOrderStatus.NEW_ORDER.getValue().equals(type)
  106 + || GlobalStatus.GarOrderStatus.ACTIVE_ORDER.getValue().equals(type)
  107 + || GlobalStatus.GarOrderStatus.SUCCESS_ORDER.getValue().equals(type)
  108 + || GlobalStatus.GarOrderStatus.PAY_ORDER.getValue().equals(type)) {
  109 + LambdaQueryWrapper<GarOrder> qw = new LambdaQueryWrapper<>();
  110 + qw.eq(GarOrder::getGarOrderUserId, userId)
  111 + .eq(GarOrder::getGarOrderHandlerStatus, type)
  112 + .orderByAsc(GarOrder::getGarEvaluateFlag);
  113 + PageHelper.startPage(pageNo, pageSize);
  114 + List<GarOrder> orderList = list(qw);
  115 + PageInfo<GarOrder> pageInfo = new PageInfo<GarOrder>(orderList, pageSize);
  116 + return pageInfo;
  117 + }
  118 + // 全部
  119 + if (GlobalStatus.GarOrderStatus.ALL_ORDER.getValue().equals(type)) {
  120 + LambdaQueryWrapper<GarOrder> qw = new LambdaQueryWrapper<>();
  121 + qw.eq(GarOrder::getGarOrderUserId, userId)
  122 + .orderByAsc(GarOrder::getGarEvaluateFlag, GarOrder::getGarOrderHandlerStatus);
  123 + PageHelper.startPage(pageNo, pageSize);
  124 + List<GarOrder> orderList = list(qw);
  125 + PageInfo<GarOrder> pageInfo = new PageInfo<GarOrder>(orderList, pageSize);
  126 + return pageInfo;
  127 + }
  128 +
  129 + } else {
  130 + // TODO
  131 +
  132 + }
  133 +
  134 + return null;
  135 + }
  136 +
  137 + @Override
  138 + public String uploadOrder(OrderUpdateDto dto) {
  139 + GarOrder order = getById(dto.getGarOrderId());
  140 + String userId = SecurityUtils.getLoginUser().getUser().getUserId();
  141 + GarUser user = garUserService.getById(userId);
  142 + // 运输员操作 TODO 公司所属 待清运- 》 清运中
  143 + if (order.getGarOrderHandlerStatus().equals(GlobalStatus.GarOrderStatus.NEW_ORDER.getValue())
  144 + || GlobalStatus.GarOrderStatus.NEW_ORDER.getValue().equals(dto.getHandleType())) {
  145 + LambdaUpdateWrapper<GarOrder> uw = new LambdaUpdateWrapper<>();
  146 + uw.eq(GarOrder::getGarOrderId, dto.getGarOrderId())
  147 + .set(GarOrder::getGarOrderHandlerStatus, GlobalStatus.GarOrderStatus.ACTIVE_ORDER.getValue())
  148 + .set(GarOrder::getGarOrderHandlerId, userId);
  149 + update(uw);
  150 + return "准备清运";
  151 + }
  152 + // 运输员操作 清运中 ==》待支付 TODO
  153 + if (GlobalStatus.GarOrderStatus.ACTIVE_ORDER.getValue().equals(order.getGarOrderHandlerStatus())
  154 + && GlobalStatus.GarOrderStatus.PAY_ORDER.getValue().equals(dto.getHandleType())) {
  155 + LambdaUpdateWrapper<GarOrder> uw = new LambdaUpdateWrapper<>();
  156 + uw.eq(GarOrder::getGarOrderId, dto.getGarOrderId())
  157 + .set(GarOrder::getGarOrderHandlerStatus, GlobalStatus.GarOrderStatus.PAY_ORDER.getValue());
  158 + update(uw);
  159 + }
  160 +
  161 + // 用户确认 待支付 ==》已完成
  162 + if (GlobalStatus.GarOrderStatus.PAY_ORDER.getValue().equals(order.getGarOrderHandlerStatus())
  163 + && GlobalStatus.GarOrderStatus.SUCCESS_ORDER.getValue().equals(dto.getHandleType())) {
  164 + LambdaUpdateWrapper<GarOrder> uw = new LambdaUpdateWrapper<>();
  165 + uw.eq(GarOrder::getGarOrderId, dto.getGarOrderId())
  166 + .set(GarOrder::getGarOrderHandlerStatus, GlobalStatus.GarOrderStatus.SUCCESS_ORDER.getValue())
  167 + .set(GarOrder::getGarEvaluateFlag, GlobalStatus.GarOrderStatus.EVALUATE_ORDER_NO.getValue());
  168 + update(uw);
  169 + // 修改评价状态
  170 + }
  171 + return "";
  172 + }
  173 +
  174 + @Override
  175 + public String uploadImageUrlByType(UploadDto dto) {
  176 + List<GarOrderImage> garOrderImages = new ArrayList<>(dto.getImageUrls().size());
  177 + for (String imageUrl : dto.getImageUrls()) {
  178 + GarOrderImage orderImage = new GarOrderImage();
  179 + orderImage.setGarOrderId(dto.getGarOrderId());
  180 + orderImage.setGarOrderImageUrl(imageUrl);
  181 + orderImage.setGarOrderImageType(dto.getType());
  182 + garOrderImages.add(orderImage);
  183 + }
  184 + garOrderImageService.saveBatch(garOrderImages);
  185 + return "上传成功!";
  186 + }
  187 +
  188 + @Override
  189 + public String evaluateOrder(EvaluateDto dto) {
  190 + String userId = SecurityUtils.getLoginUser().getUser().getUserId();
  191 + GarUser user = garUserService.getById(userId);
  192 + GarOrder order = getById(dto.getOrderId());
  193 + // TODO 用户评价
  194 + if (GlobalStatus.GarOrderStatus.SUCCESS_ORDER.getValue().equals(order.getGarOrderHandlerStatus())) {
  195 + evaluate(dto, order);
  196 + }
  197 + return "已评价";
  198 + }
40 199
41 -// garOrderImageService.save();  
42 - return "订单创建成功"; 200 + private void evaluate(EvaluateDto dto, GarOrder order) {
  201 + GarOrderEvaluate evaluate = new GarOrderEvaluate();
  202 + evaluate.setGarOrderId(order.getGarOrderId());
  203 + evaluate.setGarEvaluateContent(dto.getContent());
  204 + evaluate.setGarEvaluateScore(dto.getScore());
  205 + garOrderEvaluateService.save(evaluate);
  206 + // 修改订单评价状态
  207 + LambdaUpdateWrapper<GarOrder> uw = new LambdaUpdateWrapper<>();
  208 + uw.eq(GarOrder::getGarOrderId, order.getGarOrderId())
  209 + .set(GarOrder::getGarEvaluateFlag, GlobalStatus.GarOrderStatus.EVALUATE_ORDER_YES.getValue());
  210 + update(uw);
43 } 211 }
44 } 212 }
45 213
trash-garbage/src/main/resources/mapper/GarOrderEvaluateMapper.xml 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE mapper
  3 + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4 + "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5 +<mapper namespace="com.trash.garbage.mapper.GarOrderEvaluateMapper">
  6 +
  7 + <resultMap id="BaseResultMap" type="com.trash.garbage.pojo.domain.GarOrderEvaluate">
  8 + <id property="garEvaluateId" column="gar_evaluate_id" jdbcType="VARCHAR"/>
  9 + <result property="garEvaluateContent" column="gar_evaluate_content" jdbcType="VARCHAR"/>
  10 + <result property="garOrderId" column="gar_order_id" jdbcType="VARCHAR"/>
  11 + <result property="garEvaluateScore" column="gar_evaluate_score" jdbcType="TINYINT"/>
  12 + <result property="garUpdateBy" column="gar_update_by" jdbcType="VARCHAR"/>
  13 + <result property="garCreateBy" column="gar_create_by" jdbcType="VARCHAR"/>
  14 + <result property="garUpdateTime" column="gar_update_time" jdbcType="TIMESTAMP"/>
  15 + <result property="garCreateTime" column="gar_create_time" jdbcType="TIMESTAMP"/>
  16 + <result property="garRemark" column="gar_remark" jdbcType="VARCHAR"/>
  17 + <result property="garCompanyId" column="gar_company_id" jdbcType="VARCHAR"/>
  18 + </resultMap>
  19 +
  20 + <sql id="Base_Column_List">
  21 + gar_evaluate_id,gar_evaluate_content,gar_evaluate_score,
  22 + gar_update_by,gar_create_by,gar_update_time,
  23 + gar_create_time,gar_remark,gar_order_id,gar_company_id
  24 + </sql>
  25 +</mapper>
trash-garbage/src/main/resources/mapper/GarOrderMapper.xml
@@ -25,6 +25,7 @@ @@ -25,6 +25,7 @@
25 <result property="garRemark" column="gar_remark" jdbcType="VARCHAR"/> 25 <result property="garRemark" column="gar_remark" jdbcType="VARCHAR"/>
26 <result property="garReason" column="gar_reason" jdbcType="VARCHAR"/> 26 <result property="garReason" column="gar_reason" jdbcType="VARCHAR"/>
27 <result property="garCancelFlag" column="gar_cancel_flag" jdbcType="TINYINT"/> 27 <result property="garCancelFlag" column="gar_cancel_flag" jdbcType="TINYINT"/>
  28 + <result property="garEvaluateFlag" column="gar_evaluate_flag" jdbcType="TINYINT"/>
28 </resultMap> 29 </resultMap>
29 30
30 <sql id="Base_Column_List"> 31 <sql id="Base_Column_List">
@@ -34,6 +35,6 @@ @@ -34,6 +35,6 @@
34 gar_order_trash_type,gar_order_contact_tel,gar_order_company_id, 35 gar_order_trash_type,gar_order_contact_tel,gar_order_company_id,
35 gar_order_company_name,gar_order_company_tel,gar_order_hander_status, 36 gar_order_company_name,gar_order_company_tel,gar_order_hander_status,
36 gar_order_agreement_time,gar_create_time,gar_update_time, 37 gar_order_agreement_time,gar_create_time,gar_update_time,
37 - gar_create_by,gar_update_by,gar_remark,gar_reason,gar_cancel_flag 38 + gar_create_by,gar_update_by,gar_remark,gar_reason,gar_cancel_flag,gar_evaluate_flag
38 </sql> 39 </sql>
39 </mapper> 40 </mapper>