新增properties模块

This commit is contained in:
wanggeng888 2021-04-09 20:19:31 +08:00
parent 57e7d5aea7
commit 4d83f49ca6
34 changed files with 193 additions and 84 deletions

28
basic-properties/pom.xml Normal file
View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>wg-basic</artifactId>
<groupId>ink.wgink</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>basic-properties</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</dependency>
<!-- springboot start -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
<scope>compile</scope>
</dependency>
<!-- springboot end -->
</dependencies>
</project>

View File

@ -1,4 +1,4 @@
package ink.wgink.common.config.properties;
package ink.wgink.properties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

View File

@ -1,4 +1,4 @@
package ink.wgink.login.base.config;
package ink.wgink.properties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@ -12,7 +12,7 @@ import org.springframework.stereotype.Component;
**/
@Component
@ConfigurationProperties(prefix = "spring")
public class BaseConfig {
public class BaseProperties {
private String loginUrl;
private String loginFailure;

View File

@ -1,4 +1,4 @@
package ink.wgink.common.config.properties;
package ink.wgink.properties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
**/
@Component
@ConfigurationProperties(prefix = "server")
public class ServerProperties {
public class ClientServerProperties {
private Integer port;
private String url;

View File

@ -1,4 +1,4 @@
package ink.wgink.module.file.config.properties;
package ink.wgink.properties;
/**
* When you feel like quitting. Think about why you started

View File

@ -1,4 +1,4 @@
package ink.wgink.module.file.config.properties;
package ink.wgink.properties;
/**
* When you feel like quitting. Think about why you started

View File

@ -1,4 +1,4 @@
package ink.wgink.module.file.config.properties;
package ink.wgink.properties;
/**
* When you feel like quitting. Think about why you started

View File

@ -1,4 +1,7 @@
package ink.wgink.module.file.config.properties;
package ink.wgink.properties;
import ink.wgink.properties.FileMediaAppMaxDurationProperties;
import ink.wgink.properties.FileMediaBackendMaxDurationProperties;
/**
* When you feel like quitting. Think about why you started

View File

@ -1,4 +1,6 @@
package ink.wgink.module.file.config.properties;
package ink.wgink.properties;
import ink.wgink.properties.FileMediaBaseMaxDurationProperties;
/**
* When you feel like quitting. Think about why you started

View File

@ -1,4 +1,4 @@
package ink.wgink.module.file.config.properties;
package ink.wgink.properties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

View File

@ -1,4 +1,4 @@
package ink.wgink.login.wechat.config.properties;
package ink.wgink.properties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@ -19,7 +19,6 @@ public class MiniAppProperties {
private Boolean active;
private String authorizeUrl;
private String bindUserUrl;
private String grantType;
private String appKey;
private String appSecret;
@ -40,14 +39,6 @@ public class MiniAppProperties {
this.authorizeUrl = authorizeUrl;
}
public String getBindUserUrl() {
return bindUserUrl == null ? "" : bindUserUrl;
}
public void setBindUserUrl(String bindUserUrl) {
this.bindUserUrl = bindUserUrl;
}
public String getGrantType() {
return grantType == null ? "" : grantType;
}
@ -79,8 +70,6 @@ public class MiniAppProperties {
.append(active);
sb.append(",\"authorizeUrl\":\"")
.append(authorizeUrl).append('\"');
sb.append(",\"bindUserUrl\":\"")
.append(bindUserUrl).append('\"');
sb.append(",\"grantType\":\"")
.append(grantType).append('\"');
sb.append(",\"appKey\":\"")

View File

@ -1,4 +1,4 @@
package ink.wgink.login.base.config.properties;
package ink.wgink.properties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
**/
@Component
@ConfigurationProperties(prefix = "server")
public class SystemProperties {
public class ServerProperties {
/**
* 服务端口

View File

@ -1,4 +1,4 @@
package ink.wgink.common.config.properties;
package ink.wgink.properties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

View File

@ -13,14 +13,6 @@
<dependencies>
<!-- Spring start -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>

View File

@ -32,14 +32,11 @@
<artifactId>basic-annotation</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<!-- springboot start -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
<scope>compile</scope>
<groupId>ink.wgink</groupId>
<artifactId>basic-properties</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<!-- springboot end -->
<!-- pagerhelper start -->
<dependency>

View File

@ -1,7 +1,6 @@
package ink.wgink.common.config;
import ink.wgink.common.config.properties.TransactionProperties;
import ink.wgink.exceptions.SaveException;
import ink.wgink.properties.TransactionProperties;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.aop.Advisor;
import org.springframework.aop.aspectj.AspectJExpressionPointcut;

View File

@ -2,10 +2,10 @@ package ink.wgink.common.service.rbac.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import ink.wgink.common.config.properties.AccessControlProperties;
import ink.wgink.common.service.rbac.IRbacService;
import ink.wgink.interfaces.consts.ISystemConstant;
import ink.wgink.pojo.bos.RoleGrantedAuthorityBO;
import ink.wgink.properties.AccessControlProperties;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@ -77,4 +77,8 @@ public interface IUserCenterConst {
* 登录框位置
*/
String LOGIN_BOX_POSITION = "loginBoxPosition";
/**
* 菜单模式
*/
String MENU_MODE = "menuMode";
}

View File

@ -4,12 +4,12 @@ import ink.wgink.common.component.SecurityComponent;
import ink.wgink.interfaces.consts.ISystemConstant;
import ink.wgink.interfaces.menu.IMenuBaseService;
import ink.wgink.interfaces.role.IRoleMenuBaseService;
import ink.wgink.login.base.config.properties.SystemProperties;
import ink.wgink.login.base.consts.IUserCenterConst;
import ink.wgink.login.base.manager.ConfigManager;
import ink.wgink.pojo.bos.UserInfoBO;
import ink.wgink.pojo.dtos.menu.MenuDTO;
import ink.wgink.pojo.pos.RolePO;
import ink.wgink.properties.ServerProperties;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
@ -38,7 +38,7 @@ public class IndexRouteController {
@Autowired
private SecurityComponent securityComponent;
@Autowired
private SystemProperties systemProperties;
private ServerProperties serverProperties;
@Autowired(required = false)
private IMenuBaseService menuBaseService;
@Autowired(required = false)
@ -46,8 +46,8 @@ public class IndexRouteController {
@GetMapping("index")
public ModelAndView goIndex() {
if (!StringUtils.isBlank(systemProperties.getDefaultIndexPage())) {
return new ModelAndView(new RedirectView(systemProperties.getDefaultHomePage()));
if (!StringUtils.isBlank(serverProperties.getDefaultIndexPage())) {
return new ModelAndView(new RedirectView(serverProperties.getDefaultHomePage()));
}
return new ModelAndView("forward:/default-main");
}
@ -66,12 +66,12 @@ public class IndexRouteController {
if (!Objects.isNull(config.get(IUserCenterConst.SYSTEM_TITLE)) && !StringUtils.isBlank(config.get(IUserCenterConst.SYSTEM_TITLE).toString())) {
mv.addObject(IUserCenterConst.SYSTEM_TITLE, config.get(IUserCenterConst.SYSTEM_TITLE).toString());
} else {
mv.addObject(IUserCenterConst.SYSTEM_TITLE, systemProperties.getSystemTitle());
mv.addObject(IUserCenterConst.SYSTEM_TITLE, serverProperties.getSystemTitle());
}
if (!Objects.isNull(config.get(IUserCenterConst.SYSTEM_SUB_TITLE)) && !StringUtils.isBlank(config.get(IUserCenterConst.SYSTEM_SUB_TITLE).toString())) {
mv.addObject(IUserCenterConst.SYSTEM_SUB_TITLE, config.get(IUserCenterConst.SYSTEM_SUB_TITLE).toString());
} else {
mv.addObject(IUserCenterConst.SYSTEM_SUB_TITLE, systemProperties.getSystemSubTitle());
mv.addObject(IUserCenterConst.SYSTEM_SUB_TITLE, serverProperties.getSystemSubTitle());
}
// 系统LOGO
if (!Objects.isNull(config.get(IUserCenterConst.SYSTEM_LOGO)) && !StringUtils.isBlank(config.get(IUserCenterConst.SYSTEM_LOGO).toString())) {
@ -79,7 +79,11 @@ public class IndexRouteController {
} else {
mv.addObject(IUserCenterConst.SYSTEM_LOGO, "");
}
mv.addObject("ws", systemProperties.getWs());
mv.addObject("ws", serverProperties.getWs());
// 菜单模式
if (!Objects.isNull(config.get(IUserCenterConst.MENU_MODE)) && !StringUtils.isBlank(config.get(IUserCenterConst.MENU_MODE).toString())) {
mv.addObject(IUserCenterConst.MENU_MODE, config.get(IUserCenterConst.MENU_MODE).toString());
}
if (menuBaseService != null) {
List<MenuDTO> menus;
if (StringUtils.equalsIgnoreCase(ISystemConstant.ADMIN, userInfoBO.getUserUsername())) {
@ -117,8 +121,8 @@ public class IndexRouteController {
@GetMapping("default-home")
public ModelAndView defaultHome() {
ModelAndView mv;
if (!StringUtils.isBlank(systemProperties.getDefaultHomePage())) {
mv = new ModelAndView(new RedirectView(systemProperties.getDefaultHomePage()));
if (!StringUtils.isBlank(serverProperties.getDefaultHomePage())) {
mv = new ModelAndView(new RedirectView(serverProperties.getDefaultHomePage()));
} else {
mv = new ModelAndView("default-home");
}

View File

@ -1,9 +1,9 @@
package ink.wgink.login.base.controller.route;
import ink.wgink.interfaces.consts.ISystemConstant;
import ink.wgink.login.base.config.properties.SystemProperties;
import ink.wgink.login.base.consts.IUserCenterConst;
import ink.wgink.login.base.manager.ConfigManager;
import ink.wgink.properties.ServerProperties;
import ink.wgink.util.verification.code.Captcha;
import ink.wgink.util.verification.code.GifCaptcha;
import ink.wgink.util.verification.code.SpecCaptcha;
@ -38,7 +38,7 @@ import java.util.Objects;
public class OAuthRouteController {
@Autowired
private SystemProperties systemProperties;
private ServerProperties serverProperties;
/**
* 登录
@ -48,7 +48,7 @@ public class OAuthRouteController {
@GetMapping("login")
public ModelAndView login(HttpServletRequest request) {
ModelAndView mv = new ModelAndView("login");
mv.addObject(IUserCenterConst.SERVER_URL, systemProperties.getUrl());
mv.addObject(IUserCenterConst.SERVER_URL, serverProperties.getUrl());
if (request.getParameter(IUserCenterConst.ERROR) != null) {
mv.addObject(IUserCenterConst.ERROR_MESSAGE, request.getSession().getAttribute(IUserCenterConst.ERROR_MESSAGE));
}
@ -69,7 +69,7 @@ public class OAuthRouteController {
if (!Objects.isNull(config.get(IUserCenterConst.SYSTEM_TITLE)) && !StringUtils.isBlank(config.get(IUserCenterConst.SYSTEM_TITLE).toString())) {
mv.addObject(IUserCenterConst.SYSTEM_TITLE, config.get(IUserCenterConst.SYSTEM_TITLE).toString());
} else {
mv.addObject(IUserCenterConst.SYSTEM_TITLE, systemProperties.getSystemTitle());
mv.addObject(IUserCenterConst.SYSTEM_TITLE, serverProperties.getSystemTitle());
}
// 系统标题大小
if (!Objects.isNull(config.get(IUserCenterConst.SYSTEM_SUB_TITLE_SIZE)) && Integer.parseInt(config.get(IUserCenterConst.SYSTEM_SUB_TITLE_SIZE).toString()) > 12) {
@ -81,7 +81,7 @@ public class OAuthRouteController {
if (!Objects.isNull(config.get(IUserCenterConst.SYSTEM_SUB_TITLE)) && !StringUtils.isBlank(config.get(IUserCenterConst.SYSTEM_SUB_TITLE).toString())) {
mv.addObject(IUserCenterConst.SYSTEM_SUB_TITLE, config.get(IUserCenterConst.SYSTEM_SUB_TITLE).toString());
} else {
mv.addObject(IUserCenterConst.SYSTEM_SUB_TITLE, systemProperties.getSystemSubTitle());
mv.addObject(IUserCenterConst.SYSTEM_SUB_TITLE, serverProperties.getSystemSubTitle());
}
// 系统子标题大小
if (!Objects.isNull(config.get(IUserCenterConst.SYSTEM_SUB_TITLE_SIZE)) && Integer.parseInt(config.get(IUserCenterConst.SYSTEM_SUB_TITLE_SIZE).toString()) > 12) {

View File

@ -66,6 +66,9 @@ public class ConfigVO {
private String scanCodeLogin;
@ApiModelProperty(name = "loginBoxPosition", value = "登录框位置")
private String loginBoxPosition;
@ApiModelProperty(name = "menuMode", value = "菜单模式")
@CheckEmptyAnnotation(name = "菜单模式", types = {"fixedLeft", "floatLeft"})
private String menuMode;
public String getPasswordValidity() {
return passwordValidity == null ? "" : passwordValidity.trim();
@ -218,4 +221,12 @@ public class ConfigVO {
public void setLoginBoxPosition(String loginBoxPosition) {
this.loginBoxPosition = loginBoxPosition;
}
public String getMenuMode() {
return menuMode == null ? "" : menuMode;
}
public void setMenuMode(String menuMode) {
this.menuMode = menuMode;
}
}

View File

@ -1,12 +1,12 @@
package ink.wgink.login.base.security;
import ink.wgink.common.handler.AccessDenyHandler;
import ink.wgink.login.base.config.BaseConfig;
import ink.wgink.login.base.handler.LoginFailureHandler;
import ink.wgink.login.base.handler.LogoutHandler;
import ink.wgink.login.base.security.user.UserSecurityConfig;
import ink.wgink.login.base.service.user.UserDetailServiceImpl;
import ink.wgink.login.base.service.user.UserLoginService;
import ink.wgink.properties.BaseProperties;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.security.authentication.AuthenticationManager;
@ -26,7 +26,7 @@ import org.springframework.security.crypto.password.PasswordEncoder;
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private BaseConfig baseConfig;
private BaseProperties baseProperties;
@Autowired
private UserDetailServiceImpl userDetailService;
@Autowired
@ -36,12 +36,12 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
LoginFailureHandler loginFailureHandler = new LoginFailureHandler(baseConfig.getLoginFailure());
LoginFailureHandler loginFailureHandler = new LoginFailureHandler(baseProperties.getLoginFailure());
http
.formLogin()
.loginPage(baseConfig.getLoginUrl())
.loginProcessingUrl(baseConfig.getLoginProcess())
.failureForwardUrl(baseConfig.getLoginUrl())
.loginPage(baseProperties.getLoginUrl())
.loginProcessingUrl(baseProperties.getLoginProcess())
.failureForwardUrl(baseProperties.getLoginUrl())
.failureHandler(loginFailureHandler)
.and()
.logout()
@ -52,17 +52,17 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
.disable()
.and()
.authorizeRequests()
.antMatchers(baseConfig.getAssetsMatchers(),
baseConfig.getLoginUrl(),
baseConfig.getLoginProcess(),
baseConfig.getLoginFailure(),
.antMatchers(baseProperties.getAssetsMatchers(),
baseProperties.getLoginUrl(),
baseProperties.getLoginProcess(),
baseProperties.getLoginFailure(),
"/oauth/**",
"/oauth_client/**",
"/app/**",
"/approute/**",
"/wechat/**",
"/wechatroute/**",
"/wxminiapp/**",
"/wechat/route/**",
"/wechat/miniapp/**",
"/route/file/**",
"/api/sms/getverificationcode/*",
"/api/user/getsignintype/**")
@ -96,7 +96,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
UserSecurityConfig userSecurityConfig = new UserSecurityConfig();
userSecurityConfig.setUserDetailService(userDetailService);
userSecurityConfig.setPasswordEncoder(passwordEncoder);
userSecurityConfig.setLoginProcessUrl(baseConfig.getLoginProcess());
userSecurityConfig.setLoginProcessUrl(baseProperties.getLoginProcess());
userSecurityConfig.setLoginFailureHandler(loginFailureHandler);
userSecurityConfig.setUserLoginService(userLoginService);
http.apply(userSecurityConfig);

View File

@ -218,6 +218,13 @@
<input type="radio" name="scanCodeLogin" value="dingDingScanCode" title="钉钉(需要设置通讯录权限,访问白名单)" th:if="${dingDingScanLogin eq 'dingDingScanLogin'}">
</div>
</div>
<div class="layui-form-item" style="margin: 4px 0;">
<div class="layui-form-mid layui-word-aux">菜单模式</div>
<div class="layui-input-inline" style="width: 400px;">
<input type="radio" name="menuMode" value="fixedLeft" title="左固定" checked>
<input type="radio" name="menuMode" value="floatLeft" title="左浮动">
</div>
</div>
</div>
</div>
<div class="layui-form-item layui-layout-admin">
@ -386,7 +393,8 @@
verificationCode: data.verificationCode,
uKeyLogin: data.uKeyLogin,
scanCodeLogin: data.scanCodeLogin,
loginBoxPosition: data.loginBoxPosition
loginBoxPosition: data.loginBoxPosition,
menuMode: data.menuMode
});
form.render(null, 'dataForm');
if(data.systemLogo) {

View File

@ -11,6 +11,11 @@
<link rel="stylesheet" href="assets/fonts/font-awesome/css/font-awesome.css">
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
<link rel="stylesheet" href="assets/layuiadmin/style/default-main.css" media="all">
<style th:if="${menuMode eq 'floatLeft'}">
.layui-side-menu-hidden {display: none;}
.layui-layout-admin .layui-layout-left, .layadmin-pagetabs, .layui-layout-admin .layui-body, .layui-layout-admin .layui-footer {left: 0px}
</style>
</head>
<body class="layui-layout-body">
<div id="LAY_app">
@ -18,7 +23,7 @@
<div class="layui-header">
<!-- 头部区域 -->
<ul class="layui-nav layui-layout-left">
<li class="layui-nav-item layadmin-flexible" lay-unselect>
<li class="layui-nav-item layadmin-flexible layui-side-menu-show" lay-unselect>
<a href="javascript:void(0);" layadmin-event="flexible" title="侧边伸缩">
<i class="layui-icon layui-icon-shrink-right" id="LAY_app_flexible"></i>
</a>
@ -71,7 +76,7 @@
</div>
<!-- 侧边菜单 -->
<div class="layui-side layui-side-menu">
<div id="sideMenu" class="layui-side layui-side-menu layui-side-menu-hidden">
<div class="layui-side-scroll">
<div class="layui-logo">
<img th:src="'route/file/download/true/'+ ${systemLogo}" style="width: 32px; height: 32px;" th:if="${systemLogo ne ''}">
@ -121,7 +126,7 @@
</div>
<!-- 页面标签 -->
<div class="layadmin-pagetabs" id="LAY_app_tabs">
<div class="layadmin-pagetabs auto-hide-menu" id="LAY_app_tabs">
<div class="layui-icon layadmin-tabs-control layui-icon-prev" layadmin-event="leftPage"></div>
<div class="layui-icon layadmin-tabs-control layui-icon-next" layadmin-event="rightPage"></div>
<div class="layui-icon layadmin-tabs-control layui-icon-down">
@ -144,7 +149,7 @@
</div>
<!-- 主体内容 -->
<div class="layui-body" id="LAY_app_body">
<div class="layui-body auto-hide-menu" id="LAY_app_body">
<div class="layadmin-tabsbody-item layui-show">
<iframe id="defaultIFrame" frameborder="0" class="layadmin-iframe"></iframe>
</div>
@ -160,7 +165,8 @@
base: 'assets/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'restajax', 'datamessage', 'dialog'], function() {
}).use(['index', 'element', 'restajax', 'datamessage', 'dialog'], function() {
var element = layui.element;
var $ = layui.$;
var layer = layui.layer;
@ -205,6 +211,27 @@
window.location.href = 'oauth/logout';
});
});
/** 左浮动菜单 start **/
var hideSideMenuTimeout = null;
$('.layui-side-menu-show').on('mouseover', function(event) {
$('#sideMenu').removeClass('layui-side-menu-hidden');
});
$('#sideMenu').on('mouseout', function(event) {
if(hideSideMenuTimeout) {
return;
}
hideSideMenuTimeout = setTimeout(function() {
$('#sideMenu').addClass('layui-side-menu-hidden')
}, 100);
});
$('#sideMenu').on('mouseover', function(event) {
if(hideSideMenuTimeout) {
clearTimeout(hideSideMenuTimeout);
hideSideMenuTimeout = null;
}
});
/** 左浮动菜单 end **/
});
</script>
</body>

View File

@ -7,7 +7,7 @@ import ink.wgink.exceptions.WechatAccessTokenForUserException;
import ink.wgink.exceptions.WechatUserInfoException;
import ink.wgink.interfaces.consts.ISystemConstant;
import ink.wgink.login.base.service.BaseAppSignService;
import ink.wgink.login.wechat.config.properties.MiniAppProperties;
import ink.wgink.properties.MiniAppProperties;
import ink.wgink.login.wechat.pojo.bos.user.MiniAppUserInfoBO;
import ink.wgink.login.wechat.pojo.vos.sign.MiniAppLoginVO;
import ink.wgink.login.wechat.service.sign.IMiniAppSignService;

View File

@ -0,0 +1,40 @@
package ink.wgink.login.wechat.startup;
import ink.wgink.login.wechat.dao.user.IMiniAppUserDao;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;
/**
* When you feel like quitting. Think about why you started
* 当你想要放弃的时候想想当初你为何开始
*
* @ClassName: LoginWechatStartUp
* @Description: 微信登录
* @Author: wanggeng
* @Date: 2021/4/9 11:44 上午
* @Version: 1.0
*/
@Component
public class LoginWechatStartUp implements ApplicationRunner {
private static final Logger LOG = LoggerFactory.getLogger(LoginWechatStartUp.class);
@Autowired
private IMiniAppUserDao miniAppUserDao;
@Override
public void run(ApplicationArguments args) throws Exception {
initTable();
}
/**
* 建表
*/
private void initTable() {
LOG.debug("创建 wechat_mini_app_user 表");
miniAppUserDao.createTable();
}
}

View File

@ -14,7 +14,7 @@
<!-- 建表 -->
<update id="createTable">
CREATE TABLE `wechat_mini_app_user` (
CREATE TABLE IF NOT EXISTS `wechat_mini_app_user` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`app_id` varchar(255) DEFAULT NULL COMMENT 'appid',
`open_id` varchar(255) DEFAULT NULL COMMENT 'openid',

View File

@ -3,7 +3,7 @@ package ink.wgink.module.file.controller.api;
import com.alibaba.fastjson.JSONObject;
import ink.wgink.common.base.DefaultBaseController;
import ink.wgink.interfaces.consts.ISystemConstant;
import ink.wgink.module.file.config.properties.FileProperties;
import ink.wgink.properties.FileProperties;
import ink.wgink.module.file.enums.UploadTypeEnum;
import ink.wgink.module.file.pojo.dtos.FileDTO;
import ink.wgink.module.file.pojo.dtos.FileInfoDTO;

View File

@ -3,7 +3,7 @@ package ink.wgink.module.file.controller.app.api;
import com.alibaba.fastjson.JSONObject;
import ink.wgink.common.base.DefaultBaseController;
import ink.wgink.interfaces.consts.ISystemConstant;
import ink.wgink.module.file.config.properties.FileProperties;
import ink.wgink.properties.FileProperties;
import ink.wgink.module.file.enums.UploadTypeEnum;
import ink.wgink.module.file.pojo.dtos.FileDTO;
import ink.wgink.module.file.service.IFileService;

View File

@ -3,7 +3,7 @@ package ink.wgink.module.file.controller.route;
import ink.wgink.common.base.DefaultBaseController;
import ink.wgink.exceptions.ParamsException;
import ink.wgink.interfaces.consts.ISystemConstant;
import ink.wgink.module.file.config.properties.FileProperties;
import ink.wgink.properties.FileProperties;
import ink.wgink.module.file.service.IFileService;
import ink.wgink.pojo.result.ErrorResult;
import io.swagger.annotations.*;

View File

@ -2,7 +2,7 @@ package ink.wgink.module.file.controller.wechat;
import ink.wgink.common.base.DefaultBaseController;
import ink.wgink.interfaces.consts.ISystemConstant;
import ink.wgink.module.file.config.properties.FileProperties;
import ink.wgink.properties.FileProperties;
import ink.wgink.module.file.enums.UploadTypeEnum;
import ink.wgink.module.file.pojo.dtos.FileDTO;
import ink.wgink.module.file.service.IFileService;

View File

@ -10,7 +10,7 @@ import ink.wgink.exceptions.ParamsException;
import ink.wgink.exceptions.SaveException;
import ink.wgink.exceptions.SearchException;
import ink.wgink.exceptions.base.SystemException;
import ink.wgink.module.file.config.properties.FileProperties;
import ink.wgink.properties.FileProperties;
import ink.wgink.module.file.dao.IFileDao;
import ink.wgink.module.file.enums.UploadTypeEnum;
import ink.wgink.module.file.pojo.dtos.FileDTO;

View File

@ -28,6 +28,7 @@
<module>login-base</module>
<module>login-app</module>
<module>login-wechat</module>
<module>basic-properties</module>
</modules>
<packaging>pom</packaging>

View File

@ -142,7 +142,11 @@ public class UserServiceImpl extends DefaultBaseService implements IUserService
throw new SystemException("未引入APP登录模块");
}
String userId = securityComponent.getAppTokenUser(token).getId();
Map<String, Object> params = HashMapUtil.beanToMap(updateUserVO);
Map<String, Object> params = getHashMap(8);
params.put("userAvatar", updateUserVO.getAvatar());
params.put("userEmail", updateUserVO.getEmail());
params.put("userPhone", updateUserVO.getPhone());
params.put("userName", updateUserVO.getName());
params.put("userId", userId);
setAppUpdateInfo(token, params);
userDao.update(params);