3
13693261870
2022-09-16 63ba114e70e380442fcbed4a5157ee52c9491216
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.landtool.lanbase.modules.org.controller;
 
import java.net.URLDecoder;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
import org.apache.shiro.authz.annotation.Logical;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.landtool.lanbase.modules.org.entity.OrgUnitmanager;
import com.landtool.lanbase.modules.org.entity.OrgUser;
import com.landtool.lanbase.modules.org.service.OrgUnitmanagerService;
import com.landtool.lanbase.modules.sys.controller.AbstractController;
 
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
 
import com.landtool.lanbase.common.annotation.LogAction;
import com.landtool.lanbase.common.utils.PageUtils;
import com.landtool.lanbase.common.utils.Query;
import com.landtool.lanbase.common.utils.Result;
 
/**
 * @author lanbase
 * @Description: TODO(${comments})
 * @date 2018-03-01 16:17:42
 */
@RestController
@RequestMapping("/org/unitmanager")
@Api(value = "", tags = {"单位管理员"})
public class OrgUnitmanagerController extends AbstractController{
 
    @Autowired
    private OrgUnitmanagerService unitmanagerService;
    
    /**
     * 用户列表
     */
    @RequestMapping(value ="/userlist", method ={RequestMethod.GET})
    @ApiOperation(
            value = "单位管理员用户列表",
            notes = "用户列表"
            )
//    @LogAction("查询")
//    @RequiresPermissions("org:unit:list")
    @RequiresPermissions(value = {"org:unit:list","org:unit:edit"}, logical = Logical.OR)
    public Result userlist(@ApiParam(name="params",value="用户集合",required=true)@RequestParam Map<String, Object> params){
        //查询列表数据
        Query query = new Query(params);
        List<OrgUser> userlist = unitmanagerService.queryUserList(query);
        int total = unitmanagerService.queryUserTotal(query);
        
        PageUtils pageUtil = new PageUtils(userlist, total, query.getLimit(), query.getPage());
        
        return Result.ok().put("page", pageUtil);
    }
    
    /**
     * 保存
     */
//    @LogAction("保存")
    @PostMapping("/save")
    @RequiresPermissions("org:unit:save")
    @ApiOperation(
            value = "保存单位管理员",
            notes = ""
            )
    public Result save(@ApiParam(name="复合对象",value="传入json格式",required=true)@RequestBody OrgUnitmanager unitmanager){
        unitmanagerService.save(unitmanager);
        
        return Result.ok();
    }
    
    /**
     * 删除
     */
//    @LogAction("删除")
    @PostMapping("/delete")
    @RequiresPermissions("org:unit:delete")
    @ApiOperation(
            value = "删除单位管理员",
            notes = ""
            )
    public Result delete(@ApiParam(name="unitids",value="单位Id",required=true)@RequestBody Long[] unitids){
        unitmanagerService.deleteBatch(unitids);
        
        return Result.ok();
    }
 
    /**
     * 自动补全输入首字母或名称查询
     * @param keyWord
     * @return
     */
    @GetMapping("/findUnitManageUserByKeyword")
    public String[] findUnitManageUserByKeyword(@RequestParam(name = "keyWord") String keyWord, @RequestParam(name = "unitid") String unitid){
        if(unitid.equals("null")) {
            unitid = null;
        }
        Map<String, Object> map = new HashMap<>();
        map.put("keyWord", URLDecoder.decode(keyWord));
        map.put("unitid", unitid);
 
        List<OrgUser> users = unitmanagerService.findUnitManageUserByKeyword(map);
 
        if (StringUtils.isEmpty(users)) {
            return null;
        }
 
        int size = users.size();
 
        //String[] arr = (String[]) users.toArray(new String[size]);
        String[] arr = new String[size];
        for (int i = 0; i < users.size(); i++) {
            arr[i] = users.get(i).getChinesename();
        }
 
        return arr;
    }
    
}