From eafa6daf5b16e31905288b5209879a19f4a06acd Mon Sep 17 00:00:00 2001 From: shahaibo <1023316923@qq.com> Date: Thu, 4 Jan 2024 13:57:17 +0800 Subject: [PATCH 1/4] =?UTF-8?q?TASK:=E5=85=AC=E5=85=B1=E6=A0=87=E7=AD=BE;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ClassificationController.java | 24 ++++++++ .../com/ai/da/model/vo/AccountLoginVO.java | 2 + .../ai/da/service/ClassificationService.java | 4 ++ .../impl/ClassificationServiceImpl.java | 56 +++++++++++++++++++ src/main/resources/messages_en.properties | 3 +- 5 files changed, 88 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/ai/da/controller/ClassificationController.java b/src/main/java/com/ai/da/controller/ClassificationController.java index 8c8f75ae..cbe95c14 100644 --- a/src/main/java/com/ai/da/controller/ClassificationController.java +++ b/src/main/java/com/ai/da/controller/ClassificationController.java @@ -81,4 +81,28 @@ public class ClassificationController { return Response.success(classificationService.getRelClassificationIdList(classificationDTO)); } + /** + * 多选 获取共有标签 + * @param classificationDTO + * @return + */ + @PostMapping("/getRelPublicClassificationIdList") + @ApiOperationSupport(order = 5) + @ApiModelProperty(value = "获取关联公共分类IDList", notes = "传入ClassificationDTO") + public Response> getRelPublicClassificationIdList(@Valid @RequestBody ClassificationDTO classificationDTO) { + return Response.success(classificationService.getRelPublicClassificationIdList(classificationDTO)); + } + + /** + * 多选 编辑共有标签 + * @param classificationDTO + * @return + */ + @PostMapping("/editRelPublicClassificationIdList") + @ApiOperationSupport(order = 5) + @ApiModelProperty(value = "编辑关联公共分类IDList", notes = "传入ClassificationDTO") + public Response editRelPublicClassificationIdList(@Valid @RequestBody ClassificationDTO classificationDTO) { + return Response.success(classificationService.editRelPublicClassificationIdList(classificationDTO)); + } + } diff --git a/src/main/java/com/ai/da/model/vo/AccountLoginVO.java b/src/main/java/com/ai/da/model/vo/AccountLoginVO.java index ff4c9690..9e84b052 100644 --- a/src/main/java/com/ai/da/model/vo/AccountLoginVO.java +++ b/src/main/java/com/ai/da/model/vo/AccountLoginVO.java @@ -32,4 +32,6 @@ public class AccountLoginVO { @ApiModelProperty("是否完成引导") private Integer isBeginner; +// private Boolean willBeExpired; + } diff --git a/src/main/java/com/ai/da/service/ClassificationService.java b/src/main/java/com/ai/da/service/ClassificationService.java index 5ab946c0..2cdbe5de 100644 --- a/src/main/java/com/ai/da/service/ClassificationService.java +++ b/src/main/java/com/ai/da/service/ClassificationService.java @@ -33,4 +33,8 @@ public interface ClassificationService { List getLibraryIdListByClassificationId(Long classificationId); List getRelClassificationIdList(ClassificationDTO classificationDTO); + + List getRelPublicClassificationIdList(ClassificationDTO classificationDTO); + + Boolean editRelPublicClassificationIdList(ClassificationDTO classificationDTO); } diff --git a/src/main/java/com/ai/da/service/impl/ClassificationServiceImpl.java b/src/main/java/com/ai/da/service/impl/ClassificationServiceImpl.java index d2453d2d..f41938be 100644 --- a/src/main/java/com/ai/da/service/impl/ClassificationServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/ClassificationServiceImpl.java @@ -191,6 +191,62 @@ public class ClassificationServiceImpl implements ClassificationService { return new ArrayList<>(); } + @Override + public List getRelPublicClassificationIdList(ClassificationDTO classificationDTO) { + List libraryIdList = classificationDTO.getLibraryIdList(); + if (CollectionUtil.isEmpty(libraryIdList)) { + throw new BusinessException("libraryIdList.cannot.be.empty"); + } + List classificationIdList = new ArrayList<>(); + // 遍历获取library关联的公共标签,返回给前端 + for (int i = 0; i < libraryIdList.size(); i++) { + QueryWrapper qw = new QueryWrapper<>(); + qw.lambda().eq(ClassificationRelLibrary::getLibraryId, libraryIdList.get(i)); + List collect = classificationRelLibraryMapper.selectList(qw) + .stream() + .map(ClassificationRelLibrary::getClassificationId) + .distinct() + .collect(Collectors.toList()); + if (i == 0) { + classificationIdList.addAll(collect); + }else { + classificationIdList.retainAll(collect); + } + } + return classificationIdList; + } + + @Override + public Boolean editRelPublicClassificationIdList(ClassificationDTO classificationDTO) { + List relPublicClassificationIdList = getRelPublicClassificationIdList(classificationDTO); + List deleteIdList = relPublicClassificationIdList.stream() + .filter(item -> !classificationDTO.getClassificationIdList().contains(item)) + .collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(deleteIdList)) { + for (Long libraryId : classificationDTO.getLibraryIdList()) { + QueryWrapper qw = new QueryWrapper<>(); + qw.lambda().eq(ClassificationRelLibrary::getLibraryId, libraryId); + qw.lambda().in(ClassificationRelLibrary::getClassificationId, deleteIdList); + classificationRelLibraryMapper.delete(qw); + } + } + List addIdList = classificationDTO.getClassificationIdList().stream() + .filter(item -> !relPublicClassificationIdList.contains(item)) + .collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(addIdList)) { + for (Long libraryId : classificationDTO.getLibraryIdList()) { + for (Long classificationId : addIdList) { + ClassificationRelLibrary classificationRelLibrary = new ClassificationRelLibrary(); + classificationRelLibrary.setClassificationId(classificationId); + classificationRelLibrary.setLibraryId(libraryId); + classificationRelLibrary.setCreateTime(LocalDateTime.now()); + classificationRelLibraryMapper.insert(classificationRelLibrary); + } + } + } + return Boolean.TRUE; + } + private List getTreeClassificationIdListByClassificationId(Long classificationId) { List classificationIdList = new ArrayList<>(); classificationIdList.add(classificationId); diff --git a/src/main/resources/messages_en.properties b/src/main/resources/messages_en.properties index 893ffb07..3fa4295a 100644 --- a/src/main/resources/messages_en.properties +++ b/src/main/resources/messages_en.properties @@ -130,7 +130,8 @@ the.workspace.lastIndex.not.found=The workspace lastIndex not found. gender.cannot.be.empty=gender cannot be empty. image.synthesis.failed=image synthesis failed. priority.cannot.be.repeated=priority cannot be repeated. -model.not.found=model not found +model.not.found=model not found. +libraryIdList.cannot.be.empty=libraryIdList cannot be empty. # 可能会报异常 # Informative: From 3b37e8644c0746c73d5d0c2a3445d1875730165f Mon Sep 17 00:00:00 2001 From: shahaibo <1023316923@qq.com> Date: Thu, 4 Jan 2024 14:25:54 +0800 Subject: [PATCH 2/4] =?UTF-8?q?TASK:=E5=85=AC=E5=85=B1=E6=A0=87=E7=AD=BE;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ClassificationServiceImpl.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/ai/da/service/impl/ClassificationServiceImpl.java b/src/main/java/com/ai/da/service/impl/ClassificationServiceImpl.java index f41938be..2da856eb 100644 --- a/src/main/java/com/ai/da/service/impl/ClassificationServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/ClassificationServiceImpl.java @@ -236,11 +236,17 @@ public class ClassificationServiceImpl implements ClassificationService { if (CollectionUtil.isNotEmpty(addIdList)) { for (Long libraryId : classificationDTO.getLibraryIdList()) { for (Long classificationId : addIdList) { - ClassificationRelLibrary classificationRelLibrary = new ClassificationRelLibrary(); - classificationRelLibrary.setClassificationId(classificationId); - classificationRelLibrary.setLibraryId(libraryId); - classificationRelLibrary.setCreateTime(LocalDateTime.now()); - classificationRelLibraryMapper.insert(classificationRelLibrary); + QueryWrapper qw = new QueryWrapper<>(); + qw.lambda().eq(ClassificationRelLibrary::getLibraryId, libraryId); + qw.lambda().eq(ClassificationRelLibrary::getClassificationId, classificationId); + List exist = classificationRelLibraryMapper.selectList(qw); + if (CollectionUtil.isEmpty(exist)) { + ClassificationRelLibrary classificationRelLibrary = new ClassificationRelLibrary(); + classificationRelLibrary.setClassificationId(classificationId); + classificationRelLibrary.setLibraryId(libraryId); + classificationRelLibrary.setCreateTime(LocalDateTime.now()); + classificationRelLibraryMapper.insert(classificationRelLibrary); + } } } } From f2a8a82821b7f70c538a9d2c132dcbca745ea77c Mon Sep 17 00:00:00 2001 From: shahaibo <1023316923@qq.com> Date: Thu, 4 Jan 2024 14:45:20 +0800 Subject: [PATCH 3/4] =?UTF-8?q?TASK:=E5=85=AC=E5=85=B1=E6=A0=87=E7=AD=BE;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ai/da/service/impl/ClassificationServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/ai/da/service/impl/ClassificationServiceImpl.java b/src/main/java/com/ai/da/service/impl/ClassificationServiceImpl.java index 2da856eb..089052d1 100644 --- a/src/main/java/com/ai/da/service/impl/ClassificationServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/ClassificationServiceImpl.java @@ -245,6 +245,7 @@ public class ClassificationServiceImpl implements ClassificationService { classificationRelLibrary.setClassificationId(classificationId); classificationRelLibrary.setLibraryId(libraryId); classificationRelLibrary.setCreateTime(LocalDateTime.now()); + classificationRelLibrary.setIsDeleted(0); classificationRelLibraryMapper.insert(classificationRelLibrary); } } From 71a0a3c06be46a08a60c8d615c35b2aa36204dcd Mon Sep 17 00:00:00 2001 From: shahaibo <1023316923@qq.com> Date: Thu, 4 Jan 2024 15:22:38 +0800 Subject: [PATCH 4/4] =?UTF-8?q?TASK:=E5=88=B0=E6=9C=9F=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/ai/da/controller/AccountController.java | 6 ++++++ src/main/java/com/ai/da/model/vo/AccountLoginVO.java | 2 -- src/main/java/com/ai/da/service/AccountService.java | 2 ++ .../java/com/ai/da/service/impl/AccountServiceImpl.java | 6 ++++++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/ai/da/controller/AccountController.java b/src/main/java/com/ai/da/controller/AccountController.java index 3f807c24..0d45b622 100644 --- a/src/main/java/com/ai/da/controller/AccountController.java +++ b/src/main/java/com/ai/da/controller/AccountController.java @@ -137,4 +137,10 @@ public class AccountController { returnMap.put("code",200); return Response.success(returnMap); } + + @ApiOperation(value = "查询账号到期时间") + @PostMapping("/getExpiredTime") + public Response getExpiredTime(){ + return Response.success(accountService.getExpiredTime()); + } } diff --git a/src/main/java/com/ai/da/model/vo/AccountLoginVO.java b/src/main/java/com/ai/da/model/vo/AccountLoginVO.java index 9e84b052..ff4c9690 100644 --- a/src/main/java/com/ai/da/model/vo/AccountLoginVO.java +++ b/src/main/java/com/ai/da/model/vo/AccountLoginVO.java @@ -32,6 +32,4 @@ public class AccountLoginVO { @ApiModelProperty("是否完成引导") private Integer isBeginner; -// private Boolean willBeExpired; - } diff --git a/src/main/java/com/ai/da/service/AccountService.java b/src/main/java/com/ai/da/service/AccountService.java index 212458ad..57ebf72f 100644 --- a/src/main/java/com/ai/da/service/AccountService.java +++ b/src/main/java/com/ai/da/service/AccountService.java @@ -113,4 +113,6 @@ public interface AccountService extends IService { Boolean switchIsAutoApproval(); Boolean trialOrderRefuse(List ids); + + Long getExpiredTime(); } diff --git a/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java b/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java index 9b3f87c0..74c68055 100644 --- a/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java @@ -560,4 +560,10 @@ public class AccountServiceImpl extends ServiceImpl impl } return Boolean.TRUE; } + + @Override + public Long getExpiredTime() { + AuthPrincipalVo userInfo = UserContext.getUserHolder(); + return accountMapper.selectById(userInfo.getId()).getValidEndTime(); + } }