优化树表性能,左树右表联动时,减少一次查询

This commit is contained in:
thinkgem
2025-03-31 09:42:17 +08:00
parent 198e76110b
commit 95b08d24cf
13 changed files with 142 additions and 77 deletions

View File

@@ -22,6 +22,7 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
@@ -41,7 +42,10 @@ public class TestTreeController extends BaseController {
* 获取数据
*/
@ModelAttribute
public TestTree get(String treeCode, boolean isNewRecord) {
public TestTree get(String treeCode, boolean isNewRecord, HttpServletRequest request) {
if (StringUtils.endsWith(request.getRequestURI(), "listData")) {
return new TestTree();
}
return testTreeService.get(treeCode, isNewRecord);
}
@@ -75,10 +79,9 @@ public class TestTreeController extends BaseController {
if (StringUtils.isBlank(testTree.getParentCode())) {
testTree.setParentCode(TestTree.ROOT_CODE);
}
if (StringUtils.isNotBlank(testTree.getTreeName())){
testTree.setParentCode(null);
}
if (StringUtils.isNotBlank(testTree.getRemarks())){
if (StringUtils.isNotBlank(testTree.getTreeCode())
|| StringUtils.isNotBlank(testTree.getTreeName())
|| StringUtils.isNotBlank(testTree.getRemarks())){
testTree.setParentCode(null);
}
List<TestTree> list = testTreeService.findList(testTree);
@@ -146,7 +149,7 @@ public class TestTreeController extends BaseController {
public String disable(TestTree testTree) {
TestTree where = new TestTree();
where.setStatus(TestTree.STATUS_NORMAL);
where.setParentCodes("," + testTree.getId() + ",");
where.setParentCodes_rightLike(testTree.getParentCodes() + testTree.getId() + ",");
long count = testTreeService.findCount(where);
if (count > 0) {
return renderResult(Global.FALSE, text("该数据包含未停用的子数据!"));