From 1123d12eb51d23edcd4a39660ef8cd47802b931d Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: Tue, 30 Jan 2024 11:06:32 +0800
Subject: [PATCH] change config
---
src/main/java/com/nanometer/smartlab/controller/UserMngController.java | 73 ++++++++++++++++++++++++++++++++++--
1 files changed, 68 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java
index 03b33ba..d8dfaf3 100644
--- a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java
@@ -8,14 +8,12 @@
import com.nanometer.smartlab.entity.enumtype.SeeFlag;
import com.nanometer.smartlab.entity.enumtype.ValidFlag;
import com.nanometer.smartlab.entity.enumtype.Waster;
+import com.nanometer.smartlab.realm.ShiroDbRealm;
import com.nanometer.smartlab.service.BaseMetaService;
import com.nanometer.smartlab.service.BaseRoleService;
import com.nanometer.smartlab.service.SysProjectService;
import com.nanometer.smartlab.service.SysUserService;
-import com.nanometer.smartlab.util.Constants;
-import com.nanometer.smartlab.util.FacesUtils;
-import com.nanometer.smartlab.util.IDUtils;
-import com.nanometer.smartlab.util.MD5Utils;
+import com.nanometer.smartlab.util.*;
import org.apache.log4j.Logger;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Row;
@@ -27,11 +25,15 @@
import org.primefaces.model.LazyDataModel;
import org.primefaces.model.SortOrder;
import org.primefaces.model.UploadedFile;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import javax.annotation.Resource;
+import java.io.File;
+import java.io.FileOutputStream;
import java.io.InputStream;
+import java.io.OutputStream;
import java.math.BigDecimal;
import java.nio.charset.CharacterCodingException;
import java.security.NoSuchAlgorithmException;
@@ -54,6 +56,9 @@
private BaseRoleService baseRoleService;
@Resource
private SysProjectService sysProjectService;
+
+ @Value("${personImgPath}")
+ private String personImgPath;
private LazyDataModel<SysUser> dataModel;
private SysUser sysUser;
@@ -539,6 +544,8 @@
sysUser.setPassword(MD5Utils.encode(sysUser.getPassword()));
}
this.sysUserService.updateSysUser(sysUser);
+ ShiroDbRealm shiroDbRealm= SpringUtil.getBean("authorizationRealm",ShiroDbRealm.class);
+ shiroDbRealm.removeUserCache(sysUser.getAccount());
FacesUtils.info("修改成功。");
RequestContext.getCurrentInstance().execute("PF('dialog').hide()");
@@ -566,6 +573,57 @@
}
}
+ // 文件上传
+ public void handleImageUpload(FileUploadEvent event) {
+ UploadedFile file = event.getFile();
+ try {
+ // 1.上传文件
+ InputStream is = file.getInputstream();
+ String oldName = file.getFileName();
+ String newName = new Date().getTime() + oldName.substring(oldName.lastIndexOf("."));
+ String realPath = personImgPath;
+ File dest = new File(realPath, newName);
+ if (!dest.getParentFile().exists()) {
+ boolean rel = dest.getParentFile().mkdirs();
+ if (!rel) {
+ throw new Exception("文件夹创建失败");
+ }
+ }
+
+ OutputStream os = new FileOutputStream(dest);
+ try {
+ byte[] buffer = new byte[8 * 1024];
+ int bytesRead;
+ while ((bytesRead = is.read(buffer)) != -1) {
+ os.write(buffer, 0, bytesRead);
+ }
+ // 更新用户url
+ sysUser.setUrl("upload/upload/" + newName);
+ // 清空图片文件以便再次上传
+ RequestContext.getCurrentInstance().update("dialogForm2");
+ // 更新用户表单
+ RequestContext.getCurrentInstance().update("dialogForm");
+ // 隐藏上传框
+ RequestContext.getCurrentInstance().execute("PF('imgDialog').hide()");
+
+ } catch (Exception e) {
+ FacesUtils.warn("文件上传失败。");
+ throw e;
+ } finally {
+ if (is != null) {
+ is.close();
+ }
+ if (os != null) {
+ os.close();
+ }
+ }
+
+ } catch (Exception e) {
+ FacesUtils.warn("操作失败。");
+ return;
+ }
+ }
+
public void initPage() {
sysUser = sysUserService.getSysUser(getUser().getId());
@@ -573,7 +631,11 @@
}
public boolean isAccess(String info) {
String permission = role.getBtnPermission();
- return permission.contains(info);
+ if(StringUtils.isEmpty(permission)){
+ return true;
+ }else{
+ return permission.contains(info);
+ }
}
public LazyDataModel<SysUser> getDataModel() {
@@ -585,6 +647,7 @@
try {
//做可见人员过滤
String userPermission = role.getUserPermission();
+ userPermission="11";
if (userPermission.contains("自己")) {
list = Collections.singletonList(sysUserService.getSysUser(UserMngController.this.sysUser.getId()));
this.setRowCount(1);
--
Gitblit v1.9.2