|
@@ -2,6 +2,7 @@ package com.szwl.controller;
|
|
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.lang.UUID;
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
@@ -14,20 +15,26 @@ import com.szwl.manager.TokenManager;
|
|
|
import com.szwl.model.bo.R;
|
|
|
import com.szwl.model.bo.ResponseModel;
|
|
|
import com.szwl.model.bo.UserDetailBO;
|
|
|
+import com.szwl.model.entity.SysUserRole;
|
|
|
import com.szwl.model.entity.TAdmin;
|
|
|
import com.szwl.model.entity.TMessageCode;
|
|
|
+import com.szwl.model.param.AddLoginUserParam;
|
|
|
+import com.szwl.service.SysRoleService;
|
|
|
+import com.szwl.service.SysUserRoleService;
|
|
|
import com.szwl.service.TAdminService;
|
|
|
import com.szwl.service.TMessageCodeService;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.codec.digest.DigestUtils;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Optional;
|
|
|
+import javax.validation.Valid;
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
@@ -37,19 +44,57 @@ import java.util.Optional;
|
|
|
* @author wuhs
|
|
|
* @since 2022-04-14
|
|
|
*/
|
|
|
+@Slf4j
|
|
|
@Api(value = "/tAdmin", tags = {"账户"})
|
|
|
@RestController
|
|
|
@RequestMapping("/tAdmin")
|
|
|
public class TAdminController {
|
|
|
@Autowired
|
|
|
+ SysRoleService sysRoleService;
|
|
|
+ @Autowired
|
|
|
+ SysUserRoleService sysUserRoleService;
|
|
|
+ @Autowired
|
|
|
TokenManager tokenManager;
|
|
|
@Autowired
|
|
|
TAdminService tAdminService;
|
|
|
@Autowired
|
|
|
TMessageCodeService tMessageCodeService;
|
|
|
|
|
|
+ @ApiOperation(value = "添加账号")
|
|
|
+ @PostMapping("/addLoginUser")
|
|
|
+ @Transactional
|
|
|
+ @Audit(type = AuditEnum.INSERT,content = "#loginUser.name + '添加账号'")
|
|
|
+ public ResponseModel<?> addLoginUser(@RequestBody @Valid AddLoginUserParam param) {
|
|
|
+ //获取当前操作人员
|
|
|
+ UserDetailBO loginUser = tokenManager.getLoginUserDetails();
|
|
|
+ // 保存用户实体
|
|
|
+ Date now = new Date();
|
|
|
+ TAdmin entity = BeanUtil.copyProperties(param,TAdmin.class);
|
|
|
+ entity.setParentId(loginUser.getId());
|
|
|
+ entity.setIsAdmined(true);
|
|
|
+ entity.setCreateDate(now);
|
|
|
+ entity.setModifyDate(now);
|
|
|
+ entity.setIsLocked(false);
|
|
|
+ entity.setLoginFailureCount(0);
|
|
|
+
|
|
|
+ tAdminService.save(entity);
|
|
|
+ log.debug("添加账号 id:{},TAdmin:{}",entity.getId(),entity);
|
|
|
+ // 保存用户角色关系
|
|
|
+ List<SysUserRole> userRoleList = param.getRoleList()
|
|
|
+ .stream()
|
|
|
+ .map(e -> new SysUserRole().setRoleId(e).setUserId(String.valueOf(entity.getId())) )
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ if(CollUtil.isNotEmpty(userRoleList)){
|
|
|
+ sysUserRoleService.saveBatch(userRoleList);
|
|
|
+ }
|
|
|
+ return R.ok(entity);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
@ApiOperation(value = "注册")
|
|
|
@PostMapping("/save")
|
|
|
+ @Transactional
|
|
|
public ResponseModel<?> save(@RequestBody TAdmin admin) {
|
|
|
if(StringUtils.isEmpty(admin.getUsername())||StringUtils.isEmpty(admin.getName())||StringUtils.isEmpty(admin.getPassword())){
|
|
|
return R.fail(ResponseCodesEnum.A0100,"数据有空!");
|
|
@@ -138,8 +183,12 @@ public class TAdminController {
|
|
|
TAdmin tAdmin = Optional.ofNullable(tAdminService.getOnly(query))
|
|
|
.orElseThrow(() -> new BizException(ResponseCodesEnum.L0002));
|
|
|
UserDetailBO userDetailBO = BeanUtil.copyProperties(tAdmin,UserDetailBO.class);
|
|
|
+
|
|
|
String token = IdUtil.simpleUUID();
|
|
|
userDetailBO.setCurrentToken(token);
|
|
|
+ // 获取拥有的权限菜单
|
|
|
+ Set<String> menuList = sysRoleService.listAuthMenuByUserId(userDetailBO.getId());
|
|
|
+ userDetailBO.setMenuCodeList(CollUtil.newArrayList(menuList));
|
|
|
// 保存到redis
|
|
|
tokenManager.saveAuthentication(token,userDetailBO);
|
|
|
return R.ok(userDetailBO);
|