From f8cc44e926fd22f9d1d864dc684c827f6960270b Mon Sep 17 00:00:00 2001
From: hjl <1657978663@qq.com>
Date: 星期五, 26 七月 2024 11:51:30 +0800
Subject: [PATCH] feat: 最新代码及配置

---
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/EvaluateMapper.xml                                   |   22 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/request/EvaluatePageRequest.java                   |    2 
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/EvaluateController.java                     |   24 +
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/RecoveryServePrice.java                         |    4 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java                  |    5 
 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/RegionServiceImpl.java                      |    2 
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/Franchisee.java                                 |    6 
 sql/secondary_recovery_order.sql                                                                               |  268 +++++++++++++-
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/GaoDeMapUtil.java                     |   24 +
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java                   |   20 +
 ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/vo/OrderListVO.java                                  |    1 
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/RegionController.java                       |   17 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java                     |   11 
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/Constants.java                     |   20 
 ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/service/impl/MasterWorkerServiceImpl.java            |    4 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java                                |   10 
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/ChangeDispatchMapper.xml                             |    2 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java                       |    8 
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/HomePageController.java                     |   23 -
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/RecoveryServeController.java                |    5 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderCountVO.java                                   |    3 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/UserOrderRequest.java                       |    3 
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/WorkerProcessController.java                |    4 
 sql/secondary_recovery.sql                                                                                     |   49 +-
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java                        |   21 +
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/RegionServiceImpl.java                    |   21 
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/UserServiceImpl.java                      |   21 
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/RegionService.java                             |    3 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/OrderRequest.java                           |    3 
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/MasterWorkerServiceImpl.java              |    2 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/ChangeDispatch.java                             |    4 
 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/request/OrderRequest.java                                |    6 
 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/OrderServiceImpl.java                       |   21 +
 ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/handler/GlobalExceptionHandler.java |    2 
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/vo/CityInfoVO.java                          |   24 +
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/LoginUser.java                             |    1 
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/MasterWorkerController.java                 |    4 
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/vo/GaoDeAddressInfoVO.java                  |   23 +
 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/EvaluateController.java                       |    2 
 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/entity/RecoveryServePrice.java                           |    4 
 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/entity/UserRecipient.java                                |    8 
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml                                      |   58 ++
 ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/controller/MasterWorkerController.java               |    2 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/Order.java                                  |   10 
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/mapper/UserMapper.java                                 |    1 
 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/vo/OrderDetailVO.java                                    |    4 
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/WithdrawMapper.xml                                   |    8 
 ruoyi-service/ruoyi-user/src/main/resources/mapper/user/RecoveryServeMapper.xml                                |    2 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/OrderCountVO.java                           |    3 
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/request/RecoveryServePriceRequest.java                 |    3 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java                        |   32 +
 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/UserServiceImpl.java                        |   29 -
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/vo/Geocodes.java                            |   27 +
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/OrderServiceImpl.java                     |    2 
 sql/nacos_config_export_20240726114948.zip                                                                     |    0 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Withdraw.java                                   |    4 
 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/RecoveryServeController.java                  |   28 +
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/ChangeDispatch.java                         |    3 
 ruoyi-service/ruoyi-admin/src/main/resources/mapper/admin/UserMapper.xml                                       |    7 
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/MasterWorker.java                               |    4 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/EvaluateOrderInfoVO.java                            |    3 
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/WorkerProcess.java                              |    4 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Order.java                                      |    4 
 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/OrderController.java                          |   18 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/Withdraw.java                               |    4 
 ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/controller/OrderController.java                      |    3 
 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserController.java                           |   15 
 /dev/null                                                                                                      |    0 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/OrderService.java                              |    9 
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/Agreement.java                                  |    3 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/WithdrawServiceImpl.java                  |    1 
 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/vo/ServeDetailVO.java                                    |   29 +
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/request/EvaluatePageRequest.java                       |    2 
 ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/vo/ServeCoordinate.java                              |    4 
 74 files changed, 828 insertions(+), 205 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/ChangeDispatch.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/ChangeDispatch.java
index 7b8ae3b..d3e4f1a 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/ChangeDispatch.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/ChangeDispatch.java
@@ -72,5 +72,8 @@
     @TableField("user_name")
     private String userName;
 
+    @ApiModelProperty("城市编码")
+    @TableField("city_code")
+    private String cityCode;
 
 }
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/Order.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/Order.java
index 14d39c0..a3ffb4b 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/Order.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/Order.java
@@ -28,7 +28,7 @@
 @ApiModel(value = "Order对象", description = "订单管理")
 public class Order extends BaseEntity {
 
-    @TableId(value = "id", type = IdType.AUTO)
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
     private String id;
 
     @ApiModelProperty("下单城市")
@@ -150,6 +150,14 @@
     @TableField("top_sort")
     private Integer topSort;
 
+    @ApiModelProperty("是否评价(0:未评价,1:已评价)")
+    @TableField("is_evaluate")
+    private Integer isEvaluate;
+
+    @ApiModelProperty("城市code")
+    @TableField("city_code")
+    private String cityCode;
+
     @ApiModelProperty("回收服务封面图")
     @TableField(exist = false)
     private String cover;
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/OrderCountVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/OrderCountVO.java
index 02035c7..05d0bde 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/OrderCountVO.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/OrderCountVO.java
@@ -13,6 +13,9 @@
 @ApiModel(value = "OrderCountVO对象", description = "订单统计返回类")
 public class OrderCountVO {
 
+    @ApiModelProperty("订单中师傅名称")
+    private String workerName;
+
     @ApiModelProperty("师傅id")
     private Integer workerId;
 
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/OrderRequest.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/OrderRequest.java
index 9579839..9cc1cb0 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/OrderRequest.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/OrderRequest.java
@@ -18,6 +18,9 @@
     @ApiModelProperty("下单城市")
     private String city;
 
+    @ApiModelProperty("城市编码")
+    private String cityCode;
+
     @ApiModelProperty("订单编号")
     private String orderNumber;
 
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/UserOrderRequest.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/UserOrderRequest.java
index 5d05dd8..a066593 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/UserOrderRequest.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/UserOrderRequest.java
@@ -16,6 +16,9 @@
 @ApiModel(value = "OrderRequest对象", description = "用户下单请求参数对象")
 public class UserOrderRequest {
 
+    @ApiModelProperty("下单城市")
+    private String city;
+
     @ApiModelProperty("订单编号")
     private String orderNumber;
 
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/Withdraw.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/Withdraw.java
index e79cd91..e9249d0 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/Withdraw.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/Withdraw.java
@@ -60,5 +60,9 @@
     @TableField("order_id")
     private String orderId;
 
+    @ApiModelProperty("城市code")
+    @TableField("city_code")
+    private String cityCode;
+
 
 }
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java
index bf255a5..9eacc05 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java
@@ -179,6 +179,11 @@
             }
 
             @Override
+            public R<Boolean> orderByUserId(Integer userId) {
+                return R.fail(cause.getMessage());
+            }
+
+            @Override
             public R<Boolean> supplementAllowance(String orderId, String prizeName) {
                 return R.fail(cause.getMessage());
             }
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java
index ba98a22..00bd7cc 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java
@@ -367,6 +367,14 @@
     R<Boolean> placeOrder(@RequestBody UserOrderRequest userOrderRequest);
 
     /**
+     * 判断用户是否下单
+     *
+     * @param userId 用户id
+     */
+    @GetMapping(value = "/order/orderByUserId")
+    R<Boolean> orderByUserId(@RequestParam("userId") Integer userId);
+
+    /**
      * 站点详情
      *
      * @param orderId   订单id
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/request/EvaluatePageRequest.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/request/EvaluatePageRequest.java
index b1f56c6..a7e6f21 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/request/EvaluatePageRequest.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/request/EvaluatePageRequest.java
@@ -24,4 +24,6 @@
 
     private Integer pageSize;
 
+    private List<Integer> userIdList;
+
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/LoginUser.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/LoginUser.java
index cda391a..088eb9e 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/LoginUser.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/LoginUser.java
@@ -68,6 +68,7 @@
 
     /**
      * 加盟商所管辖城市
+     * 城市code列表
      */
     private List<String> cityList;
 
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/Constants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/Constants.java
index dd754e6..2915276 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/Constants.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/Constants.java
@@ -148,11 +148,6 @@
     public static final String EXCEL_ORDER_FILE_NAME = "订单记录";
 
     /**
-     * 文件上传常量后缀
-     */
-    public static final String APK = "apk";
-
-    /**
      * 用户编号生成前缀
      */
     public static final String USER_NO_PRE = "用户%s";
@@ -278,6 +273,21 @@
     public static final String DEFAULT_USER_NUMBER_PRE = "用户";
 
     /**
+     * 师傅端默认用户ID前缀
+     */
+    public static final String SUBSIDY_MONEY = "¥";
+
+    /**
+     * 师傅端默认用户ID前缀
+     */
+    public static final String PROVINCE = "省";
+
+    /**
+     * 师傅端默认用户ID前缀
+     */
+    public static final String MARKET = "市";
+
+    /**
      * 师傅端默认密码
      */
     public static final String DEFAULT_PASSWORD = "123456";
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/GaoDeMapUtil.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/GaoDeMapUtil.java
index 4fcbc50..9789aef 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/GaoDeMapUtil.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/GaoDeMapUtil.java
@@ -6,10 +6,7 @@
 import com.ruoyi.common.core.domain.Result;
 import com.ruoyi.common.core.enums.GaoDeEnum;
 import com.ruoyi.common.core.exception.GlobalException;
-import com.ruoyi.common.core.vo.GaoDeMap;
-import com.ruoyi.common.core.vo.Path;
-import com.ruoyi.common.core.vo.PolylineData;
-import com.ruoyi.common.core.vo.Steps;
+import com.ruoyi.common.core.vo.*;
 
 import java.io.BufferedReader;
 import java.io.IOException;
@@ -130,6 +127,25 @@
     }
 
     /**
+     * 功能描述: 根据地址获取城市code
+     *
+     * @param address d地址
+     * @return 两个定位点之间的距离
+     */
+    public static Result<CityInfoVO> getAddressInfo(String address) {
+        // 返回起始地startAddr与目的地endAddr之间的距离,单位:米
+        String queryUrl = "https://restapi.amap.com/v3/geocode/geo?address=" + address
+                + "&key=" + GAO_DE_KEY;
+        String queryResult = getResponse(queryUrl);
+        GaoDeAddressInfoVO data = JSONObject.parseObject(queryResult, GaoDeAddressInfoVO.class);
+        List<Geocodes> geocodes = data.getGeocodes();
+        Geocodes info = geocodes.get(0);
+        String adcode = info.getAdcode();
+        String city = info.getCity();
+        return Result.succeed(new CityInfoVO(city, adcode), "距离计算成功!");
+    }
+
+    /**
      * 功能描述: 发送请求
      *
      * @param serverUrl 请求地址
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ObsUploadUtil.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ObsUploadUtil.java
deleted file mode 100644
index 2a80b87..0000000
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ObsUploadUtil.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package com.ruoyi.common.core.utils;
-
-import com.obs.services.ObsClient;
-import com.obs.services.model.ObjectMetadata;
-import com.ruoyi.common.core.constant.Constants;
-import org.springframework.web.multipart.MultipartFile;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.UUID;
-
-/**
- * @author HJL
- */
-public class ObsUploadUtil {
-
-    public static String endPoint = "obs.cn-north-4.myhuaweicloud.com";
-    public static String accessKeyId = "X3V6GPYUK1VQ03K0JG4G";
-    public static String accessKeySecret = "CustHR4B9XKdT7hGcEYEpV9UVUoc4pmUhnHckU9h";
-    public static String bucketName = "jkjianshen";
-    public static String oss_domain = "https://jkjianshen.obs.cn-north-4.myhuaweicloud.com/";
-    /**
-     * 创建ObsClient实例
-     */
-    public static ObsClient obsClient = new ObsClient(accessKeyId, accessKeySecret, endPoint);
-
-    public static String obsUpload(MultipartFile file) throws IOException {
-        //CommonsMultipartFile file = (CommonsMultipartFile)multipartFile;
-        String fileName = "";
-        if (file != null && !"".equals(file.getOriginalFilename()) && file.getOriginalFilename() != null) {
-            //获得指定文件的输入流
-            InputStream content = file.getInputStream();
-            // 创建上传Object的Metadata
-            ObjectMetadata meta = new ObjectMetadata();
-            // 必须设置ContentLength
-            meta.setContentLength(file.getSize());
-            String originalFilename = file.getOriginalFilename();
-            if (originalFilename.contains(Constants.APK)) {
-                fileName = "bf2fe5c5499341e5bc0d56c0c7d5fb2e.apk";
-                System.err.println("apk");
-            } else {
-                fileName = UUID.randomUUID().toString().replaceAll("-", "") + originalFilename.subSequence(originalFilename.lastIndexOf("."), originalFilename.length());
-            }
-            // 上传Object.
-            obsClient.putObject(bucketName, "admin/" + fileName, content, meta);
-            if (!"".equals(fileName)) {
-                System.out.println(fileName);
-                fileName = oss_domain + "admin/" + fileName;
-            }
-        }
-        return fileName;
-    }
-
-    /**
-     * 删除某个Object
-     */
-    public static boolean deleteObject(String bucketUrl) {
-        try {
-            bucketUrl = bucketUrl.replace(oss_domain + "web", "");
-            // 删除Object.
-            obsClient.deleteObject(bucketName, bucketUrl);
-        } catch (Exception e) {
-            e.printStackTrace();
-            return false;
-        } finally {
-            //ossClient.shutdown();
-        }
-        return true;
-    }
-
-}
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/vo/CityInfoVO.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/vo/CityInfoVO.java
new file mode 100644
index 0000000..24085a4
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/vo/CityInfoVO.java
@@ -0,0 +1,24 @@
+package com.ruoyi.common.core.vo;
+
+import lombok.Data;
+
+/**
+ * @author HJL
+ * @version 1.0
+ * @since 2024-07-25 14:31
+ */
+@Data
+public class CityInfoVO {
+
+    private String city;
+
+    private String code;
+
+    public CityInfoVO() {
+    }
+
+    public CityInfoVO(String city, String code) {
+        this.city = city;
+        this.code = code;
+    }
+}
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/vo/GaoDeAddressInfoVO.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/vo/GaoDeAddressInfoVO.java
new file mode 100644
index 0000000..bbd7daa
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/vo/GaoDeAddressInfoVO.java
@@ -0,0 +1,23 @@
+package com.ruoyi.common.core.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author HJL
+ */
+@Data
+public class GaoDeAddressInfoVO {
+
+    private String status;
+
+    private String info;
+
+    private String infocode;
+
+    private String count;
+
+    private List<Geocodes> geocodes;
+
+}
\ No newline at end of file
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/vo/Geocodes.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/vo/Geocodes.java
new file mode 100644
index 0000000..b978f35
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/vo/Geocodes.java
@@ -0,0 +1,27 @@
+package com.ruoyi.common.core.vo;
+
+import lombok.Data;
+
+/**
+ * @author HJL
+ * @version 1.0
+ * @since 2024-07-25 14:25
+ */
+@Data
+public class Geocodes {
+
+    private String formatted_address;
+
+    private String country;
+
+    private String province;
+
+    private String citycode;
+
+    private String city;
+
+    private String district;
+
+    private String adcode;
+
+}
diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/handler/GlobalExceptionHandler.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/handler/GlobalExceptionHandler.java
index 27ddb98..23d684c 100644
--- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/handler/GlobalExceptionHandler.java
+++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/handler/GlobalExceptionHandler.java
@@ -143,7 +143,7 @@
      */
     @ExceptionHandler(GlobalException.class)
     public R<String> handleDemoModeException(GlobalException g) {
-        return R.fail(null, g.getCode(), g.getMessage());
+        return R.fail(null, g.getCode() == null ? 500 : g.getCode(), g.getMessage());
     }
 
     /**
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/EvaluateController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/EvaluateController.java
index bc95d95..f674e78 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/EvaluateController.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/EvaluateController.java
@@ -2,7 +2,10 @@
 
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.admin.entity.User;
+import com.ruoyi.admin.service.UserService;
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.security.annotation.Logical;
 import com.ruoyi.common.security.annotation.RequiresPermissions;
 import com.ruoyi.common.security.service.TokenService;
@@ -23,6 +26,7 @@
 import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -41,6 +45,8 @@
     private EvaluateClient evaluateClient;
     @Resource
     private TokenService tokenService;
+    @Resource
+    private UserService userService;
 
     /**
      * 订单评价分页列表
@@ -69,6 +75,13 @@
         if (loginUser.getIsFranchisee()) {
             cityList = loginUser.getCityList();
         }
+        List<User> userList;
+        if (StringUtils.isNotBlank(userNo)) {
+            userList = userService.lambdaQuery().like(User::getNickname, userNo).list();
+        } else {
+            userList = new ArrayList<>();
+        }
+        List<Integer> userIdList = userList.stream().map(User::getId).collect(Collectors.toList());
         EvaluatePageRequest evaluatePageRequest = new EvaluatePageRequest();
         evaluatePageRequest.setUserNo(userNo);
         evaluatePageRequest.setOrderNumber(orderNumber);
@@ -76,7 +89,16 @@
         evaluatePageRequest.setCityList(cityList);
         evaluatePageRequest.setPageNum(pageNum);
         evaluatePageRequest.setPageSize(pageSize);
-        return evaluateClient.queryPageList(evaluatePageRequest);
+        evaluatePageRequest.setUserIdList(userIdList);
+        R<Page<EvaluatePageVO>> r = evaluateClient.queryPageList(evaluatePageRequest);
+        for (EvaluatePageVO record : r.getData().getRecords()) {
+            Integer userId = record.getUserId();
+            User user = userService.getById(userId);
+            if (null != user) {
+                record.setUserNo(user.getNickname());
+            }
+        }
+        return r;
     }
 
     /**
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java
index abd18d9..d645f5f 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java
@@ -5,9 +5,11 @@
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.admin.entity.Franchisee;
+import com.ruoyi.admin.entity.Region;
 import com.ruoyi.admin.entity.SysUser;
 import com.ruoyi.admin.entity.UserRole;
 import com.ruoyi.admin.service.FranchiseeService;
+import com.ruoyi.admin.service.RegionService;
 import com.ruoyi.admin.service.SysUserService;
 import com.ruoyi.admin.service.UserRoleService;
 import com.ruoyi.common.core.constant.Constants;
@@ -47,6 +49,8 @@
     private SysUserService sysUserService;
     @Resource
     private UserRoleService userRoleService;
+    @Resource
+    private RegionService regionService;
 
     /**
      * 加盟商信息分页列表
@@ -104,7 +108,7 @@
     public R<List<String>> cityDetail(@RequestParam("id") Integer id) {
         Franchisee franchisee = franchiseeService.lambdaQuery()
                 .eq(Franchisee::getId, id).eq(Franchisee::getIsDelete, 0).one();
-        return R.ok(Arrays.stream(franchisee.getCity().split(",")).collect(Collectors.toList()));
+        return R.ok(Arrays.stream(franchisee.getCityCode().split(",")).collect(Collectors.toList()));
     }
 
     /**
@@ -120,6 +124,18 @@
             throw new GlobalException("请输入管理员初始密码!");
         }
         String md5Password = checkFranchisee(franchisee);
+        String cityCode = franchisee.getCityCode();
+        List<String> list = Arrays.stream(cityCode.split(",")).collect(Collectors.toList());
+        StringBuilder str = new StringBuilder();
+        for (String code : list) {
+            Region region = regionService.lambdaQuery()
+                    .eq(Region::getCode, code).one();
+            if (null != region) {
+                str.append(region.getName()).append(",");
+            }
+        }
+        String city = str.substring(Constants.ZERO, str.length() - 1);
+        franchisee.setCity(city);
         boolean save = franchiseeService.save(franchisee);
         // 生成sysUser账号
         SysUser sysUser = new SysUser();
@@ -217,7 +233,7 @@
                 .eq(SysUser::getIsDelete, Constants.ZERO)
                 .eq(SysUser::getFranchiseeId, null).one();
         if (null != only || null != user) {
-            throw new GlobalException("该账号已存在!");
+            throw new GlobalException("该账号已存在!", 500);
         }
 //        String city = franchisee.getCity();
 //        List<String> cityList = Arrays.stream(city.split(",")).collect(Collectors.toList());
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/HomePageController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/HomePageController.java
index d0aa1c1..c1f197a 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/HomePageController.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/HomePageController.java
@@ -1,7 +1,5 @@
 package com.ruoyi.admin.controller;
 
-import com.ruoyi.admin.netty.NettyChannelMap;
-import com.ruoyi.admin.netty.NettyWebSocketController;
 import com.ruoyi.admin.request.UserDataCountRequest;
 import com.ruoyi.admin.service.MasterWorkerService;
 import com.ruoyi.admin.service.UserService;
@@ -15,10 +13,12 @@
 import com.ruoyi.order.api.entity.OrderResultVO;
 import com.ruoyi.order.api.feignClient.OrderClient;
 import com.ruoyi.system.api.model.LoginUser;
-import io.netty.channel.ChannelHandlerContext;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
 import java.util.List;
@@ -41,21 +41,6 @@
     private OrderClient orderClient;
     @Resource
     private TokenService tokenService;
-
-    /**
-     * netty测试
-     *
-     * @param workerId 请求参数
-     */
-    @ApiOperation(value = "netty测试", tags = {"后台-首页"})
-    @GetMapping(value = "/nettySend")
-    public R<?> nettySend(@RequestParam Integer workerId) {
-        ChannelHandlerContext context = NettyChannelMap.getData(String.valueOf(workerId));
-        if (null != context) {
-            NettyWebSocketController.sendMsgToClient(context, "您有一条新的订单,请注意查收!");
-        }
-        return R.ok();
-    }
 
     /**
      * 用户数据统计
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/MasterWorkerController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/MasterWorkerController.java
index 172f262..580d976 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/MasterWorkerController.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/MasterWorkerController.java
@@ -87,9 +87,9 @@
             // 最后一跳城市不匹配or条件
             String s = cityList.get(i);
             if (cityList.size() - 1 == i) {
-                wrapper.like(MasterWorker::getCity, s);
+                wrapper.like(MasterWorker::getCityCode, s);
             } else {
-                wrapper.like(MasterWorker::getCity, s).or();
+                wrapper.like(MasterWorker::getCityCode, s).or();
             }
         }
         return R.ok(wrapper.eq(MasterWorker::getIsDelete, Constants.ZERO)
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java
index 2181b11..1f7169b 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java
@@ -14,7 +14,10 @@
 import com.ruoyi.admin.vo.OrderDetailVO;
 import com.ruoyi.common.core.constant.Constants;
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.core.utils.GaoDeMapUtil;
 import com.ruoyi.common.core.utils.SnowflakeIdWorker;
+import com.ruoyi.common.core.vo.CityInfoVO;
 import com.ruoyi.common.security.annotation.Logical;
 import com.ruoyi.common.security.annotation.RequiresPermissions;
 import com.ruoyi.common.security.service.TokenService;
@@ -117,7 +120,11 @@
             return R.loginExpire("登录失效!");
         }
         if (loginUser.getIsFranchisee()) {
-            orderQueryRequest.setCityList(loginUser.getCityList());
+            if (null == orderQueryRequest.getCityList() || orderQueryRequest.getCityList().isEmpty()) {
+                orderQueryRequest.setCityList(loginUser.getCityList());
+            } else {
+                orderQueryRequest.getCityList().addAll(loginUser.getCityList());
+            }
         }
         Page<Order> data = orderClient.queryPage(orderQueryRequest).getData();
         if (null != data) {
@@ -131,6 +138,7 @@
                     record.setServerName(masterWorker.getRealName());
                     record.setServerPhone(masterWorker.getPhone());
                 }
+                record.setReservationAddress(record.getReservationAddress() + record.getAddress());
             }
         }
         return R.ok(data);
@@ -143,6 +151,17 @@
     @ApiOperation(value = "订单列表-各订单数量统计", tags = {"后台-订单管理"})
     @PostMapping(value = "/orderPageCount")
     public R<OrderPageCountVO> orderPageCount(@RequestBody OrderQueryRequest orderQueryRequest) {
+        LoginUser loginUser = tokenService.getLoginUser();
+        if (null == loginUser) {
+            return R.loginExpire("登录失效!");
+        }
+        if (loginUser.getIsFranchisee()) {
+            if (null == orderQueryRequest.getCityList() || orderQueryRequest.getCityList().isEmpty()) {
+                orderQueryRequest.setCityList(loginUser.getCityList());
+            } else {
+                orderQueryRequest.getCityList().addAll(loginUser.getCityList());
+            }
+        }
         return R.ok(orderClient.orderPageCount(orderQueryRequest).getData());
     }
 
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/RecoveryServeController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/RecoveryServeController.java
index e42fba3..aacae71 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/RecoveryServeController.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/RecoveryServeController.java
@@ -141,6 +141,7 @@
                 price.setRecoveryServeId(serve.getId());
                 price.setRecoveryPrice(recoveryPrice);
                 price.setCity(city);
+                price.setCityCode(data.getCityCode());
                 save = save && recoveryServePriceService.save(price);
             }
         }
@@ -179,6 +180,7 @@
                 price.setRecoveryServeId(serve.getId());
                 price.setRecoveryPrice(recoveryPrice);
                 price.setCity(city);
+                price.setCityCode(data.getCityCode());
                 update = update && recoveryServePriceService.save(price);
             }
         }
@@ -200,6 +202,9 @@
         List<String> idList = Arrays.stream(ids.split(",")).collect(Collectors.toList());
         List<RecoveryServe> list = recoveryServeService.lambdaQuery().in(RecoveryServe::getId, idList).list();
         list.forEach(data -> data.setIsDelete(1));
+        recoveryServePriceService.lambdaUpdate()
+                .set(RecoveryServePrice::getIsDelete, Constants.ONE)
+                .in(RecoveryServePrice::getRecoveryServeId, idList).update();
         return recoveryServeService.updateBatchById(list) ? R.ok() : R.fail();
     }
 
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/RecoveryServePriceController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/RecoveryServePriceController.java
deleted file mode 100644
index cc278f0..0000000
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/RecoveryServePriceController.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.ruoyi.admin.controller;
-
-
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- * 回收服务对应回收价格及所在城市 前端控制器
- * </p>
- *
- * @author hjl
- * @since 2024-05-29
- */
-@RestController
-@RequestMapping("/recoveryServePrice")
-public class RecoveryServePriceController {
-
-}
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/RegionController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/RegionController.java
index 0319956..ead6b5d 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/RegionController.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/RegionController.java
@@ -4,6 +4,8 @@
 import com.ruoyi.admin.entity.Region;
 import com.ruoyi.admin.service.RegionService;
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.security.service.TokenService;
+import com.ruoyi.system.api.model.LoginUser;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -11,6 +13,7 @@
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -28,6 +31,8 @@
 
     @Resource
     private RegionService regionService;
+    @Resource
+    private TokenService tokenService;
 
     /**
      * 收货地址省市二级联动
@@ -35,7 +40,17 @@
     @GetMapping("/addressTree")
     @ApiOperation(value = "选择城市:省市二级联动", tags = {"后台-首页"})
     public R<List<Region>> addressTree() {
-        return R.ok(regionService.addressTree());
+        LoginUser loginUser = tokenService.getLoginUser();
+        if (null == loginUser) {
+            return R.loginExpire("登录失效!");
+        }
+        List<String> cityCodeList;
+        if (loginUser.getIsFranchisee()) {
+            cityCodeList = loginUser.getCityList();
+        } else {
+            cityCodeList = new ArrayList<>();
+        }
+        return R.ok(regionService.addressTree(cityCodeList));
     }
 
 }
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/WorkerProcessController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/WorkerProcessController.java
index d321b5b..993872d 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/WorkerProcessController.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/WorkerProcessController.java
@@ -81,9 +81,9 @@
             // 最后一跳城市不匹配or条件
             String s = cityList.get(i);
             if (cityList.size() - 1 == i) {
-                wrapper.like(WorkerProcess::getCity, s);
+                wrapper.like(WorkerProcess::getCityCode, s);
             } else {
-                wrapper.like(WorkerProcess::getCity, s).or();
+                wrapper.like(WorkerProcess::getCityCode, s).or();
             }
         }
         return R.ok(wrapper.eq(WorkerProcess::getIsDelete, 0)
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/Agreement.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/Agreement.java
index 124521d..2ed9dc4 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/Agreement.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/Agreement.java
@@ -10,6 +10,8 @@
 import lombok.Getter;
 import lombok.Setter;
 
+import javax.validation.constraints.NotBlank;
+
 /**
  * <p>
  * 协议政策、司机操作指导
@@ -29,6 +31,7 @@
 
     @ApiModelProperty("内容")
     @TableField("content")
+    @NotBlank
     private String content;
 
     @ApiModelProperty("0注册协议;1:隐私政策;2:司机操作指导")
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/Franchisee.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/Franchisee.java
index e1c4759..2da88f4 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/Franchisee.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/Franchisee.java
@@ -62,7 +62,6 @@
 
     @ApiModelProperty("管辖城市( ',' 隔开)")
     @TableField("city")
-    @NotBlank(message = "请选择:管辖城市")
     private String city;
 
     @ApiModelProperty("身份证正反面照片 ,隔开")
@@ -82,4 +81,9 @@
     @TableField("city_str")
     private String cityStr;
 
+    @ApiModelProperty("对应城市code")
+    @NotBlank(message = "请选择:管辖城市")
+    @TableField("city_code")
+    private String cityCode;
+
 }
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/MasterWorker.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/MasterWorker.java
index e6350a9..9446416 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/MasterWorker.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/MasterWorker.java
@@ -89,4 +89,8 @@
     @TableField("city_str")
     private String cityStr;
 
+    @ApiModelProperty("对应城市code")
+    @TableField("city_code")
+    private String cityCode;
+
 }
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/RecoveryServePrice.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/RecoveryServePrice.java
index b4dd1b3..0241a27 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/RecoveryServePrice.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/RecoveryServePrice.java
@@ -41,4 +41,8 @@
     @TableField("city")
     private String city;
 
+    @ApiModelProperty("对应城市code")
+    @TableField("city_code")
+    private String cityCode;
+
 }
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/WorkerProcess.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/WorkerProcess.java
index 49289be..e1d95fc 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/WorkerProcess.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/WorkerProcess.java
@@ -85,4 +85,8 @@
     @TableField("city_str")
     private String cityStr;
 
+    @ApiModelProperty("对应城市code")
+    @TableField("city_code")
+    private String cityCode;
+
 }
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/mapper/UserMapper.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/mapper/UserMapper.java
index 24738bf..cd3b5ed 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/mapper/UserMapper.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/mapper/UserMapper.java
@@ -42,4 +42,5 @@
      * @return 注册用户数量
      */
     Long increaseNumberByMonth(@Param("cityList") List<String> cityList);
+
 }
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/request/RecoveryServePriceRequest.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/request/RecoveryServePriceRequest.java
index 8cd9737..2c72bef 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/request/RecoveryServePriceRequest.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/request/RecoveryServePriceRequest.java
@@ -26,4 +26,7 @@
     @ApiModelProperty("对应城市")
     private String city;
 
+    @ApiModelProperty("对应城市code")
+    private String cityCode;
+
 }
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/RegionService.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/RegionService.java
index 5ba0fa6..154ea31 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/RegionService.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/RegionService.java
@@ -18,7 +18,8 @@
     /**
      * 收货地址省市区二级联动
      *
+     * @param cityCodeList 城市编码列表
      * @return 无限级树
      */
-    List<Region> addressTree();
+    List<Region> addressTree(List<String> cityCodeList);
 }
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/MasterWorkerServiceImpl.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/MasterWorkerServiceImpl.java
index 516dacf..261353e 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/MasterWorkerServiceImpl.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/MasterWorkerServiceImpl.java
@@ -34,7 +34,7 @@
         if (null == cityList || cityList.isEmpty()) {
             masterWorkerList = lambdaQuery().eq(MasterWorker::getIsDelete, 0).list();
         } else {
-            masterWorkerList = lambdaQuery().in(MasterWorker::getCity, cityList)
+            masterWorkerList = lambdaQuery().in(MasterWorker::getCityCode, cityList)
                     .eq(MasterWorker::getIsDelete, 0).list();
         }
         if (null == masterWorkerList || masterWorkerList.isEmpty()) {
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/OrderServiceImpl.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/OrderServiceImpl.java
index 65ad09f..a2912c0 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/OrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/OrderServiceImpl.java
@@ -225,7 +225,7 @@
         }
         orderByUserInfo.setReservationName(order.getReservationName());
         orderByUserInfo.setReservationPhone(order.getReservationPhone());
-        orderByUserInfo.setReservationAddress(order.getReservationAddress());
+        orderByUserInfo.setReservationAddress(order.getReservationAddress() + order.getAddress());
         orderByUserInfo.setTime(order.getTime());
         result.setUserInfo(orderByUserInfo);
     }
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/RegionServiceImpl.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/RegionServiceImpl.java
index 350303c..e423b06 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/RegionServiceImpl.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/RegionServiceImpl.java
@@ -10,7 +10,6 @@
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
-import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
@@ -31,11 +30,9 @@
     private RedisTemplate<Object, Object> redisTemplate;
 
     @Override
-    public List<Region> addressTree() {
-        // redis缓存
-        Map<Object, Object> regionList = redisTemplate.opsForHash().entries(RedisConstants.ADDRESS_TREE);
+    public List<Region> addressTree(List<String> cityCodeList) {
         // 获取所有地区信息 省市区三级
-        List<Region> regions = getReginList(regionList);
+        List<Region> regions = getReginList(cityCodeList);
         // 所有地区
         Map<String, Region> courseTypeMap = regions.stream().
                 collect(Collectors.toMap(region -> region.getId().toString()
@@ -67,15 +64,13 @@
     /**
      * 获取redis数据进行封装
      */
-    private List<Region> getReginList(Map<Object, Object> regionMap) {
-        List<Region> regions = new ArrayList<>();
-        if (!regionMap.isEmpty()) {
-            Collection<Object> values = regionMap.values();
-            for (Object value : values) {
-                regions.add((Region) value);
-            }
-        } else {
+    private List<Region> getReginList(List<String> cityCodeList) {
+        List<Region> regions;
+        if (cityCodeList.isEmpty()) {
             regions = this.list();
+        } else {
+            regions = this.lambdaQuery()
+                    .in(Region::getCode, cityCodeList).list();
         }
         return regions;
     }
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/UserServiceImpl.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/UserServiceImpl.java
index 320b592..59b8464 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/UserServiceImpl.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/UserServiceImpl.java
@@ -9,6 +9,7 @@
 import com.ruoyi.admin.vo.UserDataCountVO;
 import com.ruoyi.admin.vo.UserTrendsVO;
 import com.ruoyi.common.core.constant.OrderConstants;
+import com.ruoyi.common.core.domain.R;
 import com.ruoyi.order.api.entity.MoneyQueryRequest;
 import com.ruoyi.order.api.feignClient.OrderClient;
 import com.ruoyi.order.api.feignClient.WithdrawClient;
@@ -49,9 +50,21 @@
     public UserDataCountVO userDataCount(UserDataCountRequest userDataCountRequest) {
         List<String> cityList = userDataCountRequest.getCityList();
         String type = userDataCountRequest.getCountType();
-        List<User> userList = lambdaQuery().eq(User::getIsDelete, 0).list();
+        LambdaQueryChainWrapper<User> userWrapper = lambdaQuery().eq(User::getIsDelete, 0);
+        if (null != cityList && !cityList.isEmpty()) {
+            userWrapper.in(User::getCityCode, cityList);
+        }
+        List<User> userList = userWrapper.list();
+        // 判断用户是否在管辖城市内下过订单
+        for (User user : userList) {
+            Integer userId = user.getId();
+            R<Boolean> r = orderClient.orderByUserId(userId);
+            if (!r.getData()) {
+                userList.remove(user);
+            }
+        }
+        Integer userNumber = userList.size();
         // 用户总量
-        Integer userNumber = null == userList ? 0 : userList.size();
         // 计算当前季度时间所包含时间
         int currentYear = Year.now().getValue();
         // 获取当前月份
@@ -71,8 +84,8 @@
             // 用户增长数
             LambdaQueryChainWrapper<User> wrapper = lambdaQuery().ge(User::getCreateTime, startDateStr)
                     .le(User::getCreateTime, endDateStr);
-            if (!cityList.isEmpty()) {
-                wrapper.in(User::getCity, cityList);
+            if (null != cityList && !cityList.isEmpty()) {
+                wrapper.in(User::getCityCode, cityList);
             }
             increaseNumber = wrapper.eq(User::getIsDelete, 0).count();
         } else if (OrderConstants.YEAR.equals(type)) {
diff --git a/ruoyi-service/ruoyi-admin/src/main/resources/mapper/admin/UserMapper.xml b/ruoyi-service/ruoyi-admin/src/main/resources/mapper/admin/UserMapper.xml
index 81c2dbd..ee081af 100644
--- a/ruoyi-service/ruoyi-admin/src/main/resources/mapper/admin/UserMapper.xml
+++ b/ruoyi-service/ruoyi-admin/src/main/resources/mapper/admin/UserMapper.xml
@@ -21,7 +21,7 @@
         FROM t_user
         <where>
             <if test="city != null and city.size() != 0">
-                city in
+                city_code in
                 <foreach collection="city" item="city" open="(" separator="," close=")">
                 #{city}
                 </foreach>
@@ -39,7 +39,7 @@
         WHERE YEAR(createTime) = YEAR(NOW())
           and is_delete = 0
         <if test="cityList != null and cityList.size() != 0">
-            and city in
+            and city_code in
             <foreach collection="cityList" item="city" open="(" separator="," close=")">
                 #{city}
             </foreach>
@@ -52,10 +52,11 @@
         WHERE MONTH(createTime) = MONTH(NOW())
           AND YEAR(createTime) = YEAR(NOW())
         <if test="cityList != null and cityList.size() != 0">
-            and city in
+            and city_code in
             <foreach collection="cityList" item="city" open="(" separator="," close=")">
                 #{city}
             </foreach>
         </if>
     </select>
+
 </mapper>
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
index 9ad1c53..c703917 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
@@ -159,8 +159,16 @@
         } catch (Exception e) {
             bigDecimal = BigDecimal.ZERO;
         }
-        return R.ok(orderService.lambdaUpdate()
-                .eq(Order::getId, orderId).set(Order::getSubsidy, bigDecimal).update());
+        Order order = orderService.lambdaQuery()
+                .eq(Order::getId, orderId).eq(Order::getIsDelete, 0).one();
+        BigDecimal subsidy = order.getSubsidy();
+        if (null == subsidy) {
+            order.setSubsidy(bigDecimal);
+        } else {
+            BigDecimal add = order.getSubsidy().add(bigDecimal);
+            order.setSubsidy(add);
+        }
+        return R.ok(orderService.updateById(order));
     }
 
     /**
@@ -319,8 +327,21 @@
             @ApiImplicitParam(value = "每页条数", name = "pageSize", dataType = "Integer", required = true)
     })
     public R<Page<OrderCountVO>> orderCount(@RequestBody OrderCountDataRequest request) {
-        return R.ok(orderService.orderCount(request.getWorkerName(), request.getWorkerPhone(),
+        return R.ok(orderService.orderCount(request.getWorkerName(), request.getWorkerPhone(), request.getCityList(),
                 Page.of(request.getPageNum(), request.getPageSize())));
+    }
+
+    /**
+     * 判断用户是否下单
+     *
+     * @param userId 用户id
+     */
+    @GetMapping(value = "/orderByUserId")
+    public R<Boolean> orderByUserId(@RequestParam("userId") Integer userId) {
+        List<Order> list = orderService.lambdaQuery()
+                .eq(Order::getUserId, userId)
+                .eq(Order::getIsDelete, Constants.ZERO).list();
+        return R.ok(!list.isEmpty());
     }
 
     /**
@@ -451,6 +472,7 @@
     public R<OrderDetailVO> orderDetail(@RequestParam("orderId") String orderId) {
         // 订单信息
         Order order = orderService.lambdaQuery().eq(Order::getId, orderId).eq(Order::getIsDelete, 0).one();
+        order.setReservationAddress(order.getReservationAddress() + order.getAddress());
         // 服务信息(服务备注、上门时间、完成时间、完成所拍现场照片)
         ServeRecord serveRecord = serveRecordService.lambdaQuery().eq(ServeRecord::getOrderId, orderId)
                 .eq(ServeRecord::getIsDelete, 0).one();
@@ -556,7 +578,9 @@
                                           @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
         LambdaQueryChainWrapper<Order> wrapper = orderService.lambdaQuery()
                 .eq(Order::getIsDelete, 0).eq(Order::getUserId, userId);
-        if (state != -1) {
+        if (state == 1 || state == 2) {
+            wrapper.in(Order::getState, Constants.ONE, Constants.TWO);
+        } else if (state != -1) {
             wrapper.eq(Order::getState, state);
         }
         return R.ok(wrapper.orderByDesc(Order::getCreateTime).page(Page.of(pageNum, pageSize)));
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/ChangeDispatch.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/ChangeDispatch.java
index c35bd71..be164fb 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/ChangeDispatch.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/ChangeDispatch.java
@@ -72,5 +72,9 @@
     @TableField("user_name")
     private String userName;
 
+    @ApiModelProperty("城市编码")
+    @TableField("city_code")
+    private String cityCode;
+
 
 }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Order.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Order.java
index 19b8051..da4b655 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Order.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Order.java
@@ -150,6 +150,10 @@
     @TableField("top_sort")
     private Integer topSort;
 
+    @ApiModelProperty("城市code")
+    @TableField("city_code")
+    private String cityCode;
+
     @ApiModelProperty("是否评价(0:未评价,1:已评价)")
     @TableField("is_evaluate")
     private Integer isEvaluate;
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Withdraw.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Withdraw.java
index f2ff4dc..9cfb019 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Withdraw.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Withdraw.java
@@ -68,4 +68,8 @@
     @TableField("order_id")
     private String orderId;
 
+    @ApiModelProperty("城市code")
+    @TableField("city_code")
+    private String cityCode;
+
 }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java
index 249d601..47ed38c 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java
@@ -85,12 +85,14 @@
     /**
      * 订单管理-订单统计
      *
-     * @param name  师傅姓名
-     * @param phone 师傅电话
-     * @param page  分页
+     * @param name     师傅姓名
+     * @param phone    师傅电话
+     * @param cityList 城市列表
+     * @param page     分页
      * @return 分页统计
      */
-    Page<OrderCountVO> orderCount(@Param("name") String name, @Param("phone") String phone, Page<OrderCountVO> page);
+    Page<OrderCountVO> orderCount(@Param("name") String name, @Param("phone") String phone,
+                                  @Param("cityList") List<String> cityList, Page<OrderCountVO> page);
 
     /**
      * 订单列表
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/request/EvaluatePageRequest.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/request/EvaluatePageRequest.java
index 810eaa5..833dae5 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/request/EvaluatePageRequest.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/request/EvaluatePageRequest.java
@@ -24,4 +24,6 @@
 
     private Integer pageSize;
 
+    private List<Integer> userIdList;
+
 }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/OrderService.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/OrderService.java
index e7e921f..46f6585 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/OrderService.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/OrderService.java
@@ -47,12 +47,13 @@
     /**
      * 订单管理-订单统计
      *
-     * @param name  师傅姓名
-     * @param phone 师傅电话
-     * @param page  分页
+     * @param name     师傅姓名
+     * @param phone    师傅电话
+     * @param cityList 城市列表
+     * @param page     分页
      * @return 分页统计
      */
-    Page<OrderCountVO> orderCount(String name, String phone, Page<OrderCountVO> page);
+    Page<OrderCountVO> orderCount(String name, String phone, List<String> cityList, Page<OrderCountVO> page);
 
     /**
      * 订单管理分页模块,订单数量统计
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
index 24cde1d..9d2abb3 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -71,11 +71,11 @@
                 long diffInMillis = date2.getTime() - date1.getTime();
                 long diffInDays = diffInMillis / (24 * 60 * 60 * 1000);
                 if (diffInDays > Constants.YEAR_DAY) {
-                    list = baseMapper.orderCountByTimeRangeYear(cityList, startTime, endTime,orderState);
+                    list = baseMapper.orderCountByTimeRangeYear(cityList, startTime, endTime, orderState);
                 } else if (diffInDays > Constants.THIRTY) {
-                    list = baseMapper.orderCountByTimeRangeMonth(cityList, startTime, endTime,orderState);
+                    list = baseMapper.orderCountByTimeRangeMonth(cityList, startTime, endTime, orderState);
                 } else {
-                    list = baseMapper.orderCountByTimeRange(cityList, startTime, endTime,orderState);
+                    list = baseMapper.orderCountByTimeRange(cityList, startTime, endTime, orderState);
                 }
             } catch (ParseException e) {
                 list = new ArrayList<>();
@@ -131,8 +131,8 @@
 
 
     @Override
-    public Page<OrderCountVO> orderCount(String name, String phone, Page<OrderCountVO> page) {
-        return baseMapper.orderCount(name, phone, page);
+    public Page<OrderCountVO> orderCount(String name, String phone, List<String> cityList, Page<OrderCountVO> page) {
+        return baseMapper.orderCount(name, phone, cityList, page);
     }
 
     @Override
@@ -307,6 +307,7 @@
         order.setServeName(serveName);
         order.setServePrice(defaultPrice);
         order.setUserId(userId);
+        order.setIsEvaluate(Constants.ZERO);
         order.setReservationName(reservationName);
         order.setReservationPhone(reservationPhone);
         if (null == userOrderRequest.getAddressId()) {
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/WithdrawServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/WithdrawServiceImpl.java
index bca8a9a..bc9b449 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/WithdrawServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/WithdrawServiceImpl.java
@@ -203,6 +203,7 @@
         withdraw.setApplyForTime(new Date());
         withdraw.setApplyForMoney(order.getOrderMoney());
         withdraw.setOrderId(orderId);
+        withdraw.setCityCode(order.getCityCode());
         return this.save(withdraw);
     }
 
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/EvaluateOrderInfoVO.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/EvaluateOrderInfoVO.java
index 2ccd818..29b93d8 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/EvaluateOrderInfoVO.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/EvaluateOrderInfoVO.java
@@ -42,4 +42,7 @@
     @ApiModelProperty("回收服务id")
     private Integer serveId;
 
+    @ApiModelProperty("是否评价(0:未评价;1:已评价)")
+    private Integer isEvaluate;
+
 }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderCountVO.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderCountVO.java
index 8478482..59fb593 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderCountVO.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderCountVO.java
@@ -13,6 +13,9 @@
 @ApiModel(value = "OrderCountVO对象", description = "订单统计返回类")
 public class OrderCountVO {
 
+    @ApiModelProperty("订单中师傅名称")
+    private String workerName;
+
     @ApiModelProperty("师傅id")
     private Integer workerId;
 
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/ChangeDispatchMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/ChangeDispatchMapper.xml
index 7bff320..3a4e0ca 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/ChangeDispatchMapper.xml
+++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/ChangeDispatchMapper.xml
@@ -37,7 +37,7 @@
                 and c.user_name like concat('%', #{data.userName}, '%')
             </if>
             <if test="data.cityList != null and data.cityList.size() != 0">
-                and o.city in
+                and o.city_code in
                 <foreach collection="data.cityList" item="city" open="(" separator="," close=")">
                     #{city}
                 </foreach>
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/EvaluateMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/EvaluateMapper.xml
index 4fef17c..afec60c 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/EvaluateMapper.xml
+++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/EvaluateMapper.xml
@@ -21,7 +21,6 @@
     <resultMap id="evaluatePageVO" type="com.ruoyi.order.vo.EvaluatePageVO">
         <result column="id" property="id"/>
         <result column="user_id" property="userId"/>
-        <result column="userNo" property="userNo"/>
         <result column="user_phone" property="userPhone"/>
         <result column="order_id" property="orderId"/>
         <result column="order_number" property="orderNumber"/>
@@ -45,17 +44,19 @@
                e.serve_no,
                e.star_rating,
                e.is_delete,
-               o.reservation_name as userNo,
                o.order_number,
-               o.server_name      as workerName,
-               o.server_phone     as workerPhone
+               o.server_name  as workerName,
+               o.server_phone as workerPhone
         from t_evaluate e
                  left join t_order o on e.order_id = o.id
         <where>
             e.is_delete = 0
               and o.is_delete = 0
-            <if test="data.userNo != null and data.userNo != ''">
-                and o.reservation_name like concat('%', #{data.userNo}, '%')
+            <if test="data.cityList != null and data.cityList.size() != 0">
+                and o.user_id in
+                <foreach collection="data.userIdList" item="id" open="(" separator="," close=")">
+                    #{id}
+                </foreach>
             </if>
             <if test="data.orderNumber != null and data.orderNumber != ''">
                 and o.order_number like concat('%', #{data.orderNumber}, '%')
@@ -64,7 +65,7 @@
                 and o.server_name like concat('%', #{data.workerName}, '%')
             </if>
             <if test="data.cityList != null and data.cityList.size() != 0">
-                and o.city in
+                and o.city_code in
                 <foreach collection="data.cityList" item="city" open="(" separator="," close=")">
                     #{city}
                 </foreach>
@@ -111,6 +112,7 @@
             <result column="server_name" property="serverName"/>
             <result column="server_phone" property="serverPhone"/>
             <result column="serve_id" property="serveId"/>
+            <result column="is_evaluate" property="isEvaluate"/>
         </association>
         <association property="evaluateInfo" javaType="com.ruoyi.order.vo.EvaluateInfoVO">
             <result column="content" property="content"/>
@@ -125,6 +127,7 @@
                o.complete_time,
                o.server_name,
                o.server_phone,
+               o.is_evaluate,
                e.content,
                e.star_rating,
                e.createTime,
@@ -132,7 +135,10 @@
         FROM t_order o
                  LEFT JOIN t_evaluate e on o.id = e.order_id
         <where>
-            o.user_id = #{userId}
+            o.user_id = #{userId} and e.user_id = #{userId}
+            <!--订单评价列表只展示已完成订单-->
+            and o.state = 3
+            and o.is_delete = 0 and e.is_delete = 0
             <if test="state != -1">
                 and o.is_evaluate = #{state}
             </if>
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
index e505b4d..0ba4a05 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
+++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -30,13 +30,15 @@
 
 
     <select id="orderCountByYear" resultType="com.ruoyi.order.vo.OrderQueryVO">
-        SELECT DATE_FORMAT(createTime, '%Y-%m') AS dateTime, COUNT(*) AS number, sum(IFNULL(serve_price, 0)) as totalPrice
+        SELECT DATE_FORMAT(createTime, '%Y-%m') AS dateTime,
+               COUNT(*)                         AS number,
+               sum(IFNULL(serve_price, 0))      as totalPrice
         FROM t_order
         <where>
             is_delete = 0
               and YEAR(createTime) = YEAR(NOW())
             <if test="cityList != null and cityList.size() != 0">
-                and city in
+                and city_code in
                 <foreach collection="cityList" item="id" open="(" separator="," close=")">
                     #{id}
                 </foreach>
@@ -50,13 +52,15 @@
     </select>
 
     <select id="orderCountByWeek" resultType="com.ruoyi.order.vo.OrderQueryVO">
-        SELECT DATE_FORMAT(createTime, '%Y-%m-%d') AS dateTime, COUNT(*) AS number, sum(IFNULL(serve_price, 0)) as totalPrice
+        SELECT DATE_FORMAT(createTime, '%Y-%m-%d') AS dateTime,
+               COUNT(*)                            AS number,
+               sum(IFNULL(serve_price, 0))         as totalPrice
         FROM t_order
         <where>
             is_delete = 0
               and YEARWEEK(DATE_FORMAT(createTime, '%Y-%m-%d'), 1) = YEARWEEK(NOW(), 1)
             <if test="cityList != null and cityList.size() != 0">
-                and city in
+                and city_code in
                 <foreach collection="cityList" item="id" open="(" separator="," close=")">
                     #{id}
                 </foreach>
@@ -70,14 +74,16 @@
     </select>
 
     <select id="orderCountByMonth" resultType="com.ruoyi.order.vo.OrderQueryVO">
-        SELECT DATE_FORMAT(createTime, '%Y-%m-%d') AS dateTime, COUNT(*) AS number, sum(IFNULL(serve_price, 0)) as totalPrice
+        SELECT DATE_FORMAT(createTime, '%Y-%m-%d') AS dateTime,
+               COUNT(*)                            AS number,
+               sum(IFNULL(serve_price, 0))         as totalPrice
         FROM t_order
         <where>
             is_delete = 0
               and MONTH(createTime) = MONTH(NOW())
               AND YEAR(createTime) = YEAR(NOW())
             <if test="cityList != null and cityList.size() != 0">
-                and city in
+                and city_code in
                 <foreach collection="cityList" item="id" open="(" separator="," close=")">
                     #{id}
                 </foreach>
@@ -91,13 +97,15 @@
     </select>
 
     <select id="orderCountByToday" resultType="com.ruoyi.order.vo.OrderQueryVO">
-        SELECT DATE_FORMAT(createTime, '%Y-%m-%d') AS dateTime, COUNT(*) AS number, sum(IFNULL(serve_price, 0)) as totalPrice
+        SELECT DATE_FORMAT(createTime, '%Y-%m-%d') AS dateTime,
+               COUNT(*)                            AS number,
+               sum(IFNULL(serve_price, 0))         as totalPrice
         FROM t_order
         <where>
             is_delete = 0
               and DATE(createTime) = CURDATE()
             <if test="cityList != null and cityList.size() != 0">
-                and city in
+                and city_code in
                 <foreach collection="cityList" item="id" open="(" separator="," close=")">
                     #{id}
                 </foreach>
@@ -117,9 +125,9 @@
             is_delete = 0
               and state = 4
             <if test="cityList != null and cityList.size() != 0">
-                and city in
+                and city_code in
                 <foreach collection="cityList" item="id" open="(" separator="," close=")">
-                    #{id}
+        #{id}
                 </foreach>
             </if>
             <if test="start != null and start != ''">
@@ -138,7 +146,7 @@
           and is_delete = 0
           and state = 4
         <if test="cityList != null and cityList.size() != 0">
-            and city in
+            and city_code in
             <foreach collection="cityList" item="id" open="(" separator="," close=")">
                 #{id}
             </foreach>
@@ -153,7 +161,7 @@
           and is_delete = 0
           and state = 4
         <if test="cityList != null and cityList.size() != 0">
-            and city in
+            and city_code in
             <foreach collection="cityList" item="id" open="(" separator="," close=")">
                 #{id}
             </foreach>
@@ -168,6 +176,12 @@
         FROM t_order o
         WHERE o.is_delete = 0
           and o.server_id is not null
+        <if test="cityList != null and cityList.size() != 0">
+            and o.city in
+            <foreach collection="cityList" item="city" open="(" separator="," close=")">
+                #{city}
+            </foreach>
+        </if>
         <if test="phone != null and phone != ''">
             and o.server_phone like concat('%', #{phone}, '%')
         </if>
@@ -233,6 +247,12 @@
         from t_order o
         <where>
             o.is_delete = 0
+            <if test="data.cityList != null and data.cityList.size() != 0">
+                and o.city in
+                <foreach collection="data.cityList" item="city" open="(" separator="," close=")">
+                    #{city}
+                </foreach>
+            </if>
             <if test="data.orderNumber != null and data.orderNumber != ''">
                 and o.order_number like concat('%', #{data.orderNumber}, '%')
             </if>
@@ -378,12 +398,14 @@
     </select>
 
     <select id="orderCountByTimeRange" resultType="com.ruoyi.order.vo.OrderQueryVO">
-        SELECT DATE_FORMAT(createTime, '%Y-%m-%d') AS dateTime, COUNT(*) AS number, sum(IFNULL(serve_price, 0)) as totalPrice
+        SELECT DATE_FORMAT(createTime, '%Y-%m-%d') AS dateTime,
+               COUNT(*)                            AS number,
+               sum(IFNULL(serve_price, 0))         as totalPrice
         FROM t_order
         <where>
             is_delete = 0
             <if test="cityList != null and cityList.size() != 0">
-                and city in
+                and city_code in
                 <foreach collection="cityList" item="id" open="(" separator="," close=")">
                     #{id}
                 </foreach>
@@ -408,7 +430,7 @@
         <where>
             is_delete = 0
             <if test="cityList != null and cityList.size() != 0">
-                and city in
+                and city_code in
                 <foreach collection="cityList" item="id" open="(" separator="," close=")">
                     #{id}
                 </foreach>
@@ -428,12 +450,14 @@
     </select>
 
     <select id="orderCountByTimeRangeMonth" resultType="com.ruoyi.order.vo.OrderQueryVO">
-        SELECT DATE_FORMAT(createTime, '%Y-%m') AS dateTime, COUNT(*) AS number, sum(IFNULL(serve_price, 0)) as totalPrice
+        SELECT DATE_FORMAT(createTime, '%Y-%m') AS dateTime,
+               COUNT(*)                         AS number,
+               sum(IFNULL(serve_price, 0))      as totalPrice
         FROM t_order
         <where>
             is_delete = 0
             <if test="cityList != null and cityList.size() != 0">
-                and city in
+                and city_code in
                 <foreach collection="cityList" item="id" open="(" separator="," close=")">
                     #{id}
                 </foreach>
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/WithdrawMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/WithdrawMapper.xml
index e0cbb07..1e90e97 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/WithdrawMapper.xml
+++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/WithdrawMapper.xml
@@ -98,12 +98,12 @@
             <if test="end != null and end != ''">
                 and w.createTime <![CDATA[ <= ]]> #{end}
             </if>
-            <!--<if test="cityList != null and cityList.size() != 0">
-                and u.city in
+            <if test="cityList != null and cityList.size() != 0">
+                and city_code in
                 <foreach collection="cityList" item="id" open="(" separator="," close=")">
-                    #{id}
+                #{id}
                 </foreach>
-            </if>-->
+            </if>
         </where>
     </select>
 
diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/EvaluateController.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/EvaluateController.java
index 097a2f3..09b4bed 100644
--- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/EvaluateController.java
+++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/EvaluateController.java
@@ -54,7 +54,7 @@
         Page<OrderEvaluateVO> list = evaluateClient.evaluateListByUser(loginUser.getUserid(), state, pageNum, pageSize).getData();
         if (null != list) {
             // 数据封装,减少循环io
-            List<Integer> ids = list.getRecords().stream().map(OrderEvaluateVO::getServeId).collect(Collectors.toList());
+            List<Integer> ids = list.getRecords().stream().map(data -> data.getOrderInfo().getServeId()).collect(Collectors.toList());
             if (!ids.isEmpty()) {
                 List<RecoveryServe> serveList = recoveryServeService.lambdaQuery()
                         .in(RecoveryServe::getId, ids)
diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/OrderController.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/OrderController.java
index c662152..0334ea9 100644
--- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/OrderController.java
+++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/OrderController.java
@@ -7,7 +7,9 @@
 import com.ruoyi.common.core.constant.Constants;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.exception.GlobalException;
+import com.ruoyi.common.core.utils.GaoDeMapUtil;
 import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.core.vo.CityInfoVO;
 import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.order.api.entity.Order;
 import com.ruoyi.order.api.entity.ServeRecord;
@@ -95,7 +97,7 @@
     @ApiOperation(value = "在线评估", tags = {"用户端-订单"})
     @ApiImplicitParams({
             @ApiImplicitParam(value = "回收服务id", name = "orderId", dataType = "Integer", required = true),
-            @ApiImplicitParam(value = "所在城市", name = "city", dataType = "String")
+            @ApiImplicitParam(value = "所在城市code", name = "city", dataType = "String")
     })
     public R<BigDecimal> estimate(@RequestParam String orderId, String city) {
         Order order = orderClient.detail(orderId).getData();
@@ -104,9 +106,11 @@
                 .eq(RecoveryServe::getIsDelete, 0).one();
         BigDecimal money = recoveryServe.getDefaultPrice();
         if (StringUtils.isNotBlank(city)) {
+            CityInfoVO info = GaoDeMapUtil.getAddressInfo(city).getDatas();
             RecoveryServePrice price = recoveryServePriceService.lambdaQuery()
                     .eq(RecoveryServePrice::getRecoveryServeId, recoveryServe.getId())
-                    .eq(RecoveryServePrice::getCity, city).one();
+                    .eq(RecoveryServePrice::getCityCode, info.getCode())
+                    .eq(RecoveryServePrice::getIsDelete, Constants.ZERO).one();
             if (null != price) {
                 money = price.getRecoveryPrice();
             }
@@ -166,9 +170,15 @@
     public R<Object> allowanceMoney(@RequestParam("orderId") String orderId, @RequestParam("prizeId") String prizeId) {
         Prize data = adminClient.prizeDetail(prizeId).getData();
         if (null == data) {
-            return R.fail("奖品信息获取失败!");
+            return R.fail(adminClient.prizeDetail(prizeId).getMsg());
         }
-        return R.ok(orderClient.supplementAllowance(orderId, data.getPrizeName()).getData());
+        String prizeMoney;
+        if (data.getPrizeName().contains(Constants.SUBSIDY_MONEY)) {
+            prizeMoney = data.getPrizeName().substring(Constants.ONE);
+        } else {
+            prizeMoney = "0";
+        }
+        return R.ok(orderClient.supplementAllowance(orderId, prizeMoney).getData());
     }
 
     @PostMapping("/orderEstimate")
diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/RecoveryServeController.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/RecoveryServeController.java
index 0204b90..cf5a89f 100644
--- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/RecoveryServeController.java
+++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/RecoveryServeController.java
@@ -10,9 +10,12 @@
 import com.ruoyi.user.entity.RecoveryClassify;
 import com.ruoyi.user.entity.RecoveryServe;
 import com.ruoyi.user.entity.UserCollect;
+import com.ruoyi.user.entity.UserRecipient;
 import com.ruoyi.user.service.RecoveryClassifyService;
 import com.ruoyi.user.service.RecoveryServeService;
 import com.ruoyi.user.service.UserCollectService;
+import com.ruoyi.user.service.UserRecipientService;
+import com.ruoyi.user.vo.ServeDetailVO;
 import com.ruoyi.user.vo.ServeListVO;
 import com.ruoyi.user.vo.UserServeTypeVO;
 import io.swagger.annotations.Api;
@@ -49,6 +52,8 @@
     private UserCollectService collectService;
     @Resource
     private TokenService tokenService;
+    @Resource
+    private UserRecipientService userRecipientService;
 
     /**
      * 获取服务列表
@@ -68,7 +73,7 @@
         List<RecoveryClassify> serveList = recoveryClassifyService.lambdaQuery()
                 .eq(RecoveryClassify::getIsDelete, 0)
                 .eq(RecoveryClassify::getSupClassify, serveType)
-                .orderByAsc(RecoveryClassify::getSort)
+                .orderByDesc(RecoveryClassify::getSort)
                 .orderByDesc(RecoveryClassify::getCreateTime).list();
         List<UserServeTypeVO> list = new ArrayList<>();
         for (RecoveryClassify classify : serveList) {
@@ -89,7 +94,7 @@
         Page<RecoveryServe> page = recoveryServeService.lambdaQuery()
                 .eq(RecoveryServe::getClassifyId, id)
                 .eq(RecoveryServe::getIsDelete, 0)
-                .orderByAsc(RecoveryServe::getSort)
+                .orderByDesc(RecoveryServe::getSort)
                 .orderByDesc(RecoveryServe::getCreateTime).page(Page.of(pageNum, pageSize));
         return R.ok(page);
     }
@@ -111,12 +116,17 @@
     @ApiImplicitParams({
             @ApiImplicitParam(value = "服务id", name = "serveId", dataType = "String", required = true)
     })
-    public R<RecoveryServe> serveDetail(@RequestParam String serveId) {
+    public R<ServeDetailVO> serveDetail(@RequestParam String serveId) {
+        LoginUserInfo loginUser = tokenService.getLoginUserByUser();
+        if (null == loginUser) {
+            return R.loginExpire("登录失效!");
+        }
         RecoveryServe recoveryServe = recoveryServeService.lambdaQuery().eq(RecoveryServe::getId, serveId)
-                .eq(RecoveryServe::getIsDelete, 0).orderByAsc(RecoveryServe::getSort).one();
+                .eq(RecoveryServe::getIsDelete, 0).one();
         // 用户是否收藏
         UserCollect one = collectService.lambdaQuery()
                 .eq(UserCollect::getServeId, serveId)
+                .eq(UserCollect::getUserId, loginUser.getUserid())
                 .eq(UserCollect::getIsDelete, 0).one();
         if (null != one) {
             recoveryServe.setIsCollect(Boolean.TRUE);
@@ -126,14 +136,18 @@
         // 获取服务分类
         Integer classifyId = recoveryServe.getClassifyId();
         RecoveryClassify classify = recoveryClassifyService.lambdaQuery()
-                .eq(RecoveryClassify::getId, classifyId)
-                .eq(RecoveryClassify::getIsDelete, 0).one();
+                .eq(RecoveryClassify::getId, classifyId).one();
         if (classify.getSupClassify().equals(Constants.TRADE_IN)) {
             recoveryServe.setType(Constants.ZERO);
         } else {
             recoveryServe.setType(Constants.ONE);
         }
-        return R.ok(recoveryServe);
+        // 获取用户默认收货地址
+        UserRecipient userRecipient = userRecipientService.lambdaQuery()
+                .eq(UserRecipient::getIsDefault, Constants.ONE)
+                .eq(UserRecipient::getUserId, loginUser.getUserid())
+                .eq(UserRecipient::getIsDelete, Constants.ZERO).one();
+        return R.ok(new ServeDetailVO(recoveryServe, userRecipient));
     }
 
     /**
diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserController.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserController.java
index 866cb3e..7d0b568 100644
--- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserController.java
+++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserController.java
@@ -24,6 +24,7 @@
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
@@ -58,6 +59,12 @@
     private RecoveryClassifyService recoveryClassifyService;
     @Resource
     private RecoveryServeService recoveryServeService;
+
+    /**
+     * 用户端默认头像
+     */
+    @Value("${default.profilePicture}")
+    private String profilePicture;
 
     /**
      * 解密用户敏感数据
@@ -128,6 +135,7 @@
             // 随机编号
             user.setUserNo(String.format(Constants.USER_NO_PRE, RandomUtil.randomNumbers(Constants.EIGHT)));
             user.setState(Constants.ONE);
+            user.setProfilePicture(profilePicture);
             user.setNickname(String.format(Constants.USER_NO_PRE, StringUtils.getCharAndNum(Constants.SIX)));
             user.setPhone(phone);
             user.setCity(loginPhoneRequest.getCity());
@@ -239,7 +247,8 @@
     @ApiOperation(value = "首页回收分类推荐", tags = {"用户端-首页"})
     public R<List<RecoveryClassify>> recommend() {
         return R.ok(recoveryClassifyService.lambdaQuery().eq(RecoveryClassify::getIsRecommend, Constants.ONE)
-                .eq(RecoveryClassify::getIsDelete, 0).orderByAsc(RecoveryClassify::getSort).list());
+                .eq(RecoveryClassify::getIsDelete, 0).orderByDesc(RecoveryClassify::getSort)
+                .orderByDesc(RecoveryClassify::getCreateTime).list());
     }
 
     /**
@@ -253,10 +262,10 @@
     public R<List<RecoveryServe>> recoverySearch(@RequestParam String keyword) {
         LambdaQueryChainWrapper<RecoveryServe> wrapper = recoveryServeService.lambdaQuery()
                 .eq(RecoveryServe::getIsDelete, 0)
-                .orderByAsc(RecoveryServe::getSort);
+                .orderByDesc(RecoveryServe::getSort);
         wrapper = null != keyword && !"".equals(keyword.trim()) ?
                 wrapper.like(RecoveryServe::getServeName, keyword) : wrapper;
-        List<RecoveryServe> serveList = wrapper.list();
+        List<RecoveryServe> serveList = wrapper.orderByDesc(RecoveryServe::getCreateTime).list();
         for (RecoveryServe recoveryServe : serveList) {
             RecoveryClassify classify = recoveryClassifyService.lambdaQuery()
                     .eq(RecoveryClassify::getId, recoveryServe.getClassifyId()).one();
diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/entity/RecoveryServePrice.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/entity/RecoveryServePrice.java
index 6cf94d5..6f0cc75 100644
--- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/entity/RecoveryServePrice.java
+++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/entity/RecoveryServePrice.java
@@ -41,4 +41,8 @@
     @TableField("city")
     private String city;
 
+    @ApiModelProperty("对应城市code")
+    @TableField("city_code")
+    private String cityCode;
+
 }
diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/entity/UserRecipient.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/entity/UserRecipient.java
index ba8900d..2eb83d4 100644
--- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/entity/UserRecipient.java
+++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/entity/UserRecipient.java
@@ -55,6 +55,14 @@
     @TableField("isDefault")
     private Integer isDefault;
 
+    @ApiModelProperty("城市")
+    @TableField("city")
+    private String city;
+
+    @ApiModelProperty("城市code")
+    @TableField("city_code")
+    private String cityCode;
+
     @ApiModelProperty("经度")
     @TableField("longitude")
     private Double longitude;
diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/request/OrderRequest.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/request/OrderRequest.java
index 1eb1393..222f6e9 100644
--- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/request/OrderRequest.java
+++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/request/OrderRequest.java
@@ -16,6 +16,12 @@
 @ApiModel(value = "OrderRequest对象", description = "用户下单请求参数对象")
 public class OrderRequest {
 
+    @ApiModelProperty("下单城市")
+    private String city;
+
+    @ApiModelProperty("下单城市code")
+    private String cityCode;
+
     @ApiModelProperty("订单编号")
     private String orderNumber;
 
diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/OrderServiceImpl.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/OrderServiceImpl.java
index e2bbacd..61b34c1 100644
--- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/OrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/OrderServiceImpl.java
@@ -2,16 +2,19 @@
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.admin.api.entity.Prize;
+import com.ruoyi.common.core.constant.Constants;
 import com.ruoyi.common.core.exception.GlobalException;
 import com.ruoyi.common.core.utils.SnowflakeIdWorker;
 import com.ruoyi.order.api.entity.UserOrderRequest;
 import com.ruoyi.order.api.feignClient.OrderClient;
 import com.ruoyi.user.entity.Order;
 import com.ruoyi.user.entity.RecoveryServe;
+import com.ruoyi.user.entity.RecoveryServePrice;
 import com.ruoyi.user.entity.UserRecipient;
 import com.ruoyi.user.mapper.OrderMapper;
 import com.ruoyi.user.request.OrderRequest;
 import com.ruoyi.user.service.OrderService;
+import com.ruoyi.user.service.RecoveryServePriceService;
 import com.ruoyi.user.service.RecoveryServeService;
 import com.ruoyi.user.service.UserRecipientService;
 import org.springframework.stereotype.Service;
@@ -38,6 +41,8 @@
     private RecoveryServeService recoveryServeService;
     @Resource
     private OrderClient orderClient;
+    @Resource
+    private RecoveryServePriceService servePriceService;
 
     /**
      * 雪花算法类
@@ -84,6 +89,10 @@
         if (null == recoveryServe || null == userRecipient) {
             throw new GlobalException("下单失败,预约服务信息或收货地址信息异常!");
         }
+        String address = userRecipient.getAddress();
+        if (address.contains(Constants.PROVINCE) && address.contains(Constants.MARKET)) {
+
+        }
         UserOrderRequest userOrderRequest = new UserOrderRequest();
         userOrderRequest.setOrderNumber(orderRequest.getOrderNumber());
         userOrderRequest.setServeId(orderRequest.getServeId());
@@ -112,7 +121,10 @@
         // 下单相关信息
         RecoveryServe recoveryServe = recoveryServeService.lambdaQuery().eq(RecoveryServe::getId, serveId)
                 .eq(RecoveryServe::getIsDelete, 0).one();
-
+        RecoveryServePrice price = servePriceService.lambdaQuery()
+                .eq(RecoveryServePrice::getRecoveryServeId, serveId)
+                .eq(RecoveryServePrice::getCity, orderRequest.getCity())
+                .eq(RecoveryServePrice::getIsDelete, 0).one();
         if (null == recoveryServe) {
             throw new GlobalException("下单失败,预约服务信息或收货地址信息异常!");
         }
@@ -135,7 +147,12 @@
         userOrderRequest.setLongitude(orderRequest.getLongitude());
         userOrderRequest.setLatitude(orderRequest.getLatitude());
         userOrderRequest.setSubsidy(orderRequest.getSubsidy());
-        userOrderRequest.setDefaultPrice(recoveryServe.getDefaultPrice());
+        // 城市回收价
+        if (null == price) {
+            userOrderRequest.setDefaultPrice(recoveryServe.getDefaultPrice());
+        } else {
+            userOrderRequest.setDefaultPrice(price.getRecoveryPrice());
+        }
         userOrderRequest.setServeName(recoveryServe.getServeName());
         userOrderRequest.setUserId(userid);
         return orderClient.orderEstimate(userOrderRequest).getData();
diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/RegionServiceImpl.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/RegionServiceImpl.java
index 611de69..2fc2b4a 100644
--- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/RegionServiceImpl.java
+++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/RegionServiceImpl.java
@@ -80,7 +80,7 @@
             for (Region region : reginList) {
                 String firstLetter = getFullSpell(region.getName()).substring(0, 1);
                 if (letter.equals(firstLetter)) {
-                    RegionVo regionVo = new RegionVo(region.getName(), region.getCityCode());
+                    RegionVo regionVo = new RegionVo(region.getName(), region.getCode());
                     regionVos.add(regionVo);
                 }
                 map.put(letter, regionVos);
diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/UserServiceImpl.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/UserServiceImpl.java
index a1cf658..1817cf9 100644
--- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/UserServiceImpl.java
+++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/UserServiceImpl.java
@@ -1,7 +1,6 @@
 package com.ruoyi.user.service.impl;
 
 import cn.binarywang.wx.miniapp.api.WxMaService;
-import cn.binarywang.wx.miniapp.api.WxMaUserService;
 import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
 import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
 import cn.hutool.core.util.RandomUtil;
@@ -37,8 +36,6 @@
 public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
 
     @Resource
-    private WxMaUserService wxMaUserService;
-    @Resource
     private TokenService tokenService;
     @Resource
     private WxMaService wxMaService;
@@ -49,7 +46,8 @@
     @Value("${wx.appSecret}")
     private String appSecret;
 
-    private final String BASE_URL = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=%s&secret=%s&code=%s&grant_type=authorization_code";
+    @Value("${default.profilePicture}")
+    private String profilePicture;
 
     @Override
     public R<String> decodeOpenid(HttpServletResponse response, String code) {
@@ -109,6 +107,7 @@
                     user = new User();
                     user.setUserNo(String.format(Constants.USER_NO_PRE, RandomUtil.randomNumbers(Constants.EIGHT)));
                     user.setState(Constants.ONE);
+                    user.setProfilePicture(profilePicture);
                     user.setNickname(String.format(Constants.USER_NO_PRE, StringUtils.getCharAndNum(Constants.SIX)));
                     user.setState(Constants.ONE);
                     user.setOpenId(openid);
@@ -134,27 +133,5 @@
         return null;
     }
 
-
-    public JSONObject getPhone(String code) {
-        // 授权(必填)
-        String grantType = "client_credential";
-        // 向微信服务器 使用登录凭证 code 获取 session_key 和 openid
-        // 请求参数
-        String params2 = "appid=" + appId + "&secret=" + appSecret + "&grant_type=" + grantType;
-        // 发送请求
-        String sr2 = com.ruoyi.user.vx.utils.HttpRequest.sendGet("https://api.weixin.qq.com/cgi-bin/token", params2);
-        // 解析相应内容(转换成json对象)
-        JSONObject json2 = JSONObject.parseObject(sr2);
-        String accessToken = json2.getString("access_token");
-        //使用获取到的token和接受到的code像微信获取手机号
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("code", code);
-        String url = ("https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=" + accessToken);
-        String sr3 = com.ruoyi.user.vx.utils.HttpRequest.sendPostNew(url, jsonObject);
-        JSONObject json = JSONObject.parseObject(sr3);
-        JSONObject phoneInfo = json.getJSONObject("phone_info");
-//        return phoneInfo.getString("phoneNumber");
-        return phoneInfo;
-    }
 
 }
diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/vo/OrderDetailVO.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/vo/OrderDetailVO.java
index 92e824d..2c769a1 100644
--- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/vo/OrderDetailVO.java
+++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/vo/OrderDetailVO.java
@@ -73,6 +73,9 @@
     @ApiModelProperty("家电照片")
     private String photo;
 
+    @ApiModelProperty("是否评价(0:未评价,1:已评价)")
+    private Integer isEvaluate;
+
     public OrderDetailVO(Order order) {
         this.orderId = order.getId();
         this.orderNumber = order.getOrderNumber();
@@ -91,5 +94,6 @@
         this.completeTime = order.getCompleteTime();
         this.subsidy = order.getSubsidy();
         this.address = order.getAddress();
+        this.isEvaluate = order.getIsEvaluate();
     }
 }
diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/vo/ServeDetailVO.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/vo/ServeDetailVO.java
new file mode 100644
index 0000000..25137fa
--- /dev/null
+++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/vo/ServeDetailVO.java
@@ -0,0 +1,29 @@
+package com.ruoyi.user.vo;
+
+import com.ruoyi.user.entity.RecoveryServe;
+import com.ruoyi.user.entity.UserRecipient;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author HJL
+ * @version 1.0
+ * @since 2024-07-24 11:49
+ */
+@Data
+public class ServeDetailVO {
+
+    @ApiModelProperty("服务详情")
+    private RecoveryServe serve;
+
+    @ApiModelProperty("默认收货地址")
+    private UserRecipient recipient;
+
+    public ServeDetailVO() {
+    }
+
+    public ServeDetailVO(RecoveryServe serve, UserRecipient recipient) {
+        this.serve = serve;
+        this.recipient = recipient;
+    }
+}
diff --git a/ruoyi-service/ruoyi-user/src/main/resources/mapper/user/RecoveryServeMapper.xml b/ruoyi-service/ruoyi-user/src/main/resources/mapper/user/RecoveryServeMapper.xml
index 9b107d5..a95a725 100644
--- a/ruoyi-service/ruoyi-user/src/main/resources/mapper/user/RecoveryServeMapper.xml
+++ b/ruoyi-service/ruoyi-user/src/main/resources/mapper/user/RecoveryServeMapper.xml
@@ -39,6 +39,6 @@
                  left join sys_recovery_classify c on s.classify_id = c.id
         where s.is_delete = 0
           and c.is_delete = 0
-        order by c.sort
+        order by c.sort desc, c.createTime desc
     </select>
 </mapper>
diff --git a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/controller/MasterWorkerController.java b/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/controller/MasterWorkerController.java
index 050ff5c..0fc97fd 100644
--- a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/controller/MasterWorkerController.java
+++ b/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/controller/MasterWorkerController.java
@@ -89,7 +89,6 @@
                 if (Constants.ZERO.equals(process.getState())) {
                     return R.fail("入驻申请暂未审核通过,请耐心等待!");
                 } else if (Constants.TWO.equals(process.getState())) {
-//                    return R.fail("入驻申请已驳回,请重新提交入驻申请!");
                     return R.fail("当前手机号未注册!");
                 } else {
                     return R.registered("当前账号未提交入驻申请,无法登录!");
@@ -185,7 +184,6 @@
                 if (Constants.ZERO.equals(process.getState())) {
                     return R.fail("入驻申请暂未审核通过,请耐心等待!");
                 } else if (Constants.TWO.equals(process.getState())) {
-//                    return R.fail("入驻申请已驳回,请重新提交入驻申请!");
                     return R.fail("当前手机号未注册!");
                 } else {
                     return R.registered("当前账号未提交入驻申请,无法登录!");
diff --git a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/controller/OrderController.java b/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/controller/OrderController.java
index 1e3a350..74acf1c 100644
--- a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/controller/OrderController.java
+++ b/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/controller/OrderController.java
@@ -18,7 +18,7 @@
 import com.ruoyi.system.api.model.LoginUserInfo;
 import com.ruoyi.worker.entity.MasterWorker;
 import com.ruoyi.worker.entity.RecoveryServe;
-import com.ruoyi.worker.entity.ServeCoordinate;
+import com.ruoyi.worker.vo.ServeCoordinate;
 import com.ruoyi.worker.service.MasterWorkerService;
 import com.ruoyi.worker.service.RecoveryServeService;
 import io.swagger.annotations.Api;
@@ -97,6 +97,7 @@
                     mw -> Optional.ofNullable(mw.getCover()).orElse("")));
             for (Order order : orderList) {
                 order.setCover(map.get(order.getServeId()));
+                order.setReservationAddress(order.getReservationAddress() + order.getAddress());
             }
         }
         return R.ok(dataList);
diff --git a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/entity/Evaluate.java b/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/entity/Evaluate.java
deleted file mode 100644
index d5ed75c..0000000
--- a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/entity/Evaluate.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package com.ruoyi.worker.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * <p>
- * 用户评价表
- * </p>
- *
- * @author hjl
- * @since 2024-06-06
- */
-@Getter
-@Setter
-@TableName("t_evaluate")
-@ApiModel(value = "Evaluate对象", description = "用户评价表")
-public class Evaluate {
-
-    @TableId(value = "id",type = IdType.AUTO)
-    private Integer id;
-
-    @ApiModelProperty("用户id")
-    @TableField("user_id")
-    private Integer userId;
-
-    @ApiModelProperty("用户手机号")
-    @TableField("user_phone")
-    private String userPhone;
-
-    @ApiModelProperty("订单id")
-    @TableField("order_id")
-    private String orderId;
-
-    @ApiModelProperty("评价内容")
-    @TableField("content")
-    private String content;
-
-    @ApiModelProperty("评价师傅id")
-    @TableField("worker_id")
-    private Integer workerId;
-
-    @ApiModelProperty("评价星级")
-    @TableField("star_rating")
-    private BigDecimal starRating;
-
-    @TableField("createBy")
-    private String createBy;
-
-    @TableField("updateBy")
-    private String updateBy;
-
-    @TableField("createTime")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date createTime;
-
-    @TableField("updateTime")
-    private Date updateTime;
-
-    @ApiModelProperty("是否删除 0未删除;1已删除")
-    @TableField("is_delete")
-    private Integer isDelete;
-
-
-}
diff --git a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/mapper/EvaluateMapper.java b/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/mapper/EvaluateMapper.java
deleted file mode 100644
index 9d30fd9..0000000
--- a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/mapper/EvaluateMapper.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.ruoyi.worker.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.worker.entity.Evaluate;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- * 用户评价表 Mapper 接口
- * </p>
- *
- * @author hjl
- * @since 2024-06-06
- */
-@Mapper
-public interface EvaluateMapper extends BaseMapper<Evaluate> {
-
-}
diff --git a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/service/EvaluateService.java b/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/service/EvaluateService.java
deleted file mode 100644
index 1607c3c..0000000
--- a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/service/EvaluateService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.ruoyi.worker.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.worker.entity.Evaluate;
-
-/**
- * <p>
- * 用户评价表 服务类
- * </p>
- *
- * @author hjl
- * @since 2024-06-06
- */
-public interface EvaluateService extends IService<Evaluate> {
-
-}
diff --git a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/service/impl/EvaluateServiceImpl.java b/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/service/impl/EvaluateServiceImpl.java
deleted file mode 100644
index d25bd41..0000000
--- a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/service/impl/EvaluateServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.ruoyi.worker.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.worker.entity.Evaluate;
-import com.ruoyi.worker.mapper.EvaluateMapper;
-import com.ruoyi.worker.service.EvaluateService;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 用户评价表 服务实现类
- * </p>
- *
- * @author hjl
- * @since 2024-06-06
- */
-@Service
-public class EvaluateServiceImpl extends ServiceImpl<EvaluateMapper, Evaluate> implements EvaluateService {
-
-}
diff --git a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/service/impl/MasterWorkerServiceImpl.java b/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/service/impl/MasterWorkerServiceImpl.java
index e01981d..ab93803 100644
--- a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/service/impl/MasterWorkerServiceImpl.java
+++ b/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/service/impl/MasterWorkerServiceImpl.java
@@ -75,7 +75,7 @@
             orderListVO.setUserId(userid);
             orderListVO.setReservationName(order.getReservationName());
             orderListVO.setReservationPhone(order.getReservationPhone());
-            orderListVO.setReservationAddress(order.getReservationAddress());
+            orderListVO.setReservationAddress(order.getReservationAddress() + order.getAddress());
             orderListVO.setTime(order.getTime());
             orderListVO.setServerId(order.getServerId());
             orderListVO.setServerName(order.getServerName());
@@ -152,7 +152,7 @@
             orderListVO.setUserId(userid);
             orderListVO.setReservationName(order.getReservationName());
             orderListVO.setReservationPhone(order.getReservationPhone());
-            orderListVO.setReservationAddress(order.getReservationAddress());
+            orderListVO.setReservationAddress(order.getReservationAddress() + order.getAddress());
             orderListVO.setTime(order.getTime());
             orderListVO.setServerId(order.getServerId());
             orderListVO.setServerName(order.getServerName());
diff --git a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/vo/OrderListVO.java b/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/vo/OrderListVO.java
index e6978c1..4253610 100644
--- a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/vo/OrderListVO.java
+++ b/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/vo/OrderListVO.java
@@ -100,4 +100,5 @@
     public String getOrderIdStr() {
         return String.valueOf(getOrderId());
     }
+
 }
diff --git a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/entity/ServeCoordinate.java b/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/vo/ServeCoordinate.java
similarity index 91%
rename from ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/entity/ServeCoordinate.java
rename to ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/vo/ServeCoordinate.java
index 8745a62..e25055d 100644
--- a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/entity/ServeCoordinate.java
+++ b/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/vo/ServeCoordinate.java
@@ -1,4 +1,4 @@
-package com.ruoyi.worker.entity;
+package com.ruoyi.worker.vo;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -16,7 +16,7 @@
 @Getter
 @Setter
 @ApiModel(value = "ServeCoordinate对象", description = "师傅路线经纬度信息")
-public class ServeCoordinate{
+public class ServeCoordinate {
 
     @ApiModelProperty("师傅id")
     private Integer workerId;
diff --git a/ruoyi-service/ruoyi-worker/src/main/resources/mapper/worker/EvaluateMapper.xml b/ruoyi-service/ruoyi-worker/src/main/resources/mapper/worker/EvaluateMapper.xml
deleted file mode 100644
index 692d207..0000000
--- a/ruoyi-service/ruoyi-worker/src/main/resources/mapper/worker/EvaluateMapper.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ruoyi.worker.mapper.EvaluateMapper">
-    <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.ruoyi.worker.entity.Evaluate">
-        <id column="id" property="id"/>
-        <result column="user_id" property="userId"/>
-        <result column="user_phone" property="userPhone"/>
-        <result column="order_id" property="orderId"/>
-        <result column="content" property="content"/>
-        <result column="worker_id" property="workerId"/>
-        <result column="star_rating" property="starRating"/>
-        <result column="createBy" property="createBy"/>
-        <result column="updateBy" property="updateBy"/>
-        <result column="createTime" property="createTime"/>
-        <result column="updateTime" property="updateTime"/>
-        <result column="is_delete" property="isDelete"/>
-    </resultMap>
-</mapper>
diff --git a/sql/nacos_config.zip b/sql/nacos_config.zip
deleted file mode 100644
index e9c9338..0000000
--- a/sql/nacos_config.zip
+++ /dev/null
Binary files differ
diff --git a/sql/nacos_config_export_20240726114948.zip b/sql/nacos_config_export_20240726114948.zip
new file mode 100644
index 0000000..689324a
--- /dev/null
+++ b/sql/nacos_config_export_20240726114948.zip
Binary files differ
diff --git a/sql/secondary_recovery.sql b/sql/secondary_recovery.sql
index 6be4af2..237d974 100644
--- a/sql/secondary_recovery.sql
+++ b/sql/secondary_recovery.sql
@@ -11,7 +11,7 @@
  Target Server Version : 80037 (8.0.37)
  File Encoding         : 65001
 
- Date: 16/07/2024 09:28:34
+ Date: 26/07/2024 11:50:32
 */
 
 SET NAMES utf8mb4;
@@ -40,7 +40,7 @@
   `c_schema` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL,
   PRIMARY KEY (`id`) USING BTREE,
   UNIQUE INDEX `uk_configinfo_datagrouptenant`(`data_id` ASC, `group_id` ASC, `tenant_id` ASC) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'config_info' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'config_info' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for config_info_aggr
@@ -57,7 +57,7 @@
   `tenant_id` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '' COMMENT '租户字段',
   PRIMARY KEY (`id`) USING BTREE,
   UNIQUE INDEX `uk_configinfoaggr_datagrouptenantdatum`(`data_id` ASC, `group_id` ASC, `tenant_id` ASC, `datum_id` ASC) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = '增加租户字段' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = '增加租户字段' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for config_info_beta
@@ -78,7 +78,7 @@
   `tenant_id` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '' COMMENT '租户字段',
   PRIMARY KEY (`id`) USING BTREE,
   UNIQUE INDEX `uk_configinfobeta_datagrouptenant`(`data_id` ASC, `group_id` ASC, `tenant_id` ASC) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'config_info_beta' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'config_info_beta' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for config_info_tag
@@ -99,7 +99,7 @@
   `src_ip` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT 'source ip',
   PRIMARY KEY (`id`) USING BTREE,
   UNIQUE INDEX `uk_configinfotag_datagrouptenanttag`(`data_id` ASC, `group_id` ASC, `tenant_id` ASC, `tag_id` ASC) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'config_info_tag' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'config_info_tag' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for config_tags_relation
@@ -116,7 +116,7 @@
   PRIMARY KEY (`nid`) USING BTREE,
   UNIQUE INDEX `uk_configtagrelation_configidtag`(`id` ASC, `tag_name` ASC, `tag_type` ASC) USING BTREE,
   INDEX `idx_tenant_id`(`tenant_id` ASC) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'config_tag_relation' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'config_tag_relation' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for data_address
@@ -368,7 +368,7 @@
   `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
   PRIMARY KEY (`id`) USING BTREE,
   UNIQUE INDEX `uk_group_id`(`group_id` ASC) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = '集群、各Group容量信息表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = '集群、各Group容量信息表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for his_config_info
@@ -392,7 +392,7 @@
   INDEX `idx_gmt_create`(`gmt_create` ASC) USING BTREE,
   INDEX `idx_gmt_modified`(`gmt_modified` ASC) USING BTREE,
   INDEX `idx_did`(`data_id` ASC) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = '多租户改造' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = '多租户改造' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for permissions
@@ -512,8 +512,9 @@
   `updateTime` datetime NULL DEFAULT NULL,
   `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除',
   `city_str` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '城市数组字符串',
+  `city_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '城市code',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '加盟商信息表' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '加盟商信息表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for sys_logininfor
@@ -529,7 +530,7 @@
   PRIMARY KEY (`info_id`) USING BTREE,
   INDEX `idx_sys_logininfor_s`(`status` ASC) USING BTREE,
   INDEX `idx_sys_logininfor_lt`(`access_time` ASC) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 194 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '系统访问记录' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 218 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '系统访问记录' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for sys_master_worker
@@ -557,8 +558,9 @@
   `updateTime` datetime NULL DEFAULT NULL,
   `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除',
   `city_str` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '城市数组字符串',
+  `city_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '城市code',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 600563730 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '师傅信息表' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 600563739 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '师傅信息表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for sys_menu
@@ -658,7 +660,7 @@
   `updateTime` datetime NULL DEFAULT NULL,
   `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 20 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '回收分类表' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 42 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '回收分类表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for sys_recovery_serve
@@ -673,14 +675,14 @@
   `default_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '默认回收价',
   `sort` int NULL DEFAULT NULL COMMENT '排序权重',
   `cover` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '封面图片',
-  `rotate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '轮播图片',
+  `rotate` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '轮播图片',
   `createBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
   `updateBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
   `createTime` datetime NULL DEFAULT NULL,
   `updateTime` datetime NULL DEFAULT NULL,
   `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '回收服务列表' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 38 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '回收服务列表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for sys_recovery_serve_price
@@ -696,8 +698,9 @@
   `createTime` datetime NULL DEFAULT NULL,
   `updateTime` datetime NULL DEFAULT NULL,
   `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除',
+  `city_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '城市code',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '回收服务对应回收价格及所在城市' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 20 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '回收服务对应回收价格及所在城市' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for sys_role
@@ -848,6 +851,7 @@
   `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除',
   `opinion` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '审批意见',
   `city_str` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '城市数组',
+  `city_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '城市code',
   PRIMARY KEY (`id`) USING BTREE
 ) ENGINE = InnoDB AUTO_INCREMENT = 7512401 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '师傅入驻审核表' ROW_FORMAT = DYNAMIC;
 
@@ -877,6 +881,7 @@
   `profile_picture` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '头像',
   `state` int NULL DEFAULT NULL COMMENT '账号状态 0未启用;1已启用',
   `city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '注册城市',
+  `city_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '城市编码',
   `open_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '微信openId',
   `createBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
   `updateBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
@@ -884,7 +889,7 @@
   `updateTime` datetime NULL DEFAULT NULL,
   `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户列表' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 28 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户列表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for t_user_collect
@@ -900,7 +905,7 @@
   `updateTime` datetime NULL DEFAULT NULL,
   `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 19 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户收藏表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 17 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户收藏表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for t_user_recipient
@@ -921,9 +926,11 @@
   `createTime` datetime NULL DEFAULT NULL,
   `updateTime` datetime NULL DEFAULT NULL,
   `is_delete` int NULL DEFAULT 0 COMMENT '是否删除 0否1是',
-  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '地图搜索地址名称',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '地图搜索名称',
+  `city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '所属城市',
+  `city_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '城市code',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户收货地址' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 14 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户收货地址' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for tenant_capacity
@@ -942,7 +949,7 @@
   `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
   PRIMARY KEY (`id`) USING BTREE,
   UNIQUE INDEX `uk_tenant_id`(`tenant_id` ASC) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = '租户容量信息表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = '租户容量信息表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for tenant_info
@@ -960,7 +967,7 @@
   PRIMARY KEY (`id`) USING BTREE,
   UNIQUE INDEX `uk_tenant_info_kptenantid`(`kp` ASC, `tenant_id` ASC) USING BTREE,
   INDEX `idx_tenant_id`(`tenant_id` ASC) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'tenant_info' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'tenant_info' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for users
diff --git a/sql/secondary_recovery_order.sql b/sql/secondary_recovery_order.sql
index b6bfa86..a716b52 100644
--- a/sql/secondary_recovery_order.sql
+++ b/sql/secondary_recovery_order.sql
@@ -11,11 +11,244 @@
  Target Server Version : 80037 (8.0.37)
  File Encoding         : 65001
 
- Date: 16/07/2024 09:28:41
+ Date: 26/07/2024 11:50:39
 */
 
 SET NAMES utf8mb4;
 SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for data_address
+-- ----------------------------
+DROP TABLE IF EXISTS `data_address`;
+CREATE TABLE `data_address`  (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `uid` bigint NULL DEFAULT 0 COMMENT '用户UID',
+  `type` tinyint(1) NULL DEFAULT 0 COMMENT '地址类型(0普通,1默认)',
+  `username` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '收货姓名',
+  `phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '收货手机',
+  `address` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '地址',
+  `latitude` decimal(20, 6) NULL DEFAULT NULL COMMENT '维度',
+  `longitude` decimal(20, 6) NULL DEFAULT NULL COMMENT '经度',
+  `xxdz` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '详细地址',
+  `create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  PRIMARY KEY (`id`) USING BTREE,
+  INDEX `idx_data_user_address_type`(`type` ASC) USING BTREE,
+  INDEX `idx_data_user_address_uuid`(`uid` ASC) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 42 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户地址' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for data_advantage
+-- ----------------------------
+DROP TABLE IF EXISTS `data_advantage`;
+CREATE TABLE `data_advantage`  (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '消息名称',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '内容',
+  `sort` bigint NULL DEFAULT 0 COMMENT '排序权重',
+  `create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 882 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '服务优势' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for data_cate
+-- ----------------------------
+DROP TABLE IF EXISTS `data_cate`;
+CREATE TABLE `data_cate`  (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `pid` bigint NULL DEFAULT 0 COMMENT '上级分类',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '分类名称',
+  `index_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '首页分类名称',
+  `cover` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '分类图标',
+  `remark` varchar(999) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '分类描述',
+  `remark_jj` varchar(999) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '分类简介',
+  `sort` bigint NULL DEFAULT 0 COMMENT '排序权重',
+  `index_status` tinyint NULL DEFAULT 0 COMMENT '是否首页推荐',
+  `create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  PRIMARY KEY (`id`) USING BTREE,
+  INDEX `idx_shop_goods_cate_sort`(`sort` ASC) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 26 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '回收分类' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for data_collect
+-- ----------------------------
+DROP TABLE IF EXISTS `data_collect`;
+CREATE TABLE `data_collect`  (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `uid` bigint NULL DEFAULT 0 COMMENT '用户ID',
+  `pid` bigint NULL DEFAULT 0 COMMENT '产品ID',
+  `create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '收藏' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for data_draw
+-- ----------------------------
+DROP TABLE IF EXISTS `data_draw`;
+CREATE TABLE `data_draw`  (
+  `id` int NOT NULL AUTO_INCREMENT,
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '奖品名称',
+  `image` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '奖品图片',
+  `odds` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '中间几率',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 19 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '奖品管理' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for data_goods
+-- ----------------------------
+DROP TABLE IF EXISTS `data_goods`;
+CREATE TABLE `data_goods`  (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `name` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '服务名称',
+  `remark` varchar(999) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '服务描述',
+  `price` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '预估价格',
+  `pg_price` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '评估价格',
+  `pid` int NULL DEFAULT 0 COMMENT '上级分类',
+  `cateids` varchar(999) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '分类编号',
+  `cover` varchar(999) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '服务封面',
+  `slider` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '轮播图片',
+  `sort` bigint NULL DEFAULT 0 COMMENT '列表排序权重',
+  `create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 22 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '服务内容' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for data_message
+-- ----------------------------
+DROP TABLE IF EXISTS `data_message`;
+CREATE TABLE `data_message`  (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '消息名称',
+  `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '消息内容',
+  `sort` bigint NULL DEFAULT 0 COMMENT '排序权重',
+  `create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 30 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '通知' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for data_order
+-- ----------------------------
+DROP TABLE IF EXISTS `data_order`;
+CREATE TABLE `data_order`  (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `order_type` tinyint(1) NULL DEFAULT 0 COMMENT '0用户订单1指定订单',
+  `order_no` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '商品订单单号',
+  `product_id` bigint NULL DEFAULT 0 COMMENT '产品ID',
+  `uid` bigint NULL DEFAULT 0 COMMENT '用户ID',
+  `server_uid` bigint NULL DEFAULT 0 COMMENT '服务用户ID',
+  `price` decimal(20, 2) NULL DEFAULT 0.00 COMMENT '实际金额',
+  `bt_price` decimal(20, 2) NULL DEFAULT 0.00 COMMENT '分享补贴金额',
+  `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '用户姓名',
+  `phone` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '用户手机',
+  `province` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '地址-省份',
+  `city` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '地址-城市',
+  `area` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '地址-区域',
+  `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '收货地址',
+  `xx_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '详细地址',
+  `latitude` decimal(20, 6) NULL DEFAULT NULL COMMENT '维度',
+  `longitude` decimal(20, 6) NULL DEFAULT NULL COMMENT '经度',
+  `sm_time` timestamp NULL DEFAULT NULL COMMENT '上门时间',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '服务备注',
+  `cancel_remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '取消订单描述',
+  `pj_level` int NULL DEFAULT 0 COMMENT '评价等级',
+  `pj_remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '评价描述',
+  `reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '修改时间原因',
+  `completeTime` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '完工时间',
+  `yhqrtp` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '用户确认图片',
+  `jjmptp` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '旧机铭牌图片',
+  `njtp` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '内机图片',
+  `wjhqttp` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '外机和其他图片',
+  `drawnum` int NOT NULL DEFAULT 0 COMMENT '抽奖次数',
+  `status` tinyint(1) NULL DEFAULT 1 COMMENT '订单流程状态(1待派单,2已派单,3已接单,4已完成,5已取消)',
+  `jd_status` tinyint(1) NULL DEFAULT 0 COMMENT '订单流程状态(0未接单1确定接单2取消接单)',
+  `zt_server_uid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '再投师傅ID',
+  `pj_status` tinyint(1) NULL DEFAULT 0 COMMENT '评价状态0未评价1已评价',
+  `time_status` tinyint(1) NULL DEFAULT 0 COMMENT '时间状态',
+  `create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '订单创建时间',
+  `server_sendnum` int NOT NULL DEFAULT 0,
+  `user_sendnum` int NOT NULL DEFAULT 0,
+  `print` int NOT NULL DEFAULT 0,
+  PRIMARY KEY (`id`) USING BTREE,
+  INDEX `idx_shop_order_status`(`status` ASC) USING BTREE,
+  INDEX `idx_shop_order_orderno`(`order_no` ASC) USING BTREE,
+  INDEX `idx_shop_order_cancel_status`(`username` ASC) USING BTREE,
+  INDEX `idx_shop_order_deleted`(`remark` ASC) USING BTREE,
+  INDEX `idx_shop_order_mid`(`uid` ASC) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 10973 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '订单' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for data_question
+-- ----------------------------
+DROP TABLE IF EXISTS `data_question`;
+CREATE TABLE `data_question`  (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '消息名称',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '内容',
+  `sort` bigint NULL DEFAULT 0 COMMENT '排序权重',
+  `create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '常见问题' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for data_technician
+-- ----------------------------
+DROP TABLE IF EXISTS `data_technician`;
+CREATE TABLE `data_technician`  (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `uid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '用户ID',
+  `city` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '城市',
+  `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '用户姓名',
+  `phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '用户手机',
+  `car_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '车辆类型',
+  `car_number` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '车牌号码',
+  `idcard` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '身份证号码',
+  `idcard_z` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '身份证正面',
+  `idcard_f` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '身份证反面',
+  `xsz` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '行驶证',
+  `work_status` tinyint(1) NULL DEFAULT 1 COMMENT '工作状态(1正常,0休息)',
+  `status` tinyint(1) NULL DEFAULT 0 COMMENT '用户状态(0审核中,1同意,2驳回)',
+  `create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '注册时间',
+  PRIMARY KEY (`id`) USING BTREE,
+  INDEX `idx_data_user_status`(`work_status` ASC) USING BTREE,
+  INDEX `idx_data_user_openid1`(`uid` ASC) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 104 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '技师' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for data_transfer
+-- ----------------------------
+DROP TABLE IF EXISTS `data_transfer`;
+CREATE TABLE `data_transfer`  (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `uid` bigint NULL DEFAULT 0 COMMENT '用户UID',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '提现单号',
+  `charge_amount` decimal(20, 2) NULL DEFAULT 0.00 COMMENT '提现手续费金额',
+  `amount` decimal(20, 2) NULL DEFAULT 0.00 COMMENT '提现转账金额',
+  `trade_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '交易单号',
+  `trade_time` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '打款时间',
+  `status` tinyint(1) NULL DEFAULT 0 COMMENT '提现状态(0待审核,1同意,2驳回,3打款中,4已打款,5已收款)',
+  `create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  PRIMARY KEY (`id`) USING BTREE,
+  INDEX `idx_data_user_transfer_code`(`code` ASC) USING BTREE,
+  INDEX `idx_data_user_transfer_status`(`status` ASC) USING BTREE,
+  INDEX `idx_data_user_transfer_uuid`(`uid` ASC) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '提现' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for data_user
+-- ----------------------------
+DROP TABLE IF EXISTS `data_user`;
+CREATE TABLE `data_user`  (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `openid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '小程序OPENID',
+  `avatar` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '用户头像',
+  `nickname` varchar(99) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '用户昵称',
+  `price` decimal(20, 2) NULL DEFAULT 0.00 COMMENT '用户金额',
+  `status` tinyint(1) NULL DEFAULT 0 COMMENT '是否技师(1是0否)',
+  `sh_status` tinyint(1) NULL DEFAULT 0 COMMENT '是否提交审核(1是0否)',
+  `create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '注册时间',
+  PRIMARY KEY (`id`) USING BTREE,
+  INDEX `idx_data_user_openid1`(`openid` ASC) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1851 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for sys_change_dispatch
@@ -27,7 +260,7 @@
   `worker_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '申请师傅姓名',
   `apply_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '申请原因',
   `apply_time` datetime NULL DEFAULT NULL COMMENT '申请改派时间',
-  `state` int NULL DEFAULT NULL COMMENT '改派状态 (0:未改派 ;1:已改派 ;2:拒绝)',
+  `state` int NULL DEFAULT NULL COMMENT '改派状态 (0:未改派 ;1:已改派)',
   `createBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
   `updateBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
   `createTime` datetime NULL DEFAULT NULL,
@@ -37,8 +270,8 @@
   `order_number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '订单编号',
   `user_id` int NULL DEFAULT NULL COMMENT '下单用户id',
   `user_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '下单用户名称',
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 69 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '改派管理' ROW_FORMAT = Dynamic;
+  `city_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '城市code'
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for sys_serve_coordinate
@@ -74,17 +307,7 @@
   `updateTime` datetime NULL DEFAULT NULL,
   `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '师傅服务记录' ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Table structure for sys_withdrawal_setting
--- ----------------------------
-DROP TABLE IF EXISTS `sys_withdrawal_setting`;
-CREATE TABLE `sys_withdrawal_setting`  (
-  `id` int NOT NULL AUTO_INCREMENT,
-  `enable_process` int NOT NULL COMMENT '是否开启审核(0:未开启,1:已开启)',
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '审核管理全局设置' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '师傅服务记录' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for t_evaluate
@@ -104,8 +327,8 @@
   `createTime` datetime NULL DEFAULT NULL,
   `updateTime` datetime NULL DEFAULT NULL,
   `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除',
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户评价表' ROW_FORMAT = DYNAMIC;
+  `city_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '城市code'
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for t_order
@@ -130,7 +353,7 @@
   `server_phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '服务人员手机号',
   `reservation_remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预约备注(服务备注)',
   `order_money` decimal(10, 6) NULL DEFAULT NULL COMMENT '订单成交价(服务回收价 + 津贴)',
-  `state` int NULL DEFAULT NULL COMMENT '订单状态(0:待派单;1:待上门;2:待完工;3:已完结;4:已取消;5:已改派,6:待改派)',
+  `state` int NULL DEFAULT NULL COMMENT '订单状态(0:待派单;1:待上门;2:待完工;3:已完结;4:已取消;5:已改派)',
   `createBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
   `updateBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
   `createTime` datetime NULL DEFAULT NULL,
@@ -147,10 +370,10 @@
   `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '详细地址',
   `top_sort` int NULL DEFAULT NULL COMMENT '置顶顺序',
   `cancel_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '订单取消原因',
-  `is_evaluate` int NULL DEFAULT NULL COMMENT '是否评价(0:未评价,1:已评价)',
   `is_reinvest` int NULL DEFAULT NULL COMMENT '是否为再投单 1:再投',
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '订单管理' ROW_FORMAT = DYNAMIC;
+  `is_evaluate` int NULL DEFAULT NULL COMMENT '是否评价(0:未评价,1:已评价)',
+  `city_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '城市code码'
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for t_withdraw
@@ -172,7 +395,8 @@
   `updateTime` datetime NULL DEFAULT NULL,
   `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除',
   `order_id` bigint NULL DEFAULT NULL COMMENT '订单id',
+  `city_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '城市code',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户提现申请记录表' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户提现申请记录表' ROW_FORMAT = DYNAMIC;
 
 SET FOREIGN_KEY_CHECKS = 1;

--
Gitblit v1.7.1