style(java): 统一Springboot3版本代码格式化和优化依赖配置
This commit is contained in:
+7
-13
@@ -36,10 +36,10 @@ import cn.odboy.util.KitRsaEncryptUtil;
|
||||
import com.wf.captcha.base.Captcha;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
@@ -62,18 +62,12 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@Api(tags = "系统:系统授权接口")
|
||||
public class SystemAuthController {
|
||||
|
||||
@Autowired
|
||||
private KitRedisHelper redisHelper;
|
||||
@Autowired
|
||||
private SystemUserOnlineInfoDAO systemUserOnlineInfoDAO;
|
||||
@Autowired
|
||||
private TokenProvider tokenProvider;
|
||||
@Autowired
|
||||
private AppProperties properties;
|
||||
@Autowired
|
||||
private PasswordEncoder passwordEncoder;
|
||||
@Autowired
|
||||
private UserDetailsHandler userDetailsService;
|
||||
@Autowired private KitRedisHelper redisHelper;
|
||||
@Autowired private SystemUserOnlineInfoDAO systemUserOnlineInfoDAO;
|
||||
@Autowired private TokenProvider tokenProvider;
|
||||
@Autowired private AppProperties properties;
|
||||
@Autowired private PasswordEncoder passwordEncoder;
|
||||
@Autowired private UserDetailsHandler userDetailsService;
|
||||
|
||||
@ApiOperation("登录授权")
|
||||
@AnonymousPostMapping(value = "/login")
|
||||
|
||||
+1
-2
@@ -35,8 +35,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@Api(tags = "系统:验证码管理")
|
||||
public class SystemCaptchaController {
|
||||
|
||||
@Autowired
|
||||
private SystemEmailService systemEmailService;
|
||||
@Autowired private SystemEmailService systemEmailService;
|
||||
|
||||
@ApiOperation("重置邮箱, 发送验证码")
|
||||
@PostMapping(value = "/sendResetEmailCaptcha")
|
||||
|
||||
+1
-2
@@ -30,8 +30,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@RequestMapping("/api/component")
|
||||
public class SystemComponentController {
|
||||
|
||||
@Autowired
|
||||
private SystemDeptService systemDeptService;
|
||||
@Autowired private SystemDeptService systemDeptService;
|
||||
|
||||
@ApiOperation("查询部门下拉选择数据源")
|
||||
@PostMapping(value = "/queryDeptSelectDataSource")
|
||||
|
||||
+9
-30
@@ -24,12 +24,9 @@ import cn.odboy.system.service.SystemDeptService;
|
||||
import cn.odboy.util.KitPageUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashSet;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
@@ -46,23 +43,22 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@RequestMapping("/api/dept")
|
||||
public class SystemDeptController {
|
||||
|
||||
@Autowired
|
||||
private SystemDeptService systemDeptService;
|
||||
@Autowired private SystemDeptService systemDeptService;
|
||||
|
||||
@ApiOperation("导出部门数据")
|
||||
@GetMapping(value = "/download")
|
||||
@PreAuthorize("@el.check('dept:list')")
|
||||
public void exportDept(HttpServletResponse response, SystemQueryDeptArgs criteria) throws Exception {
|
||||
systemDeptService.exportDeptExcel(systemDeptService.queryAllDept(criteria, false), response);
|
||||
public void exportDept(HttpServletResponse response, SystemQueryDeptArgs args) throws Exception {
|
||||
systemDeptService.exportDeptExcel(systemDeptService.queryAllDeptByArgs(args, false), response);
|
||||
}
|
||||
|
||||
@ApiOperation("查询部门")
|
||||
@PostMapping
|
||||
@PreAuthorize("@el.check('user:list','dept:list')")
|
||||
public ResponseEntity<KitPageResult<SystemDeptTb>> queryDept(
|
||||
@Validated @RequestBody KitPageArgs<SystemQueryDeptArgs> args) throws Exception {
|
||||
SystemQueryDeptArgs criteria = args.getArgs();
|
||||
List<SystemDeptTb> depts = systemDeptService.queryAllDept(criteria, true);
|
||||
@Validated @RequestBody KitPageArgs<SystemQueryDeptArgs> pageArgs) throws Exception {
|
||||
SystemQueryDeptArgs args = pageArgs.getArgs();
|
||||
List<SystemDeptTb> depts = systemDeptService.queryAllDeptByArgs(args, true);
|
||||
return ResponseEntity.ok(KitPageUtil.toPage(depts));
|
||||
}
|
||||
|
||||
@@ -71,24 +67,7 @@ public class SystemDeptController {
|
||||
@PreAuthorize("@el.check('user:list','dept:list')")
|
||||
public ResponseEntity<KitPageResult<SystemDeptTb>> queryDeptSuperiorTree(@RequestBody List<Long> ids,
|
||||
@RequestParam(defaultValue = "false") Boolean exclude) {
|
||||
Set<SystemDeptTb> deptSet = new LinkedHashSet<>();
|
||||
for (Long id : ids) {
|
||||
// 同级数据
|
||||
SystemDeptTb dept = systemDeptService.getDeptById(id);
|
||||
// 上级数据
|
||||
List<SystemDeptTb> depts = systemDeptService.querySuperiorDeptListByPid(dept, new ArrayList<>());
|
||||
if (exclude) {
|
||||
for (SystemDeptTb data : depts) {
|
||||
if (data.getId().equals(dept.getPid())) {
|
||||
data.setSubCount(data.getSubCount() - 1);
|
||||
}
|
||||
}
|
||||
// 编辑部门时不显示自己以及自己下级的数据, 避免出现PID数据环形问题
|
||||
depts = depts.stream().filter(i -> !ids.contains(i.getId())).collect(Collectors.toList());
|
||||
}
|
||||
deptSet.addAll(depts);
|
||||
}
|
||||
return ResponseEntity.ok(systemDeptService.buildDeptTree(new ArrayList<>(deptSet)));
|
||||
return ResponseEntity.ok(systemDeptService.searchDeptTree(ids, exclude));
|
||||
}
|
||||
|
||||
@ApiOperation("新增部门")
|
||||
@@ -115,7 +94,7 @@ public class SystemDeptController {
|
||||
Set<SystemDeptTb> depts = systemDeptService.traverseDeptByIdWithPids(ids);
|
||||
// 验证是否被角色或用户关联
|
||||
systemDeptService.verifyBindRelationByIds(depts);
|
||||
systemDeptService.removeDeptByIds(depts);
|
||||
systemDeptService.deleteDeptByIds(depts);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
}
|
||||
|
||||
+10
-16
@@ -24,10 +24,10 @@ import cn.odboy.system.service.SystemDictService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
@@ -43,14 +43,13 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@RequestMapping("/api/dict")
|
||||
public class SystemDictController {
|
||||
|
||||
@Autowired
|
||||
private SystemDictService systemDictService;
|
||||
@Autowired private SystemDictService systemDictService;
|
||||
|
||||
@ApiOperation("导出字典数据")
|
||||
@GetMapping(value = "/download")
|
||||
@PreAuthorize("@el.check('dict:list')")
|
||||
public void exportDict(HttpServletResponse response, SystemQueryDictArgs criteria) throws IOException {
|
||||
systemDictService.exportDictExcel(systemDictService.queryDictByArgs(criteria), response);
|
||||
public void exportDict(HttpServletResponse response, SystemQueryDictArgs args) throws IOException {
|
||||
systemDictService.exportDictExcel(systemDictService.queryDictByArgs(args), response);
|
||||
}
|
||||
|
||||
@ApiOperation("查询字典")
|
||||
@@ -64,15 +63,10 @@ public class SystemDictController {
|
||||
@PostMapping
|
||||
@PreAuthorize("@el.check('dict:list')")
|
||||
public ResponseEntity<KitPageResult<SystemDictTb>> queryDictByArgs(
|
||||
@Validated @RequestBody KitPageArgs<SystemQueryDictArgs> args) {
|
||||
Page<SystemDictTb> page;
|
||||
SystemQueryDictArgs criteria = args.getArgs();
|
||||
if (args.getSize() != null) {
|
||||
page = new Page<>(args.getPage(), args.getSize());
|
||||
} else {
|
||||
page = new Page<>(criteria.getPage(), criteria.getSize());
|
||||
}
|
||||
return ResponseEntity.ok(systemDictService.queryDictByArgs(criteria, page));
|
||||
@Validated @RequestBody KitPageArgs<SystemQueryDictArgs> pageArgs) {
|
||||
Page<SystemDictTb> page = new Page<>(pageArgs.getPage(), pageArgs.getSize());
|
||||
SystemQueryDictArgs args = pageArgs.getArgs();
|
||||
return ResponseEntity.ok(systemDictService.searchDict(args, page));
|
||||
}
|
||||
|
||||
@ApiOperation("新增字典")
|
||||
@@ -87,7 +81,7 @@ public class SystemDictController {
|
||||
@PostMapping(value = "/modifyDictById")
|
||||
@PreAuthorize("@el.check('dict:edit')")
|
||||
public ResponseEntity<Void> modifyDictById(@Validated(SystemDictTb.Update.class) @RequestBody SystemDictTb args) {
|
||||
systemDictService.modifyDictById(args);
|
||||
systemDictService.updateDictById(args);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
@@ -95,7 +89,7 @@ public class SystemDictController {
|
||||
@PostMapping(value = "/removeDictByIds")
|
||||
@PreAuthorize("@el.check('dict:del')")
|
||||
public ResponseEntity<Void> removeDictByIds(@RequestBody Set<Long> ids) {
|
||||
systemDictService.removeDictByIds(ids);
|
||||
systemDictService.deleteDictByIds(ids);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
}
|
||||
|
||||
+8
-9
@@ -44,8 +44,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@RequestMapping("/api/dictDetail")
|
||||
public class SystemDictDetailController {
|
||||
|
||||
@Autowired
|
||||
private SystemDictDetailService systemDictDetailService;
|
||||
@Autowired private SystemDictDetailService systemDictDetailService;
|
||||
|
||||
@ApiOperation("查询字典详情")
|
||||
@PostMapping
|
||||
@@ -57,10 +56,10 @@ public class SystemDictDetailController {
|
||||
@ApiOperation("查询字典详情")
|
||||
@PostMapping(value = "/queryDictDetailByArgs")
|
||||
public ResponseEntity<KitPageResult<SystemDictDetailVo>> queryDictDetailByArgs(
|
||||
@Validated @RequestBody KitPageArgs<SystemQueryDictDetailArgs> args) {
|
||||
SystemQueryDictDetailArgs criteria = args.getArgs();
|
||||
Page<SystemDictDetailTb> page = new Page<>(args.getPage(), args.getSize());
|
||||
return ResponseEntity.ok(systemDictDetailService.queryDictDetailByArgs(criteria, page));
|
||||
@Validated @RequestBody KitPageArgs<SystemQueryDictDetailArgs> pageArgs) {
|
||||
SystemQueryDictDetailArgs args = pageArgs.getArgs();
|
||||
Page<SystemDictDetailTb> page = new Page<>(pageArgs.getPage(), pageArgs.getSize());
|
||||
return ResponseEntity.ok(systemDictDetailService.searchDictDetail(args, page));
|
||||
}
|
||||
|
||||
@ApiOperation("查询多个字典详情")
|
||||
@@ -69,7 +68,7 @@ public class SystemDictDetailController {
|
||||
String[] names = dictName.split("[,, ]");
|
||||
Map<String, List<SystemDictDetailVo>> dictMap = new HashMap<>(16);
|
||||
for (String name : names) {
|
||||
dictMap.put(name, systemDictDetailService.queryDictDetailByName(name));
|
||||
dictMap.put(name, systemDictDetailService.listDictDetailByName(name));
|
||||
}
|
||||
return ResponseEntity.ok(dictMap);
|
||||
}
|
||||
@@ -87,7 +86,7 @@ public class SystemDictDetailController {
|
||||
@PreAuthorize("@el.check('dict:edit')")
|
||||
public ResponseEntity<Void> modifyDictDetailById(
|
||||
@Validated(SystemDictDetailTb.Update.class) @RequestBody SystemDictDetailTb args) {
|
||||
systemDictDetailService.modifyDictDetailById(args);
|
||||
systemDictDetailService.updateDictDetailById(args);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
@@ -95,7 +94,7 @@ public class SystemDictDetailController {
|
||||
@PostMapping(value = "/removeDictDetailById")
|
||||
@PreAuthorize("@el.check('dict:del')")
|
||||
public ResponseEntity<Void> removeDictDetailById(@RequestBody SystemDictDetailTb args) {
|
||||
systemDictDetailService.removeDictDetailById(args.getId());
|
||||
systemDictDetailService.deleteDictDetailById(args.getId());
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
}
|
||||
|
||||
+2
-3
@@ -36,8 +36,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@Api(tags = "工具:邮件管理")
|
||||
public class SystemEmailController {
|
||||
|
||||
@Autowired
|
||||
private SystemEmailService systemEmailService;
|
||||
@Autowired private SystemEmailService systemEmailService;
|
||||
|
||||
@ApiOperation("查询配置")
|
||||
@PostMapping(value = "/getLastEmailConfig")
|
||||
@@ -49,7 +48,7 @@ public class SystemEmailController {
|
||||
@PostMapping(value = "/modifyEmailConfig")
|
||||
public ResponseEntity<Void> modifyEmailConfig(@Validated @RequestBody SystemEmailConfigTb emailConfig)
|
||||
throws Exception {
|
||||
systemEmailService.modifyEmailConfig(emailConfig);
|
||||
systemEmailService.updateEmailConfigById(emailConfig);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
|
||||
+10
-11
@@ -24,9 +24,9 @@ import cn.odboy.system.service.SystemJobService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.Set;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
@@ -42,24 +42,23 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@RequestMapping("/api/job")
|
||||
public class SystemJobController {
|
||||
|
||||
@Autowired
|
||||
private SystemJobService systemJobService;
|
||||
@Autowired private SystemJobService systemJobService;
|
||||
|
||||
@ApiOperation("导出岗位数据")
|
||||
@GetMapping(value = "/download")
|
||||
@PreAuthorize("@el.check('job:list')")
|
||||
public void exportJob(HttpServletResponse response, SystemQueryJobArgs criteria) throws IOException {
|
||||
systemJobService.exportJobExcel(systemJobService.queryJobByArgs(criteria), response);
|
||||
public void exportJob(HttpServletResponse response, SystemQueryJobArgs args) throws IOException {
|
||||
systemJobService.exportJobExcel(systemJobService.queryJobByArgs(args), response);
|
||||
}
|
||||
|
||||
@ApiOperation("查询岗位")
|
||||
@PostMapping(value = "/queryAllEnableJob")
|
||||
@PreAuthorize("@el.check('job:list','user:list')")
|
||||
public ResponseEntity<KitPageResult<SystemJobTb>> queryJobByArgs(
|
||||
@Validated @RequestBody KitPageArgs<SystemQueryJobArgs> args) {
|
||||
SystemQueryJobArgs criteria = args.getArgs();
|
||||
Page<SystemJobTb> page = new Page<>(criteria.getPage(), criteria.getSize());
|
||||
return ResponseEntity.ok(systemJobService.queryJobByArgs(criteria, page));
|
||||
@Validated @RequestBody KitPageArgs<SystemQueryJobArgs> pageArgs) {
|
||||
SystemQueryJobArgs args = pageArgs.getArgs();
|
||||
Page<SystemJobTb> page = new Page<>(args.getPage(), args.getSize());
|
||||
return ResponseEntity.ok(systemJobService.searchJobByArgs(args, page));
|
||||
}
|
||||
|
||||
@ApiOperation("查询岗位")
|
||||
@@ -82,7 +81,7 @@ public class SystemJobController {
|
||||
@PostMapping(value = "/modifyJobById")
|
||||
@PreAuthorize("@el.check('job:edit')")
|
||||
public ResponseEntity<Void> modifyJobById(@Validated(SystemJobTb.Update.class) @RequestBody SystemJobTb args) {
|
||||
systemJobService.modifyJobById(args);
|
||||
systemJobService.updateJobById(args);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
@@ -92,7 +91,7 @@ public class SystemJobController {
|
||||
public ResponseEntity<Void> removeJobByIds(@RequestBody Set<Long> ids) {
|
||||
// 验证是否被用户关联
|
||||
systemJobService.verifyBindRelationByIds(ids);
|
||||
systemJobService.removeJobByIds(ids);
|
||||
systemJobService.deleteJobByIds(ids);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
}
|
||||
|
||||
+10
-11
@@ -26,8 +26,8 @@ import cn.odboy.util.KitFileUtil;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import java.io.IOException;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
@@ -45,24 +45,23 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
@RequestMapping("/api/localStorage")
|
||||
public class SystemLocalStorageController {
|
||||
|
||||
@Autowired
|
||||
private SystemLocalStorageService localStorageService;
|
||||
@Autowired private SystemLocalStorageService localStorageService;
|
||||
|
||||
@ApiOperation("查询文件")
|
||||
@PostMapping
|
||||
@PreAuthorize("@el.check('storage:list')")
|
||||
public ResponseEntity<KitPageResult<SystemLocalStorageTb>> queryLocalStorage(
|
||||
@Validated @RequestBody KitPageArgs<SystemQueryStorageArgs> args) {
|
||||
SystemQueryStorageArgs criteria = args.getArgs();
|
||||
Page<SystemLocalStorageTb> page = new Page<>(criteria.getPage(), criteria.getSize());
|
||||
return ResponseEntity.ok(localStorageService.queryLocalStorage(criteria, page));
|
||||
@Validated @RequestBody KitPageArgs<SystemQueryStorageArgs> pageArgs) {
|
||||
SystemQueryStorageArgs args = pageArgs.getArgs();
|
||||
Page<SystemLocalStorageTb> page = new Page<>(args.getPage(), args.getSize());
|
||||
return ResponseEntity.ok(localStorageService.searchLocalStorage(args, page));
|
||||
}
|
||||
|
||||
@ApiOperation("导出数据")
|
||||
@GetMapping(value = "/download")
|
||||
@PreAuthorize("@el.check('storage:list')")
|
||||
public void exportFile(HttpServletResponse response, SystemQueryStorageArgs criteria) throws IOException {
|
||||
localStorageService.exportLocalStorageExcel(localStorageService.queryLocalStorage(criteria), response);
|
||||
public void exportFile(HttpServletResponse response, SystemQueryStorageArgs args) throws IOException {
|
||||
localStorageService.exportLocalStorageExcel(localStorageService.queryLocalStorageByArgs(args), response);
|
||||
}
|
||||
|
||||
@ApiOperation("上传文件")
|
||||
@@ -89,14 +88,14 @@ public class SystemLocalStorageController {
|
||||
@PostMapping(value = "/modifyLocalStorageById")
|
||||
@PreAuthorize("@el.check('storage:edit')")
|
||||
public ResponseEntity<Void> modifyLocalStorageById(@Validated @RequestBody SystemLocalStorageTb args) {
|
||||
localStorageService.modifyLocalStorageById(args);
|
||||
localStorageService.updateLocalStorageById(args);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
@ApiOperation("多选删除")
|
||||
@PostMapping(value = "/removeFileByIds")
|
||||
public ResponseEntity<Void> deleteFileByIds(@RequestBody Long[] ids) {
|
||||
localStorageService.removeFileByIds(ids);
|
||||
localStorageService.deleteFileByIds(ids);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
}
|
||||
|
||||
+17
-19
@@ -28,13 +28,13 @@ import cn.odboy.system.service.SystemMenuService;
|
||||
import cn.odboy.util.KitPageUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
@@ -51,22 +51,20 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@RequestMapping("/api/menu")
|
||||
public class SystemMenuController {
|
||||
|
||||
@Autowired
|
||||
private SystemMenuService systemMenuService;
|
||||
@Autowired
|
||||
private SystemMenuMapper systemMenuMapper;
|
||||
@Autowired private SystemMenuService systemMenuService;
|
||||
@Autowired private SystemMenuMapper systemMenuMapper;
|
||||
|
||||
@ApiOperation("导出菜单数据")
|
||||
@GetMapping(value = "/download")
|
||||
@PreAuthorize("@el.check('menu:list')")
|
||||
public void exportMenu(HttpServletResponse response, SystemQueryMenuArgs criteria) throws Exception {
|
||||
systemMenuService.exportMenuExcel(systemMenuService.queryAllMenu(criteria, false), response);
|
||||
public void exportMenu(HttpServletResponse response, SystemQueryMenuArgs args) throws Exception {
|
||||
systemMenuService.exportMenuExcel(systemMenuService.queryAllMenu(args, false), response);
|
||||
}
|
||||
|
||||
@PostMapping(value = "/buildMenus")
|
||||
@ApiOperation("获取前端所需菜单")
|
||||
public ResponseEntity<List<SystemMenuVo>> buildMenus() {
|
||||
List<SystemMenuTb> menuList = systemMenuService.queryMenuListByUserId(KitSecurityHelper.getCurrentUserId());
|
||||
List<SystemMenuTb> menuList = systemMenuService.listMenuByUserId(KitSecurityHelper.getCurrentUserId());
|
||||
List<SystemMenuTb> menus = systemMenuService.buildMenuTree(menuList);
|
||||
return ResponseEntity.ok(systemMenuService.buildMenuVo(menus));
|
||||
}
|
||||
@@ -75,7 +73,7 @@ public class SystemMenuController {
|
||||
@PostMapping(value = "/queryMenuListByPid")
|
||||
@PreAuthorize("@el.check('menu:list','roles:list')")
|
||||
public ResponseEntity<List<SystemMenuTb>> queryMenuListByPid(@RequestParam Long pid) {
|
||||
return ResponseEntity.ok(systemMenuService.queryMenuByPid(pid));
|
||||
return ResponseEntity.ok(systemMenuService.listMenuByPid(pid));
|
||||
}
|
||||
|
||||
@ApiOperation("根据菜单ID返回所有子节点ID, 包含自身ID")
|
||||
@@ -83,9 +81,9 @@ public class SystemMenuController {
|
||||
@PreAuthorize("@el.check('menu:list','roles:list')")
|
||||
public ResponseEntity<Set<Long>> queryChildMenuSet(@RequestParam Long id) {
|
||||
Set<SystemMenuTb> menuSet = new HashSet<>();
|
||||
List<SystemMenuTb> menuList = systemMenuService.queryMenuByPid(id);
|
||||
List<SystemMenuTb> menuList = systemMenuService.listMenuByPid(id);
|
||||
menuSet.add(systemMenuMapper.selectById(id));
|
||||
menuSet = systemMenuService.queryChildMenu(menuList, menuSet);
|
||||
menuSet = systemMenuService.queryChildMenuByArgs(menuList, menuSet);
|
||||
Set<Long> ids = menuSet.stream().map(SystemMenuTb::getId).collect(Collectors.toSet());
|
||||
return ResponseEntity.ok(ids);
|
||||
}
|
||||
@@ -102,9 +100,9 @@ public class SystemMenuController {
|
||||
@ApiOperation("查询菜单")
|
||||
@PreAuthorize("@el.check('menu:list')")
|
||||
public ResponseEntity<KitPageResult<SystemMenuTb>> queryAllMenu(
|
||||
@Validated @RequestBody KitPageArgs<SystemQueryMenuArgs> args) throws Exception {
|
||||
SystemQueryMenuArgs criteria = args.getArgs();
|
||||
List<SystemMenuTb> menuList = systemMenuService.queryAllMenu(criteria, true);
|
||||
@Validated @RequestBody KitPageArgs<SystemQueryMenuArgs> pageArgs) throws Exception {
|
||||
SystemQueryMenuArgs args = pageArgs.getArgs();
|
||||
List<SystemMenuTb> menuList = systemMenuService.queryAllMenu(args, true);
|
||||
return ResponseEntity.ok(KitPageUtil.toPage(menuList));
|
||||
}
|
||||
|
||||
@@ -114,9 +112,9 @@ public class SystemMenuController {
|
||||
public ResponseEntity<List<SystemMenuTb>> queryMenuSuperior(@RequestBody List<Long> ids) {
|
||||
Set<SystemMenuTb> menus;
|
||||
if (CollectionUtil.isNotEmpty(ids)) {
|
||||
menus = new LinkedHashSet<>(systemMenuService.queryMenuByIds(ids));
|
||||
menus = new LinkedHashSet<>(systemMenuService.listMenuByIds(ids));
|
||||
for (SystemMenuTb menu : menus) {
|
||||
List<SystemMenuTb> menuList = systemMenuService.querySuperiorMenuList(menu, new ArrayList<>());
|
||||
List<SystemMenuTb> menuList = systemMenuService.querySuperiorMenuByArgs(menu, new ArrayList<>());
|
||||
for (SystemMenuTb data : menuList) {
|
||||
if (data.getId().equals(menu.getPid())) {
|
||||
data.setSubCount(data.getSubCount() - 1);
|
||||
@@ -128,7 +126,7 @@ public class SystemMenuController {
|
||||
menus = menus.stream().filter(i -> !ids.contains(i.getId())).collect(Collectors.toSet());
|
||||
return ResponseEntity.ok(systemMenuService.buildMenuTree(new ArrayList<>(menus)));
|
||||
}
|
||||
return ResponseEntity.ok(systemMenuService.queryMenuByPid(null));
|
||||
return ResponseEntity.ok(systemMenuService.listMenuByPid(null));
|
||||
}
|
||||
|
||||
@ApiOperation("新增菜单")
|
||||
@@ -146,7 +144,7 @@ public class SystemMenuController {
|
||||
@PostMapping(value = "/modifyMenuById")
|
||||
@PreAuthorize("@el.check('menu:edit')")
|
||||
public ResponseEntity<Void> modifyMenuById(@Validated(SystemMenuTb.Update.class) @RequestBody SystemMenuTb args) {
|
||||
systemMenuService.modifyMenuById(args);
|
||||
systemMenuService.updateMenuById(args);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
@@ -154,7 +152,7 @@ public class SystemMenuController {
|
||||
@PostMapping(value = "/removeMenuByIds")
|
||||
@PreAuthorize("@el.check('menu:del')")
|
||||
public ResponseEntity<Void> removeMenuByIds(@RequestBody Set<Long> ids) {
|
||||
systemMenuService.removeMenuByIds(ids);
|
||||
systemMenuService.deleteMenuByIds(ids);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
}
|
||||
|
||||
+2
-3
@@ -31,13 +31,12 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@RequestMapping("/api/monitor")
|
||||
public class SystemMonitorController {
|
||||
|
||||
@Autowired
|
||||
private SystemMonitorService systemMonitorService;
|
||||
@Autowired private SystemMonitorService systemMonitorService;
|
||||
|
||||
@PostMapping(value = "/queryServerMonitorInfo")
|
||||
@ApiOperation("查询服务监控")
|
||||
@PreAuthorize("@el.check('monitor:list')")
|
||||
public ResponseEntity<Map<String, Object>> queryServerMonitorInfo() {
|
||||
return ResponseEntity.ok(systemMonitorService.queryServerMonitorInfo());
|
||||
return ResponseEntity.ok(systemMonitorService.getServerMonitorInfo());
|
||||
}
|
||||
}
|
||||
|
||||
+2
-3
@@ -24,9 +24,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.Set;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
@@ -42,8 +42,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@Api(tags = "系统:在线用户管理")
|
||||
public class SystemOnlineController {
|
||||
|
||||
@Autowired
|
||||
private SystemUserOnlineInfoDAO systemUserOnlineInfoDAO;
|
||||
@Autowired private SystemUserOnlineInfoDAO systemUserOnlineInfoDAO;
|
||||
|
||||
@ApiOperation("查询在线用户")
|
||||
@PostMapping
|
||||
|
||||
+9
-10
@@ -24,8 +24,8 @@ import cn.odboy.system.service.SystemOssStorageService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import java.io.IOException;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
@@ -45,24 +45,23 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
@RequestMapping("/api/ossStorage")
|
||||
public class SystemOssStorageController {
|
||||
|
||||
@Autowired
|
||||
private SystemOssStorageService systemOssStorageService;
|
||||
@Autowired private SystemOssStorageService systemOssStorageService;
|
||||
|
||||
@ApiOperation("查询文件")
|
||||
@PostMapping
|
||||
@PreAuthorize("@el.check('storage:list')")
|
||||
public ResponseEntity<KitPageResult<SystemOssStorageVo>> queryOssStorage(
|
||||
@Validated @RequestBody KitPageArgs<SystemQueryStorageArgs> args) {
|
||||
SystemQueryStorageArgs criteria = args.getArgs();
|
||||
Page<SystemOssStorageTb> page = new Page<>(criteria.getPage(), criteria.getSize());
|
||||
return ResponseEntity.ok(systemOssStorageService.queryOssStorage(criteria, page));
|
||||
@Validated @RequestBody KitPageArgs<SystemQueryStorageArgs> pageArgs) {
|
||||
SystemQueryStorageArgs args = pageArgs.getArgs();
|
||||
Page<SystemOssStorageTb> page = new Page<>(args.getPage(), args.getSize());
|
||||
return ResponseEntity.ok(systemOssStorageService.searchOssStorage(args, page));
|
||||
}
|
||||
|
||||
@ApiOperation("导出数据")
|
||||
@GetMapping(value = "/download")
|
||||
@PreAuthorize("@el.check('storage:list')")
|
||||
public void exportFile(HttpServletResponse response, SystemQueryStorageArgs criteria) throws IOException {
|
||||
systemOssStorageService.exportOssStorageExcel(systemOssStorageService.queryOssStorage(criteria), response);
|
||||
public void exportFile(HttpServletResponse response, SystemQueryStorageArgs args) throws IOException {
|
||||
systemOssStorageService.exportOssStorageExcel(systemOssStorageService.queryOssStorage(args), response);
|
||||
}
|
||||
|
||||
@ApiOperation("上传文件")
|
||||
@@ -76,7 +75,7 @@ public class SystemOssStorageController {
|
||||
@ApiOperation("多选删除")
|
||||
@PostMapping(value = "/removeFileByIds")
|
||||
public ResponseEntity<Void> removeFileByIds(@RequestBody Long[] ids) {
|
||||
systemOssStorageService.removeFileByIds(ids);
|
||||
systemOssStorageService.deleteFileByIds(ids);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
}
|
||||
|
||||
+13
-14
@@ -27,9 +27,9 @@ import cn.odboy.system.service.SystemQuartzJobService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.Set;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
@@ -49,31 +49,30 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@Api(tags = "系统:定时任务管理")
|
||||
public class SystemQuartzJobController {
|
||||
|
||||
@Autowired
|
||||
private SystemQuartzJobService systemQuartzJobService;
|
||||
@Autowired private SystemQuartzJobService systemQuartzJobService;
|
||||
|
||||
@ApiOperation("查询定时任务")
|
||||
@PostMapping
|
||||
@PreAuthorize("@el.check('quartzJob:list')")
|
||||
public ResponseEntity<KitPageResult<SystemQuartzJobTb>> queryQuartzJobByCrud(
|
||||
@Validated @RequestBody KitPageArgs<SystemQueryQuartzJobArgs> args) {
|
||||
SystemQueryQuartzJobArgs criteria = args.getArgs();
|
||||
Page<SystemQuartzJobTb> page = new Page<>(criteria.getPage(), criteria.getSize());
|
||||
return ResponseEntity.ok(systemQuartzJobService.queryQuartzJobByArgs(criteria, page));
|
||||
@Validated @RequestBody KitPageArgs<SystemQueryQuartzJobArgs> pageArgs) {
|
||||
SystemQueryQuartzJobArgs args = pageArgs.getArgs();
|
||||
Page<SystemQuartzJobTb> page = new Page<>(args.getPage(), args.getSize());
|
||||
return ResponseEntity.ok(systemQuartzJobService.searchQuartzJobByArgs(args, page));
|
||||
}
|
||||
|
||||
@ApiOperation("导出任务数据")
|
||||
@GetMapping(value = "/download")
|
||||
@PreAuthorize("@el.check('quartzJob:list')")
|
||||
public void exportQuartzJob(HttpServletResponse response, SystemQueryQuartzJobArgs criteria) throws IOException {
|
||||
systemQuartzJobService.exportQuartzJobExcel(systemQuartzJobService.queryQuartzJobByArgs(criteria), response);
|
||||
public void exportQuartzJob(HttpServletResponse response, SystemQueryQuartzJobArgs args) throws IOException {
|
||||
systemQuartzJobService.exportQuartzJobExcel(systemQuartzJobService.queryQuartzJobByArgs(args), response);
|
||||
}
|
||||
|
||||
@ApiOperation("导出日志数据")
|
||||
@GetMapping(value = "/logs/download")
|
||||
@PreAuthorize("@el.check('quartzJob:list')")
|
||||
public void exportQuartzJobLog(HttpServletResponse response, SystemQueryQuartzJobArgs criteria) throws IOException {
|
||||
systemQuartzJobService.exportQuartzLogExcel(systemQuartzJobService.queryQuartzLogByArgs(criteria), response);
|
||||
public void exportQuartzJobLog(HttpServletResponse response, SystemQueryQuartzJobArgs args) throws IOException {
|
||||
systemQuartzJobService.exportQuartzLogExcel(systemQuartzJobService.queryQuartzLogByArgs(args), response);
|
||||
}
|
||||
|
||||
@ApiOperation("查询任务执行日志")
|
||||
@@ -81,7 +80,7 @@ public class SystemQuartzJobController {
|
||||
@PreAuthorize("@el.check('quartzJob:list')")
|
||||
public ResponseEntity<KitPageResult<SystemQuartzLogTb>> queryQuartzJobLog(SystemQueryQuartzJobArgs args) {
|
||||
Page<SystemQuartzLogTb> page = new Page<>(args.getPage(), args.getSize());
|
||||
return ResponseEntity.ok(systemQuartzJobService.queryQuartzLogByArgs(args, page));
|
||||
return ResponseEntity.ok(systemQuartzJobService.searchQuartzLogByArgs(args, page));
|
||||
}
|
||||
|
||||
@ApiOperation("新增定时任务")
|
||||
@@ -104,7 +103,7 @@ public class SystemQuartzJobController {
|
||||
@Validated(SystemQuartzJobTb.Update.class) @RequestBody SystemUpdateQuartzJobArgs args) {
|
||||
// 验证Bean是不是合法的, 合法的定时任务 Bean 需要用 @Service 定义
|
||||
checkBean(args.getBeanName());
|
||||
systemQuartzJobService.modifyQuartzJobResumeCron(args);
|
||||
systemQuartzJobService.updateQuartzJobResumeCron(args);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
@@ -128,7 +127,7 @@ public class SystemQuartzJobController {
|
||||
@PostMapping(value = "/removeJobByIds")
|
||||
@PreAuthorize("@el.check('quartzJob:del')")
|
||||
public ResponseEntity<Void> removeJobByIds(@RequestBody Set<Long> ids) {
|
||||
systemQuartzJobService.removeJobByIds(ids);
|
||||
systemQuartzJobService.deleteJobByIds(ids);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
|
||||
+12
-13
@@ -28,12 +28,12 @@ import cn.odboy.system.service.SystemRoleService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
@@ -49,8 +49,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@RequestMapping("/api/role")
|
||||
public class SystemRoleController {
|
||||
|
||||
@Autowired
|
||||
private SystemRoleService systemRoleService;
|
||||
@Autowired private SystemRoleService systemRoleService;
|
||||
|
||||
@ApiOperation("获取单个role")
|
||||
@PostMapping(value = "/queryRoleById")
|
||||
@@ -62,25 +61,25 @@ public class SystemRoleController {
|
||||
@ApiOperation("导出角色数据")
|
||||
@GetMapping(value = "/download")
|
||||
@PreAuthorize("@el.check('role:list')")
|
||||
public void exportRole(HttpServletResponse response, SystemQueryRoleArgs criteria) throws IOException {
|
||||
systemRoleService.exportRoleExcel(systemRoleService.queryRoleByArgs(criteria), response);
|
||||
public void exportRole(HttpServletResponse response, SystemQueryRoleArgs args) throws IOException {
|
||||
systemRoleService.exportRoleExcel(systemRoleService.queryRoleByArgs(args), response);
|
||||
}
|
||||
|
||||
@ApiOperation("返回全部的角色")
|
||||
@PostMapping(value = "/queryRoleList")
|
||||
@PreAuthorize("@el.check('roles:list','user:add','user:edit')")
|
||||
public ResponseEntity<List<SystemRoleTb>> queryRoleList() {
|
||||
return ResponseEntity.ok(systemRoleService.queryAllRole());
|
||||
return ResponseEntity.ok(systemRoleService.listAllRole());
|
||||
}
|
||||
|
||||
@ApiOperation("查询角色")
|
||||
@PostMapping
|
||||
@PreAuthorize("@el.check('roles:list')")
|
||||
public ResponseEntity<KitPageResult<SystemRoleVo>> queryRoleByArgs(
|
||||
@Validated @RequestBody KitPageArgs<SystemQueryRoleArgs> args) {
|
||||
SystemQueryRoleArgs criteria = args.getArgs();
|
||||
Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
|
||||
return ResponseEntity.ok(systemRoleService.queryRoleByArgs(criteria, page));
|
||||
@Validated @RequestBody KitPageArgs<SystemQueryRoleArgs> pageArgs) {
|
||||
SystemQueryRoleArgs args = pageArgs.getArgs();
|
||||
Page<Object> page = new Page<>(args.getPage(), args.getSize());
|
||||
return ResponseEntity.ok(systemRoleService.searchRoleByArgs(args, page));
|
||||
}
|
||||
|
||||
@ApiOperation("获取用户级别")
|
||||
@@ -103,7 +102,7 @@ public class SystemRoleController {
|
||||
@PreAuthorize("@el.check('roles:edit')")
|
||||
public ResponseEntity<Void> modifyRoleById(@Validated(SystemRoleTb.Update.class) @RequestBody SystemRoleVo args) {
|
||||
checkRoleLevels(args.getLevel());
|
||||
systemRoleService.modifyRoleById(args);
|
||||
systemRoleService.updateRoleById(args);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
@@ -113,7 +112,7 @@ public class SystemRoleController {
|
||||
public ResponseEntity<Void> modifyBindMenuById(@RequestBody SystemRoleVo args) {
|
||||
SystemRoleTb role = systemRoleService.getRoleById(args.getId());
|
||||
checkRoleLevels(role.getLevel());
|
||||
systemRoleService.modifyBindMenuById(args);
|
||||
systemRoleService.updateBindMenuById(args);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
@@ -127,7 +126,7 @@ public class SystemRoleController {
|
||||
}
|
||||
// 验证是否被用户关联
|
||||
systemRoleService.verifyBindRelationByIds(ids);
|
||||
systemRoleService.removeRoleByIds(ids);
|
||||
systemRoleService.deleteRoleByIds(ids);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
|
||||
+32
-38
@@ -39,12 +39,12 @@ import cn.odboy.util.KitRsaEncryptUtil;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
@@ -66,56 +66,49 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
@RequestMapping("/api/user")
|
||||
public class SystemUserController {
|
||||
|
||||
@Autowired
|
||||
private PasswordEncoder passwordEncoder;
|
||||
@Autowired
|
||||
private SystemUserService systemUserService;
|
||||
@Autowired
|
||||
private SystemDataService systemDataService;
|
||||
@Autowired
|
||||
private SystemDeptService systemDeptService;
|
||||
@Autowired
|
||||
private SystemRoleService systemRoleService;
|
||||
@Autowired
|
||||
private SystemEmailService systemEmailService;
|
||||
@Autowired
|
||||
private AppProperties properties;
|
||||
@Autowired private PasswordEncoder passwordEncoder;
|
||||
@Autowired private SystemUserService systemUserService;
|
||||
@Autowired private SystemDataService systemDataService;
|
||||
@Autowired private SystemDeptService systemDeptService;
|
||||
@Autowired private SystemRoleService systemRoleService;
|
||||
@Autowired private SystemEmailService systemEmailService;
|
||||
@Autowired private AppProperties properties;
|
||||
|
||||
@ApiOperation("导出用户数据")
|
||||
@GetMapping(value = "/download")
|
||||
@PreAuthorize("@el.check('user:list')")
|
||||
public void exportUserExcel(HttpServletResponse response, SystemQueryUserArgs criteria) throws IOException {
|
||||
systemUserService.exportUserExcel(systemUserService.queryUserByArgs(criteria), response);
|
||||
public void exportUserExcel(HttpServletResponse response, SystemQueryUserArgs args) throws IOException {
|
||||
systemUserService.exportUserExcel(systemUserService.queryUserByArgs(args), response);
|
||||
}
|
||||
|
||||
@ApiOperation("查询用户")
|
||||
@PostMapping
|
||||
@PreAuthorize("@el.check('user:list')")
|
||||
public ResponseEntity<KitPageResult<SystemUserVo>> queryUserByArgs(
|
||||
@Validated @RequestBody KitPageArgs<SystemQueryUserArgs> args) {
|
||||
Page<SystemUserTb> page = new Page<>(args.getPage(), args.getSize());
|
||||
SystemQueryUserArgs criteria = args.getArgs();
|
||||
if (!ObjectUtils.isEmpty(criteria.getDeptId())) {
|
||||
criteria.getDeptIds().add(criteria.getDeptId());
|
||||
@Validated @RequestBody KitPageArgs<SystemQueryUserArgs> pageArgs) {
|
||||
Page<SystemUserTb> page = new Page<>(pageArgs.getPage(), pageArgs.getSize());
|
||||
SystemQueryUserArgs args = pageArgs.getArgs();
|
||||
if (!ObjectUtils.isEmpty(args.getDeptId())) {
|
||||
args.getDeptIds().add(args.getDeptId());
|
||||
// 先查找是否存在子节点
|
||||
List<SystemDeptTb> data = systemDeptService.queryDeptByPid(criteria.getDeptId());
|
||||
List<SystemDeptTb> data = systemDeptService.listDeptByPid(args.getDeptId());
|
||||
// 然后把子节点的ID都加入到集合中
|
||||
criteria.getDeptIds().addAll(systemDeptService.queryChildDeptIdListByDeptIds(data));
|
||||
args.getDeptIds().addAll(systemDeptService.queryChildDeptIdByDeptIds(data));
|
||||
}
|
||||
// 数据权限
|
||||
List<Long> dataScopes = systemDataService.findDeptIdListByArgs(
|
||||
List<Long> dataScopes = systemDataService.queryDeptIdByArgs(
|
||||
systemUserService.getUserByUsername(KitSecurityHelper.getCurrentUsername()));
|
||||
// criteria.getDeptIds() 不为空并且数据权限不为空则取交集
|
||||
if (!CollectionUtils.isEmpty(criteria.getDeptIds()) && !CollectionUtils.isEmpty(dataScopes)) {
|
||||
// args.getDeptIds() 不为空并且数据权限不为空则取交集
|
||||
if (!CollectionUtils.isEmpty(args.getDeptIds()) && !CollectionUtils.isEmpty(dataScopes)) {
|
||||
// 取交集
|
||||
criteria.getDeptIds().retainAll(dataScopes);
|
||||
if (!CollectionUtil.isEmpty(criteria.getDeptIds())) {
|
||||
return ResponseEntity.ok(systemUserService.queryUserByArgs(criteria, page));
|
||||
args.getDeptIds().retainAll(dataScopes);
|
||||
if (!CollectionUtil.isEmpty(args.getDeptIds())) {
|
||||
return ResponseEntity.ok(systemUserService.searchUserByArgs(args, page));
|
||||
}
|
||||
} else {
|
||||
// 否则取并集
|
||||
criteria.getDeptIds().addAll(dataScopes);
|
||||
return ResponseEntity.ok(systemUserService.queryUserByArgs(criteria, page));
|
||||
args.getDeptIds().addAll(dataScopes);
|
||||
return ResponseEntity.ok(systemUserService.searchUserByArgs(args, page));
|
||||
}
|
||||
return ResponseEntity.ok(KitPageUtil.emptyData());
|
||||
}
|
||||
@@ -136,7 +129,7 @@ public class SystemUserController {
|
||||
@PreAuthorize("@el.check('user:edit')")
|
||||
public ResponseEntity<Object> modifyUserById(@Validated(SystemUserTb.Update.class) @RequestBody SystemUserVo args) {
|
||||
checkLevel(args);
|
||||
systemUserService.modifyUserById(args);
|
||||
systemUserService.updateUserById(args);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
@@ -147,7 +140,7 @@ public class SystemUserController {
|
||||
if (!args.getId().equals(KitSecurityHelper.getCurrentUserId())) {
|
||||
throw new BadRequestException("不能修改他人资料");
|
||||
}
|
||||
systemUserService.modifyUserCenterInfoById(args);
|
||||
systemUserService.updateUserCenterInfoById(args);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
@@ -186,7 +179,7 @@ public class SystemUserController {
|
||||
if (passwordEncoder.matches(newPass, user.getPassword())) {
|
||||
throw new BadRequestException("新密码不能与旧密码相同");
|
||||
}
|
||||
systemUserService.modifyUserPasswordByUsername(user.getUsername(), passwordEncoder.encode(newPass));
|
||||
systemUserService.updateUserPasswordByUsername(user.getUsername(), passwordEncoder.encode(newPass));
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
@@ -201,7 +194,7 @@ public class SystemUserController {
|
||||
@ApiOperation("修改头像")
|
||||
@PostMapping(value = "/modifyUserAvatar")
|
||||
public ResponseEntity<Object> modifyUserAvatar(@RequestParam MultipartFile avatar) {
|
||||
return ResponseEntity.ok(systemUserService.modifyUserAvatar(avatar));
|
||||
return ResponseEntity.ok(systemUserService.updateUserAvatar(avatar));
|
||||
}
|
||||
|
||||
@ApiOperation("修改邮箱")
|
||||
@@ -215,7 +208,7 @@ public class SystemUserController {
|
||||
throw new BadRequestException("密码错误");
|
||||
}
|
||||
systemEmailService.checkEmailCaptcha(SystemCaptchaBizEnum.EMAIL_RESET_EMAIL_CODE, args.getEmail(), code);
|
||||
systemUserService.modifyUserEmailByUsername(user.getUsername(), args.getEmail());
|
||||
systemUserService.updateUserEmailByUsername(user.getUsername(), args.getEmail());
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
@@ -237,7 +230,8 @@ public class SystemUserController {
|
||||
@ApiOperation("查询用户基础数据")
|
||||
@PostMapping(value = "/queryUserMetadataOptions")
|
||||
@PreAuthorize("@el.check('user:list')")
|
||||
public ResponseEntity<List<KitSelectOptionVo>> queryUserMetadataOptions(@Validated @RequestBody KitPageArgs<SystemQueryUserArgs> args) {
|
||||
public ResponseEntity<List<KitSelectOptionVo>> queryUserMetadataOptions(
|
||||
@Validated @RequestBody KitPageArgs<SystemQueryUserArgs> args) {
|
||||
List<KitSelectOptionVo> collect = systemUserService.queryUserMetadataOptions(args);
|
||||
return ResponseEntity.ok(collect);
|
||||
}
|
||||
|
||||
+12
-25
@@ -22,11 +22,11 @@ import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@@ -35,29 +35,16 @@ import lombok.Setter;
|
||||
@TableName("system_dept")
|
||||
public class SystemDeptTb extends KitBaseUserTimeTb {
|
||||
|
||||
@NotNull(groups = Update.class)
|
||||
@TableId(value = "dept_id", type = IdType.AUTO)
|
||||
@ApiModelProperty(value = "ID", hidden = true)
|
||||
private Long id;
|
||||
@TableField(exist = false)
|
||||
@JSONField(serialize = false)
|
||||
@ApiModelProperty(value = "角色")
|
||||
private Set<SystemRoleTb> roles;
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "子部门")
|
||||
private List<SystemDeptTb> children;
|
||||
@ApiModelProperty(value = "排序")
|
||||
private Integer deptSort;
|
||||
@NotBlank
|
||||
@ApiModelProperty(value = "部门名称")
|
||||
private String name;
|
||||
@NotNull
|
||||
@ApiModelProperty(value = "是否启用")
|
||||
private Boolean enabled;
|
||||
@ApiModelProperty(value = "上级部门")
|
||||
private Long pid;
|
||||
@ApiModelProperty(value = "子节点数目", hidden = true)
|
||||
private Integer subCount = 0;
|
||||
@NotNull(groups = Update.class) @TableId(value = "dept_id", type = IdType.AUTO)
|
||||
@ApiModelProperty(value = "ID", hidden = true) private Long id;
|
||||
@TableField(exist = false) @JSONField(serialize = false) @ApiModelProperty(value = "角色") private Set<SystemRoleTb>
|
||||
roles;
|
||||
@TableField(exist = false) @ApiModelProperty(value = "子部门") private List<SystemDeptTb> children;
|
||||
@ApiModelProperty(value = "排序") private Integer deptSort;
|
||||
@NotBlank @ApiModelProperty(value = "部门名称") private String name;
|
||||
@NotNull @ApiModelProperty(value = "是否启用") private Boolean enabled;
|
||||
@ApiModelProperty(value = "上级部门") private Long pid;
|
||||
@ApiModelProperty(value = "子节点数目", hidden = true) private Integer subCount = 0;
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
|
||||
+6
-13
@@ -30,17 +30,10 @@ import lombok.Setter;
|
||||
@TableName("system_dict_detail")
|
||||
public class SystemDictDetailTb extends KitBaseUserTimeTb {
|
||||
|
||||
@NotNull(groups = Update.class)
|
||||
@ApiModelProperty(value = "ID", hidden = true)
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
@TableField(value = "dict_id")
|
||||
@ApiModelProperty(hidden = true)
|
||||
private Long dictId;
|
||||
@ApiModelProperty(value = "字典标签")
|
||||
private String label;
|
||||
@ApiModelProperty(value = "字典值")
|
||||
private String value;
|
||||
@ApiModelProperty(value = "排序")
|
||||
private Integer dictSort = 999;
|
||||
@NotNull(groups = Update.class) @ApiModelProperty(value = "ID", hidden = true)
|
||||
@TableId(value = "id", type = IdType.AUTO) private Long id;
|
||||
@TableField(value = "dict_id") @ApiModelProperty(hidden = true) private Long dictId;
|
||||
@ApiModelProperty(value = "字典标签") private String label;
|
||||
@ApiModelProperty(value = "字典值") private String value;
|
||||
@ApiModelProperty(value = "排序") private Integer dictSort = 999;
|
||||
}
|
||||
+4
-10
@@ -32,14 +32,8 @@ import lombok.Setter;
|
||||
@TableName("system_dict")
|
||||
public class SystemDictTb extends KitBaseUserTimeTb {
|
||||
|
||||
@NotNull(groups = Update.class)
|
||||
@ApiModelProperty(value = "ID", hidden = true)
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
@NotBlank
|
||||
@ApiModelProperty(value = "名称")
|
||||
private String name;
|
||||
@ApiModelProperty(value = "描述")
|
||||
@TableField(updateStrategy = FieldStrategy.ALWAYS)
|
||||
private String description;
|
||||
@NotNull(groups = Update.class) @ApiModelProperty(value = "ID", hidden = true)
|
||||
@TableId(value = "id", type = IdType.AUTO) private Long id;
|
||||
@NotBlank @ApiModelProperty(value = "名称") private String name;
|
||||
@ApiModelProperty(value = "描述") @TableField(updateStrategy = FieldStrategy.ALWAYS) private String description;
|
||||
}
|
||||
+6
-17
@@ -31,21 +31,10 @@ import lombok.EqualsAndHashCode;
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class SystemEmailConfigTb extends KitObject {
|
||||
|
||||
@TableId("config_id")
|
||||
private Long id;
|
||||
@NotBlank
|
||||
@ApiModelProperty(value = "邮件服务器SMTP地址")
|
||||
private String host;
|
||||
@NotBlank
|
||||
@ApiModelProperty(value = "邮件服务器 SMTP 端口")
|
||||
private String port;
|
||||
@NotBlank
|
||||
@ApiModelProperty(value = "发件者用户名")
|
||||
private String user;
|
||||
@NotBlank
|
||||
@ApiModelProperty(value = "密码")
|
||||
private String password;
|
||||
@NotBlank
|
||||
@ApiModelProperty(value = "收件人")
|
||||
private String fromUser;
|
||||
@TableId("config_id") private Long id;
|
||||
@NotBlank @ApiModelProperty(value = "邮件服务器SMTP地址") private String host;
|
||||
@NotBlank @ApiModelProperty(value = "邮件服务器 SMTP 端口") private String port;
|
||||
@NotBlank @ApiModelProperty(value = "发件者用户名") private String user;
|
||||
@NotBlank @ApiModelProperty(value = "密码") private String password;
|
||||
@NotBlank @ApiModelProperty(value = "收件人") private String fromUser;
|
||||
}
|
||||
|
||||
+6
-14
@@ -20,9 +20,9 @@ import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.util.Objects;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import java.util.Objects;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@@ -31,19 +31,11 @@ import lombok.Setter;
|
||||
@TableName("system_job")
|
||||
public class SystemJobTb extends KitBaseUserTimeTb {
|
||||
|
||||
@NotNull(groups = Update.class)
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
@ApiModelProperty(value = "ID", hidden = true)
|
||||
private Long id;
|
||||
@NotBlank
|
||||
@ApiModelProperty(value = "岗位名称")
|
||||
private String name;
|
||||
@NotNull
|
||||
@ApiModelProperty(value = "岗位排序")
|
||||
private Long jobSort;
|
||||
@NotNull
|
||||
@ApiModelProperty(value = "是否启用")
|
||||
private Boolean enabled;
|
||||
@NotNull(groups = Update.class) @TableId(value = "id", type = IdType.AUTO)
|
||||
@ApiModelProperty(value = "ID", hidden = true) private Long id;
|
||||
@NotBlank @ApiModelProperty(value = "岗位名称") private String name;
|
||||
@NotNull @ApiModelProperty(value = "岗位排序") private Long jobSort;
|
||||
@NotNull @ApiModelProperty(value = "是否启用") private Boolean enabled;
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
|
||||
+8
-17
@@ -30,23 +30,14 @@ import lombok.Setter;
|
||||
@TableName("system_local_storage")
|
||||
public class SystemLocalStorageTb extends KitBaseUserTimeTb {
|
||||
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
@ApiModelProperty(value = "ID", hidden = true)
|
||||
private Long id;
|
||||
@ApiModelProperty(value = "真实文件名")
|
||||
private String realName;
|
||||
@ApiModelProperty(value = "文件名")
|
||||
private String name;
|
||||
@ApiModelProperty(value = "后缀")
|
||||
private String suffix;
|
||||
@ApiModelProperty(value = "路径")
|
||||
private String path;
|
||||
@ApiModelProperty(value = "类型")
|
||||
private String type;
|
||||
@ApiModelProperty(value = "大小")
|
||||
private String size;
|
||||
@ApiModelProperty(value = "日期分组")
|
||||
private String dateGroup;
|
||||
@TableId(value = "id", type = IdType.AUTO) @ApiModelProperty(value = "ID", hidden = true) private Long id;
|
||||
@ApiModelProperty(value = "真实文件名") private String realName;
|
||||
@ApiModelProperty(value = "文件名") private String name;
|
||||
@ApiModelProperty(value = "后缀") private String suffix;
|
||||
@ApiModelProperty(value = "路径") private String path;
|
||||
@ApiModelProperty(value = "类型") private String type;
|
||||
@ApiModelProperty(value = "大小") private String size;
|
||||
@ApiModelProperty(value = "日期分组") private String dateGroup;
|
||||
|
||||
public void copy(SystemLocalStorageTb source) {
|
||||
BeanUtil.copyProperties(source, this, CopyOptions.create().setIgnoreNullValue(true));
|
||||
|
||||
+18
-37
@@ -22,10 +22,10 @@ import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@@ -34,43 +34,24 @@ import lombok.Setter;
|
||||
@TableName("system_menu")
|
||||
public class SystemMenuTb extends KitBaseUserTimeTb {
|
||||
|
||||
@NotNull(groups = {Update.class})
|
||||
@TableId(value = "menu_id", type = IdType.AUTO)
|
||||
@ApiModelProperty(value = "ID", hidden = true)
|
||||
private Long id;
|
||||
@TableField(exist = false)
|
||||
@JSONField(serialize = false)
|
||||
@ApiModelProperty(value = "菜单角色")
|
||||
@NotNull(groups = {Update.class}) @TableId(value = "menu_id", type = IdType.AUTO)
|
||||
@ApiModelProperty(value = "ID", hidden = true) private Long id;
|
||||
@TableField(exist = false) @JSONField(serialize = false) @ApiModelProperty(value = "菜单角色")
|
||||
private Set<SystemRoleTb> roles;
|
||||
@TableField(exist = false)
|
||||
private List<SystemMenuTb> children;
|
||||
@ApiModelProperty(value = "菜单标题")
|
||||
private String title;
|
||||
@TableField(value = "name")
|
||||
@ApiModelProperty(value = "菜单组件名称")
|
||||
private String componentName;
|
||||
@ApiModelProperty(value = "排序")
|
||||
private Integer menuSort = 999;
|
||||
@ApiModelProperty(value = "组件路径")
|
||||
private String component;
|
||||
@ApiModelProperty(value = "路由地址")
|
||||
private String path;
|
||||
@ApiModelProperty(value = "菜单类型,目录、菜单、按钮")
|
||||
private Integer type;
|
||||
@ApiModelProperty(value = "权限标识")
|
||||
private String permission;
|
||||
@ApiModelProperty(value = "菜单图标")
|
||||
private String icon;
|
||||
@ApiModelProperty(value = "缓存")
|
||||
private Boolean cache;
|
||||
@ApiModelProperty(value = "是否隐藏")
|
||||
private Boolean hidden;
|
||||
@ApiModelProperty(value = "上级菜单")
|
||||
private Long pid;
|
||||
@ApiModelProperty(value = "子节点数目", hidden = true)
|
||||
private Integer subCount = 0;
|
||||
@ApiModelProperty(value = "外链菜单")
|
||||
private Boolean iFrame;
|
||||
@TableField(exist = false) private List<SystemMenuTb> children;
|
||||
@ApiModelProperty(value = "菜单标题") private String title;
|
||||
@TableField(value = "name") @ApiModelProperty(value = "菜单组件名称") private String componentName;
|
||||
@ApiModelProperty(value = "排序") private Integer menuSort = 999;
|
||||
@ApiModelProperty(value = "组件路径") private String component;
|
||||
@ApiModelProperty(value = "路由地址") private String path;
|
||||
@ApiModelProperty(value = "菜单类型,目录、菜单、按钮") private Integer type;
|
||||
@ApiModelProperty(value = "权限标识") private String permission;
|
||||
@ApiModelProperty(value = "菜单图标") private String icon;
|
||||
@ApiModelProperty(value = "缓存") private Boolean cache;
|
||||
@ApiModelProperty(value = "是否隐藏") private Boolean hidden;
|
||||
@ApiModelProperty(value = "上级菜单") private Long pid;
|
||||
@ApiModelProperty(value = "子节点数目", hidden = true) private Integer subCount = 0;
|
||||
@ApiModelProperty(value = "外链菜单") private Boolean iFrame;
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
|
||||
+11
-23
@@ -46,57 +46,45 @@ public class SystemOperationLogTb extends KitObject {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@ApiModelProperty("id")
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
@ApiModelProperty("id") @TableId(value = "id", type = IdType.AUTO) private Long id;
|
||||
/**
|
||||
* 业务名称
|
||||
*/
|
||||
@TableField("biz_name")
|
||||
private String bizName;
|
||||
@TableField("biz_name") private String bizName;
|
||||
/**
|
||||
* 业务方法
|
||||
*/
|
||||
@TableField("method")
|
||||
private String method;
|
||||
@TableField("method") private String method;
|
||||
/**
|
||||
* 业务参数
|
||||
*/
|
||||
@TableField("params")
|
||||
private String params;
|
||||
@TableField("params") private String params;
|
||||
/**
|
||||
* 访问来源IP
|
||||
*/
|
||||
@TableField("request_ip")
|
||||
private String requestIp;
|
||||
@TableField("request_ip") private String requestIp;
|
||||
/**
|
||||
* 执行时间
|
||||
*/
|
||||
@TableField("execute_time")
|
||||
private Long executeTime;
|
||||
@TableField("execute_time") private Long executeTime;
|
||||
/**
|
||||
* 用户名
|
||||
*/
|
||||
@TableField("username")
|
||||
private String username;
|
||||
@TableField("username") private String username;
|
||||
/**
|
||||
* 访问来源地址
|
||||
*/
|
||||
@TableField("address")
|
||||
private String address;
|
||||
@TableField("address") private String address;
|
||||
/**
|
||||
* 浏览器信息
|
||||
*/
|
||||
@TableField("browser_info")
|
||||
private String browserInfo;
|
||||
@TableField("browser_info") private String browserInfo;
|
||||
/**
|
||||
* 异常详情
|
||||
*/
|
||||
@TableField("exception_detail")
|
||||
private String exceptionDetail;
|
||||
@TableField("exception_detail") private String exceptionDetail;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(value = "create_time", fill = FieldFill.INSERT)
|
||||
private Date createTime;
|
||||
@TableField(value = "create_time", fill = FieldFill.INSERT) private Date createTime;
|
||||
}
|
||||
|
||||
+13
-39
@@ -39,43 +39,17 @@ import lombok.Setter;
|
||||
@ApiModel(value = "SystemOssStorage对象", description = "OSS存储")
|
||||
public class SystemOssStorageTb extends KitBaseUserTimeTb {
|
||||
|
||||
@ApiModelProperty("ID")
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
@TableField("service_type")
|
||||
@ApiModelProperty("类型,比如minio")
|
||||
private String serviceType;
|
||||
@TableField("endpoint")
|
||||
@ApiModelProperty("服务地址")
|
||||
private String endpoint;
|
||||
@TableField("bucket_name")
|
||||
@ApiModelProperty("存储桶名称")
|
||||
private String bucketName;
|
||||
@TableField("file_name")
|
||||
@ApiModelProperty("完整文件名称")
|
||||
private String fileName;
|
||||
@TableField("file_size")
|
||||
@ApiModelProperty("文件大小, 单位:字节")
|
||||
private Long fileSize;
|
||||
@TableField("file_mime")
|
||||
@ApiModelProperty("文件类型")
|
||||
private String fileMime;
|
||||
@ApiModelProperty("短文件名")
|
||||
@TableField("file_prefix")
|
||||
private String filePrefix;
|
||||
@ApiModelProperty("文件后缀")
|
||||
@TableField("file_suffix")
|
||||
private String fileSuffix;
|
||||
@TableField("file_md5")
|
||||
@ApiModelProperty("文件md5")
|
||||
private String fileMd5;
|
||||
@TableField("file_url")
|
||||
@ApiModelProperty("文件链接")
|
||||
private String fileUrl;
|
||||
@TableField("file_code")
|
||||
@ApiModelProperty("文件编码")
|
||||
private String fileCode;
|
||||
@TableField("object_name")
|
||||
@ApiModelProperty("对象路径")
|
||||
private String objectName;
|
||||
@ApiModelProperty("ID") @TableId(value = "id", type = IdType.AUTO) private Long id;
|
||||
@TableField("service_type") @ApiModelProperty("类型,比如minio") private String serviceType;
|
||||
@TableField("endpoint") @ApiModelProperty("服务地址") private String endpoint;
|
||||
@TableField("bucket_name") @ApiModelProperty("存储桶名称") private String bucketName;
|
||||
@TableField("file_name") @ApiModelProperty("完整文件名称") private String fileName;
|
||||
@TableField("file_size") @ApiModelProperty("文件大小, 单位:字节") private Long fileSize;
|
||||
@TableField("file_mime") @ApiModelProperty("文件类型") private String fileMime;
|
||||
@ApiModelProperty("短文件名") @TableField("file_prefix") private String filePrefix;
|
||||
@ApiModelProperty("文件后缀") @TableField("file_suffix") private String fileSuffix;
|
||||
@TableField("file_md5") @ApiModelProperty("文件md5") private String fileMd5;
|
||||
@TableField("file_url") @ApiModelProperty("文件链接") private String fileUrl;
|
||||
@TableField("file_code") @ApiModelProperty("文件编码") private String fileCode;
|
||||
@TableField("object_name") @ApiModelProperty("对象路径") private String objectName;
|
||||
}
|
||||
|
||||
+13
-33
@@ -33,38 +33,18 @@ import lombok.Setter;
|
||||
public class SystemQuartzJobTb extends KitBaseUserTimeTb {
|
||||
|
||||
public static final String JOB_KEY = "JOB_KEY";
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
@NotNull(groups = {Update.class})
|
||||
private Long id;
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "用于子任务唯一标识", hidden = true)
|
||||
private String uuid;
|
||||
@ApiModelProperty(value = "定时器名称")
|
||||
private String jobName;
|
||||
@NotBlank
|
||||
@ApiModelProperty(value = "Bean名称")
|
||||
private String beanName;
|
||||
@NotBlank
|
||||
@ApiModelProperty(value = "方法名称")
|
||||
private String methodName;
|
||||
@ApiModelProperty(value = "参数")
|
||||
private String params;
|
||||
@NotBlank
|
||||
@ApiModelProperty(value = "cron表达式")
|
||||
private String cronExpression;
|
||||
@ApiModelProperty(value = "状态:暂停或启动")
|
||||
private Boolean isPause = false;
|
||||
@ApiModelProperty(value = "负责人")
|
||||
private String personInCharge;
|
||||
@ApiModelProperty(value = "报警邮箱")
|
||||
private String email;
|
||||
@ApiModelProperty(value = "子任务")
|
||||
private String subTask;
|
||||
@ApiModelProperty(value = "失败后暂停")
|
||||
private Boolean pauseAfterFailure;
|
||||
@NotBlank
|
||||
@ApiModelProperty(value = "备注")
|
||||
@TableField(updateStrategy = FieldStrategy.ALWAYS)
|
||||
private String
|
||||
@TableId(value = "id", type = IdType.AUTO) @NotNull(groups = {Update.class}) private Long id;
|
||||
@TableField(exist = false) @ApiModelProperty(value = "用于子任务唯一标识", hidden = true) private String uuid;
|
||||
@ApiModelProperty(value = "定时器名称") private String jobName;
|
||||
@NotBlank @ApiModelProperty(value = "Bean名称") private String beanName;
|
||||
@NotBlank @ApiModelProperty(value = "方法名称") private String methodName;
|
||||
@ApiModelProperty(value = "参数") private String params;
|
||||
@NotBlank @ApiModelProperty(value = "cron表达式") private String cronExpression;
|
||||
@ApiModelProperty(value = "状态:暂停或启动") private Boolean isPause = false;
|
||||
@ApiModelProperty(value = "负责人") private String personInCharge;
|
||||
@ApiModelProperty(value = "报警邮箱") private String email;
|
||||
@ApiModelProperty(value = "子任务") private String subTask;
|
||||
@ApiModelProperty(value = "失败后暂停") private Boolean pauseAfterFailure;
|
||||
@NotBlank @ApiModelProperty(value = "备注") @TableField(updateStrategy = FieldStrategy.ALWAYS) private String
|
||||
description;
|
||||
}
|
||||
+10
-22
@@ -31,26 +31,14 @@ import lombok.EqualsAndHashCode;
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class SystemQuartzLogTb extends KitObject {
|
||||
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
@ApiModelProperty(value = "ID", hidden = true)
|
||||
private Long id;
|
||||
@ApiModelProperty(value = "任务名称", hidden = true)
|
||||
private String jobName;
|
||||
@ApiModelProperty(value = "bean名称", hidden = true)
|
||||
private String beanName;
|
||||
@ApiModelProperty(value = "方法名称", hidden = true)
|
||||
private String methodName;
|
||||
@ApiModelProperty(value = "参数", hidden = true)
|
||||
private String params;
|
||||
@ApiModelProperty(value = "cron表达式", hidden = true)
|
||||
private String cronExpression;
|
||||
@ApiModelProperty(value = "状态", hidden = true)
|
||||
private Boolean isSuccess;
|
||||
@ApiModelProperty(value = "异常详情", hidden = true)
|
||||
private String exceptionDetail;
|
||||
@ApiModelProperty(value = "执行耗时", hidden = true)
|
||||
private Long time;
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@ApiModelProperty(value = "创建时间", hidden = true)
|
||||
private Date createTime;
|
||||
@TableId(value = "id", type = IdType.AUTO) @ApiModelProperty(value = "ID", hidden = true) private Long id;
|
||||
@ApiModelProperty(value = "任务名称", hidden = true) private String jobName;
|
||||
@ApiModelProperty(value = "bean名称", hidden = true) private String beanName;
|
||||
@ApiModelProperty(value = "方法名称", hidden = true) private String methodName;
|
||||
@ApiModelProperty(value = "参数", hidden = true) private String params;
|
||||
@ApiModelProperty(value = "cron表达式", hidden = true) private String cronExpression;
|
||||
@ApiModelProperty(value = "状态", hidden = true) private Boolean isSuccess;
|
||||
@ApiModelProperty(value = "异常详情", hidden = true) private String exceptionDetail;
|
||||
@ApiModelProperty(value = "执行耗时", hidden = true) private Long time;
|
||||
@TableField(fill = FieldFill.INSERT) @ApiModelProperty(value = "创建时间", hidden = true) private Date createTime;
|
||||
}
|
||||
|
||||
+2
-4
@@ -26,8 +26,6 @@ import lombok.Setter;
|
||||
@TableName("system_roles_depts")
|
||||
public class SystemRoleDeptTb extends KitObject {
|
||||
|
||||
@TableField(value = "role_id")
|
||||
private Long roleId;
|
||||
@TableField(value = "dept_id")
|
||||
private Long deptId;
|
||||
@TableField(value = "role_id") private Long roleId;
|
||||
@TableField(value = "dept_id") private Long deptId;
|
||||
}
|
||||
+2
-4
@@ -13,8 +13,6 @@ import lombok.Setter;
|
||||
@TableName("system_roles_menus")
|
||||
public class SystemRoleMenuTb {
|
||||
|
||||
@TableField(value = "role_id")
|
||||
private Long roleId;
|
||||
@TableField(value = "menu_id")
|
||||
private Long menuId;
|
||||
@TableField(value = "role_id") private Long roleId;
|
||||
@TableField(value = "menu_id") private Long menuId;
|
||||
}
|
||||
|
||||
+7
-15
@@ -23,9 +23,9 @@ import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.util.Objects;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import java.util.Objects;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@@ -37,21 +37,13 @@ import lombok.Setter;
|
||||
@TableName("system_role")
|
||||
public class SystemRoleTb extends KitBaseUserTimeTb {
|
||||
|
||||
@NotNull(groups = {Update.class})
|
||||
@TableId(value = "role_id", type = IdType.AUTO)
|
||||
@ApiModelProperty(value = "ID", hidden = true)
|
||||
private Long id;
|
||||
@NotBlank
|
||||
@ApiModelProperty(value = "名称", hidden = true)
|
||||
private String name;
|
||||
@ApiModelProperty(value = "数据权限,全部 、 本级 、 自定义")
|
||||
private String dataScope =
|
||||
@NotNull(groups = {Update.class}) @TableId(value = "role_id", type = IdType.AUTO)
|
||||
@ApiModelProperty(value = "ID", hidden = true) private Long id;
|
||||
@NotBlank @ApiModelProperty(value = "名称", hidden = true) private String name;
|
||||
@ApiModelProperty(value = "数据权限,全部 、 本级 、 自定义") private String dataScope =
|
||||
SystemDataScopeEnum.THIS_LEVEL.getValue();
|
||||
@ApiModelProperty(value = "级别,数值越小,级别越大")
|
||||
private Integer level = 3;
|
||||
@ApiModelProperty(value = "描述")
|
||||
@TableField(updateStrategy = FieldStrategy.ALWAYS)
|
||||
private String description;
|
||||
@ApiModelProperty(value = "级别,数值越小,级别越大") private Integer level = 3;
|
||||
@ApiModelProperty(value = "描述") @TableField(updateStrategy = FieldStrategy.ALWAYS) private String description;
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
|
||||
+2
-4
@@ -13,8 +13,6 @@ import lombok.Setter;
|
||||
@TableName("system_users_jobs")
|
||||
public class SystemUserJobTb {
|
||||
|
||||
@TableField(value = "user_id")
|
||||
private Long userId;
|
||||
@TableField(value = "job_id")
|
||||
private Long jobId;
|
||||
@TableField(value = "user_id") private Long userId;
|
||||
@TableField(value = "job_id") private Long jobId;
|
||||
}
|
||||
|
||||
+2
-4
@@ -26,8 +26,6 @@ import lombok.Setter;
|
||||
@TableName("system_users_roles")
|
||||
public class SystemUserRoleTb extends KitObject {
|
||||
|
||||
@TableField(value = "user_id")
|
||||
private Long userId;
|
||||
@TableField(value = "role_id")
|
||||
private Long roleId;
|
||||
@TableField(value = "user_id") private Long userId;
|
||||
@TableField(value = "role_id") private Long roleId;
|
||||
}
|
||||
+17
-40
@@ -21,11 +21,11 @@ import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.util.Date;
|
||||
import java.util.Objects;
|
||||
import jakarta.validation.constraints.Email;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import java.util.Date;
|
||||
import java.util.Objects;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@@ -34,44 +34,21 @@ import lombok.Setter;
|
||||
@TableName("system_user")
|
||||
public class SystemUserTb extends KitBaseUserTimeTb {
|
||||
|
||||
@NotNull(groups = Update.class)
|
||||
@TableId(value = "user_id", type = IdType.AUTO)
|
||||
@ApiModelProperty(value = "ID", hidden = true)
|
||||
private Long id;
|
||||
@TableField(value = "dept_id")
|
||||
@ApiModelProperty(hidden = true)
|
||||
private Long deptId;
|
||||
@ApiModelProperty(value = "用户部门")
|
||||
@TableField(exist = false)
|
||||
private SystemDeptTb dept;
|
||||
@NotBlank
|
||||
@ApiModelProperty(value = "用户名称")
|
||||
private String username;
|
||||
@NotBlank
|
||||
@ApiModelProperty(value = "用户昵称")
|
||||
private String nickName;
|
||||
@Email
|
||||
@NotBlank
|
||||
@ApiModelProperty(value = "邮箱")
|
||||
private String email;
|
||||
@NotBlank
|
||||
@ApiModelProperty(value = "电话号码")
|
||||
private String phone;
|
||||
@ApiModelProperty(value = "用户性别")
|
||||
private String gender;
|
||||
@ApiModelProperty(value = "头像真实名称", hidden = true)
|
||||
private String avatarName;
|
||||
@ApiModelProperty(value = "头像存储的路径", hidden = true)
|
||||
private String avatarPath;
|
||||
@ApiModelProperty(value = "密码")
|
||||
private String password;
|
||||
@NotNull
|
||||
@ApiModelProperty(value = "是否启用")
|
||||
private Boolean enabled;
|
||||
@ApiModelProperty(value = "是否为admin账号", hidden = true)
|
||||
private Boolean isAdmin = false;
|
||||
@ApiModelProperty(value = "最后修改密码的时间", hidden = true)
|
||||
private Date pwdResetTime;
|
||||
@NotNull(groups = Update.class) @TableId(value = "user_id", type = IdType.AUTO)
|
||||
@ApiModelProperty(value = "ID", hidden = true) private Long id;
|
||||
@TableField(value = "dept_id") @ApiModelProperty(hidden = true) private Long deptId;
|
||||
@ApiModelProperty(value = "用户部门") @TableField(exist = false) private SystemDeptTb dept;
|
||||
@NotBlank @ApiModelProperty(value = "用户名称") private String username;
|
||||
@NotBlank @ApiModelProperty(value = "用户昵称") private String nickName;
|
||||
@Email @NotBlank @ApiModelProperty(value = "邮箱") private String email;
|
||||
@NotBlank @ApiModelProperty(value = "电话号码") private String phone;
|
||||
@ApiModelProperty(value = "用户性别") private String gender;
|
||||
@ApiModelProperty(value = "头像真实名称", hidden = true) private String avatarName;
|
||||
@ApiModelProperty(value = "头像存储的路径", hidden = true) private String avatarPath;
|
||||
@ApiModelProperty(value = "密码") private String password;
|
||||
@NotNull @ApiModelProperty(value = "是否启用") private Boolean enabled;
|
||||
@ApiModelProperty(value = "是否为admin账号", hidden = true) private Boolean isAdmin = false;
|
||||
@ApiModelProperty(value = "最后修改密码的时间", hidden = true) private Date pwdResetTime;
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
|
||||
+3
-6
@@ -24,10 +24,7 @@ import lombok.Setter;
|
||||
@Setter
|
||||
public class SystemCheckEmailCaptchaArgs extends KitObject {
|
||||
|
||||
@NotBlank(message = "邮箱不能为空")
|
||||
private String email;
|
||||
@NotBlank(message = "验证码不能为空")
|
||||
private String code;
|
||||
@NotBlank(message = "验证码业务标识不能为空")
|
||||
private String bizCode;
|
||||
@NotBlank(message = "邮箱不能为空") private String email;
|
||||
@NotBlank(message = "验证码不能为空") private String code;
|
||||
@NotBlank(message = "验证码业务标识不能为空") private String bizCode;
|
||||
}
|
||||
|
||||
+2
-4
@@ -25,10 +25,8 @@ import lombok.EqualsAndHashCode;
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class SystemCreateDeptArgs extends KitObject {
|
||||
|
||||
@NotBlank(message = "部门名称必填")
|
||||
private String name;
|
||||
@NotNull(message = "部门排序必填")
|
||||
private Integer deptSort;
|
||||
@NotBlank(message = "部门名称必填") private String name;
|
||||
@NotNull(message = "部门排序必填") private Integer deptSort;
|
||||
private Boolean enabled;
|
||||
private String isTop;
|
||||
private Long pid;
|
||||
|
||||
+1
-2
@@ -24,7 +24,6 @@ import lombok.EqualsAndHashCode;
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class SystemCreateDictArgs extends KitObject {
|
||||
|
||||
@NotBlank(message = "字典名称必填")
|
||||
private String name;
|
||||
@NotBlank(message = "字典名称必填") private String name;
|
||||
private String description;
|
||||
}
|
||||
|
||||
+4
-8
@@ -26,12 +26,8 @@ import lombok.EqualsAndHashCode;
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class SystemCreateDictDetailArgs extends KitObject {
|
||||
|
||||
@NotNull(message = "参数dict必填")
|
||||
private SystemDictTb dict;
|
||||
@NotBlank(message = "字典标签必填")
|
||||
private String label;
|
||||
@NotBlank(message = "字典值必填")
|
||||
private String value;
|
||||
@NotNull(message = "字典排序必填")
|
||||
private Integer dictSort;
|
||||
@NotNull(message = "参数dict必填") private SystemDictTb dict;
|
||||
@NotBlank(message = "字典标签必填") private String label;
|
||||
@NotBlank(message = "字典值必填") private String value;
|
||||
@NotNull(message = "字典排序必填") private Integer dictSort;
|
||||
}
|
||||
|
||||
+2
-4
@@ -25,9 +25,7 @@ import lombok.EqualsAndHashCode;
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class SystemCreateJobArgs extends KitObject {
|
||||
|
||||
@NotBlank(message = "职位名称必填")
|
||||
private String name;
|
||||
@NotNull(message = "职位排序必填")
|
||||
private Integer jobSort;
|
||||
@NotBlank(message = "职位名称必填") private String name;
|
||||
@NotNull(message = "职位排序必填") private Integer jobSort;
|
||||
private Boolean enabled;
|
||||
}
|
||||
|
||||
+4
-7
@@ -17,9 +17,9 @@ package cn.odboy.system.dal.model;
|
||||
|
||||
import cn.odboy.base.KitObject;
|
||||
import cn.odboy.system.dal.dataobject.SystemDeptTb;
|
||||
import java.util.Set;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import java.util.Set;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@@ -27,12 +27,9 @@ import lombok.EqualsAndHashCode;
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class SystemCreateRoleArgs extends KitObject {
|
||||
|
||||
@NotBlank(message = "角色名称必填")
|
||||
private String name;
|
||||
@NotNull(message = "角色级别必填")
|
||||
private Integer level;
|
||||
@NotBlank(message = "数据范围必填")
|
||||
private String dataScope;
|
||||
@NotBlank(message = "角色名称必填") private String name;
|
||||
@NotNull(message = "角色级别必填") private Integer level;
|
||||
@NotBlank(message = "数据范围必填") private String dataScope;
|
||||
private String description;
|
||||
/**
|
||||
* 关联的部门
|
||||
|
||||
+1
-2
@@ -25,6 +25,5 @@ import lombok.Setter;
|
||||
@Setter
|
||||
public class SystemDictDetailVo extends SystemDictDetailTb {
|
||||
|
||||
@ApiModelProperty(value = "字典")
|
||||
private SystemDictTb dict;
|
||||
@ApiModelProperty(value = "字典") private SystemDictTb dict;
|
||||
}
|
||||
+3
-6
@@ -26,10 +26,7 @@ import lombok.EqualsAndHashCode;
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class SystemMenuMetaVo extends KitObject {
|
||||
|
||||
@ApiModelProperty(value = "菜单标题")
|
||||
private String title;
|
||||
@ApiModelProperty(value = "菜单图标")
|
||||
private String icon;
|
||||
@ApiModelProperty(value = "缓存")
|
||||
private Boolean noCache;
|
||||
@ApiModelProperty(value = "菜单标题") private String title;
|
||||
@ApiModelProperty(value = "菜单图标") private String icon;
|
||||
@ApiModelProperty(value = "缓存") private Boolean noCache;
|
||||
}
|
||||
|
||||
+8
-16
@@ -28,20 +28,12 @@ import lombok.EqualsAndHashCode;
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class SystemMenuVo extends KitObject {
|
||||
|
||||
@ApiModelProperty(value = "菜单名称")
|
||||
private String name;
|
||||
@ApiModelProperty(value = "路径")
|
||||
private String path;
|
||||
@ApiModelProperty(value = "隐藏状态")
|
||||
private Boolean hidden;
|
||||
@ApiModelProperty(value = "重定向")
|
||||
private String redirect;
|
||||
@ApiModelProperty(value = "组件")
|
||||
private String component;
|
||||
@ApiModelProperty(value = "总是显示")
|
||||
private Boolean alwaysShow;
|
||||
@ApiModelProperty(value = "元数据")
|
||||
private SystemMenuMetaVo meta;
|
||||
@ApiModelProperty(value = "子路由")
|
||||
private List<SystemMenuVo> children;
|
||||
@ApiModelProperty(value = "菜单名称") private String name;
|
||||
@ApiModelProperty(value = "路径") private String path;
|
||||
@ApiModelProperty(value = "隐藏状态") private Boolean hidden;
|
||||
@ApiModelProperty(value = "重定向") private String redirect;
|
||||
@ApiModelProperty(value = "组件") private String component;
|
||||
@ApiModelProperty(value = "总是显示") private Boolean alwaysShow;
|
||||
@ApiModelProperty(value = "元数据") private SystemMenuMetaVo meta;
|
||||
@ApiModelProperty(value = "子路由") private List<SystemMenuVo> children;
|
||||
}
|
||||
|
||||
+6
-12
@@ -23,16 +23,10 @@ import lombok.Data;
|
||||
@Data
|
||||
public class SystemQueryDeptArgs {
|
||||
|
||||
@ApiModelProperty(value = "部门id集合")
|
||||
private List<Long> ids;
|
||||
@ApiModelProperty(value = "部门名称")
|
||||
private String name;
|
||||
@ApiModelProperty(value = "是否启用")
|
||||
private Boolean enabled;
|
||||
@ApiModelProperty(value = "上级部门")
|
||||
private Long pid;
|
||||
@ApiModelProperty(value = "PID为空查询")
|
||||
private Boolean pidIsNull;
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private List<Date> createTime;
|
||||
@ApiModelProperty(value = "部门id集合") private List<Long> ids;
|
||||
@ApiModelProperty(value = "部门名称") private String name;
|
||||
@ApiModelProperty(value = "是否启用") private Boolean enabled;
|
||||
@ApiModelProperty(value = "上级部门") private Long pid;
|
||||
@ApiModelProperty(value = "PID为空查询") private Boolean pidIsNull;
|
||||
@ApiModelProperty(value = "创建时间") private List<Date> createTime;
|
||||
}
|
||||
|
||||
+3
-6
@@ -21,10 +21,7 @@ import lombok.Data;
|
||||
@Data
|
||||
public class SystemQueryDictArgs {
|
||||
|
||||
@ApiModelProperty(value = "模糊查询")
|
||||
private String blurry;
|
||||
@ApiModelProperty(value = "页码", example = "1")
|
||||
private Integer page = 1;
|
||||
@ApiModelProperty(value = "每页数据量", example = "10")
|
||||
private Integer size = 10;
|
||||
@ApiModelProperty(value = "模糊查询") private String blurry;
|
||||
@ApiModelProperty(value = "页码", example = "1") private Integer page = 1;
|
||||
@ApiModelProperty(value = "每页数据量", example = "10") private Integer size = 10;
|
||||
}
|
||||
|
||||
+2
-4
@@ -24,8 +24,6 @@ import lombok.Setter;
|
||||
@Setter
|
||||
public class SystemQueryDictDetailArgs extends KitObject {
|
||||
|
||||
@ApiModelProperty(value = "标签")
|
||||
private String label;
|
||||
@ApiModelProperty(value = "字典名称")
|
||||
private String dictName;
|
||||
@ApiModelProperty(value = "标签") private String label;
|
||||
@ApiModelProperty(value = "字典名称") private String dictName;
|
||||
}
|
||||
+5
-10
@@ -25,14 +25,9 @@ import lombok.NoArgsConstructor;
|
||||
@NoArgsConstructor
|
||||
public class SystemQueryJobArgs {
|
||||
|
||||
@ApiModelProperty(value = "岗位名称")
|
||||
private String name;
|
||||
@ApiModelProperty(value = "是否启用")
|
||||
private Boolean enabled;
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private List<Date> createTime;
|
||||
@ApiModelProperty(value = "页码", example = "1")
|
||||
private Integer page = 1;
|
||||
@ApiModelProperty(value = "每页数据量", example = "10")
|
||||
private Integer size = 10;
|
||||
@ApiModelProperty(value = "岗位名称") private String name;
|
||||
@ApiModelProperty(value = "是否启用") private Boolean enabled;
|
||||
@ApiModelProperty(value = "创建时间") private List<Date> createTime;
|
||||
@ApiModelProperty(value = "页码", example = "1") private Integer page = 1;
|
||||
@ApiModelProperty(value = "每页数据量", example = "10") private Integer size = 10;
|
||||
}
|
||||
|
||||
+4
-8
@@ -23,12 +23,8 @@ import lombok.Data;
|
||||
@Data
|
||||
public class SystemQueryMenuArgs {
|
||||
|
||||
@ApiModelProperty(value = "模糊查询")
|
||||
private String blurry;
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private List<Date> createTime;
|
||||
@ApiModelProperty(value = "PID为空查询")
|
||||
private Boolean pidIsNull;
|
||||
@ApiModelProperty(value = "PID")
|
||||
private Long pid;
|
||||
@ApiModelProperty(value = "模糊查询") private String blurry;
|
||||
@ApiModelProperty(value = "创建时间") private List<Date> createTime;
|
||||
@ApiModelProperty(value = "PID为空查询") private Boolean pidIsNull;
|
||||
@ApiModelProperty(value = "PID") private Long pid;
|
||||
}
|
||||
|
||||
+5
-10
@@ -23,14 +23,9 @@ import lombok.Data;
|
||||
@Data
|
||||
public class SystemQueryQuartzJobArgs {
|
||||
|
||||
@ApiModelProperty(value = "定时任务名称")
|
||||
private String jobName;
|
||||
@ApiModelProperty(value = "是否成功")
|
||||
private Boolean isSuccess;
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private List<Date> createTime;
|
||||
@ApiModelProperty(value = "页码", example = "1")
|
||||
private Integer page = 1;
|
||||
@ApiModelProperty(value = "每页数据量", example = "10")
|
||||
private Integer size = 10;
|
||||
@ApiModelProperty(value = "定时任务名称") private String jobName;
|
||||
@ApiModelProperty(value = "是否成功") private Boolean isSuccess;
|
||||
@ApiModelProperty(value = "创建时间") private List<Date> createTime;
|
||||
@ApiModelProperty(value = "页码", example = "1") private Integer page = 1;
|
||||
@ApiModelProperty(value = "每页数据量", example = "10") private Integer size = 10;
|
||||
}
|
||||
|
||||
+5
-10
@@ -23,14 +23,9 @@ import lombok.Data;
|
||||
@Data
|
||||
public class SystemQueryRoleArgs {
|
||||
|
||||
@ApiModelProperty(value = "模糊查询")
|
||||
private String blurry;
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private List<Date> createTime;
|
||||
@ApiModelProperty(value = "页码", example = "1")
|
||||
private Integer page = 1;
|
||||
@ApiModelProperty(value = "每页数据量", example = "10")
|
||||
private Integer size = 10;
|
||||
@ApiModelProperty(value = "偏移量", hidden = true)
|
||||
private long offset;
|
||||
@ApiModelProperty(value = "模糊查询") private String blurry;
|
||||
@ApiModelProperty(value = "创建时间") private List<Date> createTime;
|
||||
@ApiModelProperty(value = "页码", example = "1") private Integer page = 1;
|
||||
@ApiModelProperty(value = "每页数据量", example = "10") private Integer size = 10;
|
||||
@ApiModelProperty(value = "偏移量", hidden = true) private long offset;
|
||||
}
|
||||
|
||||
+4
-8
@@ -23,12 +23,8 @@ import lombok.Data;
|
||||
@Data
|
||||
public class SystemQueryStorageArgs {
|
||||
|
||||
@ApiModelProperty(value = "模糊查询")
|
||||
private String blurry;
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private List<Date> createTime;
|
||||
@ApiModelProperty(value = "页码", example = "1")
|
||||
private Integer page = 1;
|
||||
@ApiModelProperty(value = "每页数据量", example = "10")
|
||||
private Integer size = 10;
|
||||
@ApiModelProperty(value = "模糊查询") private String blurry;
|
||||
@ApiModelProperty(value = "创建时间") private List<Date> createTime;
|
||||
@ApiModelProperty(value = "页码", example = "1") private Integer page = 1;
|
||||
@ApiModelProperty(value = "每页数据量", example = "10") private Integer size = 10;
|
||||
}
|
||||
|
||||
+8
-16
@@ -28,20 +28,12 @@ import lombok.EqualsAndHashCode;
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class SystemQueryUserArgs extends KitObject {
|
||||
|
||||
@ApiModelProperty(value = "ID")
|
||||
private Long id;
|
||||
@ApiModelProperty(value = "多个ID")
|
||||
private Set<Long> deptIds = new HashSet<>();
|
||||
@ApiModelProperty(value = "模糊查询")
|
||||
private String blurry;
|
||||
@ApiModelProperty(value = "是否启用")
|
||||
private Boolean enabled;
|
||||
@ApiModelProperty(value = "部门ID")
|
||||
private Long deptId;
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private List<Date> createTime;
|
||||
@ApiModelProperty(value = "页码", example = "1")
|
||||
private Integer page = 1;
|
||||
@ApiModelProperty(value = "每页数据量", example = "10")
|
||||
private Integer size = 10;
|
||||
@ApiModelProperty(value = "ID") private Long id;
|
||||
@ApiModelProperty(value = "多个ID") private Set<Long> deptIds = new HashSet<>();
|
||||
@ApiModelProperty(value = "模糊查询") private String blurry;
|
||||
@ApiModelProperty(value = "是否启用") private Boolean enabled;
|
||||
@ApiModelProperty(value = "部门ID") private Long deptId;
|
||||
@ApiModelProperty(value = "创建时间") private List<Date> createTime;
|
||||
@ApiModelProperty(value = "页码", example = "1") private Integer page = 1;
|
||||
@ApiModelProperty(value = "每页数据量", example = "10") private Integer size = 10;
|
||||
}
|
||||
|
||||
+1
-2
@@ -29,6 +29,5 @@ import org.springframework.security.core.GrantedAuthority;
|
||||
@AllArgsConstructor
|
||||
public class SystemRoleCodeVo implements GrantedAuthority {
|
||||
|
||||
@ApiModelProperty(value = "角色名")
|
||||
private String authority;
|
||||
@ApiModelProperty(value = "角色名") private String authority;
|
||||
}
|
||||
|
||||
+3
-6
@@ -13,10 +13,7 @@ import lombok.Setter;
|
||||
@Setter
|
||||
public class SystemRoleVo extends SystemRoleTb {
|
||||
|
||||
@ApiModelProperty(value = "用户", hidden = true)
|
||||
private Set<SystemUserTb> users;
|
||||
@ApiModelProperty(value = "菜单", hidden = true)
|
||||
private Set<SystemMenuTb> menus;
|
||||
@ApiModelProperty(value = "部门", hidden = true)
|
||||
private Set<SystemDeptTb> depts;
|
||||
@ApiModelProperty(value = "用户", hidden = true) private Set<SystemUserTb> users;
|
||||
@ApiModelProperty(value = "菜单", hidden = true) private Set<SystemMenuTb> menus;
|
||||
@ApiModelProperty(value = "部门", hidden = true) private Set<SystemDeptTb> depts;
|
||||
}
|
||||
|
||||
+4
-10
@@ -16,9 +16,9 @@
|
||||
package cn.odboy.system.dal.model;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.util.List;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import java.util.List;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
@@ -31,13 +31,7 @@ import lombok.NoArgsConstructor;
|
||||
@NoArgsConstructor
|
||||
public class SystemSendEmailArgs {
|
||||
|
||||
@NotEmpty
|
||||
@ApiModelProperty(value = "收件人")
|
||||
private List<String> tos;
|
||||
@NotBlank
|
||||
@ApiModelProperty(value = "主题")
|
||||
private String subject;
|
||||
@NotBlank
|
||||
@ApiModelProperty(value = "内容")
|
||||
private String content;
|
||||
@NotEmpty @ApiModelProperty(value = "收件人") private List<String> tos;
|
||||
@NotBlank @ApiModelProperty(value = "主题") private String subject;
|
||||
@NotBlank @ApiModelProperty(value = "内容") private String content;
|
||||
}
|
||||
|
||||
+12
-24
@@ -29,29 +29,17 @@ import lombok.EqualsAndHashCode;
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class SystemSimpleUserVo extends KitObject {
|
||||
|
||||
@ApiModelProperty(value = "ID", hidden = true)
|
||||
private Long id;
|
||||
@ApiModelProperty(value = "用户角色")
|
||||
private Set<SystemRoleTb> roles;
|
||||
@ApiModelProperty(value = "用户岗位")
|
||||
private Set<SystemJobTb> jobs;
|
||||
@ApiModelProperty(value = "ID", hidden = true) private Long id;
|
||||
@ApiModelProperty(value = "用户角色") private Set<SystemRoleTb> roles;
|
||||
@ApiModelProperty(value = "用户岗位") private Set<SystemJobTb> jobs;
|
||||
private Long deptId;
|
||||
@TableField(exist = false)
|
||||
private SystemDeptTb dept;
|
||||
@ApiModelProperty(value = "用户名称")
|
||||
private String username;
|
||||
@ApiModelProperty(value = "用户昵称")
|
||||
private String nickName;
|
||||
@ApiModelProperty(value = "邮箱")
|
||||
private String email;
|
||||
@ApiModelProperty(value = "电话号码")
|
||||
private String phone;
|
||||
@ApiModelProperty(value = "用户性别")
|
||||
private String gender;
|
||||
@ApiModelProperty(value = "头像真实名称", hidden = true)
|
||||
private String avatarName;
|
||||
@ApiModelProperty(value = "是否启用")
|
||||
private Boolean enabled;
|
||||
@ApiModelProperty(value = "是否为admin账号", hidden = true)
|
||||
private Boolean isAdmin = false;
|
||||
@TableField(exist = false) private SystemDeptTb dept;
|
||||
@ApiModelProperty(value = "用户名称") private String username;
|
||||
@ApiModelProperty(value = "用户昵称") private String nickName;
|
||||
@ApiModelProperty(value = "邮箱") private String email;
|
||||
@ApiModelProperty(value = "电话号码") private String phone;
|
||||
@ApiModelProperty(value = "用户性别") private String gender;
|
||||
@ApiModelProperty(value = "头像真实名称", hidden = true) private String avatarName;
|
||||
@ApiModelProperty(value = "是否启用") private Boolean enabled;
|
||||
@ApiModelProperty(value = "是否为admin账号", hidden = true) private Boolean isAdmin = false;
|
||||
}
|
||||
+5
-10
@@ -25,22 +25,17 @@ import lombok.EqualsAndHashCode;
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class SystemUpdateQuartzJobArgs extends KitObject {
|
||||
|
||||
@NotNull
|
||||
private Long id;
|
||||
@NotNull private Long id;
|
||||
private String uuid;
|
||||
private String jobName;
|
||||
@NotBlank
|
||||
private String beanName;
|
||||
@NotBlank
|
||||
private String methodName;
|
||||
@NotBlank private String beanName;
|
||||
@NotBlank private String methodName;
|
||||
private String params;
|
||||
@NotBlank
|
||||
private String cronExpression;
|
||||
@NotBlank private String cronExpression;
|
||||
private Boolean isPause = false;
|
||||
private String personInCharge;
|
||||
private String email;
|
||||
private String subTask;
|
||||
private Boolean pauseAfterFailure;
|
||||
@NotBlank
|
||||
private String description;
|
||||
@NotBlank private String description;
|
||||
}
|
||||
|
||||
+2
-4
@@ -24,8 +24,6 @@ import lombok.Data;
|
||||
@Data
|
||||
public class SystemUpdateUserPasswordArgs {
|
||||
|
||||
@ApiModelProperty(value = "旧密码")
|
||||
private String oldPass;
|
||||
@ApiModelProperty(value = "新密码")
|
||||
private String newPass;
|
||||
@ApiModelProperty(value = "旧密码") private String oldPass;
|
||||
@ApiModelProperty(value = "新密码") private String newPass;
|
||||
}
|
||||
|
||||
+3
-6
@@ -29,12 +29,9 @@ import org.springframework.security.core.userdetails.UserDetails;
|
||||
@AllArgsConstructor
|
||||
public class SystemUserJwtVo implements UserDetails {
|
||||
|
||||
@ApiModelProperty(value = "用户")
|
||||
private final SystemUserTb user;
|
||||
@ApiModelProperty(value = "数据权限")
|
||||
private final List<Long> dataScopes;
|
||||
@ApiModelProperty(value = "角色")
|
||||
private final List<SystemRoleCodeVo> authorities;
|
||||
@ApiModelProperty(value = "用户") private final SystemUserTb user;
|
||||
@ApiModelProperty(value = "数据权限") private final List<Long> dataScopes;
|
||||
@ApiModelProperty(value = "角色") private final List<SystemRoleCodeVo> authorities;
|
||||
|
||||
public Set<String> getRoles() {
|
||||
return authorities.stream().map(SystemRoleCodeVo::getAuthority).collect(Collectors.toSet());
|
||||
|
||||
+4
-10
@@ -24,14 +24,8 @@ import lombok.Setter;
|
||||
@Setter
|
||||
public class SystemUserLoginArgs {
|
||||
|
||||
@NotBlank
|
||||
@ApiModelProperty(value = "用户名")
|
||||
private String username;
|
||||
@NotBlank
|
||||
@ApiModelProperty(value = "密码")
|
||||
private String password;
|
||||
@ApiModelProperty(value = "验证码")
|
||||
private String code;
|
||||
@ApiModelProperty(value = "验证码的key")
|
||||
private String uuid = "";
|
||||
@NotBlank @ApiModelProperty(value = "用户名") private String username;
|
||||
@NotBlank @ApiModelProperty(value = "密码") private String password;
|
||||
@ApiModelProperty(value = "验证码") private String code;
|
||||
@ApiModelProperty(value = "验证码的key") private String uuid = "";
|
||||
}
|
||||
|
||||
+9
-18
@@ -25,22 +25,13 @@ import lombok.Data;
|
||||
@Data
|
||||
public class SystemUserOnlineVo {
|
||||
|
||||
@ApiModelProperty(value = "Token编号")
|
||||
private String uid;
|
||||
@ApiModelProperty(value = "用户名")
|
||||
private String userName;
|
||||
@ApiModelProperty(value = "昵称")
|
||||
private String nickName;
|
||||
@ApiModelProperty(value = "岗位")
|
||||
private String dept;
|
||||
@ApiModelProperty(value = "浏览器")
|
||||
private String browser;
|
||||
@ApiModelProperty(value = "IP")
|
||||
private String ip;
|
||||
@ApiModelProperty(value = "地址")
|
||||
private String address;
|
||||
@ApiModelProperty(value = "token")
|
||||
private String key;
|
||||
@ApiModelProperty(value = "登录时间")
|
||||
private Date loginTime;
|
||||
@ApiModelProperty(value = "Token编号") private String uid;
|
||||
@ApiModelProperty(value = "用户名") private String userName;
|
||||
@ApiModelProperty(value = "昵称") private String nickName;
|
||||
@ApiModelProperty(value = "岗位") private String dept;
|
||||
@ApiModelProperty(value = "浏览器") private String browser;
|
||||
@ApiModelProperty(value = "IP") private String ip;
|
||||
@ApiModelProperty(value = "地址") private String address;
|
||||
@ApiModelProperty(value = "token") private String key;
|
||||
@ApiModelProperty(value = "登录时间") private Date loginTime;
|
||||
}
|
||||
|
||||
+2
-4
@@ -12,8 +12,6 @@ import lombok.Setter;
|
||||
@Setter
|
||||
public class SystemUserVo extends SystemUserTb {
|
||||
|
||||
@ApiModelProperty(value = "用户角色")
|
||||
private Set<SystemRoleTb> roles;
|
||||
@ApiModelProperty(value = "用户岗位")
|
||||
private Set<SystemJobTb> jobs;
|
||||
@ApiModelProperty(value = "用户角色") private Set<SystemRoleTb> roles;
|
||||
@ApiModelProperty(value = "用户岗位") private Set<SystemJobTb> jobs;
|
||||
}
|
||||
|
||||
-46
@@ -15,14 +15,9 @@
|
||||
*/
|
||||
package cn.odboy.system.dal.mysql;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.odboy.system.dal.dataobject.SystemDeptTb;
|
||||
import cn.odboy.system.dal.model.SystemQueryDeptArgs;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import java.util.List;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
@@ -33,47 +28,6 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
@Mapper
|
||||
public interface SystemDeptMapper extends BaseMapper<SystemDeptTb> {
|
||||
|
||||
default List<SystemDeptTb> selectDeptByPidIsNull() {
|
||||
LambdaQueryWrapper<SystemDeptTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.isNull(SystemDeptTb::getPid);
|
||||
return selectList(wrapper);
|
||||
}
|
||||
|
||||
default long countDeptByPid(Long pid) {
|
||||
LambdaQueryWrapper<SystemDeptTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemDeptTb::getPid, pid);
|
||||
return selectCount(wrapper);
|
||||
}
|
||||
|
||||
default List<SystemDeptTb> queryDeptByArgs(SystemQueryDeptArgs criteria) {
|
||||
LambdaQueryWrapper<SystemDeptTb> wrapper = new LambdaQueryWrapper<>();
|
||||
if (criteria != null) {
|
||||
wrapper.in(CollUtil.isNotEmpty(criteria.getIds()), SystemDeptTb::getId, criteria.getIds());
|
||||
wrapper.like(StrUtil.isNotBlank(criteria.getName()), SystemDeptTb::getName, criteria.getName());
|
||||
wrapper.eq(criteria.getEnabled() != null, SystemDeptTb::getEnabled, criteria.getEnabled());
|
||||
wrapper.eq(criteria.getPid() != null, SystemDeptTb::getPid, criteria.getPid());
|
||||
wrapper.isNull(criteria.getPidIsNull() != null, SystemDeptTb::getPid);
|
||||
if (CollUtil.isNotEmpty(criteria.getCreateTime()) && criteria.getCreateTime().size() >= 2) {
|
||||
wrapper.between(SystemDeptTb::getCreateTime, criteria.getCreateTime().get(0),
|
||||
criteria.getCreateTime().get(1));
|
||||
}
|
||||
}
|
||||
wrapper.orderByAsc(SystemDeptTb::getDeptSort);
|
||||
return selectList(wrapper);
|
||||
}
|
||||
|
||||
default List<SystemDeptTb> selectEnabledDepts() {
|
||||
LambdaQueryWrapper<SystemDeptTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemDeptTb::getEnabled, 1);
|
||||
return selectList(wrapper);
|
||||
}
|
||||
|
||||
default List<SystemDeptTb> selectDeptByPid(long pid) {
|
||||
LambdaQueryWrapper<SystemDeptTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemDeptTb::getPid, pid);
|
||||
return selectList(wrapper);
|
||||
}
|
||||
|
||||
default void updateDeptSubCountById(long count, Long deptId) {
|
||||
LambdaUpdateWrapper<SystemDeptTb> wrapper = new LambdaUpdateWrapper<>();
|
||||
wrapper.eq(SystemDeptTb::getId, deptId);
|
||||
|
||||
-16
@@ -15,13 +15,8 @@
|
||||
*/
|
||||
package cn.odboy.system.dal.mysql;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.odboy.system.dal.dataobject.SystemDictDetailTb;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import java.util.List;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
@@ -32,15 +27,4 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
@Mapper
|
||||
public interface SystemDictDetailMapper extends BaseMapper<SystemDictDetailTb> {
|
||||
|
||||
default List<SystemDictDetailTb> selectByDictId(Long dictId) {
|
||||
LambdaQueryWrapper<SystemDictDetailTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemDictDetailTb::getDictId, dictId);
|
||||
return selectList(wrapper);
|
||||
}
|
||||
|
||||
default IPage<SystemDictDetailTb> selectDictDetailByArgs(List<Long> dictIds, Page<SystemDictDetailTb> page) {
|
||||
LambdaQueryWrapper<SystemDictDetailTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(CollUtil.isNotEmpty(dictIds), SystemDictDetailTb::getDictId, dictIds);
|
||||
return selectPage(page, wrapper);
|
||||
}
|
||||
}
|
||||
|
||||
+4
-22
@@ -15,12 +15,9 @@
|
||||
*/
|
||||
package cn.odboy.system.dal.mysql;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.odboy.system.dal.dataobject.SystemDictTb;
|
||||
import cn.odboy.system.dal.model.SystemQueryDictArgs;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import java.util.List;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@@ -32,28 +29,13 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
@Mapper
|
||||
public interface SystemDictMapper extends BaseMapper<SystemDictTb> {
|
||||
|
||||
default void injectQueryParams(SystemQueryDictArgs args, LambdaQueryWrapper<SystemDictTb> wrapper) {
|
||||
if (args != null) {
|
||||
wrapper.and(StrUtil.isNotBlank(args.getBlurry()), c -> c.like(SystemDictTb::getName, args.getBlurry()).or()
|
||||
.like(SystemDictTb::getDescription, args.getBlurry()));
|
||||
}
|
||||
default List<SystemDictTb> listAll() {
|
||||
return selectList(null);
|
||||
}
|
||||
|
||||
default List<SystemDictTb> selectDictByArgs(SystemQueryDictArgs args) {
|
||||
default SystemDictTb getByName(String dictName) {
|
||||
LambdaQueryWrapper<SystemDictTb> wrapper = new LambdaQueryWrapper<>();
|
||||
injectQueryParams(args, wrapper);
|
||||
return selectList(wrapper);
|
||||
}
|
||||
|
||||
default List<SystemDictTb> selectDictByArgs(SystemQueryDictArgs args, Page<SystemDictTb> page) {
|
||||
LambdaQueryWrapper<SystemDictTb> wrapper = new LambdaQueryWrapper<>();
|
||||
injectQueryParams(args, wrapper);
|
||||
return selectList(page, wrapper);
|
||||
}
|
||||
|
||||
default SystemDictTb getByName(String name) {
|
||||
LambdaQueryWrapper<SystemDictTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemDictTb::getName, name);
|
||||
wrapper.eq(SystemDictTb::getName, dictName);
|
||||
return selectOne(wrapper);
|
||||
}
|
||||
}
|
||||
|
||||
-36
@@ -15,15 +15,8 @@
|
||||
*/
|
||||
package cn.odboy.system.dal.mysql;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.odboy.system.dal.dataobject.SystemJobTb;
|
||||
import cn.odboy.system.dal.model.SystemQueryJobArgs;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import java.util.List;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
@@ -34,33 +27,4 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
@Mapper
|
||||
public interface SystemJobMapper extends BaseMapper<SystemJobTb> {
|
||||
|
||||
default SystemJobTb getJobByName(String name) {
|
||||
LambdaQueryWrapper<SystemJobTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemJobTb::getName, name);
|
||||
return selectOne(wrapper);
|
||||
}
|
||||
|
||||
default void injectQueryParams(SystemQueryJobArgs criteria, LambdaQueryWrapper<SystemJobTb> wrapper) {
|
||||
if (criteria != null) {
|
||||
wrapper.like(StrUtil.isNotBlank(criteria.getName()), SystemJobTb::getName, criteria.getName());
|
||||
wrapper.eq(criteria.getEnabled() != null, SystemJobTb::getEnabled, criteria.getEnabled());
|
||||
if (CollUtil.isNotEmpty(criteria.getCreateTime()) && criteria.getCreateTime().size() >= 2) {
|
||||
wrapper.between(SystemJobTb::getCreateTime, criteria.getCreateTime().get(0),
|
||||
criteria.getCreateTime().get(1));
|
||||
}
|
||||
}
|
||||
wrapper.orderByDesc(SystemJobTb::getJobSort, SystemJobTb::getId);
|
||||
}
|
||||
|
||||
default IPage<SystemJobTb> selectJobByArgs(SystemQueryJobArgs criteria, Page<SystemJobTb> page) {
|
||||
LambdaQueryWrapper<SystemJobTb> wrapper = new LambdaQueryWrapper<>();
|
||||
this.injectQueryParams(criteria, wrapper);
|
||||
return selectPage(page, wrapper);
|
||||
}
|
||||
|
||||
default List<SystemJobTb> selectJobByArgs(SystemQueryJobArgs criteria) {
|
||||
LambdaQueryWrapper<SystemJobTb> wrapper = new LambdaQueryWrapper<>();
|
||||
this.injectQueryParams(criteria, wrapper);
|
||||
return selectList(wrapper);
|
||||
}
|
||||
}
|
||||
|
||||
-34
@@ -15,15 +15,8 @@
|
||||
*/
|
||||
package cn.odboy.system.dal.mysql;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.odboy.system.dal.dataobject.SystemLocalStorageTb;
|
||||
import cn.odboy.system.dal.model.SystemQueryStorageArgs;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import java.util.List;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
@@ -34,31 +27,4 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
@Mapper
|
||||
public interface SystemLocalStorageMapper extends BaseMapper<SystemLocalStorageTb> {
|
||||
|
||||
default void injectQueryParams(SystemQueryStorageArgs criteria, LambdaQueryWrapper<SystemLocalStorageTb> wrapper) {
|
||||
if (criteria != null) {
|
||||
wrapper.and(StrUtil.isNotBlank(criteria.getBlurry()),
|
||||
c -> c.like(SystemLocalStorageTb::getName, criteria.getBlurry()).or()
|
||||
.like(SystemLocalStorageTb::getSuffix, criteria.getBlurry()).or()
|
||||
.like(SystemLocalStorageTb::getType, criteria.getBlurry()).or()
|
||||
.like(SystemLocalStorageTb::getCreateBy, criteria.getBlurry()));
|
||||
if (CollUtil.isNotEmpty(criteria.getCreateTime()) && criteria.getCreateTime().size() >= 2) {
|
||||
wrapper.between(SystemLocalStorageTb::getUpdateTime, criteria.getCreateTime().get(0),
|
||||
criteria.getCreateTime().get(1));
|
||||
}
|
||||
}
|
||||
wrapper.orderByDesc(SystemLocalStorageTb::getId);
|
||||
}
|
||||
|
||||
default List<SystemLocalStorageTb> selectLocalStorageByArgs(SystemQueryStorageArgs criteria) {
|
||||
LambdaQueryWrapper<SystemLocalStorageTb> wrapper = new LambdaQueryWrapper<>();
|
||||
injectQueryParams(criteria, wrapper);
|
||||
return selectList(wrapper);
|
||||
}
|
||||
|
||||
default IPage<SystemLocalStorageTb> selectLocalStorageByArgs(SystemQueryStorageArgs criteria,
|
||||
Page<SystemLocalStorageTb> page) {
|
||||
LambdaQueryWrapper<SystemLocalStorageTb> wrapper = new LambdaQueryWrapper<>();
|
||||
injectQueryParams(criteria, wrapper);
|
||||
return selectPage(page, wrapper);
|
||||
}
|
||||
}
|
||||
|
||||
-64
@@ -15,14 +15,8 @@
|
||||
*/
|
||||
package cn.odboy.system.dal.mysql;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.odboy.system.dal.dataobject.SystemMenuTb;
|
||||
import cn.odboy.system.dal.model.SystemQueryMenuArgs;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import java.util.List;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
@@ -33,62 +27,4 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
@Mapper
|
||||
public interface SystemMenuMapper extends BaseMapper<SystemMenuTb> {
|
||||
|
||||
default void updateMenuSubCntByMenuId(Long count, Long menuId) {
|
||||
if (count != null) {
|
||||
LambdaUpdateWrapper<SystemMenuTb> wrapper = new LambdaUpdateWrapper<>();
|
||||
wrapper.eq(SystemMenuTb::getId, menuId);
|
||||
wrapper.set(SystemMenuTb::getSubCount, count);
|
||||
update(wrapper);
|
||||
}
|
||||
}
|
||||
|
||||
default SystemMenuTb getMenuByComponentName(String componentName) {
|
||||
LambdaQueryWrapper<SystemMenuTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemMenuTb::getComponentName, componentName);
|
||||
return selectOne(wrapper);
|
||||
}
|
||||
|
||||
default SystemMenuTb getMenuByTitle(String title) {
|
||||
LambdaQueryWrapper<SystemMenuTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemMenuTb::getTitle, title);
|
||||
return selectOne(wrapper);
|
||||
}
|
||||
|
||||
default Long countMenuByPid(Long pid) {
|
||||
LambdaQueryWrapper<SystemMenuTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemMenuTb::getPid, pid);
|
||||
return selectCount(wrapper);
|
||||
}
|
||||
|
||||
default List<SystemMenuTb> selectMenuByArgs(SystemQueryMenuArgs criteria) {
|
||||
LambdaQueryWrapper<SystemMenuTb> wrapper = new LambdaQueryWrapper<>();
|
||||
if (criteria != null) {
|
||||
wrapper.isNull(criteria.getPidIsNull() != null, SystemMenuTb::getPid);
|
||||
wrapper.eq(criteria.getPid() != null, SystemMenuTb::getPid, criteria.getPid());
|
||||
wrapper.and(StrUtil.isNotBlank(criteria.getBlurry()),
|
||||
c -> c.like(SystemMenuTb::getTitle, criteria.getBlurry()).or()
|
||||
.like(SystemMenuTb::getComponentName, criteria.getBlurry()).or()
|
||||
.like(SystemMenuTb::getPermission, criteria.getBlurry()));
|
||||
if (CollUtil.isNotEmpty(criteria.getCreateTime()) && criteria.getCreateTime().size() >= 2) {
|
||||
wrapper.between(SystemMenuTb::getCreateTime, criteria.getCreateTime().get(0),
|
||||
criteria.getCreateTime().get(1));
|
||||
}
|
||||
}
|
||||
wrapper.orderByAsc(SystemMenuTb::getMenuSort);
|
||||
return selectList(wrapper);
|
||||
}
|
||||
|
||||
default List<SystemMenuTb> selectMenuByPid(Long pid) {
|
||||
LambdaQueryWrapper<SystemMenuTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemMenuTb::getPid, pid);
|
||||
wrapper.orderByAsc(SystemMenuTb::getMenuSort);
|
||||
return selectList(wrapper);
|
||||
}
|
||||
|
||||
default List<SystemMenuTb> selectMenuByPidIsNull() {
|
||||
LambdaQueryWrapper<SystemMenuTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.isNull(SystemMenuTb::getPid);
|
||||
wrapper.orderByAsc(SystemMenuTb::getMenuSort);
|
||||
return selectList(wrapper);
|
||||
}
|
||||
}
|
||||
|
||||
-21
@@ -15,11 +15,7 @@
|
||||
*/
|
||||
package cn.odboy.system.dal.mysql;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.odboy.system.dal.dataobject.SystemRoleTb;
|
||||
import cn.odboy.system.dal.model.SystemQueryRoleArgs;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@@ -31,21 +27,4 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
@Mapper
|
||||
public interface SystemRoleMapper extends BaseMapper<SystemRoleTb> {
|
||||
|
||||
default Long countRoleByArgs(SystemQueryRoleArgs criteria) {
|
||||
LambdaQueryWrapper<SystemRoleTb> wrapper = new LambdaQueryWrapper<>();
|
||||
if (criteria != null) {
|
||||
wrapper.and(StrUtil.isNotBlank(criteria.getBlurry()),
|
||||
c -> c.like(SystemRoleTb::getName, criteria.getBlurry()).or()
|
||||
.like(SystemRoleTb::getDescription, criteria.getBlurry()));
|
||||
if (CollUtil.isNotEmpty(criteria.getCreateTime()) && criteria.getCreateTime().size() >= 2) {
|
||||
wrapper.between(SystemRoleTb::getCreateTime, criteria.getCreateTime().get(0),
|
||||
criteria.getCreateTime().get(1));
|
||||
}
|
||||
}
|
||||
return selectCount(wrapper);
|
||||
}
|
||||
|
||||
default SystemRoleTb getRoleById(Long roleId) {
|
||||
return selectById(roleId);
|
||||
}
|
||||
}
|
||||
|
||||
-50
@@ -15,14 +15,9 @@
|
||||
*/
|
||||
package cn.odboy.system.dal.mysql;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.odboy.system.dal.dataobject.SystemUserTb;
|
||||
import cn.odboy.system.dal.model.SystemQueryUserArgs;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@@ -34,51 +29,6 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
@Mapper
|
||||
public interface SystemUserMapper extends BaseMapper<SystemUserTb> {
|
||||
|
||||
default SystemUserTb getUserByUsername(String username) {
|
||||
LambdaQueryWrapper<SystemUserTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemUserTb::getUsername, username);
|
||||
wrapper.eq(SystemUserTb::getEnabled, 1);
|
||||
return selectOne(wrapper);
|
||||
}
|
||||
|
||||
default Long countUserByJobIds(Set<Long> jobIds) {
|
||||
if (CollUtil.isEmpty(jobIds)) {
|
||||
return 0L;
|
||||
}
|
||||
// 需要通过用户岗位关联表查询,这里暂时返回0
|
||||
// 实际实现需要在Service层通过关联查询
|
||||
return 0L;
|
||||
}
|
||||
|
||||
default Long countUserByRoleIds(Set<Long> roleIds) {
|
||||
if (CollUtil.isEmpty(roleIds)) {
|
||||
return 0L;
|
||||
}
|
||||
// 需要通过用户角色关联表查询,这里暂时返回0
|
||||
// 实际实现需要在Service层通过关联查询
|
||||
return 0L;
|
||||
}
|
||||
|
||||
default long countUserByDeptIds(Set<Long> deptIds) {
|
||||
LambdaQueryWrapper<SystemUserTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(SystemUserTb::getDeptId, deptIds);
|
||||
return selectCount(wrapper);
|
||||
}
|
||||
|
||||
default SystemUserTb getUserByEmail(String email) {
|
||||
LambdaQueryWrapper<SystemUserTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemUserTb::getEmail, email);
|
||||
wrapper.eq(SystemUserTb::getEnabled, 1);
|
||||
return selectOne(wrapper);
|
||||
}
|
||||
|
||||
default SystemUserTb getUserByPhone(String phone) {
|
||||
LambdaQueryWrapper<SystemUserTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemUserTb::getPhone, phone);
|
||||
wrapper.eq(SystemUserTb::getEnabled, 1);
|
||||
return selectOne(wrapper);
|
||||
}
|
||||
|
||||
default void updateUserPasswordByUsername(String username, String password) {
|
||||
LambdaUpdateWrapper<SystemUserTb> wrapper = new LambdaUpdateWrapper<>();
|
||||
wrapper.eq(SystemUserTb::getUsername, username);
|
||||
|
||||
+1
-2
@@ -14,8 +14,7 @@ import org.springframework.stereotype.Component;
|
||||
@Component
|
||||
public class SystemUserInfoDAO {
|
||||
|
||||
@Autowired
|
||||
private KitRedisHelper redisHelper;
|
||||
@Autowired private KitRedisHelper redisHelper;
|
||||
|
||||
/**
|
||||
* 添加缓存到Redis
|
||||
|
||||
+2
-2
@@ -13,6 +13,8 @@ import cn.odboy.util.KitFileUtil;
|
||||
import cn.odboy.util.KitIPUtil;
|
||||
import cn.odboy.util.KitPageUtil;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
@@ -21,8 +23,6 @@ import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
+1
-1
@@ -55,7 +55,7 @@ public class UserDetailsHandler implements UserDetailsService {
|
||||
// 获取用户的权限
|
||||
List<SystemRoleCodeVo> authorities = systemRoleService.buildUserRolePermissions(user);
|
||||
// 初始化JwtUserDto
|
||||
userJwtVo = new SystemUserJwtVo(user, systemDataService.findDeptIdListByArgs(user), authorities);
|
||||
userJwtVo = new SystemUserJwtVo(user, systemDataService.queryDeptIdByArgs(user), authorities);
|
||||
// 添加缓存数据
|
||||
systemUserInfoDAO.saveUserLoginInfoByUserName(username, userJwtVo);
|
||||
}
|
||||
|
||||
+1
-1
@@ -38,7 +38,7 @@ public class ActiveJobRegister implements ApplicationRunner {
|
||||
*/
|
||||
@Override
|
||||
public void run(ApplicationArguments applicationArguments) {
|
||||
List<SystemQuartzJobTb> quartzJobs = systemQuartzJobService.queryEnableQuartzJob();
|
||||
List<SystemQuartzJobTb> quartzJobs = systemQuartzJobService.listEnableQuartzJob();
|
||||
quartzJobs.forEach(quartzManage::addJob);
|
||||
log.info("Timing task injection complete");
|
||||
}
|
||||
|
||||
+9
-12
@@ -36,12 +36,9 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class SystemDataService {
|
||||
|
||||
@Autowired
|
||||
private SystemRoleService systemRoleService;
|
||||
@Autowired
|
||||
private SystemDeptService systemDeptService;
|
||||
@Autowired
|
||||
private SystemRoleDeptService systemRoleDeptService;
|
||||
@Autowired private SystemRoleService systemRoleService;
|
||||
@Autowired private SystemDeptService systemDeptService;
|
||||
@Autowired private SystemRoleDeptService systemRoleDeptService;
|
||||
|
||||
/**
|
||||
* 获取数据权限
|
||||
@@ -49,7 +46,7 @@ public class SystemDataService {
|
||||
* @param user /
|
||||
* @return /
|
||||
*/
|
||||
public List<Long> findDeptIdListByArgs(SystemUserTb user) {
|
||||
public List<Long> queryDeptIdByArgs(SystemUserTb user) {
|
||||
List<Long> deptIds = new ArrayList<>();
|
||||
// 查询用户角色
|
||||
List<SystemRoleVo> roleList = systemRoleService.queryRoleByUsersId(user.getId());
|
||||
@@ -61,7 +58,7 @@ public class SystemDataService {
|
||||
deptIds.add(user.getDept().getId());
|
||||
break;
|
||||
case CUSTOMIZE:
|
||||
deptIds.addAll(this.findCustomDataPermissionList(deptIds, role));
|
||||
deptIds.addAll(this.queryCustomDataPermissionByArgs(deptIds, role));
|
||||
break;
|
||||
default:
|
||||
return new ArrayList<>();
|
||||
@@ -77,13 +74,13 @@ public class SystemDataService {
|
||||
* @param role 角色
|
||||
* @return 数据权限ID
|
||||
*/
|
||||
private List<Long> findCustomDataPermissionList(List<Long> deptIds, SystemRoleTb role) {
|
||||
List<SystemDeptTb> deptList = systemRoleDeptService.selectDeptByRoleId(role.getId());
|
||||
private List<Long> queryCustomDataPermissionByArgs(List<Long> deptIds, SystemRoleTb role) {
|
||||
List<SystemDeptTb> deptList = systemRoleDeptService.listDeptByRoleId(role.getId());
|
||||
for (SystemDeptTb dept : deptList) {
|
||||
deptIds.add(dept.getId());
|
||||
List<SystemDeptTb> deptChildren = systemDeptService.queryDeptByPid(dept.getId());
|
||||
List<SystemDeptTb> deptChildren = systemDeptService.listDeptByPid(dept.getId());
|
||||
if (CollUtil.isNotEmpty(deptChildren)) {
|
||||
deptIds.addAll(systemDeptService.queryChildDeptIdListByDeptIds(deptChildren));
|
||||
deptIds.addAll(systemDeptService.queryChildDeptIdByDeptIds(deptChildren));
|
||||
}
|
||||
}
|
||||
return deptIds;
|
||||
|
||||
+90
-52
@@ -29,11 +29,11 @@ import cn.odboy.system.dal.model.SystemProductLineTreeVo;
|
||||
import cn.odboy.system.dal.model.SystemProductLineVo;
|
||||
import cn.odboy.system.dal.model.SystemQueryDeptArgs;
|
||||
import cn.odboy.system.dal.mysql.SystemDeptMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemRoleMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemUserMapper;
|
||||
import cn.odboy.system.framework.permission.core.KitSecurityHelper;
|
||||
import cn.odboy.util.KitClassUtil;
|
||||
import cn.odboy.util.KitFileUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.ArrayList;
|
||||
@@ -47,7 +47,6 @@ import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -55,12 +54,9 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
@Service
|
||||
public class SystemDeptService {
|
||||
|
||||
@Autowired
|
||||
private SystemDeptMapper systemDeptMapper;
|
||||
@Autowired
|
||||
private SystemUserMapper systemUserMapper;
|
||||
@Autowired
|
||||
private SystemRoleService systemRoleService;
|
||||
@Autowired private SystemDeptMapper systemDeptMapper;
|
||||
@Autowired private SystemUserService systemUserService;
|
||||
@Autowired private SystemRoleService systemRoleService;
|
||||
|
||||
/**
|
||||
* 创建
|
||||
@@ -99,7 +95,7 @@ public class SystemDeptService {
|
||||
* @param deptSet /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void removeDeptByIds(Set<SystemDeptTb> deptSet) {
|
||||
public void deleteDeptByIds(Set<SystemDeptTb> deptSet) {
|
||||
for (SystemDeptTb dept : deptSet) {
|
||||
systemDeptMapper.deleteById(dept.getId());
|
||||
this.updateDeptSubCnt(dept.getPid());
|
||||
@@ -133,11 +129,17 @@ public class SystemDeptService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateDeptSubCnt(Long deptId) {
|
||||
if (deptId != null) {
|
||||
long count = systemDeptMapper.countDeptByPid(deptId);
|
||||
long count = this.countDeptByPid(deptId);
|
||||
systemDeptMapper.updateDeptSubCountById(count, deptId);
|
||||
}
|
||||
}
|
||||
|
||||
private long countDeptByPid(Long pid) {
|
||||
LambdaQueryWrapper<SystemDeptTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemDeptTb::getPid, pid);
|
||||
return systemDeptMapper.selectCount(wrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 筛选出 list 中没有父部门(即 pid 不在其他部门 id 列表中的部门)的部门列表
|
||||
*/
|
||||
@@ -154,21 +156,37 @@ public class SystemDeptService {
|
||||
return deptList;
|
||||
}
|
||||
|
||||
private List<SystemDeptTb> queryDeptByArgs(SystemQueryDeptArgs args) {
|
||||
LambdaQueryWrapper<SystemDeptTb> wrapper = new LambdaQueryWrapper<>();
|
||||
if (args != null) {
|
||||
wrapper.in(CollUtil.isNotEmpty(args.getIds()), SystemDeptTb::getId, args.getIds());
|
||||
wrapper.like(StrUtil.isNotBlank(args.getName()), SystemDeptTb::getName, args.getName());
|
||||
wrapper.eq(args.getEnabled() != null, SystemDeptTb::getEnabled, args.getEnabled());
|
||||
wrapper.eq(args.getPid() != null, SystemDeptTb::getPid, args.getPid());
|
||||
wrapper.isNull(args.getPidIsNull() != null, SystemDeptTb::getPid);
|
||||
if (CollUtil.isNotEmpty(args.getCreateTime()) && args.getCreateTime().size() >= 2) {
|
||||
wrapper.between(SystemDeptTb::getCreateTime, args.getCreateTime().get(0), args.getCreateTime().get(1));
|
||||
}
|
||||
}
|
||||
wrapper.orderByAsc(SystemDeptTb::getDeptSort);
|
||||
return systemDeptMapper.selectList(wrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询所有数据
|
||||
*
|
||||
* @param criteria 条件
|
||||
* @param args 条件
|
||||
* @param isQuery /
|
||||
* @return /
|
||||
* @throws Exception /
|
||||
*/
|
||||
public List<SystemDeptTb> queryAllDept(SystemQueryDeptArgs criteria, Boolean isQuery) throws Exception {
|
||||
public List<SystemDeptTb> queryAllDeptByArgs(SystemQueryDeptArgs args, Boolean isQuery) throws Exception {
|
||||
String dataScopeType = KitSecurityHelper.getDataScopeType();
|
||||
if (isQuery) {
|
||||
if (dataScopeType.equals(SystemDataScopeEnum.ALL.getValue())) {
|
||||
criteria.setPidIsNull(true);
|
||||
args.setPidIsNull(true);
|
||||
}
|
||||
List<Field> fields = KitClassUtil.getAllFields(criteria.getClass(), new ArrayList<>());
|
||||
List<Field> fields = KitClassUtil.getAllFields(args.getClass(), new ArrayList<>());
|
||||
List<String> fieldNames = new ArrayList<>() {{
|
||||
add("pidIsNull");
|
||||
add("enabled");
|
||||
@@ -176,19 +194,19 @@ public class SystemDeptService {
|
||||
for (Field field : fields) {
|
||||
// 设置对象的访问权限, 保证对private的属性的访问
|
||||
field.setAccessible(true);
|
||||
Object val = field.get(criteria);
|
||||
Object val = field.get(args);
|
||||
if (fieldNames.contains(field.getName())) {
|
||||
continue;
|
||||
}
|
||||
if (ObjectUtil.isNotNull(val)) {
|
||||
criteria.setPidIsNull(null);
|
||||
args.setPidIsNull(null);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
// 数据权限
|
||||
criteria.setIds(KitSecurityHelper.getCurrentUserDataScope());
|
||||
List<SystemDeptTb> list = systemDeptMapper.queryDeptByArgs(criteria);
|
||||
args.setIds(KitSecurityHelper.getCurrentUserDataScope());
|
||||
List<SystemDeptTb> list = this.queryDeptByArgs(args);
|
||||
// 如果为空, 就代表为自定义权限或者本级权限, 就需要去重, 不理解可以注释掉,看查询结果
|
||||
if (StrUtil.isBlank(dataScopeType)) {
|
||||
return this.deduplication(list);
|
||||
@@ -206,16 +224,6 @@ public class SystemDeptService {
|
||||
return systemDeptMapper.selectById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据PID查询
|
||||
*
|
||||
* @param pid /
|
||||
* @return /
|
||||
*/
|
||||
public List<SystemDeptTb> queryDeptByPid(long pid) {
|
||||
return systemDeptMapper.selectDeptByPid(pid);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取部门下所有关联的部门
|
||||
*
|
||||
@@ -223,30 +231,24 @@ public class SystemDeptService {
|
||||
* @param depts /
|
||||
* @return /
|
||||
*/
|
||||
public Set<SystemDeptTb> queryRelationDeptSet(List<SystemDeptTb> deptTbList, Set<SystemDeptTb> depts) {
|
||||
private Set<SystemDeptTb> queryRelationDeptByArgs(List<SystemDeptTb> deptTbList, Set<SystemDeptTb> depts) {
|
||||
for (SystemDeptTb dept : deptTbList) {
|
||||
depts.add(dept);
|
||||
List<SystemDeptTb> deptList = systemDeptMapper.selectDeptByPid(dept.getId());
|
||||
List<SystemDeptTb> deptList = this.listDeptByPid(dept.getId());
|
||||
if (CollUtil.isNotEmpty(deptList)) {
|
||||
queryRelationDeptSet(deptList, depts);
|
||||
queryRelationDeptByArgs(deptList, depts);
|
||||
}
|
||||
}
|
||||
return depts;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取
|
||||
*
|
||||
* @param deptList 、
|
||||
* @return 、
|
||||
*/
|
||||
public List<Long> queryChildDeptIdListByDeptIds(List<SystemDeptTb> deptList) {
|
||||
public List<Long> queryChildDeptIdByDeptIds(List<SystemDeptTb> deptList) {
|
||||
List<Long> list = new ArrayList<>();
|
||||
for (SystemDeptTb systemDeptTb : deptList) {
|
||||
if (systemDeptTb != null && systemDeptTb.getEnabled()) {
|
||||
List<SystemDeptTb> deptList1 = systemDeptMapper.selectDeptByPid(systemDeptTb.getId());
|
||||
List<SystemDeptTb> deptList1 = this.listDeptByPid(systemDeptTb.getId());
|
||||
if (CollUtil.isNotEmpty(deptList1)) {
|
||||
list.addAll(queryChildDeptIdListByDeptIds(deptList1));
|
||||
list.addAll(queryChildDeptIdByDeptIds(deptList1));
|
||||
}
|
||||
list.add(systemDeptTb.getId());
|
||||
}
|
||||
@@ -261,22 +263,46 @@ public class SystemDeptService {
|
||||
* @param deptList /
|
||||
* @return /
|
||||
*/
|
||||
public List<SystemDeptTb> querySuperiorDeptListByPid(SystemDeptTb dept, List<SystemDeptTb> deptList) {
|
||||
private List<SystemDeptTb> querySuperiorDeptByPid(SystemDeptTb dept, List<SystemDeptTb> deptList) {
|
||||
if (dept.getPid() == null) {
|
||||
deptList.addAll(systemDeptMapper.selectDeptByPidIsNull());
|
||||
deptList.addAll(this.listRootDept());
|
||||
return deptList;
|
||||
}
|
||||
deptList.addAll(systemDeptMapper.selectDeptByPid(dept.getPid()));
|
||||
return querySuperiorDeptListByPid(this.getDeptById(dept.getPid()), deptList);
|
||||
deptList.addAll(this.listDeptByPid(dept.getPid()));
|
||||
return querySuperiorDeptByPid(this.getDeptById(dept.getPid()), deptList);
|
||||
}
|
||||
|
||||
private List<SystemDeptTb> listRootDept() {
|
||||
LambdaQueryWrapper<SystemDeptTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.isNull(SystemDeptTb::getPid);
|
||||
return systemDeptMapper.selectList(wrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建树形数据
|
||||
*
|
||||
* @param deptList /
|
||||
* @return /
|
||||
*/
|
||||
public KitPageResult<SystemDeptTb> buildDeptTree(List<SystemDeptTb> deptList) {
|
||||
public KitPageResult<SystemDeptTb> searchDeptTree(List<Long> ids, Boolean exclude) {
|
||||
Set<SystemDeptTb> deptSet1 = new LinkedHashSet<>();
|
||||
for (Long id : ids) {
|
||||
// 同级数据
|
||||
SystemDeptTb dept = this.getDeptById(id);
|
||||
// 上级数据
|
||||
List<SystemDeptTb> depts = this.querySuperiorDeptByPid(dept, new ArrayList<>());
|
||||
if (exclude) {
|
||||
for (SystemDeptTb data : depts) {
|
||||
if (data.getId().equals(dept.getPid())) {
|
||||
data.setSubCount(data.getSubCount() - 1);
|
||||
}
|
||||
}
|
||||
// 编辑部门时不显示自己以及自己下级的数据, 避免出现PID数据环形问题
|
||||
depts = depts.stream().filter(i -> !ids.contains(i.getId())).collect(Collectors.toList());
|
||||
}
|
||||
deptSet1.addAll(depts);
|
||||
}
|
||||
ArrayList<SystemDeptTb> deptList = new ArrayList<>(deptSet1);
|
||||
// 构建部门树
|
||||
Set<SystemDeptTb> trees = new LinkedHashSet<>();
|
||||
Set<SystemDeptTb> deptSet = new LinkedHashSet<>();
|
||||
List<String> deptNames = deptList.stream().map(SystemDeptTb::getName).collect(Collectors.toList());
|
||||
@@ -317,7 +343,7 @@ public class SystemDeptService {
|
||||
*/
|
||||
public void verifyBindRelationByIds(Set<SystemDeptTb> deptSet) {
|
||||
Set<Long> deptIds = deptSet.stream().map(SystemDeptTb::getId).collect(Collectors.toSet());
|
||||
if (systemUserMapper.countUserByDeptIds(deptIds) > 0) {
|
||||
if (systemUserService.countUserByDeptIds(deptIds) > 0) {
|
||||
throw new BadRequestException("所选部门存在用户关联,请解除后再试!");
|
||||
}
|
||||
if (systemRoleService.countRoleByDeptIds(deptIds) > 0) {
|
||||
@@ -325,6 +351,12 @@ public class SystemDeptService {
|
||||
}
|
||||
}
|
||||
|
||||
private List<SystemDeptTb> listEnabledDepts() {
|
||||
LambdaQueryWrapper<SystemDeptTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemDeptTb::getEnabled, 1);
|
||||
return systemDeptMapper.selectList(wrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 遍历所有部门和子部门
|
||||
*
|
||||
@@ -336,16 +368,16 @@ public class SystemDeptService {
|
||||
// 根部门
|
||||
depts.add(this.getDeptById(id));
|
||||
// 子部门
|
||||
List<SystemDeptTb> deptList = queryDeptByPid(id);
|
||||
List<SystemDeptTb> deptList = listDeptByPid(id);
|
||||
if (CollectionUtil.isNotEmpty(deptList)) {
|
||||
depts = queryRelationDeptSet(deptList, depts);
|
||||
depts = queryRelationDeptByArgs(deptList, depts);
|
||||
}
|
||||
}
|
||||
return depts;
|
||||
}
|
||||
|
||||
public List<SystemProductLineVo> queryDeptSelectDataSource() {
|
||||
List<SystemDeptTb> depts = systemDeptMapper.selectEnabledDepts();
|
||||
List<SystemDeptTb> depts = this.listEnabledDepts();
|
||||
return buildDeptSelectOptions(depts);
|
||||
}
|
||||
|
||||
@@ -394,7 +426,7 @@ public class SystemDeptService {
|
||||
}
|
||||
|
||||
public List<SystemProductLineTreeVo> queryDeptSelectProDataSource() {
|
||||
List<SystemDeptTb> depts = systemDeptMapper.selectEnabledDepts();
|
||||
List<SystemDeptTb> depts = this.listEnabledDepts();
|
||||
// 获取所有部门并按父子关系组织
|
||||
Map<Long, SystemDeptTb> deptMap =
|
||||
depts.stream().collect(Collectors.toMap(SystemDeptTb::getId, Function.identity()));
|
||||
@@ -441,4 +473,10 @@ public class SystemDeptService {
|
||||
vo.setChildren(children);
|
||||
return vo;
|
||||
}
|
||||
|
||||
public List<SystemDeptTb> listDeptByPid(long pid) {
|
||||
LambdaQueryWrapper<SystemDeptTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemDeptTb::getPid, pid);
|
||||
return systemDeptMapper.selectList(wrapper);
|
||||
}
|
||||
}
|
||||
|
||||
+21
-13
@@ -41,11 +41,8 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@Service
|
||||
public class SystemDictDetailService {
|
||||
|
||||
@Autowired
|
||||
private SystemDictDetailMapper systemDictDetailMapper;
|
||||
@Autowired
|
||||
private SystemDictMapper systemDictMapper;
|
||||
@Autowired private SystemDictDetailMapper systemDictDetailMapper;
|
||||
@Autowired private SystemDictMapper systemDictMapper;
|
||||
|
||||
/**
|
||||
* 创建
|
||||
@@ -65,7 +62,7 @@ public class SystemDictDetailService {
|
||||
* @param args /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void modifyDictDetailById(SystemDictDetailTb args) {
|
||||
public void updateDictDetailById(SystemDictDetailTb args) {
|
||||
SystemDictDetailTb dictDetail = systemDictDetailMapper.selectById(args.getId());
|
||||
args.setId(dictDetail.getId());
|
||||
systemDictDetailMapper.insertOrUpdate(args);
|
||||
@@ -77,7 +74,7 @@ public class SystemDictDetailService {
|
||||
* @param id /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void removeDictDetailById(Long id) {
|
||||
public void deleteDictDetailById(Long id) {
|
||||
systemDictDetailMapper.deleteById(id);
|
||||
}
|
||||
|
||||
@@ -90,6 +87,18 @@ public class SystemDictDetailService {
|
||||
}
|
||||
}
|
||||
|
||||
private List<SystemDictDetailTb> listDictDetailByDictId(Long dictId) {
|
||||
LambdaQueryWrapper<SystemDictDetailTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemDictDetailTb::getDictId, dictId);
|
||||
return systemDictDetailMapper.selectList(wrapper);
|
||||
}
|
||||
|
||||
private IPage<SystemDictDetailTb> searchDictDetailByArgs(List<Long> dictIds, Page<SystemDictDetailTb> page) {
|
||||
LambdaQueryWrapper<SystemDictDetailTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(CollUtil.isNotEmpty(dictIds), SystemDictDetailTb::getDictId, dictIds);
|
||||
return systemDictDetailMapper.selectPage(page, wrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
@@ -97,14 +106,14 @@ public class SystemDictDetailService {
|
||||
* @param page 分页参数
|
||||
* @return /
|
||||
*/
|
||||
public KitPageResult<SystemDictDetailVo> queryDictDetailByArgs(SystemQueryDictDetailArgs args,
|
||||
public KitPageResult<SystemDictDetailVo> searchDictDetail(SystemQueryDictDetailArgs args,
|
||||
Page<SystemDictDetailTb> page) {
|
||||
IPage<SystemDictDetailVo> iPage = new Page<>();
|
||||
List<Long> dictIds = new ArrayList<>();
|
||||
List<SystemDictTb> dictTbs = new ArrayList<>();
|
||||
|
||||
if (args == null) {
|
||||
dictTbs.addAll(systemDictMapper.selectList(null));
|
||||
dictTbs.addAll(systemDictMapper.listAll());
|
||||
dictIds = dictTbs.stream().map(SystemDictTb::getId).collect(Collectors.toList());
|
||||
} else {
|
||||
String dictName = args.getDictName();
|
||||
@@ -121,7 +130,7 @@ public class SystemDictDetailService {
|
||||
}
|
||||
|
||||
Map<Long, SystemDictTb> id2ItemMap = dictTbs.stream().collect(Collectors.toMap(SystemDictTb::getId, i -> i));
|
||||
iPage = systemDictDetailMapper.selectDictDetailByArgs(dictIds, page)
|
||||
iPage = this.searchDictDetailByArgs(dictIds, page)
|
||||
.convert(i -> BeanUtil.copyProperties(i, SystemDictDetailVo.class));
|
||||
for (SystemDictDetailVo record : iPage.getRecords()) {
|
||||
record.setDict(id2ItemMap.get(record.getDictId()));
|
||||
@@ -135,7 +144,7 @@ public class SystemDictDetailService {
|
||||
* @param name 字典名称
|
||||
* @return /
|
||||
*/
|
||||
public List<SystemDictDetailVo> queryDictDetailByName(String name) {
|
||||
public List<SystemDictDetailVo> listDictDetailByName(String name) {
|
||||
if (StrUtil.isBlank(name)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
@@ -143,11 +152,10 @@ public class SystemDictDetailService {
|
||||
if (systemDictTb == null) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return systemDictDetailMapper.selectByDictId(systemDictTb.getId()).stream().map(m -> {
|
||||
return this.listDictDetailByDictId(systemDictTb.getId()).stream().map(m -> {
|
||||
SystemDictDetailVo detailVo = BeanUtil.copyProperties(m, SystemDictDetailVo.class);
|
||||
detailVo.setDict(systemDictTb);
|
||||
return detailVo;
|
||||
}).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+24
-21
@@ -17,6 +17,7 @@ package cn.odboy.system.service;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.odboy.base.KitPageResult;
|
||||
import cn.odboy.system.dal.dataobject.SystemDictDetailTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemDictTb;
|
||||
@@ -26,24 +27,24 @@ import cn.odboy.system.dal.model.SystemQueryDictArgs;
|
||||
import cn.odboy.system.dal.mysql.SystemDictMapper;
|
||||
import cn.odboy.util.KitFileUtil;
|
||||
import cn.odboy.util.KitPageUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@Service
|
||||
public class SystemDictService {
|
||||
@Autowired
|
||||
private SystemDictMapper systemDictMapper;
|
||||
@Autowired
|
||||
private SystemDictDetailService systemDictDetailService;
|
||||
|
||||
@Autowired private SystemDictMapper systemDictMapper;
|
||||
@Autowired private SystemDictDetailService systemDictDetailService;
|
||||
|
||||
/**
|
||||
* 创建
|
||||
@@ -61,7 +62,7 @@ public class SystemDictService {
|
||||
* @param args /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void modifyDictById(SystemDictTb args) {
|
||||
public void updateDictById(SystemDictTb args) {
|
||||
SystemDictTb dict = systemDictMapper.selectById(args.getId());
|
||||
dict.setName(args.getName());
|
||||
dict.setDescription(args.getDescription());
|
||||
@@ -74,7 +75,7 @@ public class SystemDictService {
|
||||
* @param ids /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void removeDictByIds(Set<Long> ids) {
|
||||
public void deleteDictByIds(Set<Long> ids) {
|
||||
// 删除字典
|
||||
systemDictMapper.deleteByIds(ids);
|
||||
// 删除字典详情
|
||||
@@ -91,7 +92,7 @@ public class SystemDictService {
|
||||
public void exportDictExcel(List<SystemDictTb> dicts, HttpServletResponse response) throws IOException {
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
for (SystemDictTb dict : dicts) {
|
||||
List<SystemDictDetailVo> dictDetails = systemDictDetailService.queryDictDetailByName(dict.getName());
|
||||
List<SystemDictDetailVo> dictDetails = systemDictDetailService.listDictDetailByName(dict.getName());
|
||||
if (CollectionUtil.isNotEmpty(dictDetails)) {
|
||||
for (SystemDictDetailTb dictDetail : dictDetails) {
|
||||
Map<String, Object> map = new LinkedHashMap<>();
|
||||
@@ -122,21 +123,23 @@ public class SystemDictService {
|
||||
* @param page 分页参数
|
||||
* @return /
|
||||
*/
|
||||
public KitPageResult<SystemDictTb> queryDictByArgs(SystemQueryDictArgs args, Page<SystemDictTb> page) {
|
||||
return KitPageUtil.toPage(systemDictMapper.selectDictByArgs(args, page));
|
||||
public KitPageResult<SystemDictTb> searchDict(SystemQueryDictArgs args, Page<SystemDictTb> page) {
|
||||
LambdaQueryWrapper<SystemDictTb> wrapper = new LambdaQueryWrapper<>();
|
||||
injectQueryParams(args, wrapper);
|
||||
Page<SystemDictTb> selectPage = systemDictMapper.selectPage(page, wrapper);
|
||||
return KitPageUtil.toPage(selectPage);
|
||||
}
|
||||
|
||||
private void injectQueryParams(SystemQueryDictArgs args, LambdaQueryWrapper<SystemDictTb> wrapper) {
|
||||
if (args != null) {
|
||||
wrapper.and(StrUtil.isNotBlank(args.getBlurry()), c -> c.like(SystemDictTb::getName, args.getBlurry()).or()
|
||||
.like(SystemDictTb::getDescription, args.getBlurry()));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询全部数据
|
||||
*
|
||||
* @param args /
|
||||
* @return /
|
||||
*/
|
||||
public List<SystemDictTb> queryDictByArgs(SystemQueryDictArgs args) {
|
||||
return systemDictMapper.selectDictByArgs(args);
|
||||
}
|
||||
|
||||
public SystemDictTb getById(int id) {
|
||||
return systemDictMapper.selectById(id);
|
||||
LambdaQueryWrapper<SystemDictTb> wrapper = new LambdaQueryWrapper<>();
|
||||
injectQueryParams(args, wrapper);
|
||||
return systemDictMapper.selectList(wrapper);
|
||||
}
|
||||
}
|
||||
|
||||
+5
-9
@@ -39,14 +39,10 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
@Service
|
||||
public class SystemEmailService {
|
||||
|
||||
@Autowired
|
||||
private SystemEmailConfigMapper systemEmailConfigMapper;
|
||||
@Autowired
|
||||
private KitRedisHelper redisHelper;
|
||||
@Autowired
|
||||
private AppProperties properties;
|
||||
@Value("${spring.application.title}")
|
||||
private String applicationTitle;
|
||||
@Autowired private SystemEmailConfigMapper systemEmailConfigMapper;
|
||||
@Autowired private KitRedisHelper redisHelper;
|
||||
@Autowired private AppProperties properties;
|
||||
@Value("${spring.application.title}") private String applicationTitle;
|
||||
|
||||
/**
|
||||
* 更新邮件配置
|
||||
@@ -54,7 +50,7 @@ public class SystemEmailService {
|
||||
* @param emailConfig 邮箱配置
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void modifyEmailConfig(SystemEmailConfigTb emailConfig) throws Exception {
|
||||
public void updateEmailConfigById(SystemEmailConfigTb emailConfig) throws Exception {
|
||||
SystemEmailConfigTb systemEmailConfigTb = getLastEmailConfig();
|
||||
if (!emailConfig.getPassword().equals(systemEmailConfigTb.getPassword())) {
|
||||
// 对称加密
|
||||
|
||||
+36
-19
@@ -16,23 +16,25 @@
|
||||
package cn.odboy.system.service;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.odboy.base.KitPageResult;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import cn.odboy.system.dal.dataobject.SystemJobTb;
|
||||
import cn.odboy.system.dal.model.SystemCreateJobArgs;
|
||||
import cn.odboy.system.dal.model.SystemQueryJobArgs;
|
||||
import cn.odboy.system.dal.mysql.SystemJobMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemUserMapper;
|
||||
import cn.odboy.util.KitFileUtil;
|
||||
import cn.odboy.util.KitPageUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -40,10 +42,8 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
@Service
|
||||
public class SystemJobService {
|
||||
|
||||
@Autowired
|
||||
private SystemJobMapper systemJobMapper;
|
||||
@Autowired
|
||||
private SystemUserMapper systemUserMapper;
|
||||
@Autowired private SystemJobMapper systemJobMapper;
|
||||
@Autowired private SystemUserService systemUserService;
|
||||
|
||||
/**
|
||||
* 创建
|
||||
@@ -52,7 +52,7 @@ public class SystemJobService {
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void saveJob(SystemCreateJobArgs args) {
|
||||
SystemJobTb job = systemJobMapper.getJobByName(args.getName());
|
||||
SystemJobTb job = this.getJobByName(args.getName());
|
||||
if (job != null) {
|
||||
throw new BadRequestException("职位名称已存在");
|
||||
}
|
||||
@@ -65,9 +65,9 @@ public class SystemJobService {
|
||||
* @param args /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void modifyJobById(SystemJobTb args) {
|
||||
public void updateJobById(SystemJobTb args) {
|
||||
SystemJobTb job = systemJobMapper.selectById(args.getId());
|
||||
SystemJobTb old = systemJobMapper.getJobByName(args.getName());
|
||||
SystemJobTb old = this.getJobByName(args.getName());
|
||||
if (old != null && !old.getId().equals(args.getId())) {
|
||||
throw new BadRequestException("职位名称已存在");
|
||||
}
|
||||
@@ -81,7 +81,7 @@ public class SystemJobService {
|
||||
* @param ids /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void removeJobByIds(Set<Long> ids) {
|
||||
public void deleteJobByIds(Set<Long> ids) {
|
||||
systemJobMapper.deleteByIds(ids);
|
||||
}
|
||||
|
||||
@@ -90,7 +90,6 @@ public class SystemJobService {
|
||||
*
|
||||
* @param jobs 待导出的数据
|
||||
* @param response /
|
||||
* @throws IOException
|
||||
*/
|
||||
public void exportJobExcel(List<SystemJobTb> jobs, HttpServletResponse response) throws IOException {
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
@@ -109,20 +108,21 @@ public class SystemJobService {
|
||||
*
|
||||
* @param args 条件
|
||||
* @param page 分页参数
|
||||
* @return
|
||||
*/
|
||||
public KitPageResult<SystemJobTb> queryJobByArgs(SystemQueryJobArgs args, Page<SystemJobTb> page) {
|
||||
return KitPageUtil.toPage(systemJobMapper.selectJobByArgs(args, page));
|
||||
public KitPageResult<SystemJobTb> searchJobByArgs(SystemQueryJobArgs args, Page<SystemJobTb> page) {
|
||||
LambdaQueryWrapper<SystemJobTb> wrapper = new LambdaQueryWrapper<>();
|
||||
this.injectQueryParams(args, wrapper);
|
||||
Page<SystemJobTb> selectPage = systemJobMapper.selectPage(page, wrapper);
|
||||
return KitPageUtil.toPage(selectPage);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询全部数据
|
||||
*
|
||||
* @param args /
|
||||
* @return /
|
||||
*/
|
||||
public List<SystemJobTb> queryJobByArgs(SystemQueryJobArgs args) {
|
||||
return systemJobMapper.selectJobByArgs(args);
|
||||
LambdaQueryWrapper<SystemJobTb> wrapper = new LambdaQueryWrapper<>();
|
||||
this.injectQueryParams(args, wrapper);
|
||||
return systemJobMapper.selectList(wrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -131,8 +131,25 @@ public class SystemJobService {
|
||||
* @param ids /
|
||||
*/
|
||||
public void verifyBindRelationByIds(Set<Long> ids) {
|
||||
if (systemUserMapper.countUserByJobIds(ids) > 0) {
|
||||
if (systemUserService.countUserByJobIds(ids) > 0) {
|
||||
throw new BadRequestException("所选的岗位中存在用户关联, 请解除关联再试!");
|
||||
}
|
||||
}
|
||||
|
||||
public SystemJobTb getJobByName(String name) {
|
||||
LambdaQueryWrapper<SystemJobTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemJobTb::getName, name);
|
||||
return systemJobMapper.selectOne(wrapper);
|
||||
}
|
||||
|
||||
public void injectQueryParams(SystemQueryJobArgs args, LambdaQueryWrapper<SystemJobTb> wrapper) {
|
||||
if (args != null) {
|
||||
wrapper.like(StrUtil.isNotBlank(args.getName()), SystemJobTb::getName, args.getName());
|
||||
wrapper.eq(args.getEnabled() != null, SystemJobTb::getEnabled, args.getEnabled());
|
||||
if (CollUtil.isNotEmpty(args.getCreateTime()) && args.getCreateTime().size() >= 2) {
|
||||
wrapper.between(SystemJobTb::getCreateTime, args.getCreateTime().get(0), args.getCreateTime().get(1));
|
||||
}
|
||||
}
|
||||
wrapper.orderByDesc(SystemJobTb::getJobSort, SystemJobTb::getId);
|
||||
}
|
||||
}
|
||||
|
||||
+33
-20
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package cn.odboy.system.service;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.io.IORuntimeException;
|
||||
@@ -28,7 +29,9 @@ import cn.odboy.system.dal.model.SystemQueryStorageArgs;
|
||||
import cn.odboy.system.dal.mysql.SystemLocalStorageMapper;
|
||||
import cn.odboy.util.KitFileUtil;
|
||||
import cn.odboy.util.KitPageUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
@@ -36,7 +39,6 @@ import java.util.Date;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -45,12 +47,9 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
@Service
|
||||
public class SystemLocalStorageService {
|
||||
|
||||
@Autowired
|
||||
private SystemLocalStorageMapper systemLocalStorageMapper;
|
||||
@Autowired
|
||||
private KitFileLocalUploadHelper fileUploadPathHelper;
|
||||
@Autowired
|
||||
private AppProperties properties;
|
||||
@Autowired private SystemLocalStorageMapper systemLocalStorageMapper;
|
||||
@Autowired private KitFileLocalUploadHelper fileUploadPathHelper;
|
||||
@Autowired private AppProperties properties;
|
||||
|
||||
/**
|
||||
* 上传
|
||||
@@ -96,7 +95,7 @@ public class SystemLocalStorageService {
|
||||
* @param args 文件信息
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void modifyLocalStorageById(SystemLocalStorageTb args) {
|
||||
public void updateLocalStorageById(SystemLocalStorageTb args) {
|
||||
SystemLocalStorageTb localStorage = systemLocalStorageMapper.selectById(args.getId());
|
||||
localStorage.copy(args);
|
||||
systemLocalStorageMapper.insertOrUpdate(localStorage);
|
||||
@@ -108,7 +107,7 @@ public class SystemLocalStorageService {
|
||||
* @param ids /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void removeFileByIds(Long[] ids) {
|
||||
public void deleteFileByIds(Long[] ids) {
|
||||
for (Long id : ids) {
|
||||
SystemLocalStorageTb storage = systemLocalStorageMapper.selectById(id);
|
||||
try {
|
||||
@@ -146,22 +145,36 @@ public class SystemLocalStorageService {
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param criteria 条件
|
||||
* @param args 条件
|
||||
* @param page 分页参数
|
||||
* @return /
|
||||
*/
|
||||
public KitPageResult<SystemLocalStorageTb> queryLocalStorage(SystemQueryStorageArgs criteria,
|
||||
public KitPageResult<SystemLocalStorageTb> searchLocalStorage(SystemQueryStorageArgs args,
|
||||
Page<SystemLocalStorageTb> page) {
|
||||
return KitPageUtil.toPage(systemLocalStorageMapper.selectLocalStorageByArgs(criteria, page));
|
||||
LambdaQueryWrapper<SystemLocalStorageTb> wrapper = new LambdaQueryWrapper<>();
|
||||
this.injectQueryParams(args, wrapper);
|
||||
Page<SystemLocalStorageTb> selectPage = systemLocalStorageMapper.selectPage(page, wrapper);
|
||||
return KitPageUtil.toPage(selectPage);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询全部数据
|
||||
*
|
||||
* @param criteria 条件
|
||||
* @return /
|
||||
*/
|
||||
public List<SystemLocalStorageTb> queryLocalStorage(SystemQueryStorageArgs criteria) {
|
||||
return systemLocalStorageMapper.selectLocalStorageByArgs(criteria);
|
||||
private void injectQueryParams(SystemQueryStorageArgs args, LambdaQueryWrapper<SystemLocalStorageTb> wrapper) {
|
||||
if (args != null) {
|
||||
wrapper.and(StrUtil.isNotBlank(args.getBlurry()),
|
||||
c -> c.like(SystemLocalStorageTb::getName, args.getBlurry()).or()
|
||||
.like(SystemLocalStorageTb::getSuffix, args.getBlurry()).or()
|
||||
.like(SystemLocalStorageTb::getType, args.getBlurry()).or()
|
||||
.like(SystemLocalStorageTb::getCreateBy, args.getBlurry()));
|
||||
if (CollUtil.isNotEmpty(args.getCreateTime()) && args.getCreateTime().size() >= 2) {
|
||||
wrapper.between(SystemLocalStorageTb::getUpdateTime, args.getCreateTime().get(0),
|
||||
args.getCreateTime().get(1));
|
||||
}
|
||||
}
|
||||
wrapper.orderByDesc(SystemLocalStorageTb::getId);
|
||||
}
|
||||
|
||||
public List<SystemLocalStorageTb> queryLocalStorageByArgs(SystemQueryStorageArgs args) {
|
||||
LambdaQueryWrapper<SystemLocalStorageTb> wrapper = new LambdaQueryWrapper<>();
|
||||
this.injectQueryParams(args, wrapper);
|
||||
return systemLocalStorageMapper.selectList(wrapper);
|
||||
}
|
||||
}
|
||||
|
||||
+85
-41
@@ -34,6 +34,8 @@ import cn.odboy.system.dal.mysql.SystemRoleMenuMapper;
|
||||
import cn.odboy.util.KitClassUtil;
|
||||
import cn.odboy.util.KitFileUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.ArrayList;
|
||||
@@ -45,7 +47,6 @@ import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -55,14 +56,10 @@ public class SystemMenuService {
|
||||
|
||||
private static final String YES_STR = "是";
|
||||
private static final String NO_STR = "否";
|
||||
@Autowired
|
||||
private SystemMenuMapper systemMenuMapper;
|
||||
@Autowired
|
||||
private SystemRoleMenuMapper systemRoleMenuMapper;
|
||||
@Autowired
|
||||
private SystemRoleService systemRoleService;
|
||||
@Autowired
|
||||
private SystemRoleMenuService systemRoleMenuService;
|
||||
@Autowired private SystemMenuMapper systemMenuMapper;
|
||||
@Autowired private SystemRoleMenuMapper systemRoleMenuMapper;
|
||||
@Autowired private SystemRoleService systemRoleService;
|
||||
@Autowired private SystemRoleMenuService systemRoleMenuService;
|
||||
|
||||
/**
|
||||
* 创建
|
||||
@@ -71,11 +68,11 @@ public class SystemMenuService {
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void saveMenu(SystemMenuTb args) {
|
||||
if (systemMenuMapper.getMenuByTitle(args.getTitle()) != null) {
|
||||
if (this.getMenuByTitle(args.getTitle()) != null) {
|
||||
throw new BadRequestException("菜单标题已存在");
|
||||
}
|
||||
if (StrUtil.isNotBlank(args.getComponentName())) {
|
||||
if (systemMenuMapper.getMenuByComponentName(args.getComponentName()) != null) {
|
||||
if (this.getMenuByComponentName(args.getComponentName()) != null) {
|
||||
throw new BadRequestException("菜单组件名称已存在");
|
||||
}
|
||||
}
|
||||
@@ -101,7 +98,7 @@ public class SystemMenuService {
|
||||
* @param args /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void modifyMenuById(SystemMenuTb args) {
|
||||
public void updateMenuById(SystemMenuTb args) {
|
||||
if (args.getId().equals(args.getPid())) {
|
||||
throw new BadRequestException("上级不能为自己");
|
||||
}
|
||||
@@ -112,7 +109,7 @@ public class SystemMenuService {
|
||||
throw new BadRequestException(TransferProtocolConst.PREFIX_HTTPS_BAD_REQUEST);
|
||||
}
|
||||
}
|
||||
SystemMenuTb menu1 = systemMenuMapper.getMenuByTitle(args.getTitle());
|
||||
SystemMenuTb menu1 = this.getMenuByTitle(args.getTitle());
|
||||
if (menu1 != null && !menu1.getId().equals(menu.getId())) {
|
||||
throw new BadRequestException("菜单标题已存在");
|
||||
}
|
||||
@@ -123,7 +120,7 @@ public class SystemMenuService {
|
||||
Long oldPid = menu.getPid();
|
||||
Long newPid = args.getPid();
|
||||
if (StrUtil.isNotBlank(args.getComponentName())) {
|
||||
menu1 = systemMenuMapper.getMenuByComponentName(args.getComponentName());
|
||||
menu1 = this.getMenuByComponentName(args.getComponentName());
|
||||
if (menu1 != null && !menu1.getId().equals(menu.getId())) {
|
||||
throw new BadRequestException("菜单组件名称已存在");
|
||||
}
|
||||
@@ -153,17 +150,17 @@ public class SystemMenuService {
|
||||
* 删除
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void removeMenuByIds(Set<Long> ids) {
|
||||
public void deleteMenuByIds(Set<Long> ids) {
|
||||
Set<SystemMenuTb> menuSet = new HashSet<>();
|
||||
for (Long id : ids) {
|
||||
List<SystemMenuTb> menuList = this.queryMenuByPid(id);
|
||||
List<SystemMenuTb> menuList = this.listMenuByPid(id);
|
||||
menuSet.add(systemMenuMapper.selectById(id));
|
||||
menuSet = this.queryChildMenu(menuList, menuSet);
|
||||
menuSet = this.queryChildMenuByArgs(menuList, menuSet);
|
||||
}
|
||||
List<Long> menuIds =
|
||||
menuSet.stream().map(SystemMenuTb::getId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(menuIds)) {
|
||||
KitSpringBeanHolder.getBean(SystemMenuService.class).removeRoleMenuByMenuIds(menuIds);
|
||||
KitSpringBeanHolder.getBean(SystemMenuService.class).deleteRoleMenuByMenuIds(menuIds);
|
||||
systemMenuMapper.deleteByIds(menuIds);
|
||||
}
|
||||
for (SystemMenuTb menu : menuSet) {
|
||||
@@ -172,7 +169,7 @@ public class SystemMenuService {
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void removeRoleMenuByMenuIds(List<Long> menuIds) {
|
||||
public void deleteRoleMenuByMenuIds(List<Long> menuIds) {
|
||||
if (CollUtil.isNotEmpty(menuIds)) {
|
||||
LambdaQueryWrapper<SystemRoleMenuTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(SystemRoleMenuTb::getMenuId, menuIds);
|
||||
@@ -206,38 +203,41 @@ public class SystemMenuService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateMenuSubCnt(Long menuId) {
|
||||
if (menuId != null) {
|
||||
long count = systemMenuMapper.countMenuByPid(menuId);
|
||||
systemMenuMapper.updateMenuSubCntByMenuId(count, menuId);
|
||||
long count = this.countMenuByPid(menuId);
|
||||
LambdaUpdateWrapper<SystemMenuTb> wrapper = new LambdaUpdateWrapper<>();
|
||||
wrapper.eq(SystemMenuTb::getId, menuId);
|
||||
wrapper.set(SystemMenuTb::getSubCount, count);
|
||||
systemMenuMapper.update(wrapper);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询全部数据
|
||||
*
|
||||
* @param criteria 条件
|
||||
* @param args 条件
|
||||
* @param isQuery /
|
||||
* @return /
|
||||
* @throws Exception /
|
||||
*/
|
||||
public List<SystemMenuTb> queryAllMenu(SystemQueryMenuArgs criteria, Boolean isQuery) throws Exception {
|
||||
public List<SystemMenuTb> queryAllMenu(SystemQueryMenuArgs args, Boolean isQuery) throws Exception {
|
||||
if (Boolean.TRUE.equals(isQuery)) {
|
||||
criteria.setPidIsNull(true);
|
||||
List<Field> fields = KitClassUtil.getAllFields(criteria.getClass(), new ArrayList<>());
|
||||
args.setPidIsNull(true);
|
||||
List<Field> fields = KitClassUtil.getAllFields(args.getClass(), new ArrayList<>());
|
||||
for (Field field : fields) {
|
||||
//设置对象的访问权限, 保证对private的属性的访问
|
||||
field.setAccessible(true);
|
||||
Object val = field.get(criteria);
|
||||
Object val = field.get(args);
|
||||
if ("pidIsNull".equals(field.getName())) {
|
||||
continue;
|
||||
}
|
||||
// 如果有查询条件, 则不指定pidIsNull
|
||||
if (ObjectUtil.isNotNull(val)) {
|
||||
criteria.setPidIsNull(null);
|
||||
args.setPidIsNull(null);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return systemMenuMapper.selectMenuByArgs(criteria);
|
||||
return this.queryMenuByArgs(args);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -246,10 +246,10 @@ public class SystemMenuService {
|
||||
* @param currentUserId /
|
||||
* @return /
|
||||
*/
|
||||
public List<SystemMenuTb> queryMenuListByUserId(Long currentUserId) {
|
||||
public List<SystemMenuTb> listMenuByUserId(Long currentUserId) {
|
||||
List<SystemRoleVo> roles = systemRoleService.queryRoleByUsersId(currentUserId);
|
||||
Set<Long> roleIds = roles.stream().map(SystemRoleTb::getId).collect(Collectors.toSet());
|
||||
return new ArrayList<>(systemRoleMenuService.queryMenuByRoleIdsAndType(roleIds, 2));
|
||||
return new ArrayList<>(systemRoleMenuService.queryMenuByRoleIds(roleIds));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -259,12 +259,12 @@ public class SystemMenuService {
|
||||
* @param menuSet /
|
||||
* @return /
|
||||
*/
|
||||
public Set<SystemMenuTb> queryChildMenu(List<SystemMenuTb> menuList, Set<SystemMenuTb> menuSet) {
|
||||
public Set<SystemMenuTb> queryChildMenuByArgs(List<SystemMenuTb> menuList, Set<SystemMenuTb> menuSet) {
|
||||
for (SystemMenuTb menu : menuList) {
|
||||
menuSet.add(menu);
|
||||
List<SystemMenuTb> menus = systemMenuMapper.selectMenuByPid(menu.getId());
|
||||
List<SystemMenuTb> menus = this.listMenuByPid(menu.getId());
|
||||
if (CollUtil.isNotEmpty(menus)) {
|
||||
queryChildMenu(menus, menuSet);
|
||||
queryChildMenuByArgs(menus, menuSet);
|
||||
}
|
||||
}
|
||||
return menuSet;
|
||||
@@ -276,12 +276,15 @@ public class SystemMenuService {
|
||||
* @param pid /
|
||||
* @return /
|
||||
*/
|
||||
public List<SystemMenuTb> queryMenuByPid(Long pid) {
|
||||
public List<SystemMenuTb> listMenuByPid(Long pid) {
|
||||
List<SystemMenuTb> menus;
|
||||
if (pid != null && !pid.equals(0L)) {
|
||||
menus = systemMenuMapper.selectMenuByPid(pid);
|
||||
LambdaQueryWrapper<SystemMenuTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemMenuTb::getPid, pid);
|
||||
wrapper.orderByAsc(SystemMenuTb::getMenuSort);
|
||||
return systemMenuMapper.selectList(wrapper);
|
||||
} else {
|
||||
menus = systemMenuMapper.selectMenuByPidIsNull();
|
||||
menus = this.listRootMenu();
|
||||
}
|
||||
return menus;
|
||||
}
|
||||
@@ -293,13 +296,13 @@ public class SystemMenuService {
|
||||
* @param menus /
|
||||
* @return /
|
||||
*/
|
||||
public List<SystemMenuTb> querySuperiorMenuList(SystemMenuTb menu, List<SystemMenuTb> menus) {
|
||||
public List<SystemMenuTb> querySuperiorMenuByArgs(SystemMenuTb menu, List<SystemMenuTb> menus) {
|
||||
if (menu.getPid() == null) {
|
||||
menus.addAll(systemMenuMapper.selectMenuByPidIsNull());
|
||||
menus.addAll(this.listRootMenu());
|
||||
return menus;
|
||||
}
|
||||
menus.addAll(systemMenuMapper.selectMenuByPid(menu.getPid()));
|
||||
return querySuperiorMenuList(systemMenuMapper.selectById(menu.getPid()), menus);
|
||||
menus.addAll(this.listMenuByPid(menu.getPid()));
|
||||
return querySuperiorMenuByArgs(systemMenuMapper.selectById(menu.getPid()), menus);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -401,7 +404,48 @@ public class SystemMenuService {
|
||||
return menuVo1;
|
||||
}
|
||||
|
||||
public List<SystemMenuTb> queryMenuByIds(List<Long> ids) {
|
||||
public List<SystemMenuTb> listMenuByIds(List<Long> ids) {
|
||||
return systemMenuMapper.selectByIds(ids);
|
||||
}
|
||||
|
||||
private SystemMenuTb getMenuByComponentName(String componentName) {
|
||||
LambdaQueryWrapper<SystemMenuTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemMenuTb::getComponentName, componentName);
|
||||
return systemMenuMapper.selectOne(wrapper);
|
||||
}
|
||||
|
||||
private SystemMenuTb getMenuByTitle(String title) {
|
||||
LambdaQueryWrapper<SystemMenuTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemMenuTb::getTitle, title);
|
||||
return systemMenuMapper.selectOne(wrapper);
|
||||
}
|
||||
|
||||
private Long countMenuByPid(Long pid) {
|
||||
LambdaQueryWrapper<SystemMenuTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemMenuTb::getPid, pid);
|
||||
return systemMenuMapper.selectCount(wrapper);
|
||||
}
|
||||
|
||||
private List<SystemMenuTb> queryMenuByArgs(SystemQueryMenuArgs args) {
|
||||
LambdaQueryWrapper<SystemMenuTb> wrapper = new LambdaQueryWrapper<>();
|
||||
if (args != null) {
|
||||
wrapper.isNull(args.getPidIsNull() != null, SystemMenuTb::getPid);
|
||||
wrapper.eq(args.getPid() != null, SystemMenuTb::getPid, args.getPid());
|
||||
wrapper.and(StrUtil.isNotBlank(args.getBlurry()), c -> c.like(SystemMenuTb::getTitle, args.getBlurry()).or()
|
||||
.like(SystemMenuTb::getComponentName, args.getBlurry()).or()
|
||||
.like(SystemMenuTb::getPermission, args.getBlurry()));
|
||||
if (CollUtil.isNotEmpty(args.getCreateTime()) && args.getCreateTime().size() >= 2) {
|
||||
wrapper.between(SystemMenuTb::getCreateTime, args.getCreateTime().get(0), args.getCreateTime().get(1));
|
||||
}
|
||||
}
|
||||
wrapper.orderByAsc(SystemMenuTb::getMenuSort);
|
||||
return systemMenuMapper.selectList(wrapper);
|
||||
}
|
||||
|
||||
private List<SystemMenuTb> listRootMenu() {
|
||||
LambdaQueryWrapper<SystemMenuTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.isNull(SystemMenuTb::getPid);
|
||||
wrapper.orderByAsc(SystemMenuTb::getMenuSort);
|
||||
return systemMenuMapper.selectList(wrapper);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -51,7 +51,7 @@ public class SystemMonitorService {
|
||||
*
|
||||
* @return Map<String, Object>
|
||||
*/
|
||||
public Map<String, Object> queryServerMonitorInfo() {
|
||||
public Map<String, Object> getServerMonitorInfo() {
|
||||
Map<String, Object> resultMap = new LinkedHashMap<>(8);
|
||||
try {
|
||||
SystemInfo si = new SystemInfo();
|
||||
|
||||
+5
-5
@@ -21,14 +21,14 @@ import cn.odboy.system.dal.model.SystemOssStorageVo;
|
||||
import cn.odboy.system.dal.model.SystemQueryStorageArgs;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* OSS存储 服务类
|
||||
* OSS存储接口
|
||||
* </p>
|
||||
*
|
||||
* @author codegen
|
||||
@@ -36,13 +36,13 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
*/
|
||||
public interface SystemOssStorageService extends IService<SystemOssStorageTb> {
|
||||
|
||||
KitPageResult<SystemOssStorageVo> queryOssStorage(SystemQueryStorageArgs criteria, Page<SystemOssStorageTb> page);
|
||||
KitPageResult<SystemOssStorageVo> searchOssStorage(SystemQueryStorageArgs args, Page<SystemOssStorageTb> page);
|
||||
|
||||
List<SystemOssStorageVo> queryOssStorage(SystemQueryStorageArgs criteria);
|
||||
List<SystemOssStorageVo> queryOssStorage(SystemQueryStorageArgs args);
|
||||
|
||||
void exportOssStorageExcel(List<SystemOssStorageVo> list, HttpServletResponse response) throws IOException;
|
||||
|
||||
String uploadFile(MultipartFile file);
|
||||
|
||||
void removeFileByIds(Long[] ids);
|
||||
void deleteFileByIds(Long[] ids);
|
||||
}
|
||||
|
||||
+33
-39
@@ -33,6 +33,7 @@ import cn.odboy.util.KitFileUtil;
|
||||
import cn.odboy.util.KitPageUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -40,7 +41,6 @@ import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.quartz.CronExpression;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -49,14 +49,10 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
@Service
|
||||
public class SystemQuartzJobService {
|
||||
|
||||
@Autowired
|
||||
private SystemQuartzJobMapper systemQuartzJobMapper;
|
||||
@Autowired
|
||||
private SystemQuartzLogMapper systemQuartzLogMapper;
|
||||
@Autowired
|
||||
private QuartzManage quartzManage;
|
||||
@Autowired
|
||||
private KitRedisHelper redisHelper;
|
||||
@Autowired private SystemQuartzJobMapper systemQuartzJobMapper;
|
||||
@Autowired private SystemQuartzLogMapper systemQuartzLogMapper;
|
||||
@Autowired private QuartzManage quartzManage;
|
||||
@Autowired private KitRedisHelper redisHelper;
|
||||
|
||||
/**
|
||||
* 创建
|
||||
@@ -78,7 +74,7 @@ public class SystemQuartzJobService {
|
||||
* @param args /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void modifyQuartzJobResumeCron(SystemUpdateQuartzJobArgs args) {
|
||||
public void updateQuartzJobResumeCron(SystemUpdateQuartzJobArgs args) {
|
||||
if (!CronExpression.isValidExpression(args.getCronExpression())) {
|
||||
throw new BadRequestException("cron表达式格式错误");
|
||||
}
|
||||
@@ -126,7 +122,7 @@ public class SystemQuartzJobService {
|
||||
* @param ids /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void removeJobByIds(Set<Long> ids) {
|
||||
public void deleteJobByIds(Set<Long> ids) {
|
||||
for (Long id : ids) {
|
||||
SystemQuartzJobTb quartzJob = systemQuartzJobMapper.selectById(id);
|
||||
quartzManage.deleteJob(quartzJob);
|
||||
@@ -225,39 +221,37 @@ public class SystemQuartzJobService {
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param criteria 条件
|
||||
* @param args 条件
|
||||
* @param page 分页参数
|
||||
* @return /
|
||||
*/
|
||||
public KitPageResult<SystemQuartzJobTb> queryQuartzJobByArgs(SystemQueryQuartzJobArgs criteria,
|
||||
public KitPageResult<SystemQuartzJobTb> searchQuartzJobByArgs(SystemQueryQuartzJobArgs args,
|
||||
Page<SystemQuartzJobTb> page) {
|
||||
LambdaQueryWrapper<SystemQuartzJobTb> wrapper = new LambdaQueryWrapper<>();
|
||||
this.injectQuartzJobQueryParams(criteria, wrapper);
|
||||
this.injectQuartzJobQueryParams(args, wrapper);
|
||||
return KitPageUtil.toPage(systemQuartzJobMapper.selectPage(page, wrapper));
|
||||
}
|
||||
|
||||
private void injectQuartzJobQueryParams(SystemQueryQuartzJobArgs criteria,
|
||||
private void injectQuartzJobQueryParams(SystemQueryQuartzJobArgs args,
|
||||
LambdaQueryWrapper<SystemQuartzJobTb> wrapper) {
|
||||
if (criteria != null) {
|
||||
wrapper.like(StrUtil.isNotBlank(criteria.getJobName()), SystemQuartzJobTb::getJobName,
|
||||
criteria.getJobName());
|
||||
if (CollUtil.isNotEmpty(criteria.getCreateTime()) && criteria.getCreateTime().size() >= 2) {
|
||||
wrapper.between(SystemQuartzJobTb::getUpdateTime, criteria.getCreateTime().get(0),
|
||||
criteria.getCreateTime().get(1));
|
||||
if (args != null) {
|
||||
wrapper.like(StrUtil.isNotBlank(args.getJobName()), SystemQuartzJobTb::getJobName, args.getJobName());
|
||||
if (CollUtil.isNotEmpty(args.getCreateTime()) && args.getCreateTime().size() >= 2) {
|
||||
wrapper.between(SystemQuartzJobTb::getUpdateTime, args.getCreateTime().get(0),
|
||||
args.getCreateTime().get(1));
|
||||
}
|
||||
}
|
||||
wrapper.orderByDesc(SystemQuartzJobTb::getId);
|
||||
}
|
||||
|
||||
private void injectQuartzLogQueryParams(SystemQueryQuartzJobArgs criteria,
|
||||
private void injectQuartzLogQueryParams(SystemQueryQuartzJobArgs args,
|
||||
LambdaQueryWrapper<SystemQuartzLogTb> wrapper) {
|
||||
if (criteria != null) {
|
||||
wrapper.like(StrUtil.isNotBlank(criteria.getJobName()), SystemQuartzLogTb::getJobName,
|
||||
criteria.getJobName());
|
||||
wrapper.eq(criteria.getIsSuccess() != null, SystemQuartzLogTb::getIsSuccess, criteria.getIsSuccess());
|
||||
if (CollUtil.isNotEmpty(criteria.getCreateTime()) && criteria.getCreateTime().size() >= 2) {
|
||||
wrapper.between(SystemQuartzLogTb::getCreateTime, criteria.getCreateTime().get(0),
|
||||
criteria.getCreateTime().get(1));
|
||||
if (args != null) {
|
||||
wrapper.like(StrUtil.isNotBlank(args.getJobName()), SystemQuartzLogTb::getJobName, args.getJobName());
|
||||
wrapper.eq(args.getIsSuccess() != null, SystemQuartzLogTb::getIsSuccess, args.getIsSuccess());
|
||||
if (CollUtil.isNotEmpty(args.getCreateTime()) && args.getCreateTime().size() >= 2) {
|
||||
wrapper.between(SystemQuartzLogTb::getCreateTime, args.getCreateTime().get(0),
|
||||
args.getCreateTime().get(1));
|
||||
}
|
||||
}
|
||||
wrapper.orderByDesc(SystemQuartzLogTb::getId);
|
||||
@@ -266,38 +260,38 @@ public class SystemQuartzJobService {
|
||||
/**
|
||||
* 分页查询日志
|
||||
*
|
||||
* @param criteria 条件
|
||||
* @param args 条件
|
||||
* @param page 分页参数
|
||||
* @return /
|
||||
*/
|
||||
public KitPageResult<SystemQuartzLogTb> queryQuartzLogByArgs(SystemQueryQuartzJobArgs criteria,
|
||||
public KitPageResult<SystemQuartzLogTb> searchQuartzLogByArgs(SystemQueryQuartzJobArgs args,
|
||||
Page<SystemQuartzLogTb> page) {
|
||||
LambdaQueryWrapper<SystemQuartzLogTb> wrapper = new LambdaQueryWrapper<>();
|
||||
this.injectQuartzLogQueryParams(criteria, wrapper);
|
||||
this.injectQuartzLogQueryParams(args, wrapper);
|
||||
return KitPageUtil.toPage(systemQuartzLogMapper.selectPage(page, wrapper));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param criteria 条件
|
||||
* @param args 条件
|
||||
* @return /
|
||||
*/
|
||||
public List<SystemQuartzJobTb> queryQuartzJobByArgs(SystemQueryQuartzJobArgs criteria) {
|
||||
public List<SystemQuartzJobTb> queryQuartzJobByArgs(SystemQueryQuartzJobArgs args) {
|
||||
LambdaQueryWrapper<SystemQuartzJobTb> wrapper = new LambdaQueryWrapper<>();
|
||||
this.injectQuartzJobQueryParams(criteria, wrapper);
|
||||
this.injectQuartzJobQueryParams(args, wrapper);
|
||||
return systemQuartzJobMapper.selectList(wrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param criteria 条件
|
||||
* @param args 条件
|
||||
* @return /
|
||||
*/
|
||||
public List<SystemQuartzLogTb> queryQuartzLogByArgs(SystemQueryQuartzJobArgs criteria) {
|
||||
public List<SystemQuartzLogTb> queryQuartzLogByArgs(SystemQueryQuartzJobArgs args) {
|
||||
LambdaQueryWrapper<SystemQuartzLogTb> wrapper = new LambdaQueryWrapper<>();
|
||||
this.injectQuartzLogQueryParams(criteria, wrapper);
|
||||
this.injectQuartzLogQueryParams(args, wrapper);
|
||||
return systemQuartzLogMapper.selectList(wrapper);
|
||||
}
|
||||
|
||||
@@ -305,7 +299,7 @@ public class SystemQuartzJobService {
|
||||
return systemQuartzJobMapper.selectById(id);
|
||||
}
|
||||
|
||||
public List<SystemQuartzJobTb> queryEnableQuartzJob() {
|
||||
public List<SystemQuartzJobTb> listEnableQuartzJob() {
|
||||
LambdaQueryWrapper<SystemQuartzJobTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemQuartzJobTb::getIsPause, 0);
|
||||
return systemQuartzJobMapper.selectList(wrapper);
|
||||
|
||||
+3
-5
@@ -32,10 +32,8 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
@Service
|
||||
public class SystemRoleDeptService {
|
||||
|
||||
@Autowired
|
||||
private SystemRoleDeptMapper systemRoleDeptMapper;
|
||||
@Autowired
|
||||
private SystemDeptMapper systemDeptMapper;
|
||||
@Autowired private SystemRoleDeptMapper systemRoleDeptMapper;
|
||||
@Autowired private SystemDeptMapper systemDeptMapper;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void batchDeleteRoleDept(Set<Long> roleIds) {
|
||||
@@ -66,7 +64,7 @@ public class SystemRoleDeptService {
|
||||
* @param roleId /
|
||||
* @return /
|
||||
*/
|
||||
public List<SystemDeptTb> selectDeptByRoleId(Long roleId) {
|
||||
public List<SystemDeptTb> listDeptByRoleId(Long roleId) {
|
||||
LambdaQueryWrapper<SystemRoleDeptTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemRoleDeptTb::getRoleId, roleId);
|
||||
List<SystemRoleDeptTb> systemRoleDeptTbs = systemRoleDeptMapper.selectList(wrapper);
|
||||
|
||||
+3
-6
@@ -33,10 +33,8 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
@Service
|
||||
public class SystemRoleMenuService {
|
||||
|
||||
@Autowired
|
||||
private SystemRoleMenuMapper systemRoleMenuMapper;
|
||||
@Autowired
|
||||
private SystemMenuMapper systemMenuMapper;
|
||||
@Autowired private SystemRoleMenuMapper systemRoleMenuMapper;
|
||||
@Autowired private SystemMenuMapper systemMenuMapper;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void deleteRoleMenuByRoleId(Long roleId) {
|
||||
@@ -68,7 +66,7 @@ public class SystemRoleMenuService {
|
||||
}
|
||||
}
|
||||
|
||||
public LinkedHashSet<SystemMenuTb> queryMenuByRoleIdsAndType(Set<Long> roleIds, int menuType) {
|
||||
public LinkedHashSet<SystemMenuTb> queryMenuByRoleIds(Set<Long> roleIds) {
|
||||
if (CollUtil.isEmpty(roleIds)) {
|
||||
return new LinkedHashSet<>();
|
||||
}
|
||||
@@ -79,7 +77,6 @@ public class SystemRoleMenuService {
|
||||
if (CollUtil.isEmpty(menuIds)) {
|
||||
return new LinkedHashSet<>();
|
||||
}
|
||||
|
||||
LambdaQueryWrapper<SystemMenuTb> menuWrapper = new LambdaQueryWrapper<>();
|
||||
menuWrapper.in(SystemMenuTb::getId, menuIds);
|
||||
// 排除"按钮"
|
||||
|
||||
+49
-100
@@ -21,26 +21,24 @@ import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.odboy.base.KitPageResult;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import cn.odboy.system.dal.dataobject.SystemMenuTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemRoleTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemUserTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemRoleMenuTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemRoleDeptTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemUserRoleTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemDeptTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemMenuTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemRoleDeptTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemRoleTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemUserRoleTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemUserTb;
|
||||
import cn.odboy.system.dal.model.SystemCreateRoleArgs;
|
||||
import cn.odboy.system.dal.model.SystemQueryRoleArgs;
|
||||
import cn.odboy.system.dal.model.SystemRoleCodeVo;
|
||||
import cn.odboy.system.dal.model.SystemRoleVo;
|
||||
import cn.odboy.system.dal.mysql.SystemRoleMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemUserMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemRoleMenuMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemRoleDeptMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemRoleMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemUserRoleMapper;
|
||||
import cn.odboy.util.KitFileUtil;
|
||||
import cn.odboy.util.KitPageUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
@@ -51,28 +49,18 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@Service
|
||||
public class SystemRoleService {
|
||||
|
||||
@Autowired
|
||||
private SystemRoleMapper systemRoleMapper;
|
||||
@Autowired
|
||||
private SystemRoleMenuService systemRoleMenuService;
|
||||
@Autowired
|
||||
private SystemUserMapper systemUserMapper;
|
||||
@Autowired
|
||||
private SystemRoleDeptService systemRoleDeptService;
|
||||
@Autowired
|
||||
private SystemRoleMenuMapper systemRoleMenuMapper;
|
||||
@Autowired
|
||||
private SystemRoleDeptMapper systemRoleDeptMapper;
|
||||
@Autowired
|
||||
private SystemUserRoleMapper systemUserRoleMapper;
|
||||
@Autowired private SystemRoleMapper systemRoleMapper;
|
||||
@Autowired private SystemRoleMenuService systemRoleMenuService;
|
||||
@Autowired private SystemRoleDeptService systemRoleDeptService;
|
||||
@Autowired private SystemRoleDeptMapper systemRoleDeptMapper;
|
||||
@Autowired private SystemUserRoleMapper systemUserRoleMapper;
|
||||
@Autowired private SystemUserService systemUserService;
|
||||
|
||||
/**
|
||||
* 创建
|
||||
@@ -103,7 +91,7 @@ public class SystemRoleService {
|
||||
* @param args /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void modifyRoleById(SystemRoleVo args) {
|
||||
public void updateRoleById(SystemRoleVo args) {
|
||||
SystemRoleVo role = BeanUtil.copyProperties(systemRoleMapper.selectById(args.getId()), SystemRoleVo.class);
|
||||
SystemRoleTb role1 = this.getRoleByName(args.getName());
|
||||
if (role1 != null && !role1.getId().equals(role.getId())) {
|
||||
@@ -129,7 +117,7 @@ public class SystemRoleService {
|
||||
*
|
||||
* @param role /
|
||||
*/
|
||||
public void modifyBindMenuById(SystemRoleVo role) {
|
||||
public void updateBindMenuById(SystemRoleVo role) {
|
||||
// 更新菜单
|
||||
systemRoleMenuService.deleteRoleMenuByRoleId(role.getId());
|
||||
// 判断是否为空
|
||||
@@ -144,7 +132,7 @@ public class SystemRoleService {
|
||||
* @param ids /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void removeRoleByIds(Set<Long> ids) {
|
||||
public void deleteRoleByIds(Set<Long> ids) {
|
||||
systemRoleMapper.deleteByIds(ids);
|
||||
// 删除角色部门关联数据、角色菜单关联数据
|
||||
systemRoleDeptService.batchDeleteRoleDept(ids);
|
||||
@@ -173,14 +161,8 @@ public class SystemRoleService {
|
||||
|
||||
/**
|
||||
* 查询全部角色
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public List<SystemRoleTb> queryAllRole() {
|
||||
return this.selectAllRole();
|
||||
}
|
||||
|
||||
private List<SystemRoleTb> selectAllRole() {
|
||||
public List<SystemRoleTb> listAllRole() {
|
||||
LambdaQueryWrapper<SystemRoleTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.orderByAsc(SystemRoleTb::getLevel);
|
||||
return systemRoleMapper.selectList(wrapper);
|
||||
@@ -189,26 +171,22 @@ public class SystemRoleService {
|
||||
/**
|
||||
* 根据条件查询全部角色
|
||||
*
|
||||
* @param criteria 条件
|
||||
* @param args 条件
|
||||
* @return
|
||||
*/
|
||||
public List<SystemRoleVo> queryRoleByArgs(SystemQueryRoleArgs criteria) {
|
||||
public List<SystemRoleVo> queryRoleByArgs(SystemQueryRoleArgs args) {
|
||||
// 查询角色基本信息
|
||||
LambdaQueryWrapper<SystemRoleTb> wrapper = new LambdaQueryWrapper<>();
|
||||
if (criteria != null) {
|
||||
wrapper.and(StrUtil.isNotBlank(criteria.getBlurry()),
|
||||
c -> c.like(SystemRoleTb::getName, criteria.getBlurry()).or()
|
||||
.like(SystemRoleTb::getDescription, criteria.getBlurry()));
|
||||
if (CollUtil.isNotEmpty(criteria.getCreateTime()) && criteria.getCreateTime().size() >= 2) {
|
||||
wrapper.between(SystemRoleTb::getCreateTime, criteria.getCreateTime().get(0),
|
||||
criteria.getCreateTime().get(1));
|
||||
if (args != null) {
|
||||
wrapper.and(StrUtil.isNotBlank(args.getBlurry()), c -> c.like(SystemRoleTb::getName, args.getBlurry()).or()
|
||||
.like(SystemRoleTb::getDescription, args.getBlurry()));
|
||||
if (CollUtil.isNotEmpty(args.getCreateTime()) && args.getCreateTime().size() >= 2) {
|
||||
wrapper.between(SystemRoleTb::getCreateTime, args.getCreateTime().get(0), args.getCreateTime().get(1));
|
||||
}
|
||||
}
|
||||
wrapper.orderByAsc(SystemRoleTb::getLevel);
|
||||
|
||||
// 分页处理
|
||||
if (criteria != null && criteria.getOffset() > 0 && criteria.getSize() != null) {
|
||||
Page<SystemRoleTb> rolePage = new Page<>(criteria.getOffset() / criteria.getSize() + 1, criteria.getSize());
|
||||
if (args != null && args.getSize() != null) {
|
||||
Page<SystemRoleTb> rolePage = new Page<>(args.getPage(), args.getSize());
|
||||
Page<SystemRoleTb> page = systemRoleMapper.selectPage(rolePage, wrapper);
|
||||
List<SystemRoleTb> roles = page.getRecords();
|
||||
return roles.stream().map(this::convertToRoleVo).collect(Collectors.toList());
|
||||
@@ -221,14 +199,14 @@ public class SystemRoleService {
|
||||
/**
|
||||
* 分页查询角色
|
||||
*
|
||||
* @param criteria 条件
|
||||
* @param args 条件
|
||||
* @param page 分页参数
|
||||
* @return
|
||||
*/
|
||||
public KitPageResult<SystemRoleVo> queryRoleByArgs(SystemQueryRoleArgs criteria, Page<Object> page) {
|
||||
criteria.setOffset(page.offset());
|
||||
List<SystemRoleVo> roles = this.queryRoleByArgs(criteria);
|
||||
Long total = systemRoleMapper.countRoleByArgs(criteria);
|
||||
public KitPageResult<SystemRoleVo> searchRoleByArgs(SystemQueryRoleArgs args, Page<Object> page) {
|
||||
args.setOffset(page.offset());
|
||||
List<SystemRoleVo> roles = this.queryRoleByArgs(args);
|
||||
Long total = this.countRoleByArgs(args);
|
||||
return KitPageUtil.toPage(roles, total);
|
||||
}
|
||||
|
||||
@@ -243,14 +221,11 @@ public class SystemRoleService {
|
||||
LambdaQueryWrapper<SystemUserRoleTb> userRoleWrapper = new LambdaQueryWrapper<>();
|
||||
userRoleWrapper.eq(SystemUserRoleTb::getUserId, userId);
|
||||
List<SystemUserRoleTb> userRoles = systemUserRoleMapper.selectList(userRoleWrapper);
|
||||
|
||||
if (CollUtil.isEmpty(userRoles)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
Set<Long> roleIds = userRoles.stream().map(SystemUserRoleTb::getRoleId).collect(Collectors.toSet());
|
||||
List<SystemRoleTb> roles = systemRoleMapper.selectByIds(roleIds);
|
||||
|
||||
return roles.stream().map(this::convertToRoleVo).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@@ -296,7 +271,7 @@ public class SystemRoleService {
|
||||
* @param ids /
|
||||
*/
|
||||
public void verifyBindRelationByIds(Set<Long> ids) {
|
||||
if (systemUserMapper.countUserByRoleIds(ids) > 0) {
|
||||
if (systemUserService.countUserByRoleIds(ids) > 0) {
|
||||
throw new BadRequestException("所选角色存在用户关联, 请解除关联再试!");
|
||||
}
|
||||
}
|
||||
@@ -311,56 +286,20 @@ public class SystemRoleService {
|
||||
return systemRoleMapper.selectById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据ID查询角色详情(包含关联信息)
|
||||
*
|
||||
* @param id /
|
||||
* @return /
|
||||
*/
|
||||
public SystemRoleVo getRoleVoById(Long id) {
|
||||
SystemRoleTb role = systemRoleMapper.selectById(id);
|
||||
if (role == null) {
|
||||
return null;
|
||||
}
|
||||
return convertToRoleVo(role);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据菜单ID查询角色
|
||||
*
|
||||
* @param menuId 菜单ID
|
||||
* @return /
|
||||
*/
|
||||
public List<SystemRoleVo> queryRoleByMenuId(Long menuId) {
|
||||
// 查询包含该菜单的角色ID列表
|
||||
LambdaQueryWrapper<SystemRoleMenuTb> roleMenuWrapper = new LambdaQueryWrapper<>();
|
||||
roleMenuWrapper.eq(SystemRoleMenuTb::getMenuId, menuId);
|
||||
List<SystemRoleMenuTb> roleMenuList = systemRoleMenuMapper.selectList(roleMenuWrapper);
|
||||
|
||||
if (CollUtil.isEmpty(roleMenuList)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
Set<Long> roleIds = roleMenuList.stream().map(SystemRoleMenuTb::getRoleId).collect(Collectors.toSet());
|
||||
List<SystemRoleTb> roles = systemRoleMapper.selectByIds(roleIds);
|
||||
|
||||
return roles.stream().map(this::convertToRoleVo).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据部门ID统计角色数量
|
||||
*
|
||||
* @param deptIds 部门ID集合
|
||||
* @return /
|
||||
*/
|
||||
public Integer countRoleByDeptIds(Set<Long> deptIds) {
|
||||
public Long countRoleByDeptIds(Set<Long> deptIds) {
|
||||
if (CollUtil.isEmpty(deptIds)) {
|
||||
return 0;
|
||||
return 0L;
|
||||
}
|
||||
|
||||
LambdaQueryWrapper<SystemRoleDeptTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(SystemRoleDeptTb::getDeptId, deptIds);
|
||||
return systemRoleDeptMapper.selectCount(wrapper).intValue();
|
||||
return systemRoleDeptMapper.selectCount(wrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -375,16 +314,26 @@ public class SystemRoleService {
|
||||
}
|
||||
|
||||
SystemRoleVo roleVo = BeanUtil.copyProperties(role, SystemRoleVo.class);
|
||||
|
||||
// 查询关联的菜单信息
|
||||
Set<SystemMenuTb> menus = systemRoleMenuService.queryMenuByRoleIdsAndType(
|
||||
Collections.singleton(role.getId()), -1);
|
||||
Set<SystemMenuTb> menus = systemRoleMenuService.queryMenuByRoleIds(Collections.singleton(role.getId()));
|
||||
roleVo.setMenus(menus);
|
||||
|
||||
// 查询关联的部门信息
|
||||
List<SystemDeptTb> depts = systemRoleDeptService.selectDeptByRoleId(role.getId());
|
||||
List<SystemDeptTb> depts = systemRoleDeptService.listDeptByRoleId(role.getId());
|
||||
roleVo.setDepts(new LinkedHashSet<>(depts));
|
||||
|
||||
return roleVo;
|
||||
}
|
||||
|
||||
public Long countRoleByArgs(SystemQueryRoleArgs args) {
|
||||
LambdaQueryWrapper<SystemRoleTb> wrapper = new LambdaQueryWrapper<>();
|
||||
if (args != null) {
|
||||
wrapper.and(StrUtil.isNotBlank(args.getBlurry()), c -> c.like(SystemRoleTb::getName, args.getBlurry()).or()
|
||||
.like(SystemRoleTb::getDescription, args.getBlurry()));
|
||||
if (CollUtil.isNotEmpty(args.getCreateTime()) && args.getCreateTime().size() >= 2) {
|
||||
wrapper.between(SystemRoleTb::getCreateTime, args.getCreateTime().get(0), args.getCreateTime().get(1));
|
||||
}
|
||||
}
|
||||
return systemRoleMapper.selectCount(wrapper);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-2
@@ -30,8 +30,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
@Service
|
||||
public class SystemUserJobService {
|
||||
|
||||
@Autowired
|
||||
private SystemUserJobMapper systemUserJobMapper;
|
||||
@Autowired private SystemUserJobMapper systemUserJobMapper;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void batchInsertUserJob(Set<SystemJobTb> jobs, Long userId) {
|
||||
|
||||
+1
-2
@@ -30,8 +30,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
@Service
|
||||
public class SystemUserRoleService {
|
||||
|
||||
@Autowired
|
||||
private SystemUserRoleMapper systemUserRoleMapper;
|
||||
@Autowired private SystemUserRoleMapper systemUserRoleMapper;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void batchInsertUserRole(Set<SystemRoleTb> roles, Long userId) {
|
||||
|
||||
+84
-151
@@ -31,12 +31,12 @@ import cn.odboy.system.dal.dataobject.SystemUserRoleTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemUserTb;
|
||||
import cn.odboy.system.dal.model.SystemQueryUserArgs;
|
||||
import cn.odboy.system.dal.model.SystemUserVo;
|
||||
import cn.odboy.system.dal.mysql.SystemUserMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemUserJobMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemUserRoleMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemDeptMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemJobMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemRoleMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemDeptMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemUserJobMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemUserMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemUserRoleMapper;
|
||||
import cn.odboy.system.dal.redis.SystemUserInfoDAO;
|
||||
import cn.odboy.system.dal.redis.SystemUserOnlineInfoDAO;
|
||||
import cn.odboy.system.framework.permission.core.KitSecurityHelper;
|
||||
@@ -45,6 +45,7 @@ import cn.odboy.util.KitPageUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
@@ -57,7 +58,6 @@ import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -66,28 +66,17 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
@Service
|
||||
public class SystemUserService {
|
||||
|
||||
@Autowired
|
||||
private SystemUserMapper systemUserMapper;
|
||||
@Autowired
|
||||
private SystemUserJobService systemUserJobService;
|
||||
@Autowired
|
||||
private SystemUserRoleService systemUserRoleService;
|
||||
@Autowired
|
||||
private SystemUserInfoDAO systemUserInfoDAO;
|
||||
@Autowired
|
||||
private SystemUserOnlineInfoDAO systemUserOnlineInfoDAO;
|
||||
@Autowired
|
||||
private KitFileLocalUploadHelper fileUploadPathHelper;
|
||||
@Autowired
|
||||
private SystemUserJobMapper systemUserJobMapper;
|
||||
@Autowired
|
||||
private SystemUserRoleMapper systemUserRoleMapper;
|
||||
@Autowired
|
||||
private SystemJobMapper systemJobMapper;
|
||||
@Autowired
|
||||
private SystemRoleMapper systemRoleMapper;
|
||||
@Autowired
|
||||
private SystemDeptMapper systemDeptMapper;
|
||||
@Autowired private SystemUserMapper systemUserMapper;
|
||||
@Autowired private SystemUserJobService systemUserJobService;
|
||||
@Autowired private SystemUserRoleService systemUserRoleService;
|
||||
@Autowired private SystemUserInfoDAO systemUserInfoDAO;
|
||||
@Autowired private SystemUserOnlineInfoDAO systemUserOnlineInfoDAO;
|
||||
@Autowired private KitFileLocalUploadHelper fileUploadPathHelper;
|
||||
@Autowired private SystemUserJobMapper systemUserJobMapper;
|
||||
@Autowired private SystemUserRoleMapper systemUserRoleMapper;
|
||||
@Autowired private SystemJobMapper systemJobMapper;
|
||||
@Autowired private SystemRoleMapper systemRoleMapper;
|
||||
@Autowired private SystemDeptMapper systemDeptMapper;
|
||||
|
||||
/**
|
||||
* 新增用户
|
||||
@@ -97,13 +86,13 @@ public class SystemUserService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void saveUser(SystemUserVo args) {
|
||||
args.setDeptId(args.getDept().getId());
|
||||
if (systemUserMapper.getUserByUsername(args.getUsername()) != null) {
|
||||
if (this.getUserByUsername(args.getUsername()) != null) {
|
||||
throw new BadRequestException("用户名已存在");
|
||||
}
|
||||
if (systemUserMapper.getUserByEmail(args.getEmail()) != null) {
|
||||
if (this.getUserByEmail(args.getEmail()) != null) {
|
||||
throw new BadRequestException("邮箱已存在");
|
||||
}
|
||||
if (systemUserMapper.getUserByPhone(args.getPhone()) != null) {
|
||||
if (this.getUserByPhone(args.getPhone()) != null) {
|
||||
throw new BadRequestException("手机号已存在");
|
||||
}
|
||||
systemUserMapper.insert(args);
|
||||
@@ -117,14 +106,13 @@ public class SystemUserService {
|
||||
* 编辑用户
|
||||
*
|
||||
* @param args /
|
||||
* @throws Exception /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void modifyUserById(SystemUserVo args) {
|
||||
public void updateUserById(SystemUserVo args) {
|
||||
SystemUserTb user = systemUserMapper.selectById(args.getId());
|
||||
SystemUserTb user1 = systemUserMapper.getUserByUsername(args.getUsername());
|
||||
SystemUserTb user2 = systemUserMapper.getUserByEmail(args.getEmail());
|
||||
SystemUserTb user3 = systemUserMapper.getUserByPhone(args.getPhone());
|
||||
SystemUserTb user1 = this.getUserByUsername(args.getUsername());
|
||||
SystemUserTb user2 = this.getUserByEmail(args.getEmail());
|
||||
SystemUserTb user3 = this.getUserByPhone(args.getPhone());
|
||||
if (user1 != null && !user.getId().equals(user1.getId())) {
|
||||
throw new BadRequestException("用户名已存在");
|
||||
}
|
||||
@@ -163,9 +151,9 @@ public class SystemUserService {
|
||||
* @param args /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void modifyUserCenterInfoById(SystemUserTb args) {
|
||||
public void updateUserCenterInfoById(SystemUserTb args) {
|
||||
SystemUserTb user = systemUserMapper.selectById(args.getId());
|
||||
SystemUserTb user1 = systemUserMapper.getUserByPhone(args.getPhone());
|
||||
SystemUserTb user1 = this.getUserByPhone(args.getPhone());
|
||||
if (user1 != null && !user.getId().equals(user1.getId())) {
|
||||
throw new BadRequestException("手机号已存在");
|
||||
}
|
||||
@@ -202,7 +190,7 @@ public class SystemUserService {
|
||||
* @param encryptPassword 密码
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void modifyUserPasswordByUsername(String username, String encryptPassword) {
|
||||
public void updateUserPasswordByUsername(String username, String encryptPassword) {
|
||||
systemUserMapper.updateUserPasswordByUsername(username, encryptPassword);
|
||||
systemUserInfoDAO.deleteUserLoginInfoByUserName(username);
|
||||
}
|
||||
@@ -234,8 +222,8 @@ public class SystemUserService {
|
||||
* @return /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Map<String, String> modifyUserAvatar(MultipartFile multipartFile) {
|
||||
SystemUserTb user = systemUserMapper.getUserByUsername(KitSecurityHelper.getCurrentUsername());
|
||||
public Map<String, String> updateUserAvatar(MultipartFile multipartFile) {
|
||||
SystemUserTb user = this.getUserByUsername(KitSecurityHelper.getCurrentUsername());
|
||||
String username = user.getUsername();
|
||||
if (StrUtil.isBlank(username)) {
|
||||
throw new BadRequestException("异常用户数据, 请联系管理员处理");
|
||||
@@ -269,7 +257,7 @@ public class SystemUserService {
|
||||
* @param email 邮箱
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void modifyUserEmailByUsername(String username, String email) {
|
||||
public void updateUserEmailByUsername(String username, String email) {
|
||||
systemUserMapper.updateUserEmailByUsername(username, email);
|
||||
systemUserInfoDAO.deleteUserLoginInfoByUserName(username);
|
||||
}
|
||||
@@ -303,33 +291,30 @@ public class SystemUserService {
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param criteria 条件
|
||||
* @param args 条件
|
||||
* @param page 分页参数
|
||||
* @return /
|
||||
*/
|
||||
public KitPageResult<SystemUserVo> queryUserByArgs(SystemQueryUserArgs criteria, Page<SystemUserTb> page) {
|
||||
public KitPageResult<SystemUserVo> searchUserByArgs(SystemQueryUserArgs args, Page<SystemUserTb> page) {
|
||||
// 查询用户基本信息
|
||||
LambdaQueryWrapper<SystemUserTb> wrapper = buildUserQueryWrapper(criteria);
|
||||
LambdaQueryWrapper<SystemUserTb> wrapper = buildUserQueryWrapper(args);
|
||||
IPage<SystemUserTb> userPage = systemUserMapper.selectPage(page, wrapper);
|
||||
List<SystemUserTb> users = userPage.getRecords();
|
||||
|
||||
// 转换为SystemUserVo并关联查询
|
||||
List<SystemUserVo> userVos = users.stream().map(this::convertToUserVo).collect(Collectors.toList());
|
||||
|
||||
return KitPageUtil.toPage(userVos, userPage.getTotal());
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询全部不分页
|
||||
*
|
||||
* @param criteria 条件
|
||||
* @param args 条件
|
||||
* @return /
|
||||
*/
|
||||
public List<SystemUserVo> queryUserByArgs(SystemQueryUserArgs criteria) {
|
||||
public List<SystemUserVo> queryUserByArgs(SystemQueryUserArgs args) {
|
||||
// 查询用户基本信息
|
||||
LambdaQueryWrapper<SystemUserTb> wrapper = buildUserQueryWrapper(criteria);
|
||||
LambdaQueryWrapper<SystemUserTb> wrapper = buildUserQueryWrapper(args);
|
||||
List<SystemUserTb> users = systemUserMapper.selectList(wrapper);
|
||||
|
||||
// 转换为SystemUserVo并关联查询
|
||||
return users.stream().map(this::convertToUserVo).collect(Collectors.toList());
|
||||
}
|
||||
@@ -344,30 +329,20 @@ public class SystemUserService {
|
||||
return systemUserMapper.selectById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据用户名查询
|
||||
*
|
||||
* @param username /
|
||||
* @return /
|
||||
*/
|
||||
public SystemUserTb getUserByUsername(String username) {
|
||||
return systemUserMapper.getUserByUsername(username);
|
||||
}
|
||||
|
||||
public List<KitSelectOptionVo> queryUserMetadataOptions(KitPageArgs<SystemQueryUserArgs> args) {
|
||||
SystemQueryUserArgs criteria = args.getArgs();
|
||||
public List<KitSelectOptionVo> queryUserMetadataOptions(KitPageArgs<SystemQueryUserArgs> pageArgs) {
|
||||
SystemQueryUserArgs args = pageArgs.getArgs();
|
||||
LambdaQueryWrapper<SystemUserTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.select(SystemUserTb::getId, SystemUserTb::getDeptId, SystemUserTb::getEmail, SystemUserTb::getPhone);
|
||||
wrapper.and(c -> {
|
||||
c.eq(SystemUserTb::getPhone, criteria.getBlurry());
|
||||
c.eq(SystemUserTb::getPhone, args.getBlurry());
|
||||
c.or();
|
||||
c.eq(SystemUserTb::getEmail, criteria.getBlurry());
|
||||
c.eq(SystemUserTb::getEmail, args.getBlurry());
|
||||
c.or();
|
||||
c.like(SystemUserTb::getUsername, criteria.getBlurry());
|
||||
c.like(SystemUserTb::getUsername, args.getBlurry());
|
||||
c.or();
|
||||
c.like(SystemUserTb::getNickName, criteria.getBlurry());
|
||||
c.like(SystemUserTb::getNickName, args.getBlurry());
|
||||
});
|
||||
return systemUserMapper.selectPage(new Page<>(criteria.getPage(), 50), wrapper).getRecords().stream().map(m -> {
|
||||
return systemUserMapper.selectPage(new Page<>(args.getPage(), 50), wrapper).getRecords().stream().map(m -> {
|
||||
Map<String, Object> ext = new HashMap<>(1);
|
||||
ext.put("id", m.getId());
|
||||
ext.put("deptId", m.getDeptId());
|
||||
@@ -377,58 +352,6 @@ public class SystemUserService {
|
||||
}).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据角色ID查询用户
|
||||
*
|
||||
* @param roleId 角色ID
|
||||
* @return /
|
||||
*/
|
||||
public List<SystemUserVo> selectUserByRoleId(Long roleId) {
|
||||
// 查询用户角色关联
|
||||
LambdaQueryWrapper<SystemUserRoleTb> userRoleWrapper = new LambdaQueryWrapper<>();
|
||||
userRoleWrapper.eq(SystemUserRoleTb::getRoleId, roleId);
|
||||
List<SystemUserRoleTb> userRoles = systemUserRoleMapper.selectList(userRoleWrapper);
|
||||
|
||||
if (CollUtil.isEmpty(userRoles)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
Set<Long> userIds = userRoles.stream().map(SystemUserRoleTb::getUserId).collect(Collectors.toSet());
|
||||
List<SystemUserTb> users = systemUserMapper.selectByIds(userIds);
|
||||
|
||||
return users.stream().map(this::convertToUserVo).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据部门ID查询用户
|
||||
*
|
||||
* @param deptId 部门ID
|
||||
* @return /
|
||||
*/
|
||||
public List<SystemUserVo> selectUserByDeptId(Long deptId) {
|
||||
// 查询部门关联的角色
|
||||
LambdaQueryWrapper<SystemUserTb> userWrapper = new LambdaQueryWrapper<>();
|
||||
userWrapper.eq(SystemUserTb::getDeptId, deptId);
|
||||
List<SystemUserTb> users = systemUserMapper.selectList(userWrapper);
|
||||
|
||||
return users.stream().map(this::convertToUserVo).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据菜单ID查询用户
|
||||
*
|
||||
* @param menuId 菜单ID
|
||||
* @return /
|
||||
*/
|
||||
public List<SystemUserVo> selectUserByMenuId(Long menuId) {
|
||||
// 查询菜单角色关联
|
||||
LambdaQueryWrapper<SystemUserRoleTb> userRoleWrapper = new LambdaQueryWrapper<>();
|
||||
// 这里需要通过菜单角色关联表查询,暂时简化处理
|
||||
List<SystemUserTb> users = systemUserMapper.selectList(null);
|
||||
|
||||
return users.stream().map(this::convertToUserVo).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据岗位ID统计用户数量
|
||||
*
|
||||
@@ -439,7 +362,6 @@ public class SystemUserService {
|
||||
if (CollUtil.isEmpty(jobIds)) {
|
||||
return 0L;
|
||||
}
|
||||
|
||||
LambdaQueryWrapper<SystemUserJobTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(SystemUserJobTb::getJobId, jobIds);
|
||||
return systemUserJobMapper.selectCount(wrapper);
|
||||
@@ -455,52 +377,36 @@ public class SystemUserService {
|
||||
if (CollUtil.isEmpty(roleIds)) {
|
||||
return 0L;
|
||||
}
|
||||
|
||||
LambdaQueryWrapper<SystemUserRoleTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(SystemUserRoleTb::getRoleId, roleIds);
|
||||
return systemUserRoleMapper.selectCount(wrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据用户名查询用户详情(包含关联信息)
|
||||
*
|
||||
* @param username 用户名
|
||||
* @return /
|
||||
*/
|
||||
public SystemUserVo getUserVoByUsername(String username) {
|
||||
SystemUserTb user = systemUserMapper.getUserByUsername(username);
|
||||
if (user == null) {
|
||||
return null;
|
||||
}
|
||||
return convertToUserVo(user);
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建用户查询条件
|
||||
*
|
||||
* @param criteria 查询条件
|
||||
* @param args 查询条件
|
||||
* @return /
|
||||
*/
|
||||
private LambdaQueryWrapper<SystemUserTb> buildUserQueryWrapper(SystemQueryUserArgs criteria) {
|
||||
private LambdaQueryWrapper<SystemUserTb> buildUserQueryWrapper(SystemQueryUserArgs args) {
|
||||
LambdaQueryWrapper<SystemUserTb> wrapper = new LambdaQueryWrapper<>();
|
||||
if (criteria != null) {
|
||||
if (criteria.getId() != null) {
|
||||
wrapper.eq(SystemUserTb::getId, criteria.getId());
|
||||
if (args != null) {
|
||||
if (args.getId() != null) {
|
||||
wrapper.eq(SystemUserTb::getId, args.getId());
|
||||
}
|
||||
if (criteria.getEnabled() != null) {
|
||||
wrapper.eq(SystemUserTb::getEnabled, criteria.getEnabled());
|
||||
if (args.getEnabled() != null) {
|
||||
wrapper.eq(SystemUserTb::getEnabled, args.getEnabled());
|
||||
}
|
||||
if (CollUtil.isNotEmpty(criteria.getDeptIds())) {
|
||||
wrapper.in(SystemUserTb::getDeptId, criteria.getDeptIds());
|
||||
if (CollUtil.isNotEmpty(args.getDeptIds())) {
|
||||
wrapper.in(SystemUserTb::getDeptId, args.getDeptIds());
|
||||
}
|
||||
if (StrUtil.isNotBlank(criteria.getBlurry())) {
|
||||
wrapper.and(w -> w.like(SystemUserTb::getUsername, criteria.getBlurry())
|
||||
.or().like(SystemUserTb::getNickName, criteria.getBlurry())
|
||||
.or().like(SystemUserTb::getEmail, criteria.getBlurry()));
|
||||
if (StrUtil.isNotBlank(args.getBlurry())) {
|
||||
wrapper.and(w -> w.like(SystemUserTb::getUsername, args.getBlurry()).or()
|
||||
.like(SystemUserTb::getNickName, args.getBlurry()).or()
|
||||
.like(SystemUserTb::getEmail, args.getBlurry()));
|
||||
}
|
||||
if (CollUtil.isNotEmpty(criteria.getCreateTime()) && criteria.getCreateTime().size() >= 2) {
|
||||
wrapper.between(SystemUserTb::getCreateTime, criteria.getCreateTime().get(0),
|
||||
criteria.getCreateTime().get(1));
|
||||
if (CollUtil.isNotEmpty(args.getCreateTime()) && args.getCreateTime().size() >= 2) {
|
||||
wrapper.between(SystemUserTb::getCreateTime, args.getCreateTime().get(0), args.getCreateTime().get(1));
|
||||
}
|
||||
}
|
||||
wrapper.orderByDesc(SystemUserTb::getCreateTime);
|
||||
@@ -547,4 +453,31 @@ public class SystemUserService {
|
||||
|
||||
return userVo;
|
||||
}
|
||||
|
||||
public SystemUserTb getUserByUsername(String username) {
|
||||
LambdaQueryWrapper<SystemUserTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemUserTb::getUsername, username);
|
||||
wrapper.eq(SystemUserTb::getEnabled, 1);
|
||||
return systemUserMapper.selectOne(wrapper);
|
||||
}
|
||||
|
||||
public long countUserByDeptIds(Set<Long> deptIds) {
|
||||
LambdaQueryWrapper<SystemUserTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(SystemUserTb::getDeptId, deptIds);
|
||||
return systemUserMapper.selectCount(wrapper);
|
||||
}
|
||||
|
||||
public SystemUserTb getUserByEmail(String email) {
|
||||
LambdaQueryWrapper<SystemUserTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemUserTb::getEmail, email);
|
||||
wrapper.eq(SystemUserTb::getEnabled, 1);
|
||||
return systemUserMapper.selectOne(wrapper);
|
||||
}
|
||||
|
||||
public SystemUserTb getUserByPhone(String phone) {
|
||||
LambdaQueryWrapper<SystemUserTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemUserTb::getPhone, phone);
|
||||
wrapper.eq(SystemUserTb::getEnabled, 1);
|
||||
return systemUserMapper.selectOne(wrapper);
|
||||
}
|
||||
}
|
||||
|
||||
+22
-26
@@ -36,13 +36,13 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -60,19 +60,15 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
public class SystemOssStorageServiceImpl extends ServiceImpl<SystemOssStorageMapper, SystemOssStorageTb>
|
||||
implements SystemOssStorageService {
|
||||
|
||||
@Autowired
|
||||
private MinioRepository minioRepository;
|
||||
@Autowired
|
||||
private AppProperties properties;
|
||||
@Autowired
|
||||
private KitFileLocalUploadHelper fileLocalUploadHelper;
|
||||
@Autowired
|
||||
private SystemOssStorageMapper systemOssStorageMapper;
|
||||
@Autowired private MinioRepository minioRepository;
|
||||
@Autowired private AppProperties properties;
|
||||
@Autowired private KitFileLocalUploadHelper fileLocalUploadHelper;
|
||||
@Autowired private SystemOssStorageMapper systemOssStorageMapper;
|
||||
|
||||
@Override
|
||||
public KitPageResult<SystemOssStorageVo> queryOssStorage(SystemQueryStorageArgs criteria,
|
||||
public KitPageResult<SystemOssStorageVo> searchOssStorage(SystemQueryStorageArgs args,
|
||||
Page<SystemOssStorageTb> page) {
|
||||
IPage<SystemOssStorageTb> ossStorageTbs = this.selectOssStorageByArgs(criteria, page);
|
||||
IPage<SystemOssStorageTb> ossStorageTbs = this.selectOssStorageByArgs(args, page);
|
||||
IPage<SystemOssStorageVo> convert = ossStorageTbs.convert(c -> {
|
||||
SystemOssStorageVo storageVo = BeanUtil.copyProperties(c, SystemOssStorageVo.class);
|
||||
storageVo.setFileSizeDesc(KitFileUtil.getSize(storageVo.getFileSize()));
|
||||
@@ -81,18 +77,18 @@ public class SystemOssStorageServiceImpl extends ServiceImpl<SystemOssStorageMap
|
||||
return KitPageUtil.toPage(convert);
|
||||
}
|
||||
|
||||
private IPage<SystemOssStorageTb> selectOssStorageByArgs(SystemQueryStorageArgs criteria,
|
||||
private IPage<SystemOssStorageTb> selectOssStorageByArgs(SystemQueryStorageArgs args,
|
||||
Page<SystemOssStorageTb> page) {
|
||||
LambdaQueryWrapper<SystemOssStorageTb> wrapper = new LambdaQueryWrapper<>();
|
||||
if (criteria != null) {
|
||||
wrapper.and(StrUtil.isNotBlank(criteria.getBlurry()),
|
||||
c -> c.like(SystemOssStorageTb::getFileName, criteria.getBlurry()).or()
|
||||
.like(SystemOssStorageTb::getFilePrefix, criteria.getBlurry()).or()
|
||||
.like(SystemOssStorageTb::getFileMime, criteria.getBlurry()).or()
|
||||
.like(SystemOssStorageTb::getFileMd5, criteria.getBlurry()));
|
||||
if (CollUtil.isNotEmpty(criteria.getCreateTime()) && criteria.getCreateTime().size() >= 2) {
|
||||
wrapper.between(SystemOssStorageTb::getUpdateTime, criteria.getCreateTime().get(0),
|
||||
criteria.getCreateTime().get(1));
|
||||
if (args != null) {
|
||||
wrapper.and(StrUtil.isNotBlank(args.getBlurry()),
|
||||
c -> c.like(SystemOssStorageTb::getFileName, args.getBlurry()).or()
|
||||
.like(SystemOssStorageTb::getFilePrefix, args.getBlurry()).or()
|
||||
.like(SystemOssStorageTb::getFileMime, args.getBlurry()).or()
|
||||
.like(SystemOssStorageTb::getFileMd5, args.getBlurry()));
|
||||
if (CollUtil.isNotEmpty(args.getCreateTime()) && args.getCreateTime().size() >= 2) {
|
||||
wrapper.between(SystemOssStorageTb::getUpdateTime, args.getCreateTime().get(0),
|
||||
args.getCreateTime().get(1));
|
||||
}
|
||||
}
|
||||
wrapper.orderByAsc(SystemOssStorageTb::getId);
|
||||
@@ -100,10 +96,10 @@ public class SystemOssStorageServiceImpl extends ServiceImpl<SystemOssStorageMap
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SystemOssStorageVo> queryOssStorage(SystemQueryStorageArgs criteria) {
|
||||
public List<SystemOssStorageVo> queryOssStorage(SystemQueryStorageArgs args) {
|
||||
// 防止刷数据
|
||||
Page<SystemOssStorageTb> page = new Page<>(1, 500);
|
||||
return queryOssStorage(criteria, page).getContent();
|
||||
return searchOssStorage(args, page).getContent();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -145,7 +141,7 @@ public class SystemOssStorageServiceImpl extends ServiceImpl<SystemOssStorageMap
|
||||
}
|
||||
// 校验文件md5, 看是否已存在云端(不确定, 可能云端已经删除, 但是正常来说云端是不允许私自删除的, 所以这里忽略云端不存在的情况)
|
||||
String md5 = KitFileUtil.getMd5(tempFile);
|
||||
SystemOssStorageTb systemOssStorageTb = this.getByMd5(md5);
|
||||
SystemOssStorageTb systemOssStorageTb = this.getOssStorageByMd5(md5);
|
||||
if (systemOssStorageTb != null) {
|
||||
// 重新生成7天链接
|
||||
return minioRepository.generatePreviewUrl(systemOssStorageTb.getObjectName());
|
||||
@@ -166,7 +162,7 @@ public class SystemOssStorageServiceImpl extends ServiceImpl<SystemOssStorageMap
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void removeFileByIds(Long[] ids) {
|
||||
public void deleteFileByIds(Long[] ids) {
|
||||
for (Long id : ids) {
|
||||
SystemOssStorageTb storage = getById(id);
|
||||
minioRepository.removeBucketFile(storage.getObjectName());
|
||||
@@ -174,7 +170,7 @@ public class SystemOssStorageServiceImpl extends ServiceImpl<SystemOssStorageMap
|
||||
}
|
||||
}
|
||||
|
||||
private SystemOssStorageTb getByMd5(String md5) {
|
||||
private SystemOssStorageTb getOssStorageByMd5(String md5) {
|
||||
return lambdaQuery().eq(SystemOssStorageTb::getFileMd5, md5).one();
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -17,14 +17,14 @@
|
||||
package cn.odboy;
|
||||
|
||||
import cn.odboy.framework.monitor.service.KitHealthCheckPointService;
|
||||
import cn.odboy.system.service.SystemDictService;
|
||||
import cn.odboy.system.dal.mysql.SystemDictMapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class HealthCheckPointer implements KitHealthCheckPointService {
|
||||
@Autowired private SystemDictService systemDictService;
|
||||
@Autowired private SystemDictMapper systemDictMapper;
|
||||
|
||||
/**
|
||||
* 系统准备就绪
|
||||
@@ -39,6 +39,6 @@ public class HealthCheckPointer implements KitHealthCheckPointService {
|
||||
*/
|
||||
@Override
|
||||
public ResponseEntity<?> doLiveness() {
|
||||
return ResponseEntity.ok(systemDictService.getById(1));
|
||||
return ResponseEntity.ok(systemDictMapper.selectById(1));
|
||||
}
|
||||
}
|
||||
|
||||
-1
@@ -20,7 +20,6 @@ import cn.hutool.core.collection.CollUtil;
|
||||
import cn.odboy.system.dal.dataobject.SystemDeptTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemJobTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemRoleTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemUserTb;
|
||||
import cn.odboy.system.dal.model.SystemUserVo;
|
||||
import cn.odboy.system.service.SystemUserService;
|
||||
import java.util.Set;
|
||||
|
||||
Reference in New Issue
Block a user