TUserController.java 39.3 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;
liqin's avatar
liqin committed
5
import cn.wisenergy.chnmuseum.party.common.enums.AuditOperationEnum;
6
import cn.wisenergy.chnmuseum.party.common.enums.AuditStatusEnum;
liqin's avatar
liqin committed
7
import cn.wisenergy.chnmuseum.party.common.enums.AuditTypeEnum;
8 9 10
import cn.wisenergy.chnmuseum.party.common.log.MethodLog;
import cn.wisenergy.chnmuseum.party.common.log.OperModule;
import cn.wisenergy.chnmuseum.party.common.log.OperType;
11
import cn.wisenergy.chnmuseum.party.common.util.DateUtil80;
wzp's avatar
wzp committed
12
import cn.wisenergy.chnmuseum.party.common.util.RandomUtil;
13
import cn.wisenergy.chnmuseum.party.core.annotations.OperationLog;
wzp's avatar
wzp committed
14
import cn.wisenergy.chnmuseum.party.model.*;
15
import cn.wisenergy.chnmuseum.party.service.RoleService;
16
import cn.wisenergy.chnmuseum.party.service.TUserRoleService;
liqin's avatar
liqin committed
17
import cn.wisenergy.chnmuseum.party.service.TUserService;
wzp's avatar
wzp committed
18
import cn.wisenergy.chnmuseum.party.service.impl.AuditServiceImpl;
wzp's avatar
wzp committed
19
import cn.wisenergy.chnmuseum.party.service.impl.TBoxOperationServiceImpl;
liqin's avatar
liqin committed
20
import cn.wisenergy.chnmuseum.party.web.controller.base.BaseController;
21
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
wzp's avatar
wzp committed
22
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
23 24 25 26 27 28 29
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
30
import org.apache.shiro.authz.annotation.RequiresAuthentication;
31 32 33 34 35
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.*;
36

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

    @Resource
    private TUserRoleService tUserRoleService;

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

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

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

wzp's avatar
wzp committed
70 71 72 73 74 75
    @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
76 77 78 79 80 81
    @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
82
    @RequiresAuthentication  //@RequiresPermissions("/user/getPageList")
wzp's avatar
wzp committed
83
    @MethodLog(operModule = OperModule.USER, operType = OperType.SELECT)
wzp's avatar
wzp committed
84
    public Map<String, Object> getPageList(String type, String userName, String status, String orgId, String areaId) {
wzp's avatar
wzp committed
85
        TUser user1 = getcurUser();
wzp's avatar
wzp committed
86 87 88 89 90 91
        TUser user = new TUser();
        if (StringUtils.isNotBlank(userName)) {
            user.setUserName(userName);
        }
        if (StringUtils.isNotBlank(type)) {
            user.setType(type);
wzp's avatar
wzp committed
92
            if (!"4".equals(type)) {
93 94 95
                //设置用户数据权限
                user.setOrgCode(user1.getOrgCode());
            }
wzp's avatar
wzp committed
96 97 98 99
            if ("4".equals(type)) {
                //设置用户数据权限
                user.setAreaName(TBoxOperationController.getAreaId(user1.getAreaId()));
            }
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);
141 142
                if (!"4".equals(type) && !"5".equals(type)) {
                    //设置用户数据权限
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("123456");
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", "500");
wzp's avatar
wzp committed
239
                    resultMap.put("message", "账号已存在!");
wzp's avatar
wzp committed
240
                    return resultMap;
wzp's avatar
wzp committed
241 242 243 244 245 246 247 248 249 250
                }
            }

            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
251
            user.setStatus(AuditOperationEnum.ENABLE.name());
wzp's avatar
wzp committed
252
            user.setAuditStatus(AuditStatusEnum.APPROVED_FINAL.name());
wzp's avatar
wzp committed
253 254 255
            user.setIsDeleted(false);

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

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

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

wzp's avatar
wzp committed
268 269 270 271
            this.tUserRoleService.saveBatch(list1);

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

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

wzp's avatar
wzp committed
299
                if (StringUtils.isNoneBlank(user.getUserName().trim())) {
wzp's avatar
wzp committed
300 301 302 303 304 305
                    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
306 307
                    if (one != null && !one.getUserName().equals(tUser.getUserName())) {
                        resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
308 309 310
                        resultMap.put("message", "账号已存在!");
                        return resultMap;
                    }
wzp's avatar
wzp committed
311 312 313 314
                } else {
                    resultMap.put("resultCode", "400");
                    resultMap.put("message", "账号名不能为空!");
                    return resultMap;
wzp's avatar
wzp committed
315
                }
wzp's avatar
wzp committed
316
                if (StringUtils.isNoneBlank(user.getOrgId()) && StringUtils.isNoneBlank(user.getType()) && "3".equals(user.getType())) {
wzp's avatar
wzp committed
317 318 319 320 321
                    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
322 323
                    if (list != null && list.size() > 1 && list.get(0) != null) {
                        resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
324 325 326 327 328 329 330 331 332 333 334
                        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);
                    if (list.size() >= 3) {
wzp's avatar
wzp committed
335
                        resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
336 337 338
                        resultMap.put("message", "机构已存在三个单位管理员!");
                        return resultMap;
                    }
wzp's avatar
wzp committed
339
                }
wzp's avatar
wzp committed
340 341 342
//                user.setUserName(StringUtils.trimToNull(user.getUserName()));
//                user.setPassword(StringUtils.trimToNull(user.getPassword()));
//                user.setRealName(StringUtils.trimToNull(user.getRealName()));
wzp's avatar
wzp committed
343 344 345 346 347 348 349 350
                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
351
                List<String> list = user.getRoleList();
wzp's avatar
wzp committed
352
                if (list != null && list.size() > 0 && list.get(0) != null) {
wzp's avatar
wzp committed
353
                    ArrayList<TUserRole> list1 = new ArrayList<>();
wzp's avatar
wzp committed
354
                    for (String r : list) {
wzp's avatar
wzp committed
355 356
                        TUserRole userRole = new TUserRole();
                        userRole.setUserId(user.getId());
wzp's avatar
wzp committed
357
                        userRole.setRoleId(r);
wzp's avatar
wzp committed
358 359 360 361 362 363 364 365
                        userRole.setIsDeleted(false);
                        list1.add(userRole);
                    }

                    ret = this.tUserRoleService.saveBatch(list1);
                }
            } else {
                // 更新失败, 400
wzp's avatar
wzp committed
366
                resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
367
                resultMap.put("message", "请选择用户");
wzp's avatar
wzp committed
368
                return resultMap;
wzp's avatar
wzp committed
369 370 371 372
            }

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

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

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

            if (!ret1 || !ret2) {
wzp's avatar
wzp committed
414
                resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
415 416 417
                resultMap.put("message", "删除失败");
                return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(resultMap);
            }
wzp's avatar
wzp committed
418
            resultMap.put("resultCode", "200");
wzp's avatar
wzp committed
419
            resultMap.put("message", "删除成功");
wzp's avatar
wzp committed
420
            return ResponseEntity.ok(resultMap);
wzp's avatar
wzp committed
421 422 423 424 425 426 427 428 429
        } catch (Exception e) {
            logger.error("删除用户出错!", e);
        }
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
    }

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

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

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

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

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

    @OperationLog("修改密码")
    @ApiOperation(value = "管理员更改自己的登录密码", notes = "管理员更改自己的登录密码")
    @RequestMapping(value = "/editPwd", method = RequestMethod.PUT)
wzp's avatar
wzp committed
539
    @RequiresAuthentication  //@RequiresAuthentication  //@RequiresPermissions("/user/editPwd")
wzp's avatar
wzp committed
540
    @MethodLog(operModule = OperModule.CHANGEPWD, operType = OperType.CHANGE_PASSWORD)
liqin's avatar
liqin committed
541 542
    public ResponseEntity<Map<String, Object>> editPwd(@RequestParam(value = "oldPassWord") String oldPassWord,
                                                       @RequestParam(value = "password") String password) {
wzp's avatar
wzp committed
543 544 545 546 547 548 549 550 551 552 553
        Map<String, Object> resultMap = new LinkedHashMap<String, Object>();
        try {
            boolean ret = false;
            TUser user = this.userService.getById(this.getUserId());
            byte[] salt = user.getPasswordSalt();
            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()));
554
                user.setPassword(password);
wzp's avatar
wzp committed
555 556 557
                ret = this.userService.updateById(user);
            } else {
                logger.error("旧密码不正确");
wzp's avatar
wzp committed
558
                resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
559 560 561 562
                resultMap.put("message", "旧密码不正确");
                return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(resultMap);
            }
            if (!ret) {
wzp's avatar
wzp committed
563
                resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
564 565 566 567
                resultMap.put("message", "修改失败");
                // 更新失败, 500
                return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(resultMap);
            }
wzp's avatar
wzp committed
568
            resultMap.put("resultCode", "200");
wzp's avatar
wzp committed
569
            resultMap.put("message", "修改成功");
wzp's avatar
wzp committed
570
            return ResponseEntity.ok(resultMap);
wzp's avatar
wzp committed
571 572 573 574
        } catch (Exception e) {
            logger.error("更新密码错误!", e);
        }
        // 500
wzp's avatar
wzp committed
575
        resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
576 577 578 579 580 581 582
        resultMap.put("message", "修改失败");
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(resultMap);
    }

    @OperationLog("重置密码")
    @ApiOperation(value = "管理员重置密码", notes = "管理员重置密码")
    @RequestMapping(value = "/resetPassword", method = RequestMethod.PUT)
wzp's avatar
wzp committed
583
    @RequiresAuthentication//@RequiresPermissions("/user/resetPassword")
wzp's avatar
wzp committed
584
    @MethodLog(operModule = OperModule.USER, operType = OperType.RESET_PASSWORD)
wzp's avatar
wzp committed
585
    public ResponseEntity<Map<Object, Object>> resetPassword(String userId) {
wzp's avatar
wzp committed
586
        try {
wzp's avatar
wzp committed
587
            Map<Object, Object> map = new LinkedHashMap<>();
wzp's avatar
wzp committed
588 589 590 591 592 593 594
            TUser user = new TUser();
            user.setId(userId);
            String newPassword = "123456";
            byte[] passwordSalt = SecureRandomSaltService.generateSalt();
            byte[] passwordHash = SHA256PasswordEncryptionService.createPasswordHash(newPassword, passwordSalt);
            user.setPasswordSalt(passwordSalt);
            user.setPasswordHash(passwordHash);
595
            user.setPassword(newPassword);
wzp's avatar
wzp committed
596 597 598 599 600 601
            user.setUpdateTime(DateUtil80.getDateTimeOfTimestamp(System.currentTimeMillis()));
            boolean ret = userService.updateById(user);
            if (!ret) {
                return ResponseEntity.status(HttpStatus.BAD_REQUEST).build();
            }
            stringRedisTemplate.delete(SHIRO_IS_LOCK + userService.getById(userId).getUserName());
wzp's avatar
wzp committed
602
            map.put("resultCode", "200");
wzp's avatar
wzp committed
603
            map.put("message", "重置密码成功");
wzp's avatar
wzp committed
604
            map.put("data", newPassword);
wzp's avatar
wzp committed
605
            return ResponseEntity.ok(map);
wzp's avatar
wzp committed
606 607 608 609 610 611
        } catch (Exception e) {
            logger.error("重置密码出错!", e);
        }
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
    }

wzp's avatar
wzp committed
612 613
    @OperationLog("新增机顶盒账号")
    @ApiOperation(value = "新增机顶盒账号")
wzp's avatar
wzp committed
614
    @RequestMapping(value = "/boxAdd", method = RequestMethod.POST)
wzp's avatar
wzp committed
615
    @RequiresAuthentication  //@RequiresPermissions("/user/boxAdd")
wzp's avatar
wzp committed
616
    @MethodLog(operModule = OperModule.STBBASE, operType = OperType.ADD)
wzp's avatar
wzp committed
617 618 619 620
    public ResponseEntity<Map<String, Object>> BoxAdd(TUser user) {
        Map<String, Object> resultMap = new LinkedHashMap<String, Object>();
        try {
            if (StringUtils.isBlank(user.getUserName())) {
wzp's avatar
wzp committed
621
                resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
622 623 624 625 626 627
                resultMap.put("message", "账号不能为空!");
                return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(resultMap);
            } else {
                user.setUserName(StringUtils.trimToNull(user.getUserName()));
            }

wzp's avatar
wzp committed
628
            user.setPassword(RandomUtil.createLetterRandom(6));
wzp's avatar
wzp committed
629 630 631 632

            QueryWrapper<TUser> ew = new QueryWrapper<>();
            if (StringUtils.isNoneBlank(user.getUserName())) {
                user.setUserName(user.getUserName().trim());
wzp's avatar
wzp committed
633
                ew.eq("is_deleted", false);
wzp's avatar
wzp committed
634 635 636
                ew.eq("user_name", user.getUserName());
                TUser one = this.userService.getOne(ew);
                if (one != null) {
wzp's avatar
wzp committed
637
                    resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
638 639 640 641 642
                    resultMap.put("message", "账号已存在!");
                    return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(resultMap);
                }
            }

wzp's avatar
wzp committed
643 644 645 646 647 648
            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
649
                if (list != null && list.size() > 1 && list.get(0) != null) {
wzp's avatar
wzp committed
650
                    resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
651
                    resultMap.put("message", "该单位机顶盒账号已存在!");
wzp's avatar
wzp committed
652 653 654 655
                    return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(resultMap);
                }
            }

wzp's avatar
wzp committed
656 657 658 659 660 661 662 663
            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
664
            user.setStatus(AuditOperationEnum.ENABLE.name());
wzp's avatar
wzp committed
665
            user.setAuditStatus(AuditStatusEnum.APPROVED_FINAL.name());
wzp's avatar
wzp committed
666 667
            user.setType("3");

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

wzp's avatar
wzp committed
670 671
            if (!ret) {
                // 新增失败, 500
wzp's avatar
wzp committed
672
                resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
673 674 675 676
                resultMap.put("message", "服务器忙");
                return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
                        .body(resultMap);
            }
wzp's avatar
wzp committed
677
            resultMap.put("resultCode", "200");
wzp's avatar
wzp committed
678 679 680
            resultMap.put("message", "添加成功");
            resultMap.put("data", user.getPassword());
            // 201
wzp's avatar
wzp committed
681
            return ResponseEntity.ok(resultMap);
wzp's avatar
wzp committed
682
        } catch (Exception e) {
wzp's avatar
wzp committed
683
            resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
684 685 686 687 688 689
            resultMap.put("message", "服务器忙");
            logger.error("新增成员错误!", e);
        }
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(resultMap);
    }

wzp's avatar
wzp committed
690 691 692
    @OperationLog("新增运维账号")
    @ApiOperation(value = "新增运维账号")
    @RequestMapping(value = "/operationAdd", method = RequestMethod.POST)
wzp's avatar
wzp committed
693
    @RequiresAuthentication   //@RequiresPermissions("/user/operationAdd")
wzp's avatar
wzp committed
694
    @MethodLog(operModule = OperModule.STBACCOUNT, operType = OperType.ADD)
wzp's avatar
wzp committed
695 696 697 698
    public ResponseEntity<Map<String, Object>> operationAdd(TUser user) {
        Map<String, Object> resultMap = new LinkedHashMap<String, Object>();
        try {
            if (StringUtils.isBlank(user.getUserName())) {
wzp's avatar
wzp committed
699
                resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
700 701 702 703 704 705 706 707 708 709 710
                resultMap.put("message", "账号不能为空!");
                return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(resultMap);
            } else {
                user.setUserName(StringUtils.trimToNull(user.getUserName()));
            }

            user.setPassword("123456");

            QueryWrapper<TUser> ew = new QueryWrapper<>();
            if (StringUtils.isNoneBlank(user.getUserName())) {
                user.setUserName(user.getUserName().trim());
wzp's avatar
wzp committed
711
                ew.eq("is_deleted", false);
wzp's avatar
wzp committed
712 713 714
                ew.eq("user_name", user.getUserName());
                TUser one = this.userService.getOne(ew);
                if (one != null) {
wzp's avatar
wzp committed
715
                    resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
716 717 718 719 720 721 722 723 724 725 726 727 728
                    resultMap.put("message", "账号已存在!");
                    return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(resultMap);
                }
            }

            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
729
            user.setStatus(AuditOperationEnum.ENABLE.name());
wzp's avatar
wzp committed
730
            user.setAuditStatus(AuditStatusEnum.APPROVED_FINAL.name());
wzp's avatar
wzp committed
731 732 733
            user.setType("4");

            boolean ret = this.userService.save(user);
wzp's avatar
wzp committed
734 735 736 737 738 739
//
//            TUserRole userRole = new TUserRole();
//            userRole.setUserId(user.getId());
//            userRole.setRoleId("4");
//            userRole.setIsDeleted(false);
//            tUserRoleService.save(userRole);
wzp's avatar
wzp committed
740

wzp's avatar
wzp committed
741 742
            if (!ret) {
                // 新增失败, 500
wzp's avatar
wzp committed
743
                resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
744 745 746 747
                resultMap.put("message", "服务器忙");
                return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
                        .body(resultMap);
            }
wzp's avatar
wzp committed
748
            resultMap.put("resultCode", "200");
wzp's avatar
wzp committed
749 750 751
            resultMap.put("message", "添加成功");
            resultMap.put("data", user.getPassword());
            // 201
wzp's avatar
wzp committed
752
            return ResponseEntity.ok(resultMap);
wzp's avatar
wzp committed
753
        } catch (Exception e) {
wzp's avatar
wzp committed
754
            resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
755 756 757 758 759 760 761
            resultMap.put("message", "服务器忙");
            logger.error("新增成员错误!", e);
        }
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(resultMap);
    }

    @OperationLog("新增统计账号")
wzp's avatar
wzp committed
762
    @ApiOperation(value = "新增统计账号")
wzp's avatar
wzp committed
763
    @RequestMapping(value = "/statisticsAdd", method = RequestMethod.POST)
wzp's avatar
wzp committed
764
    @RequiresAuthentication  //@RequiresPermissions("/user/statisticsAdd")
wzp's avatar
wzp committed
765
    @MethodLog(operModule = OperModule.STATISTICALUSER, operType = OperType.ADD)
wzp's avatar
wzp committed
766 767 768 769
    public ResponseEntity<Map<String, Object>> statisticsAdd(TUser user) {
        Map<String, Object> resultMap = new LinkedHashMap<String, Object>();
        try {
            if (StringUtils.isBlank(user.getUserName())) {
wzp's avatar
wzp committed
770
                resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
771 772 773 774 775 776 777 778 779 780 781
                resultMap.put("message", "账号不能为空!");
                return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(resultMap);
            } else {
                user.setUserName(StringUtils.trimToNull(user.getUserName()));
            }

            user.setPassword("123456");

            QueryWrapper<TUser> ew = new QueryWrapper<>();
            if (StringUtils.isNoneBlank(user.getUserName())) {
                user.setUserName(user.getUserName().trim());
wzp's avatar
wzp committed
782
                ew.eq("is_deleted", false);
wzp's avatar
wzp committed
783 784 785
                ew.eq("user_name", user.getUserName());
                TUser one = this.userService.getOne(ew);
                if (one != null) {
wzp's avatar
wzp committed
786
                    resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
787 788 789 790 791 792 793 794 795 796 797 798 799
                    resultMap.put("message", "账号已存在!");
                    return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(resultMap);
                }
            }

            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
800
            user.setStatus(AuditOperationEnum.ENABLE.name());
wzp's avatar
wzp committed
801
            user.setAuditStatus(AuditStatusEnum.APPROVED_FINAL.name());
wzp's avatar
wzp committed
802 803 804 805
            user.setType("5");

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

wzp's avatar
wzp committed
806 807 808 809 810 811 812

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

wzp's avatar
wzp committed
813 814
            if (!ret) {
                // 新增失败, 500
wzp's avatar
wzp committed
815
                resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
816 817 818 819
                resultMap.put("message", "服务器忙");
                return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
                        .body(resultMap);
            }
wzp's avatar
wzp committed
820
            resultMap.put("resultCode", "200");
wzp's avatar
wzp committed
821 822 823
            resultMap.put("message", "添加成功");
            resultMap.put("data", user.getPassword());
            // 201
wzp's avatar
wzp committed
824
            return ResponseEntity.ok(resultMap);
wzp's avatar
wzp committed
825
        } catch (Exception e) {
wzp's avatar
wzp committed
826
            resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
827 828 829 830 831 832
            resultMap.put("message", "服务器忙");
            logger.error("新增成员错误!", e);
        }
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(resultMap);
    }

wzp's avatar
wzp committed
833 834 835 836 837 838 839 840 841 842 843
    @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
844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861
                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
862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889

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

890 891
}