修改bug

This commit is contained in:
ljl 2023-05-05 16:48:31 +08:00
parent c947e30572
commit 09f0241141
77 changed files with 1296 additions and 188 deletions

View File

@ -14,6 +14,7 @@ import com.ruoyi.common.utils.redis.RedisUtils;
import com.ruoyi.common.utils.reflect.ReflectUtils; import com.ruoyi.common.utils.reflect.ReflectUtils;
import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.framework.config.properties.CaptchaProperties; import com.ruoyi.framework.config.properties.CaptchaProperties;
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
import com.ruoyi.sms.config.properties.SmsProperties; import com.ruoyi.sms.config.properties.SmsProperties;
import com.ruoyi.sms.core.SmsTemplate; import com.ruoyi.sms.core.SmsTemplate;
import com.ruoyi.sms.entity.SmsResult; import com.ruoyi.sms.entity.SmsResult;
@ -79,6 +80,7 @@ public class CaptchaController {
* 生成验证码 * 生成验证码
*/ */
@GetMapping("/captchaImage") @GetMapping("/captchaImage")
// @RsaSecurityParameter
public R<Map<String, Object>> getCode() { public R<Map<String, Object>> getCode() {
Map<String, Object> ajax = new HashMap<>(); Map<String, Object> ajax = new HashMap<>();
boolean captchaEnabled = configService.selectCaptchaEnabled(); boolean captchaEnabled = configService.selectCaptchaEnabled();

View File

@ -5,6 +5,7 @@ import java.util.List;
import java.util.Arrays; import java.util.Arrays;
import com.ruoyi.common.constant.Constants; import com.ruoyi.common.constant.Constants;
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
import com.ruoyi.system.domain.dto.BuyHousesEvent; import com.ruoyi.system.domain.dto.BuyHousesEvent;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@ -42,6 +43,7 @@ public class BuyHousesController extends BaseController {
*/ */
@SaCheckPermission("system:houses:list") @SaCheckPermission("system:houses:list")
@GetMapping("/list") @GetMapping("/list")
@RsaSecurityParameter
public TableDataInfo<BuyHousesVo> list(BuyHousesBo bo, PageQuery pageQuery) { public TableDataInfo<BuyHousesVo> list(BuyHousesBo bo, PageQuery pageQuery) {
bo.setProcessStatus(Constants.SUCCEED); bo.setProcessStatus(Constants.SUCCEED);
return iBuyHousesService.queryPageList(bo, pageQuery); return iBuyHousesService.queryPageList(bo, pageQuery);
@ -53,14 +55,18 @@ public class BuyHousesController extends BaseController {
* @return * @return
* @throws IOException * @throws IOException
*/ */
@SaCheckPermission("system:houses:subscribeExport")
@PostMapping("/subscribeExport") @PostMapping("/subscribeExport")
@RsaSecurityParameter(inDecode = true)
public R subscribeExport(@RequestBody BuyHousesEvent bo) throws IOException { public R subscribeExport(@RequestBody BuyHousesEvent bo) throws IOException {
return iBuyHousesService.subscribeExport(bo); return iBuyHousesService.subscribeExport(bo);
} }
/** /**
* 导出excel * 导出excel
*/ */
@SaCheckPermission("system:houses:exportExcel")
@PostMapping("/exportExcel") @PostMapping("/exportExcel")
@RsaSecurityParameter(outEncode = false)
public void exportExcel(BuyHousesBo bo,HttpServletResponse response){ public void exportExcel(BuyHousesBo bo,HttpServletResponse response){
iBuyHousesService.exportExcel(bo,response); iBuyHousesService.exportExcel(bo,response);
} }
@ -71,9 +77,10 @@ public class BuyHousesController extends BaseController {
@SaCheckPermission("system:houses:export") @SaCheckPermission("system:houses:export")
@Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT) @Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT)
@PostMapping("一期导出列表") @PostMapping("一期导出列表")
@RsaSecurityParameter(inDecode = true,outEncode = false)
public void export(BuyHousesBo bo, HttpServletResponse response) { public void export(BuyHousesBo bo, HttpServletResponse response) {
List<BuyHousesVo> list = iBuyHousesService.queryList(bo); List<BuyHousesVo> 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") @SaCheckPermission("system:houses:query")
@GetMapping("/{id}") @GetMapping("/{id}")
@RsaSecurityParameter
public R<BuyHousesVo> getInfo(@NotNull(message = "主键不能为空") public R<BuyHousesVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) { @PathVariable Long id) {
return R.ok(iBuyHousesService.queryById(id)); return R.ok(iBuyHousesService.queryById(id));
@ -97,6 +105,7 @@ public class BuyHousesController extends BaseController {
@SaCheckPermission("system:houses:remove") @SaCheckPermission("system:houses:remove")
@Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE) @Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}") @DeleteMapping("/{ids}")
@RsaSecurityParameter
public R<Void> remove(@NotEmpty(message = "主键不能为空") public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) { @PathVariable Long[] ids) {
return toAjax(iBuyHousesService.deleteWithValidByIds(Arrays.asList(ids), true)); return toAjax(iBuyHousesService.deleteWithValidByIds(Arrays.asList(ids), true));
@ -107,6 +116,7 @@ public class BuyHousesController extends BaseController {
*/ */
@Log(title = "获取申报材料",businessType = BusinessType.OTHER) @Log(title = "获取申报材料",businessType = BusinessType.OTHER)
@PostMapping("/review/material") @PostMapping("/review/material")
@RsaSecurityParameter(inDecode = true)
public R<?> getMaterialInfo(@RequestBody BuyHousesBo bo){ public R<?> getMaterialInfo(@RequestBody BuyHousesBo bo){
return iBuyHousesService.getMaterialInfo(bo); return iBuyHousesService.getMaterialInfo(bo);
} }

View File

@ -16,6 +16,7 @@ import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.excel.ExcelResult; import com.ruoyi.common.excel.ExcelResult;
import com.ruoyi.common.helper.LoginHelper; import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
import com.ruoyi.system.domain.BuyHouses; import com.ruoyi.system.domain.BuyHouses;
import com.ruoyi.system.domain.HousesReview; import com.ruoyi.system.domain.HousesReview;
import com.ruoyi.system.domain.bo.HousesReviewBo; import com.ruoyi.system.domain.bo.HousesReviewBo;
@ -61,6 +62,7 @@ public class HousesReviewController extends BaseController {
*/ */
@SaCheckPermission("system:review:reviewList") @SaCheckPermission("system:review:reviewList")
@GetMapping("/review/list") @GetMapping("/review/list")
@RsaSecurityParameter
public TableDataInfo<HousesReview> reviewList(HousesReviewBo bo, PageQuery pageQuery) { public TableDataInfo<HousesReview> reviewList(HousesReviewBo bo, PageQuery pageQuery) {
return iHousesReviewService.queryPageList(bo, pageQuery); return iHousesReviewService.queryPageList(bo, pageQuery);
} }
@ -74,6 +76,7 @@ public class HousesReviewController extends BaseController {
*/ */
@SaCheckPermission("system:manager:reviewList") @SaCheckPermission("system:manager:reviewList")
@GetMapping("/manager/list") @GetMapping("/manager/list")
@RsaSecurityParameter
public TableDataInfo<HousesReview> managerReviewList(HousesReviewBo bo, PageQuery pageQuery) { public TableDataInfo<HousesReview> managerReviewList(HousesReviewBo bo, PageQuery pageQuery) {
bo.setProcessStatus(Constants.SUCCEED); bo.setProcessStatus(Constants.SUCCEED);
return iHousesReviewService.queryPageList(bo, pageQuery); return iHousesReviewService.queryPageList(bo, pageQuery);
@ -85,7 +88,9 @@ public class HousesReviewController extends BaseController {
* @return * @return
* @throws IOException * @throws IOException
*/ */
@SaCheckPermission("system:houses:subscribeExport")
@PostMapping("/subscribeExport") @PostMapping("/subscribeExport")
@RsaSecurityParameter(inDecode = true)
public R subscribeExport(HousesReviewEvent bo) throws IOException { public R subscribeExport(HousesReviewEvent bo) throws IOException {
return iHousesReviewService.subscribeExport(bo); return iHousesReviewService.subscribeExport(bo);
} }
@ -93,7 +98,9 @@ public class HousesReviewController extends BaseController {
/** /**
* 导出excel * 导出excel
*/ */
@SaCheckPermission("system:houses:exportExcel")
@PostMapping("/exportExcel") @PostMapping("/exportExcel")
@RsaSecurityParameter(inDecode = true,outEncode = false)
public void exportExcel(HousesReviewBo bo,HttpServletResponse response){ public void exportExcel(HousesReviewBo bo,HttpServletResponse response){
iHousesReviewService.exportExcel(bo,response); iHousesReviewService.exportExcel(bo,response);
} }
@ -103,6 +110,7 @@ public class HousesReviewController extends BaseController {
*/ */
@SaCheckPermission("system:review:list") @SaCheckPermission("system:review:list")
@GetMapping("/registrationManagement/list") @GetMapping("/registrationManagement/list")
@RsaSecurityParameter
public TableDataInfo<HousesReview> list(HousesReviewBo bo, PageQuery pageQuery) { public TableDataInfo<HousesReview> list(HousesReviewBo bo, PageQuery pageQuery) {
boolean admin = LoginHelper.isAdmin(); boolean admin = LoginHelper.isAdmin();
if (!admin){ if (!admin){
@ -117,6 +125,7 @@ public class HousesReviewController extends BaseController {
@SaCheckPermission("system:review:export") @SaCheckPermission("system:review:export")
@Log(title = "购房复审登记", businessType = BusinessType.EXPORT) @Log(title = "购房复审登记", businessType = BusinessType.EXPORT)
@PostMapping("/registrationManagement/export") @PostMapping("/registrationManagement/export")
@RsaSecurityParameter(inDecode = true,outEncode = false)
public void export(HousesReviewBo bo, HttpServletResponse response) { public void export(HousesReviewBo bo, HttpServletResponse response) {
List<HousesReviewVo> list = iHousesReviewService.queryList(bo); List<HousesReviewVo> list = iHousesReviewService.queryList(bo);
ExcelUtil.exportExcel(list, "购房复审登记", HousesReviewVo.class, response); ExcelUtil.exportExcel(list, "购房复审登记", HousesReviewVo.class, response);
@ -129,6 +138,7 @@ public class HousesReviewController extends BaseController {
*/ */
@SaCheckPermission("system:review:edit") @SaCheckPermission("system:review:edit")
@GetMapping("/registrationManagement/{id}") @GetMapping("/registrationManagement/{id}")
@RsaSecurityParameter
public R<HousesReviewVo> getInfo(@NotNull(message = "主键不能为空") public R<HousesReviewVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) { @PathVariable Long id) {
return R.ok(iHousesReviewService.queryById(id)); return R.ok(iHousesReviewService.queryById(id));
@ -141,6 +151,7 @@ public class HousesReviewController extends BaseController {
@Log(title = "购房复审登记", businessType = BusinessType.INSERT) @Log(title = "购房复审登记", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping("/registrationManagement") @PostMapping("/registrationManagement")
@RsaSecurityParameter(inDecode = true)
public R<Void> add(@Validated(AddGroup.class) @RequestBody HousesReviewBo bo) { public R<Void> add(@Validated(AddGroup.class) @RequestBody HousesReviewBo bo) {
return toAjax(iHousesReviewService.insertByBo(bo)); return toAjax(iHousesReviewService.insertByBo(bo));
} }
@ -152,6 +163,7 @@ public class HousesReviewController extends BaseController {
@Log(title = "购房复审登记", businessType = BusinessType.UPDATE) @Log(title = "购房复审登记", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping("/registrationManagement") @PutMapping("/registrationManagement")
@RsaSecurityParameter(inDecode = true)
public R<Void> edit(@Validated(EditGroup.class) @RequestBody HousesReviewBo bo) { public R<Void> edit(@Validated(EditGroup.class) @RequestBody HousesReviewBo bo) {
return toAjax(iHousesReviewService.updateByBo(bo)); return toAjax(iHousesReviewService.updateByBo(bo));
} }
@ -160,9 +172,10 @@ public class HousesReviewController extends BaseController {
* 删除购房复审登记 * 删除购房复审登记
* @param ids 主键串 * @param ids 主键串
*/ */
@SaCheckPermission("system:review:edit") @SaCheckPermission("system:review:remove")
@Log(title = "购房复审登记", businessType = BusinessType.DELETE) @Log(title = "购房复审登记", businessType = BusinessType.DELETE)
@DeleteMapping("/registrationManagement/{ids}") @DeleteMapping("/review/{ids}")
@RsaSecurityParameter
public R<Void> remove(@NotEmpty(message = "主键不能为空") public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) { @PathVariable Long[] ids) {
return toAjax(iHousesReviewService.deleteWithValidByIds(Arrays.asList(ids), true)); return toAjax(iHousesReviewService.deleteWithValidByIds(Arrays.asList(ids), true));
@ -176,6 +189,7 @@ public class HousesReviewController extends BaseController {
*/ */
@Log(title = "购房复审导入", businessType = BusinessType.IMPORT) @Log(title = "购房复审导入", businessType = BusinessType.IMPORT)
@SaCheckPermission("system:review:import") @SaCheckPermission("system:review:import")
@RsaSecurityParameter
@PostMapping(value = "/review/importData", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) @PostMapping(value = "/review/importData", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public R<Void> importData(@RequestPart("file") MultipartFile file) throws Exception { public R<Void> importData(@RequestPart("file") MultipartFile file) throws Exception {
ExcelResult<HousesReviewVo> result = ExcelUtil.importExcel(file.getInputStream(), HousesReviewVo.class, true); ExcelResult<HousesReviewVo> result = ExcelUtil.importExcel(file.getInputStream(), HousesReviewVo.class, true);
@ -216,6 +230,7 @@ public class HousesReviewController extends BaseController {
*/ */
@Log(title = "获取申报材料",businessType = BusinessType.OTHER) @Log(title = "获取申报材料",businessType = BusinessType.OTHER)
@PostMapping("/review/material") @PostMapping("/review/material")
@RsaSecurityParameter(inDecode = true)
public R<?> getMaterialInfo(@RequestBody HousesReviewBo bo){ public R<?> getMaterialInfo(@RequestBody HousesReviewBo bo){
return iHousesReviewService.getMaterialInfo(bo); return iHousesReviewService.getMaterialInfo(bo);
} }
@ -225,6 +240,7 @@ public class HousesReviewController extends BaseController {
*/ */
@Log(title = "审核时返回当前人材料",businessType = BusinessType.OTHER) @Log(title = "审核时返回当前人材料",businessType = BusinessType.OTHER)
@GetMapping("/getMaterial/{id}") @GetMapping("/getMaterial/{id}")
@RsaSecurityParameter
public R<?> getMaterialByBusinessId(@PathVariable(value = "id") Long id){ public R<?> getMaterialByBusinessId(@PathVariable(value = "id") Long id){
return iHousesReviewService.getMaterialByBusinessId(id); return iHousesReviewService.getMaterialByBusinessId(id);
} }

View File

@ -11,6 +11,7 @@ import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup; import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil; 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.bo.MaterialModuleBo;
import com.ruoyi.system.domain.vo.MaterialModuleVo; import com.ruoyi.system.domain.vo.MaterialModuleVo;
import com.ruoyi.system.service.IMaterialModuleService; import com.ruoyi.system.service.IMaterialModuleService;
@ -43,12 +44,14 @@ public class MaterialModuleController extends BaseController {
*/ */
@SaCheckPermission("material:module:list") @SaCheckPermission("material:module:list")
@GetMapping("/list") @GetMapping("/list")
@RsaSecurityParameter
public TableDataInfo<MaterialModuleVo> list(MaterialModuleBo bo, PageQuery pageQuery) { public TableDataInfo<MaterialModuleVo> list(MaterialModuleBo bo, PageQuery pageQuery) {
return iMaterialModuleService.queryPageList(bo, pageQuery); return iMaterialModuleService.queryPageList(bo, pageQuery);
} }
@SaCheckPermission("material:materialList:list") @SaCheckPermission("material:materialList:list")
@GetMapping("/materialList") @GetMapping("/materialList")
@RsaSecurityParameter
public R<?> materialList(MaterialModuleBo bo) { public R<?> materialList(MaterialModuleBo bo) {
return iMaterialModuleService.selectMaterialList(bo); return iMaterialModuleService.selectMaterialList(bo);
} }
@ -71,6 +74,7 @@ public class MaterialModuleController extends BaseController {
*/ */
@SaCheckPermission("material:module:query") @SaCheckPermission("material:module:query")
@GetMapping("/{id}") @GetMapping("/{id}")
@RsaSecurityParameter
public R<MaterialModuleVo> getInfo(@NotNull(message = "主键不能为空") public R<MaterialModuleVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) { @PathVariable Long id) {
return R.ok(iMaterialModuleService.queryById(id)); return R.ok(iMaterialModuleService.queryById(id));
@ -83,6 +87,7 @@ public class MaterialModuleController extends BaseController {
@Log(title = "材料模块", businessType = BusinessType.INSERT) @Log(title = "材料模块", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()
@RsaSecurityParameter(inDecode = true)
public R<Void> add(@Validated(AddGroup.class) @RequestBody MaterialModuleBo bo) { public R<Void> add(@Validated(AddGroup.class) @RequestBody MaterialModuleBo bo) {
return toAjax(iMaterialModuleService.insertByBo(bo)); return toAjax(iMaterialModuleService.insertByBo(bo));
} }
@ -93,6 +98,7 @@ public class MaterialModuleController extends BaseController {
@SaCheckPermission("material:module:edit") @SaCheckPermission("material:module:edit")
@Log(title = "材料模块", businessType = BusinessType.UPDATE) @Log(title = "材料模块", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@RsaSecurityParameter(inDecode = true)
@PutMapping() @PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody MaterialModuleBo bo) { public R<Void> edit(@Validated(EditGroup.class) @RequestBody MaterialModuleBo bo) {
return toAjax(iMaterialModuleService.updateByBo(bo)); return toAjax(iMaterialModuleService.updateByBo(bo));
@ -106,6 +112,7 @@ public class MaterialModuleController extends BaseController {
@SaCheckPermission("material:module:remove") @SaCheckPermission("material:module:remove")
@Log(title = "材料模块", businessType = BusinessType.DELETE) @Log(title = "材料模块", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}") @DeleteMapping("/{ids}")
@RsaSecurityParameter
public R<Void> remove(@NotEmpty(message = "主键不能为空") public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) { @PathVariable Long[] ids) {
return toAjax(iMaterialModuleService.deleteWithValidByIds(Arrays.asList(ids), true)); return toAjax(iMaterialModuleService.deleteWithValidByIds(Arrays.asList(ids), true));

View File

@ -9,6 +9,7 @@ import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup; import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil; 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.bo.MaterialTalentsBo;
import com.ruoyi.system.domain.vo.MaterialTalentsVo; import com.ruoyi.system.domain.vo.MaterialTalentsVo;
import com.ruoyi.system.service.IMaterialTalentsService; import com.ruoyi.system.service.IMaterialTalentsService;
@ -41,6 +42,7 @@ public class MaterialTalentsController extends BaseController {
*/ */
@SaCheckPermission("material:talents:list") @SaCheckPermission("material:talents:list")
@GetMapping("/list") @GetMapping("/list")
@RsaSecurityParameter
public R<List<MaterialTalentsVo>> list(MaterialTalentsBo bo) { public R<List<MaterialTalentsVo>> list(MaterialTalentsBo bo) {
List<MaterialTalentsVo> list = iMaterialTalentsService.queryList(bo); List<MaterialTalentsVo> list = iMaterialTalentsService.queryList(bo);
return R.ok(list); return R.ok(list);
@ -64,6 +66,7 @@ public class MaterialTalentsController extends BaseController {
*/ */
@SaCheckPermission("material:talents:query") @SaCheckPermission("material:talents:query")
@GetMapping("/{id}") @GetMapping("/{id}")
@RsaSecurityParameter
public R<MaterialTalentsVo> getInfo(@NotNull(message = "主键不能为空") public R<MaterialTalentsVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) { @PathVariable Long id) {
return R.ok(iMaterialTalentsService.queryById(id)); return R.ok(iMaterialTalentsService.queryById(id));
@ -76,6 +79,7 @@ public class MaterialTalentsController extends BaseController {
@Log(title = "材料关系", businessType = BusinessType.INSERT) @Log(title = "材料关系", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()
@RsaSecurityParameter(inDecode = true)
public R<Void> add(@Validated(AddGroup.class) @RequestBody MaterialTalentsBo bo) { public R<Void> add(@Validated(AddGroup.class) @RequestBody MaterialTalentsBo bo) {
return toAjax(iMaterialTalentsService.insertByBo(bo)); return toAjax(iMaterialTalentsService.insertByBo(bo));
} }
@ -87,6 +91,7 @@ public class MaterialTalentsController extends BaseController {
@Log(title = "材料关系", businessType = BusinessType.UPDATE) @Log(title = "材料关系", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping()
@RsaSecurityParameter(inDecode = true)
public R<Void> edit(@Validated(EditGroup.class) @RequestBody MaterialTalentsBo bo) { public R<Void> edit(@Validated(EditGroup.class) @RequestBody MaterialTalentsBo bo) {
return toAjax(iMaterialTalentsService.updateByBo(bo)); return toAjax(iMaterialTalentsService.updateByBo(bo));
} }
@ -99,6 +104,7 @@ public class MaterialTalentsController extends BaseController {
@SaCheckPermission("material:talents:remove") @SaCheckPermission("material:talents:remove")
@Log(title = "材料关系", businessType = BusinessType.DELETE) @Log(title = "材料关系", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}") @DeleteMapping("/{ids}")
@RsaSecurityParameter
public R<Void> remove(@NotEmpty(message = "主键不能为空") public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) { @PathVariable Long[] ids) {
return toAjax(iMaterialTalentsService.deleteWithValidByIds(Arrays.asList(ids), true)); return toAjax(iMaterialTalentsService.deleteWithValidByIds(Arrays.asList(ids), true));

View File

@ -4,6 +4,7 @@ import java.util.List;
import java.util.Arrays; import java.util.Arrays;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@ -44,6 +45,7 @@ public class SubscribeExportController extends BaseController {
*/ */
@SaCheckPermission("system:export:list") @SaCheckPermission("system:export:list")
@GetMapping("/list") @GetMapping("/list")
@RsaSecurityParameter
public TableDataInfo<SubscribeExportVo> list(SubscribeExportBo bo, PageQuery pageQuery) { public TableDataInfo<SubscribeExportVo> list(SubscribeExportBo bo, PageQuery pageQuery) {
return iSubscribeExportService.queryPageList(bo, pageQuery); return iSubscribeExportService.queryPageList(bo, pageQuery);
} }
@ -78,6 +80,7 @@ public class SubscribeExportController extends BaseController {
@Log(title = "预约导出", businessType = BusinessType.INSERT) @Log(title = "预约导出", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()
@RsaSecurityParameter(inDecode = true)
public R<Void> add(@Validated(AddGroup.class) @RequestBody SubscribeExportBo bo) { public R<Void> add(@Validated(AddGroup.class) @RequestBody SubscribeExportBo bo) {
return toAjax(iSubscribeExportService.insertByBo(bo)); return toAjax(iSubscribeExportService.insertByBo(bo));
} }
@ -89,6 +92,7 @@ public class SubscribeExportController extends BaseController {
@Log(title = "预约导出", businessType = BusinessType.UPDATE) @Log(title = "预约导出", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping()
@RsaSecurityParameter(inDecode = true)
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SubscribeExportBo bo) { public R<Void> edit(@Validated(EditGroup.class) @RequestBody SubscribeExportBo bo) {
return toAjax(iSubscribeExportService.updateByBo(bo)); return toAjax(iSubscribeExportService.updateByBo(bo));
} }

View File

@ -2,19 +2,18 @@ package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
import com.ruoyi.system.domain.SysConfig; import com.ruoyi.system.domain.SysConfig;
import com.ruoyi.system.service.ISysConfigService; import com.ruoyi.system.service.ISysConfigService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.List; import java.util.List;
@ -36,6 +35,7 @@ public class SysConfigController extends BaseController {
*/ */
@SaCheckPermission("system:config:list") @SaCheckPermission("system:config:list")
@GetMapping("/list") @GetMapping("/list")
@RsaSecurityParameter
public TableDataInfo<SysConfig> list(SysConfig config, PageQuery pageQuery) { public TableDataInfo<SysConfig> list(SysConfig config, PageQuery pageQuery) {
return configService.selectPageConfigList(config, pageQuery); return configService.selectPageConfigList(config, pageQuery);
} }
@ -58,6 +58,7 @@ public class SysConfigController extends BaseController {
*/ */
@SaCheckPermission("system:config:query") @SaCheckPermission("system:config:query")
@GetMapping(value = "/{configId}") @GetMapping(value = "/{configId}")
@RsaSecurityParameter
public R<SysConfig> getInfo(@PathVariable Long configId) { public R<SysConfig> getInfo(@PathVariable Long configId) {
return R.ok(configService.selectConfigById(configId)); return R.ok(configService.selectConfigById(configId));
} }
@ -68,6 +69,7 @@ public class SysConfigController extends BaseController {
* @param configKey 参数Key * @param configKey 参数Key
*/ */
@GetMapping(value = "/configKey/{configKey}") @GetMapping(value = "/configKey/{configKey}")
@RsaSecurityParameter
public R<Void> getConfigKey(@PathVariable String configKey) { public R<Void> getConfigKey(@PathVariable String configKey) {
return R.ok(configService.selectConfigByKey(configKey)); return R.ok(configService.selectConfigByKey(configKey));
} }
@ -78,6 +80,7 @@ public class SysConfigController extends BaseController {
@SaCheckPermission("system:config:add") @SaCheckPermission("system:config:add")
@Log(title = "参数管理", businessType = BusinessType.INSERT) @Log(title = "参数管理", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
@RsaSecurityParameter(inDecode = true)
public R<Void> add(@Validated @RequestBody SysConfig config) { public R<Void> add(@Validated @RequestBody SysConfig config) {
if (!configService.checkConfigKeyUnique(config)) { if (!configService.checkConfigKeyUnique(config)) {
return R.fail("新增参数'" + config.getConfigName() + "'失败,参数键名已存在"); return R.fail("新增参数'" + config.getConfigName() + "'失败,参数键名已存在");
@ -92,6 +95,7 @@ public class SysConfigController extends BaseController {
@SaCheckPermission("system:config:edit") @SaCheckPermission("system:config:edit")
@Log(title = "参数管理", businessType = BusinessType.UPDATE) @Log(title = "参数管理", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
@RsaSecurityParameter(inDecode = true)
public R<Void> edit(@Validated @RequestBody SysConfig config) { public R<Void> edit(@Validated @RequestBody SysConfig config) {
if (!configService.checkConfigKeyUnique(config)) { if (!configService.checkConfigKeyUnique(config)) {
return R.fail("修改参数'" + config.getConfigName() + "'失败,参数键名已存在"); return R.fail("修改参数'" + config.getConfigName() + "'失败,参数键名已存在");
@ -106,6 +110,7 @@ public class SysConfigController extends BaseController {
@SaCheckPermission("system:config:edit") @SaCheckPermission("system:config:edit")
@Log(title = "参数管理", businessType = BusinessType.UPDATE) @Log(title = "参数管理", businessType = BusinessType.UPDATE)
@PutMapping("/updateByKey") @PutMapping("/updateByKey")
@RsaSecurityParameter(inDecode = true)
public R<Void> updateByKey(@RequestBody SysConfig config) { public R<Void> updateByKey(@RequestBody SysConfig config) {
configService.updateConfig(config); configService.updateConfig(config);
return R.ok(); return R.ok();
@ -119,6 +124,7 @@ public class SysConfigController extends BaseController {
@SaCheckPermission("system:config:remove") @SaCheckPermission("system:config:remove")
@Log(title = "参数管理", businessType = BusinessType.DELETE) @Log(title = "参数管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{configIds}") @DeleteMapping("/{configIds}")
@RsaSecurityParameter
public R<Void> remove(@PathVariable Long[] configIds) { public R<Void> remove(@PathVariable Long[] configIds) {
configService.deleteConfigByIds(configIds); configService.deleteConfigByIds(configIds);
return R.ok(); return R.ok();
@ -130,6 +136,7 @@ public class SysConfigController extends BaseController {
@SaCheckPermission("system:config:remove") @SaCheckPermission("system:config:remove")
@Log(title = "参数管理", businessType = BusinessType.CLEAN) @Log(title = "参数管理", businessType = BusinessType.CLEAN)
@DeleteMapping("/refreshCache") @DeleteMapping("/refreshCache")
@RsaSecurityParameter
public R<Void> refreshCache() { public R<Void> refreshCache() {
configService.resetConfigCache(); configService.resetConfigCache();
return R.ok(); return R.ok();

View File

@ -9,6 +9,7 @@ import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
import com.ruoyi.system.service.ISysDeptService; import com.ruoyi.system.service.ISysDeptService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -34,6 +35,7 @@ public class SysDeptController extends BaseController {
*/ */
@SaCheckPermission("system:dept:list") @SaCheckPermission("system:dept:list")
@GetMapping("/list") @GetMapping("/list")
@RsaSecurityParameter
public R<List<SysDept>> list(SysDept dept) { public R<List<SysDept>> list(SysDept dept) {
List<SysDept> depts = deptService.selectDeptList(dept); List<SysDept> depts = deptService.selectDeptList(dept);
return R.ok(depts); return R.ok(depts);
@ -46,6 +48,7 @@ public class SysDeptController extends BaseController {
*/ */
@SaCheckPermission("system:dept:list") @SaCheckPermission("system:dept:list")
@GetMapping("/list/exclude/{deptId}") @GetMapping("/list/exclude/{deptId}")
@RsaSecurityParameter
public R<List<SysDept>> excludeChild(@PathVariable(value = "deptId", required = false) Long deptId) { public R<List<SysDept>> excludeChild(@PathVariable(value = "deptId", required = false) Long deptId) {
List<SysDept> depts = deptService.selectDeptList(new SysDept()); List<SysDept> depts = deptService.selectDeptList(new SysDept());
depts.removeIf(d -> d.getDeptId().equals(deptId) depts.removeIf(d -> d.getDeptId().equals(deptId)
@ -60,6 +63,7 @@ public class SysDeptController extends BaseController {
*/ */
@SaCheckPermission("system:dept:query") @SaCheckPermission("system:dept:query")
@GetMapping(value = "/{deptId}") @GetMapping(value = "/{deptId}")
@RsaSecurityParameter
public R<SysDept> getInfo(@PathVariable Long deptId) { public R<SysDept> getInfo(@PathVariable Long deptId) {
deptService.checkDeptDataScope(deptId); deptService.checkDeptDataScope(deptId);
return R.ok(deptService.selectDeptById(deptId)); return R.ok(deptService.selectDeptById(deptId));
@ -71,6 +75,7 @@ public class SysDeptController extends BaseController {
@SaCheckPermission("system:dept:add") @SaCheckPermission("system:dept:add")
@Log(title = "部门管理", businessType = BusinessType.INSERT) @Log(title = "部门管理", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
@RsaSecurityParameter(inDecode = true)
public R<Void> add(@Validated @RequestBody SysDept dept) { public R<Void> add(@Validated @RequestBody SysDept dept) {
if (!deptService.checkDeptNameUnique(dept)) { if (!deptService.checkDeptNameUnique(dept)) {
return R.fail("新增部门'" + dept.getDeptName() + "'失败,部门名称已存在"); return R.fail("新增部门'" + dept.getDeptName() + "'失败,部门名称已存在");
@ -84,6 +89,7 @@ public class SysDeptController extends BaseController {
@SaCheckPermission("system:dept:edit") @SaCheckPermission("system:dept:edit")
@Log(title = "部门管理", businessType = BusinessType.UPDATE) @Log(title = "部门管理", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
@RsaSecurityParameter(inDecode = true)
public R<Void> edit(@Validated @RequestBody SysDept dept) { public R<Void> edit(@Validated @RequestBody SysDept dept) {
Long deptId = dept.getDeptId(); Long deptId = dept.getDeptId();
deptService.checkDeptDataScope(deptId); deptService.checkDeptDataScope(deptId);

View File

@ -10,6 +10,7 @@ import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
import com.ruoyi.system.service.ISysDictDataService; import com.ruoyi.system.service.ISysDictDataService;
import com.ruoyi.system.service.ISysDictTypeService; import com.ruoyi.system.service.ISysDictTypeService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@ -39,6 +40,7 @@ public class SysDictDataController extends BaseController {
*/ */
@SaCheckPermission("system:dict:list") @SaCheckPermission("system:dict:list")
@GetMapping("/list") @GetMapping("/list")
@RsaSecurityParameter
public TableDataInfo<SysDictData> list(SysDictData dictData, PageQuery pageQuery) { public TableDataInfo<SysDictData> list(SysDictData dictData, PageQuery pageQuery) {
return dictDataService.selectPageDictDataList(dictData, pageQuery); return dictDataService.selectPageDictDataList(dictData, pageQuery);
} }
@ -61,6 +63,7 @@ public class SysDictDataController extends BaseController {
*/ */
@SaCheckPermission("system:dict:query") @SaCheckPermission("system:dict:query")
@GetMapping(value = "/{dictCode}") @GetMapping(value = "/{dictCode}")
@RsaSecurityParameter
public R<SysDictData> getInfo(@PathVariable Long dictCode) { public R<SysDictData> getInfo(@PathVariable Long dictCode) {
return R.ok(dictDataService.selectDictDataById(dictCode)); return R.ok(dictDataService.selectDictDataById(dictCode));
} }
@ -71,6 +74,7 @@ public class SysDictDataController extends BaseController {
* @param dictType 字典类型 * @param dictType 字典类型
*/ */
@GetMapping(value = "/type/{dictType}") @GetMapping(value = "/type/{dictType}")
@RsaSecurityParameter
public R<List<SysDictData>> dictType(@PathVariable String dictType) { public R<List<SysDictData>> dictType(@PathVariable String dictType) {
List<SysDictData> data = dictTypeService.selectDictDataByType(dictType); List<SysDictData> data = dictTypeService.selectDictDataByType(dictType);
if (ObjectUtil.isNull(data)) { if (ObjectUtil.isNull(data)) {
@ -85,6 +89,7 @@ public class SysDictDataController extends BaseController {
@SaCheckPermission("system:dict:add") @SaCheckPermission("system:dict:add")
@Log(title = "字典数据", businessType = BusinessType.INSERT) @Log(title = "字典数据", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
@RsaSecurityParameter(inDecode = true)
public R<Void> add(@Validated @RequestBody SysDictData dict) { public R<Void> add(@Validated @RequestBody SysDictData dict) {
dictDataService.insertDictData(dict); dictDataService.insertDictData(dict);
return R.ok(); return R.ok();
@ -96,6 +101,7 @@ public class SysDictDataController extends BaseController {
@SaCheckPermission("system:dict:edit") @SaCheckPermission("system:dict:edit")
@Log(title = "字典数据", businessType = BusinessType.UPDATE) @Log(title = "字典数据", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
@RsaSecurityParameter(inDecode = true)
public R<Void> edit(@Validated @RequestBody SysDictData dict) { public R<Void> edit(@Validated @RequestBody SysDictData dict) {
dictDataService.updateDictData(dict); dictDataService.updateDictData(dict);
return R.ok(); return R.ok();
@ -109,6 +115,7 @@ public class SysDictDataController extends BaseController {
@SaCheckPermission("system:dict:remove") @SaCheckPermission("system:dict:remove")
@Log(title = "字典类型", businessType = BusinessType.DELETE) @Log(title = "字典类型", businessType = BusinessType.DELETE)
@DeleteMapping("/{dictCodes}") @DeleteMapping("/{dictCodes}")
@RsaSecurityParameter
public R<Void> remove(@PathVariable Long[] dictCodes) { public R<Void> remove(@PathVariable Long[] dictCodes) {
dictDataService.deleteDictDataByIds(dictCodes); dictDataService.deleteDictDataByIds(dictCodes);
return R.ok(); return R.ok();

View File

@ -2,7 +2,6 @@ package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R; 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.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
import com.ruoyi.system.service.ISysDictTypeService; import com.ruoyi.system.service.ISysDictTypeService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.List; import java.util.List;
@ -36,6 +35,7 @@ public class SysDictTypeController extends BaseController {
*/ */
@SaCheckPermission("system:dict:list") @SaCheckPermission("system:dict:list")
@GetMapping("/list") @GetMapping("/list")
@RsaSecurityParameter
public TableDataInfo<SysDictType> list(SysDictType dictType, PageQuery pageQuery) { public TableDataInfo<SysDictType> list(SysDictType dictType, PageQuery pageQuery) {
return dictTypeService.selectPageDictTypeList(dictType, pageQuery); return dictTypeService.selectPageDictTypeList(dictType, pageQuery);
} }
@ -46,6 +46,7 @@ public class SysDictTypeController extends BaseController {
@Log(title = "字典类型", businessType = BusinessType.EXPORT) @Log(title = "字典类型", businessType = BusinessType.EXPORT)
@SaCheckPermission("system:dict:export") @SaCheckPermission("system:dict:export")
@PostMapping("/export") @PostMapping("/export")
@RsaSecurityParameter(inDecode = true)
public void export(SysDictType dictType, HttpServletResponse response) { public void export(SysDictType dictType, HttpServletResponse response) {
List<SysDictType> list = dictTypeService.selectDictTypeList(dictType); List<SysDictType> list = dictTypeService.selectDictTypeList(dictType);
ExcelUtil.exportExcel(list, "字典类型", SysDictType.class, response); ExcelUtil.exportExcel(list, "字典类型", SysDictType.class, response);
@ -58,6 +59,7 @@ public class SysDictTypeController extends BaseController {
*/ */
@SaCheckPermission("system:dict:query") @SaCheckPermission("system:dict:query")
@GetMapping(value = "/{dictId}") @GetMapping(value = "/{dictId}")
@RsaSecurityParameter
public R<SysDictType> getInfo(@PathVariable Long dictId) { public R<SysDictType> getInfo(@PathVariable Long dictId) {
return R.ok(dictTypeService.selectDictTypeById(dictId)); return R.ok(dictTypeService.selectDictTypeById(dictId));
} }
@ -68,6 +70,7 @@ public class SysDictTypeController extends BaseController {
@SaCheckPermission("system:dict:add") @SaCheckPermission("system:dict:add")
@Log(title = "字典类型", businessType = BusinessType.INSERT) @Log(title = "字典类型", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
@RsaSecurityParameter(inDecode = true)
public R<Void> add(@Validated @RequestBody SysDictType dict) { public R<Void> add(@Validated @RequestBody SysDictType dict) {
if (!dictTypeService.checkDictTypeUnique(dict)) { if (!dictTypeService.checkDictTypeUnique(dict)) {
return R.fail("新增字典'" + dict.getDictName() + "'失败,字典类型已存在"); return R.fail("新增字典'" + dict.getDictName() + "'失败,字典类型已存在");
@ -82,6 +85,7 @@ public class SysDictTypeController extends BaseController {
@SaCheckPermission("system:dict:edit") @SaCheckPermission("system:dict:edit")
@Log(title = "字典类型", businessType = BusinessType.UPDATE) @Log(title = "字典类型", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
@RsaSecurityParameter(inDecode = true)
public R<Void> edit(@Validated @RequestBody SysDictType dict) { public R<Void> edit(@Validated @RequestBody SysDictType dict) {
if (!dictTypeService.checkDictTypeUnique(dict)) { if (!dictTypeService.checkDictTypeUnique(dict)) {
return R.fail("修改字典'" + dict.getDictName() + "'失败,字典类型已存在"); return R.fail("修改字典'" + dict.getDictName() + "'失败,字典类型已存在");
@ -98,6 +102,7 @@ public class SysDictTypeController extends BaseController {
@SaCheckPermission("system:dict:remove") @SaCheckPermission("system:dict:remove")
@Log(title = "字典类型", businessType = BusinessType.DELETE) @Log(title = "字典类型", businessType = BusinessType.DELETE)
@DeleteMapping("/{dictIds}") @DeleteMapping("/{dictIds}")
@RsaSecurityParameter
public R<Void> remove(@PathVariable Long[] dictIds) { public R<Void> remove(@PathVariable Long[] dictIds) {
dictTypeService.deleteDictTypeByIds(dictIds); dictTypeService.deleteDictTypeByIds(dictIds);
return R.ok(); return R.ok();
@ -109,6 +114,7 @@ public class SysDictTypeController extends BaseController {
@SaCheckPermission("system:dict:remove") @SaCheckPermission("system:dict:remove")
@Log(title = "字典类型", businessType = BusinessType.CLEAN) @Log(title = "字典类型", businessType = BusinessType.CLEAN)
@DeleteMapping("/refreshCache") @DeleteMapping("/refreshCache")
@RsaSecurityParameter
public R<Void> refreshCache() { public R<Void> refreshCache() {
dictTypeService.resetDictCache(); dictTypeService.resetDictCache();
return R.ok(); return R.ok();
@ -118,6 +124,7 @@ public class SysDictTypeController extends BaseController {
* 获取字典选择框列表 * 获取字典选择框列表
*/ */
@GetMapping("/optionselect") @GetMapping("/optionselect")
@RsaSecurityParameter
public R<List<SysDictType>> optionselect() { public R<List<SysDictType>> optionselect() {
List<SysDictType> dictTypes = dictTypeService.selectDictTypeAll(); List<SysDictType> dictTypes = dictTypeService.selectDictTypeAll();
return R.ok(dictTypes); return R.ok(dictTypes);

View File

@ -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.LoginBody;
import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.domain.model.SmsLoginBody; import com.ruoyi.common.core.domain.model.SmsLoginBody;
import com.ruoyi.common.enums.LimitType;
import com.ruoyi.common.helper.LoginHelper; import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.JsonUtils;
import com.ruoyi.common.utils.StrUtils; import com.ruoyi.common.utils.StrUtils;
import com.ruoyi.common.utils.redis.RedisUtils; import com.ruoyi.common.utils.redis.RedisUtils;
import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.common.utils.spring.SpringUtils;
@ -26,13 +24,11 @@ import com.ruoyi.system.service.SysLoginService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import java.time.Duration; import java.time.Duration;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.TimeUnit;
/** /**
* 登录验证 * 登录验证
@ -56,6 +52,7 @@ public class SysLoginController {
*/ */
@SaIgnore @SaIgnore
@PostMapping("/login") @PostMapping("/login")
@RsaSecurityParameter(inDecode = true)
public R<Map<String, Object>> login( public R<Map<String, Object>> login(
// @Validated({LoginBody.passwordLogin.class}) // @Validated({LoginBody.passwordLogin.class})
@RequestBody LoginBody loginBody) { @RequestBody LoginBody loginBody) {
@ -76,6 +73,7 @@ public class SysLoginController {
*/ */
@SaIgnore @SaIgnore
@PostMapping("/smsLogin") @PostMapping("/smsLogin")
@RsaSecurityParameter(inDecode = true)
public R<Map<String, Object>> smsLogin( public R<Map<String, Object>> smsLogin(
@Validated({LoginBody.smgLogin.class}) @Validated({LoginBody.smgLogin.class})
@RequestBody SmsLoginBody smsLoginBody) { @RequestBody SmsLoginBody smsLoginBody) {
@ -118,6 +116,7 @@ public class SysLoginController {
* @return 用户信息 * @return 用户信息
*/ */
@GetMapping("getInfo") @GetMapping("getInfo")
@RsaSecurityParameter
public R<Map<String, Object>> getInfo() { public R<Map<String, Object>> getInfo() {
LoginUser loginUser = LoginHelper.getLoginUser(); LoginUser loginUser = LoginHelper.getLoginUser();
SysUser user = userService.selectUserById(loginUser.getUserId()); SysUser user = userService.selectUserById(loginUser.getUserId());

View File

@ -9,11 +9,11 @@ import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysMenu; import com.ruoyi.common.core.domain.entity.SysMenu;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
import com.ruoyi.system.service.ISysMenuService; import com.ruoyi.system.service.ISysMenuService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -36,6 +36,7 @@ public class SysMenuController extends BaseController {
*/ */
@SaCheckPermission("system:menu:list") @SaCheckPermission("system:menu:list")
@GetMapping("/list") @GetMapping("/list")
@RsaSecurityParameter
public R<List<SysMenu>> list(SysMenu menu) { public R<List<SysMenu>> list(SysMenu menu) {
List<SysMenu> menus = menuService.selectMenuList(menu, getUserId()); List<SysMenu> menus = menuService.selectMenuList(menu, getUserId());
return R.ok(menus); return R.ok(menus);
@ -48,6 +49,7 @@ public class SysMenuController extends BaseController {
*/ */
@SaCheckPermission("system:menu:query") @SaCheckPermission("system:menu:query")
@GetMapping(value = "/{menuId}") @GetMapping(value = "/{menuId}")
@RsaSecurityParameter
public R<SysMenu> getInfo(@PathVariable Long menuId) { public R<SysMenu> getInfo(@PathVariable Long menuId) {
return R.ok(menuService.selectMenuById(menuId)); return R.ok(menuService.selectMenuById(menuId));
} }
@ -56,6 +58,7 @@ public class SysMenuController extends BaseController {
* 获取菜单下拉树列表 * 获取菜单下拉树列表
*/ */
@GetMapping("/treeselect") @GetMapping("/treeselect")
@RsaSecurityParameter
public R<List<Tree<Long>>> treeselect(SysMenu menu) { public R<List<Tree<Long>>> treeselect(SysMenu menu) {
List<SysMenu> menus = menuService.selectMenuList(menu, getUserId()); List<SysMenu> menus = menuService.selectMenuList(menu, getUserId());
return R.ok(menuService.buildMenuTreeSelect(menus)); return R.ok(menuService.buildMenuTreeSelect(menus));
@ -66,6 +69,7 @@ public class SysMenuController extends BaseController {
* *
* @param roleId 角色ID * @param roleId 角色ID
*/ */
@RsaSecurityParameter
@GetMapping(value = "/roleMenuTreeselect/{roleId}") @GetMapping(value = "/roleMenuTreeselect/{roleId}")
public R<Map<String, Object>> roleMenuTreeselect(@PathVariable("roleId") Long roleId) { public R<Map<String, Object>> roleMenuTreeselect(@PathVariable("roleId") Long roleId) {
List<SysMenu> menus = menuService.selectMenuList(getUserId()); List<SysMenu> menus = menuService.selectMenuList(getUserId());
@ -81,6 +85,7 @@ public class SysMenuController extends BaseController {
@SaCheckPermission("system:menu:add") @SaCheckPermission("system:menu:add")
@Log(title = "菜单管理", businessType = BusinessType.INSERT) @Log(title = "菜单管理", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
@RsaSecurityParameter(inDecode = true)
public R<Void> add(@Validated @RequestBody SysMenu menu) { public R<Void> add(@Validated @RequestBody SysMenu menu) {
if (!menuService.checkMenuNameUnique(menu)) { if (!menuService.checkMenuNameUnique(menu)) {
return R.fail("新增菜单'" + menu.getMenuName() + "'失败,菜单名称已存在"); return R.fail("新增菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
@ -96,6 +101,7 @@ public class SysMenuController extends BaseController {
@SaCheckPermission("system:menu:edit") @SaCheckPermission("system:menu:edit")
@Log(title = "菜单管理", businessType = BusinessType.UPDATE) @Log(title = "菜单管理", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
@RsaSecurityParameter(inDecode = true)
public R<Void> edit(@Validated @RequestBody SysMenu menu) { public R<Void> edit(@Validated @RequestBody SysMenu menu) {
if (!menuService.checkMenuNameUnique(menu)) { if (!menuService.checkMenuNameUnique(menu)) {
return R.fail("修改菜单'" + menu.getMenuName() + "'失败,菜单名称已存在"); return R.fail("修改菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
@ -115,6 +121,7 @@ public class SysMenuController extends BaseController {
@SaCheckPermission("system:menu:remove") @SaCheckPermission("system:menu:remove")
@Log(title = "菜单管理", businessType = BusinessType.DELETE) @Log(title = "菜单管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{menuId}") @DeleteMapping("/{menuId}")
@RsaSecurityParameter
public R<Void> remove(@PathVariable("menuId") Long menuId) { public R<Void> remove(@PathVariable("menuId") Long menuId) {
if (menuService.hasChildByMenuId(menuId)) { if (menuService.hasChildByMenuId(menuId)) {
return R.warn("存在子菜单,不允许删除"); return R.warn("存在子菜单,不允许删除");

View File

@ -7,6 +7,7 @@ import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
import com.ruoyi.system.domain.SysNotice; import com.ruoyi.system.domain.SysNotice;
import com.ruoyi.system.service.ISysNoticeService; import com.ruoyi.system.service.ISysNoticeService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@ -31,6 +32,7 @@ public class SysNoticeController extends BaseController {
*/ */
@SaCheckPermission("system:notice:list") @SaCheckPermission("system:notice:list")
@GetMapping("/list") @GetMapping("/list")
@RsaSecurityParameter
public TableDataInfo<SysNotice> list(SysNotice notice, PageQuery pageQuery) { public TableDataInfo<SysNotice> list(SysNotice notice, PageQuery pageQuery) {
return noticeService.selectPageNoticeList(notice, pageQuery); return noticeService.selectPageNoticeList(notice, pageQuery);
} }
@ -42,6 +44,7 @@ public class SysNoticeController extends BaseController {
*/ */
@SaCheckPermission("system:notice:query") @SaCheckPermission("system:notice:query")
@GetMapping(value = "/{noticeId}") @GetMapping(value = "/{noticeId}")
@RsaSecurityParameter
public R<SysNotice> getInfo(@PathVariable Long noticeId) { public R<SysNotice> getInfo(@PathVariable Long noticeId) {
return R.ok(noticeService.selectNoticeById(noticeId)); return R.ok(noticeService.selectNoticeById(noticeId));
} }
@ -52,6 +55,7 @@ public class SysNoticeController extends BaseController {
@SaCheckPermission("system:notice:add") @SaCheckPermission("system:notice:add")
@Log(title = "通知公告", businessType = BusinessType.INSERT) @Log(title = "通知公告", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
@RsaSecurityParameter(inDecode = true)
public R<Void> add(@Validated @RequestBody SysNotice notice) { public R<Void> add(@Validated @RequestBody SysNotice notice) {
return toAjax(noticeService.insertNotice(notice)); return toAjax(noticeService.insertNotice(notice));
} }
@ -62,6 +66,7 @@ public class SysNoticeController extends BaseController {
@SaCheckPermission("system:notice:edit") @SaCheckPermission("system:notice:edit")
@Log(title = "通知公告", businessType = BusinessType.UPDATE) @Log(title = "通知公告", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
@RsaSecurityParameter(inDecode = true)
public R<Void> edit(@Validated @RequestBody SysNotice notice) { public R<Void> edit(@Validated @RequestBody SysNotice notice) {
return toAjax(noticeService.updateNotice(notice)); return toAjax(noticeService.updateNotice(notice));
} }
@ -74,6 +79,7 @@ public class SysNoticeController extends BaseController {
@SaCheckPermission("system:notice:remove") @SaCheckPermission("system:notice:remove")
@Log(title = "通知公告", businessType = BusinessType.DELETE) @Log(title = "通知公告", businessType = BusinessType.DELETE)
@DeleteMapping("/{noticeIds}") @DeleteMapping("/{noticeIds}")
@RsaSecurityParameter
public R<Void> remove(@PathVariable Long[] noticeIds) { public R<Void> remove(@PathVariable Long[] noticeIds) {
return toAjax(noticeService.deleteNoticeByIds(noticeIds)); return toAjax(noticeService.deleteNoticeByIds(noticeIds));
} }

View File

@ -11,6 +11,7 @@ import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup; import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.core.validate.QueryGroup; import com.ruoyi.common.core.validate.QueryGroup;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
import com.ruoyi.system.domain.bo.SysOssConfigBo; import com.ruoyi.system.domain.bo.SysOssConfigBo;
import com.ruoyi.system.domain.vo.SysOssConfigVo; import com.ruoyi.system.domain.vo.SysOssConfigVo;
import com.ruoyi.system.service.ISysOssConfigService; import com.ruoyi.system.service.ISysOssConfigService;
@ -42,6 +43,7 @@ public class SysOssConfigController extends BaseController {
*/ */
@SaCheckPermission("system:oss:list") @SaCheckPermission("system:oss:list")
@GetMapping("/list") @GetMapping("/list")
@RsaSecurityParameter
public TableDataInfo<SysOssConfigVo> list(@Validated(QueryGroup.class) SysOssConfigBo bo, PageQuery pageQuery) { public TableDataInfo<SysOssConfigVo> list(@Validated(QueryGroup.class) SysOssConfigBo bo, PageQuery pageQuery) {
return iSysOssConfigService.queryPageList(bo, pageQuery); return iSysOssConfigService.queryPageList(bo, pageQuery);
} }
@ -53,6 +55,7 @@ public class SysOssConfigController extends BaseController {
*/ */
@SaCheckPermission("system:oss:query") @SaCheckPermission("system:oss:query")
@GetMapping("/{ossConfigId}") @GetMapping("/{ossConfigId}")
@RsaSecurityParameter
public R<SysOssConfigVo> getInfo(@NotNull(message = "主键不能为空") public R<SysOssConfigVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long ossConfigId) { @PathVariable Long ossConfigId) {
return R.ok(iSysOssConfigService.queryById(ossConfigId)); return R.ok(iSysOssConfigService.queryById(ossConfigId));
@ -65,6 +68,7 @@ public class SysOssConfigController extends BaseController {
@Log(title = "对象存储配置", businessType = BusinessType.INSERT) @Log(title = "对象存储配置", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()
@RsaSecurityParameter(inDecode = true)
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysOssConfigBo bo) { public R<Void> add(@Validated(AddGroup.class) @RequestBody SysOssConfigBo bo) {
return toAjax(iSysOssConfigService.insertByBo(bo)); return toAjax(iSysOssConfigService.insertByBo(bo));
} }
@ -76,6 +80,7 @@ public class SysOssConfigController extends BaseController {
@Log(title = "对象存储配置", businessType = BusinessType.UPDATE) @Log(title = "对象存储配置", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping()
@RsaSecurityParameter(inDecode = true)
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysOssConfigBo bo) { public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysOssConfigBo bo) {
return toAjax(iSysOssConfigService.updateByBo(bo)); return toAjax(iSysOssConfigService.updateByBo(bo));
} }
@ -88,6 +93,7 @@ public class SysOssConfigController extends BaseController {
@SaCheckPermission("system:oss:remove") @SaCheckPermission("system:oss:remove")
@Log(title = "对象存储配置", businessType = BusinessType.DELETE) @Log(title = "对象存储配置", businessType = BusinessType.DELETE)
@DeleteMapping("/{ossConfigIds}") @DeleteMapping("/{ossConfigIds}")
@RsaSecurityParameter
public R<Void> remove(@NotEmpty(message = "主键不能为空") public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ossConfigIds) { @PathVariable Long[] ossConfigIds) {
return toAjax(iSysOssConfigService.deleteWithValidByIds(Arrays.asList(ossConfigIds), true)); return toAjax(iSysOssConfigService.deleteWithValidByIds(Arrays.asList(ossConfigIds), true));
@ -99,6 +105,7 @@ public class SysOssConfigController extends BaseController {
@SaCheckPermission("system:oss:edit") @SaCheckPermission("system:oss:edit")
@Log(title = "对象存储状态修改", businessType = BusinessType.UPDATE) @Log(title = "对象存储状态修改", businessType = BusinessType.UPDATE)
@PutMapping("/changeStatus") @PutMapping("/changeStatus")
@RsaSecurityParameter(inDecode = true)
public R<Void> changeStatus(@RequestBody SysOssConfigBo bo) { public R<Void> changeStatus(@RequestBody SysOssConfigBo bo) {
return toAjax(iSysOssConfigService.updateOssConfigStatus(bo)); return toAjax(iSysOssConfigService.updateOssConfigStatus(bo));
} }

View File

@ -2,10 +2,7 @@ package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil; 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.annotation.Log;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery; 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.core.validate.QueryGroup;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.file.FileUtils; import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
import com.ruoyi.oss.core.OssClient;
import com.ruoyi.oss.factory.OssFactory;
import com.ruoyi.system.domain.SysOss;
import com.ruoyi.system.domain.bo.SysOssBo; import com.ruoyi.system.domain.bo.SysOssBo;
import com.ruoyi.system.domain.vo.SysOssVo; import com.ruoyi.system.domain.vo.SysOssVo;
import com.ruoyi.system.service.ISysOssService; import com.ruoyi.system.service.ISysOssService;
@ -26,7 +20,6 @@ import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
import java.io.IOException; import java.io.IOException;
@ -53,6 +46,7 @@ public class SysOssController extends BaseController {
*/ */
@SaCheckPermission("system:oss:list") @SaCheckPermission("system:oss:list")
@GetMapping("/list") @GetMapping("/list")
@RsaSecurityParameter
public TableDataInfo<SysOssVo> list(@Validated(QueryGroup.class) SysOssBo bo, PageQuery pageQuery) { public TableDataInfo<SysOssVo> list(@Validated(QueryGroup.class) SysOssBo bo, PageQuery pageQuery) {
return iSysOssService.queryPageList(bo, pageQuery); return iSysOssService.queryPageList(bo, pageQuery);
} }
@ -64,6 +58,7 @@ public class SysOssController extends BaseController {
*/ */
// @SaCheckPermission("system:oss:list") // @SaCheckPermission("system:oss:list")
@GetMapping("/listByIds/{ossIds}") @GetMapping("/listByIds/{ossIds}")
@RsaSecurityParameter
public R<List<SysOssVo>> listByIds(@NotEmpty(message = "主键不能为空") public R<List<SysOssVo>> listByIds(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ossIds) { @PathVariable Long[] ossIds) {
List<SysOssVo> list = iSysOssService.listByIds(Arrays.asList(ossIds)); List<SysOssVo> list = iSysOssService.listByIds(Arrays.asList(ossIds));
@ -78,6 +73,7 @@ public class SysOssController extends BaseController {
@SaCheckPermission("system:oss:upload") @SaCheckPermission("system:oss:upload")
@Log(title = "OSS对象存储", businessType = BusinessType.INSERT) @Log(title = "OSS对象存储", businessType = BusinessType.INSERT)
@PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) @PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
@RsaSecurityParameter
public R<Map<String, String>> upload(@RequestPart("file") MultipartFile file) { public R<Map<String, String>> upload(@RequestPart("file") MultipartFile file) {
if (ObjectUtil.isNull(file)) { if (ObjectUtil.isNull(file)) {
throw new ServiceException("上传文件不能为空"); throw new ServiceException("上传文件不能为空");
@ -97,6 +93,7 @@ public class SysOssController extends BaseController {
*/ */
@SaCheckPermission("system:oss:download") @SaCheckPermission("system:oss:download")
@GetMapping("/download/{ossId}") @GetMapping("/download/{ossId}")
@RsaSecurityParameter
public void download(@PathVariable Long ossId, HttpServletResponse response) throws IOException { public void download(@PathVariable Long ossId, HttpServletResponse response) throws IOException {
iSysOssService.download(ossId,response); iSysOssService.download(ossId,response);
} }
@ -109,6 +106,7 @@ public class SysOssController extends BaseController {
@SaCheckPermission("system:oss:remove") @SaCheckPermission("system:oss:remove")
@Log(title = "OSS对象存储", businessType = BusinessType.DELETE) @Log(title = "OSS对象存储", businessType = BusinessType.DELETE)
@DeleteMapping("/{ossIds}") @DeleteMapping("/{ossIds}")
@RsaSecurityParameter
public R<Void> remove(@NotEmpty(message = "主键不能为空") public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ossIds) { @PathVariable Long[] ossIds) {
return toAjax(iSysOssService.deleteWithValidByIds(Arrays.asList(ossIds), true)); return toAjax(iSysOssService.deleteWithValidByIds(Arrays.asList(ossIds), true));

View File

@ -2,19 +2,18 @@ package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
import com.ruoyi.system.domain.SysPost; import com.ruoyi.system.domain.SysPost;
import com.ruoyi.system.service.ISysPostService; import com.ruoyi.system.service.ISysPostService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.List; import java.util.List;
@ -36,6 +35,7 @@ public class SysPostController extends BaseController {
*/ */
@SaCheckPermission("system:post:list") @SaCheckPermission("system:post:list")
@GetMapping("/list") @GetMapping("/list")
@RsaSecurityParameter
public TableDataInfo<SysPost> list(SysPost post, PageQuery pageQuery) { public TableDataInfo<SysPost> list(SysPost post, PageQuery pageQuery) {
return postService.selectPagePostList(post, pageQuery); return postService.selectPagePostList(post, pageQuery);
} }
@ -58,6 +58,7 @@ public class SysPostController extends BaseController {
*/ */
@SaCheckPermission("system:post:query") @SaCheckPermission("system:post:query")
@GetMapping(value = "/{postId}") @GetMapping(value = "/{postId}")
@RsaSecurityParameter
public R<SysPost> getInfo(@PathVariable Long postId) { public R<SysPost> getInfo(@PathVariable Long postId) {
return R.ok(postService.selectPostById(postId)); return R.ok(postService.selectPostById(postId));
} }
@ -68,6 +69,7 @@ public class SysPostController extends BaseController {
@SaCheckPermission("system:post:add") @SaCheckPermission("system:post:add")
@Log(title = "岗位管理", businessType = BusinessType.INSERT) @Log(title = "岗位管理", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
@RsaSecurityParameter(inDecode = true)
public R<Void> add(@Validated @RequestBody SysPost post) { public R<Void> add(@Validated @RequestBody SysPost post) {
if (!postService.checkPostNameUnique(post)) { if (!postService.checkPostNameUnique(post)) {
return R.fail("新增岗位'" + post.getPostName() + "'失败,岗位名称已存在"); return R.fail("新增岗位'" + post.getPostName() + "'失败,岗位名称已存在");
@ -83,6 +85,7 @@ public class SysPostController extends BaseController {
@SaCheckPermission("system:post:edit") @SaCheckPermission("system:post:edit")
@Log(title = "岗位管理", businessType = BusinessType.UPDATE) @Log(title = "岗位管理", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
@RsaSecurityParameter(inDecode = true)
public R<Void> edit(@Validated @RequestBody SysPost post) { public R<Void> edit(@Validated @RequestBody SysPost post) {
if (!postService.checkPostNameUnique(post)) { if (!postService.checkPostNameUnique(post)) {
return R.fail("修改岗位'" + post.getPostName() + "'失败,岗位名称已存在"); return R.fail("修改岗位'" + post.getPostName() + "'失败,岗位名称已存在");
@ -100,6 +103,7 @@ public class SysPostController extends BaseController {
@SaCheckPermission("system:post:remove") @SaCheckPermission("system:post:remove")
@Log(title = "岗位管理", businessType = BusinessType.DELETE) @Log(title = "岗位管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{postIds}") @DeleteMapping("/{postIds}")
@RsaSecurityParameter
public R<Void> remove(@PathVariable Long[] postIds) { public R<Void> remove(@PathVariable Long[] postIds) {
return toAjax(postService.deletePostByIds(postIds)); return toAjax(postService.deletePostByIds(postIds));
} }
@ -108,6 +112,7 @@ public class SysPostController extends BaseController {
* 获取岗位选择框列表 * 获取岗位选择框列表
*/ */
@GetMapping("/optionselect") @GetMapping("/optionselect")
@RsaSecurityParameter
public R<List<SysPost>> optionselect() { public R<List<SysPost>> optionselect() {
List<SysPost> posts = postService.selectPostAll(); List<SysPost> posts = postService.selectPostAll();
return R.ok(posts); return R.ok(posts);

View File

@ -3,7 +3,6 @@ package com.ruoyi.web.controller.system;
import cn.dev33.satoken.secure.BCrypt; import cn.dev33.satoken.secure.BCrypt;
import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.FileUtil;
import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysUser; 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.helper.LoginHelper;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.file.MimeTypeUtils; 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.domain.vo.SysOssVo;
import com.ruoyi.system.service.ISysOssService; import com.ruoyi.system.service.ISysOssService;
import com.ruoyi.system.service.ISysUserService; import com.ruoyi.system.service.ISysUserService;
@ -20,7 +19,6 @@ import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -43,6 +41,7 @@ public class SysProfileController extends BaseController {
* 个人信息 * 个人信息
*/ */
@GetMapping @GetMapping
@RsaSecurityParameter
public R<Map<String, Object>> profile() { public R<Map<String, Object>> profile() {
SysUser user = userService.selectUserById(getUserId()); SysUser user = userService.selectUserById(getUserId());
Map<String, Object> ajax = new HashMap<>(); Map<String, Object> ajax = new HashMap<>();
@ -57,6 +56,7 @@ public class SysProfileController extends BaseController {
*/ */
@Log(title = "个人信息", businessType = BusinessType.UPDATE) @Log(title = "个人信息", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
@RsaSecurityParameter(inDecode = true)
public R<Void> updateProfile(@RequestBody SysUser user) { public R<Void> updateProfile(@RequestBody SysUser user) {
if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) { if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
return R.fail("修改用户'" + user.getUserName() + "'失败,手机号码已存在"); return R.fail("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
@ -83,6 +83,7 @@ public class SysProfileController extends BaseController {
*/ */
@Log(title = "个人信息", businessType = BusinessType.UPDATE) @Log(title = "个人信息", businessType = BusinessType.UPDATE)
@PutMapping("/updatePwd") @PutMapping("/updatePwd")
@RsaSecurityParameter(inDecode = true)
public R<Void> updatePwd(String oldPassword, String newPassword) { public R<Void> updatePwd(String oldPassword, String newPassword) {
SysUser user = userService.selectUserById(LoginHelper.getUserId()); SysUser user = userService.selectUserById(LoginHelper.getUserId());
String userName = user.getUserName(); String userName = user.getUserName();
@ -106,6 +107,7 @@ public class SysProfileController extends BaseController {
* @param avatarfile 用户头像 * @param avatarfile 用户头像
*/ */
@Log(title = "用户头像", businessType = BusinessType.UPDATE) @Log(title = "用户头像", businessType = BusinessType.UPDATE)
@RsaSecurityParameter
@PostMapping(value = "/avatar", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) @PostMapping(value = "/avatar", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public R<Map<String, Object>> avatar(@RequestPart("avatarfile") MultipartFile avatarfile) { public R<Map<String, Object>> avatar(@RequestPart("avatarfile") MultipartFile avatarfile) {
Map<String, Object> ajax = new HashMap<>(); Map<String, Object> ajax = new HashMap<>();

View File

@ -4,6 +4,7 @@ import cn.dev33.satoken.annotation.SaIgnore;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.model.RegisterBody; 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.ISysConfigService;
import com.ruoyi.system.service.SysRegisterService; import com.ruoyi.system.service.SysRegisterService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@ -30,6 +31,7 @@ public class SysRegisterController extends BaseController {
*/ */
@SaIgnore @SaIgnore
@PostMapping("/register") @PostMapping("/register")
@RsaSecurityParameter(inDecode = true)
public R<Void> register(@Validated @RequestBody RegisterBody user) { public R<Void> register(@Validated @RequestBody RegisterBody user) {
if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser")))) { if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser")))) {
return R.fail("当前系统没有开启注册功能!"); return R.fail("当前系统没有开启注册功能!");

View File

@ -6,7 +6,6 @@ import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.CacheConstants; import com.ruoyi.common.constant.CacheConstants;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R; 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.enums.BusinessType;
import com.ruoyi.common.helper.LoginHelper; import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
import com.ruoyi.system.domain.SysUserRole; import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.service.ISysDeptService; import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.service.ISysRoleService; import com.ruoyi.system.service.ISysRoleService;
import com.ruoyi.system.service.ISysUserService; import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.system.service.SysPermissionService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@ -46,13 +44,13 @@ public class SysRoleController extends BaseController {
private final ISysRoleService roleService; private final ISysRoleService roleService;
private final ISysUserService userService; private final ISysUserService userService;
private final ISysDeptService deptService; private final ISysDeptService deptService;
private final SysPermissionService permissionService;
/** /**
* 获取角色信息列表 * 获取角色信息列表
*/ */
@SaCheckPermission("system:role:list") @SaCheckPermission("system:role:list")
@GetMapping("/list") @GetMapping("/list")
@RsaSecurityParameter
public TableDataInfo<SysRole> list(SysRole role, PageQuery pageQuery) { public TableDataInfo<SysRole> list(SysRole role, PageQuery pageQuery) {
return roleService.selectPageRoleList(role, pageQuery); return roleService.selectPageRoleList(role, pageQuery);
} }
@ -75,6 +73,7 @@ public class SysRoleController extends BaseController {
*/ */
@SaCheckPermission("system:role:query") @SaCheckPermission("system:role:query")
@GetMapping(value = "/{roleId}") @GetMapping(value = "/{roleId}")
@RsaSecurityParameter
public R<SysRole> getInfo(@PathVariable Long roleId) { public R<SysRole> getInfo(@PathVariable Long roleId) {
roleService.checkRoleDataScope(roleId); roleService.checkRoleDataScope(roleId);
return R.ok(roleService.selectRoleById(roleId)); return R.ok(roleService.selectRoleById(roleId));
@ -86,6 +85,7 @@ public class SysRoleController extends BaseController {
@SaCheckPermission("system:role:add") @SaCheckPermission("system:role:add")
@Log(title = "角色管理", businessType = BusinessType.INSERT) @Log(title = "角色管理", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
@RsaSecurityParameter(inDecode = true)
public R<Void> add(@Validated @RequestBody SysRole role) { public R<Void> add(@Validated @RequestBody SysRole role) {
if (!roleService.checkRoleNameUnique(role)) { if (!roleService.checkRoleNameUnique(role)) {
return R.fail("新增角色'" + role.getRoleName() + "'失败,角色名称已存在"); return R.fail("新增角色'" + role.getRoleName() + "'失败,角色名称已存在");
@ -102,6 +102,7 @@ public class SysRoleController extends BaseController {
@SaCheckPermission("system:role:edit") @SaCheckPermission("system:role:edit")
@Log(title = "角色管理", businessType = BusinessType.UPDATE) @Log(title = "角色管理", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
@RsaSecurityParameter(inDecode = true)
public R<Void> edit(@Validated @RequestBody SysRole role) { public R<Void> edit(@Validated @RequestBody SysRole role) {
roleService.checkRoleAllowed(role); roleService.checkRoleAllowed(role);
roleService.checkRoleDataScope(role.getRoleId()); roleService.checkRoleDataScope(role.getRoleId());
@ -142,6 +143,7 @@ public class SysRoleController extends BaseController {
@SaCheckPermission("system:role:edit") @SaCheckPermission("system:role:edit")
@Log(title = "角色管理", businessType = BusinessType.UPDATE) @Log(title = "角色管理", businessType = BusinessType.UPDATE)
@PutMapping("/dataScope") @PutMapping("/dataScope")
@RsaSecurityParameter(inDecode = true)
public R<Void> dataScope(@RequestBody SysRole role) { public R<Void> dataScope(@RequestBody SysRole role) {
roleService.checkRoleAllowed(role); roleService.checkRoleAllowed(role);
roleService.checkRoleDataScope(role.getRoleId()); roleService.checkRoleDataScope(role.getRoleId());
@ -154,6 +156,7 @@ public class SysRoleController extends BaseController {
@SaCheckPermission("system:role:edit") @SaCheckPermission("system:role:edit")
@Log(title = "角色管理", businessType = BusinessType.UPDATE) @Log(title = "角色管理", businessType = BusinessType.UPDATE)
@PutMapping("/changeStatus") @PutMapping("/changeStatus")
@RsaSecurityParameter(inDecode = true)
public R<Void> changeStatus(@RequestBody SysRole role) { public R<Void> changeStatus(@RequestBody SysRole role) {
roleService.checkRoleAllowed(role); roleService.checkRoleAllowed(role);
roleService.checkRoleDataScope(role.getRoleId()); roleService.checkRoleDataScope(role.getRoleId());
@ -168,6 +171,7 @@ public class SysRoleController extends BaseController {
@SaCheckPermission("system:role:remove") @SaCheckPermission("system:role:remove")
@Log(title = "角色管理", businessType = BusinessType.DELETE) @Log(title = "角色管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{roleIds}") @DeleteMapping("/{roleIds}")
@RsaSecurityParameter
public R<Void> remove(@PathVariable Long[] roleIds) { public R<Void> remove(@PathVariable Long[] roleIds) {
return toAjax(roleService.deleteRoleByIds(roleIds)); return toAjax(roleService.deleteRoleByIds(roleIds));
} }
@ -177,6 +181,7 @@ public class SysRoleController extends BaseController {
*/ */
@SaCheckPermission("system:role:query") @SaCheckPermission("system:role:query")
@GetMapping("/optionselect") @GetMapping("/optionselect")
@RsaSecurityParameter
public R<List<SysRole>> optionselect() { public R<List<SysRole>> optionselect() {
return R.ok(roleService.selectRoleAll()); return R.ok(roleService.selectRoleAll());
} }
@ -186,6 +191,7 @@ public class SysRoleController extends BaseController {
*/ */
@SaCheckPermission("system:role:list") @SaCheckPermission("system:role:list")
@GetMapping("/authUser/allocatedList") @GetMapping("/authUser/allocatedList")
@RsaSecurityParameter
public TableDataInfo<SysUser> allocatedList(SysUser user, PageQuery pageQuery) { public TableDataInfo<SysUser> allocatedList(SysUser user, PageQuery pageQuery) {
return userService.selectAllocatedList(user, pageQuery); return userService.selectAllocatedList(user, pageQuery);
} }
@ -195,6 +201,7 @@ public class SysRoleController extends BaseController {
*/ */
@SaCheckPermission("system:role:list") @SaCheckPermission("system:role:list")
@GetMapping("/authUser/unallocatedList") @GetMapping("/authUser/unallocatedList")
@RsaSecurityParameter
public TableDataInfo<SysUser> unallocatedList(SysUser user, PageQuery pageQuery) { public TableDataInfo<SysUser> unallocatedList(SysUser user, PageQuery pageQuery) {
return userService.selectUnallocatedList(user, pageQuery); return userService.selectUnallocatedList(user, pageQuery);
} }
@ -205,6 +212,7 @@ public class SysRoleController extends BaseController {
@SaCheckPermission("system:role:edit") @SaCheckPermission("system:role:edit")
@Log(title = "角色管理", businessType = BusinessType.GRANT) @Log(title = "角色管理", businessType = BusinessType.GRANT)
@PutMapping("/authUser/cancel") @PutMapping("/authUser/cancel")
@RsaSecurityParameter(inDecode = true)
public R<Void> cancelAuthUser(@RequestBody SysUserRole userRole) { public R<Void> cancelAuthUser(@RequestBody SysUserRole userRole) {
return toAjax(roleService.deleteAuthUser(userRole)); return toAjax(roleService.deleteAuthUser(userRole));
} }
@ -218,6 +226,7 @@ public class SysRoleController extends BaseController {
@SaCheckPermission("system:role:edit") @SaCheckPermission("system:role:edit")
@Log(title = "角色管理", businessType = BusinessType.GRANT) @Log(title = "角色管理", businessType = BusinessType.GRANT)
@PutMapping("/authUser/cancelAll") @PutMapping("/authUser/cancelAll")
@RsaSecurityParameter(inDecode = true)
public R<Void> cancelAuthUserAll(Long roleId, Long[] userIds) { public R<Void> cancelAuthUserAll(Long roleId, Long[] userIds) {
return toAjax(roleService.deleteAuthUsers(roleId, userIds)); return toAjax(roleService.deleteAuthUsers(roleId, userIds));
} }
@ -231,6 +240,7 @@ public class SysRoleController extends BaseController {
@SaCheckPermission("system:role:edit") @SaCheckPermission("system:role:edit")
@Log(title = "角色管理", businessType = BusinessType.GRANT) @Log(title = "角色管理", businessType = BusinessType.GRANT)
@PutMapping("/authUser/selectAll") @PutMapping("/authUser/selectAll")
@RsaSecurityParameter(inDecode = true)
public R<Void> selectAuthUserAll(Long roleId, Long[] userIds) { public R<Void> selectAuthUserAll(Long roleId, Long[] userIds) {
roleService.checkRoleDataScope(roleId); roleService.checkRoleDataScope(roleId);
return toAjax(roleService.insertAuthUsers(roleId, userIds)); return toAjax(roleService.insertAuthUsers(roleId, userIds));
@ -243,6 +253,7 @@ public class SysRoleController extends BaseController {
*/ */
@SaCheckPermission("system:role:list") @SaCheckPermission("system:role:list")
@GetMapping(value = "/deptTree/{roleId}") @GetMapping(value = "/deptTree/{roleId}")
@RsaSecurityParameter
public R<Map<String, Object>> roleDeptTreeselect(@PathVariable("roleId") Long roleId) { public R<Map<String, Object>> roleDeptTreeselect(@PathVariable("roleId") Long roleId) {
Map<String, Object> ajax = new HashMap<>(); Map<String, Object> ajax = new HashMap<>();
ajax.put("checkedKeys", deptService.selectDeptListByRoleId(roleId)); ajax.put("checkedKeys", deptService.selectDeptListByRoleId(roleId));

View File

@ -7,7 +7,6 @@ import cn.hutool.core.lang.tree.Tree;
import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R; 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.StreamUtils;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil; 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.SysUserExportVo;
import com.ruoyi.system.domain.vo.SysUserImportVo; import com.ruoyi.system.domain.vo.SysUserImportVo;
import com.ruoyi.system.listener.SysUserImportListener; import com.ruoyi.system.listener.SysUserImportListener;
@ -33,7 +33,6 @@ import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
@ -61,6 +60,7 @@ public class SysUserController extends BaseController {
*/ */
@SaCheckPermission("system:user:list") @SaCheckPermission("system:user:list")
@GetMapping("/list") @GetMapping("/list")
@RsaSecurityParameter
public TableDataInfo<SysUser> list(SysUser user, PageQuery pageQuery) { public TableDataInfo<SysUser> list(SysUser user, PageQuery pageQuery) {
return userService.selectPageUserList(user, pageQuery); return userService.selectPageUserList(user, pageQuery);
} }
@ -70,6 +70,7 @@ public class SysUserController extends BaseController {
*/ */
@Log(title = "用户管理", businessType = BusinessType.EXPORT) @Log(title = "用户管理", businessType = BusinessType.EXPORT)
@SaCheckPermission("system:user:export") @SaCheckPermission("system:user:export")
@RsaSecurityParameter(inDecode = true)
@PostMapping("/export") @PostMapping("/export")
public void export(SysUser user, HttpServletResponse response) { public void export(SysUser user, HttpServletResponse response) {
List<SysUser> list = userService.selectUserList(user); List<SysUser> list = userService.selectUserList(user);
@ -93,6 +94,7 @@ public class SysUserController extends BaseController {
*/ */
@Log(title = "用户管理", businessType = BusinessType.IMPORT) @Log(title = "用户管理", businessType = BusinessType.IMPORT)
@SaCheckPermission("system:user:import") @SaCheckPermission("system:user:import")
@RsaSecurityParameter
@PostMapping(value = "/importData", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) @PostMapping(value = "/importData", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public R<Void> importData(@RequestPart("file") MultipartFile file, boolean updateSupport) throws Exception { public R<Void> importData(@RequestPart("file") MultipartFile file, boolean updateSupport) throws Exception {
ExcelResult<SysUserImportVo> result = ExcelUtil.importExcel(file.getInputStream(), SysUserImportVo.class, new SysUserImportListener(updateSupport)); ExcelResult<SysUserImportVo> result = ExcelUtil.importExcel(file.getInputStream(), SysUserImportVo.class, new SysUserImportListener(updateSupport));
@ -114,6 +116,7 @@ public class SysUserController extends BaseController {
*/ */
@SaCheckPermission("system:user:query") @SaCheckPermission("system:user:query")
@GetMapping(value = {"/", "/{userId}"}) @GetMapping(value = {"/", "/{userId}"})
@RsaSecurityParameter
public R<Map<String, Object>> getInfo(@PathVariable(value = "userId", required = false) Long userId) { public R<Map<String, Object>> getInfo(@PathVariable(value = "userId", required = false) Long userId) {
userService.checkUserDataScope(userId); userService.checkUserDataScope(userId);
Map<String, Object> ajax = new HashMap<>(); Map<String, Object> ajax = new HashMap<>();
@ -135,6 +138,7 @@ public class SysUserController extends BaseController {
@SaCheckPermission("system:user:add") @SaCheckPermission("system:user:add")
@Log(title = "用户管理", businessType = BusinessType.INSERT) @Log(title = "用户管理", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
@RsaSecurityParameter(inDecode = true)
public R<Void> add(@Validated @RequestBody SysUser user) { public R<Void> add(@Validated @RequestBody SysUser user) {
if (!userService.checkUserNameUnique(user)) { if (!userService.checkUserNameUnique(user)) {
return R.fail("新增用户'" + user.getUserName() + "'失败,登录账号已存在"); return R.fail("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
@ -153,6 +157,7 @@ public class SysUserController extends BaseController {
@SaCheckPermission("system:user:edit") @SaCheckPermission("system:user:edit")
@Log(title = "用户管理", businessType = BusinessType.UPDATE) @Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
@RsaSecurityParameter(inDecode = true)
public R<Void> edit(@Validated @RequestBody SysUser user) { public R<Void> edit(@Validated @RequestBody SysUser user) {
userService.checkUserAllowed(user); userService.checkUserAllowed(user);
userService.checkUserDataScope(user.getUserId()); userService.checkUserDataScope(user.getUserId());
@ -174,6 +179,7 @@ public class SysUserController extends BaseController {
@SaCheckPermission("system:user:remove") @SaCheckPermission("system:user:remove")
@Log(title = "用户管理", businessType = BusinessType.DELETE) @Log(title = "用户管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{userIds}") @DeleteMapping("/{userIds}")
@RsaSecurityParameter
public R<Void> remove(@PathVariable Long[] userIds) { public R<Void> remove(@PathVariable Long[] userIds) {
if (ArrayUtil.contains(userIds, getUserId())) { if (ArrayUtil.contains(userIds, getUserId())) {
return R.fail("当前用户不能删除"); return R.fail("当前用户不能删除");
@ -187,6 +193,7 @@ public class SysUserController extends BaseController {
@SaCheckPermission("system:user:resetPwd") @SaCheckPermission("system:user:resetPwd")
@Log(title = "用户管理", businessType = BusinessType.UPDATE) @Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping("/resetPwd") @PutMapping("/resetPwd")
@RsaSecurityParameter(inDecode = true)
public R<Void> resetPwd(@RequestBody SysUser user) { public R<Void> resetPwd(@RequestBody SysUser user) {
userService.checkUserAllowed(user); userService.checkUserAllowed(user);
userService.checkUserDataScope(user.getUserId()); userService.checkUserDataScope(user.getUserId());
@ -200,6 +207,7 @@ public class SysUserController extends BaseController {
@SaCheckPermission("system:user:edit") @SaCheckPermission("system:user:edit")
@Log(title = "用户管理", businessType = BusinessType.UPDATE) @Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping("/changeStatus") @PutMapping("/changeStatus")
@RsaSecurityParameter(inDecode = true)
public R<Void> changeStatus(@RequestBody SysUser user) { public R<Void> changeStatus(@RequestBody SysUser user) {
userService.checkUserAllowed(user); userService.checkUserAllowed(user);
userService.checkUserDataScope(user.getUserId()); userService.checkUserDataScope(user.getUserId());
@ -213,6 +221,7 @@ public class SysUserController extends BaseController {
*/ */
@SaCheckPermission("system:user:query") @SaCheckPermission("system:user:query")
@GetMapping("/authRole/{userId}") @GetMapping("/authRole/{userId}")
@RsaSecurityParameter
public R<Map<String, Object>> authRole(@PathVariable Long userId) { public R<Map<String, Object>> authRole(@PathVariable Long userId) {
SysUser user = userService.selectUserById(userId); SysUser user = userService.selectUserById(userId);
List<SysRole> roles = roleService.selectRolesByUserId(userId); List<SysRole> roles = roleService.selectRolesByUserId(userId);
@ -231,6 +240,7 @@ public class SysUserController extends BaseController {
@SaCheckPermission("system:user:edit") @SaCheckPermission("system:user:edit")
@Log(title = "用户管理", businessType = BusinessType.GRANT) @Log(title = "用户管理", businessType = BusinessType.GRANT)
@PutMapping("/authRole") @PutMapping("/authRole")
@RsaSecurityParameter(inDecode = true)
public R<Void> insertAuthRole(Long userId, Long[] roleIds) { public R<Void> insertAuthRole(Long userId, Long[] roleIds) {
userService.checkUserDataScope(userId); userService.checkUserDataScope(userId);
userService.insertUserAuth(userId, roleIds); userService.insertUserAuth(userId, roleIds);
@ -242,6 +252,7 @@ public class SysUserController extends BaseController {
*/ */
@SaCheckPermission("system:user:list") @SaCheckPermission("system:user:list")
@GetMapping("/deptTree") @GetMapping("/deptTree")
@RsaSecurityParameter
public R<List<Tree<Long>>> deptTree(SysDept dept) { public R<List<Tree<Long>>> deptTree(SysDept dept) {
return R.ok(deptService.selectDeptTreeList(dept)); return R.ok(deptService.selectDeptTreeList(dept));
} }

View File

@ -102,12 +102,12 @@ spring:
spring: spring:
redis: redis:
# 地址 # 地址
# host: 119.96.86.131 host: 119.96.86.131
host: 127.0.0.1 # host: 127.0.0.1
# 端口默认为6379 # 端口默认为6379
port: 6379 port: 6379
# 数据库索引 # 数据库索引
database: 0 database: 1
# 密码(如没有密码请注释掉) # 密码(如没有密码请注释掉)
password: 123456 password: 123456
# 连接超时时间 # 连接超时时间

View File

@ -4,7 +4,7 @@ spring.servlet.multipart.location: /ruoyi/server/temp
--- # 监控中心配置 --- # 监控中心配置
spring.boot.admin.client: spring.boot.admin.client:
# 增加客户端开关 # 增加客户端开关
enabled: true enabled: false
url: http://localhost:9090/admin url: http://localhost:9090/admin
instance: instance:
service-host-type: IP service-host-type: IP
@ -14,7 +14,7 @@ spring.boot.admin.client:
--- # xxl-job 配置 --- # xxl-job 配置
xxl.job: xxl.job:
# 执行器开关 # 执行器开关
enabled: true enabled: false
# 调度中心地址:如调度中心集群部署存在多个地址则用逗号分隔。 # 调度中心地址:如调度中心集群部署存在多个地址则用逗号分隔。
admin-addresses: http://localhost:9100/xxl-job-admin admin-addresses: http://localhost:9100/xxl-job-admin
# 执行器通讯TOKEN非空时启用 # 执行器通讯TOKEN非空时启用
@ -40,7 +40,7 @@ spring:
# 动态数据源文档 https://www.kancloud.cn/tracy5546/dynamic-datasource/content # 动态数据源文档 https://www.kancloud.cn/tracy5546/dynamic-datasource/content
dynamic: dynamic:
# 性能分析插件(有性能损耗 不建议生产环境使用) # 性能分析插件(有性能损耗 不建议生产环境使用)
p6spy: false p6spy: true
# 设置默认的数据源或者数据源组,默认值即为 master # 设置默认的数据源或者数据源组,默认值即为 master
primary: master primary: master
# 严格模式 匹配不到数据源则报错 # 严格模式 匹配不到数据源则报错
@ -52,9 +52,10 @@ spring:
driverClassName: com.mysql.cj.jdbc.Driver driverClassName: com.mysql.cj.jdbc.Driver
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562 # jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题) # 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 username: root
password: root password: 1234Qwer@
# 从库数据源 # 从库数据源
slave: slave:
lazy: true 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 url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
username: username:
password: password:
# oracle: # oracle:
# type: ${spring.datasource.type} # type: ${spring.datasource.type}
# driverClassName: oracle.jdbc.OracleDriver # driverClassName: oracle.jdbc.OracleDriver
# url: jdbc:oracle:thin:@//localhost:1521/XE # url: jdbc:oracle:thin:@//localhost:1521/XE
# username: ROOT # username: ROOT
# password: root # password: root
# hikari: # hikari:
# connectionTestQuery: SELECT 1 FROM DUAL # connectionTestQuery: SELECT 1 FROM DUAL
# postgres: # postgres:
# type: ${spring.datasource.type} # type: ${spring.datasource.type}
# driverClassName: org.postgresql.Driver # driverClassName: org.postgresql.Driver
# url: jdbc:postgresql://localhost:5432/postgres?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true # url: jdbc:postgresql://localhost:5432/postgres?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true
# username: root # username: root
# password: root # password: root
# sqlserver: # sqlserver:
# type: ${spring.datasource.type} # type: ${spring.datasource.type}
# driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver # driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
# url: jdbc:sqlserver://localhost:1433;DatabaseName=tempdb;SelectMethod=cursor;encrypt=false;rewriteBatchedStatements=true # url: jdbc:sqlserver://localhost:1433;DatabaseName=tempdb;SelectMethod=cursor;encrypt=false;rewriteBatchedStatements=true
# username: SA # username: SA
# password: root # password: root
hikari: hikari:
# 最大连接池数量 # 最大连接池数量
maxPoolSize: 20 maxPoolSize: 20
@ -105,13 +106,14 @@ spring:
spring: spring:
redis: redis:
# 地址 # 地址
host: localhost host: 119.96.86.131
# host: 127.0.0.1
# 端口默认为6379 # 端口默认为6379
port: 6379 port: 6379
# 数据库索引 # 数据库索引
database: 0 database: 2
# 密码(如没有密码请注释掉) # 密码(如没有密码请注释掉)
# password: password: 123456
# 连接超时时间 # 连接超时时间
timeout: 10s timeout: 10s
# 是否开启ssl # 是否开启ssl
@ -121,17 +123,17 @@ redisson:
# redis key前缀 # redis key前缀
keyPrefix: keyPrefix:
# 线程池数量 # 线程池数量
threads: 16 threads: 4
# Netty线程池数量 # Netty线程池数量
nettyThreads: 32 nettyThreads: 8
# 单节点配置 # 单节点配置
singleServerConfig: singleServerConfig:
# 客户端名称 # 客户端名称
clientName: ${ruoyi.name} clientName: ${ruoyi.name}
# 最小空闲连接数 # 最小空闲连接数
connectionMinimumIdleSize: 32 connectionMinimumIdleSize: 8
# 连接池大小 # 连接池大小
connectionPoolSize: 64 connectionPoolSize: 32
# 连接空闲超时,单位:毫秒 # 连接空闲超时,单位:毫秒
idleConnectionTimeout: 10000 idleConnectionTimeout: 10000
# 命令等待超时,单位:毫秒 # 命令等待超时,单位:毫秒
@ -163,12 +165,51 @@ mail:
--- # sms 短信 --- # sms 短信
sms: sms:
enabled: false enabled: true
# 阿里云 dysmsapi.aliyuncs.com # 阿里云 dysmsapi.aliyuncs.com
# 腾讯云 sms.tencentcloudapi.com # 腾讯云 sms.tencentcloudapi.com
endpoint: "dysmsapi.aliyuncs.com" endpoint: "dysmsapi.aliyuncs.com"
accessKeyId: xxxxxxx accessKeyId: LTAI564a5PHBmDPI
accessKeySecret: xxxxxx accessKeySecret: 0ba8OURvLI9e174t8nIGnsKMQtraov
signName: 测试 signName: 成都软银
# 腾讯专用 # 腾讯专用
sdkAppId: 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

View File

@ -27,7 +27,7 @@ captcha:
# 开发环境配置 # 开发环境配置
server: server:
# 服务器的HTTP端口默认为8080 # 服务器的HTTP端口默认为8080
port: 8080 port: 8084
servlet: servlet:
# 应用的访问路径 # 应用的访问路径
context-path: / context-path: /
@ -89,6 +89,7 @@ spring:
jackson: jackson:
# 日期格式化 # 日期格式化
date-format: yyyy-MM-dd HH:mm:ss date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
serialization: serialization:
# 格式化输出 # 格式化输出
indent_output: false indent_output: false

View File

@ -40,7 +40,7 @@ public class BaseEntity implements Serializable {
* 创建时间 * 创建时间
*/ */
@TableField(fill = FieldFill.INSERT) @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; private Date createTime;
/** /**
@ -53,6 +53,7 @@ public class BaseEntity implements Serializable {
* 更新时间 * 更新时间
*/ */
@TableField(fill = FieldFill.INSERT_UPDATE) @TableField(fill = FieldFill.INSERT_UPDATE)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date updateTime; private Date updateTime;
/** /**

View File

@ -1,5 +1,6 @@
package com.ruoyi.common.core.domain.entity; package com.ruoyi.common.core.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
@ -27,7 +28,7 @@ public class SysDept extends TreeEntity<SysDept> {
/** /**
* 部门ID * 部门ID
*/ */
@TableId(value = "dept_id") @TableId(value = "dept_id",type = IdType.AUTO)
private Long deptId; private Long deptId;
/** /**

View File

@ -2,6 +2,7 @@ package com.ruoyi.common.core.domain.entity;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.ExcelDictFormat; import com.ruoyi.common.annotation.ExcelDictFormat;
@ -30,7 +31,7 @@ public class SysDictData extends BaseEntity {
* 字典编码 * 字典编码
*/ */
@ExcelProperty(value = "字典编码") @ExcelProperty(value = "字典编码")
@TableId(value = "dict_code") @TableId(value = "dict_code",type = IdType.AUTO)
private Long dictCode; private Long dictCode;
/** /**

View File

@ -2,6 +2,7 @@ package com.ruoyi.common.core.domain.entity;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.ExcelDictFormat; import com.ruoyi.common.annotation.ExcelDictFormat;
@ -30,7 +31,7 @@ public class SysDictType extends BaseEntity {
* 字典主键 * 字典主键
*/ */
@ExcelProperty(value = "字典主键") @ExcelProperty(value = "字典主键")
@TableId(value = "dict_id") @TableId(value = "dict_id",type = IdType.AUTO)
private Long dictId; private Long dictId;
/** /**

View File

@ -1,5 +1,6 @@
package com.ruoyi.common.core.domain.entity; package com.ruoyi.common.core.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
@ -25,7 +26,7 @@ public class SysMenu extends TreeEntity<SysMenu> {
/** /**
* 菜单ID * 菜单ID
*/ */
@TableId(value = "menu_id") @TableId(value = "menu_id",type = IdType.AUTO)
private Long menuId; private Long menuId;
/** /**

View File

@ -2,10 +2,7 @@ package com.ruoyi.common.core.domain.entity;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.ExcelDictFormat; import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.convert.ExcelDictConvert; import com.ruoyi.common.convert.ExcelDictConvert;
@ -35,7 +32,7 @@ public class SysRole extends BaseEntity {
* 角色ID * 角色ID
*/ */
@ExcelProperty(value = "角色序号") @ExcelProperty(value = "角色序号")
@TableId(value = "role_id") @TableId(value = "role_id",type = IdType.AUTO)
private Long roleId; private Long roleId;
/** /**

View File

@ -33,7 +33,7 @@ public class SysUser extends BaseEntity {
/** /**
* 用户ID * 用户ID
*/ */
@TableId(value = "user_id") @TableId(value = "user_id",type = IdType.AUTO)
private Long userId; private Long userId;
/** /**

View File

@ -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)));
}
}

View File

@ -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<Long> {
@Override
public void serialize(Long id, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
String statusStr = String.valueOf(id);
jsonGenerator.writeString(statusStr);
}
}

View File

@ -22,7 +22,7 @@ public class TestDemo extends BaseEntity {
/** /**
* 主键 * 主键
*/ */
@TableId(value = "id") @TableId(value = "id",type = IdType.AUTO)
private Long id; private Long id;
/** /**

View File

@ -1,9 +1,6 @@
package com.ruoyi.demo.domain; package com.ruoyi.demo.domain;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import com.ruoyi.common.core.domain.TreeEntity; import com.ruoyi.common.core.domain.TreeEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@ -25,7 +22,7 @@ public class TestTree extends TreeEntity<TestTree> {
/** /**
* 主键 * 主键
*/ */
@TableId(value = "id") @TableId(value = "id",type = IdType.AUTO)
private Long id; private Long id;
/** /**

View File

@ -26,7 +26,7 @@ public class GenTable extends BaseEntity {
/** /**
* 编号 * 编号
*/ */
@TableId(value = "table_id") @TableId(value = "table_id",type = IdType.AUTO)
private Long tableId; private Long tableId;
/** /**

View File

@ -1,9 +1,6 @@
package com.ruoyi.generator.domain; package com.ruoyi.generator.domain;
import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity; import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import lombok.Data; 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; private Long columnId;
/** /**

View File

@ -26,6 +26,12 @@
<dependency> <dependency>
<groupId>com.amazonaws</groupId> <groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-s3</artifactId> <artifactId>aws-java-sdk-s3</artifactId>
<exclusions>
<exclusion>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</exclusion>
</exclusions>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@ -69,9 +69,8 @@ public class EncodeResponseBodyAdvice implements ResponseBodyAdvice {
* @return * @return
*/ */
private Object encodeRsa(MethodParameter methodParameter, Object body) { private Object encodeRsa(MethodParameter methodParameter, Object body) {
ObjectMapper objectMapper = new ObjectMapper();
try { try {
String result = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(body); String result = JsonUtils.toJsonString(body);
logger.info("对返回数据 :【" + result + "】进行加密"); logger.info("对返回数据 :【" + result + "】进行加密");
String s = RSAUtil.publicKeyEncryptBase64(result); String s = RSAUtil.publicKeyEncryptBase64(result);
logger.info("加密之后密文:"+s); logger.info("加密之后密文:"+s);

View File

@ -1,19 +1,33 @@
package com.ruoyi.system.common; 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.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.system.domain.BuyHouseCheck; 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.BuyHouseCheckVo;
import com.ruoyi.system.domain.vo.MaterialModuleVo;
import com.ruoyi.system.mapper.BuyHouseCheckMapper; import com.ruoyi.system.mapper.BuyHouseCheckMapper;
import com.ruoyi.system.mapper.HousesReviewMapper;
import com.ruoyi.system.service.impl.MaterialModuleServiceImpl;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Component @Component
@RequiredArgsConstructor @RequiredArgsConstructor
public class WorkBusinessRule { public class WorkBusinessRule {
private static final BuyHouseCheckMapper buyHouseCheckMapper= SpringUtils.getBean(BuyHouseCheckMapper.class); 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){ public String getDistrict(String district){
//先获取业务数据 //先获取业务数据
QueryWrapper<BuyHouseCheck> qw = new QueryWrapper<>(); QueryWrapper<BuyHouseCheck> qw = new QueryWrapper<>();
@ -23,5 +37,12 @@ public class WorkBusinessRule {
return buyHouseCheckVo.getPerson(); return buyHouseCheckVo.getPerson();
} }
public List<String> getCheckDept(Long id){
HousesReview housesReview = housesReviewMapper.selectById(id);
Map<String, Object> map = BeanUtil.beanToMap(housesReview);
List<MaterialModuleVo> materialInfo = materialModuleService.getMaterialInfo(map);
List<String> collect = materialInfo.stream().map(MaterialModuleVo::getAuditDept).filter(c -> ObjectUtil.isNotNull(c) && ObjectUtil.isNotEmpty(c)).collect(Collectors.toList());
return collect;
}
} }

View File

@ -1,5 +1,6 @@
package com.ruoyi.system.domain; package com.ruoyi.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
@ -19,7 +20,7 @@ public class BuyHouseCheck{
/** /**
* *
*/ */
@TableId(value = "id") @TableId(value = "id",type = IdType.AUTO)
private Long id; private Long id;
/** /**
* 描述 * 描述

View File

@ -1,5 +1,6 @@
package com.ruoyi.system.domain; package com.ruoyi.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; 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; private Long id;
/** /**
* 户口簿内页/护照内页 * 户口簿内页/护照内页

View File

@ -1,5 +1,6 @@
package com.ruoyi.system.domain; package com.ruoyi.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity; 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; private Long id;
/** /**
* 户口簿内页 * 户口簿内页

View File

@ -1,5 +1,6 @@
package com.ruoyi.system.domain; package com.ruoyi.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity; 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; private Long id;
/** /**
* 户口簿内页 * 户口簿内页

View File

@ -1,7 +1,10 @@
package com.ruoyi.system.domain; package com.ruoyi.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; 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 com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@ -24,7 +27,7 @@ public class HousesReview extends BaseEntity {
/** /**
* id * id
*/ */
@TableId(value = "id") @TableId(value = "id",type = IdType.AUTO)
private Long id; private Long id;
/** /**
* 证件类型 * 证件类型

View File

@ -65,4 +65,12 @@ public class MaterialModule extends BaseEntity {
*/ */
private String interfaceType; private String interfaceType;
@TableField(exist = false)
private Long[] auditDeptArr=new Long[]{};
/**
* 按钮显示名称
*/
private String interfaceName;
} }

View File

@ -23,7 +23,7 @@ public class MaterialProof extends BaseEntity {
/** /**
* *
*/ */
@TableId(value = "id") @TableId(value = "id",type = IdType.AUTO)
private Long id; private Long id;
/** /**
* 关联申请id * 关联申请id

View File

@ -21,7 +21,7 @@ public class MaterialTalents extends BaseEntity {
/** /**
* 主键 * 主键
*/ */
@TableId(value = "id") @TableId(value = "id",type = IdType.AUTO)
private Long id; private Long id;
/** /**
* 父id * 父id

View File

@ -25,7 +25,7 @@ public class SubscribeExport extends BaseEntity {
/** /**
* *
*/ */
@TableId(value = "id") @TableId(value = "id",type = IdType.AUTO)
private Long id; private Long id;
/** /**
* 路径 * 路径

View File

@ -2,6 +2,7 @@ package com.ruoyi.system.domain;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.ExcelDictFormat; import com.ruoyi.common.annotation.ExcelDictFormat;
@ -29,7 +30,7 @@ public class SysConfig extends BaseEntity {
* 参数主键 * 参数主键
*/ */
@ExcelProperty(value = "参数主键") @ExcelProperty(value = "参数主键")
@TableId(value = "config_id") @TableId(value = "config_id",type = IdType.AUTO)
private Long configId; private Long configId;
/** /**

View File

@ -2,6 +2,7 @@ package com.ruoyi.system.domain;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
@ -30,7 +31,7 @@ public class SysLogininfor implements Serializable {
* ID * ID
*/ */
@ExcelProperty(value = "序号") @ExcelProperty(value = "序号")
@TableId(value = "info_id") @TableId(value = "info_id",type = IdType.AUTO)
private Long infoId; private Long infoId;
/** /**

View File

@ -1,5 +1,6 @@
package com.ruoyi.system.domain; package com.ruoyi.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity; import com.ruoyi.common.core.domain.BaseEntity;
@ -24,7 +25,7 @@ public class SysNotice extends BaseEntity {
/** /**
* 公告ID * 公告ID
*/ */
@TableId(value = "notice_id") @TableId(value = "notice_id",type = IdType.AUTO)
private Long noticeId; private Long noticeId;
/** /**

View File

@ -2,6 +2,7 @@ package com.ruoyi.system.domain;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
@ -31,7 +32,7 @@ public class SysOperLog implements Serializable {
* 日志主键 * 日志主键
*/ */
@ExcelProperty(value = "日志主键") @ExcelProperty(value = "日志主键")
@TableId(value = "oper_id") @TableId(value = "oper_id",type = IdType.AUTO)
private Long operId; private Long operId;
/** /**

View File

@ -1,5 +1,6 @@
package com.ruoyi.system.domain; package com.ruoyi.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity; 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; private Long ossId;
/** /**

View File

@ -1,5 +1,6 @@
package com.ruoyi.system.domain; package com.ruoyi.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity; 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; private Long ossConfigId;
/** /**

View File

@ -2,6 +2,7 @@ package com.ruoyi.system.domain;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
@ -31,7 +32,7 @@ public class SysPost extends BaseEntity {
* 岗位序号 * 岗位序号
*/ */
@ExcelProperty(value = "岗位序号") @ExcelProperty(value = "岗位序号")
@TableId(value = "post_id") @TableId(value = "post_id",type = IdType.AUTO)
private Long postId; private Long postId;
/** /**

View File

@ -22,7 +22,7 @@ public class User extends BaseEntity {
/** /**
* *
*/ */
@TableId(value = "id") @TableId(value = "id",type = IdType.AUTO)
private Long id; private Long id;
/** /**
* 用户账号状态 1未认定 2认定中 3 未发卡4 已发卡 * 用户账号状态 1未认定 2认定中 3 未发卡4 已发卡

View File

@ -1,6 +1,8 @@
package com.ruoyi.system.domain.bo; package com.ruoyi.system.domain.bo;
import com.baomidou.mybatisplus.annotation.TableField; 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.domain.BaseEntity;
import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup; import com.ruoyi.common.core.validate.EditGroup;

View File

@ -1,5 +1,6 @@
package com.ruoyi.system.domain.bo; package com.ruoyi.system.domain.bo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.core.domain.BaseEntity; import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup; import com.ruoyi.common.core.validate.EditGroup;
@ -43,6 +44,9 @@ public class MaterialModuleBo extends BaseEntity {
// @NotBlank(message = "审核部门不能为空", groups = { AddGroup.class, EditGroup.class }) // @NotBlank(message = "审核部门不能为空", groups = { AddGroup.class, EditGroup.class })
private String auditDept; 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 interfaceType;
/**
* 按钮显示名称
*/
private String interfaceName;
} }

View File

@ -1,5 +1,6 @@
package com.ruoyi.system.domain.dto; package com.ruoyi.system.domain.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; 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; private Long id;
/** /**
* 户口簿内页/护照内页 * 户口簿内页/护照内页

View File

@ -1,5 +1,6 @@
package com.ruoyi.system.domain.dto; package com.ruoyi.system.domain.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
@ -26,7 +27,7 @@ public class HousesReviewEvent extends BaseEntity {
/** /**
* id * id
*/ */
@TableId(value = "id") @TableId(value = "id",type = IdType.AUTO)
private Long id; private Long id;
/** /**
* 证件类型 * 证件类型

View File

@ -1,17 +1,19 @@
package com.ruoyi.system.domain.vo; package com.ruoyi.system.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.baomidou.mybatisplus.annotation.TableField; 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 com.ruoyi.system.domain.BuyHousesReviewMember;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
/** /**
* 购房复审登记视图对象 houses_review * 购房复审登记视图对象 houses_review
* *
@ -28,12 +30,16 @@ public class HousesReviewVo implements Serializable {
* id * id
*/ */
// @ExcelProperty(value = "id") // @ExcelProperty(value = "id")
// @JsonSerialize(using = ToStringSerializer.class)
// @JsonSerialize(using = MySerializerUtils.class)
private Long id; private Long id;
/** /**
* 证件类型 * 证件类型
*/ */
@ExcelProperty(value = "证件类型") @ExcelProperty(value = "证件类型")
@NotNull(message = "证件类型不可为空")
@ExcelDictFormat(dictType = "card_type")
private String cardType; private String cardType;
/** /**
@ -58,6 +64,7 @@ public class HousesReviewVo implements Serializable {
* 审核时间 * 审核时间
*/ */
@ExcelProperty(value = "审核时间") @ExcelProperty(value = "审核时间")
@DateTimeFormat("yyyy-MM-dd")
private String auditTime; private String auditTime;
/** /**

View File

@ -2,10 +2,13 @@ package com.ruoyi.system.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.annotation.ExcelDictFormat; import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert; import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data; import lombok.Data;
import java.util.ArrayList;
/** /**
* 材料模块视图对象 material_module * 材料模块视图对象 material_module
@ -62,6 +65,9 @@ public class MaterialModuleVo {
@ExcelDictFormat(dictType = "sys_yes_no") @ExcelDictFormat(dictType = "sys_yes_no")
private String isMust; private String isMust;
/**
* 上传材料
*/
private String file; private String file;
/** /**
@ -75,4 +81,12 @@ public class MaterialModuleVo {
private String interfaceType; private String interfaceType;
@TableField(exist = false)
private Long[] auditDeptArr = new Long[]{};
/**
* 按钮显示名称
*/
private String interfaceName;
} }

View File

@ -79,7 +79,7 @@ public class BuyHousesServiceImpl implements IBuyHousesService {
@Value("${file.prefix}") @Value("${file.prefix}")
private String 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; private final BuyHousesMapper baseMapper;
@ -399,7 +399,12 @@ public class BuyHousesServiceImpl implements IBuyHousesService {
JSONObject entries = JSONUtil.parseObj(data); JSONObject entries = JSONUtil.parseObj(data);
BuyHouses buyHousesDto = new BuyHouses(); BuyHouses buyHousesDto = new BuyHouses();
buyHousesDto.setCardId(String.valueOf(entries.get("cardId"))); 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.setUserName(String.valueOf(entries.get("name")));
buyHousesDto.setPhone(String.valueOf(entries.get("phone"))); buyHousesDto.setPhone(String.valueOf(entries.get("phone")));
buyHousesDto.setCompanyName(String.valueOf(entries.get("companyName"))); buyHousesDto.setCompanyName(String.valueOf(entries.get("companyName")));

View File

@ -9,6 +9,7 @@ import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.helper.LoginHelper; import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.file.MyFileUtils; import com.ruoyi.common.utils.file.MyFileUtils;
@ -62,9 +63,6 @@ public class HousesReviewServiceImpl implements IHousesReviewService {
private final MaterialProofMapper materialProofMapper; private final MaterialProofMapper materialProofMapper;
private final BuyHousesReviewMemberMapper buyHousesReviewMemberMapper; private final BuyHousesReviewMemberMapper buyHousesReviewMemberMapper;
private final SysOssServiceImpl sysOssService;
private final SubscribeExportMapper subscribeExportMapper; private final SubscribeExportMapper subscribeExportMapper;
@Value("${file.template}") @Value("${file.template}")
@ -101,7 +99,7 @@ public class HousesReviewServiceImpl implements IHousesReviewService {
*/ */
@Override @Override
public TableDataInfo<HousesReview> queryPageList(HousesReviewBo bo, PageQuery pageQuery) { public TableDataInfo<HousesReview> queryPageList(HousesReviewBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<HousesReview> lqw = buildQueryWrapper(bo); LambdaQueryWrapper<HousesReview> lqw = buildQueryWrapper2(bo);
Page<HousesReview> result = baseMapper.selectPage(pageQuery.build(), lqw); Page<HousesReview> result = baseMapper.selectPage(pageQuery.build(), lqw);
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
@ -115,6 +113,38 @@ public class HousesReviewServiceImpl implements IHousesReviewService {
return baseMapper.selectVoList(lqw); return baseMapper.selectVoList(lqw);
} }
private LambdaQueryWrapper<HousesReview> buildQueryWrapper2(HousesReviewBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<HousesReview> 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<HousesReview> buildQueryWrapper(HousesReviewBo bo) { private LambdaQueryWrapper<HousesReview> buildQueryWrapper(HousesReviewBo bo) {
Map<String, Object> params = bo.getParams(); Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<HousesReview> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<HousesReview> lqw = Wrappers.lambdaQuery();
@ -177,11 +207,18 @@ public class HousesReviewServiceImpl implements IHousesReviewService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Boolean updateByBo(HousesReviewBo bo) { 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); bo.setProcessStatus(Constants.WAIT);
//先删除存在的家庭情况关系表 //先删除存在的家庭情况关系表
buyHousesReviewMemberMapper.delete( new LambdaQueryWrapper<BuyHousesReviewMember>() buyHousesReviewMemberMapper.delete( new LambdaQueryWrapper<BuyHousesReviewMember>()
.eq(BuyHousesReviewMember::getBuyHousesId, bo.getId())); .eq(BuyHousesReviewMember::getBuyHousesId, bo.getId()));
//删除补充材料 //删除补充材料
materialProofMapper.delete(new LambdaQueryWrapper<MaterialProof>() materialProofMapper.delete(new LambdaQueryWrapper<MaterialProof>()
.eq(MaterialProof::getHouseId, bo.getId()) .eq(MaterialProof::getHouseId, bo.getId())
@ -227,6 +264,9 @@ public class HousesReviewServiceImpl implements IHousesReviewService {
* 保存前的数据校验 * 保存前的数据校验
*/ */
private void validEntityBeforeSave(HousesReview entity){ private void validEntityBeforeSave(HousesReview entity){
if (!"D".equals(entity.getTalentsType())){
entity.setTypeExtend(null);
}
//TODO 做一些数据校验,如唯一约束 //TODO 做一些数据校验,如唯一约束
} }
@ -236,14 +276,19 @@ public class HousesReviewServiceImpl implements IHousesReviewService {
@Override @Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){ if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验 List<HousesReview> 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; return baseMapper.deleteBatchIds(ids) > 0;
} }
@Override @Override
public Boolean saveBatch(List<HousesReview> list) { public Boolean saveBatch(List<HousesReview> list) {
return baseMapper.insertBatch(list); return baseMapper.insertBatch(list);
} }
@ -254,6 +299,15 @@ public class HousesReviewServiceImpl implements IHousesReviewService {
*/ */
@Override @Override
public R<?> getMaterialInfo(HousesReviewBo bo) { 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<String, Object> map = BeanUtil.beanToMap(bo); Map<String, Object> map = BeanUtil.beanToMap(bo);
List<MaterialModuleVo> materialInfo = materialModuleService.getMaterialInfo(map); List<MaterialModuleVo> materialInfo = materialModuleService.getMaterialInfo(map);
return R.ok(materialInfo); return R.ok(materialInfo);
@ -270,7 +324,6 @@ public class HousesReviewServiceImpl implements IHousesReviewService {
housesReviewVo.setBuyHousesMemberList(new ArrayList<>()); housesReviewVo.setBuyHousesMemberList(new ArrayList<>());
} }
return housesReviewVo; return housesReviewVo;
} }
/** /**

View File

@ -1,6 +1,8 @@
package com.ruoyi.system.service.impl; package com.ruoyi.system.service.impl;
import cn.hutool.core.bean.BeanUtil; 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 cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@ -48,7 +50,13 @@ public class MaterialModuleServiceImpl implements IMaterialModuleService {
*/ */
@Override @Override
public MaterialModuleVo queryById(Long id){ 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){ 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<MaterialModuleVo> getMaterialInfo(Map<String, Object> map){ public List<MaterialModuleVo> getMaterialInfo(Map<String, Object> map){
Set<String> keys = map.keySet(); Set<String> keys = map.keySet();
LambdaQueryWrapper<MaterialTalents> eq = new LambdaQueryWrapper<MaterialTalents>() LambdaQueryWrapper<MaterialTalents> eq = new LambdaQueryWrapper<MaterialTalents>()
.eq(MaterialTalents::getTalentsValue, map.get("processKey")); .eq(MaterialTalents::getTalentsValue, map.get("processKey"))
.eq(MaterialTalents::getDelFlag,"0");
MaterialTalentsVo materialTalentsVo = materialTalentsMapper.selectVoOne(eq); MaterialTalentsVo materialTalentsVo = materialTalentsMapper.selectVoOne(eq);
//根据id获取关于他下面的所有子集 //根据id获取关于他下面的所有子集
LambdaQueryWrapper<MaterialTalents> wrapper = new LambdaQueryWrapper<MaterialTalents>() LambdaQueryWrapper<MaterialTalents> wrapper = new LambdaQueryWrapper<MaterialTalents>()

View File

@ -148,10 +148,14 @@ public class UserServiceImpl implements IUserService {
LinkedHashMap<String, Object> hashMap = new LinkedHashMap<>(); LinkedHashMap<String, Object> hashMap = new LinkedHashMap<>();
hashMap.put("loginName",AesUtil.decryptBASE64("18716148446")); hashMap.put("loginName",AesUtil.decryptBASE64("18716148446"));
hashMap.put("password",AesUtil.decryptBASE64("1234Qwer")); hashMap.put("password",AesUtil.decryptBASE64("1234Qwer"));
HttpRequest.post("https://gx.chengdutalent.cn:8010/user/login") try {
.form(hashMap) HttpRequest.post("https://gx.chengdutalent.cn:8010/user/login")
.timeout(20000) .form(hashMap)
.execute().body(); .timeout(20000)
.execute().body();
} catch (Exception e) {
throw new RuntimeException("调用接口超时");
}
//调用高新的接口 //调用高新的接口
return null; return null;

View File

@ -18,12 +18,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="isMust" column="is_must"/> <result property="isMust" column="is_must"/>
<result property="interfacePath" column="interface_path"/> <result property="interfacePath" column="interface_path"/>
<result property="interfaceType" column="interface_type"/> <result property="interfaceType" column="interface_type"/>
<result property="interfaceName" column="interface_name"/>
</resultMap> </resultMap>
<select id="selectVoPageList" resultMap="MaterialModuleResult"> <select id="selectVoPageList" resultMap="MaterialModuleResult">
SELECT m.id,material_name,`material_key`,s.dept_name AS audit_dept,description,m.sort,m.is_must,m.interface_path,m.interface_type SELECT
FROM `material_module` m m.id,
LEFT JOIN sys_dept s ON s.dept_id = m.audit_dept material_name,
`material_key`,
GROUP_CONCAT(s.dept_name) AS audit_dept,
description,
m.sort,
m.is_must,
m.interface_path,
m.interface_type,
m.interface_name
FROM
`material_module` m
LEFT JOIN sys_dept s ON FIND_IN_SET(s.dept_id ,m.audit_dept)
${ew.getCustomSqlSegment} ${ew.getCustomSqlSegment}
GROUP BY m.id
</select> </select>

View File

@ -28,6 +28,10 @@
<groupId>org.apache.commons</groupId> <groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId> <artifactId>commons-text</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-rsaencrypt</artifactId>
</dependency>
<!--<dependency> <!--<dependency>
<groupId>com.ruoyi</groupId> <groupId>com.ruoyi</groupId>
<artifactId>ruoyi-sms</artifactId> <artifactId>ruoyi-sms</artifactId>

View File

@ -10,6 +10,7 @@ import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
import com.ruoyi.work.domain.ActProcess; import com.ruoyi.work.domain.ActProcess;
import com.ruoyi.work.domain.HisProcess; import com.ruoyi.work.domain.HisProcess;
import com.ruoyi.work.domain.RollBackLog; import com.ruoyi.work.domain.RollBackLog;
@ -45,6 +46,7 @@ public class WorkController extends BaseController {
@Log(title = "获取待办数据",businessType = BusinessType.OTHER) @Log(title = "获取待办数据",businessType = BusinessType.OTHER)
@SaCheckPermission("work:task:taskList") @SaCheckPermission("work:task:taskList")
@GetMapping("/getWaitTaskList") @GetMapping("/getWaitTaskList")
@RsaSecurityParameter
public TableDataInfo<ActProcess> getWaitTaskList(ActProcess actProcess, PageQuery pageQuery){ public TableDataInfo<ActProcess> getWaitTaskList(ActProcess actProcess, PageQuery pageQuery){
return WorkComplyUtils.getWaitTaskList(actProcess,pageQuery); return WorkComplyUtils.getWaitTaskList(actProcess,pageQuery);
} }
@ -55,6 +57,7 @@ public class WorkController extends BaseController {
@Log(title = "获取已办数据",businessType = BusinessType.OTHER) @Log(title = "获取已办数据",businessType = BusinessType.OTHER)
@SaCheckPermission("work:task:historyList") @SaCheckPermission("work:task:historyList")
@GetMapping("/getHistoryList") @GetMapping("/getHistoryList")
@RsaSecurityParameter
public TableDataInfo<HisProcess> getHistoryList(HisProcess hisProcess, PageQuery pageQuery){ public TableDataInfo<HisProcess> getHistoryList(HisProcess hisProcess, PageQuery pageQuery){
return WorkComplyUtils.getHistoryList(hisProcess,pageQuery); return WorkComplyUtils.getHistoryList(hisProcess,pageQuery);
} }
@ -65,6 +68,7 @@ public class WorkController extends BaseController {
@Log(title = "获取当前业务运行到那一步",businessType = BusinessType.OTHER) @Log(title = "获取当前业务运行到那一步",businessType = BusinessType.OTHER)
@SaCheckPermission("work:task:processPlan") @SaCheckPermission("work:task:processPlan")
@PostMapping("/processPlan") @PostMapping("/processPlan")
@RsaSecurityParameter(inDecode = true,outEncode = false)
public R<?> processPlan(@RequestBody ActProcess actProcess){ public R<?> processPlan(@RequestBody ActProcess actProcess){
if (ObjectUtil.isNull(actProcess.getBusinessId())){ if (ObjectUtil.isNull(actProcess.getBusinessId())){
return R.fail("businessId不可为空"); return R.fail("businessId不可为空");
@ -90,6 +94,7 @@ public class WorkController extends BaseController {
*/ */
@Log(title = "获取可退回步骤",businessType = BusinessType.OTHER) @Log(title = "获取可退回步骤",businessType = BusinessType.OTHER)
@PostMapping("/getStep") @PostMapping("/getStep")
@RsaSecurityParameter(inDecode = true)
public R<?> getStep(@RequestBody BusinessDTO businessDTO){ public R<?> getStep(@RequestBody BusinessDTO businessDTO){
LambdaQueryWrapper<TProcess> wrapper = new LambdaQueryWrapper<TProcess>() LambdaQueryWrapper<TProcess> wrapper = new LambdaQueryWrapper<TProcess>()
.eq(TProcess::getProcessKey, businessDTO.getProcessKey()); .eq(TProcess::getProcessKey, businessDTO.getProcessKey());
@ -108,6 +113,7 @@ public class WorkController extends BaseController {
@Log(title = "流程办理",businessType = BusinessType.OTHER) @Log(title = "流程办理",businessType = BusinessType.OTHER)
// @SaCheckPermission("work:task:batchDeleted") // @SaCheckPermission("work:task:batchDeleted")
@PostMapping("/batchDeleted") @PostMapping("/batchDeleted")
@RsaSecurityParameter(inDecode = true)
public R<?> batchDeleted(@RequestBody HisProcess hisProcess){ public R<?> batchDeleted(@RequestBody HisProcess hisProcess){
if (ObjectUtil.isNull(hisProcess.getStatus())){ if (ObjectUtil.isNull(hisProcess.getStatus())){
return R.fail("状态不可为空"); return R.fail("状态不可为空");
@ -143,6 +149,7 @@ public class WorkController extends BaseController {
@Log(title = "获取业务id详情数据",businessType = BusinessType.OTHER) @Log(title = "获取业务id详情数据",businessType = BusinessType.OTHER)
@SaCheckPermission("work:task:taskInfo") @SaCheckPermission("work:task:taskInfo")
@PostMapping("/taskInfo") @PostMapping("/taskInfo")
@RsaSecurityParameter(inDecode = true)
public R<?> getInfoById(@RequestBody ActProcess actProcess){ public R<?> getInfoById(@RequestBody ActProcess actProcess){
if (ObjectUtil.isNull(actProcess.getProcessKey())){ if (ObjectUtil.isNull(actProcess.getProcessKey())){
return R.fail("key不可为空"); return R.fail("key不可为空");
@ -160,6 +167,7 @@ public class WorkController extends BaseController {
@Log(title = "获取审核日志",businessType = BusinessType.OTHER) @Log(title = "获取审核日志",businessType = BusinessType.OTHER)
@PostMapping("/auditLogList") @PostMapping("/auditLogList")
@RsaSecurityParameter(inDecode = true)
public R<?> getAuditLogListByOtherId(@RequestBody BusinessDTO businessDTO){ public R<?> getAuditLogListByOtherId(@RequestBody BusinessDTO businessDTO){
return WorkComplyUtils.getAuditLogListByOtherId(businessDTO); return WorkComplyUtils.getAuditLogListByOtherId(businessDTO);
} }
@ -171,6 +179,7 @@ public class WorkController extends BaseController {
*/ */
@Log(title = "回退",businessType = BusinessType.OTHER) @Log(title = "回退",businessType = BusinessType.OTHER)
@PostMapping("/rollBackLog") @PostMapping("/rollBackLog")
@RsaSecurityParameter(inDecode = true)
public R<?> rollBackLog(@RequestBody RollBackLog rollBackLog){ public R<?> rollBackLog(@RequestBody RollBackLog rollBackLog){
LambdaQueryWrapper<TProcess> wrapper = new LambdaQueryWrapper<TProcess>() LambdaQueryWrapper<TProcess> wrapper = new LambdaQueryWrapper<TProcess>()
.eq(TProcess::getProcessKey, rollBackLog.getProcessKey()); .eq(TProcess::getProcessKey, rollBackLog.getProcessKey());

View File

@ -1,5 +1,6 @@
package com.ruoyi.work.domain; package com.ruoyi.work.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity; import com.ruoyi.common.core.domain.BaseEntity;
@ -22,7 +23,7 @@ public class ActBusinessRule extends BaseEntity {
/** /**
* id * id
*/ */
@TableId(value = "id") @TableId(value = "id",type = IdType.AUTO)
private Long id; private Long id;
/** /**
* bean名称 * bean名称

View File

@ -1,11 +1,11 @@
package com.ruoyi.work.domain; package com.ruoyi.work.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.Date; import java.util.Date;
/** /**
@ -23,7 +23,7 @@ public class ActProcess {
/** /**
* *
*/ */
@TableId(value = "id") @TableId(value = "id",type = IdType.AUTO)
private Long id; private Long id;
/** /**
* 流程表id * 流程表id
@ -48,7 +48,6 @@ public class ActProcess {
private Date createTime; private Date createTime;
/** /**
* 是由存在下一步骤 * 是由存在下一步骤
*/ */
@ -85,7 +84,4 @@ public class ActProcess {
@TableField(exist = false) @TableField(exist = false)
private String processKey; private String processKey;
} }

View File

@ -25,7 +25,7 @@ public class AuditLog extends BaseEntity {
/** /**
* *
*/ */
@TableId(value = "id") @TableId(value = "id",type = IdType.AUTO)
private Long id; private Long id;
/** /**
* 审核员id * 审核员id

View File

@ -1,5 +1,6 @@
package com.ruoyi.work.domain; package com.ruoyi.work.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
@ -24,7 +25,7 @@ public class HisProcess{
/** /**
* *
*/ */
@TableId(value = "id") @TableId(value = "id",type = IdType.AUTO)
private Long id; private Long id;
/** /**
* 流程表id * 流程表id
@ -47,6 +48,7 @@ public class HisProcess{
*/ */
private String status; private String status;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date createTime; private Date createTime;
@ -56,6 +58,7 @@ public class HisProcess{
@TableField(exist = false) @TableField(exist = false)
private Map params; private Map params;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date endTime; private Date endTime;
private String step; private String step;

View File

@ -1,5 +1,6 @@
package com.ruoyi.work.domain; package com.ruoyi.work.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
@ -23,7 +24,7 @@ public class RollBackLog extends BaseEntity {
/** /**
* *
*/ */
@TableId(value = "id") @TableId(value = "id",type = IdType.AUTO)
private Long id; private Long id;
/** /**
* 是后台撤回还是前台撤回 * 是后台撤回还是前台撤回

View File

@ -1,5 +1,6 @@
package com.ruoyi.work.domain; package com.ruoyi.work.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
@ -21,7 +22,7 @@ public class TProcess {
/** /**
* *
*/ */
@TableId(value = "id") @TableId(value = "id",type = IdType.AUTO)
private Long id; private Long id;
/** /**
* 流程名称 * 流程名称

View File

@ -22,10 +22,7 @@ import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.helper.LoginHelper; import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.BeanCopyUtils; import com.ruoyi.common.utils.*;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.JsonUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.work.domain.*; import com.ruoyi.work.domain.*;
import com.ruoyi.work.domain.vo.ActProcessVo; import com.ruoyi.work.domain.vo.ActProcessVo;
@ -504,7 +501,7 @@ public class WorkComplyUtils {
if (ObjectUtil.isNotEmpty(record.getTimeout())&& ObjectUtil.isNotNull(record.getTimeout())){ if (ObjectUtil.isNotEmpty(record.getTimeout())&& ObjectUtil.isNotNull(record.getTimeout())){
DateTime beforeTime = DateUtil.offsetDay(record.getCreateTime(), new Integer(record.getTimeout())); DateTime beforeTime = DateUtil.offsetDay(record.getCreateTime(), new Integer(record.getTimeout()));
Date nowDate = DateUtils.getNowDate(); Date nowDate = DateUtils.getNowDate();
long between = DateUtil.between(nowDate, beforeTime, DateUnit.DAY); long between = DateHolidayUtils.getBetweenDays(beforeTime, nowDate);
if (between<0){ if (between<0){
long abs = Math.abs(between); long abs = Math.abs(between);
record.setTimeout("超时"+abs+""); record.setTimeout("超时"+abs+"");
@ -512,14 +509,6 @@ public class WorkComplyUtils {
record.setTimeout("剩余"+between+""); record.setTimeout("剩余"+between+"");
} }
} }
switch (record.getType()){
case "1" :record.setType("基本类型");
break;
case "2" : record.setType("会签");
break;
default:record.setType("未知类型");
break;
}
} }
return TableDataInfo.build(actProcessVoCCList); return TableDataInfo.build(actProcessVoCCList);
} }
@ -536,7 +525,7 @@ public class WorkComplyUtils {
if (ObjectUtil.isNotEmpty(record.getTimeout())&& ObjectUtil.isNotNull(record.getTimeout())){ if (ObjectUtil.isNotEmpty(record.getTimeout())&& ObjectUtil.isNotNull(record.getTimeout())){
DateTime beforeTime = DateUtil.offsetDay(record.getCreateTime(), new Integer(record.getTimeout())); DateTime beforeTime = DateUtil.offsetDay(record.getCreateTime(), new Integer(record.getTimeout()));
Date nowDate = DateUtils.getNowDate(); Date nowDate = DateUtils.getNowDate();
long between = DateUtil.between(nowDate, beforeTime, DateUnit.DAY); long between = DateHolidayUtils.getBetweenDays(beforeTime, nowDate);
if (between<0){ if (between<0){
long abs = Math.abs(between); long abs = Math.abs(between);
record.setTimeout("超时"+abs+""); record.setTimeout("超时"+abs+"");
@ -544,14 +533,6 @@ public class WorkComplyUtils {
record.setTimeout("剩余"+between+""); record.setTimeout("剩余"+between+"");
} }
} }
switch (record.getType()){
case "1" :record.setType("基本类型");
break;
case "2" : record.setType("会签");
break;
default:record.setType("未知类型");
break;
}
} }
return TableDataInfo.build(actProcessVoList); return TableDataInfo.build(actProcessVoList);
} }
@ -572,18 +553,10 @@ public class WorkComplyUtils {
SysRole sysRole = sysRoleMapper.selectRoleById(new Long(record.getAudit())); SysRole sysRole = sysRoleMapper.selectRoleById(new Long(record.getAudit()));
record.setAudit(sysRole.getRoleName()); record.setAudit(sysRole.getRoleName());
} }
switch (record.getType()){
case "1" :record.setType("基本类型");
break;
case "2" : record.setType("会签");
break;
default:record.setType("未知类型");
break;
}
if (ObjectUtil.isNotEmpty(record.getTimeout())&& ObjectUtil.isNotNull(record.getTimeout())){ if (ObjectUtil.isNotEmpty(record.getTimeout())&& ObjectUtil.isNotNull(record.getTimeout())){
DateTime beforeTime = DateUtil.offsetDay(record.getCreateTime(), new Integer(record.getTimeout())); DateTime beforeTime = DateUtil.offsetDay(record.getCreateTime(), new Integer(record.getTimeout()));
Date nowDate = DateUtils.getNowDate(); Date nowDate = DateUtils.getNowDate();
long between = DateUtil.between(nowDate, beforeTime, DateUnit.DAY); long between = DateHolidayUtils.getBetweenDays(beforeTime, nowDate);
if (between<0){ if (between<0){
long abs = Math.abs(between); long abs = Math.abs(between);
record.setTimeout("超时"+abs+""); record.setTimeout("超时"+abs+"");
@ -652,7 +625,6 @@ public class WorkComplyUtils {
List<ProcessVo> list = new ArrayList<>(); List<ProcessVo> list = new ArrayList<>();
if (1L == e.getProcessCheck()) { if (1L == e.getProcessCheck()) {
String[] split = e.getAudit().split(","); String[] split = e.getAudit().split(",");
// e.setSize(split.length);
for (String s : split) { for (String s : split) {
e.setAudit(s); e.setAudit(s);
e.setChecked(""); e.setChecked("");
@ -713,21 +685,21 @@ public class WorkComplyUtils {
e.setAudit(o); e.setAudit(o);
}else if("1".equals(e.getCheckType())) { }else if("1".equals(e.getCheckType())) {
//根据id获取人员信息 //根据id获取人员信息
SysUser sysUser = sysUserMapper.selectUserById(new Long( e.getAudit())); SysUser sysUser = sysUserMapper.selectUserById(Long.valueOf(e.getAudit()));
if(ObjectUtil.isNull(sysUser)){ if(ObjectUtil.isNull(sysUser)){
throw new ServiceException("根据id获取人员信息失败"); throw new ServiceException("根据id获取人员信息失败");
} }
e.setAudit1(e.getAudit()); e.setAudit1(e.getAudit());
e.setAudit(sysUser.getUserName()); e.setAudit(sysUser.getUserName());
}else if ("2".equals(e.getCheckType())){ }else if ("2".equals(e.getCheckType())){
SysDept sysDept = sysDeptMapper.selectDeptById(new Long(e.getAudit())); SysDept sysDept = sysDeptMapper.selectDeptById(Long.valueOf(e.getAudit()));
if(ObjectUtil.isNull(sysDept)){ if(ObjectUtil.isNull(sysDept)){
throw new ServiceException("根据id获取部门信息失败"); throw new ServiceException("根据id获取部门信息失败");
} }
e.setAudit1(e.getAudit()); e.setAudit1(e.getAudit());
e.setAudit(sysDept.getDeptName()); e.setAudit(sysDept.getDeptName());
}else if ("3".equals(e.getCheckType())){ }else if ("3".equals(e.getCheckType())){
SysRole sysRole = sysRoleMapper.selectRoleById(new Long(e.getAudit())); SysRole sysRole = sysRoleMapper.selectRoleById(Long.valueOf(e.getAudit()));
if(ObjectUtil.isNull(sysRole)){ if(ObjectUtil.isNull(sysRole)){
throw new ServiceException("根据id获取角色信息失败"); throw new ServiceException("根据id获取角色信息失败");
} }

View File

@ -3,6 +3,8 @@ package com.ruoyi.work.utils;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.TypeReference;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.JsonUtils; import com.ruoyi.common.utils.JsonUtils;
@ -42,7 +44,7 @@ public class WorkUtils {
List<Object> params = new ArrayList<>(); List<Object> params = new ArrayList<>();
for (int i = 0; i < businessRuleParams.size(); i++) { for (int i = 0; i < businessRuleParams.size(); i++) {
if (variables.containsKey(businessRuleParams.get(i).getParam())) { if (variables.containsKey(businessRuleParams.get(i).getParam())) {
String variable = (String) variables.get(businessRuleParams.get(i).getParam()); String variable = String.valueOf(variables.get(businessRuleParams.get(i).getParam()));
switch (businessRuleParams.get(i).getParamType()) { switch (businessRuleParams.get(i).getParamType()) {
case "String": case "String":
paramClass[i] = String.valueOf(variable).getClass(); paramClass[i] = String.valueOf(variable).getClass();
@ -92,7 +94,13 @@ public class WorkUtils {
if (obj == null) { if (obj == null) {
throw new ServiceException("任务环节未配置审批人,请确认传值是否正确,检查:【" + businessRule.getBeanName() + "】Bean容器中【" + methodName + "】方法"); throw new ServiceException("任务环节未配置审批人,请确认传值是否正确,检查:【" + businessRule.getBeanName() + "】Bean容器中【" + methodName + "】方法");
} }
return CollUtil.newArrayList(obj.toString().split(",")); String date = Convert.toStr(obj);
if (ObjectUtil.isEmpty(date)){
throw new ServiceException("设置审批人流程出错");
}
String strip = StringUtils.strip(obj.toString(), "[]");
List<String> list = StringUtils.str2List(strip, ",", true, true);
return list.stream().distinct().collect(Collectors.toList());
} catch (Exception e) { } catch (Exception e) {
throw new ServiceException(e.getMessage()); throw new ServiceException(e.getMessage());
} }
@ -112,7 +120,7 @@ public class WorkUtils {
Method method = ReflectionUtils.findMethod(beanName.getClass(), me, Long.class); Method method = ReflectionUtils.findMethod(beanName.getClass(), me, Long.class);
Object obj = ReflectionUtils.invokeMethod(method, beanName,new Long(businessId)); Object obj = ReflectionUtils.invokeMethod(method, beanName,new Long(businessId));
Map<String, Object> map = BeanUtil.beanToMap(obj); Map<String, Object> map = BeanUtil.beanToMap(obj);
System.out.println("obj = " + obj); System.out.println("map = " + map);
return map; return map;
} }