diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdTagLibraryController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdTagLibraryController.java index 2bf4d57..0b2c473 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdTagLibraryController.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdTagLibraryController.java @@ -41,15 +41,15 @@ public class EdTagLibraryController { // 拖拽修改排序/分组 @GetMapping("/updateOrder") @UserOperation(value="修改了标签顺序", modelName = UserOperationModuleEnum.TAG) - public ElectromagneticResult updateTagOrder(@RequestParam String tagId, @RequestParam String newParentId, @RequestParam Integer newOrderBy) { + public ElectromagneticResult updateTagOrder(@RequestParam String tagId, @RequestParam String newTagId, @RequestParam String newParentId, @RequestParam Integer newOrderBy) { String updatedBy = UserThreadLocal.getUserId(); - return ElectromagneticResultUtil.success(edTagLibraryService.updateTagOrder(tagId, newParentId, newOrderBy,updatedBy)); + return ElectromagneticResultUtil.success(edTagLibraryService.updateTagOrder(tagId, newTagId, newParentId, newOrderBy,updatedBy)); } // 发布标签 - @GetMapping("/batchPublish") + @PostMapping("/batchPublish") @UserOperation(value="发布了标签组", modelName = UserOperationModuleEnum.TAG) - public ElectromagneticResult publishTag(@RequestParam List tagIds) { + public ElectromagneticResult publishTag(@RequestBody List tagIds) { return ElectromagneticResultUtil.success(edTagLibraryService.batchPublishTagGroups(tagIds)); } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdTagLibraryService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdTagLibraryService.java index 7c77b8f..900d97e 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdTagLibraryService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdTagLibraryService.java @@ -32,7 +32,7 @@ public interface EdTagLibraryService extends IService { * @param tagId * @param newOrderBy */ - Boolean updateTagOrder(String tagId, String newParentId, Integer newOrderBy, String updatedBy); + Boolean updateTagOrder(String tagId, String newTagId, String newParentId, Integer newOrderBy, String updatedBy); /** * 发布标签 diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdTagLibraryServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdTagLibraryServiceImpl.java index 8153621..3c72a11 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdTagLibraryServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdTagLibraryServiceImpl.java @@ -36,13 +36,9 @@ public class EdTagLibraryServiceImpl extends ServiceImpl() .eq(EdTagLibrary::getTagId, tagId)); + // 查询交换顺序的标签/组 + EdTagLibrary newTag = this.getOne(new LambdaQueryWrapper() + .eq(EdTagLibrary::getTagId, newTagId)); - Assert.notNull(tag,"标签不存在"); + Assert.notNull(tag,"此标签/标签组不存在"); + Assert.notNull(newTag, "无法将标签/标签组移动到此位置"); + + // 若标签挪到空标签组下,newTagId为新标签组Id + if (!tag.getType().equals(newTag.getType())) { + if (tag.getType().equals(TagTypeEnum.TAG.getCode())) { + newParentId = newTagId; + newOrderBy = 1; + } else { + throw new BizException("标签组无法移动到标签下"); + } + } String oldParentId = tag.getParentId(); Integer oldOrderBy = tag.getOrderBy(); @@ -116,11 +119,11 @@ public class EdTagLibraryServiceImpl extends ServiceImpl updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(EdTagLibrary::getTagId, tagId) .set(EdTagLibrary::getTagName, tagName) .set(EdTagLibrary::getUpdatedBy, updatedBy); boolean isUpdated = this.update(updateWrapper); if (isUpdated) { - UserThreadLocal.setSuccessInfo("", tagId, StrFormatter.format("更新了标签{}信息", tagName)); + UserThreadLocal.setSuccessInfo("", tagId, StrFormatter.format("更新了标签 {} 信息", tagName)); } return isUpdated; } @@ -318,5 +322,26 @@ public class EdTagLibraryServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(EdTagLibrary::getTagName, tagName); + return this.count(queryWrapper) > 0; + } + + /** + * 计算顺序 + * @return maxOrder + */ + private int selectMaxOrder(int typeCode, String parentId) { + // 查询当前最大排序值 + int maxOrder = Optional.ofNullable(this.getBaseMapper().selectMaxOrder(typeCode, parentId)).orElse(0); + return maxOrder; + } }