Commit 4fccb519780f88e9d36b0df1394aa283183450ee

Authored by guzijian
1 parent 10c0daf3

feat: 用户修改车辆信息

Showing 26 changed files with 363 additions and 129 deletions
trash-garbage/src/main/java/com/trash/garbage/controller/GarbageOrderController.java
... ... @@ -18,7 +18,6 @@ import com.trash.garbage.custom.BizException;
18 18 import com.trash.garbage.global.Result;
19 19 import com.trash.garbage.global.ResultCode;
20 20 import com.trash.garbage.pojo.domain.GarOrder;
21   -import com.trash.garbage.pojo.domain.GarOrderMatchAsk;
22 21 import com.trash.garbage.pojo.dto.*;
23 22 import com.trash.garbage.pojo.vo.GarOrderMatchAskVo;
24 23 import com.trash.garbage.pojo.vo.OrderDetailTransportVo;
... ... @@ -78,6 +77,10 @@ public class GarbageOrderController {
78 77 return Result.OK(garOrderService.queryOrderDetail(id));
79 78 }
80 79  
  80 + @GetMapping("/handler/qrCode/{orderId}")
  81 + public Result<String> createHandlerQrCode(@PathVariable("orderId") String orderId) {
  82 + return Result.OK(garOrderService.createHandlerQrCode(orderId));
  83 + }
81 84  
82 85 @GetMapping("/detail/transport/{id}")
83 86 public Result<OrderDetailTransportVo> queryOrderTransportDetail(@PathVariable("id") String id) {
... ...
trash-garbage/src/main/java/com/trash/garbage/global/GlobalStatus.java
... ... @@ -91,8 +91,8 @@ public class GlobalStatus {
91 91 ALL_ORDER(2, "全部订单"),
92 92 SUCCESS_ORDER(3, "已完成"),
93 93 FAIL_ORDER(9, "订单处理失败"),
94   - MATCH_NO(0,"未分配"),
95   - MATCH_YES(1,"已分配"),
  94 + SCAN_HANDLER_NO(0,"未扫码处理"),
  95 + SCAN_HANDLER_YES(1,"已扫码处理"),
96 96 DISPATCH_HANDLE_NEW(0,"未接受"),
97 97 DISPATCH_HANDLE_ACTIVE(1,"已接受"),
98 98 DISPATCH_HANDLE_SUCCESS(3,"已完成"),
... ...
trash-garbage/src/main/java/com/trash/garbage/mapper/GarOrderMapper.java
... ... @@ -26,7 +26,7 @@ public interface GarOrderMapper extends BaseMapper&lt;GarOrder&gt; {
26 26  
27 27 List<GarOrderDisposalVo> queryDisposalOrderListByTelWithType(@Param("garUserTel") String garUserTel, @Param("type") Integer type, @Param("cancelFlag") Integer value);
28 28  
29   - ScanDriverDetailVo queryDriverDetailByTelWithOrderId(@Param("garUserTel") String tel,@Param("orderId") String orderId);
  29 + ScanDriverDetailVo queryDriverDetailByTelWithOrderId(@Param("orderId") String orderId,@Param("userId") String userId);
30 30  
31 31 OrderDetailTransportVo queryOrderTransportDetail(@Param("orderId") String id);
32 32  
... ...
trash-garbage/src/main/java/com/trash/garbage/mapper/mapper/GarOrderMatchDisposalMapper.java
... ... @@ -15,7 +15,7 @@ import java.util.List;
15 15 */
16 16 public interface GarOrderMatchDisposalMapper extends BaseMapper<GarOrderMatchDisposal> {
17 17  
18   - List<DispatchDisposalVo> queryDisposalListWithDispatchStatus(@Param("orderId") String orderId,@Param("companyId") Long id);
  18 + List<DispatchDisposalVo> queryDisposalListWithDispatchStatus(@Param("orderId") String orderId);
19 19 }
20 20  
21 21  
... ...
trash-garbage/src/main/java/com/trash/garbage/pojo/domain/GarOrder.java
... ... @@ -56,6 +56,8 @@ public class GarOrder implements Serializable {
56 56 * 垃圾类型
57 57 */
58 58 private String garOrderTrashType;
  59 + private String garOrderCompanyUserId;
  60 +
59 61  
60 62 /**
61 63 * 订单人电话
... ... @@ -132,7 +134,7 @@ public class GarOrder implements Serializable {
132 134 /**
133 135 * 分配标识
134 136 */
135   - private Integer garOrderMatchFlag;
  137 + private Integer garOrderScanHandlerFlag;
136 138  
137 139 /**
138 140 * 经度
... ... @@ -177,12 +179,12 @@ public class GarOrder implements Serializable {
177 179 }
178 180  
179 181  
180   - public Integer getGarOrderMatchFlag() {
181   - return garOrderMatchFlag;
  182 + public Integer getGarOrderScanHandlerFlag() {
  183 + return garOrderScanHandlerFlag;
182 184 }
183 185  
184   - public void setGarOrderMatchFlag(Integer garOrderMatchFlag) {
185   - this.garOrderMatchFlag = garOrderMatchFlag;
  186 + public void setGarOrderScanHandlerFlag(Integer garOrderScanHandlerFlag) {
  187 + this.garOrderScanHandlerFlag = garOrderScanHandlerFlag;
186 188 }
187 189  
188 190 public String getGarOrderId() {
... ... @@ -423,4 +425,19 @@ public class GarOrder implements Serializable {
423 425 this.garRealCarCount = garRealCarCount;
424 426 }
425 427  
  428 + public String getGarOrderCompanyUserId() {
  429 + return garOrderCompanyUserId;
  430 + }
  431 +
  432 + public void setGarOrderCompanyUserId(String garOrderCompanyUserId) {
  433 + this.garOrderCompanyUserId = garOrderCompanyUserId;
  434 + }
  435 +
  436 + public Boolean getGarInCarStore() {
  437 + return garInCarStore;
  438 + }
  439 +
  440 + public void setGarInCarStore(Boolean garInCarStore) {
  441 + this.garInCarStore = garInCarStore;
  442 + }
426 443 }
427 444 \ No newline at end of file
... ...
trash-garbage/src/main/java/com/trash/garbage/pojo/domain/GarOrderCar.java
... ... @@ -30,7 +30,7 @@ public class GarOrderCar implements Serializable {
30 30 private String garOrderCarType;
31 31  
32 32 /**
33   - * 0预计 1 实际(一条记录代表一辆车)
  33 + * 0预计 1 实际(一条记录代表一辆车) 暂时没有用到
34 34 */
35 35 private Integer garOrderCarUserType;
36 36  
... ...
trash-garbage/src/main/java/com/trash/garbage/pojo/domain/GarOrderMatchAsk.java
... ... @@ -43,7 +43,7 @@ public class GarOrderMatchAsk implements Serializable {
43 43 *
44 44 */
45 45 private String garOrderHandlerCompanyId;
46   -
  46 + private String garOrderContainerVolume;
47 47 /**
48 48 *
49 49 */
... ... @@ -189,4 +189,12 @@ public class GarOrderMatchAsk implements Serializable {
189 189 public void setGarOrderHandlerId(String garOrderHandlerId) {
190 190 this.garOrderHandlerId = garOrderHandlerId;
191 191 }
  192 +
  193 + public String getGarOrderContainerVolume() {
  194 + return garOrderContainerVolume;
  195 + }
  196 +
  197 + public void setGarOrderContainerVolume(String garOrderContainerVolume) {
  198 + this.garOrderContainerVolume = garOrderContainerVolume;
  199 + }
192 200 }
193 201 \ No newline at end of file
... ...
trash-garbage/src/main/java/com/trash/garbage/pojo/domain/GarOrderMatchHandler.java
... ... @@ -32,6 +32,7 @@ public class GarOrderMatchHandler implements Serializable {
32 32 * 处理人手机号
33 33 */
34 34 private String garOrderHandlerTel;
  35 + private String garOrderContainerVolume;
35 36 /**
36 37 * 处理人id
37 38 */
... ... @@ -117,6 +118,14 @@ public class GarOrderMatchHandler implements Serializable {
117 118 @TableField(exist = false)
118 119 private static final long serialVersionUID = 1L;
119 120  
  121 + public String getGarOrderContainerVolume() {
  122 + return garOrderContainerVolume;
  123 + }
  124 +
  125 + public void setGarOrderContainerVolume(String garOrderContainerVolume) {
  126 + this.garOrderContainerVolume = garOrderContainerVolume;
  127 + }
  128 +
120 129 public Integer getGarOrderStatus() {
121 130 return garOrderStatus;
122 131 }
... ...
trash-garbage/src/main/java/com/trash/garbage/pojo/dto/AskTransportDto.java
... ... @@ -22,6 +22,7 @@ public class AskTransportDto {
22 22 @NotBlank(message = "车牌号不能为空")
23 23 private String garHandlerCarCode;
24 24 private String garOrderHandlerName;
  25 + private String garOrderContainerVolume;
25 26 @NotBlank(message = "company不能为空")
26 27 private String garOrderHandlerCompanyId;
27 28 @NotBlank(message = "company不能为空")
... ... @@ -112,4 +113,12 @@ public class AskTransportDto {
112 113 public void setGarOrderCompanyTel(String garOrderCompanyTel) {
113 114 this.garOrderCompanyTel = garOrderCompanyTel;
114 115 }
  116 +
  117 + public String getGarOrderContainerVolume() {
  118 + return garOrderContainerVolume;
  119 + }
  120 +
  121 + public void setGarOrderContainerVolume(String garOrderContainerVolume) {
  122 + this.garOrderContainerVolume = garOrderContainerVolume;
  123 + }
115 124 }
... ...
trash-garbage/src/main/java/com/trash/garbage/pojo/dto/DispatchDto.java
... ... @@ -15,11 +15,20 @@ public class DispatchDto {
15 15 @ToString
16 16 @EqualsAndHashCode
17 17 public static class DispatchDetail{
  18 + private String garOrderContainerVolume;
18 19 private String carCode;
19 20 private String tel;
20 21 private String name;
21 22 private String id;
22 23  
  24 + public String getGarOrderContainerVolume() {
  25 + return garOrderContainerVolume;
  26 + }
  27 +
  28 + public void setGarOrderContainerVolume(String garOrderContainerVolume) {
  29 + this.garOrderContainerVolume = garOrderContainerVolume;
  30 + }
  31 +
23 32 public String getId() {
24 33 return id;
25 34 }
... ...
trash-garbage/src/main/java/com/trash/garbage/pojo/dto/OrderDto.java
1 1 package com.trash.garbage.pojo.dto;
2 2  
3 3 import lombok.Data;
  4 +import lombok.EqualsAndHashCode;
  5 +import lombok.ToString;
4 6  
5 7 import javax.validation.constraints.NotBlank;
6 8 import javax.validation.constraints.NotEmpty;
... ... @@ -88,7 +90,8 @@ public class OrderDto {
88 90  
89 91 private List<CarInfo> garCarInfoList;
90 92  
91   - @Data
  93 + @ToString
  94 + @EqualsAndHashCode
92 95 public static class CarInfo {
93 96 /**
94 97 * 车辆数量
... ... @@ -115,6 +118,7 @@ public class OrderDto {
115 118 public void setGarOrderCarType(String garOrderCarType) {
116 119 this.garOrderCarType = garOrderCarType;
117 120 }
  121 +
118 122 }
119 123  
120 124 public List<CarInfo> getGarCarInfoList() {
... ...
trash-garbage/src/main/java/com/trash/garbage/pojo/dto/OrderUpdateDto.java
1 1 package com.trash.garbage.pojo.dto;
2 2  
3 3 import lombok.Data;
  4 +import lombok.EqualsAndHashCode;
  5 +import lombok.ToString;
4 6  
5 7 import java.util.List;
6 8  
7 9 /**
8 10 * @author 20412
9 11 */
10   -@Data
  12 +@EqualsAndHashCode
  13 +@ToString
11 14 public class OrderUpdateDto {
12 15  
13 16 /**
... ... @@ -19,8 +22,6 @@ public class OrderUpdateDto {
19 22  
20 23 private String garReason;
21 24  
22   - private String validCode;
23   -
24 25 /**
25 26 * 订单id
26 27 */
... ... @@ -31,7 +32,69 @@ public class OrderUpdateDto {
31 32 */
32 33 private Integer handleType;
33 34  
34   - /**
  35 + private Boolean updated;
  36 +
  37 + private Integer garRealCarCount;
  38 +
  39 + private String garOrderCompanyTel;
  40 + private List<OrderDto.CarInfo> garCarInfoList;
  41 + @ToString
  42 + @EqualsAndHashCode
  43 + public static class CarInfo {
  44 + /**
  45 + * 车辆数量
  46 + */
  47 + private Integer garOrderCarNumber;
  48 +
  49 + /**
  50 + * 车子类型
  51 + */
  52 + private String garOrderCarType;
  53 +
  54 + public Integer getGarOrderCarNumber() {
  55 + return garOrderCarNumber;
  56 + }
  57 +
  58 + public void setGarOrderCarNumber(Integer garOrderCarNumber) {
  59 + this.garOrderCarNumber = garOrderCarNumber;
  60 + }
  61 +
  62 + public String getGarOrderCarType() {
  63 + return garOrderCarType;
  64 + }
  65 +
  66 + public void setGarOrderCarType(String garOrderCarType) {
  67 + this.garOrderCarType = garOrderCarType;
  68 + }
  69 +
  70 + }
  71 +
  72 +
  73 + public String getGarOrderCompanyTel() {
  74 + return garOrderCompanyTel;
  75 + }
  76 +
  77 + public void setGarOrderCompanyTel(String garOrderCompanyTel) {
  78 + this.garOrderCompanyTel = garOrderCompanyTel;
  79 + }
  80 +
  81 + public Boolean getUpdated() {
  82 + return updated;
  83 + }
  84 +
  85 + public void setUpdated(Boolean updated) {
  86 + this.updated = updated;
  87 + }
  88 +
  89 + public Integer getGarRealCarCount() {
  90 + return garRealCarCount;
  91 + }
  92 +
  93 + public void setGarRealCarCount(Integer garRealCarCount) {
  94 + this.garRealCarCount = garRealCarCount;
  95 + }
  96 +
  97 + /**
35 98 * 照片url
36 99 */
37 100 private List<String> imageUrls;
... ... @@ -85,11 +148,11 @@ public class OrderUpdateDto {
85 148 this.garOrderHandleTel = garOrderHandleTel;
86 149 }
87 150  
88   - public String getValidCode() {
89   - return validCode;
  151 + public List<OrderDto.CarInfo> getGarCarInfoList() {
  152 + return garCarInfoList;
90 153 }
91 154  
92   - public void setValidCode(String validCode) {
93   - this.validCode = validCode;
  155 + public void setGarCarInfoList(List<OrderDto.CarInfo> garCarInfoList) {
  156 + this.garCarInfoList = garCarInfoList;
94 157 }
95 158 }
... ...
trash-garbage/src/main/java/com/trash/garbage/pojo/vo/DispatchDriverVo.java
... ... @@ -27,6 +27,7 @@ public class DispatchDriverVo {
27 27 /**
28 28 * 人员信息
29 29 */
  30 + @ToString
30 31 @EqualsAndHashCode
31 32 public static class Personnel {
32 33 /**
... ...
trash-garbage/src/main/java/com/trash/garbage/pojo/vo/GarOrderDisposalVo.java
... ... @@ -15,6 +15,7 @@ import java.util.Date;
15 15 @ToString
16 16 public class GarOrderDisposalVo extends GarOrder {
17 17 private Integer garOrderDisposalStatus;
  18 + private Integer garNowCarCount;
18 19 @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
19 20 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
20 21 private Date garCreateTime;
... ... @@ -36,4 +37,12 @@ public class GarOrderDisposalVo extends GarOrder {
36 37 public void setGarOrderDisposalStatus(Integer garOrderDisposalStatus) {
37 38 this.garOrderDisposalStatus = garOrderDisposalStatus;
38 39 }
  40 +
  41 + public Integer getGarNowCarCount() {
  42 + return garNowCarCount;
  43 + }
  44 +
  45 + public void setGarNowCarCount(Integer garNowCarCount) {
  46 + this.garNowCarCount = garNowCarCount;
  47 + }
39 48 }
... ...
trash-garbage/src/main/java/com/trash/garbage/pojo/vo/OrderDetailTransportVo.java
... ... @@ -65,6 +65,15 @@ public class OrderDetailTransportVo {
65 65 private String fillImage;
66 66 private String garAskId;
67 67 private String garHandlerCarCode;
  68 + private String garOrderContainerVolume;
  69 +
  70 + public String getGarOrderContainerVolume() {
  71 + return garOrderContainerVolume;
  72 + }
  73 +
  74 + public void setGarOrderContainerVolume(String garOrderContainerVolume) {
  75 + this.garOrderContainerVolume = garOrderContainerVolume;
  76 + }
68 77  
69 78 public String getFillImage() {
70 79 return fillImage;
... ...
trash-garbage/src/main/java/com/trash/garbage/pojo/vo/OrderDetailVo.java
... ... @@ -22,9 +22,9 @@ public class OrderDetailVo {
22 22  
23 23 private Integer garCancelFlag;
24 24  
25   - private String validCode;
26 25 private String garReason;
27 26 private String garOrderHandlerId;
  27 + private Integer garOrderScanHandlerFlag;
28 28  
29 29 private Integer garEvaluateFlag;
30 30  
... ... @@ -150,14 +150,6 @@ public class OrderDetailVo {
150 150 this.garHandlerEvaluateFlag = GlobalStatus.GarOrderStatus.EVALUATE_ORDER_NO.getValue();
151 151 }
152 152  
153   - public String getValidCode() {
154   - return validCode;
155   - }
156   -
157   - public void setValidCode(String validCode) {
158   - this.validCode = validCode;
159   - }
160   -
161 153 public String getGarHandlerCarCode() {
162 154 return garHandlerCarCode;
163 155 }
... ... @@ -402,4 +394,11 @@ public class OrderDetailVo {
402 394 this.garCoordinate = garCoordinate;
403 395 }
404 396  
  397 + public Integer getGarOrderScanHandlerFlag() {
  398 + return garOrderScanHandlerFlag;
  399 + }
  400 +
  401 + public void setGarOrderScanHandlerFlag(Integer garOrderScanHandlerFlag) {
  402 + this.garOrderScanHandlerFlag = garOrderScanHandlerFlag;
  403 + }
405 404 }
... ...
trash-garbage/src/main/java/com/trash/garbage/pojo/vo/ScanDriverDetailVo.java
... ... @@ -14,7 +14,15 @@ public class ScanDriverDetailVo extends GarOrder {
14 14 private String garOrderHandlerTel;
15 15 private String garHandlerCarCode;
16 16 private String garOrderHandlerId;
  17 + private String garOrderContainerVolume;
17 18  
  19 + public String getGarOrderContainerVolume() {
  20 + return garOrderContainerVolume;
  21 + }
  22 +
  23 + public void setGarOrderContainerVolume(String garOrderContainerVolume) {
  24 + this.garOrderContainerVolume = garOrderContainerVolume;
  25 + }
18 26  
19 27 public String getGarOrderHandlerId() {
20 28 return garOrderHandlerId;
... ...
trash-garbage/src/main/java/com/trash/garbage/pojo/vo/TransportationEnterpriseVo.java
... ... @@ -10,7 +10,6 @@ import java.text.DecimalFormat;
10 10 @EqualsAndHashCode
11 11 public class TransportationEnterpriseVo extends TransportationEnterprise {
12 12 private String score;
13   -
14 13 private Integer cleanNumber;
15 14 private String distance;
16 15  
... ... @@ -44,4 +43,5 @@ public class TransportationEnterpriseVo extends TransportationEnterprise {
44 43 DecimalFormat df = new DecimalFormat("#0.0");
45 44 this.distance = df.format(distance);
46 45 }
  46 +
47 47 }
... ...
trash-garbage/src/main/java/com/trash/garbage/service/GarOrderMatchDisposalService.java
... ... @@ -13,5 +13,5 @@ import java.util.List;
13 13 */
14 14 public interface GarOrderMatchDisposalService extends IService<GarOrderMatchDisposal> {
15 15  
16   - List<DispatchDisposalVo> queryDisposalListWithDispatchStatus(String orderId, Long id);
  16 + List<DispatchDisposalVo> queryDisposalListWithDispatchStatus(String orderId);
17 17 }
... ...
trash-garbage/src/main/java/com/trash/garbage/service/GarOrderService.java
... ... @@ -88,4 +88,7 @@ public interface GarOrderService extends IService&lt;GarOrder&gt; {
88 88 OrderDetailTransportVo queryOrderTransportDetail(String id);
89 89  
90 90 GarOrderMatchAskVo scanDetail(String askId);
  91 +
  92 + String createHandlerQrCode(String orderId);
  93 +
91 94 }
... ...
trash-garbage/src/main/java/com/trash/garbage/service/impl/GarOrderMatchDisposalServiceImpl.java
... ... @@ -19,8 +19,8 @@ public class GarOrderMatchDisposalServiceImpl extends ServiceImpl&lt;GarOrderMatchD
19 19 implements GarOrderMatchDisposalService {
20 20  
21 21 @Override
22   - public List<DispatchDisposalVo> queryDisposalListWithDispatchStatus(String orderId, Long id) {
23   - return baseMapper.queryDisposalListWithDispatchStatus(orderId,id);
  22 + public List<DispatchDisposalVo> queryDisposalListWithDispatchStatus(String orderId) {
  23 + return baseMapper.queryDisposalListWithDispatchStatus(orderId);
24 24 }
25 25 }
26 26  
... ...
trash-garbage/src/main/java/com/trash/garbage/service/impl/GarOrderServiceImpl.java
... ... @@ -88,11 +88,14 @@ public class GarOrderServiceImpl extends ServiceImpl&lt;GarOrderMapper, GarOrder&gt;
88 88 public String saveOrder(OrderDto dto) {
89 89 String userId = SecurityUtils.getLoginUser().getUser().getUserId();
90 90 GarOrder order = new GarOrder();
91   - BeanUtils.copyProperties(dto, order, "garOrderCompanyId");
  91 + // companyId
  92 + BeanUtils.copyProperties(dto, order);
92 93 order.setGarOrderUserId(userId);
93 94 order.setGarOrderHandlerStatus(GlobalStatus.GarOrderStatus.NEW_ORDER.getValue());
94 95 order.setGarCancelFlag(GlobalStatus.GarOrderStatus.CANCEL_FLAG_NO.getValue());
95   - order.setGarOrderMatchFlag(GlobalStatus.GarOrderStatus.MATCH_NO.getValue());
  96 + order.setGarOrderScanHandlerFlag(GlobalStatus.GarOrderStatus.SCAN_HANDLER_NO.getValue());
  97 + // 预估车辆等于用户选择得车辆
  98 + order.setGarRealCarCount(dto.getGarCarInfoList().stream().mapToInt(OrderDto.CarInfo::getGarOrderCarNumber).sum());
96 99 save(order);
97 100  
98 101 // 保存车辆信息
... ... @@ -133,7 +136,7 @@ public class GarOrderServiceImpl extends ServiceImpl&lt;GarOrderMapper, GarOrder&gt;
133 136 || user.getGarUserType().equals(GlobalStatus.GarUserStatusEnum.NORMAL_USER.getDescription())) {
134 137 return getOrderDetailVoResponsible(id, user);
135 138 }
136   - // 订单分发获取 处理人
  139 + // 订单分发获取 驾驶
137 140 if (user.getGarUserType().equals(GlobalStatus.GarUserStatusEnum.DRIVER_USER.getDescription())) {
138 141 return getOrderDetailVoDriver(id, user);
139 142 }
... ... @@ -171,9 +174,6 @@ public class GarOrderServiceImpl extends ServiceImpl&lt;GarOrderMapper, GarOrder&gt;
171 174 qwc.eq(GarOrderCar::getGarOrderId, orderVo.getGarOrderId());
172 175 List<GarOrderCar> carList = garOrderCarService.list(qwc);
173 176 vo.setGarCarInfoList(carList);
174   - // 验证码
175   - String validCode = redisCache.getCacheMapValue(user.getGarUserTel(), orderId);
176   - vo.setValidCode(validCode);
177 177 return vo;
178 178 }
179 179  
... ... @@ -285,6 +285,7 @@ public class GarOrderServiceImpl extends ServiceImpl&lt;GarOrderMapper, GarOrder&gt;
285 285 }
286 286  
287 287 @Override
  288 + @Transactional(rollbackFor = Exception.class)
288 289 public String updateOrder(OrderUpdateDto dto) {
289 290 String userId = SecurityUtils.getLoginUser().getUser().getUserId();
290 291 GarUser user = garUserService.getById(userId);
... ... @@ -309,37 +310,13 @@ public class GarOrderServiceImpl extends ServiceImpl&lt;GarOrderMapper, GarOrder&gt;
309 310 }
310 311  
311 312 private String handlerDisposalSiteOrderStatus(OrderUpdateDto dto, GarUser user) {
312   - GarOrderDriverVo order = baseMapper.queryOrderByTelWithType(user.getGarUserTel(), dto.getGarOrderId(), GlobalStatus.GarOrderStatus.CANCEL_FLAG_NO.getValue());
313   - // 处理场所负责人 清运中 ==》已完成 TODO 修改 只有与预估车辆相匹配以后才会完成订单
314   -// if (GlobalStatus.GarOrderStatus.ACTIVE_ORDER.getValue().equals(order.getGarOrderHandlerStatus())
315   -// && GlobalStatus.GarOrderStatus.SUCCESS_ORDER.getValue().equals(dto.getHandleType())) {
316   -// LambdaUpdateWrapper<GarOrderMatchHandler> uw = new LambdaUpdateWrapper<>();
317   -// uw.eq(GarOrderMatchHandler::getGarOrderId, dto.getGarOrderId())
318   -// .eq(GarOrderMatchHandler::getGarOrderHandlerTel, user.getGarUserTel())
319   -// .set(GarOrderMatchHandler::getGarOrderStatus, GlobalStatus.GarOrderStatus.SUCCESS_ORDER.getValue());
320   -// handlerService.update(uw);
321   -// return "订单已完成";
322   -// }
323   - // 根据传入的validCode 和订单id去生成一条清运记录 一条记录生成一个validCode
324   - // TODO 生成记录
325   -// GarOrderMatchAsk ask = new GarOrderMatchAsk();
326   -// BeanUtils.copyProperties(order, ask, "garCreateTime", "garUpdateTime", "garCreateBy", "garUpdateBy");
327   -// String code = ValidateCodeUtil.generatorCode(6);
328   -// redisCache.setCacheMapValue(dto.getGarOrderHandleTel(), dto.getGarOrderId(), code);
329   -// matchAskService.save(ask);
330   -// return "当前趟次记录成功";
331   - // TODO 记录数
332   - // update order count
333 313 throw new BizException(ResultCode.CODE_500);
334 314 }
335 315  
336   - private boolean checkCode(String code) {
  316 + private boolean checkCode(String code, String orderId, String userId) {
337 317 if (StringUtils.isNotBlank(code)) {
338   - String[] params = code.split(",");
339   - if (params.length == 3) {
340   - String validCode = redisCache.getCacheMapValue(params[0], params[1]);
341   - return code.equals(validCode);
342   - }
  318 + String validCode = redisCache.getCacheMapValue(orderId, userId);
  319 + return code.equals(validCode);
343 320 }
344 321 return false;
345 322 }
... ... @@ -356,12 +333,9 @@ public class GarOrderServiceImpl extends ServiceImpl&lt;GarOrderMapper, GarOrder&gt;
356 333 LambdaUpdateWrapper<GarOrderMatchHandler> uw = new LambdaUpdateWrapper<>();
357 334 uw.eq(GarOrderMatchHandler::getGarOrderId, dto.getGarOrderId())
358 335 .eq(GarOrderMatchHandler::getGarOrderHandlerTel, tel)
359   - .set(GarOrderMatchHandler::getGarOrderStatus, GlobalStatus.GarOrderStatus.ACTIVE_ORDER.getValue())
  336 + .set(GarOrderMatchHandler::getGarOrderHandlerStatus, GlobalStatus.GarOrderStatus.ACTIVE_ORDER.getValue())
360 337 .set(GarOrderMatchHandler::getGarOrderHandlerId, user.getGarUserId());
361 338 handlerService.update(uw);
362   - // TODO 以订单id和人员手机号 hash key返回前端生成二维码 存放到redis中
363   - String code = tel + "," + order.getGarOrderId() + "," + ValidateCodeUtil.generatorCode(6);
364   - redisCache.setCacheMapValue(tel, order.getGarOrderId(), code);
365 339 return "已接受订单";
366 340 }
367 341 throw new BizException(ResultCode.CODE_500);
... ... @@ -369,12 +343,12 @@ public class GarOrderServiceImpl extends ServiceImpl&lt;GarOrderMapper, GarOrder&gt;
369 343  
370 344 private String handlerOrderStatus(OrderUpdateDto dto, GarUser user) {
371 345 GarOrder order = getById(dto.getGarOrderId());
372   - // 取消订单
  346 + // 取消订单公用
373 347 if (GlobalStatus.GarOrderStatus.CANCEL_FLAG_YES.getValue().equals(dto.getGarCancelFlag())) {
374 348 LambdaUpdateWrapper<GarOrder> uw = new LambdaUpdateWrapper<>();
375 349 uw.set(GarOrder::getGarCancelFlag, dto.getGarCancelFlag())
376   - .set(GarOrder::getGarReason, dto.getGarReason())
377   - .eq(GarOrder::getGarOrderId, dto.getGarOrderId());
  350 + .eq(GarOrder::getGarOrderId, dto.getGarOrderId())
  351 + .set(GarOrder::getGarReason, dto.getGarReason());
378 352 update(uw);
379 353 // TODO 短信提醒 公司 | 居民
380 354 String tel = GlobalStatus.GarUserStatusEnum.NORMAL_USER.getDescription().equals(user.getGarUserType()) ?
... ... @@ -384,18 +358,44 @@ public class GarOrderServiceImpl extends ServiceImpl&lt;GarOrderMapper, GarOrder&gt;
384 358 smsUtils.sendMessage(tel, message);
385 359 return "订单取消成功";
386 360 }
387   - // 企业负责人
388   - else {
  361 + // 用户修改
  362 + else if (GlobalStatus.GarUserStatusEnum.NORMAL_USER.getDescription().equals(user.getGarUserType()) && dto.getUpdated()) {
  363 + // TODO 待优化 可能出现线程安全 需要上锁
  364 + if (order.getGarOrderScanHandlerFlag().equals(GlobalStatus.GarOrderStatus.SCAN_HANDLER_YES.getValue())) {
  365 + throw new BizException(ResultCode.CODE_400, "当前订单无法修改,因为已有驾驶员确认");
  366 + }
  367 + // 删除之前的车辆数
  368 + LambdaQueryWrapper<GarOrderCar> qw = new LambdaQueryWrapper<>();
  369 + qw.eq(GarOrderCar::getGarOrderId, dto.getGarOrderId());
  370 + garOrderCarService.remove(qw);
  371 + // 保存车辆信息
  372 + List<OrderDto.CarInfo> garCarInfoList = dto.getGarCarInfoList();
  373 + List<GarOrderCar> garOrderCars = new ArrayList<>();
  374 + for (OrderDto.CarInfo carInfo : garCarInfoList) {
  375 + for (int index = 0; index < carInfo.getGarOrderCarNumber(); index++) {
  376 + GarOrderCar car = new GarOrderCar();
  377 + car.setGarOrderCarType(carInfo.getGarOrderCarType());
  378 + car.setGarOrderId(dto.getGarOrderId());
  379 + car.setGarOrderCarUserType(GlobalStatus.GarOrderStatus.REAL_CAR_TYPE.getValue());
  380 + garOrderCars.add(car);
  381 + }
  382 + }
  383 + garOrderCarService.saveBatch(garOrderCars);
  384 + order.setGarRealCarCount(garOrderCars.size());
  385 + updateById(order);
  386 + // TODO 发送短信用户修改订单了
  387 + smsUtils.sendMessage(dto.getGarOrderCompanyTel(), "您的清运订单有修改,请及时查看并处理!");
  388 + return "修改成功";
  389 + }
  390 + // 企业负责人 清运-》完成
  391 + else if (GlobalStatus.GarUserStatusEnum.RESPONSIBLE_USER.getDescription().equals(user.getGarUserType())) {
389 392 // 公司所属 待清运- 》 清运中
390 393 if (order.getGarOrderHandlerStatus().equals(GlobalStatus.GarOrderStatus.NEW_ORDER.getValue())
391 394 || GlobalStatus.GarOrderStatus.NEW_ORDER.getValue().equals(dto.getHandleType())) {
392   - if (StringUtils.isNotEmpty(order.getGarOrderCompanyId())) {
393   - throw new BizException(ResultCode.CODE_500, "订单已经接受了");
394   - }
395 395 LambdaUpdateWrapper<GarOrder> uw = new LambdaUpdateWrapper<>();
396 396 uw.eq(GarOrder::getGarOrderId, dto.getGarOrderId())
397 397 .set(GarOrder::getGarOrderHandlerStatus, GlobalStatus.GarOrderStatus.ACTIVE_ORDER.getValue())
398   - .set(GarOrder::getGarOrderCompanyId, user.getGarUserId());
  398 + .set(GarOrder::getGarOrderCompanyUserId, user.getGarUserId());
399 399 update(uw);
400 400 // TODO 短信提醒
401 401 smsUtils.sendMessage(order.getGarOrderContactTel(), "运输公司已接受订单号为 " + order.getGarOrderId() + " 的订单。");
... ... @@ -410,11 +410,25 @@ public class GarOrderServiceImpl extends ServiceImpl&lt;GarOrderMapper, GarOrder&gt;
410 410 .set(GarOrder::getGarHandlerEvaluateFlag, GlobalStatus.GarOrderStatus.EVALUATE_ORDER_NO.getValue())
411 411 .set(GarOrder::getGarEvaluateFlag, GlobalStatus.GarOrderStatus.EVALUATE_ORDER_NO.getValue());
412 412 update(uw);
  413 + smsUtils.sendMessage(order.getGarOrderContactTel(), "您的清运订单已完成,可前往小程序进行评价,感谢您的使用");
  414 + smsUtils.sendMessage(order.getGarOrderCompanyTel(), "您的清运订单已完成,详情可在小程序查看。");
  415 + // 更新disposal
  416 + LambdaUpdateWrapper<GarOrderMatchDisposal> uwd = new LambdaUpdateWrapper<>();
  417 + uwd.eq(GarOrderMatchDisposal::getGarOrderId, dto.getGarOrderId())
  418 + .set(GarOrderMatchDisposal::getGarOrderDisposalStatus, GlobalStatus.GarOrderStatus.SUCCESS_ORDER.getValue());
  419 + disposalService.update(uwd);
  420 + // 更新handler
  421 + LambdaUpdateWrapper<GarOrderMatchHandler> uwh = new LambdaUpdateWrapper<>();
  422 + uwh.eq(GarOrderMatchHandler::getGarOrderId, dto.getGarOrderId())
  423 + .set(GarOrderMatchHandler::getGarOrderHandlerStatus, GlobalStatus.GarOrderStatus.SUCCESS_ORDER.getValue());
  424 + handlerService.update(uwh);
413 425 }
414 426 // TODO 短信提醒
415 427 smsUtils.sendMessage(order.getGarOrderContactTel(), "运输公司已完成订单号为 " + order.getGarOrderId() + " 的订单。");
416 428 return "订单已完成";
417 429 }
  430 +
  431 + throw new BizException(ResultCode.CODE_400);
418 432 }
419 433  
420 434 @Override
... ... @@ -635,7 +649,7 @@ public class GarOrderServiceImpl extends ServiceImpl&lt;GarOrderMapper, GarOrder&gt;
635 649 List<GarOrderMatchHandler> handlerList = new ArrayList<>(dto.getDispatchList().size());
636 650 // 每次下发统计选中驾驶员更新实际派车数量
637 651 // 已分配 继续下发
638   - if (order.getGarOrderMatchFlag().equals(GlobalStatus.GarOrderStatus.MATCH_YES.getValue())) {
  652 + if (order.getGarOrderScanHandlerFlag().equals(GlobalStatus.GarOrderStatus.SCAN_HANDLER_YES.getValue())) {
639 653 LambdaQueryWrapper<GarOrderMatchHandler> qw = new LambdaQueryWrapper<>();
640 654 qw.eq(GarOrderMatchHandler::getGarOrderId, order.getGarOrderId());
641 655 Map<String, GarOrderMatchHandler> handlerMap = handlerService.list(qw).stream().collect(Collectors.toMap(item -> item.getGarOrderHandlerTel(), item -> item));
... ... @@ -653,11 +667,9 @@ public class GarOrderServiceImpl extends ServiceImpl&lt;GarOrderMapper, GarOrder&gt;
653 667 }
654 668 }
655 669 handlerService.saveBatch(handlerList);
656   - order.setGarOrderMatchFlag(GlobalStatus.GarOrderStatus.MATCH_YES.getValue());
657 670 List<String> tels = handlerList.stream().map(GarOrderMatchHandler::getGarOrderHandlerTel).collect(Collectors.toList());
658 671 // TODO 短信通知
659 672 smsUtils.sendMessage(tels, "您有新的清运任务!请打开小程序查看当前任务。");
660   - updateById(order);
661 673 }
662 674  
663 675 private GarOrderMatchHandler getGarOrderMatchHandler(GarOrder order, DispatchDto.DispatchDetail detail) {
... ... @@ -667,9 +679,10 @@ public class GarOrderServiceImpl extends ServiceImpl&lt;GarOrderMapper, GarOrder&gt;
667 679 handler.setGarHandlerCarCode(detail.getCarCode());
668 680 handler.setGarCancelFlag(order.getGarCancelFlag());
669 681 handler.setGarOrderId(order.getGarOrderId());
670   - handler.setGarOrderHandlerStatus(order.getGarOrderHandlerStatus());
  682 + handler.setGarOrderHandlerStatus(GlobalStatus.GarOrderStatus.NEW_ORDER.getValue());
671 683 handler.setGarOrderHandlerCompanyName(order.getGarOrderCompanyName());
672 684 handler.setGarOrderHandlerCompanyId(order.getGarOrderCompanyId());
  685 + handler.setGarOrderContainerVolume(detail.getGarOrderContainerVolume());
673 686 // handler.setGarOrderHandlerId(detail.getId());
674 687 handler.setGarOrderStatus(GlobalStatus.GarOrderStatus.DISPATCH_HANDLE_NEW.getValue());
675 688 return handler;
... ... @@ -749,45 +762,90 @@ public class GarOrderServiceImpl extends ServiceImpl&lt;GarOrderMapper, GarOrder&gt;
749 762 // TODO
750 763 // String tel = SecurityUtils.getLoginUser().getUser().getPhonenumber();
751 764 // 选中的司机处理场所
752   - List<DispatchDisposalVo> voList = disposalService.queryDisposalListWithDispatchStatus(orderId, null);
  765 + List<DispatchDisposalVo> voList = disposalService.queryDisposalListWithDispatchStatus(orderId);
753 766 return voList;
754 767 }
755 768  
756 769 @Override
757 770 public ScanDriverDetailVo checkValidCode(String validCode) {
758   - // TODO check code
759   - if (checkCode(validCode)) {
  771 + if (StringUtils.isNotBlank(validCode)) {
760 772 String[] params = validCode.split(",");
761   - ScanDriverDetailVo vo = baseMapper.queryDriverDetailByTelWithOrderId(params[0], params[1]);
762   - return vo;
  773 + String orderId = params[0];
  774 + String userId = params[1];
  775 + // TODO check code
  776 + if (checkCode(validCode, orderId, userId)) {
  777 + ScanDriverDetailVo vo = baseMapper.queryDriverDetailByTelWithOrderId(orderId, userId);
  778 + return vo;
  779 + }
763 780 }
  781 +
764 782 throw new BizException(ResultCode.CODE_400, "二维码验证不通过");
765 783 }
766 784  
767 785 @Override
768 786 public String askTransport(AskTransportDto dto) {
769   - GarOrderMatchAsk ask = new GarOrderMatchAsk();
770   - BeanUtils.copyProperties(dto, ask);
771   - matchAskService.save(ask);
  787 +
772 788 // TODO 判断是否运载完毕 已经到预估趟次则不在生成验证码
773   - String tel = dto.getGarOrderHandlerTel();
774 789 String orderId = dto.getGarOrderId();
775   - String code = tel + "," + orderId + "," + ValidateCodeUtil.generatorCode(6);
776   -// redisCache.setCacheMapValue(tel, orderId, code);*
777   - // 保存图片url
778   - List<GarOrderImage> imageList = new ArrayList<>(dto.getFillImageList().size());
779   - for (String fillImageUrl : dto.getFillImageList()) {
780   - GarOrderImage image = new GarOrderImage();
781   - image.setGarOrderImageType(GlobalStatus.GarOrderStatus.IMAGE_TYPE_FILL_CAR.getValue());
782   - image.setGarOrderId(orderId);
783   - image.setGarOrderImageUrl(fillImageUrl);
784   - image.setGarRemark(ask.getGarId());
785   - imageList.add(image);
  790 +
  791 + // 查询当前运载几趟 如果全部运输完毕则发送成功短信
  792 + LambdaQueryWrapper<GarOrderMatchAsk> qw = new LambdaQueryWrapper<>();
  793 + qw.eq(GarOrderMatchAsk::getGarOrderId, dto.getGarOrderId());
  794 + int transportCount = askService.list(qw).size();
  795 + GarOrder order = getById(orderId);
  796 + if (transportCount <= order.getGarRealCarCount() - 1) {
  797 + // 第一次的话需要修改订单状态为已扫码
  798 + if (order.getGarOrderScanHandlerFlag().equals(GlobalStatus.GarOrderStatus.SCAN_HANDLER_NO.getValue())) {
  799 + order.setGarOrderScanHandlerFlag(GlobalStatus.GarOrderStatus.SCAN_HANDLER_YES.getValue());
  800 + updateById(order);
  801 + }
  802 + GarOrderMatchAsk ask = new GarOrderMatchAsk();
  803 + BeanUtils.copyProperties(dto, ask);
  804 + matchAskService.save(ask);
  805 + // 保存图片url
  806 + List<GarOrderImage> imageList = new ArrayList<>(dto.getFillImageList().size());
  807 + for (String fillImageUrl : dto.getFillImageList()) {
  808 + GarOrderImage image = new GarOrderImage();
  809 + image.setGarOrderImageType(GlobalStatus.GarOrderStatus.IMAGE_TYPE_FILL_CAR.getValue());
  810 + image.setGarOrderId(orderId);
  811 + image.setGarOrderImageUrl(fillImageUrl);
  812 + image.setGarRemark(ask.getGarId());
  813 + imageList.add(image);
  814 + }
  815 + garOrderImageService.saveBatch(imageList);
  816 + if (transportCount == (order.getGarRealCarCount() - 1)) {
  817 + // TODO 发送短信 通知企业和用户 修改订单状态为完成 disposal 和 handler表的状态一起修改
  818 + smsUtils.sendMessage(order.getGarOrderContactTel(), "您的清运订单已完成,可前往小程序进行评价,感谢您的使用");
  819 + smsUtils.sendMessage(order.getGarOrderCompanyTel(), "您的清运订单已完成,详情可在小程序查看。");
  820 + successOrder(order, dto);
  821 + redisCache.deleteObject(orderId);
  822 + return "当前订单已完成";
  823 + }
  824 + //TODO 短信通知
  825 + return "当前趟次记录成功";
786 826 }
787   - garOrderImageService.saveBatch(imageList);
788   - return "当前趟次记录成功";
  827 +
  828 + throw new BizException(ResultCode.CODE_400, "当前记录无效,已完成所有趟次!");
  829 + }
  830 +
  831 + private void successOrder(GarOrder order, AskTransportDto dto) {
  832 + order.setGarOrderHandlerStatus(GlobalStatus.GarOrderStatus.SUCCESS_ORDER.getValue());
  833 + order.setGarHandlerEvaluateFlag(GlobalStatus.GarOrderStatus.EVALUATE_ORDER_NO.getValue());
  834 + order.setGarEvaluateFlag(GlobalStatus.GarOrderStatus.EVALUATE_ORDER_NO.getValue());
  835 + updateById(order);
  836 + // 更新disposal
  837 + LambdaUpdateWrapper<GarOrderMatchDisposal> uwd = new LambdaUpdateWrapper<>();
  838 + uwd.eq(GarOrderMatchDisposal::getGarOrderId, dto.getGarOrderId())
  839 + .set(GarOrderMatchDisposal::getGarOrderDisposalStatus, GlobalStatus.GarOrderStatus.SUCCESS_ORDER.getValue());
  840 + disposalService.update(uwd);
  841 + // 更新handler
  842 + LambdaUpdateWrapper<GarOrderMatchHandler> uwh = new LambdaUpdateWrapper<>();
  843 + uwh.eq(GarOrderMatchHandler::getGarOrderId, dto.getGarOrderId())
  844 + .set(GarOrderMatchHandler::getGarOrderHandlerStatus, GlobalStatus.GarOrderStatus.SUCCESS_ORDER.getValue());
  845 + handlerService.update(uwh);
789 846 }
790 847  
  848 +
791 849 @Override
792 850 public OrderDetailTransportVo queryOrderTransportDetail(String id) {
793 851 // 根据当前订单id查订单数据 - 查扫码趟次数据
... ... @@ -825,12 +883,23 @@ public class GarOrderServiceImpl extends ServiceImpl&lt;GarOrderMapper, GarOrder&gt;
825 883 // 图片url
826 884 LambdaQueryWrapper<GarOrderImage> qw = new LambdaQueryWrapper<>();
827 885 qw.eq(GarOrderImage::getGarOrderId, ask.getGarOrderId())
  886 + .eq(GarOrderImage::getGarRemark, askId)
828 887 .eq(GarOrderImage::getGarOrderImageType, GlobalStatus.GarOrderStatus.IMAGE_TYPE_FILL_CAR.getValue());
829 888 List<String> fillImageList = garOrderImageService.list(qw).stream().map(GarOrderImage::getGarOrderImageUrl).collect(Collectors.toList());
830 889 vo.setFillImageList(fillImageList);
831 890 return vo;
832 891 }
833 892  
  893 + @Override
  894 + public String createHandlerQrCode(String orderId) {
  895 + String userId = SecurityUtils.getLoginUser().getUser().getUserId();
  896 + // 返回验证码
  897 + // TODO 以订单id和用户id hash key返回前端生成二维码 存放到redis中
  898 + String code = orderId + "," + userId + "," + ValidateCodeUtil.generatorCode(6);
  899 + redisCache.setCacheMapValue(orderId, userId, code);
  900 + return code;
  901 + }
  902 +
834 903 private void handleCleanNumber(TransportationEnterpriseVo vo, List<GarOrder> orderList) {
835 904 Long cleanNumber = 0L;
836 905 for (GarOrder order : orderList) {
... ...
trash-garbage/src/main/resources/mapper/GarOrderMapper.xml
... ... @@ -13,6 +13,7 @@
13 13 <result property="garOrderTrashType" column="gar_order_trash_type" jdbcType="VARCHAR"/>
14 14 <result property="garOrderContactTel" column="gar_order_contact_tel" jdbcType="VARCHAR"/>
15 15 <result property="garOrderCompanyId" column="gar_order_company_id" jdbcType="VARCHAR"/>
  16 + <result property="garOrderCompanyUserId" column="gar_order_company_user_id" jdbcType="VARCHAR"/>
16 17 <result property="garOrderCompanyName" column="gar_order_company_name" jdbcType="VARCHAR"/>
17 18 <result property="garOrderCompanyTel" column="gar_order_company_tel" jdbcType="VARCHAR"/>
18 19 <result property="garOrderHandlerStatus" column="gar_order_handler_status" jdbcType="INTEGER"/>
... ... @@ -26,7 +27,7 @@
26 27 <result property="garCancelFlag" column="gar_cancel_flag" jdbcType="TINYINT"/>
27 28 <result property="garEvaluateFlag" column="gar_evaluate_flag" jdbcType="TINYINT"/>
28 29 <result property="garHandlerEvaluateFlag" column="gar_handler_evaluate_flag" jdbcType="TINYINT"/>
29   - <result property="garOrderMatchFlag" column="gar_order_match_flag" jdbcType="TINYINT"/>
  30 + <result property="garOrderScanHandlerFlag" column="gar_order_scan_handler_flag" jdbcType="TINYINT"/>
30 31 <result property="garLatitude" column="gar_latitude" jdbcType="DOUBLE"/>
31 32 <result property="garLongitude" column="gar_longitude" jdbcType="DOUBLE"/>
32 33 <result property="garCoordinate" column="gar_coordinate" jdbcType="DOUBLE"/>
... ... @@ -49,6 +50,7 @@
49 50 <collection property="transportDetails"
50 51 ofType="com.trash.garbage.pojo.vo.OrderDetailTransportVo$TransportDetail">
51 52 <result property="garHandlerCarCode" column="gar_handler_car_code"/>
  53 + <result property="garOrderContainerVolume" column="gar_order_container_volume"/>
52 54 <result property="fillImage" column="fill_image"/>
53 55 <result property="garAskId" column="gar_ask_id"/>
54 56 </collection>
... ... @@ -62,7 +64,7 @@
62 64 gar_order_company_name,gar_order_company_tel,gar_order_handler_status,
63 65 gar_order_agreement_time,gar_create_time,gar_update_time,
64 66 gar_create_by,gar_update_by,gar_remark,gar_reason,gar_cancel_flag,
65   - gar_evaluate_flag,gar_handler_evaluate_flag,gar_order_match_flag,gar_coordinate,gar_longitude,gar_latitude,gar_real_car_count
  67 + gar_evaluate_flag,gar_handler_evaluate_flag,gar_order_scan_handler_flag,gar_coordinate,gar_longitude,gar_latitude,gar_real_car_count
66 68 </sql>
67 69 <select id="queryCleanNumberByEnterpriseIds" resultType="com.trash.garbage.pojo.domain.GarOrder">
68 70 select gar_order_company_id, count(gar_order_company_id) as count
... ... @@ -84,17 +86,16 @@
84 86 `order`.gar_order_id ,`order`.gar_order_user_id,`order`.gar_coordinate,
85 87 `order`.gar_order_address,`order`.gar_order_address_details,`order`.gar_order_contact_name,`order`.gar_longitude,
86 88 `order`.gar_order_trash_type,`order`.gar_order_contact_tel,`order`.gar_order_company_id,`order`.gar_latitude,
87   - `order`.gar_order_company_name,`order`.gar_order_company_tel,`order`.gar_order_match_flag,
88   - `order`.gar_order_agreement_time,`order`.gar_remark,`order`.gar_handler_evaluate_flag,`order`.gar_order_handler_status
89   - gar_order_status,
90   - `handler`.gar_order_status
91   - gar_order_handler_status,`handler`.gar_cancel_flag,`handler`.gar_reason,`order`.gar_real_car_count
  89 + `order`.gar_order_company_name,`order`.gar_order_company_tel,`order`.gar_order_scan_handler_flag,
  90 + `order`.gar_order_agreement_time,`order`.gar_remark,`order`.gar_handler_evaluate_flag,
  91 +-- `order`.gar_order_handler_status gar_order_status,
  92 + `handler`.gar_order_handler_status,`handler`.gar_cancel_flag,`handler`.gar_reason,`order`.gar_real_car_count
92 93 FROM gar_order `order`
93 94 INNER JOIN gar_order_match_handler `handler` ON `order`.gar_order_id = `handler`.gar_order_id
94 95 <where>
95 96 `handler`.gar_order_handler_tel = #{garUserTel}
96 97 <if test="type != null">
97   - AND `handler`.gar_order_status = #{type}
  98 + AND `handler`.gar_order_handler_status = #{type}
98 99 </if>
99 100 <if test="cancelFlag != null">
100 101 AND `handler`.gar_cancel_flag = #{cancelFlag}
... ... @@ -106,11 +107,9 @@
106 107 `order`.gar_order_id ,`order`.gar_order_user_id,`order`.gar_latitude,
107 108 `order`.gar_order_address,`order`.gar_order_address_details,`order`.gar_order_contact_name,`order`.gar_longitude,
108 109 `order`.gar_order_trash_type,`order`.gar_order_contact_tel,`order`.gar_order_company_id,`order`.gar_coordinate,
109   - `order`.gar_order_company_name,`order`.gar_order_company_tel,`order`.gar_order_match_flag,`order`.gar_real_car_count,
110   - `order`.gar_order_agreement_time,`order`.gar_remark,`order`.gar_handler_evaluate_flag,`order`.gar_order_handler_status
111   - gar_order_status,
112   - `handler`.gar_order_status
113   - gar_order_handler_status,`handler`.gar_cancel_flag,`handler`.gar_reason,`handler`.gar_handler_car_code
  110 + `order`.gar_order_company_name,`order`.gar_order_company_tel,`order`.gar_order_scan_handler_flag,`order`.gar_real_car_count,
  111 + `order`.gar_order_agreement_time,`order`.gar_remark,`order`.gar_handler_evaluate_flag,
  112 + `handler`.gar_order_handler_status,`handler`.gar_cancel_flag,`handler`.gar_reason,`handler`.gar_handler_car_code
114 113 FROM gar_order `order`
115 114 INNER JOIN gar_order_match_handler `handler` ON `order`.gar_order_id = `handler`.gar_order_id AND
116 115 `order`.gar_order_id = #{orderId}
... ... @@ -133,13 +132,22 @@
133 132 `order`.gar_order_trash_type,
134 133 `order`.gar_order_contact_tel,
135 134 `order`.gar_order_company_id,
  135 + `order`.gar_order_company_user_id,
136 136 `order`.gar_latitude,
137 137 `order`.gar_order_company_name,
138 138 `order`.gar_order_company_tel,
139 139 `order`.gar_order_agreement_time,
140 140 `disposal`.gar_create_time,
141 141 `disposal`.gar_order_disposal_status,
142   - `order`.gar_real_car_count
  142 + `order`.gar_real_car_count,
  143 + (
  144 + CASE
  145 + `order`.gar_order_id
  146 + WHEN `order`.gar_order_id THEN
  147 + ( SELECT count(*) FROM gar_order_match_ask ask INNER JOIN gar_order ON `gar_order`.gar_order_id =
  148 + `ask`.gar_order_id WHERE `order`.gar_order_id = `gar_order`.gar_order_id )
  149 + END
  150 + ) AS gar_now_car_count
143 151 FROM
144 152 gar_order `order`
145 153 INNER JOIN gar_order_match_disposal `disposal` ON `order`.gar_order_id = `disposal`.gar_order_id
... ... @@ -152,7 +160,7 @@
152 160 </select>
153 161 <select id="queryDriverDetailByTelWithOrderId" resultType="com.trash.garbage.pojo.vo.ScanDriverDetailVo">
154 162 SELECT
155   - `order`.gar_order_id ,`order`.gar_order_user_id,`order`.gar_latitude,
  163 + `order`.gar_order_id ,`order`.gar_order_user_id,`order`.gar_latitude,`order`.gar_order_company_user_id,
156 164 `order`.gar_order_address,`order`.gar_order_address_details,`order`.gar_order_contact_name,`order`.gar_longitude,
157 165 `order`.gar_order_trash_type,`order`.gar_order_contact_tel,`order`.gar_order_company_id,`order`.gar_coordinate,
158 166 `order`.gar_order_company_name,`order`.gar_order_company_tel,`handler`.gar_create_time,
... ... @@ -160,12 +168,13 @@
160 168 gar_order_status,`handler`.gar_handler_car_code,`handler`.gar_order_handler_name,
161 169 `handler`.gar_handler_car_code,
162 170 `handler`.gar_order_handler_tel,
163   - `handler`.gar_order_handler_id
  171 + `handler`.gar_order_handler_id,
  172 + `handler`.gar_order_container_volume
164 173 FROM gar_order `order`
165 174 INNER JOIN gar_order_match_handler `handler` ON `order`.gar_order_id = `handler`.gar_order_id AND
166 175 `order`.gar_order_id = #{orderId}
167 176 <where>
168   - `handler`.gar_order_handler_tel = #{garUserTel}
  177 + `handler`.gar_order_handler_id = #{userId}
169 178 </where>
170 179 </select>
171 180 <select id="queryOrderTransportDetail" resultMap="TransportDetailVo">
... ... @@ -179,6 +188,7 @@
179 188 `order`.gar_order_trash_type,
180 189 `order`.gar_order_contact_tel,
181 190 `order`.gar_order_company_id,
  191 + `order`.gar_order_company_user_id,
182 192 `order`.gar_latitude,
183 193 `order`.gar_order_company_name,
184 194 `order`.gar_order_company_tel,
... ...
trash-garbage/src/main/resources/mapper/GarOrderMatchAskMapper.xml
... ... @@ -9,6 +9,7 @@
9 9 <result property="garOrderId" column="gar_order_id" jdbcType="VARCHAR"/>
10 10 <result property="garOrderHandlerTel" column="gar_order_handler_tel" jdbcType="VARCHAR"/>
11 11 <result property="garOrderHandlerName" column="gar_order_handler_name" jdbcType="VARCHAR"/>
  12 + <result property="garOrderContainerVolume" column="gar_order_container_volume" jdbcType="VARCHAR"/>
12 13 <result property="garOrderHandlerCompanyId" column="gar_order_handler_company_id" jdbcType="VARCHAR"/>
13 14 <result property="garOrderHandlerCompanyName" column="gar_order_handler_company_name" jdbcType="VARCHAR"/>
14 15 <result property="garCreateTime" column="gar_create_time" jdbcType="TIMESTAMP"/>
... ... @@ -19,7 +20,7 @@
19 20 </resultMap>
20 21  
21 22 <sql id="Base_Column_List">
22   - gar_id,gar_order_id,gar_order_handler_tel,
  23 + gar_id,gar_order_id,gar_order_handler_tel,gar_order_container_volume,
23 24 gar_order_handler_name,gar_order_handler_company_id,gar_order_handler_company_name,
24 25 gar_create_time,gar_update_time,gar_create_by,
25 26 gar_update_by,gar_remark
... ...
trash-garbage/src/main/resources/mapper/GarOrderMatchDisposalMapper.xml
... ... @@ -44,13 +44,15 @@
44 44 disposal.construction_unit_person_phone AS tel,
45 45 disposal.construction_unit_person,
46 46 CASE
47   -
48   - WHEN gar.gar_order_id IS NULL THEN
  47 + WHEN `temp`.gar_order_id IS NULL THEN
49 48 0
50 49 ELSE 1
51 50 END AS checked
52 51 FROM disposal_site disposal
53   - LEFT JOIN gar_order_match_disposal gar
54   - ON disposal.construction_unit_person_phone = gar.gar_order_disposal_tel
  52 + LEFT JOIN (SELECT gar.gar_order_id, gar.gar_order_disposal_tel
  53 + FROM gar_order_match_disposal gar
  54 + INNER JOIN gar_order `order` ON `order`.gar_order_id = gar.gar_order_id
  55 + WHERE `order`.gar_order_id = #{orderId}) `temp`
  56 + ON `temp`.gar_order_disposal_tel = disposal.construction_unit_person_phone
55 57 </select>
56 58 </mapper>
... ...
trash-garbage/src/main/resources/mapper/GarOrderMatchHandlerMapper.xml
... ... @@ -8,6 +8,7 @@
8 8 <id property="garId" column="gar_id" jdbcType="VARCHAR"/>
9 9 <result property="garOrderId" column="gar_order_id" jdbcType="VARCHAR"/>
10 10 <result property="garOrderHandlerTel" column="gar_order_handler_tel" jdbcType="VARCHAR"/>
  11 + <result property="garOrderContainerVolume" column="gar_order_container_volume" jdbcType="VARCHAR"/>
11 12 <result property="garOrderHandlerStatus" column="gar_order_handler_status" jdbcType="TINYINT"/>
12 13 <result property="garCancelFlag" column="gar_cancel_flag" jdbcType="TINYINT"/>
13 14 <result property="garOrderHandlerName" column="gar_order_handler_name" jdbcType="VARCHAR"/>
... ... @@ -33,7 +34,7 @@
33 34  
34 35 <sql id="Base_Column_List">
35 36 gar_id
36   - ,gar_order_id,gar_order_handler_tel,
  37 + ,gar_order_id,gar_order_handler_tel,gar_order_container_volume,
37 38 gar_order_handler_status,gar_cancel_flag,gar_order_handler_name,gar_order_handler_company_id,
38 39 gar_order_handler_company_name,gar_create_time,gar_update_time,
39 40 gar_craete_by,gar_update_by,gar_reason,gar_handler_car_code
... ...