diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteCmsService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteCmsService.java index 99e4b0a2d..31c7ea38c 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteCmsService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteCmsService.java @@ -102,7 +102,7 @@ public interface RemoteCmsService { @PostMapping("/doc/initCmsDir/{zoneId}") public R initCmsDir(@PathVariable(value = "zoneId") Long zoneId , @RequestBody Object cmsDirInput - , @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + , @RequestHeader(SecurityConstants.USER_KEY) String userKey); /** * 初始化新闻 @@ -115,5 +115,17 @@ public interface RemoteCmsService { @PostMapping("/doc/initCmsDoc/{dirId}") public R initCmsDoc(@PathVariable(value = "dirId") Long dirId , @RequestBody Object cmsDocInputDto + , @RequestHeader(SecurityConstants.FROM_SOURCE) String source + , @RequestHeader(SecurityConstants.USER_KEY) String userKey); + + /** + * 通过组织Id删除专区对应项目 + * + * @param deptId 组织Id + * @param source 来源 + * @return 结果 + */ + @DeleteMapping("/project/removeByDeptId/{deptId}") + public R removeByDeptId(@PathVariable(value = "deptId") Long deptId , @RequestHeader(SecurityConstants.FROM_SOURCE) String source); } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteZoneService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteZoneService.java index d21294465..c3fc448f3 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteZoneService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteZoneService.java @@ -69,4 +69,15 @@ public interface RemoteZoneService { @GetMapping("/zoneDetail/getZoneHomePageCmsSizeByDeptId/{deptId}") public R getZoneHomePageCmsSizeByDeptId(@PathVariable(value = "deptId") Long deptId , @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + /** + * 通过组织名称删除专区 + * + * @param deptName 组织名称 + * @param source 来源 + * @return 结果 + */ + @DeleteMapping("/zoneDetail/{deptName}") + public R deleteByDeptName(@PathVariable(value = "deptName") String deptName + , @RequestHeader(SecurityConstants.FROM_SOURCE) String source); } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteCmsFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteCmsFallbackFactory.java index df5826b02..f69245df2 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteCmsFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteCmsFallbackFactory.java @@ -52,14 +52,19 @@ public class RemoteCmsFallbackFactory implements FallbackFactory initCmsDir(Long zoneId, Object cmsDirInput, String source) { + public R initCmsDir(Long zoneId, Object cmsDirInput, String userKey) { return R.fail("初始化栏目失败:" + throwable.getMessage()); } @Override - public R initCmsDoc(Long dirId, Object cmsDocInputDto, String source) { + public R initCmsDoc(Long dirId, Object cmsDocInputDto, String source, String userKey) { return R.fail("初始化文章失败:" + throwable.getMessage()); } + + @Override + public R removeByDeptId(Long deptId, String source) { + return R.fail("删除专区项目失败:" + throwable.getMessage()); + } }; } } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteZoneFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteZoneFallbackFactory.java index 41b327a57..ef12b0081 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteZoneFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteZoneFallbackFactory.java @@ -46,6 +46,11 @@ public class RemoteZoneFallbackFactory implements FallbackFactory getZoneHomePageCmsSizeByDeptId(Long deptId, String source) { return R.fail("通过组织Id获取专区详情对象失败:" + throwable.getMessage()); } + + @Override + public R deleteByDeptName(String deptName, String source) { + return R.fail("通过组织名称删除特色专区失败:" + throwable.getMessage()); + } }; } } diff --git a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/controller/CmsDocController.java b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/controller/CmsDocController.java index 9b0033dc5..80c2a7472 100644 --- a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/controller/CmsDocController.java +++ b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/controller/CmsDocController.java @@ -269,7 +269,6 @@ public class CmsDocController extends BaseController { /** * 内部接口,初始化栏目 */ - @InnerAuth @PostMapping("/initCmsDir/{zoneId}") @Log(title = "初始化栏目", businessType = BusinessType.INSERT) @ApiOperation(value = "初始化栏目", hidden = true) diff --git a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/service/impl/CmsDocServiceImpl.java b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/service/impl/CmsDocServiceImpl.java index 33236d04f..d9cc0cd4a 100644 --- a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/service/impl/CmsDocServiceImpl.java +++ b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/service/impl/CmsDocServiceImpl.java @@ -300,7 +300,7 @@ public class CmsDocServiceImpl implements ICmsDocService { CmsDoc dirDoc = selectCmsDir(dirId); CmsDoc cmsDoc = cmsDocInputDto.toCmsDoc(dirDoc); - if (isCurrentUserZoneAdmin(dirDoc.getDeptId())|| isNoAuditRequired(dirDoc.getDeptId())) { + if (isNoAuditRequired(dirDoc.getDeptId()) || isCurrentUserZoneAdmin(dirDoc.getDeptId())) { cmsDoc.setAuditStatus(DocAuditStatus.AUDIT_PASS.getAuditCode()); //文章自动置为审核通过状态值 return insertCommonCmsDoc(cmsDoc, "创建文章:" + StringUtils.truncateStringAndConcatenatingSpecifiedString(cmsDoc.getName(), 100, "..."), diff --git a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/project/controller/CmsProjectController.java b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/project/controller/CmsProjectController.java index 438998008..a6cd4b16f 100644 --- a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/project/controller/CmsProjectController.java +++ b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/project/controller/CmsProjectController.java @@ -156,4 +156,15 @@ public class CmsProjectController extends BaseController { public AjaxResult remove(@ApiParam(name = "deptIds", value = "组织Id列表") @PathVariable Long[] deptIds) { return toAjax(cmsProjectService.deleteCmsProjectByIds(deptIds)); } + + /** + * 内部接口-通过组织Id删除专区对应项目 + */ + @InnerAuth + @Log(title = "专区对应项目", businessType = BusinessType.DELETE) + @ApiOperation(value = "内部接口-通过组织Id删除专区对应项目", hidden = true) + @DeleteMapping("/removeByDeptId/{deptId}") + public R removeByDeptId(@PathVariable(value = "deptId") Long deptId) { + return R.ok(cmsProjectService.deleteCmsProjectByDeptId(deptId) > 0); + } } diff --git a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/project/service/ICmsProjectService.java b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/project/service/ICmsProjectService.java index 2a89e60de..e7917b167 100644 --- a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/project/service/ICmsProjectService.java +++ b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/project/service/ICmsProjectService.java @@ -59,7 +59,7 @@ public interface ICmsProjectService { * @param id 专区对应项目主键 * @return 结果 */ - public int deleteCmsProjectById(Long id); + public int deleteCmsProjectByDeptId(Long deptId); /** * 通过组织创建特色专区的新闻动态项目 diff --git a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/project/service/impl/CmsProjectServiceImpl.java b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/project/service/impl/CmsProjectServiceImpl.java index ea8899a78..5c7965aec 100644 --- a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/project/service/impl/CmsProjectServiceImpl.java +++ b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/project/service/impl/CmsProjectServiceImpl.java @@ -1,16 +1,19 @@ package com.ruoyi.cms.project.service.impl; import com.alibaba.fastjson.JSONObject; +import com.ruoyi.cms.doc.domain.CmsDir; +import com.ruoyi.cms.doc.domain.CmsDocBaseDto; +import com.ruoyi.cms.doc.domain.CmsDocSearchVo; import com.ruoyi.cms.doc.service.ICmsAsyncService; import com.ruoyi.cms.doc.service.ICmsDocService; import com.ruoyi.cms.project.domain.CmsProject; import com.ruoyi.cms.project.mapper.CmsProjectMapper; import com.ruoyi.cms.project.service.ICmsProjectService; import com.ruoyi.cms.utils.CmsGitLinkRequestUrl; -import com.ruoyi.common.core.enums.SystemRole; -import com.ruoyi.common.core.utils.PinYinStringUtils; import com.ruoyi.common.core.constant.SecurityConstants; +import com.ruoyi.common.core.enums.SystemRole; import com.ruoyi.common.core.exception.ServiceException; +import com.ruoyi.common.core.utils.PinYinStringUtils; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.datascope.annotation.DataScope; import com.ruoyi.common.httpClient.util.GitLinkRequestHelper; @@ -126,6 +129,18 @@ public class CmsProjectServiceImpl implements ICmsProjectService { if (cmsProject == null) { throw new ServiceException("组织对应项目不存在(组织Id[" + deptId + "])"); } + // 删除专区下所有栏目及文章 + List cmsDirList = cmsDocService.selectCmsDocDirList(deptId, false); + for (CmsDir cmsDir : cmsDirList) { + CmsDocSearchVo cmsDocSearchVo = new CmsDocSearchVo(); + cmsDocSearchVo.setDeptId(deptId); + cmsDocSearchVo.setDirName(cmsDir.getName()); + List cmsDocList = cmsDocService.selectCmsDocList(cmsDir.getId(), cmsDocSearchVo); + for (CmsDocBaseDto cmsDocBaseDto : cmsDocList) { + cmsDocService.deleteCmsDocById(cmsDocBaseDto.getId()); + } + cmsDocService.deleteCmsDocById(cmsDir.getId()); + } JSONObject result = gitLinkRequestHelper.doDelete(CmsGitLinkRequestUrl.DELETE_PROJECT(cmsProject)); String message = result.getString("message"); if ("success".equals(message)) { @@ -144,8 +159,8 @@ public class CmsProjectServiceImpl implements ICmsProjectService { * @return 结果 */ @Override - public int deleteCmsProjectById(Long id) { - return cmsProjectMapper.deleteCmsProjectById(id); + public int deleteCmsProjectByDeptId(Long deptId) { + return deleteCmsProjectByIds(new Long[]{deptId}); } private Long getOrganizationId() { diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysDeptController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysDeptController.java index fae92e8ac..27ba55504 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysDeptController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysDeptController.java @@ -163,14 +163,13 @@ public class SysDeptController extends BaseController public AjaxResult remove(@PathVariable Long deptId) { deptService.checkUnchangeableDept(deptId); - if (deptService.hasChildByDeptId(deptId)) - { + if (deptService.hasChildByDeptId(deptId)) { return warn("存在下级部门,不允许删除"); } - if (deptService.checkDeptExistUser(deptId)) - { - return warn("部门存在用户,不允许删除"); - } +// if (deptService.checkDeptExistUser(deptId)) +// { +// return warn("部门存在用户,不允许删除"); +// } deptService.checkDeptDataScope(deptId); return toAjax(deptService.deleteDeptById(deptId)); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptRoleServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptRoleServiceImpl.java index a72041817..eb1a176cc 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptRoleServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptRoleServiceImpl.java @@ -114,7 +114,8 @@ public class SysDeptRoleServiceImpl implements ISysDeptRoleService { for (Long roleId : roleIds) { SysDeptRole sysDeptRole = sysDeptRoleMapper.selectSysDeptRoleByDeptIdAndRoleId(deptId, roleId); if (sysDeptRole == null) { - throw new ServiceException("部门下不存在该可选角色(部门名称[" + sysDept.getDeptName() + "],角色Id[" + roleId + "])"); +// throw new ServiceException("部门下不存在该可选角色(部门名称[" + sysDept.getDeptName() + "],角色Id[" + roleId + "])"); + continue; } List userIdentifyList = sysUserDeptRoleMapper.selectSysUserDeptRoleByDeptIdAndRoleId(deptId, roleId); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java index b041a0c00..b2b14bd44 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java @@ -3,6 +3,7 @@ package com.ruoyi.system.service.impl; import com.ruoyi.common.core.constant.CacheConstants; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.constant.UserConstants; +import com.ruoyi.common.core.enums.SystemRole; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.text.Convert; import com.ruoyi.common.core.utils.StringUtils; @@ -18,7 +19,9 @@ import com.ruoyi.system.api.utils.FeginUtils; import com.ruoyi.system.domain.vo.TreeSelect; import com.ruoyi.system.mapper.SysDeptMapper; import com.ruoyi.system.mapper.SysRoleMapper; +import com.ruoyi.system.service.ISysDeptRoleService; import com.ruoyi.system.service.ISysDeptService; +import com.ruoyi.system.service.ISysUserDeptRoleService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -41,6 +44,12 @@ public class SysDeptServiceImpl implements ISysDeptService { @Autowired private SysRoleMapper roleMapper; + + @Autowired + private ISysDeptRoleService sysDeptRoleService; + + @Autowired + private ISysUserDeptRoleService sysUserDeptRoleService; @Autowired private RemoteZoneService remoteZoneService; @@ -288,6 +297,12 @@ public class SysDeptServiceImpl implements ISysDeptService { switch (deptTypeData.getDictLabel()) { case CacheConstants.SYS_DICT_DEPT_TYPE_TSZQ: if (isAdd) { + // 设置该组织下可选角色为:专区管理员、专区运营人员、专区会员 + SysRole zoneAdminRole = roleMapper.selectRoleByKey(SystemRole.ZONE_ADMIN.getRoleKey()); + SysRole zoneOperatorRole = roleMapper.selectRoleByKey(SystemRole.ZONE_OPERATOR.getRoleKey()); + SysRole zoneMemberRole = roleMapper.selectRoleByKey(SystemRole.ZONE_MEMBER.getRoleKey()); + Long[] roleIds = new Long[]{zoneAdminRole.getRoleId(), zoneOperatorRole.getRoleId(), zoneMemberRole.getRoleId()}; + sysDeptRoleService.addSysRoleListForSysDept(dept.getDeptId(), roleIds); errorMessage = createProjectByDept(dept); } else { errorMessage = updateProjectByDept(dept); @@ -308,6 +323,7 @@ public class SysDeptServiceImpl implements ISysDeptService { if (!result) { if (isAdd) { deleteDeptById(dept.getDeptId()); + } throw new ServiceException(errorMessage); } @@ -439,6 +455,17 @@ public class SysDeptServiceImpl implements ISysDeptService { */ @Override public int deleteDeptById(Long deptId) { + SysDept dept = selectDeptById(deptId); + // 删除专区相关数据 + remoteZoneService.deleteByDeptName(dept.getDeptName(), SecurityConstants.INNER); + // 删除专区下用户 + sysUserDeptRoleService.deleteSysUserDeptRoleByDeptId(deptId); + // 删除组织前先删除组织下角色 + SysRole zoneAdminRole = roleMapper.selectRoleByKey(SystemRole.ZONE_ADMIN.getRoleKey()); + SysRole zoneOperatorRole = roleMapper.selectRoleByKey(SystemRole.ZONE_OPERATOR.getRoleKey()); + SysRole zoneMemberRole = roleMapper.selectRoleByKey(SystemRole.ZONE_MEMBER.getRoleKey()); + Long[] roleIds = new Long[]{zoneAdminRole.getRoleId(), zoneOperatorRole.getRoleId(), zoneMemberRole.getRoleId()}; + sysDeptRoleService.deleteSysRoleListForSysDept(dept.getDeptId(), roleIds); return deptMapper.deleteDeptById(deptId); } diff --git a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/detail/controller/ZoneDetailController.java b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/detail/controller/ZoneDetailController.java index 1fe83ca28..2534ab191 100644 --- a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/detail/controller/ZoneDetailController.java +++ b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/detail/controller/ZoneDetailController.java @@ -133,4 +133,15 @@ public class ZoneDetailController extends BaseController { public AjaxResult publish(@PathVariable("id") Long id) { return toAjax(zoneDetailService.publishZoneDetail(id)); } + + /** + * 通过组织名称删除特色专区 + */ + @InnerAuth + @Log(title = "特色专区详情", businessType = BusinessType.DELETE) + @DeleteMapping("/{deptName}") + @ApiOperation(value = "删除特色专区") + public R deleteByDeptId(@PathVariable(value = "deptName") String deptName) { + return R.ok(zoneDetailService.deleteZoneDetailByDeptName(deptName) > 0); + } } diff --git a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/detail/mapper/ZoneDetailMapper.java b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/detail/mapper/ZoneDetailMapper.java index 484c8ffa0..5e03631ea 100644 --- a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/detail/mapper/ZoneDetailMapper.java +++ b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/detail/mapper/ZoneDetailMapper.java @@ -82,8 +82,17 @@ public interface ZoneDetailMapper { /** * 通过专区标识查找专区 + * * @param zoneKey * @return */ ZoneDetail selectZoneDetailByKey(String zoneKey); + + /** + * 根据名称查找专区 + * + * @param name + * @return + */ + ZoneDetail selectZoneDetailByName(String name); } diff --git a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/detail/service/IZoneAsyncService.java b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/detail/service/IZoneAsyncService.java index 4763e8c06..d2c2d37f3 100644 --- a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/detail/service/IZoneAsyncService.java +++ b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/detail/service/IZoneAsyncService.java @@ -10,12 +10,6 @@ import com.ruoyi.zone.resource.domain.ZoneResourceType; * @date 2023-05-09 */ public interface IZoneAsyncService { - /** - * 异步初始化专区数据 - * - * @param zoneDetail 专区详情 - */ - void asyncInitZoneData(ZoneDetail zoneDetail); /** * 异步更新该专区下当前资源类型对应的资源更新为目标资源类型 @@ -29,4 +23,16 @@ public interface IZoneAsyncService { * 自动识别专区资源对应类型 */ void asyncUpdateType(); + + void initHomePage(ZoneDetail zoneDetail); + + void initCms(ZoneDetail zoneDetail); + + void initProject(ZoneDetail zoneDetail); + + void initMember(ZoneDetail zoneDetail); + + void initPartners(ZoneDetail zoneDetail); + + void initResource(ZoneDetail zoneDetail); } diff --git a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/detail/service/IZoneDetailService.java b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/detail/service/IZoneDetailService.java index 67372e9b5..537be32b2 100644 --- a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/detail/service/IZoneDetailService.java +++ b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/detail/service/IZoneDetailService.java @@ -67,10 +67,11 @@ public interface IZoneDetailService { /** * 删除特色专区详情信息 * - * @param id 特色专区详情主键 + * @param id 特色专区详情主键 + * @param deptName * @return 结果 */ - public int deleteZoneDetailById(Long id); + public int deleteZoneDetailByDeptName(String deptName); /** * 通过组织新增特色专区 diff --git a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/detail/service/impl/ZoneAsyncServiceImpl.java b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/detail/service/impl/ZoneAsyncServiceImpl.java index 0424a877c..41aa67d4d 100644 --- a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/detail/service/impl/ZoneAsyncServiceImpl.java +++ b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/detail/service/impl/ZoneAsyncServiceImpl.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.redis.service.RedisService; +import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.system.api.RemoteCmsService; import com.ruoyi.system.api.utils.FeginUtils; import com.ruoyi.zone.detail.domain.ZoneDetail; @@ -34,9 +35,11 @@ import com.ruoyi.zone.project.service.IZoneProjectTypeService; import com.ruoyi.zone.resource.domain.ZoneResource; import com.ruoyi.zone.resource.domain.ZoneResourceToType; import com.ruoyi.zone.resource.domain.ZoneResourceType; +import com.ruoyi.zone.resource.domain.vo.ZoneResourceDomainInputVo; import com.ruoyi.zone.resource.domain.vo.ZoneResourceTypeInputVo; import com.ruoyi.zone.resource.mapper.ZoneResourceMapper; import com.ruoyi.zone.resource.mapper.ZoneResourceToTypeMapper; +import com.ruoyi.zone.resource.service.IZoneResourceDomainService; import com.ruoyi.zone.resource.service.IZoneResourceService; import com.ruoyi.zone.resource.service.IZoneResourceTypeService; import com.ruoyi.zone.utils.ZoneConstants; @@ -102,6 +105,9 @@ public class ZoneAsyncServiceImpl implements IZoneAsyncService { @Autowired @Lazy private IZoneResourceTypeService zoneResourceTypeService; + @Autowired + @Lazy + private IZoneResourceDomainService zoneResourceDomainService; @Value("${zone.initData.gitlinkProjectId}") private Long gitlinkProjectId; @@ -118,17 +124,26 @@ public class ZoneAsyncServiceImpl implements IZoneAsyncService { @Value("${zone.initData.gitLinkUserName4}") private String gitLinkUserName4; + @Async @Override - public void asyncInitZoneData(ZoneDetail zoneDetail) { - initHomePage(zoneDetail); - initCms(zoneDetail); - initProject(zoneDetail); - initMember(zoneDetail); - initPartners(zoneDetail); - initResourceType(zoneDetail); - } + public void initResource(ZoneDetail zoneDetail) { + ZoneResourceDomainInputVo zoneResourceDomainInputVo = new ZoneResourceDomainInputVo(); + zoneResourceDomainInputVo.setZoneId(zoneDetail.getId()); + zoneResourceDomainInputVo.setName("资源领域一"); + zoneResourceDomainService.insertZoneResourceDomain(zoneResourceDomainInputVo); + zoneResourceDomainInputVo = new ZoneResourceDomainInputVo(); + zoneResourceDomainInputVo.setZoneId(zoneDetail.getId()); + zoneResourceDomainInputVo.setName("资源领域二"); + zoneResourceDomainService.insertZoneResourceDomain(zoneResourceDomainInputVo); + zoneResourceDomainInputVo = new ZoneResourceDomainInputVo(); + zoneResourceDomainInputVo.setZoneId(zoneDetail.getId()); + zoneResourceDomainInputVo.setName("资源领域三"); + zoneResourceDomainService.insertZoneResourceDomain(zoneResourceDomainInputVo); + zoneResourceDomainInputVo = new ZoneResourceDomainInputVo(); + zoneResourceDomainInputVo.setZoneId(zoneDetail.getId()); + zoneResourceDomainInputVo.setName("资源领域四"); + zoneResourceDomainService.insertZoneResourceDomain(zoneResourceDomainInputVo); - private void initResourceType(ZoneDetail zoneDetail) { ZoneResourceTypeInputVo zoneResourceTypeInputVo = new ZoneResourceTypeInputVo(); zoneResourceTypeInputVo.setZoneId(zoneDetail.getId()); zoneResourceTypeInputVo.setName("图片文件"); @@ -237,7 +252,9 @@ public class ZoneAsyncServiceImpl implements IZoneAsyncService { } } - private void initPartners(ZoneDetail zoneDetail) { + @Async + @Override + public void initPartners(ZoneDetail zoneDetail) { //初始化合作伙伴默认分类 ZonePartnersTypeInputVo zonePartnersTypeInputVo = new ZonePartnersTypeInputVo(); zonePartnersTypeInputVo.setName(ZoneConstants.DEFAULT_TYPE_NAME); @@ -245,7 +262,9 @@ public class ZoneAsyncServiceImpl implements IZoneAsyncService { zonePartnersTypeService.insertZonePartnersType(zonePartnersTypeInputVo); } - private void initHomePage(ZoneDetail zoneDetail) { + @Async + @Override + public void initHomePage(ZoneDetail zoneDetail) { //region 初始化首页配置 ZoneDetailUpdateVo zoneDetailUpdateVo = new ZoneDetailUpdateVo(); zoneDetailUpdateVo.setId(zoneDetail.getId()); @@ -262,63 +281,36 @@ public class ZoneAsyncServiceImpl implements IZoneAsyncService { //endregion } - private void initCms(ZoneDetail zoneDetail) { - //region 初始化资讯 + private void initCms(Long zoneId, String count, int sort) { //初始化栏目 JSONObject cmsDirInput = new JSONObject(); //初始化第一条新闻 - cmsDirInput.put("name", "栏目一"); - cmsDirInput.put("sort", 1); + cmsDirInput.put("name", "栏目一".replaceAll("一", count)); + cmsDirInput.put("sort", sort); Object cmsDirObj = FeginUtils.getReturnData( - remoteCmsService.initCmsDir(zoneDetail.getId(), cmsDirInput, SecurityConstants.INNER) + remoteCmsService.initCmsDir(zoneId, cmsDirInput, SecurityUtils.getUserKey()) ); JSONObject cmsDir = JSONObject.parseObject(JSON.toJSONString(cmsDirObj)); JSONObject cmsDocInput = new JSONObject(); - cmsDocInput.put("name", "第一条新闻"); - cmsDocInput.put("content", encodeContent("第一条新闻的新闻详情正文内容第一条新闻的新闻详情正文内容第一条新闻的新闻详情正文内容第一条新闻的新闻详情正文内容第一条新闻的新闻详情正文内容行第一条新闻的新闻详情正文内容...")); + cmsDocInput.put("name", "第一条新闻".replaceAll("一", count)); + cmsDocInput.put("content", encodeContent("第一条新闻的新闻详情正文内容第一条新闻的新闻详情正文内容第一条新闻的新闻详情正文内容第一条新闻的新闻详情正文内容第一条新闻的新闻详情正文内容行第一条新闻的新闻详情正文内容...".replaceAll("一", count))); cmsDocInput.put("headImg", "https://www.gitlink.org.cn/api/attachments/421073"); - cmsDocInput.put("summary", "第一条新闻的新闻详情正文内容第一条新闻的新闻详情正文内容第一条新闻的新闻详情正文内容第一条新闻的新闻详情正文内容第一条新闻的新闻详情正文内容行第一条新闻的新闻详情正文内容..."); - remoteCmsService.initCmsDoc(cmsDir.getLong("id"), cmsDocInput, SecurityConstants.INNER); - //初始化第二条新闻 - cmsDirInput.put("name", "栏目二"); - cmsDirInput.put("sort", 2); - cmsDirObj = FeginUtils.getReturnData( - remoteCmsService.initCmsDir(zoneDetail.getId(), cmsDirInput, SecurityConstants.INNER) - ); - cmsDir = JSONObject.parseObject(JSON.toJSONString(cmsDirObj)); - cmsDocInput = new JSONObject(); - cmsDocInput.put("name", "第二条新闻"); - cmsDocInput.put("content", encodeContent("第二条新闻的新闻详情正文内容第二条新闻的新闻详情正文内容第二条新闻的新闻详情正文内...")); - cmsDocInput.put("summary", "第二条新闻的新闻详情正文内容第二条新闻的新闻详情正文内容第二条新闻的新闻详情正文内..."); - remoteCmsService.initCmsDoc(cmsDir.getLong("id"), cmsDocInput, SecurityConstants.INNER); - //初始化第三条新闻 - cmsDirInput.put("name", "栏目三"); - cmsDirInput.put("sort", 3); - cmsDirObj = FeginUtils.getReturnData( - remoteCmsService.initCmsDir(zoneDetail.getId(), cmsDirInput, SecurityConstants.INNER) - ); - cmsDir = JSONObject.parseObject(JSON.toJSONString(cmsDirObj)); - cmsDocInput = new JSONObject(); - cmsDocInput.put("name", "第三条新闻"); - cmsDocInput.put("content", encodeContent("第三条新闻的新闻详情正文内容第三条新闻的新闻详情正文内容第三条新闻的新闻详情正文内...")); - cmsDocInput.put("summary", "第三条新闻的新闻详情正文内容第三条新闻的新闻详情正文内容第三条新闻的新闻详情正文内..."); - remoteCmsService.initCmsDoc(cmsDir.getLong("id"), cmsDocInput, SecurityConstants.INNER); - //初始化第四条新闻 - cmsDirInput.put("name", "栏目四"); - cmsDirInput.put("sort", 4); - cmsDirObj = FeginUtils.getReturnData( - remoteCmsService.initCmsDir(zoneDetail.getId(), cmsDirInput, SecurityConstants.INNER) - ); - cmsDir = JSONObject.parseObject(JSON.toJSONString(cmsDirObj)); - cmsDocInput = new JSONObject(); - cmsDocInput.put("name", "第四条新闻"); - cmsDocInput.put("content", encodeContent("第四条新闻的新闻详情正文内容第四条新闻的新闻详情正文内容第四条新闻的新闻详情正文内...")); - cmsDocInput.put("summary", "第四条新闻的新闻详情正文内容第四条新闻的新闻详情正文内容第四条新闻的新闻详情正文内..."); - remoteCmsService.initCmsDoc(cmsDir.getLong("id"), cmsDocInput, SecurityConstants.INNER); - //endregion + cmsDocInput.put("summary", "第一条新闻的新闻详情正文内容第一条新闻的新闻详情正文内容第一条新闻的新闻详情正文内容第一条新闻的新闻详情正文内容第一条新闻的新闻详情正文内容行第一条新闻的新闻详情正文内容...".replaceAll("一", count)); + remoteCmsService.initCmsDoc(cmsDir.getLong("id"), cmsDocInput, SecurityConstants.INNER, SecurityUtils.getUserKey()); } - private void initProject(ZoneDetail zoneDetail) { + @Async + @Override + public void initCms(ZoneDetail zoneDetail) { + initCms(zoneDetail.getId(), "一", 1); + initCms(zoneDetail.getId(), "二", 2); + initCms(zoneDetail.getId(), "三", 3); + initCms(zoneDetail.getId(), "四", 4); + } + + @Async + @Override + public void initProject(ZoneDetail zoneDetail) { //region 初始化项目 //初始化项目类型 ZoneProjectTypeInputVo zoneProjectTypeInputVo = new ZoneProjectTypeInputVo(); @@ -351,7 +343,9 @@ public class ZoneAsyncServiceImpl implements IZoneAsyncService { //endregion } - private void initMember(ZoneDetail zoneDetail) { + @Async + @Override + public void initMember(ZoneDetail zoneDetail) { //region 初始化会员 //初始化会员类别 ZoneMemberTypeInputVo zoneMemberTypeInputVo = new ZoneMemberTypeInputVo(); diff --git a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/detail/service/impl/ZoneDetailServiceImpl.java b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/detail/service/impl/ZoneDetailServiceImpl.java index f30470501..9392ec4f5 100644 --- a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/detail/service/impl/ZoneDetailServiceImpl.java +++ b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/detail/service/impl/ZoneDetailServiceImpl.java @@ -27,11 +27,17 @@ import com.ruoyi.system.api.utils.FeginUtils; import com.ruoyi.zone.detail.domain.ZoneDetail; import com.ruoyi.zone.detail.domain.vo.*; import com.ruoyi.zone.detail.mapper.ZoneDetailMapper; +import com.ruoyi.zone.detail.service.IZoneAsyncService; import com.ruoyi.zone.detail.service.IZoneDetailService; import com.ruoyi.zone.member.domain.vo.ZoneMemberSearchVo; +import com.ruoyi.zone.member.mapper.ZoneMemberLevelMapper; import com.ruoyi.zone.member.mapper.ZoneMemberMapper; +import com.ruoyi.zone.member.mapper.ZoneMemberTypeMapper; import com.ruoyi.zone.project.domain.vo.ZoneProjectSearchVo; import com.ruoyi.zone.project.mapper.ZoneProjectMapper; +import com.ruoyi.zone.project.mapper.ZoneProjectTypeMapper; +import com.ruoyi.zone.resource.mapper.ZoneResourceDomainMapper; +import com.ruoyi.zone.resource.mapper.ZoneResourceTypeMapper; import com.ruoyi.zone.utils.ZoneConstants; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -63,11 +69,21 @@ public class ZoneDetailServiceImpl implements IZoneDetailService { @Autowired private RemoteUserService remoteUserService; @Autowired - private ZoneAsyncServiceImpl zoneAsyncService; + private IZoneAsyncService zoneAsyncService; @Autowired private ZoneProjectMapper zoneProjectMapper; @Autowired + private ZoneProjectTypeMapper zoneProjectTypeMapper; + @Autowired private ZoneMemberMapper zoneMemberMapper; + @Autowired + private ZoneMemberTypeMapper zoneMemberTypeMapper; + @Autowired + private ZoneMemberLevelMapper zoneMemberLevelMapper; + @Autowired + private ZoneResourceTypeMapper zoneResourceTypeMapper; + @Autowired + private ZoneResourceDomainMapper zoneResourceDomainMapper; @Value("${zone.zoneAdminUrl}") private String zoneAdminUrl; @Value("${zone.zoneConfigurationUrl}") @@ -242,12 +258,29 @@ public class ZoneDetailServiceImpl implements IZoneDetailService { /** * 删除特色专区详情信息 * - * @param id 特色专区详情主键 + * @param id 特色专区详情主键 + * @param deptName * @return 结果 */ @Override - public int deleteZoneDetailById(Long id) { - return zoneDetailMapper.deleteZoneDetailById(id); + public int deleteZoneDetailByDeptName(String deptName) { + ZoneDetail zoneDetail = zoneDetailMapper.selectZoneDetailByName(deptName); + if (zoneDetail == null) { + return 0; + } + // 1、删除专区对应项目 + remoteCmsService.removeByDeptId(zoneDetail.getDeptId(), SecurityConstants.INNER); + // 2、删除专区会员、会员类别、会员等级 + zoneMemberMapper.deleteZoneMemberByZoneId(zoneDetail.getId()); + zoneMemberTypeMapper.deleteZoneMemberTypeByZoneId(zoneDetail.getId()); + zoneMemberLevelMapper.deleteZoneMemberLevelByZoneId(zoneDetail.getId()); + // 3、删除专区项目、项目类别、项目 + zoneProjectMapper.deleteZoneProjectByZoneId(zoneDetail.getId()); + zoneProjectTypeMapper.deleteZoneProjectTypeByZoneId(zoneDetail.getId()); + // 4、删除专区资源类型、资源领域 + zoneResourceTypeMapper.deleteZoneResourceTypeByZoneId(zoneDetail.getId()); + zoneResourceDomainMapper.deleteZoneResourceDomainByZoneId(zoneDetail.getId()); + return zoneDetailMapper.deleteZoneDetailById(zoneDetail.getId()); } @Override @@ -283,7 +316,12 @@ public class ZoneDetailServiceImpl implements IZoneDetailService { zoneDetail.setKey(zoneKey); boolean isSuccess = insertZoneDetail(zoneDetail) > 0; if (isSuccess) { - zoneAsyncService.asyncInitZoneData(zoneDetail); + zoneAsyncService.initHomePage(zoneDetail); + zoneAsyncService.initCms(zoneDetail); + zoneAsyncService.initProject(zoneDetail); + zoneAsyncService.initMember(zoneDetail); + zoneAsyncService.initPartners(zoneDetail); + zoneAsyncService.initResource(zoneDetail); } return isSuccess; diff --git a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/mapper/ZoneMemberLevelMapper.java b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/mapper/ZoneMemberLevelMapper.java index bed7613d0..b7091d63d 100644 --- a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/mapper/ZoneMemberLevelMapper.java +++ b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/mapper/ZoneMemberLevelMapper.java @@ -131,4 +131,12 @@ public interface ZoneMemberLevelMapper { * @return */ Integer batchUpdateSortIncreased(@Param("zoneId") Long zoneId, @Param("setSort") Integer setSort); + + /** + * 根据专区Id删除专区会员等级 + * + * @param zoneId + * @return + */ + int deleteZoneMemberLevelByZoneId(Long zoneId); } diff --git a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/mapper/ZoneMemberMapper.java b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/mapper/ZoneMemberMapper.java index 7855e5ecf..eba3e4f8d 100644 --- a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/mapper/ZoneMemberMapper.java +++ b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/mapper/ZoneMemberMapper.java @@ -128,4 +128,12 @@ public interface ZoneMemberMapper { * @return */ Integer batchUpdateSortIncreased(@Param("zoneMember") ZoneMember zoneMember, @Param("setSort") Integer setSort); + + /** + * 通过专区id删除专区会员 + * + * @param zoneId + * @return + */ + int deleteZoneMemberByZoneId(Long zoneId); } diff --git a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/mapper/ZoneMemberTypeMapper.java b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/mapper/ZoneMemberTypeMapper.java index 5ecc58b11..b0f1998bc 100644 --- a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/mapper/ZoneMemberTypeMapper.java +++ b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/mapper/ZoneMemberTypeMapper.java @@ -131,4 +131,12 @@ public interface ZoneMemberTypeMapper { * @return */ Integer batchUpdateSortIncreased(@Param("zoneId") Long zoneId, @Param("setSort") Integer setSort); + + /** + * 根据专区Id删除会员类别 + * + * @param zoneId + * @return + */ + int deleteZoneMemberTypeByZoneId(Long zoneId); } diff --git a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/service/impl/ZoneMemberServiceImpl.java b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/service/impl/ZoneMemberServiceImpl.java index 61693562f..0df7f857a 100644 --- a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/service/impl/ZoneMemberServiceImpl.java +++ b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/service/impl/ZoneMemberServiceImpl.java @@ -650,6 +650,7 @@ public class ZoneMemberServiceImpl implements IZoneMemberService { String imageUrl = EscapeUtil.removeExtraSlashOfUrl(String.format("%s/%s", gitLinkUrl, imagePath)); zoneMember.setImageUrl(imageUrl); zoneMember.setIsAudit(ZoneConstants.MEMBER_AUDIT_PASS); + createMemberUserIdentify(zoneDetail, sysUser); zoneMember.setUserId(sysUser.getUserId()); zoneMember.setDeptId(zoneDetail.getDeptId()); zoneMember.setCreateTime(DateUtils.getNowDate()); diff --git a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/project/mapper/ZoneProjectMapper.java b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/project/mapper/ZoneProjectMapper.java index 6a995ab98..d8542b22d 100644 --- a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/project/mapper/ZoneProjectMapper.java +++ b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/project/mapper/ZoneProjectMapper.java @@ -147,4 +147,12 @@ public interface ZoneProjectMapper { * @return */ Integer selectHomepageCount(Long zoneId); + + /** + * 根据专区id删除专区项目 + * + * @param zoneId + * @return + */ + int deleteZoneProjectByZoneId(Long zoneId); } diff --git a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/project/mapper/ZoneProjectTypeMapper.java b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/project/mapper/ZoneProjectTypeMapper.java index 358cfbcc8..b7d9d2569 100644 --- a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/project/mapper/ZoneProjectTypeMapper.java +++ b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/project/mapper/ZoneProjectTypeMapper.java @@ -135,4 +135,12 @@ public interface ZoneProjectTypeMapper { * @return */ Integer batchUpdateSortIncreased(@Param("zoneId") Long zoneId, @Param("setSort") Integer setSort); + + /** + * 根据专区Id删除项目类型 + * + * @param zoneId + * @return + */ + int deleteZoneProjectTypeByZoneId(Long zoneId); } diff --git a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/resource/mapper/ZoneResourceDomainMapper.java b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/resource/mapper/ZoneResourceDomainMapper.java index d4c24e168..98d85d2b5 100644 --- a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/resource/mapper/ZoneResourceDomainMapper.java +++ b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/resource/mapper/ZoneResourceDomainMapper.java @@ -70,4 +70,12 @@ public interface ZoneResourceDomainMapper { * @return */ ZoneResourceDomain selectZoneResourceDomainByNameAndZoneId(@Param("name") String name, @Param("zoneId") Long zoneId); + + /** + * 根据专区Id删除资源领域 + * + * @param zoneId + * @return + */ + int deleteZoneResourceDomainByZoneId(Long zoneId); } diff --git a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/resource/mapper/ZoneResourceTypeMapper.java b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/resource/mapper/ZoneResourceTypeMapper.java index dd0a583f2..67733c1c7 100644 --- a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/resource/mapper/ZoneResourceTypeMapper.java +++ b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/resource/mapper/ZoneResourceTypeMapper.java @@ -86,4 +86,12 @@ public interface ZoneResourceTypeMapper { * @return */ List selectContainFileZoneResourceTypeList(ZoneResourceType zoneResourceType); + + /** + * 根据专区Id删除资源类型 + * + * @param zoneId + * @return + */ + int deleteZoneResourceTypeByZoneId(Long zoneId); } diff --git a/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneDetailMapper.xml b/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneDetailMapper.xml index fd292ada3..2c0999895 100644 --- a/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneDetailMapper.xml +++ b/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneDetailMapper.xml @@ -38,7 +38,7 @@ - + @@ -150,6 +150,10 @@ where `key` = #{key} + insert into zone_detail @@ -185,7 +189,7 @@ template, helper_title, helper_show, - doc_need_audit, + doc_need_audit, resource_need_audit, @@ -260,7 +264,7 @@ template = #{template}, helper_show = #{helperShow}, helper_title = #{helperTitle}, - doc_need_audit = #{docNeedAudit}, + doc_need_audit = #{docNeedAudit}, resource_need_audit = #{resourceNeedAudit}, where id = #{id} diff --git a/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneMemberLevelMapper.xml b/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneMemberLevelMapper.xml index a0274dd7d..63afedf68 100644 --- a/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneMemberLevelMapper.xml +++ b/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneMemberLevelMapper.xml @@ -169,4 +169,9 @@ #{id} + + delete + from zone_member_level + where zone_id = #{zoneId} + \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneMemberMapper.xml b/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneMemberMapper.xml index e7dbc1105..0791663c3 100644 --- a/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneMemberMapper.xml +++ b/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneMemberMapper.xml @@ -341,4 +341,9 @@ #{id} + + delete + from zone_member + where zone_id = #{zoneId} + \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneMemberTypeMapper.xml b/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneMemberTypeMapper.xml index 04b6301b8..5890b5996 100644 --- a/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneMemberTypeMapper.xml +++ b/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneMemberTypeMapper.xml @@ -169,4 +169,9 @@ #{id} + + delete + from zone_member_type + where zone_id = #{zoneId} + \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneProjectMapper.xml b/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneProjectMapper.xml index 208cf9ef5..e090ea9dc 100644 --- a/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneProjectMapper.xml +++ b/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneProjectMapper.xml @@ -251,4 +251,9 @@ #{id} + + delete + from zone_project + where zone_id = #{zoneId} + \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneProjectTypeMapper.xml b/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneProjectTypeMapper.xml index a40259db6..009d7edc4 100644 --- a/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneProjectTypeMapper.xml +++ b/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneProjectTypeMapper.xml @@ -177,4 +177,9 @@ #{id} + + delete + from zone_project_type + where zone_id = #{zoneId} + \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneResourceDomainMapper.xml b/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneResourceDomainMapper.xml index 01c4109a1..bb40c09b6 100644 --- a/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneResourceDomainMapper.xml +++ b/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneResourceDomainMapper.xml @@ -122,4 +122,9 @@ #{id} + + delete + from zone_resource_domain + where zone_id = #{zoneId} + \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneResourceTypeMapper.xml b/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneResourceTypeMapper.xml index 3378f48e8..9ec4a38c6 100644 --- a/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneResourceTypeMapper.xml +++ b/ruoyi-modules/ruoyi-zone/src/main/resources/mapper/zone/ZoneResourceTypeMapper.xml @@ -153,4 +153,9 @@ #{id} + + delete + from zone_resource_type + where zone_id = #{zoneId} + \ No newline at end of file diff --git a/sql/update/20230915140815_init_zone_resource_data.sql b/sql/update/20230915140815_init_zone_resource_data.sql new file mode 100644 index 000000000..569fac20b --- /dev/null +++ b/sql/update/20230915140815_init_zone_resource_data.sql @@ -0,0 +1,56 @@ +-- 对没有资源领域的专区初始化数据 +INSERT INTO `zone_resource_domain` (`name`, `sort`, `dept_id`, `del_flag`, `create_by`, `create_time`, `update_by`, + `update_time`, `zone_id`) +SELECT '资源领域一', + 1, + dept_id, + '0', + 'admin', + NOW(), + NULL, + NULL, + id +from zone_detail +where id not in (select zone_id from zone_resource_domain where name not in ('资源领域二', '资源领域三', '资源领域四')); + +INSERT INTO `zone_resource_domain` (`name`, `sort`, `dept_id`, `del_flag`, `create_by`, `create_time`, `update_by`, + `update_time`, `zone_id`) +SELECT '资源领域二', + 2, + dept_id, + '0', + 'admin', + NOW(), + NULL, + NULL, + id +from zone_detail +where id not in (select zone_id from zone_resource_domain where name not in ('资源领域一', '资源领域三', '资源领域四')); + +INSERT INTO `zone_resource_domain` (`name`, `sort`, `dept_id`, `del_flag`, `create_by`, `create_time`, `update_by`, + `update_time`, `zone_id`) +SELECT '资源领域三', + 3, + dept_id, + '0', + 'admin', + NOW(), + NULL, + NULL, + id +from zone_detail +where id not in (select zone_id from zone_resource_domain where name not in ('资源领域一', '资源领域二', '资源领域四')); + +INSERT INTO `zone_resource_domain` (`name`, `sort`, `dept_id`, `del_flag`, `create_by`, `create_time`, `update_by`, + `update_time`, `zone_id`) +SELECT '资源领域四', + 4, + dept_id, + '0', + 'admin', + NOW(), + NULL, + NULL, + id +from zone_detail +where id not in (select zone_id from zone_resource_domain where name not in ('资源领域一', '资源领域二', '资源领域三')); \ No newline at end of file