diff --git a/smtweb-framework/bpm/pom.xml b/smtweb-framework/bpm/pom.xml index ada91ac..68b215b 100644 --- a/smtweb-framework/bpm/pom.xml +++ b/smtweb-framework/bpm/pom.xml @@ -51,12 +51,12 @@ com.fasterxml.jackson.dataformat jackson-dataformat-yaml - 2.13.4 + com.fasterxml.jackson.dataformat jackson-dataformat-xml - 2.13.4 + diff --git a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/spring/controller/FileDownloadController.java b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/spring/controller/FileDownloadController.java index 6e3df50..c8401d6 100644 --- a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/spring/controller/FileDownloadController.java +++ b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/spring/controller/FileDownloadController.java @@ -38,10 +38,11 @@ public class FileDownloadController { @GetMapping("/fs/files/**") public ResponseEntity files(@RequestParam(value = "name", required = false) String name, @RequestParam(value = "noCache", required = false) Boolean noCache, + @RequestParam(value = "absolutePath", required = false) Boolean absolutePath, HttpServletRequest request ) throws FileNotFoundException { String filePath = request.getRequestURI().substring(10); - return download(filePath, name, noCache, request); + return download(filePath, name, noCache,absolutePath, request); } /** @@ -51,9 +52,10 @@ public class FileDownloadController { public ResponseEntity download(@RequestParam(value = "path") String path, @RequestParam(value = "name", required = false) String name, @RequestParam(value = "noCache", required = false) Boolean noCache, + @RequestParam(value = "absolutePath", required = false) Boolean absolutePath, HttpServletRequest request ) throws FileNotFoundException { - File file = new File(filePathGenerator.getFileDiskPath(path)); + File file = new File(absolutePath? path:filePathGenerator.getFileDiskPath(path)); if (!file.exists()) { return ResponseEntity.status(HttpStatus.NOT_FOUND).build(); diff --git a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/login/AuthService.java b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/login/AuthService.java index b3a3b07..1759cdf 100644 --- a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/login/AuthService.java +++ b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/login/AuthService.java @@ -14,10 +14,13 @@ import cc.smtweb.framework.core.db.DbEngine; import cc.smtweb.framework.core.exception.BizException; import cc.smtweb.framework.core.session.SessionManager; import cc.smtweb.framework.core.session.UserSession; +import cc.smtweb.framework.core.util.CommUtil; import cc.smtweb.system.bpm.web.sys.user.party.Party; import cc.smtweb.system.bpm.web.sys.user.party.PartyCache; +import cc.smtweb.system.bpm.web.sys.user.role.RoleCache; import cc.smtweb.system.bpm.web.sys.user.user.User; import cc.smtweb.system.bpm.web.sys.user.user.UserCache; +import cc.smtweb.system.bpm.web.sys.user.user.UserRoleCache; import lombok.extern.slf4j.Slf4j; import java.util.ArrayList; @@ -153,7 +156,39 @@ public class AuthService { CacheManager.getIntance().refresh(); return R.success(); } + // 加载个人信息 + public R userInfo(@SwBody SwMap params, UserSession us) { + SwMap data = new SwMap(); + + User user = (User) UserCache.getInstance().get(us.getUserId()).clone(); + user.setId(us.getUserId()); + user.put("create_time", user.getCreate()); + user.put("sur_party", PartyCache.getInstance().get(us.getPartyId())); + user.put("sur_roles", RoleCache.getInstance().getNamesByIds(UserRoleCache.getInstance().getRoleIdByUP(us.getUserId(), us.getPartyId()))); + data.put("userInfo", user); + return R.success(data); + } + // 修改个人信息 + public R saveUser(@SwBody SwMap params, UserSession us) { + SwMap userInfo = params.readMap("userInfo"); + User user = UserCache.getInstance().get(us.getUserId()); + user.getData().putAll(userInfo); + DbEngine.getInstance().findDao(User.ENTITY_NAME).updateEntity(user); + UserCache.getInstance().put(user); + return R.success(); + } + // 修改密码 + public R changePwd(@SwBody SwMap params, UserSession us) { + String old_pwd = params.readString("old_pwd"); + String new_pwd = params.readString("new_pwd"); + User user = UserCache.getInstance().get(us.getUserId()); + if (!LoginHelper.verifyPwd(user, old_pwd)) { + return R.error("旧密码错误"); + } + LoginHelper.resetUserPwd(user, new_pwd); + return R.success(); + } // 创建前端登录对象值对象 private LoginAckVO createLoginAckVO(User user,UserSession userSession){ LoginAckVO loginAckVO = new LoginAckVO(); diff --git a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/login/LoginHelper.java b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/login/LoginHelper.java index 148e233..005f7c5 100644 --- a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/login/LoginHelper.java +++ b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/login/LoginHelper.java @@ -165,6 +165,10 @@ public class LoginHelper { public static void checkPwdSecurity(String pwd) { } - - + // 重置密码 + public static void resetUserPwd(User user, String pwd) { + user.setPwd(LoginHelper.encodePwd(user.getId(), pwd)); + DbEngine.getInstance().findDao(User.ENTITY_NAME).updateEntity(user); + UserCache.getInstance().put(user); + } } diff --git a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/base/dict/DictService.java b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/base/dict/DictService.java index 15ab778..23d6f33 100644 --- a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/base/dict/DictService.java +++ b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/base/dict/DictService.java @@ -1,9 +1,18 @@ package cc.smtweb.system.bpm.web.sys.base.dict; +import cc.smtweb.framework.core.annotation.SwBody; import cc.smtweb.framework.core.annotation.SwService; +import cc.smtweb.framework.core.common.R; +import cc.smtweb.framework.core.common.SwMap; import cc.smtweb.framework.core.mvc.service.AbstractHandler; +import cc.smtweb.framework.core.session.UserSession; +import cc.smtweb.system.bpm.web.engine.dynPage.DynPageLoadHandler; import cc.smtweb.system.bpm.web.engine.dynPage.DynPageService; +import java.io.File; +import java.io.FileOutputStream; +import java.nio.charset.StandardCharsets; + /** * Created by 1 at 2022-07-28 09:23:54 * 页面【[数据字典]的服务类 @@ -19,5 +28,18 @@ public class DictService extends DynPageService { } return super.createHandler(type); } - + //新增 + public R exportExcel(@SwBody SwMap params, UserSession us) { + try { + File tempFile = File.createTempFile("xls_", ".txt", new File(System.getProperty("java.io.tmpdir"))); + FileOutputStream fs = new FileOutputStream(tempFile); + fs.write("flypht-唐海鹏".getBytes(StandardCharsets.UTF_8)); + SwMap swMap = new SwMap(); + swMap.put("fileName",tempFile.getName()); + swMap.put("filePath",tempFile.getAbsolutePath()); + return R.success(swMap); + }catch (Exception e){ + return R.error("导出失败!"); + } + } } diff --git a/smtweb-framework/bpm/src/main/resources/static/event/bpm/sys/base/dict/dictList.js b/smtweb-framework/bpm/src/main/resources/static/event/bpm/sys/base/dict/dictList.js index a0e46f8..2327a8a 100644 --- a/smtweb-framework/bpm/src/main/resources/static/event/bpm/sys/base/dict/dictList.js +++ b/smtweb-framework/bpm/src/main/resources/static/event/bpm/sys/base/dict/dictList.js @@ -14,9 +14,17 @@ window.$swEvent.setup("bpm.sys.base.dict.dictList", { const afterDelDict = () => { $api.loadOne("dictList"); }; + const exportExcel = () => { + $$http.post("bpm/dict/exportExcel").then( (rt) => { + console.info("exportExcel:",rt); + const url = $$http.downloadFileUrl(rt.data.filePath,rt.data.fileName,true); + $$http.downloadFile(url,{fileName: rt.data.fileName}); + }); + } return { afterDelDictType, afterDelDict, + exportExcel, } } });