src/main/java/org/springblade/common/utils/ImageUtils.java
@@ -72,6 +72,47 @@ g.dispose(); return bimage; } /** * 得到文件流 * @param url 图片地址 * @return */ public static byte[] getFileStream(String url){ try { URL httpUrl = new URL(url); HttpURLConnection conn = (HttpURLConnection)httpUrl.openConnection(); conn.setRequestMethod("GET"); conn.setConnectTimeout(5 * 1000); //通过输入流获取图片数据 InputStream inStream = conn.getInputStream(); //得到图片的二进制数据 byte[] btImg = readInputStream(inStream); return btImg; } catch (Exception e) { e.printStackTrace(); } return null; } /** * 从输入流中获取数据 * @param inStream 输入流 * @return * @throws Exception */ public static byte[] readInputStream(InputStream inStream) throws Exception{ ByteArrayOutputStream outStream = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len = 0; while( (len=inStream.read(buffer)) != -1 ){ outStream.write(buffer, 0, len); } inStream.close(); return outStream.toByteArray(); } /** * 通过图片的url获取图片的base64字符串 * @param imgUrl 图片url src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -401,11 +401,38 @@ userService.updateById(user); String rtime; if (user.getRtime() == null) { rtime = null; String s1 = "update blade_user set account = " + "'" + user.getAccount() + "'" + ",name = " + "'" + user.getName() + "'" + ",real_name = " + "'" + user.getRealName() + "'" + ",avatar = " + "'" + user.getAvatar() + "'" + ",email = " + "'" + user.getEmail() + "'" + ",phone = " + "'" + user.getPhone() + "'" + ",sex = " + "'" + user.getSex() + "'" + ",role_id = " + "'" + user.getRoleId() + "'" + ",dept_id = " + "'" + user.getDeptId() + "'" + ",cardid = " + "'" + user.getCardid() + "'" + ",nativePlace = " + "'" + user.getNativeplace() + "'" + ",nation = " + "'" + user.getNation() + "'" + ",education = " + "'" + user.getEducation() + "'" + ",politicaloutlook = " + "'" + user.getPoliticaloutlook() + "'" + ",healstats = " + "'" + user.getHealstats() + "'" + ",height = " + "'" + user.getHeight() + "'" + ",fingerprint = " + "'" + url + "'" + ",my_picture = " + "'" + user.getMyPicture() + "'" + ",address = " + "'" + user.getAddress() + "'" + ",registered = " + "'" + user.getRegistered() + "'" + ",dispatch = " + "'" + user.getDispatch() + "'" + ",securitynumber = " + "'" + user.getSecuritynumber() + "'" + ",hold = " + "'" + user.getHold() + "'" + ",jurisdiction = " + "'" + user.getJurisdiction() + "'" + ",reason_for_leav = " + "'" + user.getReasonForLeav() + "'" + ",guncode = " + "'" + user.getGuncode() + "'" + ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getUpdateTime()) + "'" + " " + "where id = " + "'" + user.getId() + "'"; FtpUtil.sqlFileUpload(s1); } else { rtime = new SimpleDateFormat("yyyy-MM-dd").format(user.getRtime()); } String s1 = "update blade_user set account = " + "'" + user.getAccount() + "'" + ",name = " + "'" + user.getName() + "'" @@ -437,6 +464,7 @@ + ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getUpdateTime()) + "'" + " " + "where id = " + "'" + user.getId() + "'"; FtpUtil.sqlFileUpload(s1); } return R.success("修改成功"); } src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -28,6 +28,7 @@ import org.springblade.common.constant.CommonConstant; import org.springblade.common.constant.TenantConstant; import org.springblade.common.utils.IdCardNoUtil; import org.springblade.common.utils.ImageUtils; import org.springblade.common.utils.QRCodeUtil; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.base.BaseServiceImpl; @@ -120,10 +121,6 @@ throw new ServiceException(StringUtil.format("当前用户 [{}] 已存在!", user.getAccount())); } boolean b = save(user) && submitUserDept(user); String rtime = null; if (null != user.getRtime()) { rtime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getRtime()); } user.setIsDeleted(0); String s = "insert into blade_user(id,tenant_id,account,password,real_name,email,phone,sex,role_id,dept_id,cardid,nativePlace,nation," + "politicaloutlook,healstats,height,address,registered,securitynumber,hold,status,dispatch,jurisdiction,is_deleted) " + @@ -1494,31 +1491,60 @@ */ @Override public void importQrCode(List<QrCodeExcel> data, Boolean isCovered, String deptId) { String url = "http://223.82.109.183:2080/securityInfo.html"; // String url = "http://223.82.109.183:2080/securityInfo.html"; // data.forEach(qrCodeExcel -> { // if (null!=qrCodeExcel.getSecuritynumber()) { // String encoded = null; // try { // //中文字符串编码 // encoded = URLEncoder.encode(qrCodeExcel.getSecuritynumber(),"UTF-8"); // } catch (UnsupportedEncodingException e) { // e.printStackTrace(); // } // //url 拼接 // String content = url + "?securityNumber=" + encoded; // byte[] qrCodeImage = new byte[0]; // try { // //生成二维码字节流 // qrCodeImage = QRCodeUtil.getQRCodeImage(content, 350, 350); // } catch (WriterException e) { // e.printStackTrace(); // } catch (IOException e) { // e.printStackTrace(); // } // String path = "D:\\QrCode\\"; // FileOutputStream fileOutputStream = null; // try { // fileOutputStream = new FileOutputStream(path+qrCodeExcel.getSecuritynumber()+".png"); // } catch (FileNotFoundException e) { // e.printStackTrace(); // } // try { // //图片下载到本地 // fileOutputStream.write(qrCodeImage,0,qrCodeImage.length); // fileOutputStream.flush(); // fileOutputStream.close(); // } catch (IOException e) { // e.printStackTrace(); // } // } // }); //头像生成 data.forEach(qrCodeExcel -> { if (null!=qrCodeExcel.getSecuritynumber()) { String encoded = null; try { //中文字符串编码 encoded = URLEncoder.encode(qrCodeExcel.getSecuritynumber(),"UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } //查询用户头像url User user = new User(); user.setSecuritynumber(qrCodeExcel.getSecuritynumber()); User user1 = this.getOne(Condition.getQueryWrapper(user)); //url 拼接 String content = url + "?securityNumber=" + encoded; byte[] qrCodeImage = new byte[0]; try { //生成二维码字节流 qrCodeImage = QRCodeUtil.getQRCodeImage(content, 350, 350); } catch (WriterException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } //获取图片 qrCodeImage = ImageUtils.getFileStream(user1.getAvatar()); //路径 String path = "D:\\QrCode\\"; FileOutputStream fileOutputStream = null; try { fileOutputStream = new FileOutputStream(path+qrCodeExcel.getSecuritynumber()+".png"); fileOutputStream = new FileOutputStream(path+user1.getRealName()+user1.getCardid()+".png"); } catch (FileNotFoundException e) { e.printStackTrace(); }