TUserController.java 38.5 KB
Newer Older
1 2 3 4
package cn.wisenergy.chnmuseum.party.web.controller;

import cn.wisenergy.chnmuseum.party.auth.SHA256PasswordEncryptionService;
import cn.wisenergy.chnmuseum.party.auth.SecureRandomSaltService;
wzp's avatar
wzp committed
5
import cn.wisenergy.chnmuseum.party.auth.util.AESUtils;
liqin's avatar
liqin committed
6
import cn.wisenergy.chnmuseum.party.common.enums.AuditOperationEnum;
7
import cn.wisenergy.chnmuseum.party.common.enums.AuditStatusEnum;
liqin's avatar
liqin committed
8
import cn.wisenergy.chnmuseum.party.common.enums.AuditTypeEnum;
9 10 11
import cn.wisenergy.chnmuseum.party.common.log.MethodLog;
import cn.wisenergy.chnmuseum.party.common.log.OperModule;
import cn.wisenergy.chnmuseum.party.common.log.OperType;
12
import cn.wisenergy.chnmuseum.party.common.util.DateUtil80;
wzp's avatar
wzp committed
13
import cn.wisenergy.chnmuseum.party.common.util.RandomUtil;
14
import cn.wisenergy.chnmuseum.party.core.annotations.OperationLog;
wzp's avatar
wzp committed
15
import cn.wisenergy.chnmuseum.party.model.*;
16
import cn.wisenergy.chnmuseum.party.service.RoleService;
17
import cn.wisenergy.chnmuseum.party.service.TUserRoleService;
liqin's avatar
liqin committed
18
import cn.wisenergy.chnmuseum.party.service.TUserService;
wzp's avatar
wzp committed
19
import cn.wisenergy.chnmuseum.party.service.impl.AuditServiceImpl;
wzp's avatar
wzp committed
20
import cn.wisenergy.chnmuseum.party.service.impl.TBoxOperationServiceImpl;
wzp's avatar
wzp committed
21
import cn.wisenergy.chnmuseum.party.service.impl.TOrganServiceImpl;
liqin's avatar
liqin committed
22
import cn.wisenergy.chnmuseum.party.web.controller.base.BaseController;
23 24 25 26 27 28 29 30
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
wzp's avatar
wzp committed
31
import org.apache.shiro.authz.annotation.RequiresAuthentication;
32 33
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.bind.annotation.*;
34

35
import javax.annotation.Resource;
wzp's avatar
wzp committed
36
import java.time.LocalDateTime;
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
import java.util.*;

/**
 * <pre>
 * 用户 前端控制器
 * </pre>
 *
 * @author Danny Lee
 * @since 2021-03-22
 */
@Slf4j
@RestController
@RequestMapping("/tUser")
@Api(tags = {"用户操作接口"})
public class TUserController extends BaseController {

    @Resource
    private TUserService userService;

wzp's avatar
wzp committed
56 57 58
    @Resource
    private TOrganServiceImpl organService;

59 60 61
    @Resource
    private TUserRoleService tUserRoleService;

62
    @Resource
wzp's avatar
wzp committed
63 64
    private RoleService roleService;

wzp's avatar
wzp committed
65 66 67
    @Resource
    private AuditServiceImpl auditService;

wzp's avatar
wzp committed
68 69 70
    @Resource
    private TBoxOperationServiceImpl boxOperationService;

wzp's avatar
wzp committed
71 72 73 74 75 76
    @Resource
    private StringRedisTemplate stringRedisTemplate;
    private static final String SHIRO_JWT_TOKEN = "shiro:jwt:token";
    //用户登录是否被锁定    一小时 redisKey 前缀
    private String SHIRO_IS_LOCK = "shiro_is_lock_";

wzp's avatar
wzp committed
77 78 79 80 81 82
    @ApiOperation(value = "获取用户分页列表")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "_index", value = "分页起始偏移量", paramType = "query", dataType = "Integer"),
            @ApiImplicitParam(name = "_size", value = "返回条数", paramType = "query", dataType = "Integer")
    })
    @RequestMapping(value = "/getPageList", method = RequestMethod.GET)
wzp's avatar
wzp committed
83
    @RequiresAuthentication  //@RequiresPermissions("/user/getPageList")
wzp's avatar
wzp committed
84
    @MethodLog(operModule = OperModule.USER, operType = OperType.SELECT)
wzp's avatar
wzp committed
85
    public Map<String, Object> getPageList(String type, String userName, String status, String orgId, String areaId) {
wzp's avatar
wzp committed
86
        TUser user1 = getcurUser();
wzp's avatar
wzp committed
87 88 89 90 91 92
        TUser user = new TUser();
        if (StringUtils.isNotBlank(userName)) {
            user.setUserName(userName);
        }
        if (StringUtils.isNotBlank(type)) {
            user.setType(type);
wzp's avatar
wzp committed
93
            if (user1.getRoleList().size() > 0 && !user1.getRoleList().contains("1")) {
94 95
                //设置用户数据权限
                user.setOrgCode(user1.getOrgCode());
wzp's avatar
wzp committed
96
                if (user1.getRoleList().contains("3")) {
wzp's avatar
wzp committed
97 98
                    user.setOrgCode(null);
                }
99 100 101 102 103 104 105 106
            }
            if ("2".equals(type)) {
                List<String> roleList = user1.getRoleList();
                //如果是单位用户,只能查看本机构的单位用户
                if (roleList != null && !roleList.contains("1") && roleList.contains("2")) {
                    user.setOrgId(user1.getOrgId());
                }
            }
wzp's avatar
wzp committed
107 108 109 110 111 112 113 114
        }
        if (StringUtils.isNotBlank(orgId)) {
            user.setOrgId(orgId);
        }
        if (StringUtils.isNotBlank(areaId)) {
            user.setAreaId(areaId);
        }
        if (StringUtils.isNotBlank(status)) {
wzp's avatar
wzp committed
115
            if (AuditOperationEnum.ENABLE.name().equals(status) || AuditOperationEnum.DISABLE.name().equals(status)) {
wzp's avatar
wzp committed
116
                user.setStatus(status);
liqin's avatar
liqin committed
117
            } else {
wzp's avatar
wzp committed
118 119 120
                user.setAuditStatus(status);
            }
        }
121

wzp's avatar
wzp committed
122
        try {
wzp's avatar
wzp committed
123
            Page<TUser> list = userService.getList(getPage(), user);
wzp's avatar
wzp committed
124 125 126 127 128 129
            return getResult(list);
        } catch (Exception e) {
            logger.error("查询成员列表出错!", e);
        }
        return getFailResult();
    }
wzp's avatar
wzp committed
130

wzp's avatar
wzp committed
131
    @ApiOperation(value = "获取用户列表")
wzp's avatar
wzp committed
132
    @RequestMapping(value = "/getUserList", method = RequestMethod.GET)
wzp's avatar
wzp committed
133
    @RequiresAuthentication  //@RequiresPermissions("/user/getUserList")
wzp's avatar
wzp committed
134
    @MethodLog(operModule = OperModule.USER, operType = OperType.SELECT)
wzp's avatar
wzp committed
135
    public Map<String, Object> getUserList(String type, String status, String auditStatus) {
136 137
        TUser user1 = getcurUser();
        TUser user = new TUser();
wzp's avatar
wzp committed
138
        try {
wzp's avatar
wzp committed
139
            if (StringUtils.isNotBlank(type)) {
wzp's avatar
wzp committed
140
                user.setType(type);
wzp's avatar
wzp committed
141
                if (user1.getRoleList().size() > 0 && !user1.getRoleList().contains("1")) {
142
                    //设置用户数据权限
wzp's avatar
wzp committed
143
                    user.setOrgCode(user1.getOrgCode());
144
                }
wzp's avatar
wzp committed
145
            }
wzp's avatar
wzp committed
146
            if (StringUtils.isNotBlank(auditStatus)) {
147 148 149
                user.setAuditStatus(auditStatus);
            }
            if (StringUtils.isNotBlank(status)) {
wzp's avatar
wzp committed
150
                if (AuditOperationEnum.ENABLE.name().equals(status) || AuditOperationEnum.DISABLE.name().equals(status)) {
151 152 153 154
                    user.setStatus(status);
                } else {
                    user.setAuditStatus(status);
                }
wzp's avatar
wzp committed
155
            }
156
            List<TUser> list = userService.getUserList(user);
wzp's avatar
wzp committed
157
            return getResult(list);
wzp's avatar
wzp committed
158 159 160
        } catch (Exception e) {
            logger.error("查询成员列表出错!", e);
        }
wzp's avatar
wzp committed
161
        return getFailResult();
wzp's avatar
wzp committed
162 163 164 165
    }

    @ApiOperation(value = "获取用户详情", notes = "获取用户详情")
    @GetMapping("/getById")
wzp's avatar
wzp committed
166
    @RequiresAuthentication  //@RequiresPermissions("/user/getById")
wzp's avatar
wzp committed
167
    @MethodLog(operModule = OperModule.USER, operType = OperType.DETAILS)
wzp's avatar
wzp committed
168
    public Map<String, Object> getById(String id) {
wzp's avatar
wzp committed
169 170 171
        try {
            TUser tUser = userService.selectById(id);
            List<Role> list = roleService.selectRoleByUserId(id);
wzp's avatar
wzp committed
172
            if (list != null && list.size() > 0 && list.get(0) != null) {
wzp's avatar
wzp committed
173
                List<String> list1 = new ArrayList<>();
liqin's avatar
liqin committed
174
                list.forEach(r -> list1.add(r.getId()));
wzp's avatar
wzp committed
175 176
                tUser.setRoleList(list1);
            }
wzp's avatar
wzp committed
177 178 179 180 181
            return getResult(tUser);
        } catch (Exception e) {
            e.printStackTrace();
            return getFailResult();
        }
wzp's avatar
wzp committed
182 183 184 185 186
    }

    @OperationLog("新增成员")
    @ApiOperation(value = "新增成员")
    @RequestMapping(value = "/add", method = RequestMethod.POST)
wzp's avatar
wzp committed
187
    @RequiresAuthentication   //@RequiresPermissions("/user/add")
wzp's avatar
wzp committed
188
    @MethodLog(operModule = OperModule.USER, operType = OperType.ADD)
wzp's avatar
wzp committed
189
    public Map<String, Object> add(@RequestBody TUser user) {
wzp's avatar
wzp committed
190 191 192
        Map<String, Object> resultMap = new LinkedHashMap<String, Object>();
        try {
            if (StringUtils.isBlank(user.getUserName())) {
wzp's avatar
wzp committed
193
                resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
194
                resultMap.put("message", "账号不能为空!");
wzp's avatar
wzp committed
195
                return resultMap;
wzp's avatar
wzp committed
196 197 198 199
            } else {
                user.setUserName(StringUtils.trimToNull(user.getUserName()));
            }
            if (StringUtils.isBlank(user.getPassword())) {
wzp's avatar
wzp committed
200
                user.setPassword("gb123456");
wzp's avatar
wzp committed
201 202 203 204
            } else {
                user.setPassword(StringUtils.trimToNull(user.getPassword()));
            }
            if (StringUtils.isBlank(user.getOrgId())) {
wzp's avatar
wzp committed
205
                resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
206
                resultMap.put("message", "请选择机构!");
wzp's avatar
wzp committed
207
                return resultMap;
wzp's avatar
wzp committed
208
            }
liqin's avatar
liqin committed
209
            if ("2".equals(user.getType())) {
wzp's avatar
wzp committed
210 211
                QueryWrapper<TUser> ew = new QueryWrapper<>();
                user.setUserName(user.getUserName().trim());
wzp's avatar
wzp committed
212
                ew.eq("is_deleted", false);
wzp's avatar
wzp committed
213 214 215
                ew.eq("type", "2");
                ew.eq("org_id", user.getOrgId());
                List<TUser> list = userService.list(ew);
liqin's avatar
liqin committed
216
                if (list.size() >= 3) {
wzp's avatar
wzp committed
217
                    resultMap.put("resultCode", "200");
wzp's avatar
wzp committed
218 219 220
                    resultMap.put("message", "机构已存在三个单位管理员!");
                    return resultMap;
                }
wzp's avatar
wzp committed
221 222 223
                ArrayList<String> strings = new ArrayList<>();
                strings.add("2");
                user.setRoleList(strings);
wzp's avatar
wzp committed
224
            }
wzp's avatar
wzp committed
225 226 227 228 229 230

            if (user.getRoleList() == null || user.getRoleList().size() < 1) {
                resultMap.put("resultCode", "400");
                resultMap.put("message", "请选择角色!");
                return resultMap;
            }
wzp's avatar
wzp committed
231 232 233
            QueryWrapper<TUser> ew = new QueryWrapper<>();
            if (StringUtils.isNoneBlank(user.getUserName())) {
                user.setUserName(user.getUserName().trim());
wzp's avatar
wzp committed
234
                ew.eq("is_deleted", false);
wzp's avatar
wzp committed
235 236 237
                ew.eq("user_name", user.getUserName());
                TUser one = this.userService.getOne(ew);
                if (one != null) {
wzp's avatar
wzp committed
238
                    resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
239
                    resultMap.put("message", "账号已存在!");
wzp's avatar
wzp committed
240
                    return resultMap;
wzp's avatar
wzp committed
241 242
                }
            }
wzp's avatar
wzp committed
243 244
            TOrgan byId = organService.getById(user.getOrgId());
            user.setAreaId(byId.getAreaId());
wzp's avatar
wzp committed
245 246 247 248 249 250 251 252

            byte[] passwordSalt = SecureRandomSaltService.generateSalt();
            byte[] passwordHash = SHA256PasswordEncryptionService
                    .createPasswordHash(user.getPassword(), passwordSalt);
            user.setPasswordSalt(passwordSalt);
            user.setPasswordHash(passwordHash);
            user.setCreateTime(DateUtil80.getDateTimeOfTimestamp(System.currentTimeMillis()));
            user.setUpdateTime(user.getCreateTime());
liqin's avatar
liqin committed
253
            user.setStatus(AuditOperationEnum.ENABLE.name());
wzp's avatar
wzp committed
254
            user.setAuditStatus(AuditStatusEnum.APPROVED_FINAL.name());
wzp's avatar
wzp committed
255 256 257
            user.setIsDeleted(false);

            boolean ret = this.userService.save(user);
258

wzp's avatar
wzp committed
259
            List<String> list = user.getRoleList();
wzp's avatar
wzp committed
260

261
            List<TUserRole> list1 = new ArrayList<>();
wzp's avatar
wzp committed
262
            for (String s : list) {
263 264
                TUserRole entity = new TUserRole();
                entity.setUserId(user.getId());
wzp's avatar
wzp committed
265
                entity.setRoleId(s);
266 267 268 269
                entity.setIsDeleted(false);
                list1.add(entity);
            }

wzp's avatar
wzp committed
270 271 272 273
            this.tUserRoleService.saveBatch(list1);

            if (!ret) {
                // 新增失败, 500
wzp's avatar
wzp committed
274
                resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
275
                resultMap.put("message", "服务器忙");
wzp's avatar
wzp committed
276
                return resultMap;
wzp's avatar
wzp committed
277
            }
wzp's avatar
wzp committed
278
            resultMap.put("resultCode", "200");
wzp's avatar
wzp committed
279 280
            resultMap.put("message", "添加成功");
            // 201
wzp's avatar
wzp committed
281
            return resultMap;
wzp's avatar
wzp committed
282
        } catch (Exception e) {
wzp's avatar
wzp committed
283
            resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
284 285 286
            resultMap.put("message", "服务器忙");
            logger.error("新增成员错误!", e);
        }
wzp's avatar
wzp committed
287
        return resultMap;
wzp's avatar
wzp committed
288 289 290
    }

    @OperationLog("修改成员信息")
wzp's avatar
wzp committed
291
    @ApiOperation(value = "编辑用户信息")
wzp's avatar
wzp committed
292
    @PutMapping(value = "/update")
wzp's avatar
wzp committed
293
    @RequiresAuthentication   //@RequiresPermissions("/user/update")
wzp's avatar
wzp committed
294
    @MethodLog(operModule = OperModule.USER, operType = OperType.UPDATE)
wzp's avatar
wzp committed
295
    public Map<String, Object> edit(@RequestBody TUser user) {
wzp's avatar
wzp committed
296 297 298 299
        Map<String, Object> resultMap = new HashMap<>();
        try {
            boolean ret = false;
            if (user.getId() != null) {
wzp's avatar
wzp committed
300

wzp's avatar
wzp committed
301
                if (StringUtils.isNoneBlank(user.getUserName().trim())) {
wzp's avatar
wzp committed
302 303 304 305 306 307
                    QueryWrapper<TUser> ew = new QueryWrapper<>();
                    user.setUserName(user.getUserName().trim());
                    ew.eq("is_deleted", false);
                    ew.eq("user_name", user.getUserName());
                    TUser one = this.userService.getOne(ew);
                    TUser tUser = userService.getById(user.getId());
wzp's avatar
wzp committed
308 309
                    if (one != null && !one.getUserName().equals(tUser.getUserName())) {
                        resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
310 311 312
                        resultMap.put("message", "账号已存在!");
                        return resultMap;
                    }
wzp's avatar
wzp committed
313 314 315 316
                } else {
                    resultMap.put("resultCode", "400");
                    resultMap.put("message", "账号名不能为空!");
                    return resultMap;
wzp's avatar
wzp committed
317
                }
wzp's avatar
wzp committed
318
                if (StringUtils.isNoneBlank(user.getOrgId()) && StringUtils.isNoneBlank(user.getType()) && "3".equals(user.getType())) {
wzp's avatar
wzp committed
319 320 321 322 323
                    QueryWrapper<TUser> ew = new QueryWrapper<>();
                    ew.eq("is_deleted", false);
                    ew.eq("type", "3");
                    ew.eq("org_id", user.getOrgId());
                    List<TUser> list = this.userService.list(ew);
wzp's avatar
wzp committed
324
                    if (list != null && list.size() > 0 && list.get(0) != null) {
wzp's avatar
wzp committed
325
                        resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
326 327 328 329 330 331 332 333 334 335
                        resultMap.put("message", "每个单位只能有一个机顶盒账号!");
                        return resultMap;
                    }
                }
                if ("2".equals(user.getType())) {
                    QueryWrapper<TUser> ew = new QueryWrapper<>();
                    ew.eq("is_deleted", false);
                    ew.eq("type", "2");
                    ew.eq("org_id", user.getOrgId());
                    List<TUser> list = userService.list(ew);
wzp's avatar
wzp committed
336
                    TUser tUser = userService.getById(user.getId());
wzp's avatar
wzp committed
337
                    if (list.size() >= 3 && !tUser.getOrgId().equals(user.getOrgId())) {
wzp's avatar
wzp committed
338
                        resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
339 340 341
                        resultMap.put("message", "机构已存在三个单位管理员!");
                        return resultMap;
                    }
wzp's avatar
wzp committed
342
                }
wzp's avatar
wzp committed
343 344 345
//                user.setUserName(StringUtils.trimToNull(user.getUserName()));
//                user.setPassword(StringUtils.trimToNull(user.getPassword()));
//                user.setRealName(StringUtils.trimToNull(user.getRealName()));
wzp's avatar
wzp committed
346 347 348 349
                user.setUpdateTime(DateUtil80.getDateTimeOfTimestamp(System.currentTimeMillis()));
                ret = userService.updateById(user);


wzp's avatar
wzp committed
350
                List<String> list = user.getRoleList();
wzp's avatar
wzp committed
351

wzp's avatar
wzp committed
352
                if (null != list && list.size() > 0 && list.get(0) != null) {
wzp's avatar
wzp committed
353 354 355 356 357
                    //查询当前用户拥有的角色
                    QueryWrapper<TUserRole> userRoleWrapper = new QueryWrapper<>();
                    userRoleWrapper.eq("user_id", user.getId());
                    boolean remove = tUserRoleService.remove(userRoleWrapper);

wzp's avatar
wzp committed
358
                    ArrayList<TUserRole> list1 = new ArrayList<>();
wzp's avatar
wzp committed
359
                    for (String r : list) {
wzp's avatar
wzp committed
360 361
                        TUserRole userRole = new TUserRole();
                        userRole.setUserId(user.getId());
wzp's avatar
wzp committed
362
                        userRole.setRoleId(r);
wzp's avatar
wzp committed
363 364 365 366 367 368 369 370
                        userRole.setIsDeleted(false);
                        list1.add(userRole);
                    }

                    ret = this.tUserRoleService.saveBatch(list1);
                }
            } else {
                // 更新失败, 400
wzp's avatar
wzp committed
371
                resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
372
                resultMap.put("message", "请选择用户");
wzp's avatar
wzp committed
373
                return resultMap;
wzp's avatar
wzp committed
374 375 376 377
            }

            if (!ret) {
                // 更新失败, 500
wzp's avatar
wzp committed
378
                resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
379
                resultMap.put("message", "服务器忙");
wzp's avatar
wzp committed
380
                return resultMap;
wzp's avatar
wzp committed
381 382
            }
            // 204
wzp's avatar
wzp committed
383
            resultMap.put("resultCode", "200");
wzp's avatar
wzp committed
384
            resultMap.put("message", "更新成功");
wzp's avatar
wzp committed
385
            return resultMap;
wzp's avatar
wzp committed
386 387 388 389
        } catch (Exception e) {
            logger.error("更新错误!", e);
        }
        // 500
wzp's avatar
wzp committed
390 391
        resultMap.put("resultCode", "500");
        resultMap.put("message", "服务器忙");
wzp's avatar
wzp committed
392
        return resultMap;
wzp's avatar
wzp committed
393 394 395 396 397
    }

    @OperationLog("删除成员")
    @ApiOperation(value = "删除成员")
    @DeleteMapping(value = "/delete")
wzp's avatar
wzp committed
398
    @RequiresAuthentication  //@RequiresPermissions("/user/delete")
wzp's avatar
wzp committed
399
    @MethodLog(operModule = OperModule.USER, operType = OperType.DELETE)
wzp's avatar
wzp committed
400
    public Map<String, Object> delete(String userId) {
wzp's avatar
wzp committed
401 402 403
        Map<String, Object> resultMap = new HashMap<>();
        try {
            if ("1".equals(userId)) {
wzp's avatar
wzp committed
404
                resultMap.put("status", "400");
wzp's avatar
wzp committed
405
                resultMap.put("message", "该账号不能被删除");
wzp's avatar
wzp committed
406
                return resultMap;
wzp's avatar
wzp committed
407 408 409 410 411
            }
            TUser entity = new TUser();
            entity.setId(userId);
            entity.setUpdateTime(DateUtil80.getDateTimeOfTimestamp(System.currentTimeMillis()));
            entity.setIsDeleted(true);
wzp's avatar
wzp committed
412
            boolean ret1 = this.userService.removeById(entity);
wzp's avatar
wzp committed
413 414 415 416 417 418

            QueryWrapper<TUserRole> userRoleWrapper = new QueryWrapper<>();
            userRoleWrapper.eq("user_id", userId);
            boolean ret2 = this.tUserRoleService.remove(userRoleWrapper);

            if (!ret1 || !ret2) {
wzp's avatar
wzp committed
419
                resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
420
                resultMap.put("message", "删除失败");
wzp's avatar
wzp committed
421
                return resultMap;
wzp's avatar
wzp committed
422
            }
wzp's avatar
wzp committed
423
            resultMap.put("resultCode", "200");
wzp's avatar
wzp committed
424
            resultMap.put("message", "删除成功");
wzp's avatar
wzp committed
425
            return resultMap;
wzp's avatar
wzp committed
426 427 428
        } catch (Exception e) {
            logger.error("删除用户出错!", e);
        }
wzp's avatar
wzp committed
429
        return getFailResult();
wzp's avatar
wzp committed
430 431 432 433 434
    }

    @OperationLog("禁用成员")
    @ApiOperation(value = "禁用")
    @RequestMapping(value = "/disable", method = RequestMethod.PUT)
wzp's avatar
wzp committed
435
    @RequiresAuthentication  //@RequiresPermissions("/user/disable")
wzp's avatar
wzp committed
436
    @MethodLog(operModule = OperModule.USER, operType = OperType.DISABLE)
wzp's avatar
wzp committed
437
    public Map<String, Object> disableTUser(String userId) {
wzp's avatar
wzp committed
438 439 440 441
        Map<String, Object> resultMap = new HashMap<>();
        try {
            TUser entity = new TUser();
            entity.setId(userId);
wzp's avatar
wzp committed
442
            //提交禁用审核,没有真正禁用
wzp's avatar
wzp committed
443 444
            String code = AuditStatusEnum.TBC.name();
            entity.setAuditStatus(code);
wzp's avatar
wzp committed
445 446
            entity.setUpdateTime(DateUtil80.getDateTimeOfTimestamp(System.currentTimeMillis()));

wzp's avatar
wzp committed
447 448 449
            //添加到审核记录表
            TUser user = userService.getById(userId);
            Audit audit = new Audit();
liqin's avatar
liqin committed
450
            audit.setContent(user.getUserName());
wzp's avatar
wzp committed
451
            audit.setOrganId(user.getOrgId());
liqin's avatar
liqin committed
452
            audit.setRefItemId(userId);
wzp's avatar
wzp committed
453
            audit.setUserId(getcurUser().getId());
liqin's avatar
liqin committed
454 455 456
            audit.setType(AuditTypeEnum.ACCOUNT.name());
            audit.setOperation(AuditOperationEnum.DISABLE.name());
            audit.setStatus(AuditStatusEnum.TBC.name());
wzp's avatar
wzp committed
457
            audit.setLevel(AuditStatusEnum.TBC.name());
wzp's avatar
wzp committed
458 459 460 461
            audit.setCreateTime(LocalDateTime.now());
            auditService.save(audit);

            boolean ret = this.userService.updateById(entity);
wzp's avatar
wzp committed
462 463 464 465 466 467 468
            //获取该用户的登陆token
            String userToken = stringRedisTemplate.opsForValue().get(SHIRO_JWT_TOKEN + userId);
            if (null != userToken) {
                stringRedisTemplate.delete(userToken);
                stringRedisTemplate.delete(SHIRO_JWT_TOKEN + userId);
            }
            if (!ret) {
wzp's avatar
wzp committed
469
                resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
470
                resultMap.put("message", "禁用失败");
wzp's avatar
wzp committed
471
                return resultMap;
wzp's avatar
wzp committed
472
            }
wzp's avatar
wzp committed
473
            resultMap.put("resultCode", "200");
wzp's avatar
wzp committed
474
            resultMap.put("message", "禁用成功");
wzp's avatar
wzp committed
475
            return resultMap;
wzp's avatar
wzp committed
476 477 478
        } catch (Exception e) {
            logger.error("禁用用户出错!", e);
        }
wzp's avatar
wzp committed
479
        return getFailResult();
wzp's avatar
wzp committed
480
    }
wzp's avatar
wzp committed
481 482
//
//    @PutMapping("/updateAuditStatus")
wzp's avatar
wzp committed
483
//    @RequiresAuthentication  //@RequiresAuthentication  //@RequiresPermissions("/user/updateAuditStatus")
wzp's avatar
wzp committed
484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509
//    @ApiOperation(value = "更新用户审核状态", notes = "更新用户审核状态")
//    @ApiImplicitParams(value = {
//            @ApiImplicitParam(name = "id", value = "标识ID", dataType = "String", paramType = "path"),
//            @ApiImplicitParam(name = "status", value = "状态", paramType = "query", dataType = "String")
//    })
//    @MethodLog(operModule = OperModule.USER, operType = OperType.UPDATE)
//    public Map<String, Object> updateStatus(@NotNull(message = "机构用户不能为空") @PathVariable("id") String id, @RequestParam("status") AuditStatusEnum status) {
//        boolean flag = false;
//        try {
//            TUser user = new TUser();
//            user.setId(id);
//            user.setAuditStatus(status.getCode().toString());
//            //当禁用审核通过后,真正禁用
//            if ("4".equals(status.getCode().toString())) {
//                user.setStatus("2");
//            }
//            flag = userService.updateById(user);
//            if (!flag) {
//                return getFailResult();
//            }
//            return getSuccessResult();
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        return getFailResult();
//    }
wzp's avatar
wzp committed
510

wzp's avatar
wzp committed
511 512 513
    @OperationLog("启用成员")
    @ApiOperation(value = "启用")
    @RequestMapping(value = "/enable", method = RequestMethod.PUT)
wzp's avatar
wzp committed
514
    @RequiresAuthentication  //@RequiresPermissions("/user/enable")
liqin's avatar
liqin committed
515
    @MethodLog(operModule = OperModule.USER, operType = OperType.ENABLE)
wzp's avatar
wzp committed
516
    public Map<String, Object> enableUser(String userId) {
wzp's avatar
wzp committed
517 518 519 520 521
        try {
            Map<String, Object> map = new HashMap<>();

            TUser entity = new TUser();
            entity.setId(userId);
liqin's avatar
liqin committed
522
            entity.setStatus(AuditOperationEnum.ENABLE.name());
wzp's avatar
wzp committed
523
            entity.setAuditStatus(AuditStatusEnum.APPROVED_FINAL.name());
wzp's avatar
wzp committed
524 525 526
            entity.setUpdateTime(DateUtil80.getDateTimeOfTimestamp(System.currentTimeMillis()));
            boolean ret = this.userService.updateById(entity);
            if (!ret) {
wzp's avatar
wzp committed
527
                map.put("resultCode", "500");
wzp's avatar
wzp committed
528
                map.put("message", "服务器错误");
wzp's avatar
wzp committed
529
                return map;
wzp's avatar
wzp committed
530
            }
wzp's avatar
wzp committed
531
            map.put("resultCode", "200");
wzp's avatar
wzp committed
532
            map.put("message", "启用成功");
wzp's avatar
wzp committed
533
            return map;
wzp's avatar
wzp committed
534 535 536
        } catch (Exception e) {
            logger.error("用户启用出错!", e);
        }
wzp's avatar
wzp committed
537
        return getFailResult();
wzp's avatar
wzp committed
538 539 540 541 542
    }

    @OperationLog("修改密码")
    @ApiOperation(value = "管理员更改自己的登录密码", notes = "管理员更改自己的登录密码")
    @RequestMapping(value = "/editPwd", method = RequestMethod.PUT)
wzp's avatar
wzp committed
543
    @RequiresAuthentication  //@RequiresAuthentication  //@RequiresPermissions("/user/editPwd")
wzp's avatar
wzp committed
544
    @MethodLog(operModule = OperModule.CHANGEPWD, operType = OperType.CHANGE_PASSWORD)
wzp's avatar
wzp committed
545 546
    public Map<String, Object> editPwd(@RequestParam(value = "oldPassWord") String oldPassWord,
                                       @RequestParam(value = "password") String password) {
wzp's avatar
wzp committed
547 548 549 550 551
        Map<String, Object> resultMap = new LinkedHashMap<String, Object>();
        try {
            boolean ret = false;
            TUser user = this.userService.getById(this.getUserId());
            byte[] salt = user.getPasswordSalt();
wzp's avatar
wzp committed
552 553 554 555 556
            if (StringUtils.isBlank(oldPassWord.trim())) {
                resultMap.put("resultCode", "400");
                resultMap.put("message", "旧密码不能为空");
                return resultMap;
            }
wzp's avatar
wzp committed
557 558
            if (StringUtils.isBlank(password.trim())) {
                resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
559 560
                resultMap.put("message", "新密码不能为空");
                return resultMap;
wzp's avatar
wzp committed
561
            }
wzp's avatar
wzp committed
562
            //密码解密
wzp's avatar
wzp committed
563
            oldPassWord = AESUtils.aesDecrypt(oldPassWord);
wzp's avatar
wzp committed
564
            //密码解密
wzp's avatar
wzp committed
565
            password = AESUtils.aesDecrypt(password);
wzp's avatar
wzp committed
566

wzp's avatar
wzp committed
567 568 569 570 571 572
            if (new String(SHA256PasswordEncryptionService.createPasswordHash(oldPassWord, salt))
                    .equals(new String(user.getPasswordHash()))) {
                salt = SecureRandomSaltService.generateSalt();
                user.setPasswordSalt(salt);
                user.setPasswordHash((SHA256PasswordEncryptionService.createPasswordHash(password, salt)));
                user.setUpdateTime(DateUtil80.getDateTimeOfTimestamp(System.currentTimeMillis()));
573
                user.setPassword(password);
wzp's avatar
wzp committed
574 575 576
                ret = this.userService.updateById(user);
            } else {
                logger.error("旧密码不正确");
wzp's avatar
wzp committed
577
                resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
578
                resultMap.put("message", "旧密码不正确");
wzp's avatar
wzp committed
579
                return resultMap;
wzp's avatar
wzp committed
580 581
            }
            if (!ret) {
wzp's avatar
wzp committed
582
                resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
583 584
                resultMap.put("message", "修改失败");
                // 更新失败, 500
wzp's avatar
wzp committed
585
                return resultMap;
wzp's avatar
wzp committed
586
            }
wzp's avatar
wzp committed
587
            resultMap.put("resultCode", "200");
wzp's avatar
wzp committed
588
            resultMap.put("message", "修改成功");
wzp's avatar
wzp committed
589
            return resultMap;
wzp's avatar
wzp committed
590 591 592 593
        } catch (Exception e) {
            logger.error("更新密码错误!", e);
        }
        // 500
wzp's avatar
wzp committed
594
        resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
595
        resultMap.put("message", "修改失败");
wzp's avatar
wzp committed
596
        return resultMap;
wzp's avatar
wzp committed
597 598 599 600 601
    }

    @OperationLog("重置密码")
    @ApiOperation(value = "管理员重置密码", notes = "管理员重置密码")
    @RequestMapping(value = "/resetPassword", method = RequestMethod.PUT)
wzp's avatar
wzp committed
602
    @RequiresAuthentication//@RequiresPermissions("/user/resetPassword")
wzp's avatar
wzp committed
603
    @MethodLog(operModule = OperModule.USER, operType = OperType.RESET_PASSWORD)
wzp's avatar
wzp committed
604
    public Map<String, Object> resetPassword(String userId) {
wzp's avatar
wzp committed
605
        try {
wzp's avatar
wzp committed
606
            Map<String, Object> map = new LinkedHashMap<>();
wzp's avatar
wzp committed
607
            String newPassword = "gb123456";
wzp's avatar
wzp committed
608 609 610 611 612 613
            TUser user = new TUser();
            user.setId(userId);
            byte[] passwordSalt = SecureRandomSaltService.generateSalt();
            byte[] passwordHash = SHA256PasswordEncryptionService.createPasswordHash(newPassword, passwordSalt);
            user.setPasswordSalt(passwordSalt);
            user.setPasswordHash(passwordHash);
614
            user.setPassword(newPassword);
wzp's avatar
wzp committed
615 616 617
            user.setUpdateTime(DateUtil80.getDateTimeOfTimestamp(System.currentTimeMillis()));
            boolean ret = userService.updateById(user);
            if (!ret) {
wzp's avatar
wzp committed
618
                return getFailResult();
wzp's avatar
wzp committed
619 620
            }
            stringRedisTemplate.delete(SHIRO_IS_LOCK + userService.getById(userId).getUserName());
wzp's avatar
wzp committed
621
            map.put("resultCode", "200");
wzp's avatar
wzp committed
622
            map.put("message", "重置密码成功");
wzp's avatar
wzp committed
623
            map.put("data", "");
wzp's avatar
wzp committed
624
            return map;
wzp's avatar
wzp committed
625 626 627
        } catch (Exception e) {
            logger.error("重置密码出错!", e);
        }
wzp's avatar
wzp committed
628
        return getFailResult();
wzp's avatar
wzp committed
629 630
    }

wzp's avatar
wzp committed
631 632
    @OperationLog("新增机顶盒账号")
    @ApiOperation(value = "新增机顶盒账号")
wzp's avatar
wzp committed
633
    @RequestMapping(value = "/boxAdd", method = RequestMethod.POST)
wzp's avatar
wzp committed
634
    @RequiresAuthentication  //@RequiresPermissions("/user/boxAdd")
wzp's avatar
wzp committed
635
    @MethodLog(operModule = OperModule.STBBASE, operType = OperType.ADD)
wzp's avatar
wzp committed
636
    public Map<String, Object> BoxAdd(TUser user) {
wzp's avatar
wzp committed
637 638 639
        Map<String, Object> resultMap = new LinkedHashMap<String, Object>();
        try {
            if (StringUtils.isBlank(user.getUserName())) {
wzp's avatar
wzp committed
640
                resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
641
                resultMap.put("message", "账号不能为空!");
wzp's avatar
wzp committed
642
                return resultMap;
wzp's avatar
wzp committed
643 644 645 646
            } else {
                user.setUserName(StringUtils.trimToNull(user.getUserName()));
            }

wzp's avatar
wzp committed
647
            user.setPassword(RandomUtil.createLetterRandom(6));
wzp's avatar
wzp committed
648

wzp's avatar
wzp committed
649

wzp's avatar
wzp committed
650
            if (StringUtils.isNoneBlank(user.getUserName())) {
wzp's avatar
wzp committed
651
                QueryWrapper<TUser> ew = new QueryWrapper<>();
wzp's avatar
wzp committed
652
                user.setUserName(user.getUserName().trim());
wzp's avatar
wzp committed
653
                ew.eq("is_deleted", false);
wzp's avatar
wzp committed
654 655 656
                ew.eq("user_name", user.getUserName());
                TUser one = this.userService.getOne(ew);
                if (one != null) {
wzp's avatar
wzp committed
657
                    resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
658
                    resultMap.put("message", "账号已存在!");
wzp's avatar
wzp committed
659
                    return resultMap;
wzp's avatar
wzp committed
660 661 662
                }
            }

wzp's avatar
wzp committed
663
            if (StringUtils.isNoneBlank(user.getOrgId())) {
wzp's avatar
wzp committed
664
                QueryWrapper<TUser> ew = new QueryWrapper<>();
wzp's avatar
wzp committed
665 666 667 668 669
                user.setOrgId(user.getOrgId());
                ew.eq("is_deleted", 0);
                ew.eq("type", "3");
                ew.eq("org_id", user.getOrgId());
                List<TUser> list = this.userService.list(ew);
wzp's avatar
wzp committed
670
                if (list != null && list.size() > 0 && list.get(0) != null) {
wzp's avatar
wzp committed
671
                    resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
672
                    resultMap.put("message", "该单位机顶盒账号已存在!");
wzp's avatar
wzp committed
673
                    return resultMap;
wzp's avatar
wzp committed
674 675
                }
            }
wzp's avatar
wzp committed
676 677
            TOrgan byId = organService.getById(user.getOrgId());
            user.setAreaId(byId.getAreaId());
wzp's avatar
wzp committed
678

wzp's avatar
wzp committed
679 680 681 682 683 684 685 686
            byte[] passwordSalt = SecureRandomSaltService.generateSalt();
            byte[] passwordHash = SHA256PasswordEncryptionService
                    .createPasswordHash(user.getPassword(), passwordSalt);
            user.setPasswordSalt(passwordSalt);
            user.setPasswordHash(passwordHash);
            user.setCreateTime(DateUtil80.getDateTimeOfTimestamp(System.currentTimeMillis()));
            user.setUpdateTime(user.getCreateTime());
            user.setIsDeleted(false);
liqin's avatar
liqin committed
687
            user.setStatus(AuditOperationEnum.ENABLE.name());
wzp's avatar
wzp committed
688
            user.setAuditStatus(AuditStatusEnum.APPROVED_FINAL.name());
wzp's avatar
wzp committed
689 690
            user.setType("3");

wzp's avatar
wzp committed
691
            boolean ret = this.userService.addBox(user);
wzp's avatar
wzp committed
692

wzp's avatar
wzp committed
693 694
            if (!ret) {
                // 新增失败, 500
wzp's avatar
wzp committed
695
                resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
696
                resultMap.put("message", "服务器忙");
wzp's avatar
wzp committed
697
                return resultMap;
wzp's avatar
wzp committed
698
            }
wzp's avatar
wzp committed
699
            resultMap.put("resultCode", "200");
wzp's avatar
wzp committed
700 701 702
            resultMap.put("message", "添加成功");
            resultMap.put("data", user.getPassword());
            // 201
wzp's avatar
wzp committed
703
            return resultMap;
wzp's avatar
wzp committed
704
        } catch (Exception e) {
wzp's avatar
wzp committed
705
            resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
706 707 708
            resultMap.put("message", "服务器忙");
            logger.error("新增成员错误!", e);
        }
wzp's avatar
wzp committed
709
        return resultMap;
wzp's avatar
wzp committed
710 711
    }

wzp's avatar
wzp committed
712 713 714
    @OperationLog("新增运维账号")
    @ApiOperation(value = "新增运维账号")
    @RequestMapping(value = "/operationAdd", method = RequestMethod.POST)
wzp's avatar
wzp committed
715
    @RequiresAuthentication   //@RequiresPermissions("/user/operationAdd")
wzp's avatar
wzp committed
716
    @MethodLog(operModule = OperModule.STBACCOUNT, operType = OperType.ADD)
wzp's avatar
wzp committed
717
    public Map<String, Object> operationAdd(TUser user) {
wzp's avatar
wzp committed
718 719 720
        Map<String, Object> resultMap = new LinkedHashMap<String, Object>();
        try {
            if (StringUtils.isBlank(user.getUserName())) {
wzp's avatar
wzp committed
721
                resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
722
                resultMap.put("message", "账号不能为空!");
wzp's avatar
wzp committed
723
                return resultMap;
wzp's avatar
wzp committed
724 725 726 727
            } else {
                user.setUserName(StringUtils.trimToNull(user.getUserName()));
            }

wzp's avatar
wzp committed
728
            user.setPassword("gb123456");
wzp's avatar
wzp committed
729 730 731 732

            QueryWrapper<TUser> ew = new QueryWrapper<>();
            if (StringUtils.isNoneBlank(user.getUserName())) {
                user.setUserName(user.getUserName().trim());
wzp's avatar
wzp committed
733
                ew.eq("is_deleted", false);
wzp's avatar
wzp committed
734 735 736
                ew.eq("user_name", user.getUserName());
                TUser one = this.userService.getOne(ew);
                if (one != null) {
wzp's avatar
wzp committed
737
                    resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
738
                    resultMap.put("message", "账号已存在!");
wzp's avatar
wzp committed
739
                    return resultMap;
wzp's avatar
wzp committed
740 741 742 743 744 745 746 747 748 749 750
                }
            }

            byte[] passwordSalt = SecureRandomSaltService.generateSalt();
            byte[] passwordHash = SHA256PasswordEncryptionService
                    .createPasswordHash(user.getPassword(), passwordSalt);
            user.setPasswordSalt(passwordSalt);
            user.setPasswordHash(passwordHash);
            user.setCreateTime(DateUtil80.getDateTimeOfTimestamp(System.currentTimeMillis()));
            user.setUpdateTime(user.getCreateTime());
            user.setIsDeleted(false);
liqin's avatar
liqin committed
751
            user.setStatus(AuditOperationEnum.ENABLE.name());
wzp's avatar
wzp committed
752
            user.setAuditStatus(AuditStatusEnum.APPROVED_FINAL.name());
wzp's avatar
wzp committed
753 754 755
            user.setType("4");

            boolean ret = this.userService.save(user);
wzp's avatar
wzp committed
756 757 758 759 760 761
//
//            TUserRole userRole = new TUserRole();
//            userRole.setUserId(user.getId());
//            userRole.setRoleId("4");
//            userRole.setIsDeleted(false);
//            tUserRoleService.save(userRole);
wzp's avatar
wzp committed
762

wzp's avatar
wzp committed
763 764
            if (!ret) {
                // 新增失败, 500
wzp's avatar
wzp committed
765
                resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
766
                resultMap.put("message", "服务器忙");
wzp's avatar
wzp committed
767
                return resultMap;
wzp's avatar
wzp committed
768
            }
wzp's avatar
wzp committed
769
            resultMap.put("resultCode", "200");
wzp's avatar
wzp committed
770 771 772
            resultMap.put("message", "添加成功");
            resultMap.put("data", user.getPassword());
            // 201
wzp's avatar
wzp committed
773
            return resultMap;
wzp's avatar
wzp committed
774
        } catch (Exception e) {
wzp's avatar
wzp committed
775
            resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
776 777 778
            resultMap.put("message", "服务器忙");
            logger.error("新增成员错误!", e);
        }
wzp's avatar
wzp committed
779
        return resultMap;
wzp's avatar
wzp committed
780 781 782
    }

    @OperationLog("新增统计账号")
wzp's avatar
wzp committed
783
    @ApiOperation(value = "新增统计账号")
wzp's avatar
wzp committed
784
    @RequestMapping(value = "/statisticsAdd", method = RequestMethod.POST)
wzp's avatar
wzp committed
785
    @RequiresAuthentication  //@RequiresPermissions("/user/statisticsAdd")
wzp's avatar
wzp committed
786
    @MethodLog(operModule = OperModule.STATISTICALUSER, operType = OperType.ADD)
wzp's avatar
wzp committed
787
    public Map<String, Object> statisticsAdd(TUser user) {
wzp's avatar
wzp committed
788 789 790
        Map<String, Object> resultMap = new LinkedHashMap<String, Object>();
        try {
            if (StringUtils.isBlank(user.getUserName())) {
wzp's avatar
wzp committed
791
                resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
792
                resultMap.put("message", "账号不能为空!");
wzp's avatar
wzp committed
793
                return resultMap;
wzp's avatar
wzp committed
794 795 796 797
            } else {
                user.setUserName(StringUtils.trimToNull(user.getUserName()));
            }

wzp's avatar
wzp committed
798
            user.setPassword("gb123456");
wzp's avatar
wzp committed
799 800 801 802

            QueryWrapper<TUser> ew = new QueryWrapper<>();
            if (StringUtils.isNoneBlank(user.getUserName())) {
                user.setUserName(user.getUserName().trim());
wzp's avatar
wzp committed
803
                ew.eq("is_deleted", false);
wzp's avatar
wzp committed
804 805 806
                ew.eq("user_name", user.getUserName());
                TUser one = this.userService.getOne(ew);
                if (one != null) {
wzp's avatar
wzp committed
807
                    resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
808
                    resultMap.put("message", "账号已存在!");
wzp's avatar
wzp committed
809
                    return resultMap;
wzp's avatar
wzp committed
810 811 812 813 814 815 816 817 818 819 820
                }
            }

            byte[] passwordSalt = SecureRandomSaltService.generateSalt();
            byte[] passwordHash = SHA256PasswordEncryptionService
                    .createPasswordHash(user.getPassword(), passwordSalt);
            user.setPasswordSalt(passwordSalt);
            user.setPasswordHash(passwordHash);
            user.setCreateTime(DateUtil80.getDateTimeOfTimestamp(System.currentTimeMillis()));
            user.setUpdateTime(user.getCreateTime());
            user.setIsDeleted(false);
liqin's avatar
liqin committed
821
            user.setStatus(AuditOperationEnum.ENABLE.name());
wzp's avatar
wzp committed
822
            user.setAuditStatus(AuditStatusEnum.APPROVED_FINAL.name());
wzp's avatar
wzp committed
823 824 825 826
            user.setType("5");

            boolean ret = this.userService.save(user);

wzp's avatar
wzp committed
827 828 829 830 831 832 833

            TUserRole userRole = new TUserRole();
            userRole.setUserId(user.getId());
            userRole.setRoleId("5");
            userRole.setIsDeleted(false);
            tUserRoleService.save(userRole);

wzp's avatar
wzp committed
834 835
            if (!ret) {
                // 新增失败, 500
wzp's avatar
wzp committed
836
                resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
837
                resultMap.put("message", "服务器忙");
wzp's avatar
wzp committed
838
                return resultMap;
wzp's avatar
wzp committed
839
            }
wzp's avatar
wzp committed
840
            resultMap.put("resultCode", "200");
wzp's avatar
wzp committed
841 842 843
            resultMap.put("message", "添加成功");
            resultMap.put("data", user.getPassword());
            // 201
wzp's avatar
wzp committed
844
            return resultMap;
wzp's avatar
wzp committed
845
        } catch (Exception e) {
wzp's avatar
wzp committed
846
            resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
847 848 849
            resultMap.put("message", "服务器忙");
            logger.error("新增成员错误!", e);
        }
wzp's avatar
wzp committed
850
        return resultMap;
wzp's avatar
wzp committed
851 852
    }

wzp's avatar
wzp committed
853 854 855 856 857 858 859 860 861 862 863
    @OperationLog("修改成员信息")
    @ApiOperation(value = "编辑用户信息")
    @PutMapping(value = "/boxUpdate")
    @RequiresAuthentication   //@RequiresPermissions("/user/boxUpdate")
    @MethodLog(operModule = OperModule.STBBASE, operType = OperType.UPDATE)
    public Map<String, Object> boxUpdate(@RequestBody TUser user) {
        Map<String, Object> resultMap = new HashMap<>();
        try {
            boolean ret = false;
            if (StringUtils.isNotBlank(user.getOrgName())) {

wzp's avatar
wzp committed
864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881
                QueryWrapper<TUser> ew = new QueryWrapper<>();
                ew.eq("is_deleted", false);
                ew.eq("type", "3");
                ew.eq("user_name", user.getOrgName());
                TUser one = userService.getOne(ew);
                one.setPermanent(false);
                one.setEffectiveDate(null);
                one.setExiredDate(null);
                if (user.getPermanent() != null) {
                    one.setPermanent(user.getPermanent());
                }
                if (user.getEffectiveDate() != null) {
                    one.setEffectiveDate(user.getEffectiveDate());
                }
                if (user.getExiredDate() != null) {
                    one.setExiredDate(user.getExiredDate());
                }
                user = one;
wzp's avatar
wzp committed
882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909

                ret = userService.updateById(user);
            } else {
                // 更新失败, 400
                resultMap.put("resultCode", "400");
                resultMap.put("message", "请选择用户");
                return resultMap;
            }

            if (!ret) {
                // 更新失败, 500
                resultMap.put("resultCode", "500");
                resultMap.put("message", "服务器忙");
                return resultMap;
            }
            // 204
            resultMap.put("resultCode", "200");
            resultMap.put("message", "更新成功");
            return resultMap;
        } catch (Exception e) {
            logger.error("更新错误!", e);
        }
        // 500
        resultMap.put("resultCode", "500");
        resultMap.put("message", "服务器忙");
        return resultMap;
    }

910 911
}