From 1c40baaf9ca0183945b9881d11ceed5aeebc8290 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 23 十月 2025 11:35:44 +0800
Subject: [PATCH] 修改bug
---
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java | 223 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 216 insertions(+), 7 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 4c69f92..9e89d3f 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,23 @@
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.shunfeng.model.DriverRide;
+import com.stylefeng.guns.modular.shunfeng.service.IDriverRideService;
+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.EmployeeUtil;
+import com.stylefeng.guns.modular.system.util.qianyuntong.UserUtil;
+import com.stylefeng.guns.modular.system.util.zhenglian.TokenUtil;
+import com.stylefeng.guns.modular.system.util.zhenglian.ZhengLianUtil;
+import com.stylefeng.guns.modular.system.util.zhenglian.model.TokenRequest;
+import com.stylefeng.guns.modular.system.util.zhenglian.model.TradeTerminalInfo;
+import com.stylefeng.guns.modular.system.util.zhenglian.model.ZLUserInfo;
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 +27,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.*;
@@ -29,6 +35,8 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.InputStream;
+import java.net.InetAddress;
+import java.net.NetworkInterface;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@@ -43,6 +51,9 @@
@Autowired
private IUserInfoService userInfoService;
+ /*顺风车司机*/
+ @Autowired
+ private IDriverRideService driverRideService;
@Autowired
private IVerifiedService verifiedService;
@@ -58,9 +69,17 @@
@Autowired
private IDriverService driverService;
+
+ @Autowired
+ private IRegionService regionService;
@Autowired
private HttpServletRequest request;
+
+ private String salt = "&a.s";
+
+ @Autowired
+ private TDriverPromotionActivityService driverPromotionActivityService;
/**
@@ -115,6 +134,9 @@
return ResultUtil.runErr();
}
}
+
+
+
@ResponseBody
@PostMapping("/base/user/oneClickLogin")
@@ -261,6 +283,11 @@
return ResultUtil.runErr();
}
}
+
+
+
+
+
@ResponseBody
@PostMapping("/base/user/wxLogin")
@ApiOperation(value = "微信授权登录", tags = {"用户端-登录"}, notes = "")
@@ -284,6 +311,12 @@
return ResultUtil.runErr();
}
}
+
+
+
+
+
+
@ResponseBody
@PostMapping("/base/user/wxLoginIsBind")
@ApiOperation(value = "微信授权登录--查看是否绑定手机号", tags = {"用户端-登录"}, notes = "")
@@ -329,6 +362,68 @@
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);
+ Driver driver = driverService.selectById(driverId);
+ // 是否需要绑定司机
+ TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>()
+ .eq("districtCode", driver.getPlaceOfEmployment()).le("startTime", new Date()).ge("endTime", new Date()).last(" limit 1"));
+ System.out.println("111232"+tDriverPromotionActivity);
+ if(tDriverPromotionActivity!=null){
+ System.out.println("11111");
+ if(userInfo.getBindDriverId()==null || userInfo.getBindExpireDate().getTime()<=System.currentTimeMillis()){
+ System.out.println("222222");
+ Integer bindingDays = tDriverPromotionActivity.getBindingDays();
+ // 当前时间+绑定天数
+ Date endTime = DateUtils.addDays(new Date(), bindingDays);
+ userInfo.setBindDriverId(driverId);
+ userInfo.setBindExpireDate(endTime);
+ userInfo.setBindDate(new Date());
+ userInfoService.updateById(userInfo);
+ }
+ }else {
+ Region code = regionService.selectOne(new EntityWrapper<Region>().eq("code", driver.getPlaceOfEmployment()));
+ if(null != code){
+ Region region = regionService.selectById(code.getParentId());
+ TDriverPromotionActivity tDriverPromotionActivity1 = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("cityCode", region.getCode()).le("startTime", new Date()).ge("endTime", new Date()).last(" limit 1"));
+ if(tDriverPromotionActivity1!=null) {
+ if (userInfo.getBindDriverId() == null || userInfo.getBindExpireDate().getTime() <= System.currentTimeMillis()) {
+ Integer bindingDays = tDriverPromotionActivity1.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 +445,13 @@
if(null == uid){
return ResultUtil.tokenErr();
}
+ UserInfo userInfo = userInfoService.selectById(uid);
+ if(ToolUtil.isEmpty(userInfo.getOnconUUID())){
+ String onconUUIDByMobile = UserUtil.getOnconUUIDByMobile(userInfo.getPhone());
+ userInfo.setOnconUUID(onconUUIDByMobile);
+ userInfoService.updateById(userInfo);
+ }
+
Map<String, Object> map = userInfoService.queryUserInfo(uid);
UserWithdrawal userWithdrawal1 = userWithdrawalService.selectOne(new EntityWrapper<UserWithdrawal>()
.eq("phone", map.get("phone"))
@@ -787,6 +889,9 @@
return ResultUtil.runErr();
}
}
+
+
+
@ResponseBody
@GetMapping("/base/user/getDriverCode")
@ApiOperation(value = "获取司机端的二维码", tags = {"获取司机端的二维码"}, notes = "")
@@ -817,4 +922,108 @@
return ResultUtil.runErr();
}
}
+
+
+ /**
+ * 代驾系统添加用户接口
+ * @param phone
+ * @return
+ */
+ @ResponseBody
+ @PostMapping("/base/user/addAppUser")
+ public String addAppUser(String phone, String code, String areaCode, String onconUUID){
+ try {
+ return userInfoService.addAppUser(phone, code, areaCode, onconUUID);
+ }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;
+ }
+
+
+ @ResponseBody
+ @PostMapping("/api/driver/getZLToken")
+ @ApiOperation(value = "获取证联token(黔云通)", tags = {"司机端-首页"}, notes = "")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+ @ApiImplicitParam(value = "当前设备IP地址", name = "ip", required = true, dataType = "String"),
+ @ApiImplicitParam(value = "当前设备mac地址", name = "mac", required = true, dataType = "String"),
+ @ApiImplicitParam(value = "01 证联收银台支付\n" +
+ "\t 04 HOME 页\n" +
+ "\t 06 申请免密签约\n" +
+ "\t 07 商户收银台支付\n" +
+ "\t 08 开户(绑卡)\n" +
+ "\t 09 开通支付账户\n" +
+ "\t 10 打开付款码", name = "type", required = true, dataType = "String"),
+ })
+ public ResultUtil<String> getZLToken(String ip, String mac, String type, HttpServletRequest request){
+ try {
+ Integer userId = userInfoService.getUserIdFormRedis(request);
+ if (null == userId) {
+ return ResultUtil.tokenErr();
+ }
+ UserInfo userInfo = userInfoService.selectById(userId);
+ if(null == userInfo.getDriverId()){
+ return ResultUtil.error("请先开通顺风车司机");
+ }
+ if(null == userInfo.getIdCard()){
+ return ResultUtil.error("请先完成实名认证");
+ }
+ DriverRide driverRide = driverRideService.selectById(userInfo.getDriverId());
+ TokenRequest tokenRequest = new TokenRequest();
+ tokenRequest.setAppUserId(driverRide.getEmpId().toString());
+ tokenRequest.setUserName(userInfo.getName());
+ tokenRequest.setCertNo(userInfo.getIdCard());
+ tokenRequest.setPhone(userInfo.getPhone());
+ TradeTerminalInfo tradeTerminalInfo = new TradeTerminalInfo();
+ tradeTerminalInfo.setIp(ip);
+ tradeTerminalInfo.setTerminal("1");
+ tradeTerminalInfo.setMac(mac);
+ tokenRequest.setTradeTerminalInfo(tradeTerminalInfo);
+ tokenRequest.setType(type);
+ String token = TokenUtil.getToken(tokenRequest);
+ return ResultUtil.success(token);
+ }catch (Exception e){
+ e.printStackTrace();
+ return ResultUtil.runErr();
+ }
+ }
}
--
Gitblit v1.7.1