From b9248c039eee2318129e128ad959c6f2e6e46846 Mon Sep 17 00:00:00 2001
From: linzhijie <19970921lzj>
Date: 星期一, 16 八月 2021 16:27:46 +0800
Subject: [PATCH] 1、事中提示语权限开关优化 2、分配用户搜索优化
---
src/main/java/com/ots/project/system/user/controller/UserController.java | 38 +++++++--
src/main/java/com/ots/project/system/user/mapper/UserMapper.java | 4 +
src/main/java/com/ots/project/system/role/mapper/RoleMapper.java | 4 +
src/main/java/com/ots/project/tool/PdfUtil.java | 24 +++++-
src/main/java/com/ots/project/system/user/service/IUserService.java | 3
pom.xml | 1
src/main/java/com/ots/project/system/user/mapper/UserRoleMapper.java | 2
src/main/java/com/ots/project/system/user/service/UserServiceImpl.java | 108 ++++++++++++++++++---------
8 files changed, 135 insertions(+), 49 deletions(-)
diff --git a/pom.xml b/pom.xml
index 7fd0b74..74c7c23 100644
--- a/pom.xml
+++ b/pom.xml
@@ -372,6 +372,7 @@
<version>1.1.6</version>
</dependency>
+ <!-- doc杞琾df -->
<dependency>
<groupId>com.aspose</groupId>
<artifactId>words</artifactId>
diff --git a/src/main/java/com/ots/project/system/role/mapper/RoleMapper.java b/src/main/java/com/ots/project/system/role/mapper/RoleMapper.java
index 44f5764..2fff5db 100644
--- a/src/main/java/com/ots/project/system/role/mapper/RoleMapper.java
+++ b/src/main/java/com/ots/project/system/role/mapper/RoleMapper.java
@@ -1,5 +1,7 @@
package com.ots.project.system.role.mapper;
import com.ots.project.system.role.domain.Role;
+import org.apache.ibatis.annotations.Param;
+
import java.util.List;
public interface RoleMapper {
@@ -21,4 +23,6 @@
public Role checkRoleNameUnique(String roleName);
public Role checkRoleKeyUnique(String roleKey);
+
+ Role selectByRoleKey(@Param("roleKey")String roleKey);
}
diff --git a/src/main/java/com/ots/project/system/user/controller/UserController.java b/src/main/java/com/ots/project/system/user/controller/UserController.java
index 19ece51..e8cbe44 100644
--- a/src/main/java/com/ots/project/system/user/controller/UserController.java
+++ b/src/main/java/com/ots/project/system/user/controller/UserController.java
@@ -1,4 +1,5 @@
package com.ots.project.system.user.controller;
+
import com.ots.common.constant.UserConstants;
import com.ots.common.enums.UserTypeEnum;
import com.ots.common.utils.StringUtils;
@@ -20,6 +21,7 @@
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
+
import java.util.List;
@Controller
@@ -32,25 +34,29 @@
private IRoleService roleService;
@Autowired
private IPostService postService;
+
@RequiresPermissions("system:user:view")
@GetMapping()
public String user() {
return prefix + "/user";
}
+
@RequiresPermissions("system:user:manager:view")
@GetMapping("/manager")
public String manager() {
return prefix + "/usermanager";
}
+
@RequiresPermissions("system:user:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(User user) {
startPage();
- user.setUserType(UserTypeEnum.SYS_USER.getUserType());
+ user.setUserType(UserTypeEnum.SYS_USER.getUserType());
List<User> list = userService.selectUserList(user);
return getDataTable(list);
}
+
@Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.EXPORT)
@RequiresPermissions("system:user:export")
@PostMapping("/export")
@@ -60,6 +66,7 @@
ExcelUtil<User> util = new ExcelUtil<User>(User.class);
return util.exportExcel(list, "鐢ㄦ埛鏁版嵁");
}
+
@Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.IMPORT)
@RequiresPermissions("system:user:import")
@PostMapping("/importData")
@@ -70,6 +77,7 @@
String message = userService.importUser(userList, updateSupport);
return AjaxResult.success(message);
}
+
@RequiresPermissions("system:user:view")
@GetMapping("/importTemplate")
@ResponseBody
@@ -77,14 +85,14 @@
ExcelUtil<User> util = new ExcelUtil<User>(User.class);
return util.importTemplateExcel("鐢ㄦ埛鏁版嵁");
}
-
+
@GetMapping("/add")
public String add(ModelMap mmap) {
mmap.put("roles", roleService.selectRoleAll());
mmap.put("posts", postService.selectPostAll());
return prefix + "/add";
}
-
+
@RequiresPermissions("system:user:add")
@Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.INSERT)
@PostMapping("/add")
@@ -99,7 +107,7 @@
}
return toAjax(userService.insertUser(user));
}
-
+
@GetMapping("/edit/{userId}")
public String edit(@PathVariable("userId") Long userId, ModelMap mmap) {
mmap.put("user", userService.selectUserById(userId));
@@ -107,7 +115,7 @@
mmap.put("posts", postService.selectPostsByUserId(userId));
return prefix + "/edit";
}
-
+
@RequiresPermissions("system:user:edit")
@Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@@ -122,6 +130,7 @@
}
return toAjax(userService.updateUser(user));
}
+
@RequiresPermissions("system:user:resetPwd")
@Log(title = "閲嶇疆瀵嗙爜", businessType = BusinessType.UPDATE)
@GetMapping("/resetPwd/{userId}")
@@ -129,6 +138,7 @@
mmap.put("user", userService.selectUserById(userId));
return prefix + "/resetPwd";
}
+
@RequiresPermissions("system:user:resetPwd")
@Log(title = "閲嶇疆瀵嗙爜", businessType = BusinessType.UPDATE)
@PostMapping("/resetPwd")
@@ -142,6 +152,7 @@
}
return error();
}
+
@RequiresPermissions("system:user:remove")
@Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.DELETE)
@PostMapping("/remove")
@@ -153,25 +164,25 @@
return error(e.getMessage());
}
}
-
+
@PostMapping("/checkLoginNameUnique")
@ResponseBody
public String checkLoginNameUnique(User user) {
return userService.checkLoginNameUnique(user.getLoginName());
}
-
+
@PostMapping("/checkPhoneUnique")
@ResponseBody
public String checkPhoneUnique(User user) {
return userService.checkPhoneUnique(user);
}
-
+
@PostMapping("/checkEmailUnique")
@ResponseBody
public String checkEmailUnique(User user) {
return userService.checkEmailUnique(user);
}
-
+
@Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.UPDATE)
@RequiresPermissions("system:user:edit")
@PostMapping("/changeStatus")
@@ -179,4 +190,13 @@
public AjaxResult changeStatus(User user) {
return toAjax(userService.changeStatus(user));
}
+
+ @Log(title = "浜嬩腑鎻愮ず璇巿鏉�", businessType = BusinessType.UPDATE)
+ @RequiresPermissions("system:user:hint:auth")
+ @GetMapping("/changeHintStatus")
+ @ResponseBody
+ public AjaxResult changeHintStatus(String userId,Integer type) {
+ //type 0鍙栨秷鎺堟潈 1鎺堟潈
+ return toAjax(userService.changeHintStatus(userId,type));
+ }
}
diff --git a/src/main/java/com/ots/project/system/user/mapper/UserMapper.java b/src/main/java/com/ots/project/system/user/mapper/UserMapper.java
index 42f17a4..0c1f3ec 100644
--- a/src/main/java/com/ots/project/system/user/mapper/UserMapper.java
+++ b/src/main/java/com/ots/project/system/user/mapper/UserMapper.java
@@ -1,6 +1,8 @@
package com.ots.project.system.user.mapper;
import com.ots.project.system.user.domain.User;
import org.apache.ibatis.annotations.Options;
+import org.apache.ibatis.annotations.Param;
+
import java.util.List;
public interface UserMapper {
@@ -33,4 +35,6 @@
User checkPhoneUnique(String phonenumber);
User checkEmailUnique(String email);
+
+ int updateHintState(@Param("userId")String userId,@Param("type") Integer type);
}
diff --git a/src/main/java/com/ots/project/system/user/mapper/UserRoleMapper.java b/src/main/java/com/ots/project/system/user/mapper/UserRoleMapper.java
index 6dfd82a..2d67f60 100644
--- a/src/main/java/com/ots/project/system/user/mapper/UserRoleMapper.java
+++ b/src/main/java/com/ots/project/system/user/mapper/UserRoleMapper.java
@@ -1,4 +1,5 @@
package com.ots.project.system.user.mapper;
+import com.ots.project.system.role.domain.Role;
import com.ots.project.system.user.domain.UserRole;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -16,4 +17,5 @@
public int deleteUserRoleInfo(UserRole userRole);
public int deleteUserRoleInfos(@Param("roleId") Long roleId, @Param("userIds") Long[] userIds);
+
}
diff --git a/src/main/java/com/ots/project/system/user/service/IUserService.java b/src/main/java/com/ots/project/system/user/service/IUserService.java
index d526c86..f44c767 100644
--- a/src/main/java/com/ots/project/system/user/service/IUserService.java
+++ b/src/main/java/com/ots/project/system/user/service/IUserService.java
@@ -44,4 +44,7 @@
String importUser(List<User> userList, Boolean isUpdateSupport);
int changeStatus(User user);
+
+ int changeHintStatus(String userId, Integer type);
+
}
diff --git a/src/main/java/com/ots/project/system/user/service/UserServiceImpl.java b/src/main/java/com/ots/project/system/user/service/UserServiceImpl.java
index 3ec9fbe..503473c 100644
--- a/src/main/java/com/ots/project/system/user/service/UserServiceImpl.java
+++ b/src/main/java/com/ots/project/system/user/service/UserServiceImpl.java
@@ -1,4 +1,5 @@
package com.ots.project.system.user.service;
+
import com.ots.common.constant.UserConstants;
import com.ots.common.exception.BusinessException;
import com.ots.common.utils.StringUtils;
@@ -22,6 +23,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+
import java.util.ArrayList;
import java.util.List;
@@ -42,57 +44,58 @@
private IConfigService configService;
@Autowired
private PasswordService passwordService;
-
+
@Override
@DataScope(deptAlias = "d", userAlias = "u")
public List<User> selectUserList(User user) {
-
+
return userMapper.selectUserList(user);
}
+
public List<User> selectUserList2(User user) {
-
+
return userMapper.selectUserList(user);
}
-
+
@DataScope(deptAlias = "d", userAlias = "u")
public List<User> selectAllocatedList(User user) {
return userMapper.selectAllocatedList(user);
}
-
+
@DataScope(deptAlias = "d", userAlias = "u")
public List<User> selectUnallocatedList(User user) {
return userMapper.selectUnallocatedList(user);
}
-
+
@Override
public User selectUserByLoginName(String userName) {
return userMapper.selectUserByLoginName(userName);
}
-
+
@Override
public User selectUserByPhoneNumber(String phoneNumber) {
return userMapper.selectUserByPhoneNumber(phoneNumber);
}
-
+
@Override
public User selectUserByEmail(String email) {
return userMapper.selectUserByEmail(email);
}
-
+
@Override
public User selectUserById(Long userId) {
return userMapper.selectUserById(userId);
}
-
+
@Override
public int deleteUserById(Long userId) {
-
+
userRoleMapper.deleteUserRoleByUserId(userId);
-
+
userPostMapper.deleteUserPostByUserId(userId);
return userMapper.deleteUserById(userId);
}
-
+
@Override
public int deleteUserByIds(String ids) throws BusinessException {
Long[] userIds = Convert.toLongArray(ids);
@@ -103,54 +106,54 @@
}
return userMapper.deleteUserByIds(userIds);
}
-
+
@Override
@Transactional
public int insertUser(User user) {
user.randomSalt();
user.setPassword(passwordService.encryptPassword(user.getLoginName(), user.getPassword(), user.getSalt()));
user.setCreateBy(ShiroUtils.getLoginName());
-
+
int rows = userMapper.insertUser(user);
-
+
insertUserPost(user);
-
+
insertUserRole(user);
return rows;
}
-
+
@Override
@Transactional
public int updateUser(User user) {
Long userId = user.getUserId();
user.setUpdateBy(ShiroUtils.getLoginName());
-
+
userRoleMapper.deleteUserRoleByUserId(userId);
-
+
insertUserRole(user);
-
+
userPostMapper.deleteUserPostByUserId(userId);
-
+
insertUserPost(user);
return userMapper.updateUser(user);
}
-
+
@Override
public int updateUserInfo(User user) {
return userMapper.updateUser(user);
}
-
+
@Override
public int resetUserPwd(User user) {
user.randomSalt();
user.setPassword(passwordService.encryptPassword(user.getLoginName(), user.getPassword(), user.getSalt()));
return updateUserInfo(user);
}
-
+
public void insertUserRole(User user) {
Long[] roles = user.getRoleIds();
if (StringUtils.isNotNull(roles)) {
-
+
List<UserRole> list = new ArrayList<UserRole>();
for (Long roleId : user.getRoleIds()) {
UserRole ur = new UserRole();
@@ -163,11 +166,11 @@
}
}
}
-
+
public void insertUserPost(User user) {
Long[] posts = user.getPostIds();
if (StringUtils.isNotNull(posts)) {
-
+
List<UserPost> list = new ArrayList<UserPost>();
for (Long postId : user.getPostIds()) {
UserPost up = new UserPost();
@@ -180,7 +183,7 @@
}
}
}
-
+
@Override
public String checkLoginNameUnique(String loginName) {
int count = userMapper.checkLoginNameUnique(loginName);
@@ -189,7 +192,7 @@
}
return UserConstants.USER_NAME_UNIQUE;
}
-
+
@Override
public String checkPhoneUnique(User user) {
Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
@@ -199,7 +202,7 @@
}
return UserConstants.USER_PHONE_UNIQUE;
}
-
+
@Override
public String checkEmailUnique(User user) {
Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
@@ -209,7 +212,7 @@
}
return UserConstants.USER_EMAIL_UNIQUE;
}
-
+
@Override
public String selectUserRoleGroup(Long userId) {
List<Role> list = roleMapper.selectRolesByUserId(userId);
@@ -222,7 +225,7 @@
}
return idsStr.toString();
}
-
+
@Override
public String selectUserPostGroup(Long userId) {
List<Post> list = postMapper.selectPostsByUserId(userId);
@@ -235,7 +238,7 @@
}
return idsStr.toString();
}
-
+
@Override
public String importUser(List<User> userList, Boolean isUpdateSupport) {
if (StringUtils.isNull(userList) || userList.size() == 0) {
@@ -249,7 +252,7 @@
String password = configService.selectConfigByKey("sys.user.initPassword");
for (User user : userList) {
try {
-
+
User u = userMapper.selectUserByLoginName(user.getLoginName());
if (StringUtils.isNull(u)) {
user.setPassword(password);
@@ -281,7 +284,7 @@
}
return successMsg.toString();
}
-
+
@Override
public int changeStatus(User user) {
if (User.isAdmin(user.getUserId())) {
@@ -289,4 +292,37 @@
}
return userMapper.updateUser(user);
}
+
+ @Override
+ public int changeHintStatus(String userId, Integer type) {
+ // type 0鍙栨秷鎺堟潈 1鎺堟潈
+ if(type == 0){
+ //鏌ヨ浜嬩腑鎻愮ず璇鐞嗗憳
+ Role role = roleMapper.selectByRoleKey("hint_common");
+ if(role != null && StringUtils.isNotEmpty(userId)){
+ //鏇存柊浜嬩腑鎻愮ず璇姸鎬�
+ userMapper.updateHintState(userId,type);
+
+ UserRole userRole = new UserRole();
+ userRole.setRoleId(role.getRoleId());
+ userRole.setUserId(Long.valueOf(userId));
+ return userRoleMapper.deleteUserRoleInfo(userRole);
+ }
+ }else if(type == 1){
+ //鏌ヨ浜嬩腑鎻愮ず璇鐞嗗憳
+ Role role = roleMapper.selectByRoleKey("hint_common");
+ List<UserRole> list = new ArrayList<UserRole>();
+ if(role != null && StringUtils.isNotEmpty(userId)){
+ //鏇存柊浜嬩腑鎻愮ず璇姸鎬�
+ userMapper.updateHintState(userId,type);
+
+ UserRole ur = new UserRole();
+ ur.setUserId(Long.valueOf(userId));
+ ur.setRoleId(role.getRoleId());
+ list.add(ur);
+ return userRoleMapper.batchUserRole(list);
+ }
+ }
+ return 0;
+ }
}
diff --git a/src/main/java/com/ots/project/tool/PdfUtil.java b/src/main/java/com/ots/project/tool/PdfUtil.java
index ff31931..7745ebd 100644
--- a/src/main/java/com/ots/project/tool/PdfUtil.java
+++ b/src/main/java/com/ots/project/tool/PdfUtil.java
@@ -1,23 +1,38 @@
package com.ots.project.tool;
-import com.aspose.words.Document;
-import com.aspose.words.SaveFormat;
+import com.aspose.words.*;
import lombok.extern.slf4j.Slf4j;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
@Slf4j
public class PdfUtil {
+ public static void setFont(){
+ String userfontsfoloder = "C:\\Users\\澶уご\\AppData\\Local\\Microsoft\\Windows\\Fonts\\";
+ log.info("font璺緞:{}",userfontsfoloder);
+ List<FontSourceBase> fontSources = new ArrayList(Arrays.asList(FontSettings.getDefaultInstance().getFontsSources()));
+ FolderFontSource folderFontSource = new FolderFontSource(userfontsfoloder,true);
+ fontSources.add(folderFontSource);
+ FontSourceBase[] fontSourceBases = fontSources.toArray(new FontSourceBase[fontSources.size()]);
+ FontSettings.getDefaultInstance().setFontsSources(fontSourceBases);
+ }
+
public static void convertPDF(String input){
try {
+ //setFont();
+ Document pres = null;
+ FontSettings.getDefaultInstance().setFontsFolder("C:\\Users\\澶уご\\AppData\\Local\\Microsoft\\Windows\\Fonts", true);
//鎵嬪姩鏇挎崲杈撳嚭pdf鍚嶇О
String output = input.replaceAll(".docx", ".pdf");
long old = System.currentTimeMillis();
FileInputStream fileInput = new FileInputStream(input);
- Document pres = new Document(fileInput);
+ pres = new Document(fileInput);
FileOutputStream out = new FileOutputStream(new File(output));
pres.save(out, SaveFormat.PDF);
out.close();
@@ -29,7 +44,8 @@
}
public static void main(String[] args) {
- convertPDF("D:\\娴嬭瘎绯荤粺\\home\\鏋梍PAQ_IA_CN.docx");
+ //convertPDF("D:\\娴嬭瘎绯荤粺\\home\\鏋梍PAQ_GS_TH.docx");
+ convertPDF("D:\\home\\PAQ绠�鏄撶増銆愭嘲鏂囥��.docx");
}
}
--
Gitblit v1.9.1