(improvement)(headless) opt createBatch and deleteBatch tag (#863)

This commit is contained in:
daikon
2024-03-26 20:06:52 +08:00
committed by GitHub
parent 5bba9477f9
commit 3e26340152
4 changed files with 36 additions and 17 deletions

View File

@@ -15,6 +15,7 @@ import com.tencent.supersonic.headless.server.service.TagMetaService;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import com.tencent.supersonic.headless.server.service.TagQueryService; import com.tencent.supersonic.headless.server.service.TagQueryService;
import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.DeleteMapping;
@@ -67,7 +68,7 @@ public class TagController {
* @throws Exception * @throws Exception
*/ */
@PostMapping("/create/batch") @PostMapping("/create/batch")
public Integer createBatch(@RequestBody List<TagReq> tagReqList, public Integer createBatch(@RequestBody @Valid List<TagReq> tagReqList,
HttpServletRequest request, HttpServletRequest request,
HttpServletResponse response) throws Exception { HttpServletResponse response) throws Exception {
User user = UserHolder.findUser(request, response); User user = UserHolder.findUser(request, response);
@@ -77,18 +78,18 @@ public class TagController {
/** /**
* 批量删除标签 * 批量删除标签
* *
* @param tagDeleteReq * @param tagDeleteReqList
* @param request * @param request
* @param response * @param response
* @return * @return
* @throws Exception * @throws Exception
*/ */
@PostMapping("/delete/batch") @PostMapping("/delete/batch")
public Boolean deleteBatch(@RequestBody TagDeleteReq tagDeleteReq, public Boolean deleteBatch(@RequestBody @Valid List<TagDeleteReq> tagDeleteReqList,
HttpServletRequest request, HttpServletRequest request,
HttpServletResponse response) throws Exception { HttpServletResponse response) throws Exception {
User user = UserHolder.findUser(request, response); User user = UserHolder.findUser(request, response);
return tagMetaService.deleteBatch(tagDeleteReq, user); return tagMetaService.deleteBatch(tagDeleteReqList, user);
} }
/** /**

View File

@@ -21,7 +21,7 @@ public interface TagMetaService {
Boolean delete(Long id, User user); Boolean delete(Long id, User user);
Boolean deleteBatch(TagDeleteReq tagDeleteReq, User user); Boolean deleteBatch(List<TagDeleteReq> tagDeleteReqList, User user);
TagResp getTag(Long id, User user); TagResp getTag(Long id, User user);

View File

@@ -59,9 +59,9 @@ public class TagMetaServiceImpl implements TagMetaService {
private final DomainService domainService; private final DomainService domainService;
public TagMetaServiceImpl(TagRepository tagRepository, ModelService modelService, public TagMetaServiceImpl(TagRepository tagRepository, ModelService modelService,
CollectService collectService, @Lazy DimensionService dimensionService, CollectService collectService, @Lazy DimensionService dimensionService,
@Lazy MetricService metricService, TagObjectService tagObjectService, @Lazy MetricService metricService, TagObjectService tagObjectService,
DomainService domainService) { DomainService domainService) {
this.tagRepository = tagRepository; this.tagRepository = tagRepository;
this.modelService = modelService; this.modelService = modelService;
this.collectService = collectService; this.collectService = collectService;
@@ -88,9 +88,13 @@ public class TagMetaServiceImpl implements TagMetaService {
@Override @Override
public Integer createBatch(List<TagReq> tagReqList, User user) { public Integer createBatch(List<TagReq> tagReqList, User user) {
tagReqList.stream().forEach(tagReq -> { for (TagReq tagReq : tagReqList) {
create(tagReq, user); try {
}); create(tagReq, user);
} catch (Exception e) {
log.warn("createBatch, e:{}", e);
}
}
return tagReqList.size(); return tagReqList.size();
} }
@@ -101,8 +105,14 @@ public class TagMetaServiceImpl implements TagMetaService {
} }
@Override @Override
public Boolean deleteBatch(TagDeleteReq tagDeleteReq, User user) { public Boolean deleteBatch(List<TagDeleteReq> tagDeleteReqList, User user) {
tagRepository.deleteBatch(tagDeleteReq); for (TagDeleteReq tagDeleteReq : tagDeleteReqList) {
try {
tagRepository.deleteBatch(tagDeleteReq);
} catch (Exception e) {
log.warn("createBatch, e:{}", e);
}
}
return true; return true;
} }
@@ -168,7 +178,7 @@ public class TagMetaServiceImpl implements TagMetaService {
} }
tagFilter.setModelIds(modelIds); tagFilter.setModelIds(modelIds);
PageInfo<TagResp> tagDOPageInfo = PageHelper.startPage(tagMarketPageReq.getCurrent(), PageInfo<TagResp> tagDOPageInfo = PageHelper.startPage(tagMarketPageReq.getCurrent(),
tagMarketPageReq.getPageSize()) tagMarketPageReq.getPageSize())
.doSelectPageInfo(() -> getTags(tagFilter)); .doSelectPageInfo(() -> getTags(tagFilter));
List<TagResp> tagRespList = tagDOPageInfo.getList(); List<TagResp> tagRespList = tagDOPageInfo.getList();
@@ -366,6 +376,7 @@ public class TagMetaServiceImpl implements TagMetaService {
return tagDO; return tagDO;
} }
@Override
public List<TagItem> getTagItems(User user, List<Long> itemIds, TagDefineType tagDefineType) { public List<TagItem> getTagItems(User user, List<Long> itemIds, TagDefineType tagDefineType) {
TagFilter tagFilter = new TagFilter(); TagFilter tagFilter = new TagFilter();
tagFilter.setTagDefineType(tagDefineType); tagFilter.setTagDefineType(tagDefineType);

View File

@@ -14,6 +14,7 @@ import org.junit.Before;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
@@ -50,7 +51,9 @@ public class TagTest extends BaseTest {
TagDeleteReq tagDeleteReq = new TagDeleteReq(); TagDeleteReq tagDeleteReq = new TagDeleteReq();
tagDeleteReq.setTagDefineType(TagDefineType.DIMENSION); tagDeleteReq.setTagDefineType(TagDefineType.DIMENSION);
tagDeleteReq.setItemIds(Arrays.asList(1L, 4L, 5L)); tagDeleteReq.setItemIds(Arrays.asList(1L, 4L, 5L));
tagMetaService.deleteBatch(tagDeleteReq, user); List<TagDeleteReq> tagDeleteReqList = new ArrayList<>();
tagDeleteReqList.add(tagDeleteReq);
tagMetaService.deleteBatch(tagDeleteReqList, user);
} }
@Test @Test
@@ -67,7 +70,9 @@ public class TagTest extends BaseTest {
TagDeleteReq tagDeleteReq = new TagDeleteReq(); TagDeleteReq tagDeleteReq = new TagDeleteReq();
tagDeleteReq.setTagDefineType(TagDefineType.DIMENSION); tagDeleteReq.setTagDefineType(TagDefineType.DIMENSION);
tagDeleteReq.setItemIds(Arrays.asList(4L, 5L)); tagDeleteReq.setItemIds(Arrays.asList(4L, 5L));
tagMetaService.deleteBatch(tagDeleteReq, user); List<TagDeleteReq> tagDeleteReqList = new ArrayList<>();
tagDeleteReqList.add(tagDeleteReq);
tagMetaService.deleteBatch(tagDeleteReqList, user);
List<TagResp> tags1 = tagMetaService.getTags(tagFilter); List<TagResp> tags1 = tagMetaService.getTags(tagFilter);
Assert.assertEquals(0, tags1.size()); Assert.assertEquals(0, tags1.size());
} }
@@ -89,7 +94,9 @@ public class TagTest extends BaseTest {
TagDeleteReq tagDeleteReq = new TagDeleteReq(); TagDeleteReq tagDeleteReq = new TagDeleteReq();
tagDeleteReq.setTagDefineType(TagDefineType.DIMENSION); tagDeleteReq.setTagDefineType(TagDefineType.DIMENSION);
tagDeleteReq.setItemIds(Arrays.asList(1L, 4L, 5L)); tagDeleteReq.setItemIds(Arrays.asList(1L, 4L, 5L));
tagMetaService.deleteBatch(tagDeleteReq, user); List<TagDeleteReq> tagDeleteReqList = new ArrayList<>();
tagDeleteReqList.add(tagDeleteReq);
tagMetaService.deleteBatch(tagDeleteReqList, user);
} }
} }