删除无用的Startup,改为由CommonStartup统一处理初始化操作

This commit is contained in:
wanggeng888 2021-06-15 17:04:10 +08:00
parent b4ff18d8dc
commit f66cc21eb2
5 changed files with 91 additions and 55 deletions

View File

@ -12,6 +12,11 @@ package ink.wgink.interfaces.init;
**/ **/
public interface IInitBaseMenu { public interface IInitBaseMenu {
/**
* 初始化
*
* @return
*/
void init();
} }

View File

@ -0,0 +1,17 @@
package ink.wgink.interfaces.init;
/**
* When you feel like quitting. Think about why you started
* 当你想要放弃的时候想想当初你为何开始
*
* @ClassName: IInitBaseUser
* @Description: 创建用户
* @Author: wanggeng
* @Date: 2021/6/15 4:29 下午
* @Version: 1.0
*/
public interface IInitBaseUser {
void init();
}

View File

@ -1,6 +1,8 @@
package ink.wgink.common.startup; package ink.wgink.common.startup;
import ink.wgink.interfaces.init.IInitBaseMenu;
import ink.wgink.interfaces.init.IInitBaseTable; import ink.wgink.interfaces.init.IInitBaseTable;
import ink.wgink.interfaces.init.IInitBaseUser;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner; import org.springframework.boot.ApplicationRunner;
@ -22,14 +24,30 @@ import java.util.Map;
@Component @Component
public class CommonStartup implements ApplicationRunner { public class CommonStartup implements ApplicationRunner {
@Autowired
private ApplicationContext applicationContext; private ApplicationContext applicationContext;
private IInitBaseMenu initBaseMenu;
private IInitBaseUser initBaseUser;
public CommonStartup(ApplicationContext applicationContext, IInitBaseMenu initBaseMenu, IInitBaseUser initBaseUser) {
this.applicationContext = applicationContext;
this.initBaseMenu = initBaseMenu;
this.initBaseUser = initBaseUser;
}
@Override @Override
public void run(ApplicationArguments args) throws Exception { public void run(ApplicationArguments args) throws Exception {
// 建表
Map<String, IInitBaseTable> initBaseTableMap = applicationContext.getBeansOfType(IInitBaseTable.class); Map<String, IInitBaseTable> initBaseTableMap = applicationContext.getBeansOfType(IInitBaseTable.class);
for (Map.Entry<String, IInitBaseTable> kv : initBaseTableMap.entrySet()) { for (Map.Entry<String, IInitBaseTable> kv : initBaseTableMap.entrySet()) {
kv.getValue().createTable(); kv.getValue().createTable();
} }
// 初始化菜单
if (initBaseMenu != null) {
initBaseMenu.init();
}
// 创建用户
if (initBaseUser != null) {
initBaseUser.init();
}
} }
} }

View File

@ -1,4 +1,4 @@
package ink.wgink.module.menu.startup; package ink.wgink.module.menu.init;
import ink.wgink.interfaces.app.IAppSignBaseService; import ink.wgink.interfaces.app.IAppSignBaseService;
import ink.wgink.interfaces.article.IArticleCheckService; import ink.wgink.interfaces.article.IArticleCheckService;
@ -6,22 +6,21 @@ import ink.wgink.interfaces.config.ISystemConfigCheckService;
import ink.wgink.interfaces.department.IDepartmentCheckService; import ink.wgink.interfaces.department.IDepartmentCheckService;
import ink.wgink.interfaces.dictionary.IDictionaryCheckService; import ink.wgink.interfaces.dictionary.IDictionaryCheckService;
import ink.wgink.interfaces.group.IGroupCheckService; import ink.wgink.interfaces.group.IGroupCheckService;
import ink.wgink.interfaces.init.IInitBaseMenu;
import ink.wgink.interfaces.menu.IMenuBaseService; import ink.wgink.interfaces.menu.IMenuBaseService;
import ink.wgink.interfaces.permission.IPermissionCheckService; import ink.wgink.interfaces.permission.IPermissionCheckService;
import ink.wgink.interfaces.position.IPositionCheckService; import ink.wgink.interfaces.position.IPositionCheckService;
import ink.wgink.interfaces.role.IRoleCheckService; import ink.wgink.interfaces.role.IRoleCheckService;
import ink.wgink.interfaces.user.IUserCheckService; import ink.wgink.interfaces.user.IUserCheckService;
import ink.wgink.interfaces.user.IUserDetailCheckService; import ink.wgink.interfaces.user.IUserDetailCheckService;
import ink.wgink.pojo.dtos.menu.MenuDTO;
import ink.wgink.module.menu.dao.IMenuDao; import ink.wgink.module.menu.dao.IMenuDao;
import ink.wgink.pojo.dtos.menu.MenuDTO;
import ink.wgink.util.UUIDUtil; import ink.wgink.util.UUIDUtil;
import ink.wgink.util.date.DateUtil; import ink.wgink.util.date.DateUtil;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; 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; import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -30,47 +29,57 @@ import java.util.Map;
* When you feel like quitting. Think about why you started * When you feel like quitting. Think about why you started
* 当你想要放弃的时候想想当初你为何开始 * 当你想要放弃的时候想想当初你为何开始
* *
* @ClassName: ServiceMenuStartUp * @ClassName: InitMenu
* @Description: 菜单业务启动 * @Description: 初始化菜单
* @Author: wanggeng * @Author: wanggeng
* @Date: 2021/2/10 1:12 下午 * @Date: 2021/6/15 4:20 下午
* @Version: 1.0 * @Version: 1.0
*/ */
@Component @Component
public class ServiceMenuStartUp implements ApplicationRunner { public class InitMenu implements IInitBaseMenu {
private static final Logger LOG = LoggerFactory.getLogger(ServiceMenuStartUp.class); private static final Logger LOG = LoggerFactory.getLogger(InitMenu.class);
@Autowired
private IMenuDao menuDao; private IMenuDao menuDao;
@Autowired(required = false)
private IDictionaryCheckService dictionaryCheckService; private IDictionaryCheckService dictionaryCheckService;
@Autowired(required = false)
private ISystemConfigCheckService systemConfigCheckService; private ISystemConfigCheckService systemConfigCheckService;
@Autowired(required = false)
private IUserCheckService userCheckService; private IUserCheckService userCheckService;
@Autowired(required = false)
private IDepartmentCheckService departmentCheckService; private IDepartmentCheckService departmentCheckService;
@Autowired(required = false)
private IGroupCheckService groupCheckService; private IGroupCheckService groupCheckService;
@Autowired(required = false)
private IPositionCheckService positionCheckService; private IPositionCheckService positionCheckService;
@Autowired(required = false)
private IPermissionCheckService permissionCheckService; private IPermissionCheckService permissionCheckService;
@Autowired(required = false)
private IRoleCheckService roleCheckService; private IRoleCheckService roleCheckService;
@Autowired(required = false)
private IUserDetailCheckService userDetailCheckService; private IUserDetailCheckService userDetailCheckService;
@Autowired(required = false)
private IAppSignBaseService appSignBaseService; private IAppSignBaseService appSignBaseService;
@Autowired(required = false)
private IArticleCheckService articleCheckService; private IArticleCheckService articleCheckService;
@Override public InitMenu(IMenuDao menuDao,
public void run(ApplicationArguments args) throws Exception { IDictionaryCheckService dictionaryCheckService,
initMenu(); ISystemConfigCheckService systemConfigCheckService,
IUserCheckService userCheckService,
IDepartmentCheckService departmentCheckService,
IGroupCheckService groupCheckService,
IPositionCheckService positionCheckService,
IPermissionCheckService permissionCheckService,
IRoleCheckService roleCheckService,
IUserDetailCheckService userDetailCheckService,
IAppSignBaseService appSignBaseService,
IArticleCheckService articleCheckService) {
this.menuDao = menuDao;
this.dictionaryCheckService = dictionaryCheckService;
this.systemConfigCheckService = systemConfigCheckService;
this.userCheckService = userCheckService;
this.departmentCheckService = departmentCheckService;
this.groupCheckService = groupCheckService;
this.positionCheckService = positionCheckService;
this.permissionCheckService = permissionCheckService;
this.roleCheckService = roleCheckService;
this.userDetailCheckService = userDetailCheckService;
this.appSignBaseService = appSignBaseService;
this.articleCheckService = articleCheckService;
} }
private void initMenu() { @Override
public void init() {
Map<String, Object> params = new HashMap<>(20); Map<String, Object> params = new HashMap<>(20);
String gmt = DateUtil.getTime(); String gmt = DateUtil.getTime();
params.put("gmtCreate", gmt); params.put("gmtCreate", gmt);

View File

@ -1,17 +1,15 @@
package ink.wgink.service.user.startup; package ink.wgink.service.user.init;
import ink.wgink.service.user.dao.IUserAdjustmentDao; import ink.wgink.interfaces.init.IInitBaseUser;
import ink.wgink.service.user.dao.IUserDao;
import ink.wgink.pojo.dtos.user.UserDTO; import ink.wgink.pojo.dtos.user.UserDTO;
import ink.wgink.service.user.dao.IUserDao;
import ink.wgink.util.date.DateUtil; import ink.wgink.util.date.DateUtil;
import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.codec.digest.DigestUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -20,34 +18,26 @@ import java.util.Map;
* When you feel like quitting. Think about why you started * When you feel like quitting. Think about why you started
* 当你想要放弃的时候想想当初你为何开始 * 当你想要放弃的时候想想当初你为何开始
* *
* @ClassName: ServiceUserStartUp * @ClassName: InitUser
* @Description: 用户业务 * @Description: 创建用户
* @Author: wanggeng * @Author: wanggeng
* @Date: 2021/2/5 8:59 下午 * @Date: 2021/6/15 4:30 下午
* @Version: 1.0 * @Version: 1.0
*/ */
@Component @Component
public class ServiceUserStartUp implements ApplicationRunner { public class InitUser implements IInitBaseUser {
private static final Logger LOG = LoggerFactory.getLogger(ServiceUserStartUp.class);
@Autowired private static final Logger LOG = LoggerFactory.getLogger(InitUser.class);
private IUserDao userDao; private IUserDao userDao;
@Autowired
private IUserAdjustmentDao userAdjustmentDao;
@Autowired
private PasswordEncoder passwordEncoder; private PasswordEncoder passwordEncoder;
@Override public InitUser(IUserDao userDao, PasswordEncoder passwordEncoder) {
public void run(ApplicationArguments args) throws Exception { this.userDao = userDao;
// initTable(); this.passwordEncoder = passwordEncoder;
} }
/** @Override
* 建表 public void init() {
*/
private void initTable() {
LOG.debug("创建 sys_user 表");
userDao.createTable();
LOG.debug("检查 admin 是否存在"); LOG.debug("检查 admin 是否存在");
Map<String, Object> params = new HashMap<>(2); Map<String, Object> params = new HashMap<>(2);
params.put("userUsername", "admin"); params.put("userUsername", "admin");
@ -67,8 +57,5 @@ public class ServiceUserStartUp implements ApplicationRunner {
params.put("isDelete", 0); params.put("isDelete", 0);
userDao.save(params); userDao.save(params);
} }
LOG.debug("创建 sys_user_adjustment 表");
userAdjustmentDao.createTable();
} }
} }