Pu Zhibing
3 天以前 50350c428347d68ea1c8fa4fcc7633e4dc2550bc
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java
@@ -23,10 +23,12 @@
import com.supersavedriving.driver.modular.system.util.MiniPay.MiniAppPay;
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;
@@ -67,6 +69,7 @@
* @author pzb
* @Date 2023/2/8 18:52
*/
@Slf4j
@Service
public class DriverServiceImpl extends ServiceImpl<DriverMapper, Driver> implements IDriverService {
@@ -163,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){
@@ -182,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());
@@ -223,8 +232,8 @@
        String pictureName = "driver_" + driverId + ".png";
        File file = FileUtil.writeFromStream(release, new File(filePath + pictureName));
        HttpRequest post = HttpUtil.createPost(adminUrl + "/upload/image");
        HttpRequest form = post.form("file", file);
        HttpResponse execute = form.execute();
        post.form("file", file);
        HttpResponse execute = post.execute();
        int status = execute.getStatus();
        if(200 != status){
            throw new RuntimeException("上传图片异常");
@@ -237,8 +246,8 @@
        String pictureName = "driver_" + driverId + ".png";
        File file = FileUtil.writeFromStream(release, new File(filePath + pictureName));
        HttpRequest post = HttpUtil.createPost(adminUrl + "/upload/image");
        HttpRequest form = post.form("file", file);
        HttpResponse execute = form.execute();
        post.form("file", file);
        HttpResponse execute = post.execute();
        int status = execute.getStatus();
        if(200 != status){
            throw new RuntimeException("上传图片异常");
@@ -344,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);
@@ -366,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);
    }
    /**
     * 司机密码登录
@@ -452,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);
@@ -603,6 +618,7 @@
        Double lat = driverPositionWarpper.getLat();
        Integer driverId = driverPositionWarpper.getDriverId();
        Integer orderId = driverPositionWarpper.getOrderId();
//        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);
@@ -646,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));
@@ -788,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);
        }