智慧保安后台管理-外网项目备份
Administrator
2021-12-10 00754b2fb8e71be738e6c312e11d62e64a4e82c3
1.二维码批量生成修改,新增图片批量下载
2.用户修改 rtime bug 修改
3 files modified
205 ■■■■ changed files
src/main/java/org/springblade/common/utils/ImageUtils.java 41 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/controller/UserController.java 94 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java 70 ●●●●● patch | view | raw | blame | history
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,42 +401,70 @@
        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() + "'"
                    + ",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() + "'"
                    + ",rtime = " + "'" + rtime + "'"
                    + ",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);
        }
        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() + "'"
                + ",rtime = " + "'" + rtime + "'"
                + ",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);
        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();
                }