mirror of
https://gitee.com/dromara/RuoYi-Vue-Plus.git
synced 2026-09-19 17:58:17 +08:00
修改bug
This commit is contained in:
parent
c947e30572
commit
09f0241141
@ -14,6 +14,7 @@ import com.ruoyi.common.utils.redis.RedisUtils;
|
||||
import com.ruoyi.common.utils.reflect.ReflectUtils;
|
||||
import com.ruoyi.common.utils.spring.SpringUtils;
|
||||
import com.ruoyi.framework.config.properties.CaptchaProperties;
|
||||
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
|
||||
import com.ruoyi.sms.config.properties.SmsProperties;
|
||||
import com.ruoyi.sms.core.SmsTemplate;
|
||||
import com.ruoyi.sms.entity.SmsResult;
|
||||
@ -79,6 +80,7 @@ public class CaptchaController {
|
||||
* 生成验证码
|
||||
*/
|
||||
@GetMapping("/captchaImage")
|
||||
// @RsaSecurityParameter
|
||||
public R<Map<String, Object>> getCode() {
|
||||
Map<String, Object> ajax = new HashMap<>();
|
||||
boolean captchaEnabled = configService.selectCaptchaEnabled();
|
||||
|
||||
@ -5,6 +5,7 @@ import java.util.List;
|
||||
import java.util.Arrays;
|
||||
|
||||
import com.ruoyi.common.constant.Constants;
|
||||
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
|
||||
import com.ruoyi.system.domain.dto.BuyHousesEvent;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
@ -42,6 +43,7 @@ public class BuyHousesController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:houses:list")
|
||||
@GetMapping("/list")
|
||||
@RsaSecurityParameter
|
||||
public TableDataInfo<BuyHousesVo> list(BuyHousesBo bo, PageQuery pageQuery) {
|
||||
bo.setProcessStatus(Constants.SUCCEED);
|
||||
return iBuyHousesService.queryPageList(bo, pageQuery);
|
||||
@ -53,14 +55,18 @@ public class BuyHousesController extends BaseController {
|
||||
* @return
|
||||
* @throws IOException
|
||||
*/
|
||||
@SaCheckPermission("system:houses:subscribeExport")
|
||||
@PostMapping("/subscribeExport")
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R subscribeExport(@RequestBody BuyHousesEvent bo) throws IOException {
|
||||
return iBuyHousesService.subscribeExport(bo);
|
||||
}
|
||||
/**
|
||||
* 导出excel
|
||||
*/
|
||||
@SaCheckPermission("system:houses:exportExcel")
|
||||
@PostMapping("/exportExcel")
|
||||
@RsaSecurityParameter(outEncode = false)
|
||||
public void exportExcel(BuyHousesBo bo,HttpServletResponse response){
|
||||
iBuyHousesService.exportExcel(bo,response);
|
||||
}
|
||||
@ -71,9 +77,10 @@ public class BuyHousesController extends BaseController {
|
||||
@SaCheckPermission("system:houses:export")
|
||||
@Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("一期导出列表")
|
||||
@RsaSecurityParameter(inDecode = true,outEncode = false)
|
||||
public void export(BuyHousesBo bo, HttpServletResponse response) {
|
||||
List<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")
|
||||
@GetMapping("/{id}")
|
||||
@RsaSecurityParameter
|
||||
public R<BuyHousesVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
return R.ok(iBuyHousesService.queryById(id));
|
||||
@ -97,6 +105,7 @@ public class BuyHousesController extends BaseController {
|
||||
@SaCheckPermission("system:houses:remove")
|
||||
@Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
@RsaSecurityParameter
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(iBuyHousesService.deleteWithValidByIds(Arrays.asList(ids), true));
|
||||
@ -107,6 +116,7 @@ public class BuyHousesController extends BaseController {
|
||||
*/
|
||||
@Log(title = "获取申报材料",businessType = BusinessType.OTHER)
|
||||
@PostMapping("/review/material")
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<?> getMaterialInfo(@RequestBody BuyHousesBo bo){
|
||||
return iBuyHousesService.getMaterialInfo(bo);
|
||||
}
|
||||
|
||||
@ -16,6 +16,7 @@ import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.excel.ExcelResult;
|
||||
import com.ruoyi.common.helper.LoginHelper;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
|
||||
import com.ruoyi.system.domain.BuyHouses;
|
||||
import com.ruoyi.system.domain.HousesReview;
|
||||
import com.ruoyi.system.domain.bo.HousesReviewBo;
|
||||
@ -61,6 +62,7 @@ public class HousesReviewController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:review:reviewList")
|
||||
@GetMapping("/review/list")
|
||||
@RsaSecurityParameter
|
||||
public TableDataInfo<HousesReview> reviewList(HousesReviewBo bo, PageQuery pageQuery) {
|
||||
return iHousesReviewService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
@ -74,6 +76,7 @@ public class HousesReviewController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:manager:reviewList")
|
||||
@GetMapping("/manager/list")
|
||||
@RsaSecurityParameter
|
||||
public TableDataInfo<HousesReview> managerReviewList(HousesReviewBo bo, PageQuery pageQuery) {
|
||||
bo.setProcessStatus(Constants.SUCCEED);
|
||||
return iHousesReviewService.queryPageList(bo, pageQuery);
|
||||
@ -85,7 +88,9 @@ public class HousesReviewController extends BaseController {
|
||||
* @return
|
||||
* @throws IOException
|
||||
*/
|
||||
@SaCheckPermission("system:houses:subscribeExport")
|
||||
@PostMapping("/subscribeExport")
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R subscribeExport(HousesReviewEvent bo) throws IOException {
|
||||
return iHousesReviewService.subscribeExport(bo);
|
||||
}
|
||||
@ -93,7 +98,9 @@ public class HousesReviewController extends BaseController {
|
||||
/**
|
||||
* 导出excel
|
||||
*/
|
||||
@SaCheckPermission("system:houses:exportExcel")
|
||||
@PostMapping("/exportExcel")
|
||||
@RsaSecurityParameter(inDecode = true,outEncode = false)
|
||||
public void exportExcel(HousesReviewBo bo,HttpServletResponse response){
|
||||
iHousesReviewService.exportExcel(bo,response);
|
||||
}
|
||||
@ -103,6 +110,7 @@ public class HousesReviewController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:review:list")
|
||||
@GetMapping("/registrationManagement/list")
|
||||
@RsaSecurityParameter
|
||||
public TableDataInfo<HousesReview> list(HousesReviewBo bo, PageQuery pageQuery) {
|
||||
boolean admin = LoginHelper.isAdmin();
|
||||
if (!admin){
|
||||
@ -117,6 +125,7 @@ public class HousesReviewController extends BaseController {
|
||||
@SaCheckPermission("system:review:export")
|
||||
@Log(title = "购房复审登记", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/registrationManagement/export")
|
||||
@RsaSecurityParameter(inDecode = true,outEncode = false)
|
||||
public void export(HousesReviewBo bo, HttpServletResponse response) {
|
||||
List<HousesReviewVo> list = iHousesReviewService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "购房复审登记", HousesReviewVo.class, response);
|
||||
@ -129,6 +138,7 @@ public class HousesReviewController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:review:edit")
|
||||
@GetMapping("/registrationManagement/{id}")
|
||||
@RsaSecurityParameter
|
||||
public R<HousesReviewVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
return R.ok(iHousesReviewService.queryById(id));
|
||||
@ -141,6 +151,7 @@ public class HousesReviewController extends BaseController {
|
||||
@Log(title = "购房复审登记", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping("/registrationManagement")
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody HousesReviewBo bo) {
|
||||
return toAjax(iHousesReviewService.insertByBo(bo));
|
||||
}
|
||||
@ -152,6 +163,7 @@ public class HousesReviewController extends BaseController {
|
||||
@Log(title = "购房复审登记", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping("/registrationManagement")
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody HousesReviewBo bo) {
|
||||
return toAjax(iHousesReviewService.updateByBo(bo));
|
||||
}
|
||||
@ -160,9 +172,10 @@ public class HousesReviewController extends BaseController {
|
||||
* 删除购房复审登记
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("system:review:edit")
|
||||
@SaCheckPermission("system:review:remove")
|
||||
@Log(title = "购房复审登记", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/registrationManagement/{ids}")
|
||||
@DeleteMapping("/review/{ids}")
|
||||
@RsaSecurityParameter
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(iHousesReviewService.deleteWithValidByIds(Arrays.asList(ids), true));
|
||||
@ -176,6 +189,7 @@ public class HousesReviewController extends BaseController {
|
||||
*/
|
||||
@Log(title = "购房复审导入", businessType = BusinessType.IMPORT)
|
||||
@SaCheckPermission("system:review:import")
|
||||
@RsaSecurityParameter
|
||||
@PostMapping(value = "/review/importData", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
|
||||
public R<Void> importData(@RequestPart("file") MultipartFile file) throws Exception {
|
||||
ExcelResult<HousesReviewVo> result = ExcelUtil.importExcel(file.getInputStream(), HousesReviewVo.class, true);
|
||||
@ -216,6 +230,7 @@ public class HousesReviewController extends BaseController {
|
||||
*/
|
||||
@Log(title = "获取申报材料",businessType = BusinessType.OTHER)
|
||||
@PostMapping("/review/material")
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<?> getMaterialInfo(@RequestBody HousesReviewBo bo){
|
||||
return iHousesReviewService.getMaterialInfo(bo);
|
||||
}
|
||||
@ -225,6 +240,7 @@ public class HousesReviewController extends BaseController {
|
||||
*/
|
||||
@Log(title = "审核时返回当前人材料",businessType = BusinessType.OTHER)
|
||||
@GetMapping("/getMaterial/{id}")
|
||||
@RsaSecurityParameter
|
||||
public R<?> getMaterialByBusinessId(@PathVariable(value = "id") Long id){
|
||||
return iHousesReviewService.getMaterialByBusinessId(id);
|
||||
}
|
||||
|
||||
@ -11,6 +11,7 @@ import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
|
||||
import com.ruoyi.system.domain.bo.MaterialModuleBo;
|
||||
import com.ruoyi.system.domain.vo.MaterialModuleVo;
|
||||
import com.ruoyi.system.service.IMaterialModuleService;
|
||||
@ -43,12 +44,14 @@ public class MaterialModuleController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("material:module:list")
|
||||
@GetMapping("/list")
|
||||
@RsaSecurityParameter
|
||||
public TableDataInfo<MaterialModuleVo> list(MaterialModuleBo bo, PageQuery pageQuery) {
|
||||
return iMaterialModuleService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
@SaCheckPermission("material:materialList:list")
|
||||
@GetMapping("/materialList")
|
||||
@RsaSecurityParameter
|
||||
public R<?> materialList(MaterialModuleBo bo) {
|
||||
return iMaterialModuleService.selectMaterialList(bo);
|
||||
}
|
||||
@ -71,6 +74,7 @@ public class MaterialModuleController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("material:module:query")
|
||||
@GetMapping("/{id}")
|
||||
@RsaSecurityParameter
|
||||
public R<MaterialModuleVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
return R.ok(iMaterialModuleService.queryById(id));
|
||||
@ -83,6 +87,7 @@ public class MaterialModuleController extends BaseController {
|
||||
@Log(title = "材料模块", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody MaterialModuleBo bo) {
|
||||
return toAjax(iMaterialModuleService.insertByBo(bo));
|
||||
}
|
||||
@ -93,6 +98,7 @@ public class MaterialModuleController extends BaseController {
|
||||
@SaCheckPermission("material:module:edit")
|
||||
@Log(title = "材料模块", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody MaterialModuleBo bo) {
|
||||
return toAjax(iMaterialModuleService.updateByBo(bo));
|
||||
@ -106,6 +112,7 @@ public class MaterialModuleController extends BaseController {
|
||||
@SaCheckPermission("material:module:remove")
|
||||
@Log(title = "材料模块", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
@RsaSecurityParameter
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(iMaterialModuleService.deleteWithValidByIds(Arrays.asList(ids), true));
|
||||
|
||||
@ -9,6 +9,7 @@ import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
|
||||
import com.ruoyi.system.domain.bo.MaterialTalentsBo;
|
||||
import com.ruoyi.system.domain.vo.MaterialTalentsVo;
|
||||
import com.ruoyi.system.service.IMaterialTalentsService;
|
||||
@ -41,6 +42,7 @@ public class MaterialTalentsController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("material:talents:list")
|
||||
@GetMapping("/list")
|
||||
@RsaSecurityParameter
|
||||
public R<List<MaterialTalentsVo>> list(MaterialTalentsBo bo) {
|
||||
List<MaterialTalentsVo> list = iMaterialTalentsService.queryList(bo);
|
||||
return R.ok(list);
|
||||
@ -64,6 +66,7 @@ public class MaterialTalentsController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("material:talents:query")
|
||||
@GetMapping("/{id}")
|
||||
@RsaSecurityParameter
|
||||
public R<MaterialTalentsVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
return R.ok(iMaterialTalentsService.queryById(id));
|
||||
@ -76,6 +79,7 @@ public class MaterialTalentsController extends BaseController {
|
||||
@Log(title = "材料关系", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody MaterialTalentsBo bo) {
|
||||
return toAjax(iMaterialTalentsService.insertByBo(bo));
|
||||
}
|
||||
@ -87,6 +91,7 @@ public class MaterialTalentsController extends BaseController {
|
||||
@Log(title = "材料关系", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody MaterialTalentsBo bo) {
|
||||
return toAjax(iMaterialTalentsService.updateByBo(bo));
|
||||
}
|
||||
@ -99,6 +104,7 @@ public class MaterialTalentsController extends BaseController {
|
||||
@SaCheckPermission("material:talents:remove")
|
||||
@Log(title = "材料关系", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
@RsaSecurityParameter
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(iMaterialTalentsService.deleteWithValidByIds(Arrays.asList(ids), true));
|
||||
|
||||
@ -4,6 +4,7 @@ import java.util.List;
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
@ -44,6 +45,7 @@ public class SubscribeExportController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:export:list")
|
||||
@GetMapping("/list")
|
||||
@RsaSecurityParameter
|
||||
public TableDataInfo<SubscribeExportVo> list(SubscribeExportBo bo, PageQuery pageQuery) {
|
||||
return iSubscribeExportService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
@ -78,6 +80,7 @@ public class SubscribeExportController extends BaseController {
|
||||
@Log(title = "预约导出", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody SubscribeExportBo bo) {
|
||||
return toAjax(iSubscribeExportService.insertByBo(bo));
|
||||
}
|
||||
@ -89,6 +92,7 @@ public class SubscribeExportController extends BaseController {
|
||||
@Log(title = "预约导出", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SubscribeExportBo bo) {
|
||||
return toAjax(iSubscribeExportService.updateByBo(bo));
|
||||
}
|
||||
|
||||
@ -2,19 +2,18 @@ package com.ruoyi.web.controller.system;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.constant.UserConstants;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
|
||||
import com.ruoyi.system.domain.SysConfig;
|
||||
import com.ruoyi.system.service.ISysConfigService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
|
||||
@ -36,6 +35,7 @@ public class SysConfigController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:config:list")
|
||||
@GetMapping("/list")
|
||||
@RsaSecurityParameter
|
||||
public TableDataInfo<SysConfig> list(SysConfig config, PageQuery pageQuery) {
|
||||
return configService.selectPageConfigList(config, pageQuery);
|
||||
}
|
||||
@ -58,6 +58,7 @@ public class SysConfigController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:config:query")
|
||||
@GetMapping(value = "/{configId}")
|
||||
@RsaSecurityParameter
|
||||
public R<SysConfig> getInfo(@PathVariable Long configId) {
|
||||
return R.ok(configService.selectConfigById(configId));
|
||||
}
|
||||
@ -68,6 +69,7 @@ public class SysConfigController extends BaseController {
|
||||
* @param configKey 参数Key
|
||||
*/
|
||||
@GetMapping(value = "/configKey/{configKey}")
|
||||
@RsaSecurityParameter
|
||||
public R<Void> getConfigKey(@PathVariable String configKey) {
|
||||
return R.ok(configService.selectConfigByKey(configKey));
|
||||
}
|
||||
@ -78,6 +80,7 @@ public class SysConfigController extends BaseController {
|
||||
@SaCheckPermission("system:config:add")
|
||||
@Log(title = "参数管理", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> add(@Validated @RequestBody SysConfig config) {
|
||||
if (!configService.checkConfigKeyUnique(config)) {
|
||||
return R.fail("新增参数'" + config.getConfigName() + "'失败,参数键名已存在");
|
||||
@ -92,6 +95,7 @@ public class SysConfigController extends BaseController {
|
||||
@SaCheckPermission("system:config:edit")
|
||||
@Log(title = "参数管理", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> edit(@Validated @RequestBody SysConfig config) {
|
||||
if (!configService.checkConfigKeyUnique(config)) {
|
||||
return R.fail("修改参数'" + config.getConfigName() + "'失败,参数键名已存在");
|
||||
@ -106,6 +110,7 @@ public class SysConfigController extends BaseController {
|
||||
@SaCheckPermission("system:config:edit")
|
||||
@Log(title = "参数管理", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/updateByKey")
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> updateByKey(@RequestBody SysConfig config) {
|
||||
configService.updateConfig(config);
|
||||
return R.ok();
|
||||
@ -119,6 +124,7 @@ public class SysConfigController extends BaseController {
|
||||
@SaCheckPermission("system:config:remove")
|
||||
@Log(title = "参数管理", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{configIds}")
|
||||
@RsaSecurityParameter
|
||||
public R<Void> remove(@PathVariable Long[] configIds) {
|
||||
configService.deleteConfigByIds(configIds);
|
||||
return R.ok();
|
||||
@ -130,6 +136,7 @@ public class SysConfigController extends BaseController {
|
||||
@SaCheckPermission("system:config:remove")
|
||||
@Log(title = "参数管理", businessType = BusinessType.CLEAN)
|
||||
@DeleteMapping("/refreshCache")
|
||||
@RsaSecurityParameter
|
||||
public R<Void> refreshCache() {
|
||||
configService.resetConfigCache();
|
||||
return R.ok();
|
||||
|
||||
@ -9,6 +9,7 @@ import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.domain.entity.SysDept;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
|
||||
import com.ruoyi.system.service.ISysDeptService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@ -34,6 +35,7 @@ public class SysDeptController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:dept:list")
|
||||
@GetMapping("/list")
|
||||
@RsaSecurityParameter
|
||||
public R<List<SysDept>> list(SysDept dept) {
|
||||
List<SysDept> depts = deptService.selectDeptList(dept);
|
||||
return R.ok(depts);
|
||||
@ -46,6 +48,7 @@ public class SysDeptController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:dept:list")
|
||||
@GetMapping("/list/exclude/{deptId}")
|
||||
@RsaSecurityParameter
|
||||
public R<List<SysDept>> excludeChild(@PathVariable(value = "deptId", required = false) Long deptId) {
|
||||
List<SysDept> depts = deptService.selectDeptList(new SysDept());
|
||||
depts.removeIf(d -> d.getDeptId().equals(deptId)
|
||||
@ -60,6 +63,7 @@ public class SysDeptController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:dept:query")
|
||||
@GetMapping(value = "/{deptId}")
|
||||
@RsaSecurityParameter
|
||||
public R<SysDept> getInfo(@PathVariable Long deptId) {
|
||||
deptService.checkDeptDataScope(deptId);
|
||||
return R.ok(deptService.selectDeptById(deptId));
|
||||
@ -71,6 +75,7 @@ public class SysDeptController extends BaseController {
|
||||
@SaCheckPermission("system:dept:add")
|
||||
@Log(title = "部门管理", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> add(@Validated @RequestBody SysDept dept) {
|
||||
if (!deptService.checkDeptNameUnique(dept)) {
|
||||
return R.fail("新增部门'" + dept.getDeptName() + "'失败,部门名称已存在");
|
||||
@ -84,6 +89,7 @@ public class SysDeptController extends BaseController {
|
||||
@SaCheckPermission("system:dept:edit")
|
||||
@Log(title = "部门管理", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> edit(@Validated @RequestBody SysDept dept) {
|
||||
Long deptId = dept.getDeptId();
|
||||
deptService.checkDeptDataScope(deptId);
|
||||
|
||||
@ -10,6 +10,7 @@ import com.ruoyi.common.core.domain.entity.SysDictData;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
|
||||
import com.ruoyi.system.service.ISysDictDataService;
|
||||
import com.ruoyi.system.service.ISysDictTypeService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@ -39,6 +40,7 @@ public class SysDictDataController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:dict:list")
|
||||
@GetMapping("/list")
|
||||
@RsaSecurityParameter
|
||||
public TableDataInfo<SysDictData> list(SysDictData dictData, PageQuery pageQuery) {
|
||||
return dictDataService.selectPageDictDataList(dictData, pageQuery);
|
||||
}
|
||||
@ -61,6 +63,7 @@ public class SysDictDataController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:dict:query")
|
||||
@GetMapping(value = "/{dictCode}")
|
||||
@RsaSecurityParameter
|
||||
public R<SysDictData> getInfo(@PathVariable Long dictCode) {
|
||||
return R.ok(dictDataService.selectDictDataById(dictCode));
|
||||
}
|
||||
@ -71,6 +74,7 @@ public class SysDictDataController extends BaseController {
|
||||
* @param dictType 字典类型
|
||||
*/
|
||||
@GetMapping(value = "/type/{dictType}")
|
||||
@RsaSecurityParameter
|
||||
public R<List<SysDictData>> dictType(@PathVariable String dictType) {
|
||||
List<SysDictData> data = dictTypeService.selectDictDataByType(dictType);
|
||||
if (ObjectUtil.isNull(data)) {
|
||||
@ -85,6 +89,7 @@ public class SysDictDataController extends BaseController {
|
||||
@SaCheckPermission("system:dict:add")
|
||||
@Log(title = "字典数据", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> add(@Validated @RequestBody SysDictData dict) {
|
||||
dictDataService.insertDictData(dict);
|
||||
return R.ok();
|
||||
@ -96,6 +101,7 @@ public class SysDictDataController extends BaseController {
|
||||
@SaCheckPermission("system:dict:edit")
|
||||
@Log(title = "字典数据", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> edit(@Validated @RequestBody SysDictData dict) {
|
||||
dictDataService.updateDictData(dict);
|
||||
return R.ok();
|
||||
@ -109,6 +115,7 @@ public class SysDictDataController extends BaseController {
|
||||
@SaCheckPermission("system:dict:remove")
|
||||
@Log(title = "字典类型", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{dictCodes}")
|
||||
@RsaSecurityParameter
|
||||
public R<Void> remove(@PathVariable Long[] dictCodes) {
|
||||
dictDataService.deleteDictDataByIds(dictCodes);
|
||||
return R.ok();
|
||||
|
||||
@ -2,7 +2,6 @@ package com.ruoyi.web.controller.system;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.constant.UserConstants;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
@ -10,11 +9,11 @@ import com.ruoyi.common.core.domain.entity.SysDictType;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
|
||||
import com.ruoyi.system.service.ISysDictTypeService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
|
||||
@ -36,6 +35,7 @@ public class SysDictTypeController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:dict:list")
|
||||
@GetMapping("/list")
|
||||
@RsaSecurityParameter
|
||||
public TableDataInfo<SysDictType> list(SysDictType dictType, PageQuery pageQuery) {
|
||||
return dictTypeService.selectPageDictTypeList(dictType, pageQuery);
|
||||
}
|
||||
@ -46,6 +46,7 @@ public class SysDictTypeController extends BaseController {
|
||||
@Log(title = "字典类型", businessType = BusinessType.EXPORT)
|
||||
@SaCheckPermission("system:dict:export")
|
||||
@PostMapping("/export")
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public void export(SysDictType dictType, HttpServletResponse response) {
|
||||
List<SysDictType> list = dictTypeService.selectDictTypeList(dictType);
|
||||
ExcelUtil.exportExcel(list, "字典类型", SysDictType.class, response);
|
||||
@ -58,6 +59,7 @@ public class SysDictTypeController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:dict:query")
|
||||
@GetMapping(value = "/{dictId}")
|
||||
@RsaSecurityParameter
|
||||
public R<SysDictType> getInfo(@PathVariable Long dictId) {
|
||||
return R.ok(dictTypeService.selectDictTypeById(dictId));
|
||||
}
|
||||
@ -68,6 +70,7 @@ public class SysDictTypeController extends BaseController {
|
||||
@SaCheckPermission("system:dict:add")
|
||||
@Log(title = "字典类型", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> add(@Validated @RequestBody SysDictType dict) {
|
||||
if (!dictTypeService.checkDictTypeUnique(dict)) {
|
||||
return R.fail("新增字典'" + dict.getDictName() + "'失败,字典类型已存在");
|
||||
@ -82,6 +85,7 @@ public class SysDictTypeController extends BaseController {
|
||||
@SaCheckPermission("system:dict:edit")
|
||||
@Log(title = "字典类型", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> edit(@Validated @RequestBody SysDictType dict) {
|
||||
if (!dictTypeService.checkDictTypeUnique(dict)) {
|
||||
return R.fail("修改字典'" + dict.getDictName() + "'失败,字典类型已存在");
|
||||
@ -98,6 +102,7 @@ public class SysDictTypeController extends BaseController {
|
||||
@SaCheckPermission("system:dict:remove")
|
||||
@Log(title = "字典类型", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{dictIds}")
|
||||
@RsaSecurityParameter
|
||||
public R<Void> remove(@PathVariable Long[] dictIds) {
|
||||
dictTypeService.deleteDictTypeByIds(dictIds);
|
||||
return R.ok();
|
||||
@ -109,6 +114,7 @@ public class SysDictTypeController extends BaseController {
|
||||
@SaCheckPermission("system:dict:remove")
|
||||
@Log(title = "字典类型", businessType = BusinessType.CLEAN)
|
||||
@DeleteMapping("/refreshCache")
|
||||
@RsaSecurityParameter
|
||||
public R<Void> refreshCache() {
|
||||
dictTypeService.resetDictCache();
|
||||
return R.ok();
|
||||
@ -118,6 +124,7 @@ public class SysDictTypeController extends BaseController {
|
||||
* 获取字典选择框列表
|
||||
*/
|
||||
@GetMapping("/optionselect")
|
||||
@RsaSecurityParameter
|
||||
public R<List<SysDictType>> optionselect() {
|
||||
List<SysDictType> dictTypes = dictTypeService.selectDictTypeAll();
|
||||
return R.ok(dictTypes);
|
||||
|
||||
@ -10,9 +10,7 @@ import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
import com.ruoyi.common.core.domain.model.LoginBody;
|
||||
import com.ruoyi.common.core.domain.model.LoginUser;
|
||||
import com.ruoyi.common.core.domain.model.SmsLoginBody;
|
||||
import com.ruoyi.common.enums.LimitType;
|
||||
import com.ruoyi.common.helper.LoginHelper;
|
||||
import com.ruoyi.common.utils.JsonUtils;
|
||||
import com.ruoyi.common.utils.StrUtils;
|
||||
import com.ruoyi.common.utils.redis.RedisUtils;
|
||||
import com.ruoyi.common.utils.spring.SpringUtils;
|
||||
@ -26,13 +24,11 @@ import com.ruoyi.system.service.SysLoginService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.time.Duration;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* 登录验证
|
||||
@ -56,6 +52,7 @@ public class SysLoginController {
|
||||
*/
|
||||
@SaIgnore
|
||||
@PostMapping("/login")
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Map<String, Object>> login(
|
||||
// @Validated({LoginBody.passwordLogin.class})
|
||||
@RequestBody LoginBody loginBody) {
|
||||
@ -76,6 +73,7 @@ public class SysLoginController {
|
||||
*/
|
||||
@SaIgnore
|
||||
@PostMapping("/smsLogin")
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Map<String, Object>> smsLogin(
|
||||
@Validated({LoginBody.smgLogin.class})
|
||||
@RequestBody SmsLoginBody smsLoginBody) {
|
||||
@ -118,6 +116,7 @@ public class SysLoginController {
|
||||
* @return 用户信息
|
||||
*/
|
||||
@GetMapping("getInfo")
|
||||
@RsaSecurityParameter
|
||||
public R<Map<String, Object>> getInfo() {
|
||||
LoginUser loginUser = LoginHelper.getLoginUser();
|
||||
SysUser user = userService.selectUserById(loginUser.getUserId());
|
||||
|
||||
@ -9,11 +9,11 @@ import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.domain.entity.SysMenu;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
|
||||
import com.ruoyi.system.service.ISysMenuService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -36,6 +36,7 @@ public class SysMenuController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:menu:list")
|
||||
@GetMapping("/list")
|
||||
@RsaSecurityParameter
|
||||
public R<List<SysMenu>> list(SysMenu menu) {
|
||||
List<SysMenu> menus = menuService.selectMenuList(menu, getUserId());
|
||||
return R.ok(menus);
|
||||
@ -48,6 +49,7 @@ public class SysMenuController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:menu:query")
|
||||
@GetMapping(value = "/{menuId}")
|
||||
@RsaSecurityParameter
|
||||
public R<SysMenu> getInfo(@PathVariable Long menuId) {
|
||||
return R.ok(menuService.selectMenuById(menuId));
|
||||
}
|
||||
@ -56,6 +58,7 @@ public class SysMenuController extends BaseController {
|
||||
* 获取菜单下拉树列表
|
||||
*/
|
||||
@GetMapping("/treeselect")
|
||||
@RsaSecurityParameter
|
||||
public R<List<Tree<Long>>> treeselect(SysMenu menu) {
|
||||
List<SysMenu> menus = menuService.selectMenuList(menu, getUserId());
|
||||
return R.ok(menuService.buildMenuTreeSelect(menus));
|
||||
@ -66,6 +69,7 @@ public class SysMenuController extends BaseController {
|
||||
*
|
||||
* @param roleId 角色ID
|
||||
*/
|
||||
@RsaSecurityParameter
|
||||
@GetMapping(value = "/roleMenuTreeselect/{roleId}")
|
||||
public R<Map<String, Object>> roleMenuTreeselect(@PathVariable("roleId") Long roleId) {
|
||||
List<SysMenu> menus = menuService.selectMenuList(getUserId());
|
||||
@ -81,6 +85,7 @@ public class SysMenuController extends BaseController {
|
||||
@SaCheckPermission("system:menu:add")
|
||||
@Log(title = "菜单管理", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> add(@Validated @RequestBody SysMenu menu) {
|
||||
if (!menuService.checkMenuNameUnique(menu)) {
|
||||
return R.fail("新增菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
|
||||
@ -96,6 +101,7 @@ public class SysMenuController extends BaseController {
|
||||
@SaCheckPermission("system:menu:edit")
|
||||
@Log(title = "菜单管理", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> edit(@Validated @RequestBody SysMenu menu) {
|
||||
if (!menuService.checkMenuNameUnique(menu)) {
|
||||
return R.fail("修改菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
|
||||
@ -115,6 +121,7 @@ public class SysMenuController extends BaseController {
|
||||
@SaCheckPermission("system:menu:remove")
|
||||
@Log(title = "菜单管理", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{menuId}")
|
||||
@RsaSecurityParameter
|
||||
public R<Void> remove(@PathVariable("menuId") Long menuId) {
|
||||
if (menuService.hasChildByMenuId(menuId)) {
|
||||
return R.warn("存在子菜单,不允许删除");
|
||||
|
||||
@ -7,6 +7,7 @@ import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
|
||||
import com.ruoyi.system.domain.SysNotice;
|
||||
import com.ruoyi.system.service.ISysNoticeService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@ -31,6 +32,7 @@ public class SysNoticeController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:notice:list")
|
||||
@GetMapping("/list")
|
||||
@RsaSecurityParameter
|
||||
public TableDataInfo<SysNotice> list(SysNotice notice, PageQuery pageQuery) {
|
||||
return noticeService.selectPageNoticeList(notice, pageQuery);
|
||||
}
|
||||
@ -42,6 +44,7 @@ public class SysNoticeController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:notice:query")
|
||||
@GetMapping(value = "/{noticeId}")
|
||||
@RsaSecurityParameter
|
||||
public R<SysNotice> getInfo(@PathVariable Long noticeId) {
|
||||
return R.ok(noticeService.selectNoticeById(noticeId));
|
||||
}
|
||||
@ -52,6 +55,7 @@ public class SysNoticeController extends BaseController {
|
||||
@SaCheckPermission("system:notice:add")
|
||||
@Log(title = "通知公告", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> add(@Validated @RequestBody SysNotice notice) {
|
||||
return toAjax(noticeService.insertNotice(notice));
|
||||
}
|
||||
@ -62,6 +66,7 @@ public class SysNoticeController extends BaseController {
|
||||
@SaCheckPermission("system:notice:edit")
|
||||
@Log(title = "通知公告", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> edit(@Validated @RequestBody SysNotice notice) {
|
||||
return toAjax(noticeService.updateNotice(notice));
|
||||
}
|
||||
@ -74,6 +79,7 @@ public class SysNoticeController extends BaseController {
|
||||
@SaCheckPermission("system:notice:remove")
|
||||
@Log(title = "通知公告", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{noticeIds}")
|
||||
@RsaSecurityParameter
|
||||
public R<Void> remove(@PathVariable Long[] noticeIds) {
|
||||
return toAjax(noticeService.deleteNoticeByIds(noticeIds));
|
||||
}
|
||||
|
||||
@ -11,6 +11,7 @@ import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import com.ruoyi.common.core.validate.QueryGroup;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
|
||||
import com.ruoyi.system.domain.bo.SysOssConfigBo;
|
||||
import com.ruoyi.system.domain.vo.SysOssConfigVo;
|
||||
import com.ruoyi.system.service.ISysOssConfigService;
|
||||
@ -42,6 +43,7 @@ public class SysOssConfigController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:oss:list")
|
||||
@GetMapping("/list")
|
||||
@RsaSecurityParameter
|
||||
public TableDataInfo<SysOssConfigVo> list(@Validated(QueryGroup.class) SysOssConfigBo bo, PageQuery pageQuery) {
|
||||
return iSysOssConfigService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
@ -53,6 +55,7 @@ public class SysOssConfigController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:oss:query")
|
||||
@GetMapping("/{ossConfigId}")
|
||||
@RsaSecurityParameter
|
||||
public R<SysOssConfigVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long ossConfigId) {
|
||||
return R.ok(iSysOssConfigService.queryById(ossConfigId));
|
||||
@ -65,6 +68,7 @@ public class SysOssConfigController extends BaseController {
|
||||
@Log(title = "对象存储配置", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysOssConfigBo bo) {
|
||||
return toAjax(iSysOssConfigService.insertByBo(bo));
|
||||
}
|
||||
@ -76,6 +80,7 @@ public class SysOssConfigController extends BaseController {
|
||||
@Log(title = "对象存储配置", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysOssConfigBo bo) {
|
||||
return toAjax(iSysOssConfigService.updateByBo(bo));
|
||||
}
|
||||
@ -88,6 +93,7 @@ public class SysOssConfigController extends BaseController {
|
||||
@SaCheckPermission("system:oss:remove")
|
||||
@Log(title = "对象存储配置", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ossConfigIds}")
|
||||
@RsaSecurityParameter
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ossConfigIds) {
|
||||
return toAjax(iSysOssConfigService.deleteWithValidByIds(Arrays.asList(ossConfigIds), true));
|
||||
@ -99,6 +105,7 @@ public class SysOssConfigController extends BaseController {
|
||||
@SaCheckPermission("system:oss:edit")
|
||||
@Log(title = "对象存储状态修改", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/changeStatus")
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> changeStatus(@RequestBody SysOssConfigBo bo) {
|
||||
return toAjax(iSysOssConfigService.updateOssConfigStatus(bo));
|
||||
}
|
||||
|
||||
@ -2,10 +2,7 @@ package com.ruoyi.web.controller.system;
|
||||
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.http.HttpException;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
@ -14,10 +11,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.validate.QueryGroup;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.utils.file.FileUtils;
|
||||
import com.ruoyi.oss.core.OssClient;
|
||||
import com.ruoyi.oss.factory.OssFactory;
|
||||
import com.ruoyi.system.domain.SysOss;
|
||||
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
|
||||
import com.ruoyi.system.domain.bo.SysOssBo;
|
||||
import com.ruoyi.system.domain.vo.SysOssVo;
|
||||
import com.ruoyi.system.service.ISysOssService;
|
||||
@ -26,7 +20,6 @@ import org.springframework.http.MediaType;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import java.io.IOException;
|
||||
@ -53,6 +46,7 @@ public class SysOssController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:oss:list")
|
||||
@GetMapping("/list")
|
||||
@RsaSecurityParameter
|
||||
public TableDataInfo<SysOssVo> list(@Validated(QueryGroup.class) SysOssBo bo, PageQuery pageQuery) {
|
||||
return iSysOssService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
@ -64,6 +58,7 @@ public class SysOssController extends BaseController {
|
||||
*/
|
||||
// @SaCheckPermission("system:oss:list")
|
||||
@GetMapping("/listByIds/{ossIds}")
|
||||
@RsaSecurityParameter
|
||||
public R<List<SysOssVo>> listByIds(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ossIds) {
|
||||
List<SysOssVo> list = iSysOssService.listByIds(Arrays.asList(ossIds));
|
||||
@ -78,6 +73,7 @@ public class SysOssController extends BaseController {
|
||||
@SaCheckPermission("system:oss:upload")
|
||||
@Log(title = "OSS对象存储", businessType = BusinessType.INSERT)
|
||||
@PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
|
||||
@RsaSecurityParameter
|
||||
public R<Map<String, String>> upload(@RequestPart("file") MultipartFile file) {
|
||||
if (ObjectUtil.isNull(file)) {
|
||||
throw new ServiceException("上传文件不能为空");
|
||||
@ -97,6 +93,7 @@ public class SysOssController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:oss:download")
|
||||
@GetMapping("/download/{ossId}")
|
||||
@RsaSecurityParameter
|
||||
public void download(@PathVariable Long ossId, HttpServletResponse response) throws IOException {
|
||||
iSysOssService.download(ossId,response);
|
||||
}
|
||||
@ -109,6 +106,7 @@ public class SysOssController extends BaseController {
|
||||
@SaCheckPermission("system:oss:remove")
|
||||
@Log(title = "OSS对象存储", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ossIds}")
|
||||
@RsaSecurityParameter
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ossIds) {
|
||||
return toAjax(iSysOssService.deleteWithValidByIds(Arrays.asList(ossIds), true));
|
||||
|
||||
@ -2,19 +2,18 @@ package com.ruoyi.web.controller.system;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.constant.UserConstants;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
|
||||
import com.ruoyi.system.domain.SysPost;
|
||||
import com.ruoyi.system.service.ISysPostService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
|
||||
@ -36,6 +35,7 @@ public class SysPostController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:post:list")
|
||||
@GetMapping("/list")
|
||||
@RsaSecurityParameter
|
||||
public TableDataInfo<SysPost> list(SysPost post, PageQuery pageQuery) {
|
||||
return postService.selectPagePostList(post, pageQuery);
|
||||
}
|
||||
@ -58,6 +58,7 @@ public class SysPostController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:post:query")
|
||||
@GetMapping(value = "/{postId}")
|
||||
@RsaSecurityParameter
|
||||
public R<SysPost> getInfo(@PathVariable Long postId) {
|
||||
return R.ok(postService.selectPostById(postId));
|
||||
}
|
||||
@ -68,6 +69,7 @@ public class SysPostController extends BaseController {
|
||||
@SaCheckPermission("system:post:add")
|
||||
@Log(title = "岗位管理", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> add(@Validated @RequestBody SysPost post) {
|
||||
if (!postService.checkPostNameUnique(post)) {
|
||||
return R.fail("新增岗位'" + post.getPostName() + "'失败,岗位名称已存在");
|
||||
@ -83,6 +85,7 @@ public class SysPostController extends BaseController {
|
||||
@SaCheckPermission("system:post:edit")
|
||||
@Log(title = "岗位管理", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> edit(@Validated @RequestBody SysPost post) {
|
||||
if (!postService.checkPostNameUnique(post)) {
|
||||
return R.fail("修改岗位'" + post.getPostName() + "'失败,岗位名称已存在");
|
||||
@ -100,6 +103,7 @@ public class SysPostController extends BaseController {
|
||||
@SaCheckPermission("system:post:remove")
|
||||
@Log(title = "岗位管理", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{postIds}")
|
||||
@RsaSecurityParameter
|
||||
public R<Void> remove(@PathVariable Long[] postIds) {
|
||||
return toAjax(postService.deletePostByIds(postIds));
|
||||
}
|
||||
@ -108,6 +112,7 @@ public class SysPostController extends BaseController {
|
||||
* 获取岗位选择框列表
|
||||
*/
|
||||
@GetMapping("/optionselect")
|
||||
@RsaSecurityParameter
|
||||
public R<List<SysPost>> optionselect() {
|
||||
List<SysPost> posts = postService.selectPostAll();
|
||||
return R.ok(posts);
|
||||
|
||||
@ -3,7 +3,6 @@ package com.ruoyi.web.controller.system;
|
||||
import cn.dev33.satoken.secure.BCrypt;
|
||||
import cn.hutool.core.io.FileUtil;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.constant.UserConstants;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
@ -11,7 +10,7 @@ import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.helper.LoginHelper;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.utils.file.MimeTypeUtils;
|
||||
import com.ruoyi.system.domain.SysOss;
|
||||
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
|
||||
import com.ruoyi.system.domain.vo.SysOssVo;
|
||||
import com.ruoyi.system.service.ISysOssService;
|
||||
import com.ruoyi.system.service.ISysUserService;
|
||||
@ -20,7 +19,6 @@ import org.springframework.http.MediaType;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@ -43,6 +41,7 @@ public class SysProfileController extends BaseController {
|
||||
* 个人信息
|
||||
*/
|
||||
@GetMapping
|
||||
@RsaSecurityParameter
|
||||
public R<Map<String, Object>> profile() {
|
||||
SysUser user = userService.selectUserById(getUserId());
|
||||
Map<String, Object> ajax = new HashMap<>();
|
||||
@ -57,6 +56,7 @@ public class SysProfileController extends BaseController {
|
||||
*/
|
||||
@Log(title = "个人信息", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> updateProfile(@RequestBody SysUser user) {
|
||||
if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
|
||||
return R.fail("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
|
||||
@ -83,6 +83,7 @@ public class SysProfileController extends BaseController {
|
||||
*/
|
||||
@Log(title = "个人信息", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/updatePwd")
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> updatePwd(String oldPassword, String newPassword) {
|
||||
SysUser user = userService.selectUserById(LoginHelper.getUserId());
|
||||
String userName = user.getUserName();
|
||||
@ -106,6 +107,7 @@ public class SysProfileController extends BaseController {
|
||||
* @param avatarfile 用户头像
|
||||
*/
|
||||
@Log(title = "用户头像", businessType = BusinessType.UPDATE)
|
||||
@RsaSecurityParameter
|
||||
@PostMapping(value = "/avatar", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
|
||||
public R<Map<String, Object>> avatar(@RequestPart("avatarfile") MultipartFile avatarfile) {
|
||||
Map<String, Object> ajax = new HashMap<>();
|
||||
|
||||
@ -4,6 +4,7 @@ import cn.dev33.satoken.annotation.SaIgnore;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.domain.model.RegisterBody;
|
||||
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
|
||||
import com.ruoyi.system.service.ISysConfigService;
|
||||
import com.ruoyi.system.service.SysRegisterService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@ -30,6 +31,7 @@ public class SysRegisterController extends BaseController {
|
||||
*/
|
||||
@SaIgnore
|
||||
@PostMapping("/register")
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> register(@Validated @RequestBody RegisterBody user) {
|
||||
if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser")))) {
|
||||
return R.fail("当前系统没有开启注册功能!");
|
||||
|
||||
@ -6,7 +6,6 @@ import cn.dev33.satoken.stp.StpUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.constant.CacheConstants;
|
||||
import com.ruoyi.common.constant.UserConstants;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
@ -18,15 +17,14 @@ import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.helper.LoginHelper;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
|
||||
import com.ruoyi.system.domain.SysUserRole;
|
||||
import com.ruoyi.system.service.ISysDeptService;
|
||||
import com.ruoyi.system.service.ISysRoleService;
|
||||
import com.ruoyi.system.service.ISysUserService;
|
||||
import com.ruoyi.system.service.SysPermissionService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@ -46,13 +44,13 @@ public class SysRoleController extends BaseController {
|
||||
private final ISysRoleService roleService;
|
||||
private final ISysUserService userService;
|
||||
private final ISysDeptService deptService;
|
||||
private final SysPermissionService permissionService;
|
||||
|
||||
/**
|
||||
* 获取角色信息列表
|
||||
*/
|
||||
@SaCheckPermission("system:role:list")
|
||||
@GetMapping("/list")
|
||||
@RsaSecurityParameter
|
||||
public TableDataInfo<SysRole> list(SysRole role, PageQuery pageQuery) {
|
||||
return roleService.selectPageRoleList(role, pageQuery);
|
||||
}
|
||||
@ -75,6 +73,7 @@ public class SysRoleController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:role:query")
|
||||
@GetMapping(value = "/{roleId}")
|
||||
@RsaSecurityParameter
|
||||
public R<SysRole> getInfo(@PathVariable Long roleId) {
|
||||
roleService.checkRoleDataScope(roleId);
|
||||
return R.ok(roleService.selectRoleById(roleId));
|
||||
@ -86,6 +85,7 @@ public class SysRoleController extends BaseController {
|
||||
@SaCheckPermission("system:role:add")
|
||||
@Log(title = "角色管理", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> add(@Validated @RequestBody SysRole role) {
|
||||
if (!roleService.checkRoleNameUnique(role)) {
|
||||
return R.fail("新增角色'" + role.getRoleName() + "'失败,角色名称已存在");
|
||||
@ -102,6 +102,7 @@ public class SysRoleController extends BaseController {
|
||||
@SaCheckPermission("system:role:edit")
|
||||
@Log(title = "角色管理", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> edit(@Validated @RequestBody SysRole role) {
|
||||
roleService.checkRoleAllowed(role);
|
||||
roleService.checkRoleDataScope(role.getRoleId());
|
||||
@ -142,6 +143,7 @@ public class SysRoleController extends BaseController {
|
||||
@SaCheckPermission("system:role:edit")
|
||||
@Log(title = "角色管理", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/dataScope")
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> dataScope(@RequestBody SysRole role) {
|
||||
roleService.checkRoleAllowed(role);
|
||||
roleService.checkRoleDataScope(role.getRoleId());
|
||||
@ -154,6 +156,7 @@ public class SysRoleController extends BaseController {
|
||||
@SaCheckPermission("system:role:edit")
|
||||
@Log(title = "角色管理", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/changeStatus")
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> changeStatus(@RequestBody SysRole role) {
|
||||
roleService.checkRoleAllowed(role);
|
||||
roleService.checkRoleDataScope(role.getRoleId());
|
||||
@ -168,6 +171,7 @@ public class SysRoleController extends BaseController {
|
||||
@SaCheckPermission("system:role:remove")
|
||||
@Log(title = "角色管理", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{roleIds}")
|
||||
@RsaSecurityParameter
|
||||
public R<Void> remove(@PathVariable Long[] roleIds) {
|
||||
return toAjax(roleService.deleteRoleByIds(roleIds));
|
||||
}
|
||||
@ -177,6 +181,7 @@ public class SysRoleController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:role:query")
|
||||
@GetMapping("/optionselect")
|
||||
@RsaSecurityParameter
|
||||
public R<List<SysRole>> optionselect() {
|
||||
return R.ok(roleService.selectRoleAll());
|
||||
}
|
||||
@ -186,6 +191,7 @@ public class SysRoleController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:role:list")
|
||||
@GetMapping("/authUser/allocatedList")
|
||||
@RsaSecurityParameter
|
||||
public TableDataInfo<SysUser> allocatedList(SysUser user, PageQuery pageQuery) {
|
||||
return userService.selectAllocatedList(user, pageQuery);
|
||||
}
|
||||
@ -195,6 +201,7 @@ public class SysRoleController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:role:list")
|
||||
@GetMapping("/authUser/unallocatedList")
|
||||
@RsaSecurityParameter
|
||||
public TableDataInfo<SysUser> unallocatedList(SysUser user, PageQuery pageQuery) {
|
||||
return userService.selectUnallocatedList(user, pageQuery);
|
||||
}
|
||||
@ -205,6 +212,7 @@ public class SysRoleController extends BaseController {
|
||||
@SaCheckPermission("system:role:edit")
|
||||
@Log(title = "角色管理", businessType = BusinessType.GRANT)
|
||||
@PutMapping("/authUser/cancel")
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> cancelAuthUser(@RequestBody SysUserRole userRole) {
|
||||
return toAjax(roleService.deleteAuthUser(userRole));
|
||||
}
|
||||
@ -218,6 +226,7 @@ public class SysRoleController extends BaseController {
|
||||
@SaCheckPermission("system:role:edit")
|
||||
@Log(title = "角色管理", businessType = BusinessType.GRANT)
|
||||
@PutMapping("/authUser/cancelAll")
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> cancelAuthUserAll(Long roleId, Long[] userIds) {
|
||||
return toAjax(roleService.deleteAuthUsers(roleId, userIds));
|
||||
}
|
||||
@ -231,6 +240,7 @@ public class SysRoleController extends BaseController {
|
||||
@SaCheckPermission("system:role:edit")
|
||||
@Log(title = "角色管理", businessType = BusinessType.GRANT)
|
||||
@PutMapping("/authUser/selectAll")
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> selectAuthUserAll(Long roleId, Long[] userIds) {
|
||||
roleService.checkRoleDataScope(roleId);
|
||||
return toAjax(roleService.insertAuthUsers(roleId, userIds));
|
||||
@ -243,6 +253,7 @@ public class SysRoleController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:role:list")
|
||||
@GetMapping(value = "/deptTree/{roleId}")
|
||||
@RsaSecurityParameter
|
||||
public R<Map<String, Object>> roleDeptTreeselect(@PathVariable("roleId") Long roleId) {
|
||||
Map<String, Object> ajax = new HashMap<>();
|
||||
ajax.put("checkedKeys", deptService.selectDeptListByRoleId(roleId));
|
||||
|
||||
@ -7,7 +7,6 @@ import cn.hutool.core.lang.tree.Tree;
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.constant.UserConstants;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
@ -21,6 +20,7 @@ import com.ruoyi.common.helper.LoginHelper;
|
||||
import com.ruoyi.common.utils.StreamUtils;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
|
||||
import com.ruoyi.system.domain.vo.SysUserExportVo;
|
||||
import com.ruoyi.system.domain.vo.SysUserImportVo;
|
||||
import com.ruoyi.system.listener.SysUserImportListener;
|
||||
@ -33,7 +33,6 @@ import org.springframework.http.MediaType;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
@ -61,6 +60,7 @@ public class SysUserController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:user:list")
|
||||
@GetMapping("/list")
|
||||
@RsaSecurityParameter
|
||||
public TableDataInfo<SysUser> list(SysUser user, PageQuery pageQuery) {
|
||||
return userService.selectPageUserList(user, pageQuery);
|
||||
}
|
||||
@ -70,6 +70,7 @@ public class SysUserController extends BaseController {
|
||||
*/
|
||||
@Log(title = "用户管理", businessType = BusinessType.EXPORT)
|
||||
@SaCheckPermission("system:user:export")
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
@PostMapping("/export")
|
||||
public void export(SysUser user, HttpServletResponse response) {
|
||||
List<SysUser> list = userService.selectUserList(user);
|
||||
@ -93,6 +94,7 @@ public class SysUserController extends BaseController {
|
||||
*/
|
||||
@Log(title = "用户管理", businessType = BusinessType.IMPORT)
|
||||
@SaCheckPermission("system:user:import")
|
||||
@RsaSecurityParameter
|
||||
@PostMapping(value = "/importData", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
|
||||
public R<Void> importData(@RequestPart("file") MultipartFile file, boolean updateSupport) throws Exception {
|
||||
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")
|
||||
@GetMapping(value = {"/", "/{userId}"})
|
||||
@RsaSecurityParameter
|
||||
public R<Map<String, Object>> getInfo(@PathVariable(value = "userId", required = false) Long userId) {
|
||||
userService.checkUserDataScope(userId);
|
||||
Map<String, Object> ajax = new HashMap<>();
|
||||
@ -135,6 +138,7 @@ public class SysUserController extends BaseController {
|
||||
@SaCheckPermission("system:user:add")
|
||||
@Log(title = "用户管理", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> add(@Validated @RequestBody SysUser user) {
|
||||
if (!userService.checkUserNameUnique(user)) {
|
||||
return R.fail("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
|
||||
@ -153,6 +157,7 @@ public class SysUserController extends BaseController {
|
||||
@SaCheckPermission("system:user:edit")
|
||||
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> edit(@Validated @RequestBody SysUser user) {
|
||||
userService.checkUserAllowed(user);
|
||||
userService.checkUserDataScope(user.getUserId());
|
||||
@ -174,6 +179,7 @@ public class SysUserController extends BaseController {
|
||||
@SaCheckPermission("system:user:remove")
|
||||
@Log(title = "用户管理", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{userIds}")
|
||||
@RsaSecurityParameter
|
||||
public R<Void> remove(@PathVariable Long[] userIds) {
|
||||
if (ArrayUtil.contains(userIds, getUserId())) {
|
||||
return R.fail("当前用户不能删除");
|
||||
@ -187,6 +193,7 @@ public class SysUserController extends BaseController {
|
||||
@SaCheckPermission("system:user:resetPwd")
|
||||
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/resetPwd")
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> resetPwd(@RequestBody SysUser user) {
|
||||
userService.checkUserAllowed(user);
|
||||
userService.checkUserDataScope(user.getUserId());
|
||||
@ -200,6 +207,7 @@ public class SysUserController extends BaseController {
|
||||
@SaCheckPermission("system:user:edit")
|
||||
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/changeStatus")
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> changeStatus(@RequestBody SysUser user) {
|
||||
userService.checkUserAllowed(user);
|
||||
userService.checkUserDataScope(user.getUserId());
|
||||
@ -213,6 +221,7 @@ public class SysUserController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:user:query")
|
||||
@GetMapping("/authRole/{userId}")
|
||||
@RsaSecurityParameter
|
||||
public R<Map<String, Object>> authRole(@PathVariable Long userId) {
|
||||
SysUser user = userService.selectUserById(userId);
|
||||
List<SysRole> roles = roleService.selectRolesByUserId(userId);
|
||||
@ -231,6 +240,7 @@ public class SysUserController extends BaseController {
|
||||
@SaCheckPermission("system:user:edit")
|
||||
@Log(title = "用户管理", businessType = BusinessType.GRANT)
|
||||
@PutMapping("/authRole")
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<Void> insertAuthRole(Long userId, Long[] roleIds) {
|
||||
userService.checkUserDataScope(userId);
|
||||
userService.insertUserAuth(userId, roleIds);
|
||||
@ -242,6 +252,7 @@ public class SysUserController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("system:user:list")
|
||||
@GetMapping("/deptTree")
|
||||
@RsaSecurityParameter
|
||||
public R<List<Tree<Long>>> deptTree(SysDept dept) {
|
||||
return R.ok(deptService.selectDeptTreeList(dept));
|
||||
}
|
||||
|
||||
@ -102,12 +102,12 @@ spring:
|
||||
spring:
|
||||
redis:
|
||||
# 地址
|
||||
# host: 119.96.86.131
|
||||
host: 127.0.0.1
|
||||
host: 119.96.86.131
|
||||
# host: 127.0.0.1
|
||||
# 端口,默认为6379
|
||||
port: 6379
|
||||
# 数据库索引
|
||||
database: 0
|
||||
database: 1
|
||||
# 密码(如没有密码请注释掉)
|
||||
password: 123456
|
||||
# 连接超时时间
|
||||
|
||||
@ -4,7 +4,7 @@ spring.servlet.multipart.location: /ruoyi/server/temp
|
||||
--- # 监控中心配置
|
||||
spring.boot.admin.client:
|
||||
# 增加客户端开关
|
||||
enabled: true
|
||||
enabled: false
|
||||
url: http://localhost:9090/admin
|
||||
instance:
|
||||
service-host-type: IP
|
||||
@ -14,7 +14,7 @@ spring.boot.admin.client:
|
||||
--- # xxl-job 配置
|
||||
xxl.job:
|
||||
# 执行器开关
|
||||
enabled: true
|
||||
enabled: false
|
||||
# 调度中心地址:如调度中心集群部署存在多个地址则用逗号分隔。
|
||||
admin-addresses: http://localhost:9100/xxl-job-admin
|
||||
# 执行器通讯TOKEN:非空时启用
|
||||
@ -40,7 +40,7 @@ spring:
|
||||
# 动态数据源文档 https://www.kancloud.cn/tracy5546/dynamic-datasource/content
|
||||
dynamic:
|
||||
# 性能分析插件(有性能损耗 不建议生产环境使用)
|
||||
p6spy: false
|
||||
p6spy: true
|
||||
# 设置默认的数据源或者数据源组,默认值即为 master
|
||||
primary: master
|
||||
# 严格模式 匹配不到数据源则报错
|
||||
@ -52,9 +52,10 @@ spring:
|
||||
driverClassName: com.mysql.cj.jdbc.Driver
|
||||
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
|
||||
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
|
||||
url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
|
||||
url: jdbc:mysql://182.150.40.133:3309/ry-vue-house?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
|
||||
# url: jdbc:mysql://localhost:3306/ry-vue-jinniu?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
|
||||
username: root
|
||||
password: root
|
||||
password: 1234Qwer@
|
||||
# 从库数据源
|
||||
slave:
|
||||
lazy: true
|
||||
@ -63,26 +64,26 @@ spring:
|
||||
url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
|
||||
username:
|
||||
password:
|
||||
# oracle:
|
||||
# type: ${spring.datasource.type}
|
||||
# driverClassName: oracle.jdbc.OracleDriver
|
||||
# url: jdbc:oracle:thin:@//localhost:1521/XE
|
||||
# username: ROOT
|
||||
# password: root
|
||||
# hikari:
|
||||
# connectionTestQuery: SELECT 1 FROM DUAL
|
||||
# postgres:
|
||||
# type: ${spring.datasource.type}
|
||||
# driverClassName: org.postgresql.Driver
|
||||
# url: jdbc:postgresql://localhost:5432/postgres?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true
|
||||
# username: root
|
||||
# password: root
|
||||
# sqlserver:
|
||||
# type: ${spring.datasource.type}
|
||||
# driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
|
||||
# url: jdbc:sqlserver://localhost:1433;DatabaseName=tempdb;SelectMethod=cursor;encrypt=false;rewriteBatchedStatements=true
|
||||
# username: SA
|
||||
# password: root
|
||||
# oracle:
|
||||
# type: ${spring.datasource.type}
|
||||
# driverClassName: oracle.jdbc.OracleDriver
|
||||
# url: jdbc:oracle:thin:@//localhost:1521/XE
|
||||
# username: ROOT
|
||||
# password: root
|
||||
# hikari:
|
||||
# connectionTestQuery: SELECT 1 FROM DUAL
|
||||
# postgres:
|
||||
# type: ${spring.datasource.type}
|
||||
# driverClassName: org.postgresql.Driver
|
||||
# url: jdbc:postgresql://localhost:5432/postgres?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true
|
||||
# username: root
|
||||
# password: root
|
||||
# sqlserver:
|
||||
# type: ${spring.datasource.type}
|
||||
# driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
|
||||
# url: jdbc:sqlserver://localhost:1433;DatabaseName=tempdb;SelectMethod=cursor;encrypt=false;rewriteBatchedStatements=true
|
||||
# username: SA
|
||||
# password: root
|
||||
hikari:
|
||||
# 最大连接池数量
|
||||
maxPoolSize: 20
|
||||
@ -105,13 +106,14 @@ spring:
|
||||
spring:
|
||||
redis:
|
||||
# 地址
|
||||
host: localhost
|
||||
host: 119.96.86.131
|
||||
# host: 127.0.0.1
|
||||
# 端口,默认为6379
|
||||
port: 6379
|
||||
# 数据库索引
|
||||
database: 0
|
||||
database: 2
|
||||
# 密码(如没有密码请注释掉)
|
||||
# password:
|
||||
password: 123456
|
||||
# 连接超时时间
|
||||
timeout: 10s
|
||||
# 是否开启ssl
|
||||
@ -121,17 +123,17 @@ redisson:
|
||||
# redis key前缀
|
||||
keyPrefix:
|
||||
# 线程池数量
|
||||
threads: 16
|
||||
threads: 4
|
||||
# Netty线程池数量
|
||||
nettyThreads: 32
|
||||
nettyThreads: 8
|
||||
# 单节点配置
|
||||
singleServerConfig:
|
||||
# 客户端名称
|
||||
clientName: ${ruoyi.name}
|
||||
# 最小空闲连接数
|
||||
connectionMinimumIdleSize: 32
|
||||
connectionMinimumIdleSize: 8
|
||||
# 连接池大小
|
||||
connectionPoolSize: 64
|
||||
connectionPoolSize: 32
|
||||
# 连接空闲超时,单位:毫秒
|
||||
idleConnectionTimeout: 10000
|
||||
# 命令等待超时,单位:毫秒
|
||||
@ -163,12 +165,51 @@ mail:
|
||||
|
||||
--- # sms 短信
|
||||
sms:
|
||||
enabled: false
|
||||
enabled: true
|
||||
# 阿里云 dysmsapi.aliyuncs.com
|
||||
# 腾讯云 sms.tencentcloudapi.com
|
||||
endpoint: "dysmsapi.aliyuncs.com"
|
||||
accessKeyId: xxxxxxx
|
||||
accessKeySecret: xxxxxx
|
||||
signName: 测试
|
||||
accessKeyId: LTAI564a5PHBmDPI
|
||||
accessKeySecret: 0ba8OURvLI9e174t8nIGnsKMQtraov
|
||||
signName: 成都软银
|
||||
# 腾讯专用
|
||||
sdkAppId:
|
||||
|
||||
# 本地文件存储
|
||||
#windows
|
||||
#file:
|
||||
# domain: http://192.168.0.54:8080
|
||||
# path: D:\\gaoxin\\images
|
||||
# prefix: /images
|
||||
# size: 10
|
||||
# template: D:\\gaoxin\\template\\
|
||||
# doc: D:\\gaoxin\\doc\\
|
||||
# mapping: /doc
|
||||
|
||||
#Linux dev
|
||||
file:
|
||||
domain: https://mihuatang.xyz
|
||||
path: /home/taxi/images
|
||||
prefix: /images
|
||||
size: 10
|
||||
template: /usr/local/template/
|
||||
doc: /usr/local/doc
|
||||
mapping: /doc
|
||||
|
||||
# domain: 192.168.0.54:8080
|
||||
# path: D:\\gaoxin\\images
|
||||
# prefix: /images
|
||||
# size: 10
|
||||
|
||||
#图片识别
|
||||
ocr:
|
||||
clientId: eo1xM8KcB6ICi6k1kVGsmnR9
|
||||
#clientId: lUDaDgrPGRsMFN7qw21u5Cta
|
||||
#clientSecret: znOBkwZwQ4G8PmeKT8ELDHoqdcPxnX4a
|
||||
clientSecret: lZ9q4E6C0ftstwgL0Tt8UCroI5bOZ6YD
|
||||
license:
|
||||
APPID: 2d33f6f6
|
||||
API_KEY: bd1a2416dfae01a9c018bb28a28eb7cb
|
||||
WEBOCR_URL: http://webapi.xfyun.cn/v1/service/v1/ocr/business_license
|
||||
ENGINE_TYPE: business_license
|
||||
|
||||
|
||||
@ -27,7 +27,7 @@ captcha:
|
||||
# 开发环境配置
|
||||
server:
|
||||
# 服务器的HTTP端口,默认为8080
|
||||
port: 8080
|
||||
port: 8084
|
||||
servlet:
|
||||
# 应用的访问路径
|
||||
context-path: /
|
||||
@ -89,6 +89,7 @@ spring:
|
||||
jackson:
|
||||
# 日期格式化
|
||||
date-format: yyyy-MM-dd HH:mm:ss
|
||||
time-zone: GMT+8
|
||||
serialization:
|
||||
# 格式化输出
|
||||
indent_output: false
|
||||
|
||||
@ -40,7 +40,7 @@ public class BaseEntity implements Serializable {
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
@ -53,6 +53,7 @@ public class BaseEntity implements Serializable {
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.ruoyi.common.core.domain.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
@ -27,7 +28,7 @@ public class SysDept extends TreeEntity<SysDept> {
|
||||
/**
|
||||
* 部门ID
|
||||
*/
|
||||
@TableId(value = "dept_id")
|
||||
@TableId(value = "dept_id",type = IdType.AUTO)
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
|
||||
@ -2,6 +2,7 @@ package com.ruoyi.common.core.domain.entity;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||
@ -30,7 +31,7 @@ public class SysDictData extends BaseEntity {
|
||||
* 字典编码
|
||||
*/
|
||||
@ExcelProperty(value = "字典编码")
|
||||
@TableId(value = "dict_code")
|
||||
@TableId(value = "dict_code",type = IdType.AUTO)
|
||||
private Long dictCode;
|
||||
|
||||
/**
|
||||
|
||||
@ -2,6 +2,7 @@ package com.ruoyi.common.core.domain.entity;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||
@ -30,7 +31,7 @@ public class SysDictType extends BaseEntity {
|
||||
* 字典主键
|
||||
*/
|
||||
@ExcelProperty(value = "字典主键")
|
||||
@TableId(value = "dict_id")
|
||||
@TableId(value = "dict_id",type = IdType.AUTO)
|
||||
private Long dictId;
|
||||
|
||||
/**
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.ruoyi.common.core.domain.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
@ -25,7 +26,7 @@ public class SysMenu extends TreeEntity<SysMenu> {
|
||||
/**
|
||||
* 菜单ID
|
||||
*/
|
||||
@TableId(value = "menu_id")
|
||||
@TableId(value = "menu_id",type = IdType.AUTO)
|
||||
private Long menuId;
|
||||
|
||||
/**
|
||||
|
||||
@ -2,10 +2,7 @@ package com.ruoyi.common.core.domain.entity;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||
import com.ruoyi.common.constant.UserConstants;
|
||||
import com.ruoyi.common.convert.ExcelDictConvert;
|
||||
@ -35,7 +32,7 @@ public class SysRole extends BaseEntity {
|
||||
* 角色ID
|
||||
*/
|
||||
@ExcelProperty(value = "角色序号")
|
||||
@TableId(value = "role_id")
|
||||
@TableId(value = "role_id",type = IdType.AUTO)
|
||||
private Long roleId;
|
||||
|
||||
/**
|
||||
|
||||
@ -33,7 +33,7 @@ public class SysUser extends BaseEntity {
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
@TableId(value = "user_id")
|
||||
@TableId(value = "user_id",type = IdType.AUTO)
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
|
||||
@ -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)));
|
||||
}
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
@ -22,7 +22,7 @@ public class TestDemo extends BaseEntity {
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
|
||||
@ -1,9 +1,6 @@
|
||||
package com.ruoyi.demo.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.Version;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.ruoyi.common.core.domain.TreeEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
@ -25,7 +22,7 @@ public class TestTree extends TreeEntity<TestTree> {
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
|
||||
@ -26,7 +26,7 @@ public class GenTable extends BaseEntity {
|
||||
/**
|
||||
* 编号
|
||||
*/
|
||||
@TableId(value = "table_id")
|
||||
@TableId(value = "table_id",type = IdType.AUTO)
|
||||
private Long tableId;
|
||||
|
||||
/**
|
||||
|
||||
@ -1,9 +1,6 @@
|
||||
package com.ruoyi.generator.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldStrategy;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import lombok.Data;
|
||||
@ -26,7 +23,7 @@ public class GenTableColumn extends BaseEntity {
|
||||
/**
|
||||
* 编号
|
||||
*/
|
||||
@TableId(value = "column_id")
|
||||
@TableId(value = "column_id",type = IdType.AUTO)
|
||||
private Long columnId;
|
||||
|
||||
/**
|
||||
|
||||
@ -26,6 +26,12 @@
|
||||
<dependency>
|
||||
<groupId>com.amazonaws</groupId>
|
||||
<artifactId>aws-java-sdk-s3</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>com.google.code.gson</groupId>
|
||||
<artifactId>gson</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
@ -69,9 +69,8 @@ public class EncodeResponseBodyAdvice implements ResponseBodyAdvice {
|
||||
* @return
|
||||
*/
|
||||
private Object encodeRsa(MethodParameter methodParameter, Object body) {
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
try {
|
||||
String result = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(body);
|
||||
String result = JsonUtils.toJsonString(body);
|
||||
logger.info("对返回数据 :【" + result + "】进行加密");
|
||||
String s = RSAUtil.publicKeyEncryptBase64(result);
|
||||
logger.info("加密之后密文:"+s);
|
||||
|
||||
@ -1,19 +1,33 @@
|
||||
package com.ruoyi.system.common;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ruoyi.common.utils.spring.SpringUtils;
|
||||
import com.ruoyi.system.domain.BuyHouseCheck;
|
||||
import com.ruoyi.system.domain.HousesReview;
|
||||
import com.ruoyi.system.domain.MaterialModule;
|
||||
import com.ruoyi.system.domain.vo.BuyHouseCheckVo;
|
||||
import com.ruoyi.system.domain.vo.MaterialModuleVo;
|
||||
import com.ruoyi.system.mapper.BuyHouseCheckMapper;
|
||||
import com.ruoyi.system.mapper.HousesReviewMapper;
|
||||
import com.ruoyi.system.service.impl.MaterialModuleServiceImpl;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class WorkBusinessRule {
|
||||
|
||||
private static final BuyHouseCheckMapper buyHouseCheckMapper= SpringUtils.getBean(BuyHouseCheckMapper.class);
|
||||
|
||||
private static final HousesReviewMapper housesReviewMapper = SpringUtils.getBean(HousesReviewMapper.class);
|
||||
private static final MaterialModuleServiceImpl materialModuleService = SpringUtils.getBean(MaterialModuleServiceImpl.class);
|
||||
|
||||
public String getDistrict(String district){
|
||||
//先获取业务数据
|
||||
QueryWrapper<BuyHouseCheck> qw = new QueryWrapper<>();
|
||||
@ -23,5 +37,12 @@ public class WorkBusinessRule {
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.ruoyi.system.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
@ -19,7 +20,7 @@ public class BuyHouseCheck{
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
private Long id;
|
||||
/**
|
||||
* 描述
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.ruoyi.system.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
@ -26,7 +27,7 @@ public class BuyHouses extends BaseEntity {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
private Long id;
|
||||
/**
|
||||
* 户口簿内页/护照内页
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.ruoyi.system.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
@ -22,7 +23,7 @@ public class BuyHousesMember extends BaseEntity {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
private Long id;
|
||||
/**
|
||||
* 户口簿内页
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.ruoyi.system.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
@ -22,7 +23,7 @@ public class BuyHousesReviewMember extends BaseEntity {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
private Long id;
|
||||
/**
|
||||
* 户口簿内页
|
||||
|
||||
@ -1,7 +1,10 @@
|
||||
package com.ruoyi.system.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
@ -24,7 +27,7 @@ public class HousesReview extends BaseEntity {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
private Long id;
|
||||
/**
|
||||
* 证件类型
|
||||
|
||||
@ -65,4 +65,12 @@ public class MaterialModule extends BaseEntity {
|
||||
*/
|
||||
private String interfaceType;
|
||||
|
||||
@TableField(exist = false)
|
||||
private Long[] auditDeptArr=new Long[]{};
|
||||
|
||||
/**
|
||||
* 按钮显示名称
|
||||
*/
|
||||
private String interfaceName;
|
||||
|
||||
}
|
||||
|
||||
@ -23,7 +23,7 @@ public class MaterialProof extends BaseEntity {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
private Long id;
|
||||
/**
|
||||
* 关联申请id
|
||||
|
||||
@ -21,7 +21,7 @@ public class MaterialTalents extends BaseEntity {
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
private Long id;
|
||||
/**
|
||||
* 父id
|
||||
|
||||
@ -25,7 +25,7 @@ public class SubscribeExport extends BaseEntity {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
private Long id;
|
||||
/**
|
||||
* 路径
|
||||
|
||||
@ -2,6 +2,7 @@ package com.ruoyi.system.domain;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||
@ -29,7 +30,7 @@ public class SysConfig extends BaseEntity {
|
||||
* 参数主键
|
||||
*/
|
||||
@ExcelProperty(value = "参数主键")
|
||||
@TableId(value = "config_id")
|
||||
@TableId(value = "config_id",type = IdType.AUTO)
|
||||
private Long configId;
|
||||
|
||||
/**
|
||||
|
||||
@ -2,6 +2,7 @@ package com.ruoyi.system.domain;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
@ -30,7 +31,7 @@ public class SysLogininfor implements Serializable {
|
||||
* ID
|
||||
*/
|
||||
@ExcelProperty(value = "序号")
|
||||
@TableId(value = "info_id")
|
||||
@TableId(value = "info_id",type = IdType.AUTO)
|
||||
private Long infoId;
|
||||
|
||||
/**
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.ruoyi.system.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
@ -24,7 +25,7 @@ public class SysNotice extends BaseEntity {
|
||||
/**
|
||||
* 公告ID
|
||||
*/
|
||||
@TableId(value = "notice_id")
|
||||
@TableId(value = "notice_id",type = IdType.AUTO)
|
||||
private Long noticeId;
|
||||
|
||||
/**
|
||||
|
||||
@ -2,6 +2,7 @@ package com.ruoyi.system.domain;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
@ -31,7 +32,7 @@ public class SysOperLog implements Serializable {
|
||||
* 日志主键
|
||||
*/
|
||||
@ExcelProperty(value = "日志主键")
|
||||
@TableId(value = "oper_id")
|
||||
@TableId(value = "oper_id",type = IdType.AUTO)
|
||||
private Long operId;
|
||||
|
||||
/**
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.ruoyi.system.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
@ -19,7 +20,7 @@ public class SysOss extends BaseEntity {
|
||||
/**
|
||||
* 对象存储主键
|
||||
*/
|
||||
@TableId(value = "oss_id")
|
||||
@TableId(value = "oss_id",type = IdType.AUTO)
|
||||
private Long ossId;
|
||||
|
||||
/**
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.ruoyi.system.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
@ -19,7 +20,7 @@ public class SysOssConfig extends BaseEntity {
|
||||
/**
|
||||
* 主建
|
||||
*/
|
||||
@TableId(value = "oss_config_id")
|
||||
@TableId(value = "oss_config_id",type = IdType.AUTO)
|
||||
private Long ossConfigId;
|
||||
|
||||
/**
|
||||
|
||||
@ -2,6 +2,7 @@ package com.ruoyi.system.domain;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
@ -31,7 +32,7 @@ public class SysPost extends BaseEntity {
|
||||
* 岗位序号
|
||||
*/
|
||||
@ExcelProperty(value = "岗位序号")
|
||||
@TableId(value = "post_id")
|
||||
@TableId(value = "post_id",type = IdType.AUTO)
|
||||
private Long postId;
|
||||
|
||||
/**
|
||||
|
||||
@ -22,7 +22,7 @@ public class User extends BaseEntity {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
private Long id;
|
||||
/**
|
||||
* 用户账号状态 1,未认定 2,认定中 ,3 未发卡,4 已发卡
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
package com.ruoyi.system.domain.bo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.ruoyi.system.domain.bo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
@ -43,6 +44,9 @@ public class MaterialModuleBo extends BaseEntity {
|
||||
// @NotBlank(message = "审核部门不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String auditDept;
|
||||
|
||||
@TableField(exist = false)
|
||||
private Long[] auditDeptArr =new Long[]{};
|
||||
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
@ -70,5 +74,10 @@ public class MaterialModuleBo extends BaseEntity {
|
||||
*/
|
||||
private String interfaceType;
|
||||
|
||||
/**
|
||||
* 按钮显示名称
|
||||
*/
|
||||
private String interfaceName;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.ruoyi.system.domain.dto;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
@ -24,7 +25,7 @@ public class BuyHousesEvent extends BaseEntity {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
private Long id;
|
||||
/**
|
||||
* 户口簿内页/护照内页
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.ruoyi.system.domain.dto;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
@ -26,7 +27,7 @@ public class HousesReviewEvent extends BaseEntity {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
private Long id;
|
||||
/**
|
||||
* 证件类型
|
||||
|
||||
@ -1,17 +1,19 @@
|
||||
package com.ruoyi.system.domain.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.alibaba.excel.annotation.format.DateTimeFormat;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||
import com.ruoyi.common.utils.MySerializerUtils;
|
||||
import com.ruoyi.system.domain.BuyHousesReviewMember;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 购房复审登记视图对象 houses_review
|
||||
*
|
||||
@ -28,12 +30,16 @@ public class HousesReviewVo implements Serializable {
|
||||
* id
|
||||
*/
|
||||
// @ExcelProperty(value = "id")
|
||||
// @JsonSerialize(using = ToStringSerializer.class)
|
||||
// @JsonSerialize(using = MySerializerUtils.class)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 证件类型
|
||||
*/
|
||||
@ExcelProperty(value = "证件类型")
|
||||
@NotNull(message = "证件类型不可为空")
|
||||
@ExcelDictFormat(dictType = "card_type")
|
||||
private String cardType;
|
||||
|
||||
/**
|
||||
@ -58,6 +64,7 @@ public class HousesReviewVo implements Serializable {
|
||||
* 审核时间
|
||||
*/
|
||||
@ExcelProperty(value = "审核时间")
|
||||
@DateTimeFormat("yyyy-MM-dd")
|
||||
private String auditTime;
|
||||
|
||||
/**
|
||||
|
||||
@ -2,10 +2,13 @@ package com.ruoyi.system.domain.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||
import com.ruoyi.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
|
||||
/**
|
||||
* 材料模块视图对象 material_module
|
||||
@ -62,6 +65,9 @@ public class MaterialModuleVo {
|
||||
@ExcelDictFormat(dictType = "sys_yes_no")
|
||||
private String isMust;
|
||||
|
||||
/**
|
||||
* 上传材料
|
||||
*/
|
||||
private String file;
|
||||
|
||||
/**
|
||||
@ -75,4 +81,12 @@ public class MaterialModuleVo {
|
||||
private String interfaceType;
|
||||
|
||||
|
||||
@TableField(exist = false)
|
||||
private Long[] auditDeptArr = new Long[]{};
|
||||
|
||||
/**
|
||||
* 按钮显示名称
|
||||
*/
|
||||
private String interfaceName;
|
||||
|
||||
}
|
||||
|
||||
@ -79,7 +79,7 @@ public class BuyHousesServiceImpl implements IBuyHousesService {
|
||||
@Value("${file.prefix}")
|
||||
private String prefix;
|
||||
|
||||
private final String URL = "http://192.168.0.54:8010//candidates/getCardId";
|
||||
private final String URL = "https://gx.chengdutalent.cn:8010/candidates/getCardId";
|
||||
|
||||
private final BuyHousesMapper baseMapper;
|
||||
|
||||
@ -399,7 +399,12 @@ public class BuyHousesServiceImpl implements IBuyHousesService {
|
||||
JSONObject entries = JSONUtil.parseObj(data);
|
||||
BuyHouses buyHousesDto = new BuyHouses();
|
||||
buyHousesDto.setCardId(String.valueOf(entries.get("cardId")));
|
||||
buyHousesDto.setNationality(String.valueOf(entries.get("nationality")));
|
||||
String nationality = String.valueOf(entries.get("nationality"));
|
||||
if ("中国".contains(nationality)){
|
||||
buyHousesDto.setNationality("中国籍");
|
||||
}else {
|
||||
buyHousesDto.setNationality("外籍");
|
||||
}
|
||||
buyHousesDto.setUserName(String.valueOf(entries.get("name")));
|
||||
buyHousesDto.setPhone(String.valueOf(entries.get("phone")));
|
||||
buyHousesDto.setCompanyName(String.valueOf(entries.get("companyName")));
|
||||
|
||||
@ -9,6 +9,7 @@ import com.ruoyi.common.constant.Constants;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.helper.LoginHelper;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.utils.file.MyFileUtils;
|
||||
@ -62,9 +63,6 @@ public class HousesReviewServiceImpl implements IHousesReviewService {
|
||||
private final MaterialProofMapper materialProofMapper;
|
||||
private final BuyHousesReviewMemberMapper buyHousesReviewMemberMapper;
|
||||
|
||||
private final SysOssServiceImpl sysOssService;
|
||||
|
||||
|
||||
private final SubscribeExportMapper subscribeExportMapper;
|
||||
|
||||
@Value("${file.template}")
|
||||
@ -101,7 +99,7 @@ public class HousesReviewServiceImpl implements IHousesReviewService {
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<HousesReview> queryPageList(HousesReviewBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<HousesReview> lqw = buildQueryWrapper(bo);
|
||||
LambdaQueryWrapper<HousesReview> lqw = buildQueryWrapper2(bo);
|
||||
Page<HousesReview> result = baseMapper.selectPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
@ -115,6 +113,38 @@ public class HousesReviewServiceImpl implements IHousesReviewService {
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<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) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<HousesReview> lqw = Wrappers.lambdaQuery();
|
||||
@ -177,11 +207,18 @@ public class HousesReviewServiceImpl implements IHousesReviewService {
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean updateByBo(HousesReviewBo bo) {
|
||||
//判断该人才是否可提交
|
||||
HousesReview housesReview = baseMapper.selectById(bo.getId());
|
||||
if (ObjectUtil.isNotNull(housesReview.getProcessStatus())
|
||||
&& (Constants.WAIT.equals(housesReview.getProcessStatus())
|
||||
|| Constants.SUCCEED.equals(housesReview.getProcessStatus())
|
||||
|| Constants.PUBLICS.equals(housesReview.getProcessStatus()))){
|
||||
throw new ServiceException("当前人才状态不允许提交");
|
||||
}
|
||||
bo.setProcessStatus(Constants.WAIT);
|
||||
//先删除存在的家庭情况关系表
|
||||
buyHousesReviewMemberMapper.delete( new LambdaQueryWrapper<BuyHousesReviewMember>()
|
||||
.eq(BuyHousesReviewMember::getBuyHousesId, bo.getId()));
|
||||
|
||||
//删除补充材料
|
||||
materialProofMapper.delete(new LambdaQueryWrapper<MaterialProof>()
|
||||
.eq(MaterialProof::getHouseId, bo.getId())
|
||||
@ -227,6 +264,9 @@ public class HousesReviewServiceImpl implements IHousesReviewService {
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(HousesReview entity){
|
||||
if (!"D".equals(entity.getTalentsType())){
|
||||
entity.setTypeExtend(null);
|
||||
}
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
@ -236,14 +276,19 @@ public class HousesReviewServiceImpl implements IHousesReviewService {
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean 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;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean saveBatch(List<HousesReview> list) {
|
||||
|
||||
return baseMapper.insertBatch(list);
|
||||
}
|
||||
|
||||
@ -254,6 +299,15 @@ public class HousesReviewServiceImpl implements IHousesReviewService {
|
||||
*/
|
||||
@Override
|
||||
public R<?> getMaterialInfo(HousesReviewBo bo) {
|
||||
//执行修改
|
||||
HousesReview housesReview = baseMapper.selectById(bo.getId());
|
||||
if (Constants.PUBLICS.equals(housesReview.getProcessStatus())
|
||||
|| Constants.WAIT.equals(housesReview.getProcessStatus())
|
||||
|| Constants.SUCCEED.equals(housesReview.getProcessStatus())){
|
||||
}else {
|
||||
HousesReview update = BeanUtil.toBean(bo, HousesReview.class);
|
||||
baseMapper.updateById(update);
|
||||
}
|
||||
Map<String, Object> map = BeanUtil.beanToMap(bo);
|
||||
List<MaterialModuleVo> materialInfo = materialModuleService.getMaterialInfo(map);
|
||||
return R.ok(materialInfo);
|
||||
@ -270,7 +324,6 @@ public class HousesReviewServiceImpl implements IHousesReviewService {
|
||||
housesReviewVo.setBuyHousesMemberList(new ArrayList<>());
|
||||
}
|
||||
return housesReviewVo;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
package com.ruoyi.system.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
@ -48,7 +50,13 @@ public class MaterialModuleServiceImpl implements IMaterialModuleService {
|
||||
*/
|
||||
@Override
|
||||
public MaterialModuleVo queryById(Long id){
|
||||
return baseMapper.selectVoById(id);
|
||||
MaterialModuleVo materialModuleVo = baseMapper.selectVoById(id);
|
||||
if (ObjectUtil.isNotNull(materialModuleVo.getAuditDept())){
|
||||
String[] split = materialModuleVo.getAuditDept().split(",");
|
||||
Long[] longs = Convert.toLongArray(split);
|
||||
materialModuleVo.setAuditDeptArr(longs);
|
||||
}
|
||||
return materialModuleVo;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -106,7 +114,11 @@ public class MaterialModuleServiceImpl implements IMaterialModuleService {
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(MaterialModule entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
//将数组转为字符串
|
||||
if (ObjectUtil.isNotNull(entity.getAuditDeptArr()) && entity.getAuditDeptArr().length>0){
|
||||
String join = StringUtils.join(entity.getAuditDeptArr(), ",");
|
||||
entity.setAuditDept(join);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -129,7 +141,8 @@ public class MaterialModuleServiceImpl implements IMaterialModuleService {
|
||||
public List<MaterialModuleVo> getMaterialInfo(Map<String, Object> map){
|
||||
Set<String> keys = map.keySet();
|
||||
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);
|
||||
//根据id获取关于他下面的所有子集
|
||||
LambdaQueryWrapper<MaterialTalents> wrapper = new LambdaQueryWrapper<MaterialTalents>()
|
||||
|
||||
@ -148,10 +148,14 @@ public class UserServiceImpl implements IUserService {
|
||||
LinkedHashMap<String, Object> hashMap = new LinkedHashMap<>();
|
||||
hashMap.put("loginName",AesUtil.decryptBASE64("18716148446"));
|
||||
hashMap.put("password",AesUtil.decryptBASE64("1234Qwer"));
|
||||
HttpRequest.post("https://gx.chengdutalent.cn:8010/user/login")
|
||||
.form(hashMap)
|
||||
.timeout(20000)
|
||||
.execute().body();
|
||||
try {
|
||||
HttpRequest.post("https://gx.chengdutalent.cn:8010/user/login")
|
||||
.form(hashMap)
|
||||
.timeout(20000)
|
||||
.execute().body();
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException("调用接口超时");
|
||||
}
|
||||
//调用高新的接口
|
||||
return null;
|
||||
|
||||
|
||||
@ -18,12 +18,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="isMust" column="is_must"/>
|
||||
<result property="interfacePath" column="interface_path"/>
|
||||
<result property="interfaceType" column="interface_type"/>
|
||||
<result property="interfaceName" column="interface_name"/>
|
||||
</resultMap>
|
||||
<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
|
||||
FROM `material_module` m
|
||||
LEFT JOIN sys_dept s ON s.dept_id = m.audit_dept
|
||||
SELECT
|
||||
m.id,
|
||||
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}
|
||||
GROUP BY m.id
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
@ -28,6 +28,10 @@
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-text</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-rsaencrypt</artifactId>
|
||||
</dependency>
|
||||
<!--<dependency>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-sms</artifactId>
|
||||
|
||||
@ -10,6 +10,7 @@ import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.rsaencrypt.annotation.RsaSecurityParameter;
|
||||
import com.ruoyi.work.domain.ActProcess;
|
||||
import com.ruoyi.work.domain.HisProcess;
|
||||
import com.ruoyi.work.domain.RollBackLog;
|
||||
@ -45,6 +46,7 @@ public class WorkController extends BaseController {
|
||||
@Log(title = "获取待办数据",businessType = BusinessType.OTHER)
|
||||
@SaCheckPermission("work:task:taskList")
|
||||
@GetMapping("/getWaitTaskList")
|
||||
@RsaSecurityParameter
|
||||
public TableDataInfo<ActProcess> getWaitTaskList(ActProcess actProcess, PageQuery pageQuery){
|
||||
return WorkComplyUtils.getWaitTaskList(actProcess,pageQuery);
|
||||
}
|
||||
@ -55,6 +57,7 @@ public class WorkController extends BaseController {
|
||||
@Log(title = "获取已办数据",businessType = BusinessType.OTHER)
|
||||
@SaCheckPermission("work:task:historyList")
|
||||
@GetMapping("/getHistoryList")
|
||||
@RsaSecurityParameter
|
||||
public TableDataInfo<HisProcess> getHistoryList(HisProcess hisProcess, PageQuery pageQuery){
|
||||
return WorkComplyUtils.getHistoryList(hisProcess,pageQuery);
|
||||
}
|
||||
@ -65,6 +68,7 @@ public class WorkController extends BaseController {
|
||||
@Log(title = "获取当前业务运行到那一步",businessType = BusinessType.OTHER)
|
||||
@SaCheckPermission("work:task:processPlan")
|
||||
@PostMapping("/processPlan")
|
||||
@RsaSecurityParameter(inDecode = true,outEncode = false)
|
||||
public R<?> processPlan(@RequestBody ActProcess actProcess){
|
||||
if (ObjectUtil.isNull(actProcess.getBusinessId())){
|
||||
return R.fail("businessId不可为空");
|
||||
@ -90,6 +94,7 @@ public class WorkController extends BaseController {
|
||||
*/
|
||||
@Log(title = "获取可退回步骤",businessType = BusinessType.OTHER)
|
||||
@PostMapping("/getStep")
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<?> getStep(@RequestBody BusinessDTO businessDTO){
|
||||
LambdaQueryWrapper<TProcess> wrapper = new LambdaQueryWrapper<TProcess>()
|
||||
.eq(TProcess::getProcessKey, businessDTO.getProcessKey());
|
||||
@ -108,6 +113,7 @@ public class WorkController extends BaseController {
|
||||
@Log(title = "流程办理",businessType = BusinessType.OTHER)
|
||||
// @SaCheckPermission("work:task:batchDeleted")
|
||||
@PostMapping("/batchDeleted")
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<?> batchDeleted(@RequestBody HisProcess hisProcess){
|
||||
if (ObjectUtil.isNull(hisProcess.getStatus())){
|
||||
return R.fail("状态不可为空");
|
||||
@ -143,6 +149,7 @@ public class WorkController extends BaseController {
|
||||
@Log(title = "获取业务id详情数据",businessType = BusinessType.OTHER)
|
||||
@SaCheckPermission("work:task:taskInfo")
|
||||
@PostMapping("/taskInfo")
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<?> getInfoById(@RequestBody ActProcess actProcess){
|
||||
if (ObjectUtil.isNull(actProcess.getProcessKey())){
|
||||
return R.fail("key不可为空");
|
||||
@ -160,6 +167,7 @@ public class WorkController extends BaseController {
|
||||
|
||||
@Log(title = "获取审核日志",businessType = BusinessType.OTHER)
|
||||
@PostMapping("/auditLogList")
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<?> getAuditLogListByOtherId(@RequestBody BusinessDTO businessDTO){
|
||||
return WorkComplyUtils.getAuditLogListByOtherId(businessDTO);
|
||||
}
|
||||
@ -171,6 +179,7 @@ public class WorkController extends BaseController {
|
||||
*/
|
||||
@Log(title = "回退",businessType = BusinessType.OTHER)
|
||||
@PostMapping("/rollBackLog")
|
||||
@RsaSecurityParameter(inDecode = true)
|
||||
public R<?> rollBackLog(@RequestBody RollBackLog rollBackLog){
|
||||
LambdaQueryWrapper<TProcess> wrapper = new LambdaQueryWrapper<TProcess>()
|
||||
.eq(TProcess::getProcessKey, rollBackLog.getProcessKey());
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.ruoyi.work.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
@ -22,7 +23,7 @@ public class ActBusinessRule extends BaseEntity {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
private Long id;
|
||||
/**
|
||||
* bean名称
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
package com.ruoyi.work.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@ -23,7 +23,7 @@ public class ActProcess {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
private Long id;
|
||||
/**
|
||||
* 流程表id
|
||||
@ -48,7 +48,6 @@ public class ActProcess {
|
||||
|
||||
private Date createTime;
|
||||
|
||||
|
||||
/**
|
||||
* 是由存在下一步骤
|
||||
*/
|
||||
@ -85,7 +84,4 @@ public class ActProcess {
|
||||
@TableField(exist = false)
|
||||
private String processKey;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -25,7 +25,7 @@ public class AuditLog extends BaseEntity {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
private Long id;
|
||||
/**
|
||||
* 审核员id
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.ruoyi.work.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
@ -24,7 +25,7 @@ public class HisProcess{
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
private Long id;
|
||||
/**
|
||||
* 流程表id
|
||||
@ -47,6 +48,7 @@ public class HisProcess{
|
||||
*/
|
||||
private String status;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
|
||||
private Date createTime;
|
||||
|
||||
|
||||
@ -56,6 +58,7 @@ public class HisProcess{
|
||||
@TableField(exist = false)
|
||||
private Map params;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
|
||||
private Date endTime;
|
||||
|
||||
private String step;
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.ruoyi.work.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
@ -23,7 +24,7 @@ public class RollBackLog extends BaseEntity {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
private Long id;
|
||||
/**
|
||||
* 是后台撤回还是前台撤回
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.ruoyi.work.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
@ -21,7 +22,7 @@ public class TProcess {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
private Long id;
|
||||
/**
|
||||
* 流程名称
|
||||
|
||||
@ -22,10 +22,7 @@ import com.ruoyi.common.core.domain.model.LoginUser;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.helper.LoginHelper;
|
||||
import com.ruoyi.common.utils.BeanCopyUtils;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import com.ruoyi.common.utils.JsonUtils;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.utils.*;
|
||||
import com.ruoyi.common.utils.spring.SpringUtils;
|
||||
import com.ruoyi.work.domain.*;
|
||||
import com.ruoyi.work.domain.vo.ActProcessVo;
|
||||
@ -504,7 +501,7 @@ public class WorkComplyUtils {
|
||||
if (ObjectUtil.isNotEmpty(record.getTimeout())&& ObjectUtil.isNotNull(record.getTimeout())){
|
||||
DateTime beforeTime = DateUtil.offsetDay(record.getCreateTime(), new Integer(record.getTimeout()));
|
||||
Date nowDate = DateUtils.getNowDate();
|
||||
long between = DateUtil.between(nowDate, beforeTime, DateUnit.DAY);
|
||||
long between = DateHolidayUtils.getBetweenDays(beforeTime, nowDate);
|
||||
if (between<0){
|
||||
long abs = Math.abs(between);
|
||||
record.setTimeout("超时"+abs+"天");
|
||||
@ -512,14 +509,6 @@ public class WorkComplyUtils {
|
||||
record.setTimeout("剩余"+between+"天");
|
||||
}
|
||||
}
|
||||
switch (record.getType()){
|
||||
case "1" :record.setType("基本类型");
|
||||
break;
|
||||
case "2" : record.setType("会签");
|
||||
break;
|
||||
default:record.setType("未知类型");
|
||||
break;
|
||||
}
|
||||
}
|
||||
return TableDataInfo.build(actProcessVoCCList);
|
||||
}
|
||||
@ -536,7 +525,7 @@ public class WorkComplyUtils {
|
||||
if (ObjectUtil.isNotEmpty(record.getTimeout())&& ObjectUtil.isNotNull(record.getTimeout())){
|
||||
DateTime beforeTime = DateUtil.offsetDay(record.getCreateTime(), new Integer(record.getTimeout()));
|
||||
Date nowDate = DateUtils.getNowDate();
|
||||
long between = DateUtil.between(nowDate, beforeTime, DateUnit.DAY);
|
||||
long between = DateHolidayUtils.getBetweenDays(beforeTime, nowDate);
|
||||
if (between<0){
|
||||
long abs = Math.abs(between);
|
||||
record.setTimeout("超时"+abs+"天");
|
||||
@ -544,14 +533,6 @@ public class WorkComplyUtils {
|
||||
record.setTimeout("剩余"+between+"天");
|
||||
}
|
||||
}
|
||||
switch (record.getType()){
|
||||
case "1" :record.setType("基本类型");
|
||||
break;
|
||||
case "2" : record.setType("会签");
|
||||
break;
|
||||
default:record.setType("未知类型");
|
||||
break;
|
||||
}
|
||||
}
|
||||
return TableDataInfo.build(actProcessVoList);
|
||||
}
|
||||
@ -572,18 +553,10 @@ public class WorkComplyUtils {
|
||||
SysRole sysRole = sysRoleMapper.selectRoleById(new Long(record.getAudit()));
|
||||
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())){
|
||||
DateTime beforeTime = DateUtil.offsetDay(record.getCreateTime(), new Integer(record.getTimeout()));
|
||||
Date nowDate = DateUtils.getNowDate();
|
||||
long between = DateUtil.between(nowDate, beforeTime, DateUnit.DAY);
|
||||
long between = DateHolidayUtils.getBetweenDays(beforeTime, nowDate);
|
||||
if (between<0){
|
||||
long abs = Math.abs(between);
|
||||
record.setTimeout("超时"+abs+"天");
|
||||
@ -652,7 +625,6 @@ public class WorkComplyUtils {
|
||||
List<ProcessVo> list = new ArrayList<>();
|
||||
if (1L == e.getProcessCheck()) {
|
||||
String[] split = e.getAudit().split(",");
|
||||
// e.setSize(split.length);
|
||||
for (String s : split) {
|
||||
e.setAudit(s);
|
||||
e.setChecked("");
|
||||
@ -713,21 +685,21 @@ public class WorkComplyUtils {
|
||||
e.setAudit(o);
|
||||
}else if("1".equals(e.getCheckType())) {
|
||||
//根据id获取人员信息
|
||||
SysUser sysUser = sysUserMapper.selectUserById(new Long( e.getAudit()));
|
||||
SysUser sysUser = sysUserMapper.selectUserById(Long.valueOf(e.getAudit()));
|
||||
if(ObjectUtil.isNull(sysUser)){
|
||||
throw new ServiceException("根据id获取人员信息失败");
|
||||
}
|
||||
e.setAudit1(e.getAudit());
|
||||
e.setAudit(sysUser.getUserName());
|
||||
}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)){
|
||||
throw new ServiceException("根据id获取部门信息失败");
|
||||
}
|
||||
e.setAudit1(e.getAudit());
|
||||
e.setAudit(sysDept.getDeptName());
|
||||
}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)){
|
||||
throw new ServiceException("根据id获取角色信息失败");
|
||||
}
|
||||
|
||||
@ -3,6 +3,8 @@ package com.ruoyi.work.utils;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
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 com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.utils.JsonUtils;
|
||||
@ -42,7 +44,7 @@ public class WorkUtils {
|
||||
List<Object> params = new ArrayList<>();
|
||||
for (int i = 0; i < businessRuleParams.size(); i++) {
|
||||
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()) {
|
||||
case "String":
|
||||
paramClass[i] = String.valueOf(variable).getClass();
|
||||
@ -92,7 +94,13 @@ public class WorkUtils {
|
||||
if (obj == null) {
|
||||
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) {
|
||||
throw new ServiceException(e.getMessage());
|
||||
}
|
||||
@ -112,7 +120,7 @@ public class WorkUtils {
|
||||
Method method = ReflectionUtils.findMethod(beanName.getClass(), me, Long.class);
|
||||
Object obj = ReflectionUtils.invokeMethod(method, beanName,new Long(businessId));
|
||||
Map<String, Object> map = BeanUtil.beanToMap(obj);
|
||||
System.out.println("obj = " + obj);
|
||||
System.out.println("map = " + map);
|
||||
return map;
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user