diff --git a/ad-platform-auth/src/main/java/com/baiye/config/AuthServerConfig.java b/ad-platform-auth/src/main/java/com/baiye/config/AuthServerConfig.java index 8d807e67..b1966028 100644 --- a/ad-platform-auth/src/main/java/com/baiye/config/AuthServerConfig.java +++ b/ad-platform-auth/src/main/java/com/baiye/config/AuthServerConfig.java @@ -189,6 +189,7 @@ public class AuthServerConfig extends AuthorizationServerConfigurerAdapter { .collect(Collectors.joining(",")); Map additionalInformation = new LinkedHashMap<>(16); additionalInformation.put(SecurityConstants.DETAILS_USER_ID, user.getUser().getId()); + additionalInformation.put(SecurityConstants.USER_ROLE_LIST, user.getRoles()); additionalInformation.put(SecurityConstants.DETAILS_USER, JSONUtil.toJsonStr(user.getUser())); additionalInformation.put(SecurityConstants.DETAILS_USERNAME, user.getUser().getUsername()); additionalInformation.put(SecurityConstants.DATA_SCOPES, user.getDataScopes()); diff --git a/ad-platform-common/ad-platform-common-core/src/main/java/com/baiye/constant/SecurityConstants.java b/ad-platform-common/ad-platform-common-core/src/main/java/com/baiye/constant/SecurityConstants.java index 402e75b9..ef3d69da 100644 --- a/ad-platform-common/ad-platform-common-core/src/main/java/com/baiye/constant/SecurityConstants.java +++ b/ad-platform-common/ad-platform-common-core/src/main/java/com/baiye/constant/SecurityConstants.java @@ -46,6 +46,12 @@ public final class SecurityConstants { */ public static final String DETAILS_USER = "user"; + + /** + * 用户缓存 + */ + public static final String USER_ROLE_LIST = "user::role::list"; + /** * 用户名字段 */ diff --git a/ad-platform-common/ad-platform-common-security/src/main/java/com/baiye/component/CustomizeUserAuthenticationConverter.java b/ad-platform-common/ad-platform-common-security/src/main/java/com/baiye/component/CustomizeUserAuthenticationConverter.java index cd440ec0..b79747cc 100644 --- a/ad-platform-common/ad-platform-common-security/src/main/java/com/baiye/component/CustomizeUserAuthenticationConverter.java +++ b/ad-platform-common/ad-platform-common-security/src/main/java/com/baiye/component/CustomizeUserAuthenticationConverter.java @@ -3,6 +3,7 @@ package com.baiye.component; import cn.hutool.json.JSONUtil; import com.baiye.constant.SecurityConstants; import com.baiye.model.dto.UserDto; +import com.google.common.collect.Sets; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.Authentication; import org.springframework.security.core.GrantedAuthority; @@ -11,9 +12,7 @@ import org.springframework.security.oauth2.provider.token.DefaultUserAuthenticat import org.springframework.security.oauth2.provider.token.UserAuthenticationConverter; import org.springframework.util.StringUtils; -import java.util.Collection; -import java.util.LinkedHashMap; -import java.util.Map; +import java.util.*; /** * @description 自定义token信息处理,处理check_token之后的token信息 @@ -47,9 +46,10 @@ public class CustomizeUserAuthenticationConverter implements UserAuthenticationC Integer id = (Integer) map.get(SecurityConstants.DETAILS_USER_ID); String username = (String) map.get(SecurityConstants.DETAILS_USERNAME); String user = (String) map.get(SecurityConstants.DETAILS_USER); + List grantedAuthorities = (List) map.get(SecurityConstants.USER_ROLE_LIST); // todo 在token中获取用户的id后续修改 - LoginUser loginUser = new LoginUser(JSONUtil.toBean(user, UserDto.class), Long.valueOf(id), username, N_A, true, true, true, true, + LoginUser loginUser = new LoginUser(JSONUtil.toBean(user, UserDto.class), Sets.newHashSet(grantedAuthorities), Long.valueOf(id), username, N_A, true, true, true, true, authorities, null); return new UsernamePasswordAuthenticationToken(loginUser, "N/A", authorities); } diff --git a/ad-platform-common/ad-platform-common-security/src/main/java/com/baiye/component/LoginUser.java b/ad-platform-common/ad-platform-common-security/src/main/java/com/baiye/component/LoginUser.java index 7aae5656..fac5a3f3 100644 --- a/ad-platform-common/ad-platform-common-security/src/main/java/com/baiye/component/LoginUser.java +++ b/ad-platform-common/ad-platform-common-security/src/main/java/com/baiye/component/LoginUser.java @@ -9,11 +9,12 @@ import org.springframework.security.core.userdetails.User; import java.io.Serializable; import java.util.Collection; import java.util.List; +import java.util.Set; /** - * @description 登录用户实体类 * @author Enzo - * @date 2020-08-04 17:33 + * @description 登录用户实体类 + * @date 2020-08-04 17:33 */ @Getter @Setter @@ -28,14 +29,15 @@ public class LoginUser extends User implements Serializable { private List dataScopes; + private final Set roles; - - public LoginUser(UserDto user,Long userId,String username, String password, boolean enabled, boolean accountNonExpired, + public LoginUser(UserDto user, Set roles, Long userId, String username, String password, boolean enabled, boolean accountNonExpired, boolean credentialsNonExpired, boolean accountNonLocked, - Collection authorities, List dataScopes) { + Collection authorities, List dataScopes) { super(username, password, enabled, accountNonExpired, credentialsNonExpired, accountNonLocked, authorities); this.user = user; this.userId = userId; + this.roles = roles; this.dataScopes = dataScopes; } } diff --git a/ad-platform-common/ad-platform-common-security/src/main/java/com/baiye/feign/RemoteUserService.java b/ad-platform-common/ad-platform-common-security/src/main/java/com/baiye/feign/RemoteUserService.java index 51861c3c..05b0f9b1 100644 --- a/ad-platform-common/ad-platform-common-security/src/main/java/com/baiye/feign/RemoteUserService.java +++ b/ad-platform-common/ad-platform-common-security/src/main/java/com/baiye/feign/RemoteUserService.java @@ -1,6 +1,7 @@ package com.baiye.feign; import com.baiye.constant.SecurityConstants; +import com.baiye.model.dto.UserByNameDTO; import com.baiye.model.dto.UserDto; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; @@ -18,9 +19,10 @@ public interface RemoteUserService { /** * 通过用户名查询用户 * @param username + * @param from * @return */ @GetMapping(value = "/inner/username") - UserDto findByName(@RequestParam("username") String username, @RequestHeader(SecurityConstants.FROM) String from); + UserByNameDTO findByName(@RequestParam("username") String username, @RequestHeader(SecurityConstants.FROM) String from); } diff --git a/ad-platform-common/ad-platform-common-security/src/main/java/com/baiye/service/UserDetailsServiceImpl.java b/ad-platform-common/ad-platform-common-security/src/main/java/com/baiye/service/UserDetailsServiceImpl.java index da4ced0c..1419b847 100644 --- a/ad-platform-common/ad-platform-common-security/src/main/java/com/baiye/service/UserDetailsServiceImpl.java +++ b/ad-platform-common/ad-platform-common-security/src/main/java/com/baiye/service/UserDetailsServiceImpl.java @@ -5,6 +5,7 @@ import com.baiye.component.LoginUser; import com.baiye.config.LoginProperties; import com.baiye.constant.SecurityConstants; import com.baiye.feign.RemoteUserService; +import com.baiye.model.dto.UserByNameDTO; import com.baiye.model.dto.UserDto; import com.baiye.util.CacheKey; import io.micrometer.core.instrument.util.StringUtils; @@ -14,6 +15,7 @@ import org.springframework.cache.Cache; import org.springframework.cache.CacheManager; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.AuthorityUtils; +import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; @@ -23,6 +25,7 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; +import java.util.stream.Collectors; /** * @@ -75,7 +78,7 @@ public class UserDetailsServiceImpl implements UserDetailsService { return (LoginUser) cache.get(username).get(); } // 缓存不存在则调用feign获取用户信息 - UserDto result = this.remoteUserService.findByName(username, SecurityConstants.FROM_IN); + UserByNameDTO result = this.remoteUserService.findByName(username, SecurityConstants.FROM_IN); UserDetails userDetails = this.getUserDetails(result); // 放入缓存 if (Boolean.TRUE.equals(loginProperties.getCacheEnable())) { @@ -88,10 +91,14 @@ public class UserDetailsServiceImpl implements UserDetailsService { /** * 构建UserDetails - * @param user + * @param userByNameDTO * @return */ - private UserDetails getUserDetails(UserDto user) { + + private UserDetails getUserDetails(UserByNameDTO userByNameDTO) { + UserDto user = userByNameDTO.getUser(); + Set stringSet = userByNameDTO.getAuthorityList(); + if (user == null) { throw new UsernameNotFoundException("用户不存在"); } @@ -114,9 +121,8 @@ public class UserDetailsServiceImpl implements UserDetailsService { if (CollUtil.isNotEmpty(dbAuthsSet)){ authorityList = AuthorityUtils.createAuthorityList(authArray); } - return new LoginUser(user, user.getId(), user.getUsername(), user.getPassword(), user.getEnabled(), + return new LoginUser(user, stringSet, user.getId(), user.getUsername(), user.getPassword(), user.getEnabled(), true, true, true, authorityList, new ArrayList<>()); - } } diff --git a/ad-platform-common/pom.xml b/ad-platform-common/pom.xml index 5079a357..f3e55b34 100644 --- a/ad-platform-common/pom.xml +++ b/ad-platform-common/pom.xml @@ -14,7 +14,6 @@ pom 1.0-SNAPSHOT - ad-platform-common-auth ad-platform-common-core ad-platform-common-security diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/AssignDataClient.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/AssignDataClient.java index 53236808..0383ca73 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/AssignDataClient.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/AssignDataClient.java @@ -1,5 +1,6 @@ package com.baiye.feign; +import com.baiye.feign.callback.AssignDataClientFallback; import com.baiye.http.CommonResponse; import com.baiye.model.dto.DistributeDTO; import com.baiye.model.dto.DistributeResponseDTO; diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/IRemoteAuthService.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/IRemoteAuthService.java new file mode 100644 index 00000000..4982e87e --- /dev/null +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/IRemoteAuthService.java @@ -0,0 +1,28 @@ +package com.baiye.feign; + +import com.baiye.feign.callback.RemoteAuthServiceBack; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.Set; + +/** + * + * @description + * @author Enzo + * @create: 2020-09-13 16:17 + */ +@FeignClient(contextId = "remoteAuthService", value = "auth-server", fallback = RemoteAuthServiceBack.class) +public interface IRemoteAuthService { + + /** + * 清除数据 + * @param ids + * @return + * @throws Exception + */ + @DeleteMapping("/oauth/online") + ResponseEntity delete(@RequestBody Set ids) throws Exception; +} diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/SendMessageClient.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/SendMessageClient.java index d2460584..5d802a84 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/SendMessageClient.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/SendMessageClient.java @@ -1,5 +1,6 @@ package com.baiye.feign; +import com.baiye.feign.callback.SendMessageFallback; import com.baiye.http.CommonResponse; import com.baiye.model.dto.SendWebSocketDTO; import com.baiye.model.entity.BaseTimeTask; diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/SourceClueClient.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/SourceClueClient.java index bad53b18..2a2a14c1 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/SourceClueClient.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/SourceClueClient.java @@ -1,5 +1,6 @@ package com.baiye.feign; +import com.baiye.feign.callback.SourceClueClientFallback; import com.baiye.http.CommonResponse; import com.baiye.model.dto.ClueQueryCriteria; import com.baiye.model.dto.DistributeResponseDTO; diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/AssignDataClientFallback.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/callback/AssignDataClientFallback.java similarity index 86% rename from ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/AssignDataClientFallback.java rename to ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/callback/AssignDataClientFallback.java index 74387ff8..956deb7b 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/AssignDataClientFallback.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/callback/AssignDataClientFallback.java @@ -1,5 +1,6 @@ -package com.baiye.feign; +package com.baiye.feign.callback; +import com.baiye.feign.AssignDataClient; import com.baiye.http.CommonResponse; import com.baiye.model.dto.DistributeDTO; import com.baiye.model.dto.DistributeResponseDTO; diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/callback/RemoteAuthServiceBack.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/callback/RemoteAuthServiceBack.java new file mode 100644 index 00000000..4a1230e9 --- /dev/null +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/callback/RemoteAuthServiceBack.java @@ -0,0 +1,19 @@ +package com.baiye.feign.callback; + +import com.baiye.feign.IRemoteAuthService; +import org.springframework.http.ResponseEntity; + +import java.util.Set; + +/** + * + * @description + * @author Enzo + * @create: 2020-09-13 16:20 + */ +public class RemoteAuthServiceBack implements IRemoteAuthService { + @Override + public ResponseEntity delete(Set ids) throws Exception { + return null; + } +} diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/SendMessageFallback.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/callback/SendMessageFallback.java similarity index 91% rename from ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/SendMessageFallback.java rename to ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/callback/SendMessageFallback.java index bbe763ad..2f8d9c09 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/SendMessageFallback.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/callback/SendMessageFallback.java @@ -1,5 +1,6 @@ -package com.baiye.feign; +package com.baiye.feign.callback; +import com.baiye.feign.SendMessageClient; import com.baiye.http.CommonResponse; import com.baiye.model.dto.SendWebSocketDTO; import com.baiye.model.entity.BaseTimeTask; diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/SourceClueClientFallback.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/callback/SourceClueClientFallback.java similarity index 97% rename from ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/SourceClueClientFallback.java rename to ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/callback/SourceClueClientFallback.java index 577f6820..292f474b 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/SourceClueClientFallback.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/feign/callback/SourceClueClientFallback.java @@ -1,5 +1,6 @@ -package com.baiye.feign; +package com.baiye.feign.callback; +import com.baiye.feign.SourceClueClient; import com.baiye.http.CommonResponse; import com.baiye.model.dto.ClueQueryCriteria; import com.baiye.model.dto.DistributeResponseDTO; diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/controller/UserController.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/controller/UserController.java index 26248d70..e36143c2 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/controller/UserController.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/controller/UserController.java @@ -204,14 +204,14 @@ public class UserController { if (passwordEncoder.matches(newPass, user.getPassword())) { throw new BadRequestException("新密码不能与旧密码相同"); } - userService.updatePass(user.getUsername(), passwordEncoder.encode(newPass)); + userService.updatePass(user.getId(), user.getUsername(), passwordEncoder.encode(newPass)); return new ResponseEntity<>(HttpStatus.OK); } @ApiOperation("修改头像") @PostMapping(value = "/updateAvatar") public ResponseEntity updateAvatar(@RequestParam MultipartFile avatar) { - return new ResponseEntity<>(userService.updateAvatar(avatar), HttpStatus.OK); + return new ResponseEntity<>(userService.updateAvatar(SecurityUtils.getCurrentUserId(), avatar), HttpStatus.OK); } diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/controller/UserDetailsController.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/controller/UserDetailsController.java index c0a8a059..363ca00c 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/controller/UserDetailsController.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/controller/UserDetailsController.java @@ -1,7 +1,9 @@ package com.baiye.modules.system.controller; import com.baiye.annotation.Inner; +import com.baiye.model.dto.UserByNameDTO; import com.baiye.model.dto.UserDto; +import com.baiye.modules.system.service.RoleService; import com.baiye.modules.system.service.UserService; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -23,11 +25,17 @@ import org.springframework.web.bind.annotation.RestController; public class UserDetailsController { private final UserService userService; + private final RoleService roleService; + @Inner @ApiOperation("通过用户名查询用户") @GetMapping(value = "/username") - public ResponseEntity getUserDetails(@RequestParam String username){ - return ResponseEntity.ok(this.userService.findByName(username)); + public ResponseEntity getUserDetails(@RequestParam String username){ + UserByNameDTO dto = new UserByNameDTO(); + UserDto byName = this.userService.findByName(username); + dto.setUser(byName); + dto.setAuthorityList(roleService.getUserPermissions(byName)); + return ResponseEntity.ok(dto); } } diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/UserService.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/UserService.java index 8e638c1a..61107428 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/UserService.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/UserService.java @@ -81,18 +81,20 @@ public interface UserService { /** * 修改密码 * + * @param id id * @param username 用户名 * @param encryptPassword 密码 */ - void updatePass(String username, String encryptPassword); + void updatePass(Long id, String username, String encryptPassword); /** * 修改头像 * - * @param file 文件 + * @param currentUserId + * @param file 文件 * @return / */ - Map updateAvatar(MultipartFile file); + Map updateAvatar(Long currentUserId, MultipartFile file); /** * 修改邮箱 diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/UserServiceImpl.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/UserServiceImpl.java index 6313168c..ff898698 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/UserServiceImpl.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/UserServiceImpl.java @@ -30,6 +30,7 @@ import com.baiye.constant.DefaultNumberConstants; import com.baiye.constant.RoleNumberConstants; import com.baiye.exception.BadRequestException; import com.baiye.exception.EntityExistException; +import com.baiye.feign.IRemoteAuthService; import com.baiye.feign.SourceClueClient; import com.baiye.model.dto.*; import com.baiye.model.enums.ResponseCode; @@ -49,7 +50,9 @@ import com.google.common.collect.ImmutableMap; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.springframework.cache.Cache; import org.springframework.cache.annotation.CacheConfig; +import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; @@ -60,7 +63,6 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; -import javax.validation.constraints.NotBlank; import java.io.File; import java.io.IOException; import java.util.*; @@ -83,10 +85,13 @@ public class UserServiceImpl implements UserService { private final FileProperties properties; private final BusinessConfig businessConfig; + private final CompanyService companyService; private final UserRepository userRepository; private final LabelRepository labelRepository; + private final IRemoteAuthService remoteAuthService; + private final LabelOrganizeRepository labelOrganizeRepository; private final PasswordEncoder passwordEncoder; @@ -459,7 +464,11 @@ public class UserServiceImpl implements UserService { } // 如果用户被禁用,则清除用户登录信息 if (Boolean.FALSE.equals(resources.getEnabled())) { - // onlineUserService.kickOutForUsername(resources.getUsername()); + try { + this.remoteAuthService.delete(Collections.singleton(resources.getId())); + } catch (Exception e) { + throw new BadRequestException(ResponseCode.UPDATE_USER_ERROR.getDesc()); + } } if (!user.getUsername().equals(resources.getUsername()) && user.getCompanyId() != null) { @@ -472,7 +481,7 @@ public class UserServiceImpl implements UserService { if (ObjectUtil.isNotNull(resources.getTemplateId())) { companyService.updateCompanyTemplateId(resources.getTemplateId(), user.getCompanyId()); } - if (resources.getTurnCrmNum() != null){ + if (resources.getTurnCrmNum() != null) { user.setTurnCrmNum(resources.getTurnCrmNum()); } if (ObjectUtil.isNotNull(resources.getCompanyType())) { @@ -673,14 +682,21 @@ public class UserServiceImpl implements UserService { @Override @Transactional(rollbackFor = Exception.class) - public void updatePass(String username, String pass) { + @CacheEvict(key = "'id:' + #p0") + public void updatePass(Long id, String username, String pass) { userRepository.updatePass(username, pass, new Date()); + try { + this.remoteAuthService.delete(Collections.singleton(id)); + } catch (Exception e) { + throw new BadRequestException(ResponseCode.UPDATE_USER_ERROR.getDesc()); + } // flushCache(username); } @Override + @CacheEvict(key = "'id:' + #p0") @Transactional(rollbackFor = Exception.class) - public Map updateAvatar(MultipartFile multipartFile) { + public Map updateAvatar(Long currentUserId, MultipartFile multipartFile) { // 文件大小验证 FileUtil.checkSize(properties.getAvatarMaxSize(), multipartFile.getSize()); // 验证文件上传的格式 @@ -698,8 +714,7 @@ public class UserServiceImpl implements UserService { if (StringUtils.isNotBlank(oldPath)) { FileUtil.del(oldPath); } - @NotBlank String username = user.getUsername(); - // flushCache(username); + return ImmutableMap.of("avatar", file.getName()); } @@ -707,7 +722,7 @@ public class UserServiceImpl implements UserService { @Transactional(rollbackFor = Exception.class) public void updateEmail(String username, String email) { userRepository.updateEmail(username, email); - // flushCache(username); + } @Override @@ -744,8 +759,6 @@ public class UserServiceImpl implements UserService { /* private void flushCache(String username) { userCacheClean.cleanUserCache(username); }*/ - - @Override @Transactional(rollbackFor = Exception.class) public void buyPackage(BuyComboDTO buyComboDTO) { diff --git a/ad-platform-manage/ad-platform-task/pom.xml b/ad-platform-manage/ad-platform-task/pom.xml index fd778a21..35402273 100644 --- a/ad-platform-manage/ad-platform-task/pom.xml +++ b/ad-platform-manage/ad-platform-task/pom.xml @@ -25,12 +25,7 @@ 1.0-SNAPSHOT - - - com.baiye - ad-platform-common-auth - 1.0-SNAPSHOT - + com.baiye ad-platform-pojo diff --git a/ad-platform-manage/ad-platform-task/src/main/java/com/baiye/config/WebSocketConfig.java b/ad-platform-manage/ad-platform-task/src/main/java/com/baiye/config/WebSocketConfig.java index 82d5716f..5b5a94cc 100644 --- a/ad-platform-manage/ad-platform-task/src/main/java/com/baiye/config/WebSocketConfig.java +++ b/ad-platform-manage/ad-platform-task/src/main/java/com/baiye/config/WebSocketConfig.java @@ -1,8 +1,6 @@ package com.baiye.config; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.web.socket.server.standard.ServerEndpointExporter; /** * @author wjt @@ -11,8 +9,8 @@ import org.springframework.web.socket.server.standard.ServerEndpointExporter; @Configuration public class WebSocketConfig { - @Bean +/* @Bean public ServerEndpointExporter serverEndpointExporter() { return new ServerEndpointExporter(); - } -} \ No newline at end of file + }*/ +} diff --git a/ad-platform-pojo/src/main/java/com/baiye/model/dto/UserByNameDTO.java b/ad-platform-pojo/src/main/java/com/baiye/model/dto/UserByNameDTO.java new file mode 100644 index 00000000..58436554 --- /dev/null +++ b/ad-platform-pojo/src/main/java/com/baiye/model/dto/UserByNameDTO.java @@ -0,0 +1,23 @@ +package com.baiye.model.dto; + +import lombok.Data; +import org.springframework.security.core.GrantedAuthority; + +import java.io.Serializable; +import java.util.List; +import java.util.Set; + +/** + * @author Enzo + * @date : 2022/12/20 + */ +@Data +public class UserByNameDTO implements Serializable { + private static final long serialVersionUID = -8344230660356234030L; + + private UserDto user; + + + private Set authorityList; + +} diff --git a/ad-platform-pojo/src/main/java/com/baiye/model/enums/ResponseCode.java b/ad-platform-pojo/src/main/java/com/baiye/model/enums/ResponseCode.java index c72c16a7..ac2e24cb 100644 --- a/ad-platform-pojo/src/main/java/com/baiye/model/enums/ResponseCode.java +++ b/ad-platform-pojo/src/main/java/com/baiye/model/enums/ResponseCode.java @@ -191,6 +191,11 @@ public enum ResponseCode { */ VERIFY_CODE_ERROR("11011", "验证码错误"), + /** + * 修改用户信息失败 + */ + UPDATE_USER_ERROR("11012", "修改用户信息失败"), + /** * * 非超级管理员不能修改数据