#
luxiaotao1123
2021-03-02 d5dfa0ea027ee9f09ffd22911f74e859b97bc4d4
src/main/java/zy/cloud/wms/manager/controller/TagController.java
@@ -1,6 +1,5 @@
package zy.cloud.wms.manager.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
@@ -12,20 +11,23 @@
import com.core.common.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import zy.cloud.wms.common.utils.ListUtils;
import zy.cloud.wms.common.utils.TreeUtils;
import zy.cloud.wms.common.web.BaseController;
import zy.cloud.wms.manager.entity.Tag;
import zy.cloud.wms.manager.service.TagService;
import zy.cloud.wms.manager.utils.NodeUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.io.IOException;
import java.util.*;
@RestController
public class TagController extends BaseController {
    @Autowired
    private TagService tagService;
    @Autowired
    private TreeUtils treeUtils;
    @RequestMapping(value = "/tag/{id}/auth")
    @ManagerAuth
@@ -63,6 +65,27 @@
    @RequestMapping(value = "/tag/add/auth")
    @ManagerAuth
    public R add(Tag tag) {
        tag.setLevel(1);
        if (tag.getParentId() != null && tag.getParentId() > 0) {
            Tag parent = tagService.selectById(tag.getParentId());
            if (parent != null) {
                tag.setParentName(parent.getName());
                tag.setLevel(parent.getLevel() + 1);
            }
        } else {
            tag.setParentId(0L);
        }
        // path
        NodeUtils nodeUtils = new NodeUtils();
        nodeUtils.executePath(tag);
        tag.setPath(nodeUtils.path.toString());
        tag.setPathName(nodeUtils.pathName.toString());
        tag.setCreateBy(getUserId());
        tag.setCreateTime(new Date());
        tag.setUpdateBy(getUserId());
        tag.setUpdateTime(new Date());
        tag.setStatus(1);
        tagService.insert(tag);
        return R.ok();
    }
@@ -73,19 +96,32 @@
        if (Cools.isEmpty(tag) || null==tag.getId()){
            return R.error();
        }
        if (tag.getParentId() != null && tag.getParentId() > 0) {
            if (tag.getParentId().equals(tag.getId())) {
                return R.error("数据错误");
            }
            Tag parent = tagService.selectById(tag.getParentId());
            if (parent != null) {
                tag.setParentName(parent.getName());
                tag.setLevel(parent.getLevel() + 1);
            }
        }
        // path
        NodeUtils nodeUtils = new NodeUtils();
        nodeUtils.executePath(tag);
        tag.setPath(nodeUtils.path.toString());
        tag.setPathName(nodeUtils.pathName.toString());
        tag.setUpdateBy(getUserId());
        tag.setUpdateTime(new Date());
        tagService.updateById(tag);
        return R.ok();
    }
    @RequestMapping(value = "/tag/delete/auth")
    @ManagerAuth
    public R delete(@RequestParam String param){
        List<Tag> list = JSONArray.parseArray(param, Tag.class);
        if (Cools.isEmpty(list)){
            return R.error();
        }
        for (Tag entity : list){
            tagService.delete(new EntityWrapper<>(entity));
    public R delete(@RequestParam(value="ids[]") Long[] ids){
        for (Long id : ids){
            tagService.deleteById(id);
        }
        return R.ok();
    }
@@ -127,4 +163,17 @@
        return R.ok();
    }
    @PostMapping(value = "/tag/tree/auth")
    @ManagerAuth
    public R tree(@RequestParam(required = false, defaultValue = "") String condition) throws IOException, ClassNotFoundException {
        ArrayList<Map> tree = treeUtils.getTree(String.valueOf(getOriginTag().getId()));
        // 深拷贝
        List<Map> result = ListUtils.deepCopy(tree);
        if (!Cools.isEmpty(condition)) {
            treeUtils.remove(condition, result);
            treeUtils.remove(condition, result);
        }
        return R.ok(result);
    }
}