diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasBasicDictApi.java b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasBasicDictApi.java index b6d3ff30..6038bf22 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasBasicDictApi.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasBasicDictApi.java @@ -26,7 +26,7 @@ import java.util.List; public interface SaasBasicDictApi { /** - * 获取字典树所有节点 + * 获取字典树节点 * * @param req 根据自身需求传入参数 * @return @@ -42,11 +42,11 @@ public interface SaasBasicDictApi { */ @PostMapping("api/dict/node-tree") ApiResult> getBasicDictNodeTree( - @EnumValidator(enumClass = DictTypeFiledEnum.class, message = "枚举类型错误") - DictTypeFiledEnum type); + @EnumValidator(enumClass = DictTypeFiledEnum.class, message = "枚举类型错误") + DictTypeFiledEnum type); /** - * 获取字典节点详情 + * 通过type和code获取字典节点详情 * * @param req 传入type和code * @return @@ -58,16 +58,17 @@ public interface SaasBasicDictApi { * 添加字典 * * @param req 其中name同一个父级节点,名称不能重复,codeMap全局唯一 - * @return + * @return 节点id */ @PostMapping("api/dict/create") ApiResult create(@RequestBody @Validated BasicDictCreateReq req); /** * 编辑字典 + * 目前只支持更新字典名称 * - * @param req - * @return + * @param req 字典id和name + * @return 更新状态 */ @PostMapping("api/dict/update") ApiResult update(@RequestBody @Validated BasicDictUpdateReq req); @@ -75,12 +76,18 @@ public interface SaasBasicDictApi { /** * 更新字典状态 * - * @param req - * @return + * @param req 字典id和status + * @return 更新状态 */ - @PostMapping("api/dict//update-status") + @PostMapping("api/dict/update-status") ApiResult updateStatus(@RequestBody @Validated BasicDictUpdateStatusReq req); + /** + * 通过id获取字典节点 + * + * @param id 节点id + * @return 一个字典节点 + */ @GetMapping("api/dict/get") ApiResult get(@RequestParam Long id); diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/dict/request/BasicDictQueryReq.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/dict/request/BasicDictQueryReq.java index f4dc02e4..7b101e4a 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/dict/request/BasicDictQueryReq.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/dict/request/BasicDictQueryReq.java @@ -47,7 +47,7 @@ public class BasicDictQueryReq { /** * 字典code */ - private String code; + private List codes; /** * 状态 diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/SaasBasicDictDao.java b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/SaasBasicDictDao.java index 5f71b90c..2a7b6eb4 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/SaasBasicDictDao.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/SaasBasicDictDao.java @@ -1,15 +1,17 @@ package cn.axzo.tyr.server.repository; import cn.axzo.basics.common.BeanMapper; +import cn.axzo.framework.domain.web.result.ApiResult; import cn.axzo.tyr.client.model.dict.request.BasicDictNodeReq; import cn.axzo.tyr.client.model.dict.request.BasicDictQueryReq; +import cn.axzo.tyr.client.model.dict.request.BasicDictUpdateReq; +import cn.axzo.tyr.client.model.dict.request.BasicDictUpdateStatusReq; import cn.axzo.tyr.client.model.dict.response.BasicDictNodeResp; import cn.axzo.tyr.server.repository.entity.SaasBasicDict; import cn.axzo.tyr.server.repository.mapper.SaasBasicDictMapper; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; import java.util.List; import java.util.Objects; @@ -27,12 +29,10 @@ public class SaasBasicDictDao extends ServiceImpl getBasicDictNodeList(BasicDictQueryReq req) { LambdaQueryChainWrapper queryChainWrapper = lambdaQuery(); if (Objects.nonNull(req)) { - queryChainWrapper - .in(!CollectionUtils.isEmpty(req.getIds()), SaasBasicDict::getId, req.getIds()) - .eq(Objects.nonNull(req.getParentId()), SaasBasicDict::getParentId, req.getParentId()) + queryChainWrapper.eq(Objects.nonNull(req.getParentId()), SaasBasicDict::getParentId, req.getParentId()) .eq(Objects.nonNull(req.getWorkspaceType()), SaasBasicDict::getWorkspaceType, Objects.nonNull(req.getWorkspaceType()) ? req.getWorkspaceType().getValue() : "") .eq(Objects.nonNull(req.getType()), SaasBasicDict::getType, Objects.nonNull(req.getType()) ? req.getType().getValue() : "") - .eq(Objects.nonNull(req.getCode()), SaasBasicDict::getCode, req.getCode()) + .in(Objects.nonNull(req.getCodes()), SaasBasicDict::getCode, req.getCodes()) .eq(Objects.nonNull(req.getStatus()), SaasBasicDict::getStatus, Boolean.TRUE.equals(req.getStatus()) ? 1 : 0) .like(Objects.nonNull(req.getName()), SaasBasicDict::getName, req.getName()); } @@ -46,4 +46,18 @@ public class SaasBasicDictDao extends ServiceImpl b.setStatus(s.getStatus() == 1)); } + + public ApiResult updateStatus(BasicDictUpdateStatusReq req) { + boolean update = lambdaUpdate().eq(SaasBasicDict::getId, req.getId()) + .set(SaasBasicDict::getStatus, req.getStatus() ? 1 : 0) + .update(); + return ApiResult.ok(update); + } + + public ApiResult update(BasicDictUpdateReq req) { + boolean update = lambdaUpdate().eq(SaasBasicDict::getId, req.getId()) + .set(SaasBasicDict::getName, req.getId()) + .update(); + return ApiResult.ok(update); + } } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasBasicDictServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasBasicDictServiceImpl.java index 9644a1bf..7aa387c4 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasBasicDictServiceImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasBasicDictServiceImpl.java @@ -40,6 +40,7 @@ public class SaasBasicDictServiceImpl implements SaasBasicDictService { /** * 获取节点树 + * * @param type * @return */ @@ -48,7 +49,7 @@ public class SaasBasicDictServiceImpl implements SaasBasicDictService { // 获取所有节点 List basicDictNodeList = saasBasicDictDao.getBasicDictNodeList(null); // 单侧树 - if (Objects.nonNull(type)){ + if (Objects.nonNull(type)) { List unilateralTreeNodeList = basicDictNodeList.stream() .filter(b -> b.getType().equals(type.getValue()) || b.getType().equals(DictTypeFiledEnum.WORKSPACE.getValue())) .collect(Collectors.toList()); @@ -59,6 +60,7 @@ public class SaasBasicDictServiceImpl implements SaasBasicDictService { /** * 根据节点列表构建节点树 + * * @param nodeList 节点列表 * @return 节点树 */ @@ -73,17 +75,17 @@ public class SaasBasicDictServiceImpl implements SaasBasicDictService { nodeList.forEach(node -> { BasicDictTreeResp treeNode = BeanMapper.copyBean(node, BasicDictTreeResp.class); map.put(node.getId(), treeNode); - if (node.getParentId() == 0){ + if (node.getParentId() == 0) { root.add(treeNode); } }); map.values().forEach(treeNode -> { BasicDictTreeResp parent = map.get(treeNode.getParentId()); - if (Objects.nonNull(parent)){ - if (Objects.isNull(parent.getChildren())){ - parent.setChildren(new ArrayList<>()); - } - parent.getChildren().add(treeNode); + if (Objects.nonNull(parent)) { + if (Objects.isNull(parent.getChildren())) { + parent.setChildren(new ArrayList<>()); + } + parent.getChildren().add(treeNode); } }); @@ -108,12 +110,12 @@ public class SaasBasicDictServiceImpl implements SaasBasicDictService { @Override public ApiResult update(BasicDictUpdateReq req) { - return null; + return saasBasicDictDao.update(req); } @Override public ApiResult updateStauts(BasicDictUpdateStatusReq req) { - return null; + return saasBasicDictDao.updateStatus(req); } @Override