|
@@ -8,7 +8,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.util.Comparator;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -34,27 +33,6 @@ public class FaqServiceImpl extends ServiceImpl<FaqMapper, Faq> implements FaqSe
|
|
|
return RestResponse.success(faqs, "成功");
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 新增分类或问题或答案
|
|
|
- *
|
|
|
- * @since 2019/12/5 11:01
|
|
|
- */
|
|
|
- public RestResponse add(Faq faq) {
|
|
|
- List<Faq> faqs = this.list(new QueryWrapper<Faq>()
|
|
|
- .select("serial")
|
|
|
- .eq("parent_id", faq.getParentId())
|
|
|
- .orderByDesc("serial"));
|
|
|
- if (faqs.isEmpty()) {
|
|
|
- faq.setSerial(1);
|
|
|
- } else {
|
|
|
- faq.setSerial(faqs.get(0).getSerial() + 1);
|
|
|
- }
|
|
|
- if (this.save(faq)) {
|
|
|
- return RestResponse.success(null, "成功");
|
|
|
- }
|
|
|
- return RestResponse.fail();
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 删除id及id下的所有记录
|
|
|
*
|
|
@@ -62,7 +40,7 @@ public class FaqServiceImpl extends ServiceImpl<FaqMapper, Faq> implements FaqSe
|
|
|
* @return 操作结果
|
|
|
*/
|
|
|
public RestResponse delete(Long id) {
|
|
|
- List<Faq> faqs = this.list(new QueryWrapper<Faq>().select("id", "parent_id","serial"));
|
|
|
+ List<Faq> faqs = this.list(new QueryWrapper<Faq>().select("id", "parent_id", "serial"));
|
|
|
removeFaqs(id, faqs);
|
|
|
List<Long> ids = faqs.stream()
|
|
|
//保留序号为-1的记录
|
|
@@ -91,46 +69,4 @@ public class FaqServiceImpl extends ServiceImpl<FaqMapper, Faq> implements FaqSe
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- //type 1上移 0下移
|
|
|
- public RestResponse serial(Long id, Integer type) {
|
|
|
- Faq byId = this.getById(id);
|
|
|
- if (null == byId) {
|
|
|
- return RestResponse.success();
|
|
|
- }
|
|
|
- List<Faq> faqs = this.list(new QueryWrapper<Faq>()
|
|
|
- .eq("parent_id", byId.getParentId())
|
|
|
- .eq("type", byId.getType())
|
|
|
- .orderByDesc("serial"));
|
|
|
- if (faqs.size() == 1) {
|
|
|
- return RestResponse.success(null, "成功");
|
|
|
- }
|
|
|
- //type 0下移
|
|
|
- //type 1上移
|
|
|
- if (type == 1) {
|
|
|
- faqs.sort(Comparator.comparing(Faq::getSerial));
|
|
|
- }
|
|
|
- if (faqs.get(0).getSerial().equals(byId.getSerial())) {
|
|
|
- return RestResponse.success(null, "成功");
|
|
|
- }
|
|
|
- if (upOrDown(byId, faqs)) {
|
|
|
- return RestResponse.success(null, "成功");
|
|
|
- }
|
|
|
- return RestResponse.fail();
|
|
|
- }
|
|
|
-
|
|
|
- private boolean upOrDown(Faq byId, List<Faq> faqs) {
|
|
|
- Faq f = new Faq();
|
|
|
- for (Faq faq : faqs) {
|
|
|
- if (faq.getSerial().equals(byId.getSerial())) {
|
|
|
- f.setSerial(byId.getSerial());
|
|
|
- byId.setSerial(f.getSerial());
|
|
|
- if (this.updateById(byId) && this.updateById(f)) {
|
|
|
- return true;
|
|
|
- }
|
|
|
- }
|
|
|
- f = faq;
|
|
|
- }
|
|
|
- return false;
|
|
|
- }
|
|
|
}
|