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

View File

@@ -88,9 +88,13 @@ public class TagMetaServiceImpl implements TagMetaService {
@Override
public Integer createBatch(List<TagReq> tagReqList, User user) {
tagReqList.stream().forEach(tagReq -> {
for (TagReq tagReq : tagReqList) {
try {
create(tagReq, user);
});
} catch (Exception e) {
log.warn("createBatch, e:{}", e);
}
}
return tagReqList.size();
}
@@ -101,8 +105,14 @@ public class TagMetaServiceImpl implements TagMetaService {
}
@Override
public Boolean deleteBatch(TagDeleteReq tagDeleteReq, User user) {
public Boolean deleteBatch(List<TagDeleteReq> tagDeleteReqList, User user) {
for (TagDeleteReq tagDeleteReq : tagDeleteReqList) {
try {
tagRepository.deleteBatch(tagDeleteReq);
} catch (Exception e) {
log.warn("createBatch, e:{}", e);
}
}
return true;
}
@@ -366,6 +376,7 @@ public class TagMetaServiceImpl implements TagMetaService {
return tagDO;
}
@Override
public List<TagItem> getTagItems(User user, List<Long> itemIds, TagDefineType tagDefineType) {
TagFilter tagFilter = new TagFilter();
tagFilter.setTagDefineType(tagDefineType);

View File

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