TUserController.java 39.2 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 (user1.getRoleList().size()>0&&!user1.getRoleList().contains("1")) {
93 94 95 96 97 98 99 100 101 102
                //设置用户数据权限
                user.setOrgCode(user1.getOrgCode());
            }
            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
103 104 105 106 107 108 109 110
        }
        if (StringUtils.isNotBlank(orgId)) {
            user.setOrgId(orgId);
        }
        if (StringUtils.isNotBlank(areaId)) {
            user.setAreaId(areaId);
        }
        if (StringUtils.isNotBlank(status)) {
wzp's avatar
wzp committed
111
            if (AuditOperationEnum.ENABLE.name().equals(status) || AuditOperationEnum.DISABLE.name().equals(status)) {
wzp's avatar
wzp committed
112
                user.setStatus(status);
liqin's avatar
liqin committed
113
            } else {
wzp's avatar
wzp committed
114 115 116
                user.setAuditStatus(status);
            }
        }
117

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

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

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

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

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

            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
247
            user.setStatus(AuditOperationEnum.ENABLE.name());
wzp's avatar
wzp committed
248
            user.setAuditStatus(AuditStatusEnum.APPROVED_FINAL.name());
wzp's avatar
wzp committed
249 250 251
            user.setIsDeleted(false);

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

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

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

wzp's avatar
wzp committed
264 265 266 267
            this.tUserRoleService.saveBatch(list1);

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

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

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

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

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

    @OperationLog("删除成员")
    @ApiOperation(value = "删除成员")
    @DeleteMapping(value = "/delete")
wzp's avatar
wzp committed
389
    @RequiresAuthentication  //@RequiresPermissions("/user/delete")
wzp's avatar
wzp committed
390 391 392 393 394
    @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
395
                resultMap.put("status", "400");
wzp's avatar
wzp committed
396 397 398 399 400 401 402
                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
403
            boolean ret1 = this.userService.removeById(entity);
wzp's avatar
wzp committed
404 405 406 407 408 409

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

            if (!ret1 || !ret2) {
wzp's avatar
wzp committed
410
                resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
411 412 413
                resultMap.put("message", "删除失败");
                return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(resultMap);
            }
wzp's avatar
wzp committed
414
            resultMap.put("resultCode", "200");
wzp's avatar
wzp committed
415
            resultMap.put("message", "删除成功");
wzp's avatar
wzp committed
416
            return ResponseEntity.ok(resultMap);
wzp's avatar
wzp committed
417 418 419 420 421 422 423 424 425
        } 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
426
    @RequiresAuthentication  //@RequiresPermissions("/user/disable")
wzp's avatar
wzp committed
427 428 429 430 431 432
    @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
433
            //提交禁用审核,没有真正禁用
wzp's avatar
wzp committed
434 435
            String code = AuditStatusEnum.TBC.name();
            entity.setAuditStatus(code);
wzp's avatar
wzp committed
436 437
            entity.setUpdateTime(DateUtil80.getDateTimeOfTimestamp(System.currentTimeMillis()));

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

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

wzp's avatar
wzp committed
503 504 505
    @OperationLog("启用成员")
    @ApiOperation(value = "启用")
    @RequestMapping(value = "/enable", method = RequestMethod.PUT)
wzp's avatar
wzp committed
506
    @RequiresAuthentication  //@RequiresPermissions("/user/enable")
liqin's avatar
liqin committed
507
    @MethodLog(operModule = OperModule.USER, operType = OperType.ENABLE)
wzp's avatar
wzp committed
508 509 510 511 512 513
    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
514
            entity.setStatus(AuditOperationEnum.ENABLE.name());
wzp's avatar
wzp committed
515
            entity.setAuditStatus(AuditStatusEnum.APPROVED_FINAL.name());
wzp's avatar
wzp committed
516 517 518
            entity.setUpdateTime(DateUtil80.getDateTimeOfTimestamp(System.currentTimeMillis()));
            boolean ret = this.userService.updateById(entity);
            if (!ret) {
wzp's avatar
wzp committed
519
                map.put("resultCode", "500");
wzp's avatar
wzp committed
520 521 522
                map.put("message", "服务器错误");
                return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(map);
            }
wzp's avatar
wzp committed
523
            map.put("resultCode", "200");
wzp's avatar
wzp committed
524
            map.put("message", "启用成功");
wzp's avatar
wzp committed
525
            return ResponseEntity.ok(map);
wzp's avatar
wzp committed
526 527 528
        } catch (Exception e) {
            logger.error("用户启用出错!", e);
        }
liqin's avatar
liqin committed
529
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
wzp's avatar
wzp committed
530 531 532 533 534
    }

    @OperationLog("修改密码")
    @ApiOperation(value = "管理员更改自己的登录密码", notes = "管理员更改自己的登录密码")
    @RequestMapping(value = "/editPwd", method = RequestMethod.PUT)
wzp's avatar
wzp committed
535
    @RequiresAuthentication  //@RequiresAuthentication  //@RequiresPermissions("/user/editPwd")
wzp's avatar
wzp committed
536
    @MethodLog(operModule = OperModule.CHANGEPWD, operType = OperType.CHANGE_PASSWORD)
liqin's avatar
liqin committed
537 538
    public ResponseEntity<Map<String, Object>> editPwd(@RequestParam(value = "oldPassWord") String oldPassWord,
                                                       @RequestParam(value = "password") String password) {
wzp's avatar
wzp committed
539 540 541 542 543 544 545 546 547 548 549
        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()));
550
                user.setPassword(password);
wzp's avatar
wzp committed
551 552 553
                ret = this.userService.updateById(user);
            } else {
                logger.error("旧密码不正确");
wzp's avatar
wzp committed
554
                resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
555 556 557 558
                resultMap.put("message", "旧密码不正确");
                return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(resultMap);
            }
            if (!ret) {
wzp's avatar
wzp committed
559
                resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
560 561 562 563
                resultMap.put("message", "修改失败");
                // 更新失败, 500
                return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(resultMap);
            }
wzp's avatar
wzp committed
564
            resultMap.put("resultCode", "200");
wzp's avatar
wzp committed
565
            resultMap.put("message", "修改成功");
wzp's avatar
wzp committed
566
            return ResponseEntity.ok(resultMap);
wzp's avatar
wzp committed
567 568 569 570
        } catch (Exception e) {
            logger.error("更新密码错误!", e);
        }
        // 500
wzp's avatar
wzp committed
571
        resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
572 573 574 575 576 577 578
        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
579
    @RequiresAuthentication//@RequiresPermissions("/user/resetPassword")
wzp's avatar
wzp committed
580
    @MethodLog(operModule = OperModule.USER, operType = OperType.RESET_PASSWORD)
wzp's avatar
wzp committed
581
    public ResponseEntity<Map<Object, Object>> resetPassword(String userId) {
wzp's avatar
wzp committed
582
        try {
wzp's avatar
wzp committed
583
            Map<Object, Object> map = new LinkedHashMap<>();
wzp's avatar
wzp committed
584 585 586 587 588 589 590
            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);
591
            user.setPassword(newPassword);
wzp's avatar
wzp committed
592 593 594 595 596 597
            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
598
            map.put("resultCode", "200");
wzp's avatar
wzp committed
599
            map.put("message", "重置密码成功");
wzp's avatar
wzp committed
600
            map.put("data", newPassword);
wzp's avatar
wzp committed
601
            return ResponseEntity.ok(map);
wzp's avatar
wzp committed
602 603 604 605 606 607
        } catch (Exception e) {
            logger.error("重置密码出错!", e);
        }
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
    }

wzp's avatar
wzp committed
608 609
    @OperationLog("新增机顶盒账号")
    @ApiOperation(value = "新增机顶盒账号")
wzp's avatar
wzp committed
610
    @RequestMapping(value = "/boxAdd", method = RequestMethod.POST)
wzp's avatar
wzp committed
611
    @RequiresAuthentication  //@RequiresPermissions("/user/boxAdd")
wzp's avatar
wzp committed
612
    @MethodLog(operModule = OperModule.STBBASE, operType = OperType.ADD)
wzp's avatar
wzp committed
613 614 615 616
    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
617
                resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
618 619 620 621 622 623
                resultMap.put("message", "账号不能为空!");
                return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(resultMap);
            } else {
                user.setUserName(StringUtils.trimToNull(user.getUserName()));
            }

wzp's avatar
wzp committed
624
            user.setPassword(RandomUtil.createLetterRandom(6));
wzp's avatar
wzp committed
625 626 627 628

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

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

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

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

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

wzp's avatar
wzp committed
686 687 688
    @OperationLog("新增运维账号")
    @ApiOperation(value = "新增运维账号")
    @RequestMapping(value = "/operationAdd", method = RequestMethod.POST)
wzp's avatar
wzp committed
689
    @RequiresAuthentication   //@RequiresPermissions("/user/operationAdd")
wzp's avatar
wzp committed
690
    @MethodLog(operModule = OperModule.STBACCOUNT, operType = OperType.ADD)
wzp's avatar
wzp committed
691 692 693 694
    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
695
                resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
696 697 698 699 700 701 702 703 704 705 706
                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
707
                ew.eq("is_deleted", false);
wzp's avatar
wzp committed
708 709 710
                ew.eq("user_name", user.getUserName());
                TUser one = this.userService.getOne(ew);
                if (one != null) {
wzp's avatar
wzp committed
711
                    resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
712 713 714 715 716 717 718 719 720 721 722 723 724
                    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
725
            user.setStatus(AuditOperationEnum.ENABLE.name());
wzp's avatar
wzp committed
726
            user.setAuditStatus(AuditStatusEnum.APPROVED_FINAL.name());
wzp's avatar
wzp committed
727 728 729
            user.setType("4");

            boolean ret = this.userService.save(user);
wzp's avatar
wzp committed
730 731 732 733 734 735
//
//            TUserRole userRole = new TUserRole();
//            userRole.setUserId(user.getId());
//            userRole.setRoleId("4");
//            userRole.setIsDeleted(false);
//            tUserRoleService.save(userRole);
wzp's avatar
wzp committed
736

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

    @OperationLog("新增统计账号")
wzp's avatar
wzp committed
758
    @ApiOperation(value = "新增统计账号")
wzp's avatar
wzp committed
759
    @RequestMapping(value = "/statisticsAdd", method = RequestMethod.POST)
wzp's avatar
wzp committed
760
    @RequiresAuthentication  //@RequiresPermissions("/user/statisticsAdd")
wzp's avatar
wzp committed
761
    @MethodLog(operModule = OperModule.STATISTICALUSER, operType = OperType.ADD)
wzp's avatar
wzp committed
762 763 764 765
    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
766
                resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
767 768 769 770 771 772 773 774 775 776 777
                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
778
                ew.eq("is_deleted", false);
wzp's avatar
wzp committed
779 780 781
                ew.eq("user_name", user.getUserName());
                TUser one = this.userService.getOne(ew);
                if (one != null) {
wzp's avatar
wzp committed
782
                    resultMap.put("resultCode", "500");
wzp's avatar
wzp committed
783 784 785 786 787 788 789 790 791 792 793 794 795
                    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
796
            user.setStatus(AuditOperationEnum.ENABLE.name());
wzp's avatar
wzp committed
797
            user.setAuditStatus(AuditStatusEnum.APPROVED_FINAL.name());
wzp's avatar
wzp committed
798 799 800 801
            user.setType("5");

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

wzp's avatar
wzp committed
802 803 804 805 806 807 808

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

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

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

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

886 887
}