|
|
@@ -1,5 +1,7 @@
|
|
|
package com.uas.kanban.service.impl;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
@@ -7,13 +9,15 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import com.uas.kanban.annotation.NotEmpty;
|
|
|
import com.uas.kanban.base.BaseService;
|
|
|
+import com.uas.kanban.base.PageResult;
|
|
|
import com.uas.kanban.dao.KanbanDao;
|
|
|
import com.uas.kanban.dao.TemplateDao;
|
|
|
import com.uas.kanban.exception.OperationException;
|
|
|
import com.uas.kanban.model.Kanban;
|
|
|
import com.uas.kanban.model.Kanban.Display;
|
|
|
-import com.uas.kanban.support.SystemSession;
|
|
|
import com.uas.kanban.model.Template;
|
|
|
+import com.uas.kanban.service.KanbanInstanceService;
|
|
|
+import com.uas.kanban.support.SystemSession;
|
|
|
import com.uas.kanban.util.CollectionUtils;
|
|
|
|
|
|
/**
|
|
|
@@ -31,6 +35,9 @@ public class KanbanServiceImpl extends BaseService<Kanban> {
|
|
|
@Autowired
|
|
|
private TemplateDao templateDao;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private KanbanInstanceService kanbanInstanceService;
|
|
|
+
|
|
|
@Override
|
|
|
public Kanban save(@NotEmpty("json") String json) {
|
|
|
Kanban kanban = kanbanDao.parse(json);
|
|
|
@@ -58,6 +65,31 @@ public class KanbanServiceImpl extends BaseService<Kanban> {
|
|
|
return update(json);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public int deleteOne(@NotEmpty("code") String code) {
|
|
|
+ // 先删除有关联的看板实例
|
|
|
+ kanbanInstanceService.deleteByKanbanCodes(Arrays.asList(code));
|
|
|
+ return super.deleteOne(code);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int deleteAll() {
|
|
|
+ // 先删除有关联的看板实例
|
|
|
+ int page = PageResult.PAGE_INDEX;
|
|
|
+ int size = 1000;
|
|
|
+ PageResult<Kanban> pageResult = super.get(page, size);
|
|
|
+ while (page <= pageResult.getTotalPage()) {
|
|
|
+ List<Kanban> content = pageResult.getContent();
|
|
|
+ List<String> kanbanCodes = new ArrayList<>();
|
|
|
+ for (Kanban kanban : content) {
|
|
|
+ kanbanCodes.add(kanban.getCode());
|
|
|
+ }
|
|
|
+ kanbanInstanceService.deleteByKanbanCodes(kanbanCodes);
|
|
|
+ page++;
|
|
|
+ }
|
|
|
+ return super.deleteAll();
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 检查模版是否存在
|
|
|
*
|