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

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

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

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

    @Resource
    private TUserService userService;

wzp's avatar
wzp committed
60 61 62
    @Resource
    private TOrganServiceImpl organService;

63 64 65
    @Resource
    private TUserRoleService tUserRoleService;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


wzp's avatar
wzp committed
354
                List<String> list = user.getRoleList();
wzp's avatar
wzp committed
355 356 357 358 359 360 361

                if (null != list && list.size()>0&&list.get(0)!=null) {
                    //查询当前用户拥有的角色
                    QueryWrapper<TUserRole> userRoleWrapper = new QueryWrapper<>();
                    userRoleWrapper.eq("user_id", user.getId());
                    boolean remove = tUserRoleService.remove(userRoleWrapper);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

wzp's avatar
wzp committed
652
            user.setPassword(RandomUtil.createLetterRandom(6));
wzp's avatar
wzp committed
653

wzp's avatar
wzp committed
654

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

wzp's avatar
wzp committed
668
            if (StringUtils.isNoneBlank(user.getOrgId())) {
wzp's avatar
wzp committed
669
                QueryWrapper<TUser> ew = new QueryWrapper<>();
wzp's avatar
wzp committed
670 671 672 673 674
                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
675
                if (list != null && list.size()>0&&list.get(0)!=null) {
wzp's avatar
wzp committed
676
                    resultMap.put("resultCode", "400");
wzp's avatar
wzp committed
677
                    resultMap.put("message", "该单位机顶盒账号已存在!");
wzp's avatar
wzp committed
678
                    return resultMap;
wzp's avatar
wzp committed
679 680
                }
            }
wzp's avatar
wzp committed
681 682
            TOrgan byId = organService.getById(user.getOrgId());
            user.setAreaId(byId.getAreaId());
wzp's avatar
wzp committed
683

wzp's avatar
wzp committed
684 685 686 687 688 689 690 691
            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
692
            user.setStatus(AuditOperationEnum.ENABLE.name());
wzp's avatar
wzp committed
693
            user.setAuditStatus(AuditStatusEnum.APPROVED_FINAL.name());
wzp's avatar
wzp committed
694 695
            user.setType("3");

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

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

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

wzp's avatar
wzp committed
733
            user.setPassword("gb123456");
wzp's avatar
wzp committed
734 735 736 737

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

            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
756
            user.setStatus(AuditOperationEnum.ENABLE.name());
wzp's avatar
wzp committed
757
            user.setAuditStatus(AuditStatusEnum.APPROVED_FINAL.name());
wzp's avatar
wzp committed
758 759 760
            user.setType("4");

            boolean ret = this.userService.save(user);
wzp's avatar
wzp committed
761 762 763 764 765 766
//
//            TUserRole userRole = new TUserRole();
//            userRole.setUserId(user.getId());
//            userRole.setRoleId("4");
//            userRole.setIsDeleted(false);
//            tUserRoleService.save(userRole);
wzp's avatar
wzp committed
767

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

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

wzp's avatar
wzp committed
803
            user.setPassword("gb123456");
wzp's avatar
wzp committed
804 805 806 807

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

            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
826
            user.setStatus(AuditOperationEnum.ENABLE.name());
wzp's avatar
wzp committed
827
            user.setAuditStatus(AuditStatusEnum.APPROVED_FINAL.name());
wzp's avatar
wzp committed
828 829 830 831
            user.setType("5");

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

wzp's avatar
wzp committed
832 833 834 835 836 837 838

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

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

wzp's avatar
wzp committed
858 859 860 861 862 863 864 865 866 867 868
    @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
869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886
                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
887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914

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

915 916
}