From 09f0241141e256fc7e5c99422d303c963a13bb47 Mon Sep 17 00:00:00 2001 From: ljl <> Date: Fri, 5 May 2023 16:48:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/common/CaptchaController.java | 2 + .../controller/house/BuyHousesController.java | 12 +- .../house/HousesReviewController.java | 20 +- .../material/MaterialModuleController.java | 7 + .../material/MaterialTalentsController.java | 6 + .../system/SubscribeExportController.java | 4 + .../system/SysConfigController.java | 11 +- .../controller/system/SysDeptController.java | 6 + .../system/SysDictDataController.java | 7 + .../system/SysDictTypeController.java | 11 +- .../controller/system/SysLoginController.java | 7 +- .../controller/system/SysMenuController.java | 9 +- .../system/SysNoticeController.java | 6 + .../system/SysOssConfigController.java | 7 + .../controller/system/SysOssController.java | 14 +- .../controller/system/SysPostController.java | 9 +- .../system/SysProfileController.java | 8 +- .../system/SysRegisterController.java | 2 + .../controller/system/SysRoleController.java | 19 +- .../controller/system/SysUserController.java | 15 +- .../src/main/resources/application-dev.yml | 6 +- .../src/main/resources/application-prod.yml | 113 ++- .../src/main/resources/application.yml | 3 +- .../ruoyi/common/core/domain/BaseEntity.java | 3 +- .../common/core/domain/entity/SysDept.java | 3 +- .../core/domain/entity/SysDictData.java | 3 +- .../core/domain/entity/SysDictType.java | 3 +- .../common/core/domain/entity/SysMenu.java | 3 +- .../common/core/domain/entity/SysRole.java | 7 +- .../common/core/domain/entity/SysUser.java | 2 +- .../ruoyi/common/utils/DateHolidayUtils.java | 769 ++++++++++++++++++ .../ruoyi/common/utils/MySerializerUtils.java | 16 + .../java/com/ruoyi/demo/domain/TestDemo.java | 2 +- .../java/com/ruoyi/demo/domain/TestTree.java | 7 +- .../com/ruoyi/generator/domain/GenTable.java | 2 +- .../generator/domain/GenTableColumn.java | 7 +- ruoyi-oss/pom.xml | 6 + .../advice/EncodeResponseBodyAdvice.java | 3 +- .../ruoyi/system/common/WorkBusinessRule.java | 21 + .../ruoyi/system/domain/BuyHouseCheck.java | 3 +- .../com/ruoyi/system/domain/BuyHouses.java | 3 +- .../ruoyi/system/domain/BuyHousesMember.java | 3 +- .../system/domain/BuyHousesReviewMember.java | 3 +- .../com/ruoyi/system/domain/HousesReview.java | 5 +- .../ruoyi/system/domain/MaterialModule.java | 8 + .../ruoyi/system/domain/MaterialProof.java | 2 +- .../ruoyi/system/domain/MaterialTalents.java | 2 +- .../ruoyi/system/domain/SubscribeExport.java | 2 +- .../com/ruoyi/system/domain/SysConfig.java | 3 +- .../ruoyi/system/domain/SysLogininfor.java | 3 +- .../com/ruoyi/system/domain/SysNotice.java | 3 +- .../com/ruoyi/system/domain/SysOperLog.java | 3 +- .../java/com/ruoyi/system/domain/SysOss.java | 3 +- .../com/ruoyi/system/domain/SysOssConfig.java | 3 +- .../java/com/ruoyi/system/domain/SysPost.java | 3 +- .../java/com/ruoyi/system/domain/User.java | 2 +- .../system/domain/bo/HousesReviewBo.java | 2 + .../system/domain/bo/MaterialModuleBo.java | 9 + .../system/domain/dto/BuyHousesEvent.java | 3 +- .../system/domain/dto/HousesReviewEvent.java | 3 +- .../system/domain/vo/HousesReviewVo.java | 15 +- .../system/domain/vo/MaterialModuleVo.java | 14 + .../service/impl/BuyHousesServiceImpl.java | 9 +- .../service/impl/HousesReviewServiceImpl.java | 69 +- .../impl/MaterialModuleServiceImpl.java | 19 +- .../system/service/impl/UserServiceImpl.java | 12 +- .../mapper/system/MaterialModuleMapper.xml | 19 +- ruoyi-work/pom.xml | 4 + .../ruoyi/work/controller/WorkController.java | 9 + .../ruoyi/work/domain/ActBusinessRule.java | 3 +- .../com/ruoyi/work/domain/ActProcess.java | 10 +- .../java/com/ruoyi/work/domain/AuditLog.java | 2 +- .../com/ruoyi/work/domain/HisProcess.java | 5 +- .../com/ruoyi/work/domain/RollBackLog.java | 3 +- .../java/com/ruoyi/work/domain/TProcess.java | 3 +- .../com/ruoyi/work/utils/WorkComplyUtils.java | 42 +- .../java/com/ruoyi/work/utils/WorkUtils.java | 14 +- 77 files changed, 1296 insertions(+), 188 deletions(-) create mode 100644 ruoyi-common/src/main/java/com/ruoyi/common/utils/DateHolidayUtils.java create mode 100644 ruoyi-common/src/main/java/com/ruoyi/common/utils/MySerializerUtils.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java index 795359c5b..554cc33f2 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java @@ -14,6 +14,7 @@ import com.ruoyi.common.utils.redis.RedisUtils; import com.ruoyi.common.utils.reflect.ReflectUtils; import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.framework.config.properties.CaptchaProperties; +import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter; import com.ruoyi.sms.config.properties.SmsProperties; import com.ruoyi.sms.core.SmsTemplate; import com.ruoyi.sms.entity.SmsResult; @@ -79,6 +80,7 @@ public class CaptchaController { * 生成验证码 */ @GetMapping("/captchaImage") +// @RsaSecurityParameter public R> getCode() { Map ajax = new HashMap<>(); boolean captchaEnabled = configService.selectCaptchaEnabled(); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/house/BuyHousesController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/house/BuyHousesController.java index 20d902e7c..183dd4d36 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/house/BuyHousesController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/house/BuyHousesController.java @@ -5,6 +5,7 @@ import java.util.List; import java.util.Arrays; import com.ruoyi.common.constant.Constants; +import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter; import com.ruoyi.system.domain.dto.BuyHousesEvent; import lombok.RequiredArgsConstructor; import javax.servlet.http.HttpServletResponse; @@ -42,6 +43,7 @@ public class BuyHousesController extends BaseController { */ @SaCheckPermission("system:houses:list") @GetMapping("/list") + @RsaSecurityParameter public TableDataInfo list(BuyHousesBo bo, PageQuery pageQuery) { bo.setProcessStatus(Constants.SUCCEED); return iBuyHousesService.queryPageList(bo, pageQuery); @@ -53,14 +55,18 @@ public class BuyHousesController extends BaseController { * @return * @throws IOException */ + @SaCheckPermission("system:houses:subscribeExport") @PostMapping("/subscribeExport") + @RsaSecurityParameter(inDecode = true) public R subscribeExport(@RequestBody BuyHousesEvent bo) throws IOException { return iBuyHousesService.subscribeExport(bo); } /** * 导出excel */ + @SaCheckPermission("system:houses:exportExcel") @PostMapping("/exportExcel") + @RsaSecurityParameter(outEncode = false) public void exportExcel(BuyHousesBo bo,HttpServletResponse response){ iBuyHousesService.exportExcel(bo,response); } @@ -71,9 +77,10 @@ public class BuyHousesController extends BaseController { @SaCheckPermission("system:houses:export") @Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT) @PostMapping("一期导出列表") + @RsaSecurityParameter(inDecode = true,outEncode = false) public void export(BuyHousesBo bo, HttpServletResponse response) { List list = iBuyHousesService.queryList(bo); - ExcelUtil.exportExcel(list, "【请填写功能名称】", BuyHousesVo.class, response); + ExcelUtil.exportExcel(list, "一期导出列表", BuyHousesVo.class, response); } /** @@ -83,6 +90,7 @@ public class BuyHousesController extends BaseController { */ @SaCheckPermission("system:houses:query") @GetMapping("/{id}") + @RsaSecurityParameter public R getInfo(@NotNull(message = "主键不能为空") @PathVariable Long id) { return R.ok(iBuyHousesService.queryById(id)); @@ -97,6 +105,7 @@ public class BuyHousesController extends BaseController { @SaCheckPermission("system:houses:remove") @Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") + @RsaSecurityParameter public R remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] ids) { return toAjax(iBuyHousesService.deleteWithValidByIds(Arrays.asList(ids), true)); @@ -107,6 +116,7 @@ public class BuyHousesController extends BaseController { */ @Log(title = "获取申报材料",businessType = BusinessType.OTHER) @PostMapping("/review/material") + @RsaSecurityParameter(inDecode = true) public R getMaterialInfo(@RequestBody BuyHousesBo bo){ return iBuyHousesService.getMaterialInfo(bo); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/house/HousesReviewController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/house/HousesReviewController.java index aa2349899..00ddb53da 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/house/HousesReviewController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/house/HousesReviewController.java @@ -16,6 +16,7 @@ import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.excel.ExcelResult; import com.ruoyi.common.helper.LoginHelper; import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter; import com.ruoyi.system.domain.BuyHouses; import com.ruoyi.system.domain.HousesReview; import com.ruoyi.system.domain.bo.HousesReviewBo; @@ -61,6 +62,7 @@ public class HousesReviewController extends BaseController { */ @SaCheckPermission("system:review:reviewList") @GetMapping("/review/list") + @RsaSecurityParameter public TableDataInfo reviewList(HousesReviewBo bo, PageQuery pageQuery) { return iHousesReviewService.queryPageList(bo, pageQuery); } @@ -74,6 +76,7 @@ public class HousesReviewController extends BaseController { */ @SaCheckPermission("system:manager:reviewList") @GetMapping("/manager/list") + @RsaSecurityParameter public TableDataInfo managerReviewList(HousesReviewBo bo, PageQuery pageQuery) { bo.setProcessStatus(Constants.SUCCEED); return iHousesReviewService.queryPageList(bo, pageQuery); @@ -85,7 +88,9 @@ public class HousesReviewController extends BaseController { * @return * @throws IOException */ + @SaCheckPermission("system:houses:subscribeExport") @PostMapping("/subscribeExport") + @RsaSecurityParameter(inDecode = true) public R subscribeExport(HousesReviewEvent bo) throws IOException { return iHousesReviewService.subscribeExport(bo); } @@ -93,7 +98,9 @@ public class HousesReviewController extends BaseController { /** * 导出excel */ + @SaCheckPermission("system:houses:exportExcel") @PostMapping("/exportExcel") + @RsaSecurityParameter(inDecode = true,outEncode = false) public void exportExcel(HousesReviewBo bo,HttpServletResponse response){ iHousesReviewService.exportExcel(bo,response); } @@ -103,6 +110,7 @@ public class HousesReviewController extends BaseController { */ @SaCheckPermission("system:review:list") @GetMapping("/registrationManagement/list") + @RsaSecurityParameter public TableDataInfo list(HousesReviewBo bo, PageQuery pageQuery) { boolean admin = LoginHelper.isAdmin(); if (!admin){ @@ -117,6 +125,7 @@ public class HousesReviewController extends BaseController { @SaCheckPermission("system:review:export") @Log(title = "购房复审登记", businessType = BusinessType.EXPORT) @PostMapping("/registrationManagement/export") + @RsaSecurityParameter(inDecode = true,outEncode = false) public void export(HousesReviewBo bo, HttpServletResponse response) { List list = iHousesReviewService.queryList(bo); ExcelUtil.exportExcel(list, "购房复审登记", HousesReviewVo.class, response); @@ -129,6 +138,7 @@ public class HousesReviewController extends BaseController { */ @SaCheckPermission("system:review:edit") @GetMapping("/registrationManagement/{id}") + @RsaSecurityParameter public R getInfo(@NotNull(message = "主键不能为空") @PathVariable Long id) { return R.ok(iHousesReviewService.queryById(id)); @@ -141,6 +151,7 @@ public class HousesReviewController extends BaseController { @Log(title = "购房复审登记", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping("/registrationManagement") + @RsaSecurityParameter(inDecode = true) public R add(@Validated(AddGroup.class) @RequestBody HousesReviewBo bo) { return toAjax(iHousesReviewService.insertByBo(bo)); } @@ -152,6 +163,7 @@ public class HousesReviewController extends BaseController { @Log(title = "购房复审登记", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping("/registrationManagement") + @RsaSecurityParameter(inDecode = true) public R edit(@Validated(EditGroup.class) @RequestBody HousesReviewBo bo) { return toAjax(iHousesReviewService.updateByBo(bo)); } @@ -160,9 +172,10 @@ public class HousesReviewController extends BaseController { * 删除购房复审登记 * @param ids 主键串 */ - @SaCheckPermission("system:review:edit") + @SaCheckPermission("system:review:remove") @Log(title = "购房复审登记", businessType = BusinessType.DELETE) - @DeleteMapping("/registrationManagement/{ids}") + @DeleteMapping("/review/{ids}") + @RsaSecurityParameter public R remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] ids) { return toAjax(iHousesReviewService.deleteWithValidByIds(Arrays.asList(ids), true)); @@ -176,6 +189,7 @@ public class HousesReviewController extends BaseController { */ @Log(title = "购房复审导入", businessType = BusinessType.IMPORT) @SaCheckPermission("system:review:import") + @RsaSecurityParameter @PostMapping(value = "/review/importData", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public R importData(@RequestPart("file") MultipartFile file) throws Exception { ExcelResult result = ExcelUtil.importExcel(file.getInputStream(), HousesReviewVo.class, true); @@ -216,6 +230,7 @@ public class HousesReviewController extends BaseController { */ @Log(title = "获取申报材料",businessType = BusinessType.OTHER) @PostMapping("/review/material") + @RsaSecurityParameter(inDecode = true) public R getMaterialInfo(@RequestBody HousesReviewBo bo){ return iHousesReviewService.getMaterialInfo(bo); } @@ -225,6 +240,7 @@ public class HousesReviewController extends BaseController { */ @Log(title = "审核时返回当前人材料",businessType = BusinessType.OTHER) @GetMapping("/getMaterial/{id}") + @RsaSecurityParameter public R getMaterialByBusinessId(@PathVariable(value = "id") Long id){ return iHousesReviewService.getMaterialByBusinessId(id); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/material/MaterialModuleController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/material/MaterialModuleController.java index 29d5ada9c..958b22981 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/material/MaterialModuleController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/material/MaterialModuleController.java @@ -11,6 +11,7 @@ import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.EditGroup; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter; import com.ruoyi.system.domain.bo.MaterialModuleBo; import com.ruoyi.system.domain.vo.MaterialModuleVo; import com.ruoyi.system.service.IMaterialModuleService; @@ -43,12 +44,14 @@ public class MaterialModuleController extends BaseController { */ @SaCheckPermission("material:module:list") @GetMapping("/list") + @RsaSecurityParameter public TableDataInfo list(MaterialModuleBo bo, PageQuery pageQuery) { return iMaterialModuleService.queryPageList(bo, pageQuery); } @SaCheckPermission("material:materialList:list") @GetMapping("/materialList") + @RsaSecurityParameter public R materialList(MaterialModuleBo bo) { return iMaterialModuleService.selectMaterialList(bo); } @@ -71,6 +74,7 @@ public class MaterialModuleController extends BaseController { */ @SaCheckPermission("material:module:query") @GetMapping("/{id}") + @RsaSecurityParameter public R getInfo(@NotNull(message = "主键不能为空") @PathVariable Long id) { return R.ok(iMaterialModuleService.queryById(id)); @@ -83,6 +87,7 @@ public class MaterialModuleController extends BaseController { @Log(title = "材料模块", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() + @RsaSecurityParameter(inDecode = true) public R add(@Validated(AddGroup.class) @RequestBody MaterialModuleBo bo) { return toAjax(iMaterialModuleService.insertByBo(bo)); } @@ -93,6 +98,7 @@ public class MaterialModuleController extends BaseController { @SaCheckPermission("material:module:edit") @Log(title = "材料模块", businessType = BusinessType.UPDATE) @RepeatSubmit() + @RsaSecurityParameter(inDecode = true) @PutMapping() public R edit(@Validated(EditGroup.class) @RequestBody MaterialModuleBo bo) { return toAjax(iMaterialModuleService.updateByBo(bo)); @@ -106,6 +112,7 @@ public class MaterialModuleController extends BaseController { @SaCheckPermission("material:module:remove") @Log(title = "材料模块", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") + @RsaSecurityParameter public R remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] ids) { return toAjax(iMaterialModuleService.deleteWithValidByIds(Arrays.asList(ids), true)); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/material/MaterialTalentsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/material/MaterialTalentsController.java index bd0563145..beb9ead66 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/material/MaterialTalentsController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/material/MaterialTalentsController.java @@ -9,6 +9,7 @@ import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.EditGroup; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter; import com.ruoyi.system.domain.bo.MaterialTalentsBo; import com.ruoyi.system.domain.vo.MaterialTalentsVo; import com.ruoyi.system.service.IMaterialTalentsService; @@ -41,6 +42,7 @@ public class MaterialTalentsController extends BaseController { */ @SaCheckPermission("material:talents:list") @GetMapping("/list") + @RsaSecurityParameter public R> list(MaterialTalentsBo bo) { List list = iMaterialTalentsService.queryList(bo); return R.ok(list); @@ -64,6 +66,7 @@ public class MaterialTalentsController extends BaseController { */ @SaCheckPermission("material:talents:query") @GetMapping("/{id}") + @RsaSecurityParameter public R getInfo(@NotNull(message = "主键不能为空") @PathVariable Long id) { return R.ok(iMaterialTalentsService.queryById(id)); @@ -76,6 +79,7 @@ public class MaterialTalentsController extends BaseController { @Log(title = "材料关系", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() + @RsaSecurityParameter(inDecode = true) public R add(@Validated(AddGroup.class) @RequestBody MaterialTalentsBo bo) { return toAjax(iMaterialTalentsService.insertByBo(bo)); } @@ -87,6 +91,7 @@ public class MaterialTalentsController extends BaseController { @Log(title = "材料关系", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() + @RsaSecurityParameter(inDecode = true) public R edit(@Validated(EditGroup.class) @RequestBody MaterialTalentsBo bo) { return toAjax(iMaterialTalentsService.updateByBo(bo)); } @@ -99,6 +104,7 @@ public class MaterialTalentsController extends BaseController { @SaCheckPermission("material:talents:remove") @Log(title = "材料关系", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") + @RsaSecurityParameter public R remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] ids) { return toAjax(iMaterialTalentsService.deleteWithValidByIds(Arrays.asList(ids), true)); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SubscribeExportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SubscribeExportController.java index d261279ef..7f2de079c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SubscribeExportController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SubscribeExportController.java @@ -4,6 +4,7 @@ import java.util.List; import java.util.Arrays; import java.util.concurrent.TimeUnit; +import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter; import lombok.RequiredArgsConstructor; import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.*; @@ -44,6 +45,7 @@ public class SubscribeExportController extends BaseController { */ @SaCheckPermission("system:export:list") @GetMapping("/list") + @RsaSecurityParameter public TableDataInfo list(SubscribeExportBo bo, PageQuery pageQuery) { return iSubscribeExportService.queryPageList(bo, pageQuery); } @@ -78,6 +80,7 @@ public class SubscribeExportController extends BaseController { @Log(title = "预约导出", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() + @RsaSecurityParameter(inDecode = true) public R add(@Validated(AddGroup.class) @RequestBody SubscribeExportBo bo) { return toAjax(iSubscribeExportService.insertByBo(bo)); } @@ -89,6 +92,7 @@ public class SubscribeExportController extends BaseController { @Log(title = "预约导出", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() + @RsaSecurityParameter(inDecode = true) public R edit(@Validated(EditGroup.class) @RequestBody SubscribeExportBo bo) { return toAjax(iSubscribeExportService.updateByBo(bo)); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java index f5cb2a5ee..f0d7a93f5 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java @@ -2,19 +2,18 @@ package com.ruoyi.web.controller.system; import cn.dev33.satoken.annotation.SaCheckPermission; import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter; import com.ruoyi.system.domain.SysConfig; import com.ruoyi.system.service.ISysConfigService; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; - import javax.servlet.http.HttpServletResponse; import java.util.List; @@ -36,6 +35,7 @@ public class SysConfigController extends BaseController { */ @SaCheckPermission("system:config:list") @GetMapping("/list") + @RsaSecurityParameter public TableDataInfo list(SysConfig config, PageQuery pageQuery) { return configService.selectPageConfigList(config, pageQuery); } @@ -58,6 +58,7 @@ public class SysConfigController extends BaseController { */ @SaCheckPermission("system:config:query") @GetMapping(value = "/{configId}") + @RsaSecurityParameter public R getInfo(@PathVariable Long configId) { return R.ok(configService.selectConfigById(configId)); } @@ -68,6 +69,7 @@ public class SysConfigController extends BaseController { * @param configKey 参数Key */ @GetMapping(value = "/configKey/{configKey}") + @RsaSecurityParameter public R getConfigKey(@PathVariable String configKey) { return R.ok(configService.selectConfigByKey(configKey)); } @@ -78,6 +80,7 @@ public class SysConfigController extends BaseController { @SaCheckPermission("system:config:add") @Log(title = "参数管理", businessType = BusinessType.INSERT) @PostMapping + @RsaSecurityParameter(inDecode = true) public R add(@Validated @RequestBody SysConfig config) { if (!configService.checkConfigKeyUnique(config)) { return R.fail("新增参数'" + config.getConfigName() + "'失败,参数键名已存在"); @@ -92,6 +95,7 @@ public class SysConfigController extends BaseController { @SaCheckPermission("system:config:edit") @Log(title = "参数管理", businessType = BusinessType.UPDATE) @PutMapping + @RsaSecurityParameter(inDecode = true) public R edit(@Validated @RequestBody SysConfig config) { if (!configService.checkConfigKeyUnique(config)) { return R.fail("修改参数'" + config.getConfigName() + "'失败,参数键名已存在"); @@ -106,6 +110,7 @@ public class SysConfigController extends BaseController { @SaCheckPermission("system:config:edit") @Log(title = "参数管理", businessType = BusinessType.UPDATE) @PutMapping("/updateByKey") + @RsaSecurityParameter(inDecode = true) public R updateByKey(@RequestBody SysConfig config) { configService.updateConfig(config); return R.ok(); @@ -119,6 +124,7 @@ public class SysConfigController extends BaseController { @SaCheckPermission("system:config:remove") @Log(title = "参数管理", businessType = BusinessType.DELETE) @DeleteMapping("/{configIds}") + @RsaSecurityParameter public R remove(@PathVariable Long[] configIds) { configService.deleteConfigByIds(configIds); return R.ok(); @@ -130,6 +136,7 @@ public class SysConfigController extends BaseController { @SaCheckPermission("system:config:remove") @Log(title = "参数管理", businessType = BusinessType.CLEAN) @DeleteMapping("/refreshCache") + @RsaSecurityParameter public R refreshCache() { configService.resetConfigCache(); return R.ok(); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java index 512c644c4..cb9f57948 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java @@ -9,6 +9,7 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter; import com.ruoyi.system.service.ISysDeptService; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; @@ -34,6 +35,7 @@ public class SysDeptController extends BaseController { */ @SaCheckPermission("system:dept:list") @GetMapping("/list") + @RsaSecurityParameter public R> list(SysDept dept) { List depts = deptService.selectDeptList(dept); return R.ok(depts); @@ -46,6 +48,7 @@ public class SysDeptController extends BaseController { */ @SaCheckPermission("system:dept:list") @GetMapping("/list/exclude/{deptId}") + @RsaSecurityParameter public R> excludeChild(@PathVariable(value = "deptId", required = false) Long deptId) { List depts = deptService.selectDeptList(new SysDept()); depts.removeIf(d -> d.getDeptId().equals(deptId) @@ -60,6 +63,7 @@ public class SysDeptController extends BaseController { */ @SaCheckPermission("system:dept:query") @GetMapping(value = "/{deptId}") + @RsaSecurityParameter public R getInfo(@PathVariable Long deptId) { deptService.checkDeptDataScope(deptId); return R.ok(deptService.selectDeptById(deptId)); @@ -71,6 +75,7 @@ public class SysDeptController extends BaseController { @SaCheckPermission("system:dept:add") @Log(title = "部门管理", businessType = BusinessType.INSERT) @PostMapping + @RsaSecurityParameter(inDecode = true) public R add(@Validated @RequestBody SysDept dept) { if (!deptService.checkDeptNameUnique(dept)) { return R.fail("新增部门'" + dept.getDeptName() + "'失败,部门名称已存在"); @@ -84,6 +89,7 @@ public class SysDeptController extends BaseController { @SaCheckPermission("system:dept:edit") @Log(title = "部门管理", businessType = BusinessType.UPDATE) @PutMapping + @RsaSecurityParameter(inDecode = true) public R edit(@Validated @RequestBody SysDept dept) { Long deptId = dept.getDeptId(); deptService.checkDeptDataScope(deptId); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java index 01613db8b..df25eca8b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java @@ -10,6 +10,7 @@ import com.ruoyi.common.core.domain.entity.SysDictData; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter; import com.ruoyi.system.service.ISysDictDataService; import com.ruoyi.system.service.ISysDictTypeService; import lombok.RequiredArgsConstructor; @@ -39,6 +40,7 @@ public class SysDictDataController extends BaseController { */ @SaCheckPermission("system:dict:list") @GetMapping("/list") + @RsaSecurityParameter public TableDataInfo list(SysDictData dictData, PageQuery pageQuery) { return dictDataService.selectPageDictDataList(dictData, pageQuery); } @@ -61,6 +63,7 @@ public class SysDictDataController extends BaseController { */ @SaCheckPermission("system:dict:query") @GetMapping(value = "/{dictCode}") + @RsaSecurityParameter public R getInfo(@PathVariable Long dictCode) { return R.ok(dictDataService.selectDictDataById(dictCode)); } @@ -71,6 +74,7 @@ public class SysDictDataController extends BaseController { * @param dictType 字典类型 */ @GetMapping(value = "/type/{dictType}") + @RsaSecurityParameter public R> dictType(@PathVariable String dictType) { List data = dictTypeService.selectDictDataByType(dictType); if (ObjectUtil.isNull(data)) { @@ -85,6 +89,7 @@ public class SysDictDataController extends BaseController { @SaCheckPermission("system:dict:add") @Log(title = "字典数据", businessType = BusinessType.INSERT) @PostMapping + @RsaSecurityParameter(inDecode = true) public R add(@Validated @RequestBody SysDictData dict) { dictDataService.insertDictData(dict); return R.ok(); @@ -96,6 +101,7 @@ public class SysDictDataController extends BaseController { @SaCheckPermission("system:dict:edit") @Log(title = "字典数据", businessType = BusinessType.UPDATE) @PutMapping + @RsaSecurityParameter(inDecode = true) public R edit(@Validated @RequestBody SysDictData dict) { dictDataService.updateDictData(dict); return R.ok(); @@ -109,6 +115,7 @@ public class SysDictDataController extends BaseController { @SaCheckPermission("system:dict:remove") @Log(title = "字典类型", businessType = BusinessType.DELETE) @DeleteMapping("/{dictCodes}") + @RsaSecurityParameter public R remove(@PathVariable Long[] dictCodes) { dictDataService.deleteDictDataByIds(dictCodes); return R.ok(); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java index e6beb64ab..fe2eed59d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java @@ -2,7 +2,6 @@ package com.ruoyi.web.controller.system; import cn.dev33.satoken.annotation.SaCheckPermission; import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.R; @@ -10,11 +9,11 @@ import com.ruoyi.common.core.domain.entity.SysDictType; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter; import com.ruoyi.system.service.ISysDictTypeService; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; - import javax.servlet.http.HttpServletResponse; import java.util.List; @@ -36,6 +35,7 @@ public class SysDictTypeController extends BaseController { */ @SaCheckPermission("system:dict:list") @GetMapping("/list") + @RsaSecurityParameter public TableDataInfo list(SysDictType dictType, PageQuery pageQuery) { return dictTypeService.selectPageDictTypeList(dictType, pageQuery); } @@ -46,6 +46,7 @@ public class SysDictTypeController extends BaseController { @Log(title = "字典类型", businessType = BusinessType.EXPORT) @SaCheckPermission("system:dict:export") @PostMapping("/export") + @RsaSecurityParameter(inDecode = true) public void export(SysDictType dictType, HttpServletResponse response) { List list = dictTypeService.selectDictTypeList(dictType); ExcelUtil.exportExcel(list, "字典类型", SysDictType.class, response); @@ -58,6 +59,7 @@ public class SysDictTypeController extends BaseController { */ @SaCheckPermission("system:dict:query") @GetMapping(value = "/{dictId}") + @RsaSecurityParameter public R getInfo(@PathVariable Long dictId) { return R.ok(dictTypeService.selectDictTypeById(dictId)); } @@ -68,6 +70,7 @@ public class SysDictTypeController extends BaseController { @SaCheckPermission("system:dict:add") @Log(title = "字典类型", businessType = BusinessType.INSERT) @PostMapping + @RsaSecurityParameter(inDecode = true) public R add(@Validated @RequestBody SysDictType dict) { if (!dictTypeService.checkDictTypeUnique(dict)) { return R.fail("新增字典'" + dict.getDictName() + "'失败,字典类型已存在"); @@ -82,6 +85,7 @@ public class SysDictTypeController extends BaseController { @SaCheckPermission("system:dict:edit") @Log(title = "字典类型", businessType = BusinessType.UPDATE) @PutMapping + @RsaSecurityParameter(inDecode = true) public R edit(@Validated @RequestBody SysDictType dict) { if (!dictTypeService.checkDictTypeUnique(dict)) { return R.fail("修改字典'" + dict.getDictName() + "'失败,字典类型已存在"); @@ -98,6 +102,7 @@ public class SysDictTypeController extends BaseController { @SaCheckPermission("system:dict:remove") @Log(title = "字典类型", businessType = BusinessType.DELETE) @DeleteMapping("/{dictIds}") + @RsaSecurityParameter public R remove(@PathVariable Long[] dictIds) { dictTypeService.deleteDictTypeByIds(dictIds); return R.ok(); @@ -109,6 +114,7 @@ public class SysDictTypeController extends BaseController { @SaCheckPermission("system:dict:remove") @Log(title = "字典类型", businessType = BusinessType.CLEAN) @DeleteMapping("/refreshCache") + @RsaSecurityParameter public R refreshCache() { dictTypeService.resetDictCache(); return R.ok(); @@ -118,6 +124,7 @@ public class SysDictTypeController extends BaseController { * 获取字典选择框列表 */ @GetMapping("/optionselect") + @RsaSecurityParameter public R> optionselect() { List dictTypes = dictTypeService.selectDictTypeAll(); return R.ok(dictTypes); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java index 18a7417ef..548e06e7b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java @@ -10,9 +10,7 @@ import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.model.LoginBody; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.domain.model.SmsLoginBody; -import com.ruoyi.common.enums.LimitType; import com.ruoyi.common.helper.LoginHelper; -import com.ruoyi.common.utils.JsonUtils; import com.ruoyi.common.utils.StrUtils; import com.ruoyi.common.utils.redis.RedisUtils; import com.ruoyi.common.utils.spring.SpringUtils; @@ -26,13 +24,11 @@ import com.ruoyi.system.service.SysLoginService; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; - import javax.validation.constraints.NotBlank; import java.time.Duration; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.concurrent.TimeUnit; /** * 登录验证 @@ -56,6 +52,7 @@ public class SysLoginController { */ @SaIgnore @PostMapping("/login") + @RsaSecurityParameter(inDecode = true) public R> login( // @Validated({LoginBody.passwordLogin.class}) @RequestBody LoginBody loginBody) { @@ -76,6 +73,7 @@ public class SysLoginController { */ @SaIgnore @PostMapping("/smsLogin") + @RsaSecurityParameter(inDecode = true) public R> smsLogin( @Validated({LoginBody.smgLogin.class}) @RequestBody SmsLoginBody smsLoginBody) { @@ -118,6 +116,7 @@ public class SysLoginController { * @return 用户信息 */ @GetMapping("getInfo") + @RsaSecurityParameter public R> getInfo() { LoginUser loginUser = LoginHelper.getLoginUser(); SysUser user = userService.selectUserById(loginUser.getUserId()); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java index 1f1386156..cf04a0946 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java @@ -9,11 +9,11 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.entity.SysMenu; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter; import com.ruoyi.system.service.ISysMenuService; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; - import java.util.HashMap; import java.util.List; import java.util.Map; @@ -36,6 +36,7 @@ public class SysMenuController extends BaseController { */ @SaCheckPermission("system:menu:list") @GetMapping("/list") + @RsaSecurityParameter public R> list(SysMenu menu) { List menus = menuService.selectMenuList(menu, getUserId()); return R.ok(menus); @@ -48,6 +49,7 @@ public class SysMenuController extends BaseController { */ @SaCheckPermission("system:menu:query") @GetMapping(value = "/{menuId}") + @RsaSecurityParameter public R getInfo(@PathVariable Long menuId) { return R.ok(menuService.selectMenuById(menuId)); } @@ -56,6 +58,7 @@ public class SysMenuController extends BaseController { * 获取菜单下拉树列表 */ @GetMapping("/treeselect") + @RsaSecurityParameter public R>> treeselect(SysMenu menu) { List menus = menuService.selectMenuList(menu, getUserId()); return R.ok(menuService.buildMenuTreeSelect(menus)); @@ -66,6 +69,7 @@ public class SysMenuController extends BaseController { * * @param roleId 角色ID */ + @RsaSecurityParameter @GetMapping(value = "/roleMenuTreeselect/{roleId}") public R> roleMenuTreeselect(@PathVariable("roleId") Long roleId) { List menus = menuService.selectMenuList(getUserId()); @@ -81,6 +85,7 @@ public class SysMenuController extends BaseController { @SaCheckPermission("system:menu:add") @Log(title = "菜单管理", businessType = BusinessType.INSERT) @PostMapping + @RsaSecurityParameter(inDecode = true) public R add(@Validated @RequestBody SysMenu menu) { if (!menuService.checkMenuNameUnique(menu)) { return R.fail("新增菜单'" + menu.getMenuName() + "'失败,菜单名称已存在"); @@ -96,6 +101,7 @@ public class SysMenuController extends BaseController { @SaCheckPermission("system:menu:edit") @Log(title = "菜单管理", businessType = BusinessType.UPDATE) @PutMapping + @RsaSecurityParameter(inDecode = true) public R edit(@Validated @RequestBody SysMenu menu) { if (!menuService.checkMenuNameUnique(menu)) { return R.fail("修改菜单'" + menu.getMenuName() + "'失败,菜单名称已存在"); @@ -115,6 +121,7 @@ public class SysMenuController extends BaseController { @SaCheckPermission("system:menu:remove") @Log(title = "菜单管理", businessType = BusinessType.DELETE) @DeleteMapping("/{menuId}") + @RsaSecurityParameter public R remove(@PathVariable("menuId") Long menuId) { if (menuService.hasChildByMenuId(menuId)) { return R.warn("存在子菜单,不允许删除"); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java index 54b30d60d..40b22f511 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java @@ -7,6 +7,7 @@ import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter; import com.ruoyi.system.domain.SysNotice; import com.ruoyi.system.service.ISysNoticeService; import lombok.RequiredArgsConstructor; @@ -31,6 +32,7 @@ public class SysNoticeController extends BaseController { */ @SaCheckPermission("system:notice:list") @GetMapping("/list") + @RsaSecurityParameter public TableDataInfo list(SysNotice notice, PageQuery pageQuery) { return noticeService.selectPageNoticeList(notice, pageQuery); } @@ -42,6 +44,7 @@ public class SysNoticeController extends BaseController { */ @SaCheckPermission("system:notice:query") @GetMapping(value = "/{noticeId}") + @RsaSecurityParameter public R getInfo(@PathVariable Long noticeId) { return R.ok(noticeService.selectNoticeById(noticeId)); } @@ -52,6 +55,7 @@ public class SysNoticeController extends BaseController { @SaCheckPermission("system:notice:add") @Log(title = "通知公告", businessType = BusinessType.INSERT) @PostMapping + @RsaSecurityParameter(inDecode = true) public R add(@Validated @RequestBody SysNotice notice) { return toAjax(noticeService.insertNotice(notice)); } @@ -62,6 +66,7 @@ public class SysNoticeController extends BaseController { @SaCheckPermission("system:notice:edit") @Log(title = "通知公告", businessType = BusinessType.UPDATE) @PutMapping + @RsaSecurityParameter(inDecode = true) public R edit(@Validated @RequestBody SysNotice notice) { return toAjax(noticeService.updateNotice(notice)); } @@ -74,6 +79,7 @@ public class SysNoticeController extends BaseController { @SaCheckPermission("system:notice:remove") @Log(title = "通知公告", businessType = BusinessType.DELETE) @DeleteMapping("/{noticeIds}") + @RsaSecurityParameter public R remove(@PathVariable Long[] noticeIds) { return toAjax(noticeService.deleteNoticeByIds(noticeIds)); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssConfigController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssConfigController.java index 8dc4876ef..4efc1e181 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssConfigController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssConfigController.java @@ -11,6 +11,7 @@ import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.EditGroup; import com.ruoyi.common.core.validate.QueryGroup; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter; import com.ruoyi.system.domain.bo.SysOssConfigBo; import com.ruoyi.system.domain.vo.SysOssConfigVo; import com.ruoyi.system.service.ISysOssConfigService; @@ -42,6 +43,7 @@ public class SysOssConfigController extends BaseController { */ @SaCheckPermission("system:oss:list") @GetMapping("/list") + @RsaSecurityParameter public TableDataInfo list(@Validated(QueryGroup.class) SysOssConfigBo bo, PageQuery pageQuery) { return iSysOssConfigService.queryPageList(bo, pageQuery); } @@ -53,6 +55,7 @@ public class SysOssConfigController extends BaseController { */ @SaCheckPermission("system:oss:query") @GetMapping("/{ossConfigId}") + @RsaSecurityParameter public R getInfo(@NotNull(message = "主键不能为空") @PathVariable Long ossConfigId) { return R.ok(iSysOssConfigService.queryById(ossConfigId)); @@ -65,6 +68,7 @@ public class SysOssConfigController extends BaseController { @Log(title = "对象存储配置", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() + @RsaSecurityParameter(inDecode = true) public R add(@Validated(AddGroup.class) @RequestBody SysOssConfigBo bo) { return toAjax(iSysOssConfigService.insertByBo(bo)); } @@ -76,6 +80,7 @@ public class SysOssConfigController extends BaseController { @Log(title = "对象存储配置", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() + @RsaSecurityParameter(inDecode = true) public R edit(@Validated(EditGroup.class) @RequestBody SysOssConfigBo bo) { return toAjax(iSysOssConfigService.updateByBo(bo)); } @@ -88,6 +93,7 @@ public class SysOssConfigController extends BaseController { @SaCheckPermission("system:oss:remove") @Log(title = "对象存储配置", businessType = BusinessType.DELETE) @DeleteMapping("/{ossConfigIds}") + @RsaSecurityParameter public R remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] ossConfigIds) { return toAjax(iSysOssConfigService.deleteWithValidByIds(Arrays.asList(ossConfigIds), true)); @@ -99,6 +105,7 @@ public class SysOssConfigController extends BaseController { @SaCheckPermission("system:oss:edit") @Log(title = "对象存储状态修改", businessType = BusinessType.UPDATE) @PutMapping("/changeStatus") + @RsaSecurityParameter(inDecode = true) public R changeStatus(@RequestBody SysOssConfigBo bo) { return toAjax(iSysOssConfigService.updateOssConfigStatus(bo)); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java index 89187a360..b7fab22ea 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java @@ -2,10 +2,7 @@ package com.ruoyi.web.controller.system; import cn.dev33.satoken.annotation.SaCheckPermission; -import cn.hutool.core.convert.Convert; import cn.hutool.core.util.ObjectUtil; -import cn.hutool.http.HttpException; -import cn.hutool.http.HttpUtil; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.PageQuery; @@ -14,10 +11,7 @@ import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.validate.QueryGroup; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.exception.ServiceException; -import com.ruoyi.common.utils.file.FileUtils; -import com.ruoyi.oss.core.OssClient; -import com.ruoyi.oss.factory.OssFactory; -import com.ruoyi.system.domain.SysOss; +import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter; import com.ruoyi.system.domain.bo.SysOssBo; import com.ruoyi.system.domain.vo.SysOssVo; import com.ruoyi.system.service.ISysOssService; @@ -26,7 +20,6 @@ import org.springframework.http.MediaType; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; - import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.NotEmpty; import java.io.IOException; @@ -53,6 +46,7 @@ public class SysOssController extends BaseController { */ @SaCheckPermission("system:oss:list") @GetMapping("/list") + @RsaSecurityParameter public TableDataInfo list(@Validated(QueryGroup.class) SysOssBo bo, PageQuery pageQuery) { return iSysOssService.queryPageList(bo, pageQuery); } @@ -64,6 +58,7 @@ public class SysOssController extends BaseController { */ // @SaCheckPermission("system:oss:list") @GetMapping("/listByIds/{ossIds}") + @RsaSecurityParameter public R> listByIds(@NotEmpty(message = "主键不能为空") @PathVariable Long[] ossIds) { List list = iSysOssService.listByIds(Arrays.asList(ossIds)); @@ -78,6 +73,7 @@ public class SysOssController extends BaseController { @SaCheckPermission("system:oss:upload") @Log(title = "OSS对象存储", businessType = BusinessType.INSERT) @PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) + @RsaSecurityParameter public R> upload(@RequestPart("file") MultipartFile file) { if (ObjectUtil.isNull(file)) { throw new ServiceException("上传文件不能为空"); @@ -97,6 +93,7 @@ public class SysOssController extends BaseController { */ @SaCheckPermission("system:oss:download") @GetMapping("/download/{ossId}") + @RsaSecurityParameter public void download(@PathVariable Long ossId, HttpServletResponse response) throws IOException { iSysOssService.download(ossId,response); } @@ -109,6 +106,7 @@ public class SysOssController extends BaseController { @SaCheckPermission("system:oss:remove") @Log(title = "OSS对象存储", businessType = BusinessType.DELETE) @DeleteMapping("/{ossIds}") + @RsaSecurityParameter public R remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] ossIds) { return toAjax(iSysOssService.deleteWithValidByIds(Arrays.asList(ossIds), true)); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java index 4036364fa..fc586ccaf 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java @@ -2,19 +2,18 @@ package com.ruoyi.web.controller.system; import cn.dev33.satoken.annotation.SaCheckPermission; import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter; import com.ruoyi.system.domain.SysPost; import com.ruoyi.system.service.ISysPostService; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; - import javax.servlet.http.HttpServletResponse; import java.util.List; @@ -36,6 +35,7 @@ public class SysPostController extends BaseController { */ @SaCheckPermission("system:post:list") @GetMapping("/list") + @RsaSecurityParameter public TableDataInfo list(SysPost post, PageQuery pageQuery) { return postService.selectPagePostList(post, pageQuery); } @@ -58,6 +58,7 @@ public class SysPostController extends BaseController { */ @SaCheckPermission("system:post:query") @GetMapping(value = "/{postId}") + @RsaSecurityParameter public R getInfo(@PathVariable Long postId) { return R.ok(postService.selectPostById(postId)); } @@ -68,6 +69,7 @@ public class SysPostController extends BaseController { @SaCheckPermission("system:post:add") @Log(title = "岗位管理", businessType = BusinessType.INSERT) @PostMapping + @RsaSecurityParameter(inDecode = true) public R add(@Validated @RequestBody SysPost post) { if (!postService.checkPostNameUnique(post)) { return R.fail("新增岗位'" + post.getPostName() + "'失败,岗位名称已存在"); @@ -83,6 +85,7 @@ public class SysPostController extends BaseController { @SaCheckPermission("system:post:edit") @Log(title = "岗位管理", businessType = BusinessType.UPDATE) @PutMapping + @RsaSecurityParameter(inDecode = true) public R edit(@Validated @RequestBody SysPost post) { if (!postService.checkPostNameUnique(post)) { return R.fail("修改岗位'" + post.getPostName() + "'失败,岗位名称已存在"); @@ -100,6 +103,7 @@ public class SysPostController extends BaseController { @SaCheckPermission("system:post:remove") @Log(title = "岗位管理", businessType = BusinessType.DELETE) @DeleteMapping("/{postIds}") + @RsaSecurityParameter public R remove(@PathVariable Long[] postIds) { return toAjax(postService.deletePostByIds(postIds)); } @@ -108,6 +112,7 @@ public class SysPostController extends BaseController { * 获取岗位选择框列表 */ @GetMapping("/optionselect") + @RsaSecurityParameter public R> optionselect() { List posts = postService.selectPostAll(); return R.ok(posts); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java index 9e646ec2c..33ab5824a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java @@ -3,7 +3,6 @@ package com.ruoyi.web.controller.system; import cn.dev33.satoken.secure.BCrypt; import cn.hutool.core.io.FileUtil; import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.entity.SysUser; @@ -11,7 +10,7 @@ import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.helper.LoginHelper; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.file.MimeTypeUtils; -import com.ruoyi.system.domain.SysOss; +import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter; import com.ruoyi.system.domain.vo.SysOssVo; import com.ruoyi.system.service.ISysOssService; import com.ruoyi.system.service.ISysUserService; @@ -20,7 +19,6 @@ import org.springframework.http.MediaType; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; - import java.util.Arrays; import java.util.HashMap; import java.util.Map; @@ -43,6 +41,7 @@ public class SysProfileController extends BaseController { * 个人信息 */ @GetMapping + @RsaSecurityParameter public R> profile() { SysUser user = userService.selectUserById(getUserId()); Map ajax = new HashMap<>(); @@ -57,6 +56,7 @@ public class SysProfileController extends BaseController { */ @Log(title = "个人信息", businessType = BusinessType.UPDATE) @PutMapping + @RsaSecurityParameter(inDecode = true) public R updateProfile(@RequestBody SysUser user) { if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) { return R.fail("修改用户'" + user.getUserName() + "'失败,手机号码已存在"); @@ -83,6 +83,7 @@ public class SysProfileController extends BaseController { */ @Log(title = "个人信息", businessType = BusinessType.UPDATE) @PutMapping("/updatePwd") + @RsaSecurityParameter(inDecode = true) public R updatePwd(String oldPassword, String newPassword) { SysUser user = userService.selectUserById(LoginHelper.getUserId()); String userName = user.getUserName(); @@ -106,6 +107,7 @@ public class SysProfileController extends BaseController { * @param avatarfile 用户头像 */ @Log(title = "用户头像", businessType = BusinessType.UPDATE) + @RsaSecurityParameter @PostMapping(value = "/avatar", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public R> avatar(@RequestPart("avatarfile") MultipartFile avatarfile) { Map ajax = new HashMap<>(); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRegisterController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRegisterController.java index 26445820e..0ad0367c8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRegisterController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRegisterController.java @@ -4,6 +4,7 @@ import cn.dev33.satoken.annotation.SaIgnore; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.model.RegisterBody; +import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter; import com.ruoyi.system.service.ISysConfigService; import com.ruoyi.system.service.SysRegisterService; import lombok.RequiredArgsConstructor; @@ -30,6 +31,7 @@ public class SysRegisterController extends BaseController { */ @SaIgnore @PostMapping("/register") + @RsaSecurityParameter(inDecode = true) public R register(@Validated @RequestBody RegisterBody user) { if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser")))) { return R.fail("当前系统没有开启注册功能!"); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java index 47e157512..3eb700184 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java @@ -6,7 +6,6 @@ import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.collection.CollUtil; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.constant.CacheConstants; -import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.R; @@ -18,15 +17,14 @@ import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.helper.LoginHelper; import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter; import com.ruoyi.system.domain.SysUserRole; import com.ruoyi.system.service.ISysDeptService; import com.ruoyi.system.service.ISysRoleService; import com.ruoyi.system.service.ISysUserService; -import com.ruoyi.system.service.SysPermissionService; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; - import javax.servlet.http.HttpServletResponse; import java.util.HashMap; import java.util.List; @@ -46,13 +44,13 @@ public class SysRoleController extends BaseController { private final ISysRoleService roleService; private final ISysUserService userService; private final ISysDeptService deptService; - private final SysPermissionService permissionService; /** * 获取角色信息列表 */ @SaCheckPermission("system:role:list") @GetMapping("/list") + @RsaSecurityParameter public TableDataInfo list(SysRole role, PageQuery pageQuery) { return roleService.selectPageRoleList(role, pageQuery); } @@ -75,6 +73,7 @@ public class SysRoleController extends BaseController { */ @SaCheckPermission("system:role:query") @GetMapping(value = "/{roleId}") + @RsaSecurityParameter public R getInfo(@PathVariable Long roleId) { roleService.checkRoleDataScope(roleId); return R.ok(roleService.selectRoleById(roleId)); @@ -86,6 +85,7 @@ public class SysRoleController extends BaseController { @SaCheckPermission("system:role:add") @Log(title = "角色管理", businessType = BusinessType.INSERT) @PostMapping + @RsaSecurityParameter(inDecode = true) public R add(@Validated @RequestBody SysRole role) { if (!roleService.checkRoleNameUnique(role)) { return R.fail("新增角色'" + role.getRoleName() + "'失败,角色名称已存在"); @@ -102,6 +102,7 @@ public class SysRoleController extends BaseController { @SaCheckPermission("system:role:edit") @Log(title = "角色管理", businessType = BusinessType.UPDATE) @PutMapping + @RsaSecurityParameter(inDecode = true) public R edit(@Validated @RequestBody SysRole role) { roleService.checkRoleAllowed(role); roleService.checkRoleDataScope(role.getRoleId()); @@ -142,6 +143,7 @@ public class SysRoleController extends BaseController { @SaCheckPermission("system:role:edit") @Log(title = "角色管理", businessType = BusinessType.UPDATE) @PutMapping("/dataScope") + @RsaSecurityParameter(inDecode = true) public R dataScope(@RequestBody SysRole role) { roleService.checkRoleAllowed(role); roleService.checkRoleDataScope(role.getRoleId()); @@ -154,6 +156,7 @@ public class SysRoleController extends BaseController { @SaCheckPermission("system:role:edit") @Log(title = "角色管理", businessType = BusinessType.UPDATE) @PutMapping("/changeStatus") + @RsaSecurityParameter(inDecode = true) public R changeStatus(@RequestBody SysRole role) { roleService.checkRoleAllowed(role); roleService.checkRoleDataScope(role.getRoleId()); @@ -168,6 +171,7 @@ public class SysRoleController extends BaseController { @SaCheckPermission("system:role:remove") @Log(title = "角色管理", businessType = BusinessType.DELETE) @DeleteMapping("/{roleIds}") + @RsaSecurityParameter public R remove(@PathVariable Long[] roleIds) { return toAjax(roleService.deleteRoleByIds(roleIds)); } @@ -177,6 +181,7 @@ public class SysRoleController extends BaseController { */ @SaCheckPermission("system:role:query") @GetMapping("/optionselect") + @RsaSecurityParameter public R> optionselect() { return R.ok(roleService.selectRoleAll()); } @@ -186,6 +191,7 @@ public class SysRoleController extends BaseController { */ @SaCheckPermission("system:role:list") @GetMapping("/authUser/allocatedList") + @RsaSecurityParameter public TableDataInfo allocatedList(SysUser user, PageQuery pageQuery) { return userService.selectAllocatedList(user, pageQuery); } @@ -195,6 +201,7 @@ public class SysRoleController extends BaseController { */ @SaCheckPermission("system:role:list") @GetMapping("/authUser/unallocatedList") + @RsaSecurityParameter public TableDataInfo unallocatedList(SysUser user, PageQuery pageQuery) { return userService.selectUnallocatedList(user, pageQuery); } @@ -205,6 +212,7 @@ public class SysRoleController extends BaseController { @SaCheckPermission("system:role:edit") @Log(title = "角色管理", businessType = BusinessType.GRANT) @PutMapping("/authUser/cancel") + @RsaSecurityParameter(inDecode = true) public R cancelAuthUser(@RequestBody SysUserRole userRole) { return toAjax(roleService.deleteAuthUser(userRole)); } @@ -218,6 +226,7 @@ public class SysRoleController extends BaseController { @SaCheckPermission("system:role:edit") @Log(title = "角色管理", businessType = BusinessType.GRANT) @PutMapping("/authUser/cancelAll") + @RsaSecurityParameter(inDecode = true) public R cancelAuthUserAll(Long roleId, Long[] userIds) { return toAjax(roleService.deleteAuthUsers(roleId, userIds)); } @@ -231,6 +240,7 @@ public class SysRoleController extends BaseController { @SaCheckPermission("system:role:edit") @Log(title = "角色管理", businessType = BusinessType.GRANT) @PutMapping("/authUser/selectAll") + @RsaSecurityParameter(inDecode = true) public R selectAuthUserAll(Long roleId, Long[] userIds) { roleService.checkRoleDataScope(roleId); return toAjax(roleService.insertAuthUsers(roleId, userIds)); @@ -243,6 +253,7 @@ public class SysRoleController extends BaseController { */ @SaCheckPermission("system:role:list") @GetMapping(value = "/deptTree/{roleId}") + @RsaSecurityParameter public R> roleDeptTreeselect(@PathVariable("roleId") Long roleId) { Map ajax = new HashMap<>(); ajax.put("checkedKeys", deptService.selectDeptListByRoleId(roleId)); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java index 0b91c50b9..a885b8b19 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java @@ -7,7 +7,6 @@ import cn.hutool.core.lang.tree.Tree; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ObjectUtil; import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.R; @@ -21,6 +20,7 @@ import com.ruoyi.common.helper.LoginHelper; import com.ruoyi.common.utils.StreamUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter; import com.ruoyi.system.domain.vo.SysUserExportVo; import com.ruoyi.system.domain.vo.SysUserImportVo; import com.ruoyi.system.listener.SysUserImportListener; @@ -33,7 +33,6 @@ import org.springframework.http.MediaType; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; - import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.HashMap; @@ -61,6 +60,7 @@ public class SysUserController extends BaseController { */ @SaCheckPermission("system:user:list") @GetMapping("/list") + @RsaSecurityParameter public TableDataInfo list(SysUser user, PageQuery pageQuery) { return userService.selectPageUserList(user, pageQuery); } @@ -70,6 +70,7 @@ public class SysUserController extends BaseController { */ @Log(title = "用户管理", businessType = BusinessType.EXPORT) @SaCheckPermission("system:user:export") + @RsaSecurityParameter(inDecode = true) @PostMapping("/export") public void export(SysUser user, HttpServletResponse response) { List list = userService.selectUserList(user); @@ -93,6 +94,7 @@ public class SysUserController extends BaseController { */ @Log(title = "用户管理", businessType = BusinessType.IMPORT) @SaCheckPermission("system:user:import") + @RsaSecurityParameter @PostMapping(value = "/importData", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public R importData(@RequestPart("file") MultipartFile file, boolean updateSupport) throws Exception { ExcelResult result = ExcelUtil.importExcel(file.getInputStream(), SysUserImportVo.class, new SysUserImportListener(updateSupport)); @@ -114,6 +116,7 @@ public class SysUserController extends BaseController { */ @SaCheckPermission("system:user:query") @GetMapping(value = {"/", "/{userId}"}) + @RsaSecurityParameter public R> getInfo(@PathVariable(value = "userId", required = false) Long userId) { userService.checkUserDataScope(userId); Map ajax = new HashMap<>(); @@ -135,6 +138,7 @@ public class SysUserController extends BaseController { @SaCheckPermission("system:user:add") @Log(title = "用户管理", businessType = BusinessType.INSERT) @PostMapping + @RsaSecurityParameter(inDecode = true) public R add(@Validated @RequestBody SysUser user) { if (!userService.checkUserNameUnique(user)) { return R.fail("新增用户'" + user.getUserName() + "'失败,登录账号已存在"); @@ -153,6 +157,7 @@ public class SysUserController extends BaseController { @SaCheckPermission("system:user:edit") @Log(title = "用户管理", businessType = BusinessType.UPDATE) @PutMapping + @RsaSecurityParameter(inDecode = true) public R edit(@Validated @RequestBody SysUser user) { userService.checkUserAllowed(user); userService.checkUserDataScope(user.getUserId()); @@ -174,6 +179,7 @@ public class SysUserController extends BaseController { @SaCheckPermission("system:user:remove") @Log(title = "用户管理", businessType = BusinessType.DELETE) @DeleteMapping("/{userIds}") + @RsaSecurityParameter public R remove(@PathVariable Long[] userIds) { if (ArrayUtil.contains(userIds, getUserId())) { return R.fail("当前用户不能删除"); @@ -187,6 +193,7 @@ public class SysUserController extends BaseController { @SaCheckPermission("system:user:resetPwd") @Log(title = "用户管理", businessType = BusinessType.UPDATE) @PutMapping("/resetPwd") + @RsaSecurityParameter(inDecode = true) public R resetPwd(@RequestBody SysUser user) { userService.checkUserAllowed(user); userService.checkUserDataScope(user.getUserId()); @@ -200,6 +207,7 @@ public class SysUserController extends BaseController { @SaCheckPermission("system:user:edit") @Log(title = "用户管理", businessType = BusinessType.UPDATE) @PutMapping("/changeStatus") + @RsaSecurityParameter(inDecode = true) public R changeStatus(@RequestBody SysUser user) { userService.checkUserAllowed(user); userService.checkUserDataScope(user.getUserId()); @@ -213,6 +221,7 @@ public class SysUserController extends BaseController { */ @SaCheckPermission("system:user:query") @GetMapping("/authRole/{userId}") + @RsaSecurityParameter public R> authRole(@PathVariable Long userId) { SysUser user = userService.selectUserById(userId); List roles = roleService.selectRolesByUserId(userId); @@ -231,6 +240,7 @@ public class SysUserController extends BaseController { @SaCheckPermission("system:user:edit") @Log(title = "用户管理", businessType = BusinessType.GRANT) @PutMapping("/authRole") + @RsaSecurityParameter(inDecode = true) public R insertAuthRole(Long userId, Long[] roleIds) { userService.checkUserDataScope(userId); userService.insertUserAuth(userId, roleIds); @@ -242,6 +252,7 @@ public class SysUserController extends BaseController { */ @SaCheckPermission("system:user:list") @GetMapping("/deptTree") + @RsaSecurityParameter public R>> deptTree(SysDept dept) { return R.ok(deptService.selectDeptTreeList(dept)); } diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml index fc33b16a5..0d96b96d2 100644 --- a/ruoyi-admin/src/main/resources/application-dev.yml +++ b/ruoyi-admin/src/main/resources/application-dev.yml @@ -102,12 +102,12 @@ spring: spring: redis: # 地址 -# host: 119.96.86.131 - host: 127.0.0.1 + host: 119.96.86.131 +# host: 127.0.0.1 # 端口,默认为6379 port: 6379 # 数据库索引 - database: 0 + database: 1 # 密码(如没有密码请注释掉) password: 123456 # 连接超时时间 diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/ruoyi-admin/src/main/resources/application-prod.yml index 85f6e935d..7627c358c 100644 --- a/ruoyi-admin/src/main/resources/application-prod.yml +++ b/ruoyi-admin/src/main/resources/application-prod.yml @@ -4,7 +4,7 @@ spring.servlet.multipart.location: /ruoyi/server/temp --- # 监控中心配置 spring.boot.admin.client: # 增加客户端开关 - enabled: true + enabled: false url: http://localhost:9090/admin instance: service-host-type: IP @@ -14,7 +14,7 @@ spring.boot.admin.client: --- # xxl-job 配置 xxl.job: # 执行器开关 - enabled: true + enabled: false # 调度中心地址:如调度中心集群部署存在多个地址则用逗号分隔。 admin-addresses: http://localhost:9100/xxl-job-admin # 执行器通讯TOKEN:非空时启用 @@ -40,7 +40,7 @@ spring: # 动态数据源文档 https://www.kancloud.cn/tracy5546/dynamic-datasource/content dynamic: # 性能分析插件(有性能损耗 不建议生产环境使用) - p6spy: false + p6spy: true # 设置默认的数据源或者数据源组,默认值即为 master primary: master # 严格模式 匹配不到数据源则报错 @@ -52,9 +52,10 @@ spring: driverClassName: com.mysql.cj.jdbc.Driver # jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562 # rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题) - url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true + url: jdbc:mysql://182.150.40.133:3309/ry-vue-house?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true + # url: jdbc:mysql://localhost:3306/ry-vue-jinniu?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true username: root - password: root + password: 1234Qwer@ # 从库数据源 slave: lazy: true @@ -63,26 +64,26 @@ spring: url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true username: password: -# oracle: -# type: ${spring.datasource.type} -# driverClassName: oracle.jdbc.OracleDriver -# url: jdbc:oracle:thin:@//localhost:1521/XE -# username: ROOT -# password: root -# hikari: -# connectionTestQuery: SELECT 1 FROM DUAL -# postgres: -# type: ${spring.datasource.type} -# driverClassName: org.postgresql.Driver -# url: jdbc:postgresql://localhost:5432/postgres?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true -# username: root -# password: root -# sqlserver: -# type: ${spring.datasource.type} -# driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver -# url: jdbc:sqlserver://localhost:1433;DatabaseName=tempdb;SelectMethod=cursor;encrypt=false;rewriteBatchedStatements=true -# username: SA -# password: root + # oracle: + # type: ${spring.datasource.type} + # driverClassName: oracle.jdbc.OracleDriver + # url: jdbc:oracle:thin:@//localhost:1521/XE + # username: ROOT + # password: root + # hikari: + # connectionTestQuery: SELECT 1 FROM DUAL + # postgres: + # type: ${spring.datasource.type} + # driverClassName: org.postgresql.Driver + # url: jdbc:postgresql://localhost:5432/postgres?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true + # username: root + # password: root + # sqlserver: + # type: ${spring.datasource.type} + # driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver + # url: jdbc:sqlserver://localhost:1433;DatabaseName=tempdb;SelectMethod=cursor;encrypt=false;rewriteBatchedStatements=true + # username: SA + # password: root hikari: # 最大连接池数量 maxPoolSize: 20 @@ -105,13 +106,14 @@ spring: spring: redis: # 地址 - host: localhost + host: 119.96.86.131 + # host: 127.0.0.1 # 端口,默认为6379 port: 6379 # 数据库索引 - database: 0 + database: 2 # 密码(如没有密码请注释掉) - # password: + password: 123456 # 连接超时时间 timeout: 10s # 是否开启ssl @@ -121,17 +123,17 @@ redisson: # redis key前缀 keyPrefix: # 线程池数量 - threads: 16 + threads: 4 # Netty线程池数量 - nettyThreads: 32 + nettyThreads: 8 # 单节点配置 singleServerConfig: # 客户端名称 clientName: ${ruoyi.name} # 最小空闲连接数 - connectionMinimumIdleSize: 32 + connectionMinimumIdleSize: 8 # 连接池大小 - connectionPoolSize: 64 + connectionPoolSize: 32 # 连接空闲超时,单位:毫秒 idleConnectionTimeout: 10000 # 命令等待超时,单位:毫秒 @@ -163,12 +165,51 @@ mail: --- # sms 短信 sms: - enabled: false + enabled: true # 阿里云 dysmsapi.aliyuncs.com # 腾讯云 sms.tencentcloudapi.com endpoint: "dysmsapi.aliyuncs.com" - accessKeyId: xxxxxxx - accessKeySecret: xxxxxx - signName: 测试 + accessKeyId: LTAI564a5PHBmDPI + accessKeySecret: 0ba8OURvLI9e174t8nIGnsKMQtraov + signName: 成都软银 # 腾讯专用 sdkAppId: + +# 本地文件存储 +#windows +#file: +# domain: http://192.168.0.54:8080 +# path: D:\\gaoxin\\images +# prefix: /images +# size: 10 +# template: D:\\gaoxin\\template\\ +# doc: D:\\gaoxin\\doc\\ +# mapping: /doc + +#Linux dev +file: + domain: https://mihuatang.xyz + path: /home/taxi/images + prefix: /images + size: 10 + template: /usr/local/template/ + doc: /usr/local/doc + mapping: /doc + +# domain: 192.168.0.54:8080 +# path: D:\\gaoxin\\images +# prefix: /images +# size: 10 + +#图片识别 +ocr: + clientId: eo1xM8KcB6ICi6k1kVGsmnR9 + #clientId: lUDaDgrPGRsMFN7qw21u5Cta + #clientSecret: znOBkwZwQ4G8PmeKT8ELDHoqdcPxnX4a + clientSecret: lZ9q4E6C0ftstwgL0Tt8UCroI5bOZ6YD +license: + APPID: 2d33f6f6 + API_KEY: bd1a2416dfae01a9c018bb28a28eb7cb + WEBOCR_URL: http://webapi.xfyun.cn/v1/service/v1/ocr/business_license + ENGINE_TYPE: business_license + diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 978e4667b..98d526b14 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -27,7 +27,7 @@ captcha: # 开发环境配置 server: # 服务器的HTTP端口,默认为8080 - port: 8080 + port: 8084 servlet: # 应用的访问路径 context-path: / @@ -89,6 +89,7 @@ spring: jackson: # 日期格式化 date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 serialization: # 格式化输出 indent_output: false diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java index cb914abcb..6a66d1b0a 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java @@ -40,7 +40,7 @@ public class BaseEntity implements Serializable { * 创建时间 */ @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") private Date createTime; /** @@ -53,6 +53,7 @@ public class BaseEntity implements Serializable { * 更新时间 */ @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") private Date updateTime; /** diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java index ba4a382c7..99ee336be 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java @@ -1,5 +1,6 @@ package com.ruoyi.common.core.domain.entity; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; @@ -27,7 +28,7 @@ public class SysDept extends TreeEntity { /** * 部门ID */ - @TableId(value = "dept_id") + @TableId(value = "dept_id",type = IdType.AUTO) private Long deptId; /** diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictData.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictData.java index 4ed2c5483..e050740e4 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictData.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictData.java @@ -2,6 +2,7 @@ package com.ruoyi.common.core.domain.entity; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.annotation.ExcelDictFormat; @@ -30,7 +31,7 @@ public class SysDictData extends BaseEntity { * 字典编码 */ @ExcelProperty(value = "字典编码") - @TableId(value = "dict_code") + @TableId(value = "dict_code",type = IdType.AUTO) private Long dictCode; /** diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictType.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictType.java index 76c20e102..035757cfa 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictType.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictType.java @@ -2,6 +2,7 @@ package com.ruoyi.common.core.domain.entity; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.annotation.ExcelDictFormat; @@ -30,7 +31,7 @@ public class SysDictType extends BaseEntity { * 字典主键 */ @ExcelProperty(value = "字典主键") - @TableId(value = "dict_id") + @TableId(value = "dict_id",type = IdType.AUTO) private Long dictId; /** diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java index 38bd93659..c29373406 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java @@ -1,5 +1,6 @@ package com.ruoyi.common.core.domain.entity; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonInclude; @@ -25,7 +26,7 @@ public class SysMenu extends TreeEntity { /** * 菜单ID */ - @TableId(value = "menu_id") + @TableId(value = "menu_id",type = IdType.AUTO) private Long menuId; /** diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java index 594956998..8d2b34137 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java @@ -2,10 +2,7 @@ package com.ruoyi.common.core.domain.entity; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; import com.ruoyi.common.annotation.ExcelDictFormat; import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.convert.ExcelDictConvert; @@ -35,7 +32,7 @@ public class SysRole extends BaseEntity { * 角色ID */ @ExcelProperty(value = "角色序号") - @TableId(value = "role_id") + @TableId(value = "role_id",type = IdType.AUTO) private Long roleId; /** diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java index d9139c511..2fb7a1290 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java @@ -33,7 +33,7 @@ public class SysUser extends BaseEntity { /** * 用户ID */ - @TableId(value = "user_id") + @TableId(value = "user_id",type = IdType.AUTO) private Long userId; /** diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateHolidayUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateHolidayUtils.java new file mode 100644 index 000000000..db7547a9f --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateHolidayUtils.java @@ -0,0 +1,769 @@ +package com.ruoyi.common.utils; + +import java.math.BigDecimal; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.GregorianCalendar; + +/** + * @Description 时间日期工具类 封装工作中常用的一些时间日期计算方法等,还可以提供更多的重载方法,用于时间的转化等 + * @author + * @Date + */ +public class DateHolidayUtils { + private DateHolidayUtils() { + + } + + /** + * hhmmFormat="HH:mm" + */ + public static final String hhmmFormat = "HH:mm"; + /** + * MMddFormat="MM-dd" + */ + public static final String MMddFormat = "MM-dd"; + /** + * yyyyFormat="yyyy" + */ + public static final String yyyyFormat = "yyyy"; + /** + * yyyyFormat="yyyy-MM" + */ + public static final String yyyyMMFormat = "yyyy-MM"; + /** + * yyyyChineseFormat="yyyy年" + */ + public static final String yyyyChineseFormat = "yyyy年"; + /** + * yyyyMMddFormat="yyyy-MM-dd" + */ + public static final String yyyyMMddFormat = "yyyy-MM-dd"; + /** + * fullFormat="yyyy-MM-dd HH:mm:ss" + */ + public static final String fullFormat = "yyyy-MM-dd HH:mm:ss"; + /** + * yyyyMMddHHmmss="yyyyMMddHHmmss" + */ + public static final String yyyyMMddHHmmss = "yyyyMMddHHmmss"; + /** + * strFormat="yyyy/MM/dd HH:mm:ss" + */ + public static final String strFormat = "yyyy/MM/dd HH:mm:ss"; + /** + * MMddChineseFormat="MM月dd日" + */ + public static final String MMddChineseFormat = "MM月dd日"; + /** + * yyyyMMddChineseFormat="yyyy年MM月dd日" + */ + public static final String yyyyMMddChineseFormat = "yyyy年MM月dd日"; + /** + * yyyyMMddChineseFormat="yyyy年MM月" + */ + public static final String yyyyMMChineseFormat = "yyyy年MM月"; + /** + * fullChineseFormat="yyyy年MM月dd日HH时mm分ss秒" + */ + public static final String fullChineseFormat = "yyyy年MM月dd日HH时mm分ss秒"; + /** + * WEEKS={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"} + */ + public static final String[] WEEKS = { "星期日", "星期一", "星期二", "星期三", "星期四", + "星期五", "星期六" }; + + /** + * 得到指定时间的时间日期格式 + * + * @param date + * 指定的时间 + * @param format + * 时间日期格式 + * @return + */ + public static String getFormatDateTime(Date date, String format) { + if(date == null){return "";} + DateFormat df = new SimpleDateFormat(format); + return df.format(date); + } + /** + * 得到指定时间的时间日期格式(返回date) + * + * @param date + * 指定的时间 + * @param format + * 时间日期格式 + * @return + */ + public static Date getDateFormatDateTime(Date date, String format) { + DateFormat df = new SimpleDateFormat(format); + String s=df.format(date); + try { + return df.parse(s); + } catch (ParseException e) { }; + return date; + } + + public static String getFormatDateToday(String format) { + return getFormatDateTime(new Date(), format); + } + + /** + * 判断是否是润年 + * + * @param date + * 指定的时间 + * @return true:是润年,false:不是润年 + */ + public static boolean isLeapYear(Date date) { + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + return isLeapYear(cal.get(Calendar.YEAR)); + } + + /** + * 判断是否是润年 + * + * @param year + * 指定的年 + * @return true:是润年,false:不是润年 + */ + public static boolean isLeapYear(int year) { + GregorianCalendar calendar = new GregorianCalendar(); + return calendar.isLeapYear(year); + } + + /** + * 判断指定的时间是否是今天 + * + * @param date + * 指定的时间 + * @return true:是今天,false:非今天 + */ + public static boolean isInToday(Date date) { + boolean flag = false; + Date now = new Date(); + String fullFormat = getFormatDateTime(now, DateHolidayUtils.yyyyMMddFormat); + String beginString = fullFormat + " 00:00:00"; + String endString = fullFormat + " 23:59:59"; + DateFormat df = new SimpleDateFormat(DateHolidayUtils.fullFormat); + try { + Date beginTime = df.parse(beginString); + Date endTime = df.parse(endString); + flag = date.before(endTime) && date.after(beginTime); + } catch (ParseException e) { + e.printStackTrace(); + } + return flag; + } + + /** + * 判断两时间是否是同一天 + * + * @param from + * 第一个时间点 + * @param to + * 第二个时间点 + * @return true:是同一天,false:非同一天 + */ + public static boolean isSameDay(Date from, Date to) { + boolean isSameDay = false; + DateFormat df = new SimpleDateFormat(DateHolidayUtils.yyyyMMddFormat); + String firstDate = df.format(from); + String secondDate = df.format(to); + isSameDay = firstDate.equals(secondDate); + return isSameDay; + } + + /** + * 方法描述: 判断两时间是否是同一时间,精确到秒 作者:zhanglei 时间:2013-11-2下午04:22:33 + * + * @param from + * 第一个时间点 + * @param to + * 第二个时间点 + * @return true:是,false:非 + */ + public static boolean isSameTime(Date from, Date to) { + boolean isSameDay = false; + DateFormat df = new SimpleDateFormat(DateHolidayUtils.yyyyMMddHHmmss); + String firstDate = df.format(from); + String secondDate = df.format(to); + isSameDay = firstDate.equals(secondDate); + return isSameDay; + } + + /** + * 求出指定的时间那天是星期几 + * + * @param date + * 指定的时间 + * @return 星期X + */ + public static String getWeekString(Date date) { + return DateHolidayUtils.WEEKS[getWeek(date) - 1]; + } + + /** + * 求出指定时间那天是星期几 + * + * @param date + * 指定的时间 + * @return 0-6 分别代表星期日-星期六 + */ + public static int getWeekDay(Date date) { + int week = getWeek(date); + return week-1; + } + + /** + * 求出指定时间那天是星期几 + * + * @param date + * 指定的时间 + * @return 1-7 + */ + public static int getWeek(Date date) { + int week = 0; + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + week = cal.get(Calendar.DAY_OF_WEEK); + return week; + } + + /** + * 取得指定时间离现在是多少时间以前,如:3秒前,2小时前等 注意:此计算方法不是精确的 + * + * @param date + * 已有的指定时间 + * @return 时间段描述 + */ + public static String getAgoTimeString(Date date) { + Date now = new Date(); + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + Date agoTime = cal.getTime(); + long mtime = now.getTime() - agoTime.getTime(); + String str = ""; + long stime = mtime / 1000; + long minute = 60; + long hour = 60 * 60; + long day = 24 * 60 * 60; + long weeks = 7 * 24 * 60 * 60; + long months = 100 * 24 * 60 * 60; + if (stime < minute) { + long time_value = stime; + if (time_value <= 0) { + time_value = 1; + } + str = time_value + "秒前"; + } else if (stime >= minute && stime < hour) { + long time_value = stime / minute; + if (time_value <= 0) { + time_value = 1; + } + str = time_value + "分前"; + } else if (stime >= hour && stime < day) { + long time_value = stime / hour; + if (time_value <= 0) { + time_value = 1; + } + str = time_value + "小时前"; + } else if (stime >= day && stime < weeks) { + long time_value = stime / day; + if (time_value <= 0) { + time_value = 1; + } + str = time_value + "天前"; + } else if (stime >= weeks && stime < months) { + DateFormat df = new SimpleDateFormat(DateHolidayUtils.MMddFormat); + str = df.format(date); + } else { + DateFormat df = new SimpleDateFormat(DateHolidayUtils.yyyyMMddFormat); + str = df.format(date); + } + return str; + } + + /** + * 判断指定时间是否是周末 + * + * @param date + * 指定的时间 + * @return true:是周末,false:非周末 + */ + public static boolean isWeeks(Date date) { + boolean isWeek = false; + isWeek = (getWeek(date) - 1 == 0 || getWeek(date) - 1 == 6); + return isWeek; + } + + /** + * 得到今天的最开始时间 + * + * @return 今天的最开始时间 + */ + public static Date getTodayBeginTime() { + Date beginTime = new Date(); + beginTime = getBeginTime(beginTime); + return beginTime; + } + + /** + * 得到指定日期的最开始时间 + * + * @return 今天的最开始时间 + */ + public static Date getBeginTime(Date date) { + Date beginTime = date; + String beginString = getFormatDateTime(beginTime, DateHolidayUtils.yyyyMMddFormat) + " 00:00:00"; + beginTime = str2Date(beginString, DateHolidayUtils.fullFormat); + return beginTime; + } + + public static Long getBeginTimeStamp(Long timeStamp) { + Date beginTime = new Date(timeStamp); + String beginString = getFormatDateTime(beginTime, DateHolidayUtils.yyyyMMddFormat) + " 00:00:00"; + beginTime = str2Date(beginString, DateHolidayUtils.fullFormat); + return beginTime.getTime(); + } + + public static String getBeginTimeStr(Date date) { + Date beginTime = date; + String beginString = getFormatDateTime(beginTime, DateHolidayUtils.yyyyMMddFormat) + " 00:00:00"; + return beginString; + } + + + /** + * 得到今天的最后结束时间 + * + * @return 今天的最后时间 + */ + public static Date getTodayEndTime() { + Date endTime = new Date(); + endTime = getEndTime(endTime); + return endTime; + } + + /** + * 得到指定日期的最后结束时间 + * + * @return 今天的最后时间 + */ + public static Date getEndTime(Date date) { + + Date endTime = date; + String beginString = getFormatDateTime(endTime, DateHolidayUtils.yyyyMMddFormat) + " 23:59:59"; + endTime = str2Date(beginString, DateHolidayUtils.fullFormat); + return endTime; + } + + /** + * 得到指定日期的最后结束时间 + * + * @return 今天的最后时间 + */ + public static Date getCalEndTime(Date date) { + + Date endTime = addDays(date, 1); + String beginString = getFormatDateTime(endTime, DateHolidayUtils.yyyyMMddFormat) + " 00:00:00"; + endTime = str2Date(beginString, DateHolidayUtils.fullFormat); + return endTime; + } + + public static String getEndTimeStr(Date date) { + + Date endTime = date; + String endString = getFormatDateTime(endTime, DateHolidayUtils.yyyyMMddFormat) + " 23:59:59"; + return endString; + } + + + /** + * 取得本周的开始时间 + * + * @return 本周的开始时间 + */ + public static Date getThisWeekBeginTime() { + Date beginTime = null; + Calendar cal = Calendar.getInstance(); + int week = getWeek(cal.getTime()); + week = week - 1; + int days = 0; + if (week == 0) { + days = 6; + } else { + days = week - 1; + } + cal.add(Calendar.DAY_OF_MONTH, -days); + beginTime = cal.getTime(); + return beginTime; + } + + /** + * 取得指定日期所在周的开始时间 + * + * @return 本周的开始时间 + */ + public static Date getThisWeekBeginTime(Date date) { + Date beginTime = null; + int week = getWeek(date); + week = week - 1; + int days = 0; + if (week == 0) { + days = 6; + } else { + days = week - 1; + } + beginTime = addDays(date,-days); + return beginTime; + } + + /** + * 取得本周的开始日期 + * + * @param format + * 时间的格式 + * @return 指定格式的本周最开始时间 + */ + public static String getThisWeekBeginTimeString(String format) { + DateFormat df = new SimpleDateFormat(format); + return df.format(getThisWeekBeginTime()); + } + + /** + * 取得本周的结束时间 + * + * @return 本周的结束时间 + */ + public static Date getThisWeekEndTime() { + Date endTime = null; + Calendar cal = Calendar.getInstance(); + int week = getWeek(cal.getTime()); + week = week - 1; + int days = 0; + if (week != 0) { + days = 7 - week; + } + cal.add(Calendar.DAY_OF_MONTH, days); + endTime = cal.getTime(); + return endTime; + } + + /** + * 取得指定日期所在周的结束时间 + * + * @return 本周的结束时间 + */ + public static Date getThisWeekEndTime(Date date) { + Date endTime = null; + int week = getWeek(date); + week = week - 1; + int days = 0; + if (week != 0) { + days = 7 - week; + } + endTime = addDays(date, days); + return endTime; + } + + /** + * 取得本周的结束日期 + * + * @param format + * 时间的格式 + * @return 指定格式的本周结束时间 + */ + public static String getThisWeekEndTimeString(String format) { + DateFormat df = new SimpleDateFormat(format); + return df.format(getThisWeekEndTime()); + } + + /** + * 取得两时间相差的天数 + * + * @param from + * 第一个时间 + * @param to + * 第二个时间 + * @return 相差的天数 + */ + public static long getBetweenDays(Date from, Date to) { + long days = 0; + long dayTime = 24 * 60 * 60 * 1000; + long fromTime = from.getTime(); + long toTime = to.getTime(); +// long times = Math.abs(fromTime - toTime); + Long times = fromTime - toTime; + days = times / dayTime; + return days; + } + + /** + * 获取时间相隔年份 + * @author zhanglei 2017-10-20 下午2:51:10 + * @param from + * @param to + * @return + */ + public static long getBetweenYears(Date from, Date to) { + Calendar cal = Calendar.getInstance(); + cal.setTime(from); + int year = cal.get(Calendar.YEAR); + cal.setTime(to); + int year2 = cal.get(Calendar.YEAR); + long years = Math.abs(year2 - year); + return years; + } + + /** + * 取得两时间相差的小时数 + * + * @param from + * 第一个时间 + * @param to + * 第二个时间 + * @return 相差的小时数 + */ + public static BigDecimal getBetweenHours(Date from, Date to) { + long hours = 0; + long hourTime = 60 * 60 * 1000; + long fromTime = from.getTime(); + long toTime = to.getTime(); + long times = Math.abs(fromTime - toTime); + return BigDecimal.valueOf(times).divide(BigDecimal.valueOf(hourTime), 2, BigDecimal.ROUND_DOWN); + } + + /** + * 取得两时间相差的分钟数 + * + * @param from + * 第一个时间 + * @param to + * 第二个时间 + * @return 相差的分钟数 + */ + public static long getBetweenMinutes(Date from, Date to) { + long m = 0; + long mTime = 60 * 1000; + long fromTime = from.getTime(); + long toTime = to.getTime(); + long times = Math.abs(fromTime - toTime); + m = times / mTime; + return m; + } + + /** + * 取得两时间相差的秒数 + * + * @param from + * 第一个时间 + * @param to + * 第二个时间 + * @return 相差的秒数 + */ + public static long getBetweenSeconds(Date from, Date to) { + long s = 0; + long sTime = 1000; + long fromTime = from.getTime(); + long toTime = to.getTime(); + long times = Math.abs(fromTime - toTime); + s = times / sTime; + return s; + } + + /** + * 取得在指定时间上加减 minute 分钟后的时间 + * @author zhanglei 2015 三月 24 10:15:21 + * @param date + * @param minute + * @return + */ + public static Date addMinutes(Date date, int minute) { + Date time = null; + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + cal.add(Calendar.MINUTE, minute); + time = cal.getTime(); + return time; + } + + + /** + * 取得在指定时间上加减days天后的时间 + * + * @param date + * 指定的时间 + * @param days + * 天数,正为加,负为减 + * @return 在指定时间上加减days天后的时间 + */ + public static Date addDays(Date date, int days) { + Date time = null; + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + cal.add(Calendar.DAY_OF_MONTH, days); + time = cal.getTime(); + return time; + } + + /** + * 取得在指定时间上加减months月后的时间 + * + * @param date + * 指定时间 + * @param months + * 月数,正为加,负为减 + * @return 在指定时间上加减months月后的时间 + */ + public static Date addMonths(Date date, int months) { + Date time = null; + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + cal.add(Calendar.MONTH, months); + time = cal.getTime(); + return time; + } + + /** + * 取得在指定时间上加减years年后的时间 + * + * @param date + * 指定时间 + * @param years + * 年数,正为加,负为减 + * @return 在指定时间上加减years年后的时间 + */ + public static Date addYears(Date date, int years) { + Date time = null; + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + cal.add(Calendar.YEAR, years); + time = cal.getTime(); + return time; + } + + /** + * 方法说明:"yyyyMMddHHmmss"格式的字符串转成日期 + * + * @author zhanglei + * @createDate 2013-10-24 上午01:35:15 + * @param str_date + * @return date + */ + public static Date str2Date(String str_date, String format) { + Date date = null; + DateFormat df = new SimpleDateFormat(format == null ? DateHolidayUtils.yyyyMMddHHmmss:format); + try { + date = df.parse(str_date); + } catch (ParseException e) { + e.printStackTrace(); + } + return date; + } + + /** + * 获取当前年度 + * + * @return + */ + public static String getCurYear() { + Calendar calendar = Calendar.getInstance(); + int yearInt = calendar.get(Calendar.YEAR); + return String.valueOf(yearInt); + } + + public static Date getFirstDayOfYear(String year) { + Calendar calendar = Calendar.getInstance(); + if (year != null && !year.isEmpty()) { + int yearInt = Integer.valueOf(year); + calendar.set(Calendar.YEAR, yearInt); + } + calendar.set(Calendar.MONTH, 0); + calendar.set(Calendar.DAY_OF_MONTH, 1); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + return calendar.getTime(); + } + public static Date getLastDayOfYear(String year) { + Calendar calendar = Calendar.getInstance(); + if (year != null && !year.isEmpty()) { + int yearInt = Integer.valueOf(year); + calendar.set(Calendar.YEAR, yearInt); + } + calendar.set(Calendar.MONTH, 11); + calendar.set(Calendar.DAY_OF_MONTH, 31); + calendar.set(Calendar.HOUR_OF_DAY, 23); + calendar.set(Calendar.MINUTE, 59); + calendar.set(Calendar.SECOND, 59); + return calendar.getTime(); + } + + public static Date getLastDayOfQuarter(String year, int quarter) { + Calendar calendar = Calendar.getInstance(); + if (year != null && !year.isEmpty()) { + int yearInt = Integer.valueOf(year); + calendar.set(Calendar.YEAR, yearInt); + } + if (quarter == 1) { + calendar.set(Calendar.MONTH, 2); + calendar.set(Calendar.DAY_OF_MONTH, 31); + } else if (quarter == 2) { + calendar.set(Calendar.MONTH, 5); + calendar.set(Calendar.DAY_OF_MONTH, 30); + } else if (quarter == 3) { + calendar.set(Calendar.MONTH, 8); + calendar.set(Calendar.DAY_OF_MONTH, 30); + } else if (quarter == 4) { + calendar.set(Calendar.MONTH, 11); + calendar.set(Calendar.DAY_OF_MONTH, 31); + } + return calendar.getTime(); + } + + /** + * 获取一个月的第一天 + * @param dateStr + * @return + * @throws ParseException + */ + public static Date getMonthFirstDate(String dateStr) throws ParseException { + DateFormat df = new SimpleDateFormat(yyyyMMFormat); + Date data= df.parse(dateStr); + return data; + } + + /** + * 获取一个月的最后一天 + * + * @param dateStr + * yyyy-MM + * @return + * @throws ParseException + */ + public static Date getMonthLastDate(String dateStr) throws ParseException { + DateFormat df = new SimpleDateFormat(yyyyMMFormat); + Date data = df.parse(dateStr); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(data); + int value = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); + calendar.set(Calendar.DAY_OF_MONTH, value); + return calendar.getTime(); + } + + public static void main(String[] args) { + System.out.println(DateHolidayUtils.str2Date("2020年10月28日", DateHolidayUtils.yyyyMMddChineseFormat)); + System.out.println(new Date(1595174400000L)); + // 2022-11-2 14:0:0 + // 2022-11-2 23:59:59 + System.out.println(getBetweenHours(new Date(1667368800000L), getEndTime(new Date(1667368800000L)))); + System.out.println(getBetweenHours(new Date(1667368800000L), new Date(1667404799000L))); + System.out.println(getBetweenHours(new Date(1667368800000L), new Date(1667404800000L))); + } +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/MySerializerUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/MySerializerUtils.java new file mode 100644 index 000000000..822fac5e5 --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/MySerializerUtils.java @@ -0,0 +1,16 @@ +package com.ruoyi.common.utils; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; + +import java.io.IOException; + +public class MySerializerUtils extends JsonSerializer { + @Override + public void serialize(Long id, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException { + String statusStr = String.valueOf(id); + jsonGenerator.writeString(statusStr); + } + } diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/TestDemo.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/TestDemo.java index dc19ce2c7..c9f3f81b4 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/TestDemo.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/TestDemo.java @@ -22,7 +22,7 @@ public class TestDemo extends BaseEntity { /** * 主键 */ - @TableId(value = "id") + @TableId(value = "id",type = IdType.AUTO) private Long id; /** diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/TestTree.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/TestTree.java index b480aa0c1..bd056fdf8 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/TestTree.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/TestTree.java @@ -1,9 +1,6 @@ package com.ruoyi.demo.domain; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.annotation.Version; +import com.baomidou.mybatisplus.annotation.*; import com.ruoyi.common.core.domain.TreeEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -25,7 +22,7 @@ public class TestTree extends TreeEntity { /** * 主键 */ - @TableId(value = "id") + @TableId(value = "id",type = IdType.AUTO) private Long id; /** diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java index 45e9168e5..fdde2f247 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java +++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java @@ -26,7 +26,7 @@ public class GenTable extends BaseEntity { /** * 编号 */ - @TableId(value = "table_id") + @TableId(value = "table_id",type = IdType.AUTO) private Long tableId; /** diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java index f6dbcaaf4..7ade87ae1 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java +++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java @@ -1,9 +1,6 @@ package com.ruoyi.generator.domain; -import com.baomidou.mybatisplus.annotation.FieldStrategy; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; import com.ruoyi.common.core.domain.BaseEntity; import com.ruoyi.common.utils.StringUtils; import lombok.Data; @@ -26,7 +23,7 @@ public class GenTableColumn extends BaseEntity { /** * 编号 */ - @TableId(value = "column_id") + @TableId(value = "column_id",type = IdType.AUTO) private Long columnId; /** diff --git a/ruoyi-oss/pom.xml b/ruoyi-oss/pom.xml index c2e1e996c..615e411c1 100644 --- a/ruoyi-oss/pom.xml +++ b/ruoyi-oss/pom.xml @@ -26,6 +26,12 @@ com.amazonaws aws-java-sdk-s3 + + + com.google.code.gson + gson + + diff --git a/ruoyi-rsaencrypt/src/main/java/com/ruoyi/rsaencrypt/advice/EncodeResponseBodyAdvice.java b/ruoyi-rsaencrypt/src/main/java/com/ruoyi/rsaencrypt/advice/EncodeResponseBodyAdvice.java index faa09952a..08f42136b 100644 --- a/ruoyi-rsaencrypt/src/main/java/com/ruoyi/rsaencrypt/advice/EncodeResponseBodyAdvice.java +++ b/ruoyi-rsaencrypt/src/main/java/com/ruoyi/rsaencrypt/advice/EncodeResponseBodyAdvice.java @@ -69,9 +69,8 @@ public class EncodeResponseBodyAdvice implements ResponseBodyAdvice { * @return */ private Object encodeRsa(MethodParameter methodParameter, Object body) { - ObjectMapper objectMapper = new ObjectMapper(); try { - String result = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(body); + String result = JsonUtils.toJsonString(body); logger.info("对返回数据 :【" + result + "】进行加密"); String s = RSAUtil.publicKeyEncryptBase64(result); logger.info("加密之后密文:"+s); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/common/WorkBusinessRule.java b/ruoyi-system/src/main/java/com/ruoyi/system/common/WorkBusinessRule.java index 5d378a580..5063d1490 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/common/WorkBusinessRule.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/common/WorkBusinessRule.java @@ -1,19 +1,33 @@ package com.ruoyi.system.common; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.system.domain.BuyHouseCheck; +import com.ruoyi.system.domain.HousesReview; +import com.ruoyi.system.domain.MaterialModule; import com.ruoyi.system.domain.vo.BuyHouseCheckVo; +import com.ruoyi.system.domain.vo.MaterialModuleVo; import com.ruoyi.system.mapper.BuyHouseCheckMapper; +import com.ruoyi.system.mapper.HousesReviewMapper; +import com.ruoyi.system.service.impl.MaterialModuleServiceImpl; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + @Component @RequiredArgsConstructor public class WorkBusinessRule { private static final BuyHouseCheckMapper buyHouseCheckMapper= SpringUtils.getBean(BuyHouseCheckMapper.class); + private static final HousesReviewMapper housesReviewMapper = SpringUtils.getBean(HousesReviewMapper.class); + private static final MaterialModuleServiceImpl materialModuleService = SpringUtils.getBean(MaterialModuleServiceImpl.class); + public String getDistrict(String district){ //先获取业务数据 QueryWrapper qw = new QueryWrapper<>(); @@ -23,5 +37,12 @@ public class WorkBusinessRule { return buyHouseCheckVo.getPerson(); } + public List getCheckDept(Long id){ + HousesReview housesReview = housesReviewMapper.selectById(id); + Map map = BeanUtil.beanToMap(housesReview); + List materialInfo = materialModuleService.getMaterialInfo(map); + List collect = materialInfo.stream().map(MaterialModuleVo::getAuditDept).filter(c -> ObjectUtil.isNotNull(c) && ObjectUtil.isNotEmpty(c)).collect(Collectors.toList()); + return collect; + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/BuyHouseCheck.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/BuyHouseCheck.java index f2ed29cff..549cc0499 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/BuyHouseCheck.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/BuyHouseCheck.java @@ -1,5 +1,6 @@ package com.ruoyi.system.domain; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -19,7 +20,7 @@ public class BuyHouseCheck{ /** * */ - @TableId(value = "id") + @TableId(value = "id",type = IdType.AUTO) private Long id; /** * 描述 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/BuyHouses.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/BuyHouses.java index 5d08ec269..fcc027d57 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/BuyHouses.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/BuyHouses.java @@ -1,5 +1,6 @@ package com.ruoyi.system.domain; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -26,7 +27,7 @@ public class BuyHouses extends BaseEntity { /** * */ - @TableId(value = "id") + @TableId(value = "id",type = IdType.AUTO) private Long id; /** * 户口簿内页/护照内页 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/BuyHousesMember.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/BuyHousesMember.java index 306aa659f..adb343bb2 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/BuyHousesMember.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/BuyHousesMember.java @@ -1,5 +1,6 @@ package com.ruoyi.system.domain; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.core.domain.BaseEntity; @@ -22,7 +23,7 @@ public class BuyHousesMember extends BaseEntity { /** * */ - @TableId(value = "id") + @TableId(value = "id",type = IdType.AUTO) private Long id; /** * 户口簿内页 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/BuyHousesReviewMember.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/BuyHousesReviewMember.java index a1d6eab4f..daab10866 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/BuyHousesReviewMember.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/BuyHousesReviewMember.java @@ -1,5 +1,6 @@ package com.ruoyi.system.domain; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.core.domain.BaseEntity; @@ -22,7 +23,7 @@ public class BuyHousesReviewMember extends BaseEntity { /** * */ - @TableId(value = "id") + @TableId(value = "id",type = IdType.AUTO) private Long id; /** * 户口簿内页 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/HousesReview.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/HousesReview.java index 9322a17a6..62c2fb8cc 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/HousesReview.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/HousesReview.java @@ -1,7 +1,10 @@ package com.ruoyi.system.domain; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.ruoyi.common.core.domain.BaseEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -24,7 +27,7 @@ public class HousesReview extends BaseEntity { /** * id */ - @TableId(value = "id") + @TableId(value = "id",type = IdType.AUTO) private Long id; /** * 证件类型 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/MaterialModule.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/MaterialModule.java index 8ff80c57d..2653ea822 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/MaterialModule.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/MaterialModule.java @@ -65,4 +65,12 @@ public class MaterialModule extends BaseEntity { */ private String interfaceType; + @TableField(exist = false) + private Long[] auditDeptArr=new Long[]{}; + + /** + * 按钮显示名称 + */ + private String interfaceName; + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/MaterialProof.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/MaterialProof.java index 8e394cdc5..2d0324626 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/MaterialProof.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/MaterialProof.java @@ -23,7 +23,7 @@ public class MaterialProof extends BaseEntity { /** * */ - @TableId(value = "id") + @TableId(value = "id",type = IdType.AUTO) private Long id; /** * 关联申请id diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/MaterialTalents.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/MaterialTalents.java index c85508e82..cc52ac185 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/MaterialTalents.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/MaterialTalents.java @@ -21,7 +21,7 @@ public class MaterialTalents extends BaseEntity { /** * 主键 */ - @TableId(value = "id") + @TableId(value = "id",type = IdType.AUTO) private Long id; /** * 父id diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SubscribeExport.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SubscribeExport.java index 511b56a7a..c5298a5ff 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SubscribeExport.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SubscribeExport.java @@ -25,7 +25,7 @@ public class SubscribeExport extends BaseEntity { /** * */ - @TableId(value = "id") + @TableId(value = "id",type = IdType.AUTO) private Long id; /** * 路径 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysConfig.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysConfig.java index ca9a77ce3..ae1b358ed 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysConfig.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysConfig.java @@ -2,6 +2,7 @@ package com.ruoyi.system.domain; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.annotation.ExcelDictFormat; @@ -29,7 +30,7 @@ public class SysConfig extends BaseEntity { * 参数主键 */ @ExcelProperty(value = "参数主键") - @TableId(value = "config_id") + @TableId(value = "config_id",type = IdType.AUTO) private Long configId; /** diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysLogininfor.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysLogininfor.java index f95b332e7..5de8c3033 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysLogininfor.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysLogininfor.java @@ -2,6 +2,7 @@ package com.ruoyi.system.domain; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -30,7 +31,7 @@ public class SysLogininfor implements Serializable { * ID */ @ExcelProperty(value = "序号") - @TableId(value = "info_id") + @TableId(value = "info_id",type = IdType.AUTO) private Long infoId; /** diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysNotice.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysNotice.java index dec401e3e..5032eb13f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysNotice.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysNotice.java @@ -1,5 +1,6 @@ package com.ruoyi.system.domain; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.core.domain.BaseEntity; @@ -24,7 +25,7 @@ public class SysNotice extends BaseEntity { /** * 公告ID */ - @TableId(value = "notice_id") + @TableId(value = "notice_id",type = IdType.AUTO) private Long noticeId; /** diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOperLog.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOperLog.java index 84af07b91..ba07ce3a8 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOperLog.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOperLog.java @@ -2,6 +2,7 @@ package com.ruoyi.system.domain; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -31,7 +32,7 @@ public class SysOperLog implements Serializable { * 日志主键 */ @ExcelProperty(value = "日志主键") - @TableId(value = "oper_id") + @TableId(value = "oper_id",type = IdType.AUTO) private Long operId; /** diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOss.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOss.java index 968304bb4..4338e7305 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOss.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOss.java @@ -1,5 +1,6 @@ package com.ruoyi.system.domain; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.core.domain.BaseEntity; @@ -19,7 +20,7 @@ public class SysOss extends BaseEntity { /** * 对象存储主键 */ - @TableId(value = "oss_id") + @TableId(value = "oss_id",type = IdType.AUTO) private Long ossId; /** diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOssConfig.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOssConfig.java index ac5e5a3ac..f4ccf0dd8 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOssConfig.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOssConfig.java @@ -1,5 +1,6 @@ package com.ruoyi.system.domain; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.core.domain.BaseEntity; @@ -19,7 +20,7 @@ public class SysOssConfig extends BaseEntity { /** * 主建 */ - @TableId(value = "oss_config_id") + @TableId(value = "oss_config_id",type = IdType.AUTO) private Long ossConfigId; /** diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysPost.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysPost.java index ecb84f4b4..ab5deac7c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysPost.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysPost.java @@ -2,6 +2,7 @@ package com.ruoyi.system.domain; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -31,7 +32,7 @@ public class SysPost extends BaseEntity { * 岗位序号 */ @ExcelProperty(value = "岗位序号") - @TableId(value = "post_id") + @TableId(value = "post_id",type = IdType.AUTO) private Long postId; /** diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/User.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/User.java index a40680126..69b542cfb 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/User.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/User.java @@ -22,7 +22,7 @@ public class User extends BaseEntity { /** * */ - @TableId(value = "id") + @TableId(value = "id",type = IdType.AUTO) private Long id; /** * 用户账号状态 1,未认定 2,认定中 ,3 未发卡,4 已发卡 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/HousesReviewBo.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/HousesReviewBo.java index a6a41a581..d444022bd 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/HousesReviewBo.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/HousesReviewBo.java @@ -1,6 +1,8 @@ package com.ruoyi.system.domain.bo; import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.ruoyi.common.core.domain.BaseEntity; import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.EditGroup; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/MaterialModuleBo.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/MaterialModuleBo.java index 652a272de..2105c3266 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/MaterialModuleBo.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/MaterialModuleBo.java @@ -1,5 +1,6 @@ package com.ruoyi.system.domain.bo; +import com.baomidou.mybatisplus.annotation.TableField; import com.ruoyi.common.core.domain.BaseEntity; import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.EditGroup; @@ -43,6 +44,9 @@ public class MaterialModuleBo extends BaseEntity { // @NotBlank(message = "审核部门不能为空", groups = { AddGroup.class, EditGroup.class }) private String auditDept; + @TableField(exist = false) + private Long[] auditDeptArr =new Long[]{}; + /** * 描述 */ @@ -70,5 +74,10 @@ public class MaterialModuleBo extends BaseEntity { */ private String interfaceType; + /** + * 按钮显示名称 + */ + private String interfaceName; + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/BuyHousesEvent.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/BuyHousesEvent.java index 9038cfe20..4fb465537 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/BuyHousesEvent.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/BuyHousesEvent.java @@ -1,5 +1,6 @@ package com.ruoyi.system.domain.dto; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -24,7 +25,7 @@ public class BuyHousesEvent extends BaseEntity { /** * */ - @TableId(value = "id") + @TableId(value = "id",type = IdType.AUTO) private Long id; /** * 户口簿内页/护照内页 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/HousesReviewEvent.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/HousesReviewEvent.java index bd8288175..21739577c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/HousesReviewEvent.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/HousesReviewEvent.java @@ -1,5 +1,6 @@ package com.ruoyi.system.domain.dto; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -26,7 +27,7 @@ public class HousesReviewEvent extends BaseEntity { /** * id */ - @TableId(value = "id") + @TableId(value = "id",type = IdType.AUTO) private Long id; /** * 证件类型 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/HousesReviewVo.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/HousesReviewVo.java index d72435572..652cc3035 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/HousesReviewVo.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/HousesReviewVo.java @@ -1,17 +1,19 @@ package com.ruoyi.system.domain.vo; - import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.format.DateTimeFormat; import com.baomidou.mybatisplus.annotation.TableField; -import com.ruoyi.common.core.domain.BaseEntity; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.ruoyi.common.annotation.ExcelDictFormat; +import com.ruoyi.common.utils.MySerializerUtils; import com.ruoyi.system.domain.BuyHousesReviewMember; import lombok.Data; - +import javax.validation.constraints.NotNull; import java.io.Serializable; import java.util.Date; import java.util.List; - /** * 购房复审登记视图对象 houses_review * @@ -28,12 +30,16 @@ public class HousesReviewVo implements Serializable { * id */ // @ExcelProperty(value = "id") +// @JsonSerialize(using = ToStringSerializer.class) +// @JsonSerialize(using = MySerializerUtils.class) private Long id; /** * 证件类型 */ @ExcelProperty(value = "证件类型") + @NotNull(message = "证件类型不可为空") + @ExcelDictFormat(dictType = "card_type") private String cardType; /** @@ -58,6 +64,7 @@ public class HousesReviewVo implements Serializable { * 审核时间 */ @ExcelProperty(value = "审核时间") + @DateTimeFormat("yyyy-MM-dd") private String auditTime; /** diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MaterialModuleVo.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MaterialModuleVo.java index 412cb43b8..aa0214a2d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MaterialModuleVo.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MaterialModuleVo.java @@ -2,10 +2,13 @@ package com.ruoyi.system.domain.vo; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.TableField; import com.ruoyi.common.annotation.ExcelDictFormat; import com.ruoyi.common.convert.ExcelDictConvert; import lombok.Data; +import java.util.ArrayList; + /** * 材料模块视图对象 material_module @@ -62,6 +65,9 @@ public class MaterialModuleVo { @ExcelDictFormat(dictType = "sys_yes_no") private String isMust; + /** + * 上传材料 + */ private String file; /** @@ -75,4 +81,12 @@ public class MaterialModuleVo { private String interfaceType; + @TableField(exist = false) + private Long[] auditDeptArr = new Long[]{}; + + /** + * 按钮显示名称 + */ + private String interfaceName; + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BuyHousesServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BuyHousesServiceImpl.java index 1d44211dd..a76c1cd20 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BuyHousesServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BuyHousesServiceImpl.java @@ -79,7 +79,7 @@ public class BuyHousesServiceImpl implements IBuyHousesService { @Value("${file.prefix}") private String prefix; - private final String URL = "http://192.168.0.54:8010//candidates/getCardId"; + private final String URL = "https://gx.chengdutalent.cn:8010/candidates/getCardId"; private final BuyHousesMapper baseMapper; @@ -399,7 +399,12 @@ public class BuyHousesServiceImpl implements IBuyHousesService { JSONObject entries = JSONUtil.parseObj(data); BuyHouses buyHousesDto = new BuyHouses(); buyHousesDto.setCardId(String.valueOf(entries.get("cardId"))); - buyHousesDto.setNationality(String.valueOf(entries.get("nationality"))); + String nationality = String.valueOf(entries.get("nationality")); + if ("中国".contains(nationality)){ + buyHousesDto.setNationality("中国籍"); + }else { + buyHousesDto.setNationality("外籍"); + } buyHousesDto.setUserName(String.valueOf(entries.get("name"))); buyHousesDto.setPhone(String.valueOf(entries.get("phone"))); buyHousesDto.setCompanyName(String.valueOf(entries.get("companyName"))); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/HousesReviewServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/HousesReviewServiceImpl.java index fd6504528..6fa960355 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/HousesReviewServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/HousesReviewServiceImpl.java @@ -9,6 +9,7 @@ import com.ruoyi.common.constant.Constants; import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.helper.LoginHelper; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.file.MyFileUtils; @@ -62,9 +63,6 @@ public class HousesReviewServiceImpl implements IHousesReviewService { private final MaterialProofMapper materialProofMapper; private final BuyHousesReviewMemberMapper buyHousesReviewMemberMapper; - private final SysOssServiceImpl sysOssService; - - private final SubscribeExportMapper subscribeExportMapper; @Value("${file.template}") @@ -101,7 +99,7 @@ public class HousesReviewServiceImpl implements IHousesReviewService { */ @Override public TableDataInfo queryPageList(HousesReviewBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); + LambdaQueryWrapper lqw = buildQueryWrapper2(bo); Page result = baseMapper.selectPage(pageQuery.build(), lqw); return TableDataInfo.build(result); } @@ -115,6 +113,38 @@ public class HousesReviewServiceImpl implements IHousesReviewService { return baseMapper.selectVoList(lqw); } + private LambdaQueryWrapper buildQueryWrapper2(HousesReviewBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + if (ObjectUtil.isNotNull(bo.getIds())){ + lqw.in(HousesReview::getId,bo.getIds()); + } + lqw.eq(StringUtils.isNotBlank(bo.getCardType()), HousesReview::getCardType, bo.getCardType()); + lqw.eq(StringUtils.isNotBlank(bo.getCard()), HousesReview::getCard, bo.getCard()); + lqw.like(StringUtils.isNotBlank(bo.getName()), HousesReview::getName, bo.getName()); + lqw.eq(StringUtils.isNotBlank(bo.getQualification()), HousesReview::getQualification, bo.getQualification()); + lqw.eq(StringUtils.isNotBlank(bo.getAuditTime()), HousesReview::getAuditTime, bo.getAuditTime()); + lqw.eq(StringUtils.isNotBlank(bo.getPresellCard()), HousesReview::getPresellCard, bo.getPresellCard()); + lqw.eq(StringUtils.isNotBlank(bo.getDealType()), HousesReview::getDealType, bo.getDealType()); + lqw.eq(StringUtils.isNotBlank(bo.getProjectName()), HousesReview::getProjectName, bo.getProjectName()); + lqw.eq(StringUtils.isNotBlank(bo.getProjectArea()), HousesReview::getProjectArea, bo.getProjectArea()); + lqw.eq(StringUtils.isNotBlank(bo.getQualificationConfirmTime()), HousesReview::getQualificationConfirmTime, bo.getQualificationConfirmTime()); + lqw.eq(StringUtils.isNotBlank(bo.getQualificationPreApplyTime()), HousesReview::getQualificationPreApplyTime, bo.getQualificationPreApplyTime()); + lqw.eq(StringUtils.isNotBlank(bo.getFamilyType()), HousesReview::getFamilyType, bo.getFamilyType()); + lqw.eq(StringUtils.isNotBlank(bo.getStatus()), HousesReview::getStatus, bo.getStatus()); + lqw.eq(StringUtils.isNotBlank(bo.getRegisterFailureTime()), HousesReview::getRegisterFailureTime, bo.getRegisterFailureTime()); + lqw.eq(StringUtils.isNotBlank(bo.getNationality()), HousesReview::getNationality, bo.getNationality()); + lqw.eq(StringUtils.isNotBlank(bo.getMaritalStatus()), HousesReview::getMaritalStatus, bo.getMaritalStatus()); + lqw.eq(StringUtils.isNotBlank(bo.getCompanyType()), HousesReview::getCompanyType, bo.getCompanyType()); + lqw.like(StringUtils.isNotBlank(bo.getCompanyName()), HousesReview::getCompanyName, bo.getCompanyName()); + lqw.eq(StringUtils.isNotBlank(bo.getTalentsType()), HousesReview::getTalentsType, bo.getTalentsType()); + lqw.eq(StringUtils.isNotBlank(bo.getCreditCode()), HousesReview::getCreditCode, bo.getCreditCode()); + lqw.eq(StringUtils.isNotBlank(bo.getCompanyAddress()), HousesReview::getCompanyAddress, bo.getCompanyAddress()); + lqw.eq(StringUtils.isNotBlank(bo.getSourceBy()), HousesReview::getSourceBy, bo.getSourceBy()); + lqw.eq(StringUtils.isNotBlank(bo.getProcessStatus()), HousesReview::getProcessStatus, bo.getProcessStatus()); + return lqw; + } + private LambdaQueryWrapper buildQueryWrapper(HousesReviewBo bo) { Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); @@ -177,11 +207,18 @@ public class HousesReviewServiceImpl implements IHousesReviewService { @Override @Transactional(rollbackFor = Exception.class) public Boolean updateByBo(HousesReviewBo bo) { + //判断该人才是否可提交 + HousesReview housesReview = baseMapper.selectById(bo.getId()); + if (ObjectUtil.isNotNull(housesReview.getProcessStatus()) + && (Constants.WAIT.equals(housesReview.getProcessStatus()) + || Constants.SUCCEED.equals(housesReview.getProcessStatus()) + || Constants.PUBLICS.equals(housesReview.getProcessStatus()))){ + throw new ServiceException("当前人才状态不允许提交"); + } bo.setProcessStatus(Constants.WAIT); //先删除存在的家庭情况关系表 buyHousesReviewMemberMapper.delete( new LambdaQueryWrapper() .eq(BuyHousesReviewMember::getBuyHousesId, bo.getId())); - //删除补充材料 materialProofMapper.delete(new LambdaQueryWrapper() .eq(MaterialProof::getHouseId, bo.getId()) @@ -227,6 +264,9 @@ public class HousesReviewServiceImpl implements IHousesReviewService { * 保存前的数据校验 */ private void validEntityBeforeSave(HousesReview entity){ + if (!"D".equals(entity.getTalentsType())){ + entity.setTypeExtend(null); + } //TODO 做一些数据校验,如唯一约束 } @@ -236,14 +276,19 @@ public class HousesReviewServiceImpl implements IHousesReviewService { @Override public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { if(isValid){ - //TODO 做一些业务上的校验,判断是否需要校验 + List housesReviews = baseMapper.selectBatchIds(ids); + boolean b = housesReviews.stream().anyMatch(h -> h.getProcessStatus().equals(Constants.PUBLICS) + || h.getProcessStatus().equals(Constants.WAIT) + || h.getProcessStatus().equals(Constants.SUCCEED)); + if (b){ + throw new ServiceException("当前所选数据中存在审核的数据,请审核之后再删除"); + } } return baseMapper.deleteBatchIds(ids) > 0; } @Override public Boolean saveBatch(List list) { - return baseMapper.insertBatch(list); } @@ -254,6 +299,15 @@ public class HousesReviewServiceImpl implements IHousesReviewService { */ @Override public R getMaterialInfo(HousesReviewBo bo) { + //执行修改 + HousesReview housesReview = baseMapper.selectById(bo.getId()); + if (Constants.PUBLICS.equals(housesReview.getProcessStatus()) + || Constants.WAIT.equals(housesReview.getProcessStatus()) + || Constants.SUCCEED.equals(housesReview.getProcessStatus())){ + }else { + HousesReview update = BeanUtil.toBean(bo, HousesReview.class); + baseMapper.updateById(update); + } Map map = BeanUtil.beanToMap(bo); List materialInfo = materialModuleService.getMaterialInfo(map); return R.ok(materialInfo); @@ -270,7 +324,6 @@ public class HousesReviewServiceImpl implements IHousesReviewService { housesReviewVo.setBuyHousesMemberList(new ArrayList<>()); } return housesReviewVo; - } /** diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MaterialModuleServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MaterialModuleServiceImpl.java index 0b978d1bd..149d65fa6 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MaterialModuleServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MaterialModuleServiceImpl.java @@ -1,6 +1,8 @@ package com.ruoyi.system.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.convert.Convert; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -48,7 +50,13 @@ public class MaterialModuleServiceImpl implements IMaterialModuleService { */ @Override public MaterialModuleVo queryById(Long id){ - return baseMapper.selectVoById(id); + MaterialModuleVo materialModuleVo = baseMapper.selectVoById(id); + if (ObjectUtil.isNotNull(materialModuleVo.getAuditDept())){ + String[] split = materialModuleVo.getAuditDept().split(","); + Long[] longs = Convert.toLongArray(split); + materialModuleVo.setAuditDeptArr(longs); + } + return materialModuleVo; } /** @@ -106,7 +114,11 @@ public class MaterialModuleServiceImpl implements IMaterialModuleService { * 保存前的数据校验 */ private void validEntityBeforeSave(MaterialModule entity){ - //TODO 做一些数据校验,如唯一约束 + //将数组转为字符串 + if (ObjectUtil.isNotNull(entity.getAuditDeptArr()) && entity.getAuditDeptArr().length>0){ + String join = StringUtils.join(entity.getAuditDeptArr(), ","); + entity.setAuditDept(join); + } } /** @@ -129,7 +141,8 @@ public class MaterialModuleServiceImpl implements IMaterialModuleService { public List getMaterialInfo(Map map){ Set keys = map.keySet(); LambdaQueryWrapper eq = new LambdaQueryWrapper() - .eq(MaterialTalents::getTalentsValue, map.get("processKey")); + .eq(MaterialTalents::getTalentsValue, map.get("processKey")) + .eq(MaterialTalents::getDelFlag,"0"); MaterialTalentsVo materialTalentsVo = materialTalentsMapper.selectVoOne(eq); //根据id获取关于他下面的所有子集 LambdaQueryWrapper wrapper = new LambdaQueryWrapper() diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java index 77673a6d9..f28730762 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java @@ -148,10 +148,14 @@ public class UserServiceImpl implements IUserService { LinkedHashMap hashMap = new LinkedHashMap<>(); hashMap.put("loginName",AesUtil.decryptBASE64("18716148446")); hashMap.put("password",AesUtil.decryptBASE64("1234Qwer")); - HttpRequest.post("https://gx.chengdutalent.cn:8010/user/login") - .form(hashMap) - .timeout(20000) - .execute().body(); + try { + HttpRequest.post("https://gx.chengdutalent.cn:8010/user/login") + .form(hashMap) + .timeout(20000) + .execute().body(); + } catch (Exception e) { + throw new RuntimeException("调用接口超时"); + } //调用高新的接口 return null; diff --git a/ruoyi-system/src/main/resources/mapper/system/MaterialModuleMapper.xml b/ruoyi-system/src/main/resources/mapper/system/MaterialModuleMapper.xml index 7398ad815..48e143140 100644 --- a/ruoyi-system/src/main/resources/mapper/system/MaterialModuleMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/MaterialModuleMapper.xml @@ -18,12 +18,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + diff --git a/ruoyi-work/pom.xml b/ruoyi-work/pom.xml index 7710ebe1b..9b25ed9bb 100644 --- a/ruoyi-work/pom.xml +++ b/ruoyi-work/pom.xml @@ -28,6 +28,10 @@ org.apache.commons commons-text + + com.ruoyi + ruoyi-rsaencrypt +