TUserController.java 38.4 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
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
wzp's avatar
wzp committed
24
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
25 26 27 28 29 30 31
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
32
import org.apache.shiro.authz.annotation.RequiresAuthentication;
33 34 35 36 37
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
38

39
import javax.annotation.Resource;
wzp's avatar
wzp committed
40
import java.time.LocalDateTime;
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
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
60 61 62
    @Resource
    private TOrganServiceImpl organService;

63 64 65
    @Resource
    private TUserRoleService tUserRoleService;

66
    @Resource
wzp's avatar
wzp committed
67 68
    private RoleService roleService;

wzp's avatar
wzp committed
69 70 71
    @Resource
    private AuditServiceImpl auditService;

wzp's avatar
wzp committed
72 73 74
    @Resource
    private TBoxOperationServiceImpl boxOperationService;

wzp's avatar
wzp committed
75 76 77 78 79 80
    @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
81 82 83 84 85 86
    @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
87
    @RequiresAuthentication  //@RequiresPermissions("/user/getPageList")
wzp's avatar
wzp committed
88
    @MethodLog(operModule = OperModule.USER, operType = OperType.SELECT)
wzp's avatar
wzp committed
89
    public Map<String, Object> getPageList(String type, String userName, String status, String orgId, String areaId) {
wzp's avatar
wzp committed
90
        TUser user1 = getcurUser();
wzp's avatar
wzp committed
91 92 93 94 95 96
        TUser user = new TUser();
        if (StringUtils.isNotBlank(userName)) {
            user.setUserName(userName);
        }
        if (StringUtils.isNotBlank(type)) {
            user.setType(type);
wzp's avatar
wzp committed
97
            if (user1.getRoleList().size() > 0 && !user1.getRoleList().contains("1")) {
98 99
                //设置用户数据权限
                user.setOrgCode(user1.getOrgCode());
wzp's avatar
wzp committed
100
                if (user1.getRoleList().contains("3")) {
wzp's avatar
wzp committed
101 102
                    user.setOrgCode(null);
                }
103 104 105 106 107 108 109 110
            }
            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
111 112 113 114 115 116 117 118
        }
        if (StringUtils.isNotBlank(orgId)) {
            user.setOrgId(orgId);
        }
        if (StringUtils.isNotBlank(areaId)) {
            user.setAreaId(areaId);
        }
        if (StringUtils.isNotBlank(status)) {
wzp's avatar
wzp committed
119
            if (AuditOperationEnum.ENABLE.name().equals(status) || AuditOperationEnum.DISABLE.name().equals(status)) {
wzp's avatar
wzp committed
120
                user.setStatus(status);
liqin's avatar
liqin committed
121
            } else {
wzp's avatar
wzp committed
122 123 124
                user.setAuditStatus(status);
            }
        }
125

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

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

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

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

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

            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
257
            user.setStatus(AuditOperationEnum.ENABLE.name());
wzp's avatar
wzp committed
258
            user.setAuditStatus(AuditStatusEnum.APPROVED_FINAL.name());
wzp's avatar
wzp committed
259 260 261
            user.setIsDeleted(false);

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

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

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

wzp's avatar
wzp committed
274 275 276 277
            this.tUserRoleService.saveBatch(list1);

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

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

wzp's avatar
wzp committed
305
                if (StringUtils.isNoneBlank(user.getUserName().trim())) {
wzp's avatar
wzp committed
306 307 308 309 310 311
                    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
312 313
                    if (one != null && !one.getUserName().equals(tUser.getUserName())) {
                        resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
314 315 316
                        resultMap.put("message", "账号已存在!");
                        return resultMap;
                    }
wzp's avatar
wzp committed
317 318 319 320
                } else {
                    resultMap.put("resultCode", "400");
                    resultMap.put("message", "账号名不能为空!");
                    return resultMap;
wzp's avatar
wzp committed
321
                }
wzp's avatar
wzp committed
322
                if (StringUtils.isNoneBlank(user.getOrgId()) && StringUtils.isNoneBlank(user.getType()) && "3".equals(user.getType())) {
wzp's avatar
wzp committed
323 324 325 326 327
                    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
328 329
                    if (list != null && list.size() > 1 && list.get(0) != null) {
                        resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
330 331 332 333 334 335 336 337 338 339
                        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
340
                    TUser tUser = userService.getById(user.getId());
wzp's avatar
wzp committed
341
                    if (list.size() >= 3 && !tUser.getOrgId().equals(user.getOrgId())) {
wzp's avatar
wzp committed
342
                        resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
343 344 345
                        resultMap.put("message", "机构已存在三个单位管理员!");
                        return resultMap;
                    }
wzp's avatar
wzp committed
346
                }
wzp's avatar
wzp committed
347 348 349
//                user.setUserName(StringUtils.trimToNull(user.getUserName()));
//                user.setPassword(StringUtils.trimToNull(user.getPassword()));
//                user.setRealName(StringUtils.trimToNull(user.getRealName()));
wzp's avatar
wzp committed
350 351 352 353 354 355 356 357
                user.setUpdateTime(DateUtil80.getDateTimeOfTimestamp(System.currentTimeMillis()));
                ret = userService.updateById(user);
                //查询当前用户拥有的角色
                QueryWrapper<TUserRole> userRoleWrapper = new QueryWrapper<>();
                userRoleWrapper.eq("user_id", user.getId());
                boolean remove = tUserRoleService.remove(userRoleWrapper);


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

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

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

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

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

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

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

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

            boolean ret = this.userService.updateById(entity);
wzp's avatar
wzp committed
465 466 467 468 469 470 471
            //获取该用户的登陆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
472
                resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
473
                resultMap.put("message", "禁用失败");
wzp's avatar
wzp committed
474
                return resultMap;
wzp's avatar
wzp committed
475
            }
wzp's avatar
wzp committed
476
            resultMap.put("resultCode", "200");
wzp's avatar
wzp committed
477
            resultMap.put("message", "禁用成功");
wzp's avatar
wzp committed
478
            return resultMap;
wzp's avatar
wzp committed
479 480 481
        } catch (Exception e) {
            logger.error("禁用用户出错!", e);
        }
wzp's avatar
wzp committed
482
        return getFailResult();
wzp's avatar
wzp committed
483
    }
wzp's avatar
wzp committed
484 485
//
//    @PutMapping("/updateAuditStatus")
wzp's avatar
wzp committed
486
//    @RequiresAuthentication  //@RequiresAuthentication  //@RequiresPermissions("/user/updateAuditStatus")
wzp's avatar
wzp committed
487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512
//    @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
513

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

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

    @OperationLog("修改密码")
    @ApiOperation(value = "管理员更改自己的登录密码", notes = "管理员更改自己的登录密码")
    @RequestMapping(value = "/editPwd", method = RequestMethod.PUT)
wzp's avatar
wzp committed
546
    @RequiresAuthentication  //@RequiresAuthentication  //@RequiresPermissions("/user/editPwd")
wzp's avatar
wzp committed
547
    @MethodLog(operModule = OperModule.CHANGEPWD, operType = OperType.CHANGE_PASSWORD)
wzp's avatar
wzp committed
548 549
    public Map<String, Object> editPwd(@RequestParam(value = "oldPassWord") String oldPassWord,
                                       @RequestParam(value = "password") String password) {
wzp's avatar
wzp committed
550 551 552 553 554
        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
555 556 557 558
            if (StringUtils.isBlank(password.trim())) {
                resultMap.put("resultCode", "400");
                resultMap.put("message", "旧密码不正确");
            }
wzp's avatar
wzp committed
559 560 561 562 563
            //密码解密
            oldPassWord= AESUtils.aesDecrypt(oldPassWord);
            //密码解密
            password=AESUtils.aesDecrypt(password);

wzp's avatar
wzp committed
564 565 566 567 568 569
            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()));
570
                user.setPassword(password);
wzp's avatar
wzp committed
571 572 573
                ret = this.userService.updateById(user);
            } else {
                logger.error("旧密码不正确");
wzp's avatar
wzp committed
574
                resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
575
                resultMap.put("message", "旧密码不正确");
wzp's avatar
wzp committed
576
                return resultMap;
wzp's avatar
wzp committed
577 578
            }
            if (!ret) {
wzp's avatar
wzp committed
579
                resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
580 581
                resultMap.put("message", "修改失败");
                // 更新失败, 500
wzp's avatar
wzp committed
582
                return resultMap;
wzp's avatar
wzp committed
583
            }
wzp's avatar
wzp committed
584
            resultMap.put("resultCode", "200");
wzp's avatar
wzp committed
585
            resultMap.put("message", "修改成功");
wzp's avatar
wzp committed
586
            return resultMap;
wzp's avatar
wzp committed
587 588 589 590
        } catch (Exception e) {
            logger.error("更新密码错误!", e);
        }
        // 500
wzp's avatar
wzp committed
591
        resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
592
        resultMap.put("message", "修改失败");
wzp's avatar
wzp committed
593
        return resultMap;
wzp's avatar
wzp committed
594 595 596 597 598
    }

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

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

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

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

wzp's avatar
wzp committed
659 660 661 662 663 664
            if (StringUtils.isNoneBlank(user.getOrgId())) {
                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
665
                if (list != null && list.size() > 1 && list.get(0) != null) {
wzp's avatar
wzp committed
666
                    resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
667
                    resultMap.put("message", "该单位机顶盒账号已存在!");
wzp's avatar
wzp committed
668
                    return resultMap;
wzp's avatar
wzp committed
669 670
                }
            }
wzp's avatar
wzp committed
671 672
            TOrgan byId = organService.getById(user.getOrgId());
            user.setAreaId(byId.getAreaId());
wzp's avatar
wzp committed
673

wzp's avatar
wzp committed
674 675 676 677 678 679 680 681
            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
682
            user.setStatus(AuditOperationEnum.ENABLE.name());
wzp's avatar
wzp committed
683
            user.setAuditStatus(AuditStatusEnum.APPROVED_FINAL.name());
wzp's avatar
wzp committed
684 685
            user.setType("3");

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

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

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

wzp's avatar
wzp committed
723
            user.setPassword("gb123456");
wzp's avatar
wzp committed
724 725 726 727

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

            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
746
            user.setStatus(AuditOperationEnum.ENABLE.name());
wzp's avatar
wzp committed
747
            user.setAuditStatus(AuditStatusEnum.APPROVED_FINAL.name());
wzp's avatar
wzp committed
748 749 750
            user.setType("4");

            boolean ret = this.userService.save(user);
wzp's avatar
wzp committed
751 752 753 754 755 756
//
//            TUserRole userRole = new TUserRole();
//            userRole.setUserId(user.getId());
//            userRole.setRoleId("4");
//            userRole.setIsDeleted(false);
//            tUserRoleService.save(userRole);
wzp's avatar
wzp committed
757

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

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

wzp's avatar
wzp committed
793
            user.setPassword("gb123456");
wzp's avatar
wzp committed
794 795 796 797

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

            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
816
            user.setStatus(AuditOperationEnum.ENABLE.name());
wzp's avatar
wzp committed
817
            user.setAuditStatus(AuditStatusEnum.APPROVED_FINAL.name());
wzp's avatar
wzp committed
818 819 820 821
            user.setType("5");

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

wzp's avatar
wzp committed
822 823 824 825 826 827 828

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

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

wzp's avatar
wzp committed
848 849 850 851 852 853 854 855 856 857 858
    @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
859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876
                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
877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904

                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;
    }

905 906
}