From b4d8cb69ff3a3d35a10a7e5c487ff683b31cc9f1 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期五, 24 二月 2023 10:06:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/DriverController.java |  270 +++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 227 insertions(+), 43 deletions(-)

diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/DriverController.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/DriverController.java
index 86ea340..3a514aa 100644
--- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/DriverController.java
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/DriverController.java
@@ -1,25 +1,33 @@
 package com.supersavedriving.driver.modular.system.api;
 
 import com.alibaba.fastjson.JSON;
+import com.supersavedriving.driver.core.common.annotion.ServiceLog;
 import com.supersavedriving.driver.core.util.ToolUtil;
 import com.supersavedriving.driver.modular.system.service.IBranchOfficeService;
 import com.supersavedriving.driver.modular.system.service.IDriverService;
+import com.supersavedriving.driver.modular.system.util.RedisUtil;
 import com.supersavedriving.driver.modular.system.util.ResultUtil;
-import com.supersavedriving.driver.modular.system.warpper.DriverRegisterWarpper;
-import com.supersavedriving.driver.modular.system.warpper.OpenCityWarpper;
-import com.supersavedriving.driver.modular.system.warpper.ResponseWarpper;
+import com.supersavedriving.driver.modular.system.util.SMSUtil;
+import com.supersavedriving.driver.modular.system.util.UUIDUtil;
+import com.supersavedriving.driver.modular.system.warpper.*;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.geo.GeoJsonPoint;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.data.mongodb.core.query.Update;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.List;
+import java.util.Objects;
 
 /**
 * 司机控制器
@@ -30,13 +38,14 @@
 @RequestMapping("")
 public class DriverController {
 
-    Logger logger = LoggerFactory.getLogger("ServiceLog");
-
     @Autowired
     private IBranchOfficeService branchOfficeService;
 
     @Autowired
     private IDriverService driverService;
+
+    @Autowired
+    private RedisUtil redisUtil;
 
 
 
@@ -44,25 +53,18 @@
 
     @ResponseBody
     @PostMapping("/base/driver/queryCityList")
+    @ServiceLog(name = "获取开通的省市数据", url = "/base/driver/queryCityList")
     @ApiOperation(value = "获取开通的省市数据", tags = {"司机端-登录注册"}, notes = "")
     @ApiImplicitParams({
     })
     public ResponseWarpper<List<OpenCityWarpper>> queryCityList(){
-        ResponseWarpper responseWarpper = null;
         try {
             List<OpenCityWarpper> list = branchOfficeService.queryOpenCity();
-            responseWarpper = ResponseWarpper.success(list);
+            return ResponseWarpper.success(list);
         }catch (Exception e){
             e.printStackTrace();
-            responseWarpper = new ResponseWarpper(500, e.getMessage());
+            return new ResponseWarpper(500, e.getMessage());
         }
-        logger.debug("" +
-                "\n接口地址:/base/driver/queryCityList" +
-                "\n接口名称:获取开通的省市数据" +
-                "\n请求参数:" +
-                "\n响应结果:{}"
-                , JSON.toJSONString(responseWarpper));
-        return responseWarpper;
     }
 
 
@@ -70,32 +72,22 @@
 
     @ResponseBody
     @PostMapping("/base/driver/queryOpenDistrict")
+    @ServiceLog(name = "根据城市code获取开通区域", url = "/base/driver/queryOpenDistrict")
     @ApiOperation(value = "根据城市code获取开通区域", tags = {"司机端-登录注册"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "城市code", name = "cityCode", required = true, dataType = "string"),
     })
     public ResponseWarpper<List<OpenCityWarpper>> queryOpenDistrict(String cityCode){
-        ResponseWarpper responseWarpper = null;
         if(ToolUtil.isEmpty(cityCode)){
-            responseWarpper = ResponseWarpper.success(ResultUtil.paranErr());
+            return ResponseWarpper.success(ResultUtil.paranErr("cityCode"));
         }
-
-        if(ToolUtil.isNotEmpty(cityCode)){
-            try {
-                List<OpenCityWarpper> list = branchOfficeService.queryOpenDistrict(cityCode);
-                responseWarpper = ResponseWarpper.success(list);
-            }catch (Exception e){
-                e.printStackTrace();
-                responseWarpper = new ResponseWarpper(500, e.getMessage());
-            }
+        try {
+            List<OpenCityWarpper> list = branchOfficeService.queryOpenDistrict(cityCode);
+            return ResponseWarpper.success(list);
+        }catch (Exception e){
+            e.printStackTrace();
+            return new ResponseWarpper(500, e.getMessage());
         }
-        logger.debug("" +
-                        "\n接口地址:/base/driver/queryOpenDistrict" +
-                        "\n接口名称:根据城市code获取开通区域" +
-                        "\n请求参数:cityCode={}" +
-                        "\n响应结果:{}"
-                , cityCode, JSON.toJSONString(responseWarpper));
-        return responseWarpper;
     }
 
 
@@ -103,24 +95,216 @@
 
     @ResponseBody
     @PostMapping("/base/driver/driverRegister")
+    @ServiceLog(name = "司机注册申请", url = "/base/driver/driverRegister")
     @ApiOperation(value = "司机注册申请", tags = {"司机端-登录注册"}, notes = "")
     @ApiImplicitParams({
     })
     public ResponseWarpper driverRegister(DriverRegisterWarpper driverRegisterWarpper){
-        ResponseWarpper responseWarpper = null;
         try {
             ResultUtil resultUtil = driverService.driverRegister(driverRegisterWarpper);
-            responseWarpper = ResponseWarpper.success(resultUtil);
+            return ResponseWarpper.success(resultUtil);
         }catch (Exception e){
             e.printStackTrace();
-            responseWarpper = new ResponseWarpper(500, e.getMessage());
+            return new ResponseWarpper(500, e.getMessage());
         }
-        logger.debug("" +
-                        "\n接口地址:/base/driver/driverRegister" +
-                        "\n接口名称:司机注册申请" +
-                        "\n请求参数:" + JSON.toJSONString(driverRegisterWarpper) +
-                        "\n响应结果:{}"
-                , JSON.toJSONString(responseWarpper));
-        return responseWarpper;
+    }
+
+
+
+
+    @ResponseBody
+    @PostMapping("/base/driver/getVerificationCode")
+    @ServiceLog(name = "获取短信验证码", url = "/base/driver/getVerificationCode")
+    @ApiOperation(value = "获取短信验证码", tags = {"司机端-登录注册"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "国家代码+86", name = "receiver", required = true, dataType = "string"),
+            @ApiImplicitParam(value = "电话号码", name = "phone", required = true, dataType = "string"),
+    })
+    public ResponseWarpper getVerificationCode(String receiver, String phone){
+        if(ToolUtil.isEmpty(receiver)){
+            return ResponseWarpper.success(ResultUtil.paranErr("receiver"));
+        }
+        if(ToolUtil.isEmpty(phone)){
+            return ResponseWarpper.success(ResultUtil.paranErr("phone"));
+        }
+        try {
+            String numberRandom = UUIDUtil.getNumberRandom(6);
+            SMSUtil.send_huawei_sms("", receiver + phone, "[\"" + numberRandom + "\"]");
+            redisUtil.setStrValue(receiver + phone, numberRandom, 300);//5分钟有效期
+            return ResponseWarpper.success(ResultUtil.success());
+        }catch (Exception e){
+            e.printStackTrace();
+            return new ResponseWarpper(500, e.getMessage());
+        }
+    }
+
+
+
+
+    @ResponseBody
+    @PostMapping("/base/driver/driverCodeLogin")
+    @ServiceLog(name = "司机短信验证码登录", url = "/base/driver/driverCodeLogin")
+    @ApiOperation(value = "司机短信验证码登录", tags = {"司机端-登录注册"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "国家代码+86", name = "receiver", required = true, dataType = "string"),
+            @ApiImplicitParam(value = "电话号码", name = "phone", required = true, dataType = "string"),
+            @ApiImplicitParam(value = "短信验证码", name = "code", required = true, dataType = "string"),
+    })
+    public ResponseWarpper<TokenWarpper> driverCodeLogin(String receiver, String phone, String code){
+        if(ToolUtil.isEmpty(receiver)){
+            return ResponseWarpper.success(ResultUtil.paranErr("receiver"));
+        }
+        if(ToolUtil.isEmpty(phone)){
+            return ResponseWarpper.success(ResultUtil.paranErr("phone"));
+        }
+        try {
+            ResultUtil<TokenWarpper> tokenWarpper = driverService.driverLogin(receiver, phone, code);
+            return ResponseWarpper.success(tokenWarpper);
+        }catch (Exception e){
+            e.printStackTrace();
+            return new ResponseWarpper(500, e.getMessage());
+        }
+    }
+
+
+    @ResponseBody
+    @PostMapping("/base/driver/driverPassLogin")
+    @ServiceLog(name = "司机密码登录", url = "/base/driver/driverPassLogin")
+    @ApiOperation(value = "司机密码登录", tags = {"司机端-登录注册"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "国家代码+86", name = "receiver", required = true, dataType = "string"),
+            @ApiImplicitParam(value = "电话号码", name = "phone", required = true, dataType = "string"),
+            @ApiImplicitParam(value = "密码", name = "password", required = true, dataType = "string"),
+    })
+    public ResponseWarpper<TokenWarpper> driverPassLogin(String receiver, String phone, String password){
+        if(ToolUtil.isEmpty(receiver)){
+            return ResponseWarpper.success(ResultUtil.paranErr("receiver"));
+        }
+        if(ToolUtil.isEmpty(phone)){
+            return ResponseWarpper.success(ResultUtil.paranErr("phone"));
+        }
+        if(ToolUtil.isEmpty(password)){
+            return ResponseWarpper.success(ResultUtil.paranErr("password"));
+        }
+        try {
+            ResultUtil<TokenWarpper> tokenWarpper = driverService.driverPassLogin(receiver, phone, password);
+            return ResponseWarpper.success(tokenWarpper);
+        }catch (Exception e){
+            e.printStackTrace();
+            return new ResponseWarpper(500, e.getMessage());
+        }
+    }
+
+
+
+    @ResponseBody
+    @PostMapping("/api/driver/flushedToken")
+    @ServiceLog(name = "刷新token", url = "/api/driver/flushedToken")
+    @ApiOperation(value = "刷新token", tags = {"司机端-登录注册"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResponseWarpper<TokenWarpper> flushedToken(HttpServletRequest request){
+        try {
+            Integer uid = driverService.getUserByRequset(request);
+            if(null == uid){
+                return ResponseWarpper.success(ResultUtil.tokenErr());
+            }
+            ResultUtil<TokenWarpper> tokenWarpper = driverService.flushedToken(uid);
+            return ResponseWarpper.success(tokenWarpper);
+        }catch (Exception e){
+            e.printStackTrace();
+            return new ResponseWarpper(500, e.getMessage());
+        }
+    }
+
+
+
+    @ResponseBody
+    @PostMapping("/api/driver/setPassword")
+    @ServiceLog(name = "司机设置密码", url = "/api/driver/setPassword")
+    @ApiOperation(value = "司机设置密码", tags = {"司机端-首页"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "密码", name = "password", required = true, dataType = "string"),
+            @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResponseWarpper setPassword(String password, HttpServletRequest request){
+        if(ToolUtil.isEmpty(password)){
+            return ResponseWarpper.success(ResultUtil.paranErr("password"));
+        }
+        try {
+            Integer uid = driverService.getUserByRequset(request);
+            if(null == uid){
+                return ResponseWarpper.success(ResultUtil.tokenErr());
+            }
+            driverService.setPassword(uid, password);
+            return ResponseWarpper.success();
+        }catch (Exception e){
+            e.printStackTrace();
+            return new ResponseWarpper(500, e.getMessage());
+        }
+    }
+
+
+
+    @ResponseBody
+    @PostMapping("/api/driver/queryDriverPosition")
+    @ServiceLog(name = "获取5公里范围内的司机", url = "/api/driver/queryDriverPosition")
+    @ApiOperation(value = "获取5公里范围内的司机", tags = {"司机端-首页"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResponseWarpper<List<String>> queryDriverPosition(HttpServletRequest request){
+        try {
+            Integer uid = driverService.getUserByRequset(request);
+            if(null == uid){
+                return ResponseWarpper.success(ResultUtil.tokenErr());
+            }
+            ResultUtil<List<String>> listResultUtil = driverService.queryDriverPosition(uid);
+            return ResponseWarpper.success(listResultUtil);
+        }catch (Exception e){
+            e.printStackTrace();
+            return new ResponseWarpper(500, e.getMessage());
+        }
+    }
+
+
+
+
+
+    @ResponseBody
+    @PostMapping("/base/driver/addDriverPosition")
+    @ServiceLog(name = "存储司机实时位置", url = "/base/driver/addDriverPosition")
+    public ResponseWarpper addDriverPosition(DriverPositionWarpper driverPositionWarpper) {
+        try {
+            driverService.addDriverPosition(driverPositionWarpper);
+            return ResponseWarpper.success();
+        }catch (Exception e){
+            e.printStackTrace();
+            return new ResponseWarpper(500, e.getMessage());
+        }
+    }
+
+
+
+    @ResponseBody
+    @PostMapping("/api/driver/queryPromotionQRCode")
+    @ServiceLog(name = "获取司机推广二维码", url = "/api/driver/queryPromotionQRCode")
+    @ApiOperation(value = "获取司机推广二维码", tags = {"司机端-个人中心"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResponseWarpper<PromotionWarpper> queryPromotionQRCode(HttpServletRequest request){
+        try {
+            Integer uid = driverService.getUserByRequset(request);
+            if(null == uid){
+                return ResponseWarpper.success(ResultUtil.tokenErr());
+            }
+            PromotionWarpper promotionWarpper = driverService.queryPromotionQRCode(uid);
+            return ResponseWarpper.success(promotionWarpper);
+        }catch (Exception e){
+            e.printStackTrace();
+            return new ResponseWarpper(500, e.getMessage());
+        }
     }
 }

--
Gitblit v1.7.1