From d647ebd92bed5925202ecca25f9b096f20e7b369 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=A3=E4=BA=9B=E8=8A=B1=E5=84=BF?= <1156921458@qq.com> Date: Mon, 11 Aug 2025 15:28:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=99=E4=BB=A3=E4=BC=9A=E6=9C=BA=E6=9E=84?= =?UTF-8?q?=E6=88=90=E5=91=98=E8=A7=92=E8=89=B2bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/zzjg/MechanismController.java | 42 +++++++++++---- .../commons/controller/BasicsController.java | 51 +++++++++++++++++++ 2 files changed, 82 insertions(+), 11 deletions(-) create mode 100644 src/main/java/io/v/nutz/web/commons/controller/BasicsController.java diff --git a/src/main/java/io/v/nutz/jdh/controller/zzjg/MechanismController.java b/src/main/java/io/v/nutz/jdh/controller/zzjg/MechanismController.java index ad1193b..ae7feda 100644 --- a/src/main/java/io/v/nutz/jdh/controller/zzjg/MechanismController.java +++ b/src/main/java/io/v/nutz/jdh/controller/zzjg/MechanismController.java @@ -321,18 +321,38 @@ public class MechanismController { @Aop(TransAop.READ_COMMITTED) @RequiresPermissions("sys.jdh.zzjg.mechanism") public Object updateSf(String jdhid, String userid, String jgid, Integer sf) { - Jdh_jgcy jgcy = jgcyViService.fetch(Cnd.where("jgid", "=", jgid).and("userid", "=", userid).and("jdhid", "=", jdhid)); - MechanismRolesEnum byId = MechanismRolesEnum.getById(jgid); - if (Lang.isNotEmpty(byId)) { - Chain surChain = Chain.make("roleid", getRoleId(sf, jgid)); - Cnd surCnd = Cnd.where("userid", "=", userid).and("roleid", "=", getRoleId(jgcy.getSf(), jgid)) - .and("jdhid", "=", jdhid); - sysUserRoleService.update(surChain, surCnd); - } - Chain cyChain = Chain.make("sf", sf); - jgcyViService.update(cyChain, Cnd.where("userid", "=", userid) - .and("jgid", "=", jgid)); + jgcy.setSf(sf); + jgcyViService.updateIgnoreNull(jgcy); + +// Jdh_jgcy jgcy = jgcyViService.fetch(Cnd.where("jgid", "=", jgid).and("userid", "=", userid).and("jdhid", "=", jdhid)); +// MechanismRolesEnum byId = MechanismRolesEnum.getById(jgid); +// if (Lang.isNotEmpty(byId)) { +// Chain surChain = Chain.make("roleid", getRoleId(sf, jgid)); +// Cnd surCnd = Cnd.where("userid", "=", userid).and("roleid", "=", getRoleId(jgcy.getSf(), jgid)) +// .and("jdhid", "=", jdhid); +// sysUserRoleService.update(surChain, surCnd); +// } +// Chain cyChain = Chain.make("sf", sf); +// jgcyViService.update(cyChain, Cnd.where("userid", "=", userid) +// .and("jgid", "=", jgid)); + + MechanismRolesEnum rolesEnum = MechanismRolesEnum.getById(jgid); + String directorRoleId = rolesEnum.getDirectorRoleId(); + String viceDirectorRoleId = rolesEnum.getViceDirectorRoleId(); + String committeeRoleId = rolesEnum.getCommitteeRoleId(); + + // 删除 + jgcyViService.dao().clear(Sys_user_role.class, Cnd.where("userId", "=", userid).and("roleId", "in", List.of(directorRoleId, viceDirectorRoleId, committeeRoleId)).and("jdhid", "=", jdhid)); + + // 新增 + String roleId = getRoleId(sf, jgid); + Sys_user_role userRole = new Sys_user_role(); + userRole.setRoleId(roleId); + userRole.setJdhid(jdhid); + userRole.setUserId(userid); + jgcyViService.dao().insert(userRole); + sysUserService.clearCache(); sysRoleService.clearCache(); return Result.success(); diff --git a/src/main/java/io/v/nutz/web/commons/controller/BasicsController.java b/src/main/java/io/v/nutz/web/commons/controller/BasicsController.java new file mode 100644 index 0000000..7249e47 --- /dev/null +++ b/src/main/java/io/v/nutz/web/commons/controller/BasicsController.java @@ -0,0 +1,51 @@ +package io.v.nutz.web.commons.controller; + +import org.apache.commons.io.IOUtils; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.log.Log; +import org.nutz.log.Logs; +import org.nutz.mvc.annotation.At; +import org.nutz.mvc.annotation.Ok; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.InputStream; +import java.net.URLEncoder; + +/** + * @Author: 1V + * @DateTime: 2020/12/3 8:50 + * @Description: TODO + */ +@At("/platform/basics") +@IocBean +@Ok("json") +public class BasicsController { + private static final Log log = Logs.get(); + + private final String TEMPLATE_PATH = "templates"; + + /** + * 下载模板文件 + * + * @param filePath + * @param fileName + * @param response + */ + @At + public void downloadTemplate(String filePath, String fileName, HttpServletResponse response) throws IOException { + try { + response.setHeader("Content-Disposition", "attachment;filename=" + .concat(String.valueOf(URLEncoder.encode(fileName, "UTF-8")))); + + if (filePath.startsWith("/")) { + filePath = filePath.substring(1); + } + InputStream fin = Thread.currentThread().getContextClassLoader().getResourceAsStream(TEMPLATE_PATH + "/" + filePath); + + IOUtils.copy(fin, response.getOutputStream()); + } catch (Exception e) { + log.error(e); + } + } +}