diff --git a/tduck-account/src/main/java/com/tduck/cloud/account/entity/UserEntity.java b/tduck-account/src/main/java/com/tduck/cloud/account/entity/UserEntity.java index c84dbc7..0850db8 100644 --- a/tduck-account/src/main/java/com/tduck/cloud/account/entity/UserEntity.java +++ b/tduck-account/src/main/java/com/tduck/cloud/account/entity/UserEntity.java @@ -60,5 +60,14 @@ public class UserEntity extends BaseEntity { */ private String lastLoginIp; + /** + * 非数据库字段开始 + */ + private transient String app; + private transient String client; + /** + * 非数据库字段结束 + */ + } diff --git a/tduck-account/src/main/java/com/tduck/cloud/account/request/AccountLoginRequest.java b/tduck-account/src/main/java/com/tduck/cloud/account/request/AccountLoginRequest.java index f75df7d..2b2f266 100644 --- a/tduck-account/src/main/java/com/tduck/cloud/account/request/AccountLoginRequest.java +++ b/tduck-account/src/main/java/com/tduck/cloud/account/request/AccountLoginRequest.java @@ -21,4 +21,6 @@ public class AccountLoginRequest { * 请求Ip地址 */ private String requestIp; + private String app; + private String client; } diff --git a/tduck-account/src/main/java/com/tduck/cloud/account/service/impl/UserServiceImpl.java b/tduck-account/src/main/java/com/tduck/cloud/account/service/impl/UserServiceImpl.java index feb11ea..72dbddf 100644 --- a/tduck-account/src/main/java/com/tduck/cloud/account/service/impl/UserServiceImpl.java +++ b/tduck-account/src/main/java/com/tduck/cloud/account/service/impl/UserServiceImpl.java @@ -100,6 +100,8 @@ public class UserServiceImpl extends ServiceImpl impleme if (ObjectUtil.isNull(userEntity) || !DigestUtil.sha256Hex(request.getPassword()).equals(userEntity.getPassword())) { return Result.failed("账号或密码错误"); } + userEntity.setApp(request.getApp()); + userEntity.setClient(request.getClient()); return Result.success(getLoginResult(userEntity, ReUtil.isMatch(Validator.EMAIL, request.getAccount()) ? AccountChannelEnum.EMAIL : AccountChannelEnum.PHONE, request.getRequestIp())); @@ -120,7 +122,7 @@ public class UserServiceImpl extends ServiceImpl impleme userEntity.setLastLoginChannel(channel); userEntity.setLastLoginTime(LocalDateTime.now()); this.updateById(userEntity); - String token = jwtUtils.generateToken(userEntity.getId()); + String token = jwtUtils.generateToken(userEntity.getId(),userEntity.getApp(),userEntity.getClient()); return new LoginUserVO(userEntity.getAvatar(), userEntity.getName(), token, userEntity.getCustomerId(), userEntity.getId()); } diff --git a/tduck-account/src/main/java/com/tduck/cloud/account/util/JwtUtils.java b/tduck-account/src/main/java/com/tduck/cloud/account/util/JwtUtils.java index 6ec2e97..d189579 100644 --- a/tduck-account/src/main/java/com/tduck/cloud/account/util/JwtUtils.java +++ b/tduck-account/src/main/java/com/tduck/cloud/account/util/JwtUtils.java @@ -29,11 +29,13 @@ public class JwtUtils { /** * 生成jwt token */ - public String generateToken(String userId) { + public String generateToken(String userId, String app, String client) { Date nowDate = new Date(); //过期时间 Date expireDate = new Date(nowDate.getTime() + expire * 1000); Map map = new HashMap<>(); + map.put(CommonConstants.JWT_KEY_APP,app); + map.put(CommonConstants.JWT_KEY_CLIENT,client); map.put(CommonConstants.JWT_KEY_USER_ID,userId); return Jwts.builder() .setHeaderParam("typ", "JWT") diff --git a/tduck-api/src/main/java/com/tduck/cloud/api/config/FilterConfig.java b/tduck-api/src/main/java/com/tduck/cloud/api/config/FilterConfig.java index a2896a4..8d253f3 100644 --- a/tduck-api/src/main/java/com/tduck/cloud/api/config/FilterConfig.java +++ b/tduck-api/src/main/java/com/tduck/cloud/api/config/FilterConfig.java @@ -32,7 +32,7 @@ public class FilterConfig { * * @return */ - //@Bean + @Bean public FilterRegistrationBean corsFilterRegistration() { FilterRegistrationBean registration = new FilterRegistrationBean(); registration.setDispatcherTypes(DispatcherType.REQUEST); diff --git a/tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectController.java b/tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectController.java index ecf3ac3..5c560bc 100644 --- a/tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectController.java +++ b/tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectController.java @@ -100,6 +100,7 @@ public class UserProjectController { List projectTemplateItemEntities = projectTemplateItemService.listByTemplateKey(templateKey); UserProjectEntity userProjectEntity = new UserProjectEntity(); BeanUtil.copyProperties(projectTemplateEntity, userProjectEntity, UserProjectEntity.Fields.status); + userProjectEntity.setId(null); userProjectEntity.setSourceType(ProjectSourceTypeEnum.TEMPLATE); userProjectEntity.setSourceId(projectTemplateEntity.getId()); userProjectEntity.setKey(IdUtil.fastSimpleUUID()); @@ -127,6 +128,7 @@ public class UserProjectController { List itemEntityList = projectItemService.listByProjectKey(request.getKey()); ProjectTemplateEntity projectTemplateEntity = new ProjectTemplateEntity(); BeanUtil.copyProperties(projectEntity, projectTemplateEntity, UserProjectEntity.Fields.status); + projectTemplateEntity.setId(null); projectTemplateEntity.setKey(IdUtil.fastSimpleUUID()); projectTemplateEntity.setCategoryId(CommonConstants.ConstantNumber.FOUR.longValue()); projectTemplateService.save(projectTemplateEntity); diff --git a/tduck-common/src/main/java/com/tduck/cloud/common/constant/CommonConstants.java b/tduck-common/src/main/java/com/tduck/cloud/common/constant/CommonConstants.java index 161d239..8b26764 100644 --- a/tduck-common/src/main/java/com/tduck/cloud/common/constant/CommonConstants.java +++ b/tduck-common/src/main/java/com/tduck/cloud/common/constant/CommonConstants.java @@ -25,6 +25,14 @@ public interface CommonConstants { * jwt userID key */ String JWT_KEY_USER_ID = "userId"; + /** + * jwt userID key + */ + String JWT_KEY_APP = "app"; + /** + * jwt userID key + */ + String JWT_KEY_CLIENT = "client"; /** * 客户Id key */