Commit eb0a949648b3c8dcb82e3383f79ca2309c1a24bb
1 parent
b4baced4
feat: 接单,上传装车照片,卸货照片,写评价。
Showing
20 changed files
with
602 additions
and
18 deletions
trash-garbage/pom.xml
| ... | ... | @@ -19,10 +19,10 @@ |
| 19 | 19 | <groupId>com.trash</groupId> |
| 20 | 20 | <artifactId>trash-common</artifactId> |
| 21 | 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 | 26 | <dependency> |
| 27 | 27 | <groupId>com.trash</groupId> |
| 28 | 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 | 7 | import com.trash.garbage.custom.BizException; |
| 8 | 8 | import com.trash.garbage.global.Result; |
| 9 | 9 | import com.trash.garbage.global.ResultCode; |
| 10 | +import com.trash.garbage.pojo.dto.EvaluateDto; | |
| 10 | 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 | 15 | import com.trash.garbage.service.GarOrderService; |
| 12 | 16 | import org.springframework.beans.factory.annotation.Autowired; |
| 17 | +import org.springframework.validation.annotation.Validated; | |
| 13 | 18 | import org.springframework.web.bind.annotation.*; |
| 14 | 19 | import org.springframework.web.multipart.MultipartFile; |
| 15 | 20 | |
| 16 | 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 | 37 | private ServerConfig serverConfig; |
| 31 | 38 | |
| 32 | 39 | @PostMapping("/add") |
| 33 | - public Result<?> saveOrder(@RequestBody OrderDto dto) { | |
| 40 | + public Result<?> saveOrder(@Validated @RequestBody OrderDto dto) { | |
| 34 | 41 | return Result.OK(garOrderService.saveOrder(dto)); |
| 35 | 42 | } |
| 36 | 43 | |
| ... | ... | @@ -45,7 +52,36 @@ public class GarbageOrderController { |
| 45 | 52 | throw new BizException(ResultCode.CODE_400, ResultCode.CODE_400.getMsg()); |
| 46 | 53 | } |
| 47 | 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 | 42 | private Integer status; |
| 43 | 43 | private String description; |
| 44 | 44 | |
| 45 | - public int getStatus() { | |
| 45 | + public Integer getStatus() { | |
| 46 | 46 | return this.status; |
| 47 | 47 | } |
| 48 | 48 | |
| ... | ... | @@ -85,14 +85,17 @@ public class GlobalStatus { |
| 85 | 85 | */ |
| 86 | 86 | public enum GarOrderStatus { |
| 87 | 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 | 100 | GarOrderStatus(Integer status, String description) { |
| 98 | 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 | 11 | |
| 12 | 12 | import com.fasterxml.jackson.annotation.JsonFormat; |
| 13 | 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 | 50 | */ |
| 50 | 51 | @TableField(fill = FieldFill.INSERT, select = false) |
| 51 | 52 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd") |
| 53 | + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:dd") | |
| 52 | 54 | private Date garCreateTime; |
| 53 | 55 | |
| 54 | 56 | /** |
| ... | ... | @@ -56,6 +58,7 @@ public class GarAddress implements Serializable { |
| 56 | 58 | */ |
| 57 | 59 | @TableField(fill = FieldFill.INSERT_UPDATE, select = false) |
| 58 | 60 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd") |
| 61 | + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:dd") | |
| 59 | 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 | 6 | import java.util.Date; |
| 7 | 7 | |
| 8 | 8 | import com.fasterxml.jackson.annotation.JsonFormat; |
| 9 | +import com.fasterxml.jackson.annotation.JsonIgnore; | |
| 9 | 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 | 26 | /** |
| 25 | 27 | * 用户id |
| 26 | 28 | */ |
| 29 | + @JsonIgnore | |
| 27 | 30 | private String garOrderUserId; |
| 28 | 31 | |
| 29 | 32 | /** |
| ... | ... | @@ -86,6 +89,7 @@ public class GarOrder implements Serializable { |
| 86 | 89 | */ |
| 87 | 90 | @TableField(fill = FieldFill.INSERT) |
| 88 | 91 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd") |
| 92 | + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:dd") | |
| 89 | 93 | private Date garCreateTime; |
| 90 | 94 | |
| 91 | 95 | /** |
| ... | ... | @@ -93,6 +97,7 @@ public class GarOrder implements Serializable { |
| 93 | 97 | */ |
| 94 | 98 | @TableField(fill = FieldFill.INSERT_UPDATE) |
| 95 | 99 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd") |
| 100 | + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:dd") | |
| 96 | 101 | private Date garUpdateTime; |
| 97 | 102 | |
| 98 | 103 | /** |
| ... | ... | @@ -115,6 +120,11 @@ public class GarOrder implements Serializable { |
| 115 | 120 | * 取消标识 |
| 116 | 121 | */ |
| 117 | 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 | 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 | 9 | |
| 10 | 10 | import com.fasterxml.jackson.annotation.JsonFormat; |
| 11 | 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 | 44 | */ |
| 44 | 45 | @TableField(fill = FieldFill.INSERT) |
| 45 | 46 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd") |
| 47 | + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:dd") | |
| 46 | 48 | private Date garCreateTime; |
| 47 | 49 | |
| 48 | 50 | /** |
| ... | ... | @@ -50,6 +52,7 @@ public class GarOrderImage implements Serializable { |
| 50 | 52 | */ |
| 51 | 53 | @TableField(fill = FieldFill.INSERT_UPDATE) |
| 52 | 54 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd") |
| 55 | + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:dd") | |
| 53 | 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 | 9 | |
| 10 | 10 | import com.fasterxml.jackson.annotation.JsonFormat; |
| 11 | 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 | 55 | |
| 55 | 56 | @TableField(fill = FieldFill.INSERT) |
| 56 | 57 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd") |
| 58 | + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:dd") | |
| 57 | 59 | private Date garCreateTime; |
| 58 | 60 | |
| 59 | 61 | /** |
| ... | ... | @@ -61,6 +63,7 @@ public class GarUser implements Serializable { |
| 61 | 63 | */ |
| 62 | 64 | @TableField(fill = FieldFill.INSERT_UPDATE) |
| 63 | 65 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd") |
| 66 | + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:dd") | |
| 64 | 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 | 3 | import com.baomidou.mybatisplus.annotation.TableId; |
| 4 | 4 | import lombok.Data; |
| 5 | 5 | |
| 6 | +import javax.validation.constraints.NotBlank; | |
| 7 | +import javax.validation.constraints.NotEmpty; | |
| 6 | 8 | import java.util.List; |
| 7 | 9 | |
| 8 | 10 | /** |
| ... | ... | @@ -15,10 +17,12 @@ public class OrderDto { |
| 15 | 17 | /** |
| 16 | 18 | * 订单地址 |
| 17 | 19 | */ |
| 20 | + @NotBlank(message = "地址不能为空") | |
| 18 | 21 | private String garOrderAddress; |
| 19 | 22 | /** |
| 20 | 23 | * 图片列表 |
| 21 | 24 | */ |
| 25 | + @NotEmpty(message = "必须要有现场图片") | |
| 22 | 26 | private List<String> imageUrls; |
| 23 | 27 | /** |
| 24 | 28 | * 订单详细地址 |
| ... | ... | @@ -38,6 +42,7 @@ public class OrderDto { |
| 38 | 42 | /** |
| 39 | 43 | * 订单人电话 |
| 40 | 44 | */ |
| 45 | + @NotBlank(message = "电话不能为空") | |
| 41 | 46 | private String garOrderContactTel; |
| 42 | 47 | |
| 43 | 48 | /** |
| ... | ... | @@ -48,6 +53,7 @@ public class OrderDto { |
| 48 | 53 | /** |
| 49 | 54 | * 公司名称 |
| 50 | 55 | */ |
| 56 | + @NotEmpty(message = "公司名称不能为空") | |
| 51 | 57 | private String garOrderCompanyName; |
| 52 | 58 | |
| 53 | 59 | /** |
| ... | ... | @@ -58,6 +64,7 @@ public class OrderDto { |
| 58 | 64 | /** |
| 59 | 65 | * 约定时间 |
| 60 | 66 | */ |
| 67 | + @NotBlank(message = "约定时间不能为空") | |
| 61 | 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
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 | 1 | package com.trash.garbage.service; |
| 2 | 2 | |
| 3 | 3 | import com.baomidou.mybatisplus.extension.service.IService; |
| 4 | +import com.github.pagehelper.PageInfo; | |
| 4 | 5 | import com.trash.garbage.pojo.domain.GarOrder; |
| 6 | +import com.trash.garbage.pojo.dto.EvaluateDto; | |
| 5 | 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 | 15 | * @author 20412 |
| ... | ... | @@ -17,4 +24,37 @@ public interface GarOrderService extends IService<GarOrder> { |
| 17 | 24 | * @return |
| 18 | 25 | */ |
| 19 | 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 | 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 | 5 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| 6 | +import com.github.pagehelper.PageHelper; | |
| 7 | +import com.github.pagehelper.PageInfo; | |
| 4 | 8 | import com.trash.common.utils.SecurityUtils; |
| 5 | 9 | import com.trash.common.utils.bean.BeanUtils; |
| 6 | 10 | import com.trash.garbage.global.GlobalStatus; |
| 7 | 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 | 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 | 21 | import com.trash.garbage.service.GarOrderImageService; |
| 10 | 22 | import com.trash.garbage.service.GarOrderService; |
| 11 | 23 | import com.trash.garbage.mapper.GarOrderMapper; |
| 24 | +import com.trash.garbage.service.GarUserService; | |
| 12 | 25 | import org.springframework.beans.factory.annotation.Autowired; |
| 13 | 26 | import org.springframework.stereotype.Service; |
| 14 | 27 | import org.springframework.transaction.annotation.Transactional; |
| 15 | 28 | |
| 29 | +import java.util.ArrayList; | |
| 30 | +import java.util.List; | |
| 31 | + | |
| 16 | 32 | /** |
| 17 | 33 | * @author 20412 |
| 18 | 34 | * @description 针对表【gar_order(建筑垃圾—订单表)】的数据库操作Service实现 |
| ... | ... | @@ -26,6 +42,12 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 26 | 42 | @Autowired |
| 27 | 43 | private GarOrderImageService garOrderImageService; |
| 28 | 44 | |
| 45 | + @Autowired | |
| 46 | + private GarOrderEvaluateService garOrderEvaluateService; | |
| 47 | + | |
| 48 | + @Autowired | |
| 49 | + private GarUserService garUserService; | |
| 50 | + | |
| 29 | 51 | @Override |
| 30 | 52 | @Transactional(rollbackFor = Exception.class) |
| 31 | 53 | public String saveOrder(OrderDto dto) { |
| ... | ... | @@ -37,9 +59,155 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 37 | 59 | order.setGarCancelFlag(GlobalStatus.GarOrderStatus.CANCEL_FLAG_NO.getValue()); |
| 38 | 60 | save(order); |
| 39 | 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 | 25 | <result property="garRemark" column="gar_remark" jdbcType="VARCHAR"/> |
| 26 | 26 | <result property="garReason" column="gar_reason" jdbcType="VARCHAR"/> |
| 27 | 27 | <result property="garCancelFlag" column="gar_cancel_flag" jdbcType="TINYINT"/> |
| 28 | + <result property="garEvaluateFlag" column="gar_evaluate_flag" jdbcType="TINYINT"/> | |
| 28 | 29 | </resultMap> |
| 29 | 30 | |
| 30 | 31 | <sql id="Base_Column_List"> |
| ... | ... | @@ -34,6 +35,6 @@ |
| 34 | 35 | gar_order_trash_type,gar_order_contact_tel,gar_order_company_id, |
| 35 | 36 | gar_order_company_name,gar_order_company_tel,gar_order_hander_status, |
| 36 | 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 | 39 | </sql> |
| 39 | 40 | </mapper> | ... | ... |