From 07e115520126d32ddd78a2b3a030e8c552a90007 Mon Sep 17 00:00:00 2001 From: FLYPHT <1035748121@qq.com> Date: Sat, 17 Sep 2022 16:51:31 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=E5=BD=93=E5=89=8D=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E3=80=81=E4=BF=AE=E6=94=B9=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E3=80=81=E4=BF=AE=E6=94=B9=E5=AF=86=E7=A0=81=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../smtweb/system/bpm/web/login/AuthService.java | 35 ++++++++++++++++++++++ .../smtweb/system/bpm/web/login/LoginHelper.java | 8 +++-- 2 files changed, 41 insertions(+), 2 deletions(-) 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); + } } From 7412b917b674d2d541acae9f4333acbb5b1c5033 Mon Sep 17 00:00:00 2001 From: FLYPHT <1035748121@qq.com> Date: Sat, 17 Sep 2022 20:13:11 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9A=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../spring/controller/FileDownloadController.java | 6 ++++-- .../system/bpm/web/sys/base/dict/DictService.java | 24 +++++++++++++++++++++- .../static/event/bpm/sys/base/dict/dictList.js | 8 ++++++++ 3 files changed, 35 insertions(+), 3 deletions(-) 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/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, } } }); From 293be2fd8f68f541fed5117c8c073067104586ef Mon Sep 17 00:00:00 2001 From: zhenggm Date: Sun, 18 Sep 2022 18:49:49 +0800 Subject: [PATCH 3/3] =?UTF-8?q?jackson=E4=B8=8D=E8=83=BD=E6=8C=87=E5=AE=9A?= =?UTF-8?q?=E7=89=88=E6=9C=AC=EF=BC=8C=E5=90=A6=E5=88=99=E5=92=8Cspring=20?= =?UTF-8?q?boot=E5=86=B2=E7=AA=81=EF=BC=8Cspring-starter-web=E4=BE=9D?= =?UTF-8?q?=E8=B5=962.12.5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- smtweb-framework/bpm/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 +