From b4c371a3049be8a53a5cad6b6ba499ebaf438232 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 13 八月 2025 15:25:14 +0800
Subject: [PATCH] 修改bug

---
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java |  124 ++++++++++++++++++++++++++++++++++++++---
 1 files changed, 114 insertions(+), 10 deletions(-)

diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java
index 77335e1..53a2295 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java
@@ -3,18 +3,15 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.stylefeng.guns.core.common.constant.JwtConstants;
+import com.stylefeng.guns.core.shiro.ShiroKit;
 import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.account.server.UserWithdrawalService;
 import com.stylefeng.guns.modular.account.util.OssUploadUtil;
-import com.stylefeng.guns.modular.system.model.Driver;
-import com.stylefeng.guns.modular.system.model.UserInfo;
-import com.stylefeng.guns.modular.system.model.UserWithdrawal;
-import com.stylefeng.guns.modular.system.service.IDriverService;
-import com.stylefeng.guns.modular.system.service.ISmsrecordService;
-import com.stylefeng.guns.modular.system.service.IUserInfoService;
-import com.stylefeng.guns.modular.system.service.IVerifiedService;
+import com.stylefeng.guns.modular.system.model.*;
+import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
 import com.stylefeng.guns.modular.system.util.WeChatUtil;
+import com.stylefeng.guns.modular.system.util.qianyuntong.UserUtil;
 import com.stylefeng.guns.modular.system.warpper.LoginWarpper;
 import com.stylefeng.guns.modular.system.warpper.UserInfoWarpper;
 import com.stylefeng.guns.modular.system.warpper.VerifiedWarpper;
@@ -22,6 +19,7 @@
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang.time.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.web.bind.annotation.*;
@@ -61,6 +59,11 @@
     
     @Autowired
     private HttpServletRequest request;
+    
+    private String salt = "&a.s";
+
+    @Autowired
+    private TDriverPromotionActivityService driverPromotionActivityService;
     
     
     /**
@@ -106,11 +109,10 @@
             @ApiImplicitParam(value = "ip地址", name = "registIp", required = false, dataType = "String"),
             @ApiImplicitParam(value = "登录端口-小程序传Applets", name = "loginType", required = false, dataType = "String"),
             @ApiImplicitParam(value = "当前定位区县行政编号", name = "registAreaCode", required = false, dataType = "String"),
-            @ApiImplicitParam(value = "司机id", name = "driverId", required = false, dataType = "int"),
     })
-    public ResultUtil<LoginWarpper> captchaLogin(String phone, String code, String registIp, String registAreaCode,String loginType,String jsCode,Integer driverId){
+    public ResultUtil<LoginWarpper> captchaLogin(String phone, String code, String registIp, String registAreaCode,String loginType,String jsCode){
         try {
-            return userInfoService.captchaLogin(phone, code, registIp, registAreaCode,loginType,driverId);
+            return userInfoService.captchaLogin(phone, code, registIp, registAreaCode,loginType);
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
@@ -330,6 +332,47 @@
             return ResultUtil.runErr();
         }
     }
+    /**
+     * 设置绑定司机
+     * @param driverId
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/api/user/bindingDriver")
+    @ApiOperation(value = "绑定司机", tags = {"用户端-登录"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "司机id", name = "driverId", required = true, dataType = "int"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil<LoginWarpper> bindingDriver(Integer driverId,HttpServletRequest request){
+        try {
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            if(null == uid){
+                return ResultUtil.tokenErr();
+            }
+            UserInfo userInfo = userInfoService.selectById(uid);
+
+            // 是否需要绑定司机
+            TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("districtCode", userInfo.getRegistAreaCode()).ge("startTime", new Date()).lt("endTime", new Date()).last(" limit 1"));
+            if(tDriverPromotionActivity!=null){
+                if(userInfo.getBindDriverId()==null || userInfo.getBindExpireDate().getTime()<=System.currentTimeMillis()){
+                    Integer bindingDays = tDriverPromotionActivity.getBindingDays();
+                    // 当前时间+绑定天数
+                    Date endTime = DateUtils.addDays(new Date(), bindingDays);
+                    userInfo.setBindDriverId(driverId);
+                    userInfo.setBindExpireDate(endTime);
+                    userInfo.setBindDate(new Date());
+                    userInfoService.updateById(userInfo);
+                }
+
+            }
+            return ResultUtil.success();
+        }catch (Exception e){
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
 
 
     @Autowired
@@ -350,6 +393,12 @@
             Integer uid = userInfoService.getUserIdFormRedis(request);
             if(null == uid){
                 return ResultUtil.tokenErr();
+            }
+            UserInfo userInfo = userInfoService.selectById(uid);
+            if(ToolUtil.isEmpty(userInfo.getOnconUUID())){
+                String onconUUIDByMobile = UserUtil.getOnconUUIDByMobile("15828353127");
+                userInfo.setOnconUUID(onconUUIDByMobile);
+                userInfoService.updateById(userInfo);
             }
             Map<String, Object> map = userInfoService.queryUserInfo(uid);
             UserWithdrawal userWithdrawal1 = userWithdrawalService.selectOne(new EntityWrapper<UserWithdrawal>()
@@ -818,4 +867,59 @@
             return ResultUtil.runErr();
         }
     }
+    
+    
+    /**
+     * 代驾系统添加用户接口
+     * @param phone
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/base/user/addAppUser")
+    public String addAppUser(String phone, String code, String areaCode){
+        try {
+            return userInfoService.addAppUser(phone, code, areaCode);
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        return null;
+    }
+    
+    /**
+     * 代驾系统验证短信验证码
+     * @param phone
+     * @param code
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/base/user/checkCaptcha")
+    public Boolean checkCaptcha1(String phone, String code, HttpServletRequest request){
+        try {
+            String device = request.getHeader("device");
+            if(ToolUtil.isEmpty(device)){
+                return false;
+            }
+            boolean b = userInfoService.checkCaptcha(phone, code);
+            return b;
+        }catch (Exception e){
+            e.printStackTrace();
+            return false;
+        }
+    }
+    
+    /**
+     * 代驾系统验根据用户id获取电话号码
+     * @param id
+     * @return
+     */
+    @ResponseBody
+    @GetMapping("/base/user/getUserPhone/{id}")
+    public String getUserPhone(@PathVariable("id") Integer id){
+        UserInfo userInfo = userInfoService.selectById(id);
+        if(null != userInfo){
+            return userInfo.getPhone();
+        }
+        return null;
+    }
 }

--
Gitblit v1.7.1