| | |
| | | import com.stylefeng.guns.modular.system.model.*; |
| | | import com.stylefeng.guns.modular.system.service.*; |
| | | import com.stylefeng.guns.modular.system.util.*; |
| | | import com.stylefeng.guns.modular.system.util.qianyuntong.EmployeeUtil; |
| | | import com.stylefeng.guns.modular.system.util.qianyuntong.SMSUtil; |
| | | import com.stylefeng.guns.modular.system.util.qianyuntong.model.EditStaffNodeRequest; |
| | | import com.stylefeng.guns.modular.system.util.qianyuntong.model.GetStaffNodeRequest; |
| | | import com.stylefeng.guns.modular.system.util.qianyuntong.model.StaffNodeInfo; |
| | | import com.stylefeng.guns.modular.system.util.qianyuntong.UserUtil; |
| | | import com.stylefeng.guns.modular.system.util.qianyuntong.model.QYTUserInfo; |
| | | import com.stylefeng.guns.modular.system.util.qianyuntong.model.SendSmsRequest; |
| | | import com.stylefeng.guns.modular.system.warpper.ActivityWarpper; |
| | | import com.stylefeng.guns.modular.system.warpper.BaseWarpper; |
| | | import com.stylefeng.guns.modular.system.warpper.LoginWarpper; |
| | | import com.stylefeng.guns.modular.system.warpper.RegisteredWarpper; |
| | | import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService; |
| | | import io.rong.models.response.TokenResult; |
| | | import org.apache.shiro.authc.SimpleAuthenticationInfo; |
| | | import org.apache.shiro.authc.UsernamePasswordToken; |
| | | import org.apache.shiro.authc.credential.HashedCredentialsMatcher; |
| | |
| | | sb.append((int) (random.nextDouble() * 10)); |
| | | } |
| | | String authCode = sb.toString(); |
| | | String sms = "短信验证码【" + authCode + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!"; |
| | | |
| | | //发送验证码短信 |
| | | redisTemplate.opsForValue().set(phone, authCode, 5, TimeUnit.MINUTES);//设置五分钟过期 |
| | | String templateCode = ""; |
| | | switch (type) { |
| | | case 1: |
| | | templateCode = "SMS_154775435";//身份验证 |
| | | break; |
| | | case 2: |
| | | templateCode = "SMS_154775434";//登录确认 |
| | | break; |
| | | case 3: |
| | | templateCode = "SMS_154775432";//用户注册 |
| | | break; |
| | | case 4: |
| | | templateCode = "SMS_154775431";//修改密码 |
| | | break; |
| | | } |
| | | // //发送验证码短信 |
| | | // redisTemplate.opsForValue().set(phone, authCode, 5, TimeUnit.MINUTES);//设置五分钟过期 |
| | | // String templateCode = ""; |
| | | // switch (type) { |
| | | // case 1: |
| | | // templateCode = "SMS_154775435";//身份验证 |
| | | // break; |
| | | // case 2: |
| | | // templateCode = "SMS_154775434";//登录确认 |
| | | // break; |
| | | // case 3: |
| | | // templateCode = "SMS_154775432";//用户注册 |
| | | // break; |
| | | // case 4: |
| | | // templateCode = "SMS_154775431";//修改密码 |
| | | // break; |
| | | // } |
| | | // String sData = aLiSendSms.sendSms(phone, "SMS_229715276", "{\"code\":\"" + authCode + "\"}"); |
| | | // JSONObject jsonObject = JSON.parseObject(sData); |
| | | // String message = jsonObject.getString("Message"); |
| | |
| | | // return ResultUtil.error(""); |
| | | // } |
| | | // System.out.println(sms); |
| | | SMSUtil.sendVerifyCode(phone); |
| | | SendSmsRequest request = new SendSmsRequest(); |
| | | request.setDestAddress(phone); |
| | | request.setTemplateId("TPL202410290001"); |
| | | Map<String, String> templateParams = new HashMap<>(); |
| | | templateParams.put("code", authCode); |
| | | request.setTemplateParams(templateParams); |
| | | request.setCode("code"); |
| | | request.setSpId("T8d5hdfg"); |
| | | SMSUtil.sendSms(request); |
| | | redisTemplate.opsForValue().set(phone, authCode, 5, TimeUnit.MINUTES);//设置五分钟过期 |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | |
| | | @Override |
| | | public ResultUtil updateDriver(RegisteredWarpper registeredWarpper, Integer uid) throws Exception { |
| | | Driver driver = this.selectById(uid); |
| | | //调用中台接口校验实名信息 |
| | | Boolean auth = UserUtil.idCardAuth(registeredWarpper.getName(), registeredWarpper.getIdCard()); |
| | | if(!auth){ |
| | | return ResultUtil.error("实名认证失败,请输入正确的姓名和身份证号码"); |
| | | } |
| | | driver.setName(registeredWarpper.getName()); |
| | | driver.setSex(registeredWarpper.getSex()); |
| | | driver.setIdCard(registeredWarpper.getIdCard()); |
| | | |
| | | String code = registeredWarpper.getPlaceOfEmployment(); |
| | | driver.setArea(registeredWarpper.getArea()); |
| | | driver.setAreaCode(registeredWarpper.getAreaCode()); |
| | | driver.setCity(registeredWarpper.getCity()); |
| | | driver.setCityCode(registeredWarpper.getCityCode()); |
| | | driver.setProvince(registeredWarpper.getProvince()); |
| | | driver.setProvinceCode(registeredWarpper.getProvinceCode()); |
| | | |
| | | String code = registeredWarpper.getAreaCode(); |
| | | Company query = companyCityService.query(code); |
| | | if(null == query){ |
| | | return ResultUtil.error("选择从业地暂未开通业务"); |
| | |
| | | boolean b = true; |
| | | for(String t : split){ |
| | | for(DriverService driverService : list){ |
| | | if(driverService.getType() == Integer.valueOf(t)){ |
| | | if(driverService.getType().equals(Integer.valueOf(t))){ |
| | | b = false; |
| | | break; |
| | | } |
| | |
| | | if (null == driver) { |
| | | return ResultUtil.error("账号未注册"); |
| | | } |
| | | Company company = companyMapper.selectById(driver.getCompanyId()); |
| | | //查询中台员工数据 |
| | | GetStaffNodeRequest request = new GetStaffNodeRequest(); |
| | | request.setEmpId(driver.getEmpId()); |
| | | request.setEntercode(driver.getEntercode()); |
| | | request.setMobile(driver.getPhone()); |
| | | StaffNodeInfo staffNode = EmployeeUtil.getStaffNode(request); |
| | | if (null == staffNode || staffNode.getIsValid().equals("0")) { |
| | | List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(driver.getPhone(), company.getEnterCode()); |
| | | if (null == userInfoByPhone || userInfoByPhone.size() == 0) { |
| | | return ResultUtil.error("账号未注册"); |
| | | } |
| | | |
| | |
| | | loginWarpper.setToken(token); |
| | | loginWarpper.setAppid(UUIDUtil.getRandomCode()); |
| | | loginWarpper.setState(ToolUtil.isEmpty(driver.getIdCard()) ? 1 : 0); |
| | | |
| | | TokenResult token1 = RongCloudUtil.getToken(driver.getId().toString(), driver.getName(), driver.getHeadImgUrl()); |
| | | loginWarpper.setRongYunToken(token1.getToken()); |
| | | |
| | | //创建高德猎鹰的终端数据 |
| | | String tid = gdFalconUtil.createTerminal(phone); |
| | | loginWarpper.setServerId(gdFalconUtil.getServerId()); |
| | |
| | | return ResultUtil.error("验证码无效"); |
| | | } |
| | | Driver driver1 = this.selectById(uid); |
| | | GetStaffNodeRequest request = new GetStaffNodeRequest(); |
| | | request.setEmpId(driver1.getEmpId()); |
| | | request.setEntercode(driver1.getEntercode()); |
| | | request.setMobile(driver1.getPhone()); |
| | | StaffNodeInfo staffNode = EmployeeUtil.getStaffNode(request); |
| | | if ("0".equals(staffNode.getIsValid())) { |
| | | return ResultUtil.error("无效的司机账号"); |
| | | } |
| | | EditStaffNodeRequest editStaffNodeRequest = new EditStaffNodeRequest(); |
| | | editStaffNodeRequest.setEmpId(staffNode.getEmpId()); |
| | | editStaffNodeRequest.setMobile(staffNode.getMphone()); |
| | | editStaffNodeRequest.setEntercode(staffNode.getEnterNum()); |
| | | editStaffNodeRequest.setEnterId(staffNode.getEnterId()); |
| | | editStaffNodeRequest.setEmpName(staffNode.getEmpName()); |
| | | editStaffNodeRequest.setEmpNickname(staffNode.getEmpNickname()); |
| | | editStaffNodeRequest.setLoginNo(staffNode.getLoginNo()); |
| | | editStaffNodeRequest.setMphone(phone); |
| | | editStaffNodeRequest.setEmail(staffNode.getEmail()); |
| | | editStaffNodeRequest.setDeptId(staffNode.getDeptId()); |
| | | editStaffNodeRequest.setPositionId(1); |
| | | editStaffNodeRequest.setSuperLevel(0); |
| | | editStaffNodeRequest.setHideMobile(0); |
| | | Boolean editStaffNode = EmployeeUtil.editStaffNode(editStaffNodeRequest); |
| | | if (!editStaffNode) { |
| | | return ResultUtil.error("修改手机号码失败"); |
| | | Company company = companyMapper.selectById(driver1.getCompanyId()); |
| | | List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(driver1.getPhone(), company.getEnterCode()); |
| | | if (null == userInfoByPhone || userInfoByPhone.size() == 0) { |
| | | return ResultUtil.error("账号未注册"); |
| | | } |
| | | |
| | | driver1.setAccount(phone); |
| | |
| | | if(driver.getState() == 3){ |
| | | return ResultUtil.error("还在服务中,不能更换"); |
| | | } |
| | | // boolean idle = carService.idle(carId); |
| | | // if(!idle){ |
| | | // return ResultUtil.error("车辆已被绑定了"); |
| | | // } |
| | | boolean idle = carService.idle(carId); |
| | | if(!idle){ |
| | | return ResultUtil.error("当前车辆已经有其他司机在使用,请更换车辆"); |
| | | } |
| | | driver.setCarId(carId); |
| | | this.updateById(driver); |
| | | return ResultUtil.success(); |
| | |
| | | //开始清除redis中无效的数据 |
| | | Driver driver = driverMapper.selectById(id); |
| | | String key = (String) redisTemplate.opsForValue().get("DRIVER_" + driver.getPhone()); |
| | | redisTemplate.delete(key);//删除个人信息数据 |
| | | if(ToolUtil.isNotEmpty(key)){ |
| | | redisTemplate.delete(key);//删除个人信息数据 |
| | | } |
| | | redisTemplate.delete("DRIVER_" + driver.getPhone());//删除后台冻结相关缓存 |
| | | redisTemplate.delete("DRIVER_" + id);//清除存储的token |
| | | } |