hibernate+JPA+flyway数据初始化

公共模块

 

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
            })
        }
    }
}

效果图

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值