1
13693261870
2022-09-16 762f2fb45db004618ba099aa3c0bd89dba1eb843
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
package com.landtool.lanbase.modules.org.controller;
 
import java.net.URLDecoder;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
 
import com.landtool.lanbase.modules.sys.controller.AbstractController; 
 
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
 
import org.apache.shiro.SecurityUtils;
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.*;
 
import com.landtool.lanbase.modules.org.entity.OrgUser;
import com.landtool.lanbase.modules.org.entity.OrgUserAuth;
import com.landtool.lanbase.modules.org.entity.OrgUserJoinAuth;
import com.landtool.lanbase.modules.org.service.OrgUnitService;
import com.landtool.lanbase.modules.org.service.OrgUserAuthService;
import com.landtool.lanbase.modules.org.service.OrgUserService;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
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 zimao.guo
 * @Description: TODO(用户审核表)
 * @date 2018-01-24 14:25:23
 */
@RestController
@RequestMapping("/org/userauth")
@Api(value = "", tags = {"用户审核"})
public class OrgUserAuthController extends AbstractController {
 
    @Autowired
    private OrgUserAuthService userAuthService;
    
    @Autowired
    private OrgUserService userService;
    
    @Autowired
    private OrgUnitService unitService ;
    
    @Autowired
    private OrgUserService OrgUserService;
    
    /**
     * @Description: 列出所有数据列表 {@link }
     * @Author: zimao.guo
     * @Date: 9:04 2018/1/29
     * @return: Result
     * @see Result
     * @param params
     */
    @RequestMapping(value="/list", method ={RequestMethod.POST, RequestMethod.GET})
//    @RequiresPermissions("org:userauth:list")
    @RequiresPermissions(value = {"org:userauth:list","org:userauth:edit"}, logical = Logical.OR)
    @ApiOperation(
            value = "用户审核列表",
            notes = "所有用户审核列表"
    )
    @LogAction("用户管理,用户审核,用户审核记录查询,查询")
    public Result list(@RequestParam Map<String, Object> params){
        //查询列表数据
        //Set<String> permissions = OrgUserService.getUserPermissions(getUserId());
        //if(permissions.contains("org_user_admin")){//管理员可以查看所有用户
        if(SecurityUtils.getSubject().isPermitted("org_user_admin")){
            params.put("isadmin", 1);
        }
        else{//管理下的单位用户  or 自己录的用户
            params.put("isadmin", 0);
        }
        /** % 号为通配符,但是会导致部分用户不带单位而与空查询结果数不相符
         *  alert ykm 2019-04-12 */
        if(params.get("systemName") != null && params.get("systemName").equals("%")) {
            params.replace("systemName", null);
        }
 
        Query query = new Query(params);
        
        List<OrgUserJoinAuth> userAuthList = userAuthService.queryOrgUserJoinAuthList(query);
        int total = userAuthService.queryOrgUserJoinAuthTotal(query);
        
        PageUtils pageUtil = new PageUtils(userAuthList, total, query.getLimit(), query.getPage());
        
        return Result.ok().put("page", pageUtil);
    }
    
    
    /**
     * @Description: 用户审核信息 {@link }
     * @Author: zimao.guo
     * @Date: 9:07 2018/1/29
     * @return: Result
     * @see Result
     * @param authid
     */
    @GetMapping("/info/{authid}")
//    @RequiresPermissions("org:userauth:list")
    @RequiresPermissions(value = {"org:userauth:list","org:userauth:edit"}, logical = Logical.OR)
    @ApiOperation(
            value = "用户审核信息",
            notes = ""
    )
    public Result info( @ApiParam(name="authId",value="用户id",required=true) @PathVariable("authid") Long authid){
        OrgUserAuth userAuth = userAuthService.queryObject(authid);
        
        return Result.ok().put("userAuth", userAuth);
    }
    
    /**
     * @Description: 用户审核信息的保存 {@link }
     * @Author: zimao.guo
     * @Date: 9:08 2018/1/29
     * @return: Result
     * @see Result
     * @param userAuth
     * @deprecated  暂时没地方引用
     */
    @LogAction("用户管理,用户审核,用户审核记录新增,新增")
    @PostMapping("/save")
    @RequiresPermissions("org:userauth:edit")
    @ApiOperation(
            value = "保存用户审核",
            notes = ""
    )
    public Result save(@ApiParam(name="复合对象",value="传入json格式",required=true)@RequestBody JSONObject json){
        JSONArray idjson = json.getJSONArray("userIds");
        Long authResult = json.getLong("authResult");
        Long userid = ((OrgUser) SecurityUtils.getSubject().getPrincipal()).getUserid();
        for(int i = 0;i<idjson.size();i++){
            String id =idjson.getString(i);
            OrgUserAuth userAuth = new OrgUserAuth();
            userAuth.setUserId(Long.parseLong(id));
            userAuth.setAuthGrad(0L);
            userAuth.setAuthUserId(userid);
            userAuth.setrCreateUser(userid);
            userAuth.setrCreateDate(new Date());
            userAuth.setAuthResult(authResult);
            userAuthService.save(userAuth);
            
            OrgUser user = userService.queryObject(Long.parseLong(id));
            if (userAuth.getAuthResult() == 1) {
                user.setUserstatus(0L);
                userService.updateStatus(user);
            }
            else{
                user.setUserstatus(4L);
                userService.updateStatus(user);
            }
            //userService.update(user);
        }
        return Result.ok();
    }
    
    /**
     * @Description: 用户审核数据的更新 {@link }
     * @Author: zimao.guo
     * @Date: 9:14 2018/1/29
     * @return: Result
     * @see Result
     * @param userAuth
     * @deprecated 暂时无地方引用
     */
    @LogAction("用户管理,用户审核,用户审核记录修改,修改")
    @PostMapping("/update")
    @RequiresPermissions("org:userauth:edit")
    @ApiOperation(
            value = "修改用户审核",
            notes = ""
    )
    public Result update( @ApiParam(name="用户审核对象",value="传入json格式",required=true) @RequestBody OrgUserAuth userAuth){
        userAuthService.update(userAuth);
 
        return Result.ok();
    }
    
    /**
     * @Description: 用户审核的信息删除 {@link }
     * @Author: zimao.guo
     * @Date: 9:16 2018/1/29
     * @return: Result
     * @see Result
     * @param authIds
     */
    @LogAction("用户管理,用户审核,用户审核记录删除,删除")
    @PostMapping("/delete")
    @RequiresPermissions("org:userauth:edit")
    @ApiOperation(
            value = "删除用户审核",
            notes = ""
    )
    public Result delete( @ApiParam(name="authId",value="用户审核id数组",required=true) @RequestBody Long[] authIds){
        userAuthService.deleteBatch(authIds);
        
        return Result.ok();
    }
 
    /**
     * @Description: 用户审核操作 {@link }
     * @Author: zimao.guo
     * @Date: 9:17 2018/1/29
     * @return: Result
     * @see Result
     * @param userAuth
     */
    @PostMapping("/audit")
    @RequiresPermissions("org:userauth:edit")
    @ApiOperation(
            value = "用户审核操作",
            notes = "对用户进行审核"
    )
    public Result auditForUserAccess(@ApiParam(name="用户审批对象",value="传入json格式",required=true) @RequestBody OrgUserAuth userAuth){
 
        userAuthService.updateAuthState(userAuth.getAuthId(),userAuth.getAuthResult());
        return Result.ok();
    }
    
    /**
     * 自动补全输入首字母查询
     * @param keyWord
     * @return
     */
    @GetMapping("/findPinyinByKeyWord")
    public String[] findpinyinByKeyWord(@RequestParam(name = "keyWord") String keyWord){
        List<String> UnitNames = unitService.findPinyinByKeyWord(URLDecoder.decode(keyWord.toUpperCase()));
 
        if (StringUtils.isEmpty(UnitNames)) {
            return null;
        }
 
        int size = UnitNames.size();
 
        String[] arr = (String[]) UnitNames.toArray(new String[size]);
 
        return arr;
    }
    
}