1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
package com.hxzk.controller;
 
 
import com.fasterxml.jackson.databind.ObjectMapper;
import com.github.pagehelper.PageInfo;
import com.hxzk.deo.TbDaohangs;
import com.hxzk.pojo.*;
import com.hxzk.service.DaoHangUserService;
import com.hxzk.service.TbDaoHangService;
import com.hxzk.util.result;
import com.hxzk.util.resultutil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
 
@RestController
@RequestMapping("/")
public class DaoHangController {
    @Autowired
    TbDaoHangService daoHangService;
 
    @Autowired
    DaoHangUserService daoHangUserService;
 
    @GetMapping("findDaoHang")
    public Init findDaoHang(String username){
        return daoHangService.findDaoHangAll(username);
    }
 
    @GetMapping("findDaoHangEngLish")
    public Init findDaoHangEnglish(String username){
        return daoHangService.findDaoHangEngLish(username);
    }
    @GetMapping("findUserDaoHangEnglish")
    public List<MenuTest> findUserDaoHangEngLish(String username){
        return daoHangService.findDaoHangEngLishAll(username);
    }
 
    @GetMapping("findUserDaoHang")
    public List<MenuTest> findUserDaoHang(String username){
        return daoHangService.findUserDaoHang(username);
    }
 
 
    @GetMapping("DaoHang")
    result<List<TbDaohang>> DaoHang(Integer page, Integer limit){
        PageInfo<TbDaohang> cz= daoHangService.findAll(page, limit);
        return resultutil.returnSuccess(cz.getTotal(), cz.getList());
    }
 
 
 
    //获取给用户设置的导航信息
    @PostMapping("UpUserDaoHang")
    public void upUserDaoHang(String menuTests,String username){
        try {
            // 创建 ObjectMapper 对象
            ObjectMapper objectMapper = new ObjectMapper();
            // 将 JSON 字符串转换为对象数组
            MenuTest[] menuTestsArray = objectMapper.readValue(menuTests, MenuTest[].class);
            // 打印转换后的对象数组
            TbDaohangUser tbDaohangUseres = new TbDaohangUser();
            tbDaohangUseres.setUsername(username);
            daoHangUserService.deleteDaoHangUser(tbDaohangUseres);
            for(int i = 0 ; i <menuTestsArray.length;i++){
                String name = menuTestsArray[i].getTitle();
                String icon = menuTestsArray[i].getChecked();
                String parent = menuTestsArray[i].getId();
                //添加一级
                TbDaohangUser tbDaohangUser = new TbDaohangUser();
                tbDaohangUser.setParent(parent);
                tbDaohangUser.setName(name);
                if (tbDaohangUser.getName().equals("首页大屏")){
                    tbDaohangUser.setSrc("../Home/Home.jsp");
                }
                tbDaohangUser.setUsername(username);
                tbDaohangUser.setIcon(icon);
                tbDaohangUser.setIshow("1");
                tbDaohangUser.setLevel("1");
                daoHangUserService.addDaoHangUser(tbDaohangUser);
                if (menuTestsArray[i].getChildren() != null){
                    for (int j = 0 ; j < menuTestsArray[i].getChildren().size();j++){
                        String name1 = menuTestsArray[i].getChildren().get(j).getTitle();
                        String parents = menuTestsArray[i].getChildren().get(j).getId();
                        String src = menuTestsArray[i].getChildren().get(j).getFiled();
                        TbDaohangUser tbDaohangUser2 = new TbDaohangUser();
                        tbDaohangUser2.setName(name1);
                        tbDaohangUser2.setParents(parents);
                        tbDaohangUser2.setSrc(src);
                        tbDaohangUser2.setUsername(username);
                        tbDaohangUser2.setIshow("1");
                        tbDaohangUser2.setLevel("2");
                        daoHangUserService.addDaoHangUser(tbDaohangUser2);
                    }
                }
                //添加二级
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
 
    @PostMapping("upDaoHang")
    public void upDaoHang(TbDaohangs daohang, HttpServletResponse response) throws IOException {
        if(daohang.getIshow() == null){
            daohang.setIshow("0");
                //根据id 获取他的自身级别
                TbDaohang daohang1 = daoHangService.findOne(daohang.getId());
            if (daohang1.getLevel().equals("1")){
                //根据自身级别修改所有子级为不显示
                daoHangService.UpDaoHangIshow(daohang1.getParent());
                daoHangService.UpDaoHangUserIshow(daohang1.getParent());
            }                                                                                                                                                                                                                                                                                                                                                                                                                                            }else{
            daohang.setIshow("1");
        }
        daoHangService.UpDaoHang(daohang);
        //修改用户导航
        TbDaohangUser daohangUser = new TbDaohangUser();
        daohangUser.setName(daohang.getName());
        daohangUser.setIcon(daohang.getIcon());
        daoHangService.UpDaoHangUser(daohangUser);
 
        response.sendRedirect("/hxzkuwb/HouTai/XiTong/HouTaiDaoHang.jsp");
    }
}