InitService.java 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package com.qmth.ops.biz.service;
  2. import com.qmth.boot.tools.models.ByteArray;
  3. import com.qmth.ops.api.security.Permission;
  4. import com.qmth.ops.biz.domain.Role;
  5. import com.qmth.ops.biz.domain.User;
  6. import com.qmth.ops.biz.domain.UserPermission;
  7. import org.slf4j.Logger;
  8. import org.slf4j.LoggerFactory;
  9. import org.springframework.boot.CommandLineRunner;
  10. import org.springframework.stereotype.Service;
  11. import javax.annotation.Resource;
  12. import java.io.IOException;
  13. @Service
  14. public class InitService implements CommandLineRunner {
  15. private static final Logger log = LoggerFactory.getLogger(InitService.class);
  16. @Resource
  17. private UserService userService;
  18. @Resource
  19. private UserPermissionService userPermissionService;
  20. @Resource
  21. private LlmClientService llmClientService;
  22. @Resource
  23. private OcrClientService ocrClientService;
  24. @Deprecated
  25. public String get() {
  26. try {
  27. return ByteArray.fromResource("script/init.sql").toString();
  28. } catch (IOException e) {
  29. throw new RuntimeException("数据库初始化异常", e);
  30. }
  31. }
  32. @Override
  33. public void run(String... args) {
  34. if (userService.count() == 0) {
  35. User user = new User();
  36. user.setLoginName("admin");
  37. user.setName("系统管理员");
  38. user.setPassword("123456");
  39. user.setRole(new Role[] { Role.ADMIN });
  40. user.setEnable(true);
  41. userService.insert(user);
  42. log.info("系统管理员初始化完成");
  43. }
  44. User user = userService.findByLoginName("admin");
  45. if (user != null && user.hasRole(Role.ADMIN)) {
  46. for (Permission p : Permission.values()) {
  47. userPermissionService.save(user, p, UserPermission.UNLIMIT_SCOPE);
  48. }
  49. log.info("系统管理员权限更新完成");
  50. }
  51. llmClientService.init();
  52. ocrClientService.init();
  53. log.info("LLM Client初始化完成");
  54. }
  55. }