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
28 changed files with 108 additions and 150 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

View File

@@ -50,7 +50,7 @@
<repositories> <repositories>
<repository> <repository>
<id>kepai-repo</id> <id>kepai-repo</id>
<url>https://git.tieshengkeji.com/api/packages/tieshengkeji/maven</url> <url>http://git.kepai365.com/tiesheng/repository/raw/master</url>
</repository> </repository>
</repositories> </repositories>
``` ```

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.24</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.24</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.24</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.24</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.24</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.24</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.24</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.24</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.24</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.24</version> <version>2.0.17-test2</version>
</parent> </parent>
<artifactId>springboot-ademo</artifactId> <artifactId>springboot-ademo</artifactId>
<version>2.0.24</version> <version>2.0.17-test2</version>
<properties> <properties>
<maven.compiler.source>8</maven.compiler.source> <maven.compiler.source>8</maven.compiler.source>
@@ -46,8 +46,8 @@
<repositories> <repositories>
<repository> <repository>
<id>tiesheng-repo</id> <id>kepai-repo</id>
<url>https://git.tieshengkeji.com/api/packages/tieshengkeji/maven</url> <url>http://git.kepai365.com/tiesheng/repository/raw/master</url>
</repository> </repository>
</repositories> </repositories>

View File

@@ -12,7 +12,6 @@ import com.alibaba.fastjson.JSONObject;
import com.tiesheng.annotation.role.RoleAuthority; import com.tiesheng.annotation.role.RoleAuthority;
import com.tiesheng.annotation.token.TokenIgnore; import com.tiesheng.annotation.token.TokenIgnore;
import com.tiesheng.database.config.DbBackupConfig; import com.tiesheng.database.config.DbBackupConfig;
import com.tiesheng.demo.pojos.CustTokenBean;
import com.tiesheng.demo.pojos.JsonTest; import com.tiesheng.demo.pojos.JsonTest;
import com.tiesheng.demo.pojos.PoiBean; import com.tiesheng.demo.pojos.PoiBean;
import com.tiesheng.platform.config.ding.PlatformDingConfig; import com.tiesheng.platform.config.ding.PlatformDingConfig;
@@ -44,6 +43,7 @@ import java.util.function.Consumer;
*/ */
@RestController @RestController
@RequestMapping("/test") @RequestMapping("/test")
@RoleAuthority(value = "test", group = "test")
public class TestController { public class TestController {
@Autowired @Autowired
@@ -65,6 +65,7 @@ public class TestController {
@RequestMapping("/index") @RequestMapping("/index")
@TokenIgnore
public void index(HttpServletResponse response) { public void index(HttpServletResponse response) {
globalConfig.redirectWithVer("mobile", "/test", response); globalConfig.redirectWithVer("mobile", "/test", response);
} }
@@ -112,9 +113,8 @@ public class TestController {
@GetMapping("/send") @GetMapping("/send")
public ApiResp<String> sendMessage(CustTokenBean tokenBean) { @TokenIgnore
public ApiResp<String> sendMessage() {
tokenBean.test();
// MessageReqResp reqResp = coreMessageService.send(new UserChannel("13567116463", "sms"), // MessageReqResp reqResp = coreMessageService.send(new UserChannel("13567116463", "sms"),
// JSONUtil.createObj().putOpt("action", "sms-visitor-invite")); // JSONUtil.createObj().putOpt("action", "sms-visitor-invite"));

View File

@@ -1,12 +0,0 @@
package com.tiesheng.demo.pojos;
import com.tiesheng.util.pojos.TokenBean;
public class CustTokenBean extends TokenBean {
public void test() {
System.out.println("test: " + getId());
}
}

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.24</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.24</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.24</version> <version>2.0.17-test2</version>
</parent> </parent>
<artifactId>springboot-login</artifactId> <artifactId>springboot-login</artifactId>

View File

@@ -1,6 +1,5 @@
package com.tiesheng.login.config; package com.tiesheng.login.config;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.tiesheng.annotation.token.TokenIgnore; import com.tiesheng.annotation.token.TokenIgnore;
@@ -41,7 +40,7 @@ public class TokenWebMvcConfigurer implements WebMvcConfigurer {
resolvers.add(new HandlerMethodArgumentResolver() { resolvers.add(new HandlerMethodArgumentResolver() {
@Override @Override
public boolean supportsParameter(MethodParameter parameter) { public boolean supportsParameter(MethodParameter parameter) {
return TokenBean.class.isAssignableFrom(parameter.getParameterType()); return parameter.getParameterType().isAssignableFrom(TokenBean.class);
} }
@Override @Override
@@ -55,9 +54,7 @@ public class TokenWebMvcConfigurer implements WebMvcConfigurer {
TokenIgnore annotation = method.getAnnotation(TokenIgnore.class); TokenIgnore annotation = method.getAnnotation(TokenIgnore.class);
thrExp = annotation == null; thrExp = annotation == null;
} }
return tsTokenConfig.validToken(header, thrExp);
TokenBean tokenBean = tsTokenConfig.validToken(header, thrExp);
return BeanUtil.copyProperties(tokenBean, parameter.getParameterType());
} }
}); });
} }

View File

@@ -170,7 +170,7 @@ 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_userinfo"); String authorizationUrl = platformWxmpConfig.buildAuthorizationUrl(service, configUrl);
response.sendRedirect(authorizationUrl); response.sendRedirect(authorizationUrl);
} }

View File

@@ -68,7 +68,7 @@ public interface TsLoginConfigurer {
/** /**
* 获取登录失败的次数,默认0次不校验 * 获取登录失败的次数,默认5次
* *
* @return * @return
*/ */

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.24</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.24</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.24</version> <version>2.0.17-test2</version>
</parent> </parent>
<artifactId>springboot-role</artifactId> <artifactId>springboot-role</artifactId>

View File

@@ -13,7 +13,6 @@ import com.tiesheng.role.pojos.vo.GroupTypeDTO;
import com.tiesheng.role.pojos.vo.ServiceMenuVO; import com.tiesheng.role.pojos.vo.ServiceMenuVO;
import com.tiesheng.role.service.CoreRoleService; import com.tiesheng.role.service.CoreRoleService;
import com.tiesheng.util.pojos.ApiResp; import com.tiesheng.util.pojos.ApiResp;
import com.tiesheng.util.pojos.DaoBase;
import com.tiesheng.util.pojos.TokenBean; import com.tiesheng.util.pojos.TokenBean;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
@@ -44,14 +43,6 @@ public class CommRoleController {
List<CoreRoleAuthority> allOwnerMenus = coreRoleService.getOwnerAuthorityLeafList(tokenBean.getId(), tokenBean.getRoleId()); List<CoreRoleAuthority> allOwnerMenus = coreRoleService.getOwnerAuthorityLeafList(tokenBean.getId(), tokenBean.getRoleId());
List<String> list = allOwnerMenus.stream().map(CoreRoleAuthority::getService).collect(Collectors.toList()); List<String> list = allOwnerMenus.stream().map(CoreRoleAuthority::getService).collect(Collectors.toList());
// 添加公开服务
list.addAll(coreRoleService.getServerMapper().selectList(new QueryWrapper<CoreRoleServer>()
.eq("is_public", 1).eq("is_deleted", 0).eq("is_open", 1)
).stream().map(DaoBase::getId).collect(Collectors.toList()));
// 去除重复
list = CollUtil.distinct(list);
List<CoreRoleServer> roleServerList = new ArrayList<>(); List<CoreRoleServer> roleServerList = new ArrayList<>();
if (CollUtil.isNotEmpty(list)) { if (CollUtil.isNotEmpty(list)) {
roleServerList = coreRoleService.getServerMapper().selectList(new QueryWrapper<CoreRoleServer>() roleServerList = coreRoleService.getServerMapper().selectList(new QueryWrapper<CoreRoleServer>()

View File

@@ -66,12 +66,6 @@ public class CoreRoleServer extends DaoBase {
@TableField(value = "ext3") @TableField(value = "ext3")
private String ext3; private String ext3;
/**
* 是否公开
*/
@TableField(value = "is_public")
private Integer isPublic;
/** /**
* 获取名称 * 获取名称
* *
@@ -233,22 +227,4 @@ public class CoreRoleServer extends DaoBase {
public void setExt3(String ext3) { public void setExt3(String ext3) {
this.ext3 = ext3; this.ext3 = ext3;
} }
/**
* 获取是否公开
*
* @return is_public - 是否公开
*/
public Integer getIsPublic() {
return isPublic;
}
/**
* 设置是否公开
*
* @param isPublic 是否公开
*/
public void setIsPublic(Integer isPublic) {
this.isPublic = isPublic;
}
} }

View File

@@ -1,3 +0,0 @@
alter table core_role_server
add is_public int default 0 null comment '是否公开';

View File

@@ -17,11 +17,10 @@
<result column="ext1" jdbcType="VARCHAR" property="ext1" /> <result column="ext1" jdbcType="VARCHAR" property="ext1" />
<result column="ext2" jdbcType="VARCHAR" property="ext2" /> <result column="ext2" jdbcType="VARCHAR" property="ext2" />
<result column="ext3" jdbcType="VARCHAR" property="ext3" /> <result column="ext3" jdbcType="VARCHAR" property="ext3" />
<result column="is_public" jdbcType="INTEGER" property="isPublic" />
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
<!--@mbg.generated--> <!--@mbg.generated-->
id, create_time, update_time, is_deleted, `name`, remark, logo, sort, is_open, link, id, create_time, update_time, is_deleted, `name`, remark, logo, sort, is_open, link,
ext1, ext2, ext3, is_public ext1, ext2, ext3
</sql> </sql>
</mapper> </mapper>

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.24</version> <version>2.0.17-test2</version>
</parent> </parent>
<artifactId>springboot-util</artifactId> <artifactId>springboot-util</artifactId>

View File

@@ -16,7 +16,7 @@ import javax.annotation.PostConstruct;
@ConfigurationProperties(prefix = "tiesheng.ip2region") @ConfigurationProperties(prefix = "tiesheng.ip2region")
public class Ip2regionConfig { public class Ip2regionConfig {
private String dbUrl = "https://git.tieshengkeji.com/tieshengkeji/Ip2region/raw/branch/main/ip2region.xdb"; private String dbUrl = "http://git.kepai365.com/tiesheng/repository/raw/master/ipdb/ip2region.xdb";
private String dbPath = System.getProperty("user.dir") + "/runtime/ip2region/ip2region.xdb"; private String dbPath = System.getProperty("user.dir") + "/runtime/ip2region/ip2region.xdb";
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////

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.24</version> <version>2.0.17-test2</version>
</parent> </parent>
<artifactId>springboot-web</artifactId> <artifactId>springboot-web</artifactId>

View File

@@ -51,7 +51,7 @@ public class CoreConfigService extends TsServiceBase<CoreConfigSystemMapper, Cor
oneByColumn.setId(configKey); oneByColumn.setId(configKey);
oneByColumn.setConfigKey(configKey); oneByColumn.setConfigKey(configKey);
oneByColumn.setConfigVal(defaultValue); oneByColumn.setConfigVal(defaultValue);
oneByColumn.setRemark(configKey); oneByColumn.setRemark(defaultValue);
oneByColumn.setConfigType(0); oneByColumn.setConfigType(0);
save(oneByColumn); save(oneByColumn);
} }
@@ -68,20 +68,19 @@ public class CoreConfigService extends TsServiceBase<CoreConfigSystemMapper, Cor
* @param dto * @param dto
*/ */
public void updateConfigSystem(ConfigSystemDTO dto) { public void updateConfigSystem(ConfigSystemDTO dto) {
CoreConfigSystem coreConfigSystem = getOneByColumn("config_key", dto.getConfigKey()); CoreConfigSystem configKey = getOneByColumn("config_key", dto.getConfigKey());
if (coreConfigSystem == null) { if (configKey == null) {
throw new ApiException("该配置不存在,请检查"); throw new ApiException("该配置不存在,请检查");
} }
if (coreConfigSystem.getReadOnly() == 1) { if (configKey.getReadOnly() == 1) {
throw new ApiException("该配置只读,不可修改"); throw new ApiException("该配置只读,不可修改");
} }
coreConfigSystem.setConfigVal(dto.getConfigVal()); configKey.setConfigVal(dto.getConfigVal());
coreConfigSystem.setRemark(dto.getRemark()); configKey.setRemark(dto.getRemark());
coreConfigSystem.setExtra(dto.getExtra()); configKey.setExtra(dto.getExtra());
updateById(coreConfigSystem); updateById(configKey);
tsCacheService.putObj(CONFIG_SYSTEM_PREFIX + coreConfigSystem.getConfigKey(), tsCacheService.putObj(CONFIG_SYSTEM_PREFIX + configKey, configKey, 10 * 60);
coreConfigSystem, 10 * 60);
} }

View File

@@ -2,6 +2,7 @@ package com.tiesheng.web.service;
import cn.hutool.core.thread.ThreadUtil; import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.tiesheng.web.mapper.CoreLogApiMapper; import com.tiesheng.web.mapper.CoreLogApiMapper;
import com.tiesheng.web.pojos.dao.CoreLogApi; import com.tiesheng.web.pojos.dao.CoreLogApi;
@@ -11,8 +12,6 @@ import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.io.IOException;
import java.util.Objects;
@Component @Component
public class OkHttpLogInterceptor implements Interceptor { public class OkHttpLogInterceptor implements Interceptor {
@@ -23,14 +22,11 @@ public class OkHttpLogInterceptor implements Interceptor {
@NotNull @NotNull
@Override @Override
public Response intercept(@NotNull Chain chain) throws IOException { public Response intercept(@NotNull Chain chain) {
Request request = chain.request();
if (Objects.equals(request.header("skipApiLog"), "true")) {
return chain.proceed(request);
}
CoreLogApi logApi = new CoreLogApi(); CoreLogApi logApi = new CoreLogApi();
Request request = chain.request();
logApi.setUrl(request.url().toString()); logApi.setUrl(request.url().toString());
logApi.setContent(requestBody2String(request)); logApi.setContent(requestBody2String(request));
@@ -51,29 +47,10 @@ public class OkHttpLogInterceptor implements Interceptor {
} }
} catch (Exception e) { } catch (Exception e) {
JSONObject object = new JSONObject(); JSONObject object = new JSONObject();
object.put("code", 500); object.put("code", -1);
object.put("message", e.getMessage()); object.put("message", JSON.toJSONString(e));
object.put("exception", e); object.put("exception", e);
logApi.setRespBody(object.toJSONString()); logApi.setRespBody(object.toJSONString());
response = new Response.Builder()
// 必须设置请求对象
.request(chain.request())
// 指定协议版本
.protocol(Protocol.HTTP_1_1)
// 设置HTTP状态码
.code(object.getInteger("code"))
// 状态信息
.message(object.getString("message"))
// 设置响应体
.body(ResponseBody.create(MediaType.parse("application/json"), object.toJSONString()))
.headers(new Headers.Builder().build()) // 可选:设置响应头
.build();
} }
ThreadUtil.execute(() -> coreLogApiMapper.insert(logApi)); ThreadUtil.execute(() -> coreLogApiMapper.insert(logApi));