Compare commits

...

5 Commits
0.1.5 ... 0.1.7

Author SHA1 Message Date
曾文豪
3f59d00092 publish 0.1.7 2023-01-12 11:58:44 +08:00
曾文豪
2e8969f249 perf:文件上传保留后缀 2023-01-12 11:58:23 +08:00
曾文豪
ebb99ced78 perf:增加登录例子 2023-01-11 16:43:33 +08:00
曾文豪
e862cdbf43 publish 0.1.6 2023-01-11 16:32:29 +08:00
曾文豪
d6faed4f68 perf:调整授权登录 2023-01-11 16:32:16 +08:00
17 changed files with 68 additions and 68 deletions

20
pom.xml
View File

@@ -6,7 +6,7 @@
<groupId>com.tiesheng</groupId> <groupId>com.tiesheng</groupId>
<artifactId>springboot-parent</artifactId> <artifactId>springboot-parent</artifactId>
<version>0.1.5</version> <version>0.1.7</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<name>springboot-parent</name> <name>springboot-parent</name>
<description>杭州铁晟科技有限公司基础依赖</description> <description>杭州铁晟科技有限公司基础依赖</description>
@@ -57,55 +57,55 @@
<dependency> <dependency>
<groupId>com.tiesheng</groupId> <groupId>com.tiesheng</groupId>
<artifactId>springboot-db-migration</artifactId> <artifactId>springboot-db-migration</artifactId>
<version>0.1.5</version> <version>0.1.7</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.tiesheng</groupId> <groupId>com.tiesheng</groupId>
<artifactId>springboot-login</artifactId> <artifactId>springboot-login</artifactId>
<version>0.1.5</version> <version>0.1.7</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.tiesheng</groupId> <groupId>com.tiesheng</groupId>
<artifactId>springboot-web</artifactId> <artifactId>springboot-web</artifactId>
<version>0.1.5</version> <version>0.1.7</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.tiesheng</groupId> <groupId>com.tiesheng</groupId>
<artifactId>springboot-util</artifactId> <artifactId>springboot-util</artifactId>
<version>0.1.5</version> <version>0.1.7</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.tiesheng</groupId> <groupId>com.tiesheng</groupId>
<artifactId>springboot-platform</artifactId> <artifactId>springboot-platform</artifactId>
<version>0.1.5</version> <version>0.1.7</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.tiesheng</groupId> <groupId>com.tiesheng</groupId>
<artifactId>springboot-message</artifactId> <artifactId>springboot-message</artifactId>
<version>0.1.5</version> <version>0.1.7</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.tiesheng</groupId> <groupId>com.tiesheng</groupId>
<artifactId>springboot-encrypt</artifactId> <artifactId>springboot-encrypt</artifactId>
<version>0.1.5</version> <version>0.1.7</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.tiesheng</groupId> <groupId>com.tiesheng</groupId>
<artifactId>springboot-annotation</artifactId> <artifactId>springboot-annotation</artifactId>
<version>0.1.5</version> <version>0.1.7</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.tiesheng</groupId> <groupId>com.tiesheng</groupId>
<artifactId>springboot-poi</artifactId> <artifactId>springboot-poi</artifactId>
<version>0.1.5</version> <version>0.1.7</version>
</dependency> </dependency>
<dependency> <dependency>

View File

@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.tiesheng</groupId> <groupId>com.tiesheng</groupId>
<artifactId>springboot-parent</artifactId> <artifactId>springboot-parent</artifactId>
<version>0.1.5</version> <version>0.1.7</version>
</parent> </parent>
<artifactId>springboot-ademo</artifactId> <artifactId>springboot-ademo</artifactId>

View File

@@ -1,12 +1,23 @@
package com.tiesheng.demo.config; package com.tiesheng.demo.config;
import cn.hutool.core.util.StrUtil;
import com.tiesheng.core.pojos.CurrentWebUser; import com.tiesheng.core.pojos.CurrentWebUser;
import com.tiesheng.core.pojos.dao.CorePlatformUnique;
import com.tiesheng.core.service.TieshengWebConfigurer; import com.tiesheng.core.service.TieshengWebConfigurer;
import com.tiesheng.login.config.token.bean.TokenBean;
import com.tiesheng.util.config.GlobalConfig;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletResponse;
import java.util.Objects;
@Component @Component
public class DemoWebConfigurer implements TieshengWebConfigurer { public class DemoWebConfigurer implements TieshengWebConfigurer {
@Autowired
GlobalConfig globalConfig;
@Override @Override
public CurrentWebUser getCurrentUserName(String userId) { public CurrentWebUser getCurrentUserName(String userId) {
return null; return null;
@@ -14,6 +25,29 @@ public class DemoWebConfigurer implements TieshengWebConfigurer {
@Override @Override
public LoginConfigurer loginConfigurer() { public LoginConfigurer loginConfigurer() {
return null; return new LoginConfigurer() {
@Override
public TokenBean doLogin(CorePlatformUnique platformUnique, String to) {
// 默认跳转到mobile
to = StrUtil.emptyToDefault(to, "mobile");
TokenBean tokenBean = null;
if (!StrUtil.isEmpty(platformUnique.getUserId())) {
tokenBean = new TokenBean(platformUnique.getUserId(), to, globalConfig.getService());
} else {
// 获取用户信息判断是否可登录
}
return tokenBean;
}
@Override
public void redirect(TokenBean bean, String to, String extra, HttpServletResponse response) {
if (Objects.equals(bean.getEnvironmentType(), "mobile")) {
globalConfig.redirect("mobile", "/?token=" + bean.toToken(), response);
}
}
};
} }
} }

View File

@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.tiesheng</groupId> <groupId>com.tiesheng</groupId>
<artifactId>springboot-parent</artifactId> <artifactId>springboot-parent</artifactId>
<version>0.1.5</version> <version>0.1.7</version>
</parent> </parent>
<artifactId>springboot-annotation</artifactId> <artifactId>springboot-annotation</artifactId>

View File

@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.tiesheng</groupId> <groupId>com.tiesheng</groupId>
<artifactId>springboot-parent</artifactId> <artifactId>springboot-parent</artifactId>
<version>0.1.5</version> <version>0.1.7</version>
</parent> </parent>
<artifactId>springboot-db-migration</artifactId> <artifactId>springboot-db-migration</artifactId>

View File

@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.tiesheng</groupId> <groupId>com.tiesheng</groupId>
<artifactId>springboot-parent</artifactId> <artifactId>springboot-parent</artifactId>
<version>0.1.5</version> <version>0.1.7</version>
</parent> </parent>
<artifactId>springboot-encrypt</artifactId> <artifactId>springboot-encrypt</artifactId>

View File

@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.tiesheng</groupId> <groupId>com.tiesheng</groupId>
<artifactId>springboot-parent</artifactId> <artifactId>springboot-parent</artifactId>
<version>0.1.5</version> <version>0.1.7</version>
</parent> </parent>
<artifactId>springboot-login</artifactId> <artifactId>springboot-login</artifactId>

View File

@@ -54,8 +54,8 @@ public class LoginController {
@TokenIgnore @TokenIgnore
public void uniqueIndex(UniqueIndexDTO dto, HttpServletResponse response) { public void uniqueIndex(UniqueIndexDTO dto, HttpServletResponse response) {
TokenBean tokenBean = tieshengLoginConfigurer.doLogin(new DoLoginInfo("unique_index_web", TokenBean tokenBean = tieshengLoginConfigurer.doLogin(new DoLoginInfo("unique_index_web",
dto.getNo(), "web", dto.getDefaultTo(), dto.getInfo())); dto.getNo(), "web", dto.getTo(), dto.getInfo()));
tieshengLoginConfigurer.onLoginRedirect(tokenBean, dto.getDefaultTo(), dto.getExtra(), response); tieshengLoginConfigurer.onLoginRedirect(tokenBean, dto.getTo(), dto.getExtra(), response);
} }
@@ -69,7 +69,7 @@ public class LoginController {
@TokenIgnore @TokenIgnore
public ApiResp<String> uniqueIndex(@RequestBody UniqueIndexDTO dto) { public ApiResp<String> uniqueIndex(@RequestBody UniqueIndexDTO dto) {
TokenBean tokenBean = tieshengLoginConfigurer.doLogin(new DoLoginInfo("unique_index_web", TokenBean tokenBean = tieshengLoginConfigurer.doLogin(new DoLoginInfo("unique_index_web",
dto.getNo(), "web", dto.getDefaultTo(), dto.getInfo())); dto.getNo(), "web", dto.getTo(), dto.getInfo()));
if (tokenBean == null) { if (tokenBean == null) {
throw new ApiException("登录失败"); throw new ApiException("登录失败");
} }
@@ -118,9 +118,9 @@ public class LoginController {
String ddUserId = platformDingConfig.getUserIdByCode(service, dto.getCode()); String ddUserId = platformDingConfig.getUserIdByCode(service, dto.getCode());
DingUserInfo dingUserInfo = platformDingConfig.topapiV2UserGet(service, ddUserId); DingUserInfo dingUserInfo = platformDingConfig.topapiV2UserGet(service, ddUserId);
TokenBean tokenBean = tieshengLoginConfigurer.doLogin(new DoLoginInfo(dingUserInfo.getAppId(), TokenBean tokenBean = tieshengLoginConfigurer.doLogin(new DoLoginInfo(dingUserInfo.getAppId(),
dingUserInfo.getUserid(), "ding", dto.getDefaultTo(), dingUserInfo.getUserid(), "ding", dto.getTo(),
JSON.toJSONString(dingUserInfo))); JSON.toJSONString(dingUserInfo)));
tieshengLoginConfigurer.onLoginRedirect(tokenBean, dto.getDefaultTo(), dto.getExtra(), response); tieshengLoginConfigurer.onLoginRedirect(tokenBean, dto.getTo(), dto.getExtra(), response);
} }
@@ -168,8 +168,8 @@ public class LoginController {
public void wxmpOauth2(@PathVariable String service, CodeExtraDTO dto, HttpServletResponse response) { public void wxmpOauth2(@PathVariable String service, CodeExtraDTO dto, HttpServletResponse response) {
WxUserInfo wxUserInfo = platformWxmpConfig.getOAuth2AccessToken(service, dto.getCode()); WxUserInfo wxUserInfo = platformWxmpConfig.getOAuth2AccessToken(service, dto.getCode());
TokenBean tokenBean = tieshengLoginConfigurer.doLogin(new DoLoginInfo(wxUserInfo.getAppId(), TokenBean tokenBean = tieshengLoginConfigurer.doLogin(new DoLoginInfo(wxUserInfo.getAppId(),
wxUserInfo.getOpenid(), "wxmp", dto.getDefaultTo(), JSON.toJSONString(wxUserInfo))); wxUserInfo.getOpenid(), "wxmp", dto.getTo(), JSON.toJSONString(wxUserInfo)));
tieshengLoginConfigurer.onLoginRedirect(tokenBean, dto.getDefaultTo(), dto.getExtra(), response); tieshengLoginConfigurer.onLoginRedirect(tokenBean, dto.getTo(), dto.getExtra(), response);
} }

View File

@@ -1,33 +1,9 @@
package com.tiesheng.login.pojos; package com.tiesheng.login.pojos;
import cn.hutool.core.util.StrUtil;
public class LoginToInfo { public class LoginToInfo {
private String to; private String to;
/**
* 获取默认的去往目的地
*
* @param def
* @return
*/
public String getDefaultTo(String def) {
if (StrUtil.isEmpty(getTo())) {
return def;
}
return getTo();
}
/**
* 获取默认的去往目的地
*
* @return
*/
public String getDefaultTo() {
return getDefaultTo("mobile");
}
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// setter\getter // setter\getter
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////

View File

@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.tiesheng</groupId> <groupId>com.tiesheng</groupId>
<artifactId>springboot-parent</artifactId> <artifactId>springboot-parent</artifactId>
<version>0.1.5</version> <version>0.1.7</version>
</parent> </parent>
<artifactId>springboot-message</artifactId> <artifactId>springboot-message</artifactId>

View File

@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.tiesheng</groupId> <groupId>com.tiesheng</groupId>
<artifactId>springboot-parent</artifactId> <artifactId>springboot-parent</artifactId>
<version>0.1.5</version> <version>0.1.7</version>
</parent> </parent>
<artifactId>springboot-platform</artifactId> <artifactId>springboot-platform</artifactId>

View File

@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.tiesheng</groupId> <groupId>com.tiesheng</groupId>
<artifactId>springboot-parent</artifactId> <artifactId>springboot-parent</artifactId>
<version>0.1.5</version> <version>0.1.7</version>
</parent> </parent>
<artifactId>springboot-poi</artifactId> <artifactId>springboot-poi</artifactId>

View File

@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.tiesheng</groupId> <groupId>com.tiesheng</groupId>
<artifactId>springboot-parent</artifactId> <artifactId>springboot-parent</artifactId>
<version>0.1.5</version> <version>0.1.7</version>
</parent> </parent>
<artifactId>springboot-util</artifactId> <artifactId>springboot-util</artifactId>

View File

@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.tiesheng</groupId> <groupId>com.tiesheng</groupId>
<artifactId>springboot-parent</artifactId> <artifactId>springboot-parent</artifactId>
<version>0.1.5</version> <version>0.1.7</version>
</parent> </parent>
<artifactId>springboot-web</artifactId> <artifactId>springboot-web</artifactId>

View File

@@ -108,8 +108,8 @@ public class ToolController {
*/ */
@TokenIgnore @TokenIgnore
@PostMapping("/file/chunk_merge") @PostMapping("/file/chunk_merge")
public ApiResp<String> fileChunkMerge(String fileMd5) { public ApiResp<String> fileChunkMerge(String fileMd5, String fileExt) {
String path = fileUploadService.chunkMerge(fileMd5); String path = fileUploadService.chunkMerge(fileMd5, fileExt);
return ApiResp.respOK(path); return ApiResp.respOK(path);
} }

View File

@@ -1,14 +1,12 @@
package com.tiesheng.core.service; package com.tiesheng.core.service;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.tiesheng.core.mapper.CorePlatformUniqueMapper; import com.tiesheng.core.mapper.CorePlatformUniqueMapper;
import com.tiesheng.core.pojos.dao.CorePlatformUnique; import com.tiesheng.core.pojos.dao.CorePlatformUnique;
import com.tiesheng.login.config.token.bean.TokenBean; import com.tiesheng.login.config.token.bean.TokenBean;
import com.tiesheng.login.pojos.DoLoginInfo; import com.tiesheng.login.pojos.DoLoginInfo;
import com.tiesheng.login.service.TieshengLoginConfigurer; import com.tiesheng.login.service.TieshengLoginConfigurer;
import com.tiesheng.util.config.GlobalConfig;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -25,8 +23,6 @@ public class CorePlatformUniqueService extends TsServiceBase<CorePlatformUniqueM
TieshengWebConfigurer tieshengWebConfigurer; TieshengWebConfigurer tieshengWebConfigurer;
@Autowired @Autowired
CoreLogService coreLogService; CoreLogService coreLogService;
@Autowired
GlobalConfig globalConfig;
@Override @Override
public TokenBean doLogin(DoLoginInfo loginInfo) { public TokenBean doLogin(DoLoginInfo loginInfo) {
@@ -40,13 +36,7 @@ public class CorePlatformUniqueService extends TsServiceBase<CorePlatformUniqueM
} }
platformUnique.setInfo(loginInfo.getInfo()); platformUnique.setInfo(loginInfo.getInfo());
TokenBean tokenBean = null; TokenBean tokenBean = tieshengWebConfigurer.loginConfigurer().doLogin(platformUnique, loginInfo.getTo());
if (StrUtil.isEmpty(platformUnique.getUserId())) {
tokenBean = tieshengWebConfigurer.loginConfigurer().doLogin(platformUnique, loginInfo.getTo());
} else {
tokenBean = new TokenBean(platformUnique.getUserId(), loginInfo.getTo(), globalConfig.getService());
}
if (tokenBean != null) { if (tokenBean != null) {
platformUnique.setUserId(tokenBean.getId()); platformUnique.setUserId(tokenBean.getId());
platformUnique.setIsDeleted(0); platformUnique.setIsDeleted(0);

View File

@@ -40,7 +40,7 @@ public class FileUploadService {
String fileType = FileTypeUtil.getType(file.getInputStream(), file.getOriginalFilename()); String fileType = FileTypeUtil.getType(file.getInputStream(), file.getOriginalFilename());
tieshengWebConfigurer.uploadFileCheck(fileType); tieshengWebConfigurer.uploadFileCheck(fileType);
FileUploadPath filePath = FileUploadPath.random(); FileUploadPath filePath = FileUploadPath.random(fileType);
InputStream stream = file.getInputStream(); InputStream stream = file.getInputStream();
FileUtil.writeFromStream(stream, filePath.getAbsolutePath()); FileUtil.writeFromStream(stream, filePath.getAbsolutePath());
@@ -107,7 +107,7 @@ public class FileUploadService {
* *
* @param fileMd5 * @param fileMd5
*/ */
public String chunkMerge(String fileMd5) { public String chunkMerge(String fileMd5, String fileExt) {
// 1获取文件块的目录 // 1获取文件块的目录
FileUploadPath folder = FileUploadPath.folder(fileMd5); FileUploadPath folder = FileUploadPath.folder(fileMd5);
@@ -118,7 +118,7 @@ public class FileUploadService {
} }
// 3生成保存文件的路径 // 3生成保存文件的路径
FileUploadPath uploadPath = FileUploadPath.random(); FileUploadPath uploadPath = FileUploadPath.random(fileExt);
// 4获取块文件此列表是已经排好序的列表 // 4获取块文件此列表是已经排好序的列表
List<File> chunkFiles = getSortedChunkFiles(new File(folder.getAbsolutePath())); List<File> chunkFiles = getSortedChunkFiles(new File(folder.getAbsolutePath()));