From 50350c428347d68ea1c8fa4fcc7633e4dc2550bc Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 17 十月 2025 16:55:04 +0800 Subject: [PATCH] 修改bug --- driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java | 90 ++++++++++++++++++++++++++++++++++---------- 1 files changed, 69 insertions(+), 21 deletions(-) diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java index dec6d88..1382d59 100644 --- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java +++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java @@ -1,6 +1,9 @@ package com.supersavedriving.driver.modular.system.service.impl; -import cn.hutool.core.date.DateUtil; +import cn.hutool.core.io.FileUtil; +import cn.hutool.http.HttpRequest; +import cn.hutool.http.HttpResponse; +import cn.hutool.http.HttpUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; @@ -18,12 +21,14 @@ import com.supersavedriving.driver.modular.system.util.MallBook.util.TrhRequest; import com.supersavedriving.driver.modular.system.util.*; import com.supersavedriving.driver.modular.system.util.MiniPay.MiniAppPay; -import com.supersavedriving.driver.modular.system.util.huawei.OBSUtil; import com.supersavedriving.driver.modular.system.util.mongodb.model.Location; +import com.supersavedriving.driver.modular.system.util.qianyuntong.QianYunTongConfig; +import com.supersavedriving.driver.modular.system.util.qianyuntong.UserUtil; import com.supersavedriving.driver.modular.system.util.rongyun.RongYunUtil; import com.supersavedriving.driver.modular.system.util.weChat.WeChatUtil; import com.supersavedriving.driver.modular.system.util.weChat.model.Code2Session; import com.supersavedriving.driver.modular.system.warpper.*; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.apache.shiro.authc.SimpleAuthenticationInfo; import org.apache.shiro.authc.UsernamePasswordToken; @@ -45,7 +50,9 @@ import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.io.File; import java.io.InputStream; import java.math.BigDecimal; import java.math.BigInteger; @@ -62,6 +69,7 @@ * @author pzb * @Date 2023/2/8 18:52 */ +@Slf4j @Service public class DriverServiceImpl extends ServiceImpl<DriverMapper, Driver> implements IDriverService { @@ -86,6 +94,9 @@ @Value("${filePath}") private String filePath; + + @Value("${qyt.admin_url}") + private String adminUrl; @Autowired private IAppUserService appUserService; @@ -119,6 +130,9 @@ @Autowired private WeChatUtil weChatUtil; + + @Resource + private QianYunTongConfig qianYunTongConfig; @Autowired private IDriverOnlineTimeService driverOnlineTimeService; @@ -152,6 +166,10 @@ if(null != driver && driver.getApprovalStatus() == 2){ return ResultUtil.error("该手机账号已审核通过,请直接登录。"); } + Boolean b = UserUtil.idCardAuth(driverRegisterWarpper.getName(), driverRegisterWarpper.getIdcard()); + if(b){ + return ResultUtil.error("姓名和身份证号码不匹配"); + } //账号审核拒绝后的处理 if(null != driver && driver.getApprovalStatus() == 3){ @@ -171,6 +189,8 @@ }catch (Exception e){ return ResultUtil.error(e.getMessage()); } + driver.setSex(1); + driver.setPassword(ShiroKit.md5("123456", salt)); driver.setCreateTime(new Date()); this.insert(driver); String s = wechatMiniProgramORCode(driver.getId()); @@ -209,14 +229,30 @@ //生成小程序二维码 public String wechatMiniProgramORCode(Integer driverId) throws Exception{ InputStream release = weChatUtil.getwxacodeunlimit("pages/index/index", "driverId=" + driverId, "release"); - String s = OssUploadUtil.ossUpload(release, "driver_" + driverId + "_" + UUIDUtil.getNumberRandom(5) + ".jpg"); - return s; + String pictureName = "driver_" + driverId + ".png"; + File file = FileUtil.writeFromStream(release, new File(filePath + pictureName)); + HttpRequest post = HttpUtil.createPost(adminUrl + "/upload/image"); + post.form("file", file); + HttpResponse execute = post.execute(); + int status = execute.getStatus(); + if(200 != status){ + throw new RuntimeException("上传图片异常"); + } + return execute.body(); } //司机下单二维码 public String wechatMiniOrderQRCode(Integer driverId) throws Exception{ InputStream release = weChatUtil.getwxacodeunlimitOrder("pages/index/index", "driverIds=" + driverId, "release"); - String s = OssUploadUtil.ossUpload(release, "driverOrder_" + driverId + "_" + UUIDUtil.getNumberRandom(5) + ".jpg"); - return s; + String pictureName = "driver_" + driverId + ".png"; + File file = FileUtil.writeFromStream(release, new File(filePath + pictureName)); + HttpRequest post = HttpUtil.createPost(adminUrl + "/upload/image"); + post.form("file", file); + HttpResponse execute = post.execute(); + int status = execute.getStatus(); + if(200 != status){ + throw new RuntimeException("上传图片异常"); + } + return execute.body(); } @@ -317,15 +353,15 @@ tokenWarpper.setValidTime(7200L); tokenWarpper.setIsSetPassword(ToolUtil.isEmpty(driver.getPassword()) ? 0 : 1); - String RYToken = rongYunUtil.getToken(driver.getId().toString(), driver.getName(), driver.getAvatar()); - if(ToolUtil.isNotEmpty(RYToken)){ - JSONObject jsonObject = JSON.parseObject(RYToken); - Integer code1 = jsonObject.getInteger("code"); - if(200 == code1){ - tokenWarpper.setRytoken(jsonObject.getString("token")); - } - } - +// String RYToken = rongYunUtil.getToken(driver.getId().toString(), driver.getName(), driver.getAvatar()); +// if(ToolUtil.isNotEmpty(RYToken)){ +// JSONObject jsonObject = JSON.parseObject(RYToken); +// Integer code1 = jsonObject.getInteger("code"); +// if(200 == code1){ +// tokenWarpper.setRytoken(jsonObject.getString("token")); +// } +// } + // todo 正式放开 if(ToolUtil.isEmpty(driver.getReferralCode())){ String s = wechatMiniProgramORCode(driver.getId()); driver.setReferralCode(s); @@ -339,6 +375,11 @@ return ResultUtil.success(tokenWarpper); } + + public static void main(String[] args) { + String s = ShiroKit.md5(MD5AndKL.MD5("123456"), "i#sm4"); + System.out.println(s); + } /** * 司机密码登录 @@ -425,6 +466,7 @@ redisUtil.setStrValue(key, driver.getId().toString(), 94608000);//7天 redisUtil.setStrValue("DRIVER_" + phone, key, 94608000);//7天 + // todo 正式放开 //下线 for (int i = 0; i < 5; i++) { Integer code = pushUtil.pushOffline(driver.getId(), 2); @@ -506,7 +548,7 @@ if(null == driverWork){ return ResultUtil.error("请先上班"); } - String value = redisUtil.getValue("DRIVER" + uid); + String value = redisUtil.getValue("daijia:DRIVER" + uid); List<String> list = new ArrayList<>(); if(ToolUtil.isNotEmpty(value)){ String[] split = value.split(","); @@ -534,7 +576,7 @@ i = 3; } } - String value1 = redisUtil.getValue("DRIVER" + s.getDriverId()); + String value1 = redisUtil.getValue("daijia:DRIVER" + s.getDriverId()); if(s.getDriverId().compareTo(uid) != 0 && ToolUtil.isNotEmpty(value1)){ list.add(s.getLocation().getX() + "," + s.getLocation().getY()+","+i+","+driver.getName()); } @@ -576,7 +618,8 @@ Double lat = driverPositionWarpper.getLat(); Integer driverId = driverPositionWarpper.getDriverId(); Integer orderId = driverPositionWarpper.getOrderId(); - redisUtil.setStrValue("DRIVER" + driverId, lon + "," + lat, 30); +// log.info("存储地理空间:{}", driverPositionWarpper); + redisUtil.setStrValue("daijia:DRIVER" + driverId, lon + "," + lat, 30); Query query = Query.query(Criteria.where("driverId").is(driverId)); Location old = this.mongoTemplate.findOne(query, Location.class); if (Objects.isNull(old)) { @@ -619,7 +662,6 @@ driver1.setReferralCode(s); this.updateById(driver1); } -// promotionWarpper.setUrl("https://chaoshengdaijia.com/share/driverShare/index.html?inviterId=" + uid); promotionWarpper.setUrl(driver1.getReferralCode()); int user =0; List<AppUser> appUsers = appUserService.selectList(new EntityWrapper<AppUser>().eq("inviterType", 2).eq("inviterId", uid).eq("status", 1)); @@ -744,6 +786,8 @@ .eq("state", 2).last(" and failureTime > now() order by failureTime limit 0, 1")); if(null != youTuiDriver){ driverInfo.setYouTuiEnd(youTuiDriver.getType() == 1 ? youTuiDriver.getFailureTime().getTime() : youTuiDriver.getEndTime().getTime()); + driverInfo.setType(youTuiDriver.getType()); + driverInfo.setSurplusQuantity(youTuiDriver.getSurplusQuantity()); } List<Integer> state = Arrays.asList(107, 108, 109); int count = orderService.selectCount(new EntityWrapper<Order>().eq("driverId", uid).eq("status", 1).in("state", state).last(" and DATE_FORMAT(createTime, '%Y-%m-%d') = DATE_FORMAT(now(), '%Y-%m-%d')")); @@ -759,8 +803,12 @@ driverInfo.setOnline(second); } driverInfo.setWechatAuthorization(driver.getOpenid() == null ? 0 : 1); - Agent agent = agentService.selectById(driver.getAgentId()); - driverInfo.setServiceCalls(agent.getServiceCalls()); + driverInfo.setServiceCalls(""); + SystemConfig systemConfig = systemConfigService.selectOne(new EntityWrapper<SystemConfig>().eq("type", 7).eq("companyType", 1).eq("status", 2)); + if(null != systemConfig){ + JSONObject jsonObject = JSON.parseObject(systemConfig.getContent()); + driverInfo.setServiceCalls(jsonObject.getString("num1")); + } if (driverInfo.getWithdrawBalance()==null){ driverInfo.setWithdrawBalance(0.00); } -- Gitblit v1.7.1