Compare commits

..

2 Commits

Author SHA1 Message Date
曾文豪
ffc7220944 publish 2.0.17-test2
All checks were successful
/ local-deploy (push) Successful in 20s
2025-08-20 16:01:01 +08:00
曾文豪
411969192f publish 2.0.17-test
All checks were successful
/ local-deploy (push) Successful in 25s
2025-08-20 15:29:46 +08:00
16 changed files with 85 additions and 56 deletions

View File

@@ -1,17 +0,0 @@
stages:
- deploy
deploy-jar:
stage: deploy
tags:
- zengos
rules:
- if: $CI_COMMIT_TAG
script:
- mvn clean deploy -Dmaven.test.skip -DaltDeploymentRepository=master::default::file:$TAG_REPO_FOLDER
- cd $TAG_REPO_FOLDER
- git checkout master
- git pull
- git add .
- git commit -m "deploy $CI_PROJECT_NAME $CI_COMMIT_TAG"
- git push origin master

22
pom.xml
View File

@@ -6,7 +6,7 @@
<groupId>com.tiesheng.springboot-parent</groupId> <groupId>com.tiesheng.springboot-parent</groupId>
<artifactId>springboot-parent</artifactId> <artifactId>springboot-parent</artifactId>
<version>2.0.17-scope-0.2-test</version> <version>2.0.17-test2</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<name>springboot-parent</name> <name>springboot-parent</name>
<description>杭州铁晟科技有限公司基础依赖</description> <description>杭州铁晟科技有限公司基础依赖</description>
@@ -58,49 +58,49 @@
<dependency> <dependency>
<groupId>com.tiesheng.springboot-parent</groupId> <groupId>com.tiesheng.springboot-parent</groupId>
<artifactId>springboot-database</artifactId> <artifactId>springboot-database</artifactId>
<version>2.0.17-scope-0.2-test</version> <version>2.0.17-test2</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.tiesheng.springboot-parent</groupId> <groupId>com.tiesheng.springboot-parent</groupId>
<artifactId>springboot-login</artifactId> <artifactId>springboot-login</artifactId>
<version>2.0.17-scope-0.2-test</version> <version>2.0.17-test2</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.tiesheng.springboot-parent</groupId> <groupId>com.tiesheng.springboot-parent</groupId>
<artifactId>springboot-web</artifactId> <artifactId>springboot-web</artifactId>
<version>2.0.17-scope-0.2-test</version> <version>2.0.17-test2</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.tiesheng.springboot-parent</groupId> <groupId>com.tiesheng.springboot-parent</groupId>
<artifactId>springboot-util</artifactId> <artifactId>springboot-util</artifactId>
<version>2.0.17-scope-0.2-test</version> <version>2.0.17-test2</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.tiesheng.springboot-parent</groupId> <groupId>com.tiesheng.springboot-parent</groupId>
<artifactId>springboot-platform</artifactId> <artifactId>springboot-platform</artifactId>
<version>2.0.17-scope-0.2-test</version> <version>2.0.17-test2</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.tiesheng.springboot-parent</groupId> <groupId>com.tiesheng.springboot-parent</groupId>
<artifactId>springboot-message</artifactId> <artifactId>springboot-message</artifactId>
<version>2.0.17-scope-0.2-test</version> <version>2.0.17-test2</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.tiesheng.springboot-parent</groupId> <groupId>com.tiesheng.springboot-parent</groupId>
<artifactId>springboot-role</artifactId> <artifactId>springboot-role</artifactId>
<version>2.0.17-scope-0.2-test</version> <version>2.0.17-test2</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.tiesheng.springboot-parent</groupId> <groupId>com.tiesheng.springboot-parent</groupId>
<artifactId>springboot-annotation</artifactId> <artifactId>springboot-annotation</artifactId>
<version>2.0.17-scope-0.2-test</version> <version>2.0.17-test2</version>
</dependency> </dependency>
<dependency> <dependency>
@@ -120,8 +120,8 @@
<pluginRepositories> <pluginRepositories>
<pluginRepository> <pluginRepository>
<id>tiesheng-repo-plugin</id> <id>kepai-repo-plugin</id>
<url>https://git.tieshengkeji.com/api/packages/tieshengkeji/maven</url> <url>http://git.kepai365.com/tiesheng/repository/raw/master</url>
</pluginRepository> </pluginRepository>
</pluginRepositories> </pluginRepositories>

View File

@@ -6,11 +6,11 @@
<parent> <parent>
<groupId>com.tiesheng.springboot-parent</groupId> <groupId>com.tiesheng.springboot-parent</groupId>
<artifactId>springboot-parent</artifactId> <artifactId>springboot-parent</artifactId>
<version>2.0.17-scope-0.2-test</version> <version>2.0.17-test2</version>
</parent> </parent>
<artifactId>springboot-ademo</artifactId> <artifactId>springboot-ademo</artifactId>
<version>2.0.17-scope-0.2-test</version> <version>2.0.17-test2</version>
<properties> <properties>
<maven.compiler.source>8</maven.compiler.source> <maven.compiler.source>8</maven.compiler.source>

View File

@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.tiesheng.springboot-parent</groupId> <groupId>com.tiesheng.springboot-parent</groupId>
<artifactId>springboot-parent</artifactId> <artifactId>springboot-parent</artifactId>
<version>2.0.17-scope-0.2-test</version> <version>2.0.17-test2</version>
</parent> </parent>
<artifactId>springboot-annotation</artifactId> <artifactId>springboot-annotation</artifactId>

View File

@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.tiesheng.springboot-parent</groupId> <groupId>com.tiesheng.springboot-parent</groupId>
<artifactId>springboot-parent</artifactId> <artifactId>springboot-parent</artifactId>
<version>2.0.17-scope-0.2-test</version> <version>2.0.17-test2</version>
</parent> </parent>
<artifactId>springboot-database</artifactId> <artifactId>springboot-database</artifactId>

View File

@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.tiesheng.springboot-parent</groupId> <groupId>com.tiesheng.springboot-parent</groupId>
<artifactId>springboot-parent</artifactId> <artifactId>springboot-parent</artifactId>
<version>2.0.17-scope-0.2-test</version> <version>2.0.17-test2</version>
</parent> </parent>
<artifactId>springboot-login</artifactId> <artifactId>springboot-login</artifactId>

View File

@@ -170,9 +170,8 @@ public class LoginController {
extra = ""; extra = "";
} }
String configUrl = globalConfig.buildPath("/login/wxmp/oauth2/" + service + "?extra=" + extra); String configUrl = globalConfig.buildPath("/login/wxmp/oauth2/" + service + "?extra=" + extra);
// String authorizationUrl = platformWxmpConfig.buildAuthorizationUrl(service, configUrl, "snsapi_base"); String authorizationUrl = platformWxmpConfig.buildAuthorizationUrl(service, configUrl);
// response.sendRedirect(authorizationUrl); response.sendRedirect(authorizationUrl);
response.sendRedirect(configUrl+"&to=mobile&code=200");
} }
@@ -182,13 +181,9 @@ public class LoginController {
@RequestMapping("/wxmp/oauth2/{service}") @RequestMapping("/wxmp/oauth2/{service}")
@OperationIgnore @OperationIgnore
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 = corePlatformUniqueService.login(new DoLoginInfo(wxUserInfo.getAppId(), TokenBean tokenBean = corePlatformUniqueService.login(new DoLoginInfo(wxUserInfo.getAppId(),
// wxUserInfo.getOpenid(), "wxmp", JSON.toJSONString(wxUserInfo))); wxUserInfo.getOpenid(), "wxmp", JSON.toJSONString(wxUserInfo)));
TokenBean tokenBean = new TokenBean();
tokenBean.setId("testid");
tokenBean.setRoleId("testroleid");
tokenBean.setExtra("testextra");
corePlatformUniqueService.redirect(tokenBean, dto.getTo(), dto.getExtra(), response); corePlatformUniqueService.redirect(tokenBean, dto.getTo(), dto.getExtra(), response);
} }

View File

@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.tiesheng.springboot-parent</groupId> <groupId>com.tiesheng.springboot-parent</groupId>
<artifactId>springboot-parent</artifactId> <artifactId>springboot-parent</artifactId>
<version>2.0.17-scope-0.2-test</version> <version>2.0.17-test2</version>
</parent> </parent>
<artifactId>springboot-message</artifactId> <artifactId>springboot-message</artifactId>

View File

@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.tiesheng.springboot-parent</groupId> <groupId>com.tiesheng.springboot-parent</groupId>
<artifactId>springboot-parent</artifactId> <artifactId>springboot-parent</artifactId>
<version>2.0.17-scope-0.2-test</version> <version>2.0.17-test2</version>
</parent> </parent>
<artifactId>springboot-platform</artifactId> <artifactId>springboot-platform</artifactId>

View File

@@ -19,6 +19,7 @@ import org.springframework.context.annotation.Configuration;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Objects;
/** /**
* @author hao * @author hao
@@ -122,12 +123,12 @@ public class PlatformWxmpConfig {
* *
* @return * @return
*/ */
public String buildAuthorizationUrl(String service, String redirectUrl, String scope) { public String buildAuthorizationUrl(String service, String redirectUrl) {
WxConfigBean configBean = getConfigBean(service); WxConfigBean configBean = getConfigBean(service);
return "https://open.weixin.qq.com/connect/oauth2/authorize" return "https://open.weixin.qq.com/connect/oauth2/authorize"
+ "?appid=" + configBean.getAppId() + "?appid=" + configBean.getAppId()
+ "&redirect_uri=" + URLUtil.encodeAll(redirectUrl) + "&redirect_uri=" + URLUtil.encodeAll(redirectUrl)
+ "&response_type=code&scope=" + scope + "&response_type=code&scope=" + configBean.getScope()
+ "&state=STATE#wechat_redirect"; + "&state=STATE#wechat_redirect";
} }
@@ -141,7 +142,15 @@ public class PlatformWxmpConfig {
public WxUserInfo getOAuth2AccessToken(String service, String code) { public WxUserInfo getOAuth2AccessToken(String service, String code) {
WxConfigBean configBean = getConfigBean(service); WxConfigBean configBean = getConfigBean(service);
WxOAuth2AccessToken wxOAuth2AccessToken = WxOAuth2AccessToken.create(configBean.getAppId(), configBean.getAppSecret(), code); WxOAuth2AccessToken wxOAuth2AccessToken = WxOAuth2AccessToken.create(configBean.getAppId(), configBean.getAppSecret(), code);
WxUserInfo wxUserInfo = WxUserInfo.create(wxOAuth2AccessToken);
WxUserInfo wxUserInfo = null;
if (Objects.equals(configBean.getScope(), "snsapi_userinfo")) {
wxUserInfo = WxUserInfo.create(wxOAuth2AccessToken);
} else {
wxUserInfo = new WxUserInfo();
wxUserInfo.setOpenid(wxOAuth2AccessToken.getOpenid());
wxUserInfo.setRealUser(wxOAuth2AccessToken.isRealUser());
}
wxUserInfo.setAppId(configBean.getAppId()); wxUserInfo.setAppId(configBean.getAppId());
return wxUserInfo; return wxUserInfo;
} }
@@ -162,7 +171,8 @@ public class PlatformWxmpConfig {
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// setter\getter // setter\getter
///////////////////////////////////////////////////////////////////////////
/// ////////////////////////////////////////////////////////////////////////
public Map<String, WxConfigBean> getConfigs() { public Map<String, WxConfigBean> getConfigs() {
return configs; return configs;

View File

@@ -7,10 +7,12 @@ public class WxConfigBean {
private String appId; private String appId;
private String appSecret; private String appSecret;
private String scope = "snsapi_userinfo";
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// setter\getter // setter\getter
///////////////////////////////////////////////////////////////////////////
/// ////////////////////////////////////////////////////////////////////////
public String getAppId() { public String getAppId() {
return appId; return appId;
@@ -27,4 +29,12 @@ public class WxConfigBean {
public void setAppSecret(String appSecret) { public void setAppSecret(String appSecret) {
this.appSecret = appSecret; this.appSecret = appSecret;
} }
public String getScope() {
return scope;
}
public void setScope(String scope) {
this.scope = scope;
}
} }

View File

@@ -11,6 +11,7 @@ public class WxOAuth2AccessToken {
private String accessToken; private String accessToken;
private String openid; private String openid;
private String isSnapshotuser;
public static WxOAuth2AccessToken create(String appId, String secret, String code) { public static WxOAuth2AccessToken create(String appId, String secret, String code) {
String response = OkHttpUtil.get("https://api.weixin.qq.com/sns/oauth2/access_token" + String response = OkHttpUtil.get("https://api.weixin.qq.com/sns/oauth2/access_token" +
@@ -23,10 +24,20 @@ public class WxOAuth2AccessToken {
return oAuth2AccessToken; return oAuth2AccessToken;
} }
/**
* 是否是真实用户
*
* @return
*/
public boolean isRealUser() {
return !"1".equals(isSnapshotuser);
}
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// setter\getter // setter\getter
///////////////////////////////////////////////////////////////////////////
/// ////////////////////////////////////////////////////////////////////////
public String getAccessToken() { public String getAccessToken() {
return accessToken; return accessToken;
@@ -43,4 +54,12 @@ public class WxOAuth2AccessToken {
public void setOpenid(String openid) { public void setOpenid(String openid) {
this.openid = openid; this.openid = openid;
} }
public String getIsSnapshotuser() {
return isSnapshotuser;
}
public void setIsSnapshotuser(String isSnapshotuser) {
this.isSnapshotuser = isSnapshotuser;
}
} }

View File

@@ -17,6 +17,7 @@ public class WxUserInfo {
private String headimgurl; private String headimgurl;
private String openid; private String openid;
private String appId; private String appId;
private boolean isRealUser;
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// 逻辑方法 // 逻辑方法
@@ -33,13 +34,16 @@ public class WxUserInfo {
String s = OkHttpUtil.get("https://api.weixin.qq.com/sns/userinfo" String s = OkHttpUtil.get("https://api.weixin.qq.com/sns/userinfo"
+ "?access_token=" + oAuth2AccessToken.getAccessToken() + "?access_token=" + oAuth2AccessToken.getAccessToken()
+ "&openid=" + oAuth2AccessToken.getOpenid() + "&lang=zh_CN"); + "&openid=" + oAuth2AccessToken.getOpenid() + "&lang=zh_CN");
return JSON.parseObject(s, WxUserInfo.class); WxUserInfo wxUserInfo = JSON.parseObject(s, WxUserInfo.class);
wxUserInfo.setRealUser(oAuth2AccessToken.isRealUser());
return wxUserInfo;
} }
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// setter\getter // setter\getter
///////////////////////////////////////////////////////////////////////////
/// ////////////////////////////////////////////////////////////////////////
public String getAccessToken() { public String getAccessToken() {
return accessToken; return accessToken;
@@ -112,4 +116,12 @@ public class WxUserInfo {
public void setAppId(String appId) { public void setAppId(String appId) {
this.appId = appId; this.appId = appId;
} }
public boolean isRealUser() {
return isRealUser;
}
public void setRealUser(boolean realUser) {
isRealUser = realUser;
}
} }

View File

@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.tiesheng.springboot-parent</groupId> <groupId>com.tiesheng.springboot-parent</groupId>
<artifactId>springboot-parent</artifactId> <artifactId>springboot-parent</artifactId>
<version>2.0.17-scope-0.2-test</version> <version>2.0.17-test2</version>
</parent> </parent>
<artifactId>springboot-role</artifactId> <artifactId>springboot-role</artifactId>

View File

@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.tiesheng.springboot-parent</groupId> <groupId>com.tiesheng.springboot-parent</groupId>
<artifactId>springboot-parent</artifactId> <artifactId>springboot-parent</artifactId>
<version>2.0.17-scope-0.2-test</version> <version>2.0.17-test2</version>
</parent> </parent>
<artifactId>springboot-util</artifactId> <artifactId>springboot-util</artifactId>

View File

@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.tiesheng.springboot-parent</groupId> <groupId>com.tiesheng.springboot-parent</groupId>
<artifactId>springboot-parent</artifactId> <artifactId>springboot-parent</artifactId>
<version>2.0.17-scope-0.2-test</version> <version>2.0.17-test2</version>
</parent> </parent>
<artifactId>springboot-web</artifactId> <artifactId>springboot-web</artifactId>