From 0a8d28436b2f7229ecdf40c6b003902002c8947f Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期四, 16 十月 2025 17:37:08 +0800 Subject: [PATCH] 修改bug --- UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java | 176 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 170 insertions(+), 6 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 0a28538..83ea472 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,16 +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.TDriverPromotionActivity; -import com.stylefeng.guns.modular.system.model.UserInfo; -import com.stylefeng.guns.modular.system.model.UserWithdrawal; +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; @@ -28,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; @@ -42,6 +51,9 @@ @Autowired private IUserInfoService userInfoService; + /*顺风车司机*/ + @Autowired + private IDriverRideService driverRideService; @Autowired private IVerifiedService verifiedService; @@ -57,9 +69,14 @@ @Autowired private IDriverService driverService; + + @Autowired + private IRegionService regionService; @Autowired private HttpServletRequest request; + + private String salt = "&a.s"; @Autowired private TDriverPromotionActivityService driverPromotionActivityService; @@ -117,6 +134,9 @@ return ResultUtil.runErr(); } } + + + @ResponseBody @PostMapping("/base/user/oneClickLogin") @@ -263,6 +283,11 @@ return ResultUtil.runErr(); } } + + + + + @ResponseBody @PostMapping("/base/user/wxLogin") @ApiOperation(value = "微信授权登录", tags = {"用户端-登录"}, notes = "") @@ -286,6 +311,12 @@ return ResultUtil.runErr(); } } + + + + + + @ResponseBody @PostMapping("/base/user/wxLoginIsBind") @ApiOperation(value = "微信授权登录--查看是否绑定手机号", tags = {"用户端-登录"}, notes = "") @@ -351,11 +382,15 @@ return ResultUtil.tokenErr(); } UserInfo userInfo = userInfoService.selectById(uid); - + Driver driver = driverService.selectById(driverId); // 是否需要绑定司机 - TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("districtCode", userInfo.getRegistAreaCode()).ge("startTime", new Date()).lt("endTime", new Date()).last(" limit 1")); + 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); @@ -363,6 +398,21 @@ userInfo.setBindExpireDate(endTime); userInfo.setBindDate(new Date()); userInfoService.updateById(userInfo); + } + }else { + Region code = regionService.selectOne(new EntityWrapper<Region>().eq("code", driver.getPlaceOfEmployment())); + 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); + } } } @@ -393,6 +443,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")) @@ -830,6 +887,9 @@ return ResultUtil.runErr(); } } + + + @ResponseBody @GetMapping("/base/user/getDriverCode") @ApiOperation(value = "获取司机端的二维码", tags = {"获取司机端的二维码"}, notes = "") @@ -860,4 +920,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