公共模块
package com.umh.doctorreferral.core.datainitializer
import com.umh.doctorreferral.core.model.user.UserRepository
import org.slf4j.LoggerFactory
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional
import kotlin.jvm.Throws
@Service
class MainDataInitializer {
private val logger = LoggerFactory.getLogger(javaClass)
private val passwordEncoder = BCryptPasswordEncoder()
@Autowired
private lateinit var permissionDataInitializer: PermissionDataInitializer
@Transactional(rollbackFor = [Exception::class])
@Throws(Exception::class)
fun initialize() {
//初始化
permissionDataInitializer.initialize()
}
}
package com.umh.doctorreferral.core.datainitializer
import com.umh.doctorreferral.core.model.permission.Permission
import com.umh.doctorreferral.core.model.permission.PermissionRepository
import com.umh.doctorreferral.core.model.permission.Role
import com.umh.doctorreferral.core.model.permission.RoleRepository
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional
@Service
class PermissionDataInitializer : DataInitializer {
@Autowired
private lateinit var permissionRepository: PermissionRepository
@Autowired
private lateinit var roleRepository: RoleRepository
@Transactional
override fun initialize() {
initPermissionIfNotExist("DOCTOR_SEARCH_LIST")
initPermissionIfNotExist("DOCTOR_SEARCH_DETAIL")
initPermissionIfNotExist("REFERRAL_CASE_CREATE")
initPermissionIfNotExist("REFERRAL_CASE_LIST")
initPermissionIfNotExist("REFERRAL_CASE_DETAIL")
initPermissionIfNotExist("REFERRAL_CASE_CREATE")
initPermissionIfNotExist("REFERRAL_CASE_DOCUMENT_CREATE")
initPermissionIfNotExist("REFERRAL_CASE_DOCUMENT_REMOVE")
initPermissionIfNotExist("REFERRAL_CASE_EDIT")
initPermissionIfNotExist("REFERRAL_CASE_STATUS_EDIT")
initPermissionIfNotExist("REFERRAL_CASE_BOOKING_LIST")
initPermissionIfNotExist("REFERRAL_CASE_EXTERNAL_BOOKING_LIST")
initPermissionIfNotExist("REFERRAL_CASE_BOOKING_BIND")
initPermissionIfNotExist("REFERRAL_CASE_BOOKING_UNBIND")
initPermissionIfNotExist("REFERRAL_CASE_INV_LIST")
initPermissionIfNotExist("REFERRAL_CASE_EXTERNAL_INV_LIST")
initPermissionIfNotExist("REFERRAL_CASE_INV_EDIT")
initPermissionIfNotExist("REFERRAL_CASE_INV_VALIDATE")
initPermissionIfNotExist("REFERRAL_CASE_INV_APPROVAL")
initPermissionIfNotExist("REFERRAL_CASE_INPAT_LIST")
initPermissionIfNotExist("REFERRAL_CASE_INPAT_ADD")
initPermissionIfNotExist("REFERRAL_CASE_INPAT_VIEW")
initPermissionIfNotExist("REFERRAL_CASE_INPAT_EDIT")
initPermissionIfNotExist("REFERRAL_CASE_RMK_VIEW")
initPermissionIfNotExist("REFERRAL_CASE_RMK_EDIT")
initPermissionIfNotExist("REFERRAL_CASE_RMK_VOID")
initPermissionIfNotExist("REFERRAL_REC_MENU_MGT")
initPermissionIfNotExist("REFERRAL_REC_VIEW")
initPermissionIfNotExist("REFERRAL_REC_NOTI_MENU")
initPermissionIfNotExist("REFERRAL_RPT_MENU")
initPermissionIfNotExist("REFERRAL_RPT_GEN")
initPermissionIfNotExist("REFERRAL_RPT_GEN_1")
initPermissionIfNotExist("REFERRAL_RPT_GEN_2")
initRoleIfNotExist("ROLE_API_USER")
}
private fun initPermissionIfNotExist(permissionCode: String) {
if (permissionRepository.findByPermissionCode(permissionCode) == null) {
permissionRepository.save(Permission().apply {
this.permissionCode=permissionCode
})
}
}
private fun initRoleIfNotExist(RoleCode: String) {
if (roleRepository.findByRoleCode(RoleCode) == null) {
roleRepository.save(Role().apply {
this.roleCode=RoleCode
val permissions = permissionRepository.findAll()
this.permissionList = permissions
})
}
}
}
效果图