InitData.java 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package cn.com.qmth.scancentral.config;
  2. import cn.com.qmth.scancentral.entity.SystemConfigEntity;
  3. import cn.com.qmth.scancentral.entity.UserEntity;
  4. import cn.com.qmth.scancentral.enums.Role;
  5. import cn.com.qmth.scancentral.service.SystemConfigService;
  6. import cn.com.qmth.scancentral.service.UserService;
  7. import org.slf4j.Logger;
  8. import org.slf4j.LoggerFactory;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.boot.CommandLineRunner;
  11. import org.springframework.stereotype.Component;
  12. import java.io.File;
  13. import java.io.IOException;
  14. @Component
  15. public class InitData implements CommandLineRunner {
  16. private static final Logger log = LoggerFactory.getLogger(InitData.class);
  17. @Autowired
  18. private SysProperty sysProperty;
  19. @Autowired
  20. private UserService userService;
  21. @Autowired
  22. private SystemConfigService systemConfigService;
  23. @Override
  24. public void run(String... args) throws IOException {
  25. log.info("开始系统初始化...");
  26. // 自动创建图片转存目录
  27. String dir = sysProperty.getTransferDir();
  28. File dfile = new File(dir);
  29. if (!dfile.exists()) {
  30. dfile.mkdirs();
  31. log.info("创建图片转存目录:{}", dir);
  32. }
  33. // 初始化系统配置
  34. SystemConfigEntity config = systemConfigService.find();
  35. if (config == null) {
  36. config = new SystemConfigEntity();
  37. config.setId(1L);
  38. config.setScannerEnableLogin(true);
  39. config.setScannerPassword("");
  40. systemConfigService.save(config);
  41. log.info("初始化sc_system_config记录");
  42. }
  43. initByStandalone();
  44. log.info("系统初始化完成!");
  45. }
  46. private void initByStandalone() throws IOException {
  47. // 创建含考生编号+科目代码唯一索引的考生表
  48. // executeSql("script/init_standalone.sql");
  49. // 按照学校ID=1创建管理员账号
  50. if (userService.count() == 0) {
  51. UserEntity user = new UserEntity();
  52. user.setLoginName("admin");
  53. user.setName("学校管理员");
  54. user.setPassword("123456");
  55. user.setRole(Role.SCHOOL_ADMIN);
  56. user.setEnable(true);
  57. user.setCreateTime(System.currentTimeMillis());
  58. user.setUpdateTime(user.getCreateTime());
  59. userService.save(user);
  60. log.info("创建初始用户账号:{}", user.getLoginName());
  61. }
  62. }
  63. // private void initByMarkingcloud() throws IOException {
  64. // // 创建含考生编号+科目代码普通索引的考生表
  65. // executeSql("script/init_markingcloud.sql");
  66. // }
  67. // private void executeSql(String path) throws IOException {
  68. // String[] array = StringUtils.split(
  69. // ByteArray.fromInputStream(this.getClass().getClassLoader().getResourceAsStream(path)).toString(),
  70. // ";");
  71. // int count = 0;
  72. // for (String sql : array) {
  73. // if (StringUtils.isNotBlank(sql)) {
  74. // jdbcTemplate.execute(sql);
  75. // count++;
  76. // }
  77. // }
  78. // log.info("表结构初始化:{},完成{}条", path, count);
  79. // }
  80. }