From 775a68ee7dac33276e8c393b8dc930258da5f1a4 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Mon, 11 Sep 2023 11:00:03 +0800 Subject: [PATCH 1/2] =?UTF-8?q?update=20-=20=E8=B0=83=E6=95=B4=E4=BA=A7?= =?UTF-8?q?=E5=93=81=E5=88=A0=E9=99=A4=E5=AE=9E=E7=8E=B0=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../axzo/tyr/server/service/impl/ProductServiceImpl.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/ProductServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/ProductServiceImpl.java index 11f67059..40cf5a67 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/ProductServiceImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/ProductServiceImpl.java @@ -71,7 +71,7 @@ public class ProductServiceImpl implements ProductService { @Override public ApiResult update(ProductUpdateReq req) { ProductModule productModule = productModuleDao.getById(req.getId()); - BeanMapper.copyBeanIgnoreNull(req, ()-> productModule); + BeanMapper.copyBeanIgnoreNull(req, () -> productModule); productModuleDao.updateById(productModule); return ApiResult.ok(BeanMapper.copyBeanIgnoreNull(productModule, ProductVO.class)); } @@ -80,8 +80,10 @@ public class ProductServiceImpl implements ProductService { public ApiResult delete(Long id) { ProductModule productModule = productModuleDao.getById(id); AssertUtil.isTrue(Objects.nonNull(productModule), "产品不存在"); - productModule.setIsDelete(id); - productModuleDao.updateById(productModule); + productModuleDao.lambdaUpdate() + .eq(ProductModule::getId, productModule.getId()) + .set(ProductModule::getIsDelete, productModule.getId()) + .update(); return ApiResult.ok(BeanMapper.copyBean(productModule, ProductVO.class)); } } From 77bf00fadbc16ec0a3f2997935a5037aeee5e490 Mon Sep 17 00:00:00 2001 From: yangsong Date: Mon, 11 Sep 2023 11:10:13 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=A7=92=E8=89=B2=E5=88=86=E7=BB=84spi=20s?= =?UTF-8?q?ervice?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...RoleGoupApi.java => SaasRoleGroupApi.java} | 2 +- .../role/SaasRoleGroupController.java | 33 ++++++++++++ .../server/service/SaasRoleGroupService.java | 10 ++++ .../server/service/impl/RoleServiceImpl.java | 8 ++- .../impl/SaasRoleGroupServiceImpl.java | 51 +++++++++++++++++++ 5 files changed, 102 insertions(+), 2 deletions(-) rename tyr-api/src/main/java/cn/axzo/tyr/client/feign/{SaasRoleGoupApi.java => SaasRoleGroupApi.java} (96%) create mode 100644 tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasRoleGroupController.java create mode 100644 tyr-server/src/main/java/cn/axzo/tyr/server/service/SaasRoleGroupService.java create mode 100644 tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasRoleGroupServiceImpl.java diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasRoleGoupApi.java b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasRoleGroupApi.java similarity index 96% rename from tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasRoleGoupApi.java rename to tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasRoleGroupApi.java index ba7c016e..457819a3 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasRoleGoupApi.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasRoleGroupApi.java @@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.RequestParam; * 角色分组 */ @FeignClient(name = "tyr", url = "${axzo.service.maokai:http://tyr:8080/api/saasRoleGroup}") -public interface SaasRoleGoupApi { +public interface SaasRoleGroupApi { /** * 保存/更新 diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasRoleGroupController.java b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasRoleGroupController.java new file mode 100644 index 00000000..e25896c0 --- /dev/null +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/role/SaasRoleGroupController.java @@ -0,0 +1,33 @@ +package cn.axzo.tyr.server.controller.role; + +import cn.axzo.framework.domain.web.result.ApiListResult; +import cn.axzo.framework.domain.web.result.ApiResult; +import cn.axzo.tyr.client.feign.SaasRoleGroupApi; +import cn.axzo.tyr.client.model.req.QuerySaasRoleGroupReq; +import cn.axzo.tyr.client.model.vo.SaasRoleGroupVO; +import cn.axzo.tyr.server.service.SaasRoleGroupService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@RestController +@RequiredArgsConstructor +public class SaasRoleGroupController implements SaasRoleGroupApi { + private final SaasRoleGroupService saasRoleGroupService; + + @Override + public ApiResult saveOrUpdate(SaasRoleGroupVO req) { + return null; + } + + @Override + public ApiListResult getList(QuerySaasRoleGroupReq req) { + return ApiListResult.ok(saasRoleGroupService.getList(req)); + } + + @Override + public ApiResult delete(Long id) { + return null; + } +} diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/SaasRoleGroupService.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/SaasRoleGroupService.java new file mode 100644 index 00000000..d50e03d2 --- /dev/null +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/SaasRoleGroupService.java @@ -0,0 +1,10 @@ +package cn.axzo.tyr.server.service; + +import cn.axzo.tyr.client.model.req.QuerySaasRoleGroupReq; +import cn.axzo.tyr.client.model.vo.SaasRoleGroupVO; + +import java.util.List; + +public interface SaasRoleGroupService { + List getList(QuerySaasRoleGroupReq req); +} diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleServiceImpl.java index bd5548cd..51ed81bb 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleServiceImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleServiceImpl.java @@ -19,7 +19,10 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -128,6 +131,9 @@ public class RoleServiceImpl implements RoleService { groupRelation = roleGroupRelationDao.lambdaQuery() .in(SaasRoleGroupRelation::getSaasRoleGroupId, roleGroup.stream().map(BaseEntity::getId).collect(Collectors.toList())) .list(); + if (CollectionUtils.isEmpty(groupRelation)) { + return new ArrayList<>(); + } } // 查询角色 List list = saasRoleDao.lambdaQuery() diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasRoleGroupServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasRoleGroupServiceImpl.java new file mode 100644 index 00000000..7a76af4f --- /dev/null +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasRoleGroupServiceImpl.java @@ -0,0 +1,51 @@ +package cn.axzo.tyr.server.service.impl; + +import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum; +import cn.axzo.tyr.client.model.req.QuerySaasRoleGroupReq; +import cn.axzo.tyr.client.model.vo.SaasRoleGroupVO; +import cn.axzo.tyr.server.repository.entity.SaasRoleGroup; +import cn.axzo.tyr.server.repository.entity.SaasRoleGroupRelation; +import cn.axzo.tyr.server.repository.service.SaasRoleGroupDao; +import cn.axzo.tyr.server.repository.service.SaasRoleGroupRelationDao; +import cn.axzo.tyr.server.service.SaasRoleGroupService; +import cn.hutool.core.bean.BeanUtil; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Slf4j +@RequiredArgsConstructor +@Service +public class SaasRoleGroupServiceImpl implements SaasRoleGroupService { + private final SaasRoleGroupDao saasRoleGroupDao; + private final SaasRoleGroupRelationDao saasRoleGroupRelationDao; + + @Override + public List getList(QuerySaasRoleGroupReq req) { + List groups = saasRoleGroupDao.query(req); + if (CollectionUtils.isEmpty(groups)) { + return new ArrayList<>(); + } + List saasRoleGroupRelations = saasRoleGroupRelationDao.lambdaQuery().in(SaasRoleGroupRelation::getSaasRoleGroupId, groups.stream().map(SaasRoleGroup::getId)) + .eq(SaasRoleGroupRelation::getIsDelete, TableIsDeleteEnum.NORMAL.value).list(); + Map> groupRoleMap = saasRoleGroupRelations.stream().collect(Collectors.groupingBy(SaasRoleGroupRelation::getSaasRoleGroupId, Collectors.mapping(SaasRoleGroupRelation::getRoleId, Collectors.toList()))); + List results = groups.stream().map(e -> { + SaasRoleGroupVO target = BeanUtil.copyProperties(e, SaasRoleGroupVO.class); + if (StringUtils.isNotBlank(e.getOuTypeCode())) { + target.setOuTypeCode(Arrays.stream(e.getOuTypeCode().split(",")).filter(StringUtils::isNotBlank).map(s -> Long.parseLong(s.trim())).collect(Collectors.toList())); + } + target.setRoleIds(groupRoleMap.get(e.getId())); + return target; + }).collect(Collectors.toList()); + + return results; + } +}