diff --git a/Dockerfile b/Dockerfile index 9aaf717d7..52de65135 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,4 +14,4 @@ RUN cd /tmp && mvn package -Pci && mv target/dist/halo/* /opt/halo/ \ EXPOSE 8090 -ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Dlogging.level.cc.ryanc.halo=INFO", "-jar","/opt/halo/halo-latest.jar","--spring.datasource.username=${DB_USER}","--spring.datasource.password=${DB_PASSWORD}"] +ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Dlogging.level.run.halo.app=INFO", "-jar","/opt/halo/halo-latest.jar","--spring.datasource.username=${DB_USER}","--spring.datasource.password=${DB_PASSWORD}"] diff --git a/src/main/java/cc/ryanc/halo/repository/AttachmentRepository.java b/src/main/java/cc/ryanc/halo/repository/AttachmentRepository.java deleted file mode 100644 index 7cc921a4d..000000000 --- a/src/main/java/cc/ryanc/halo/repository/AttachmentRepository.java +++ /dev/null @@ -1,12 +0,0 @@ -package cc.ryanc.halo.repository; - -import cc.ryanc.halo.model.entity.Attachment; -import cc.ryanc.halo.repository.base.BaseRepository; - -/** - * Attachment repository - * - * @author johnniang - */ -public interface AttachmentRepository extends BaseRepository { -} diff --git a/src/main/java/cc/ryanc/halo/repository/GalleryRepository.java b/src/main/java/cc/ryanc/halo/repository/GalleryRepository.java deleted file mode 100644 index 8b945bb57..000000000 --- a/src/main/java/cc/ryanc/halo/repository/GalleryRepository.java +++ /dev/null @@ -1,12 +0,0 @@ -package cc.ryanc.halo.repository; - -import cc.ryanc.halo.model.entity.Gallery; -import cc.ryanc.halo.repository.base.BaseRepository; - -/** - * Gallery repository. - * - * @author johnniang - */ -public interface GalleryRepository extends BaseRepository { -} diff --git a/src/main/java/cc/ryanc/halo/repository/JournalRepository.java b/src/main/java/cc/ryanc/halo/repository/JournalRepository.java deleted file mode 100644 index a74933be2..000000000 --- a/src/main/java/cc/ryanc/halo/repository/JournalRepository.java +++ /dev/null @@ -1,14 +0,0 @@ -package cc.ryanc.halo.repository; - -import cc.ryanc.halo.model.entity.Journal; -import cc.ryanc.halo.repository.base.BasePostRepository; - -/** - * Journal repository. - * - * @author johnniang - * @date 3/22/19 - */ -public interface JournalRepository extends BasePostRepository { - -} diff --git a/src/main/java/cc/ryanc/halo/repository/LinkRepository.java b/src/main/java/cc/ryanc/halo/repository/LinkRepository.java deleted file mode 100755 index 702345b1e..000000000 --- a/src/main/java/cc/ryanc/halo/repository/LinkRepository.java +++ /dev/null @@ -1,12 +0,0 @@ -package cc.ryanc.halo.repository; - -import cc.ryanc.halo.model.entity.Link; -import cc.ryanc.halo.repository.base.BaseRepository; - -/** - * Link repository. - * - * @author johnniang - */ -public interface LinkRepository extends BaseRepository { -} diff --git a/src/main/java/cc/ryanc/halo/repository/LogRepository.java b/src/main/java/cc/ryanc/halo/repository/LogRepository.java deleted file mode 100644 index c492118f9..000000000 --- a/src/main/java/cc/ryanc/halo/repository/LogRepository.java +++ /dev/null @@ -1,13 +0,0 @@ -package cc.ryanc.halo.repository; - -import cc.ryanc.halo.model.entity.Log; -import cc.ryanc.halo.repository.base.BaseRepository; - -/** - * Log repository. - * - * @author johnniang - */ -public interface LogRepository extends BaseRepository { - -} diff --git a/src/main/java/cc/ryanc/halo/repository/PageRepository.java b/src/main/java/cc/ryanc/halo/repository/PageRepository.java deleted file mode 100644 index 28f58b081..000000000 --- a/src/main/java/cc/ryanc/halo/repository/PageRepository.java +++ /dev/null @@ -1,14 +0,0 @@ -package cc.ryanc.halo.repository; - -import cc.ryanc.halo.model.entity.Page; -import cc.ryanc.halo.repository.base.BasePostRepository; - -/** - * Page repository. - * - * @author johnniang - * @date 3/22/19 - */ -public interface PageRepository extends BasePostRepository { - -} diff --git a/src/main/java/cc/ryanc/halo/Application.java b/src/main/java/run/halo/app/Application.java similarity index 80% rename from src/main/java/cc/ryanc/halo/Application.java rename to src/main/java/run/halo/app/Application.java index 1465b92c4..8e05a50be 100755 --- a/src/main/java/cc/ryanc/halo/Application.java +++ b/src/main/java/run/halo/app/Application.java @@ -1,6 +1,6 @@ -package cc.ryanc.halo; +package run.halo.app; -import cc.ryanc.halo.repository.base.BaseRepositoryImpl; +import run.halo.app.repository.base.BaseRepositoryImpl; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.data.jpa.repository.config.EnableJpaAuditing; @@ -18,7 +18,7 @@ import org.springframework.scheduling.annotation.EnableScheduling; @SpringBootApplication @EnableJpaAuditing @EnableScheduling -@EnableJpaRepositories(basePackages = {"cc.ryanc.halo.repository"}, repositoryBaseClass = BaseRepositoryImpl.class) +@EnableJpaRepositories(basePackages = {"run.halo.app.repository"}, repositoryBaseClass = BaseRepositoryImpl.class) public class Application { public static void main(String[] args) { diff --git a/src/main/java/cc/ryanc/halo/cache/AbstractCacheStore.java b/src/main/java/run/halo/app/cache/AbstractCacheStore.java similarity index 96% rename from src/main/java/cc/ryanc/halo/cache/AbstractCacheStore.java rename to src/main/java/run/halo/app/cache/AbstractCacheStore.java index 53827beb9..8aba5a000 100644 --- a/src/main/java/cc/ryanc/halo/cache/AbstractCacheStore.java +++ b/src/main/java/run/halo/app/cache/AbstractCacheStore.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.cache; +package run.halo.app.cache; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.time.DateUtils; @@ -53,7 +53,7 @@ public abstract class AbstractCacheStore implements CacheStore { log.debug("Cache wrapper: [{}]", cacheWrapper); // Check expiration - if (cacheWrapper.getExpireAt() != null && cacheWrapper.getExpireAt().before(cc.ryanc.halo.utils.DateUtils.now())) { + if (cacheWrapper.getExpireAt() != null && cacheWrapper.getExpireAt().before(run.halo.app.utils.DateUtils.now())) { // Expired then delete it log.warn("Cache key: [{}] has been expired", key); @@ -96,7 +96,7 @@ public abstract class AbstractCacheStore implements CacheStore { Assert.notNull(value, "Cache value must not be null"); Assert.isTrue(timeout >= 0, "Cache expiration timeout must not be less than 1"); - Date now = cc.ryanc.halo.utils.DateUtils.now(); + Date now = run.halo.app.utils.DateUtils.now(); Date expireAt = null; diff --git a/src/main/java/cc/ryanc/halo/cache/CacheStore.java b/src/main/java/run/halo/app/cache/CacheStore.java similarity index 98% rename from src/main/java/cc/ryanc/halo/cache/CacheStore.java rename to src/main/java/run/halo/app/cache/CacheStore.java index 7545f49b7..34f0fa921 100644 --- a/src/main/java/cc/ryanc/halo/cache/CacheStore.java +++ b/src/main/java/run/halo/app/cache/CacheStore.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.cache; +package run.halo.app.cache; import org.springframework.lang.NonNull; diff --git a/src/main/java/cc/ryanc/halo/cache/CacheWrapper.java b/src/main/java/run/halo/app/cache/CacheWrapper.java similarity index 93% rename from src/main/java/cc/ryanc/halo/cache/CacheWrapper.java rename to src/main/java/run/halo/app/cache/CacheWrapper.java index e7d75380f..66d7b16cb 100644 --- a/src/main/java/cc/ryanc/halo/cache/CacheWrapper.java +++ b/src/main/java/run/halo/app/cache/CacheWrapper.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.cache; +package run.halo.app.cache; import lombok.*; diff --git a/src/main/java/cc/ryanc/halo/cache/InMemoryCacheStore.java b/src/main/java/run/halo/app/cache/InMemoryCacheStore.java similarity index 99% rename from src/main/java/cc/ryanc/halo/cache/InMemoryCacheStore.java rename to src/main/java/run/halo/app/cache/InMemoryCacheStore.java index fad665b73..1c3e97698 100644 --- a/src/main/java/cc/ryanc/halo/cache/InMemoryCacheStore.java +++ b/src/main/java/run/halo/app/cache/InMemoryCacheStore.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.cache; +package run.halo.app.cache; import lombok.extern.slf4j.Slf4j; import org.springframework.util.Assert; diff --git a/src/main/java/cc/ryanc/halo/cache/StringCacheStore.java b/src/main/java/run/halo/app/cache/StringCacheStore.java similarity index 86% rename from src/main/java/cc/ryanc/halo/cache/StringCacheStore.java rename to src/main/java/run/halo/app/cache/StringCacheStore.java index fc2f5d178..69d49c46a 100644 --- a/src/main/java/cc/ryanc/halo/cache/StringCacheStore.java +++ b/src/main/java/run/halo/app/cache/StringCacheStore.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.cache; +package run.halo.app.cache; import lombok.extern.slf4j.Slf4j; diff --git a/src/main/java/cc/ryanc/halo/cache/lock/CacheLock.java b/src/main/java/run/halo/app/cache/lock/CacheLock.java similarity index 97% rename from src/main/java/cc/ryanc/halo/cache/lock/CacheLock.java rename to src/main/java/run/halo/app/cache/lock/CacheLock.java index 81f228301..c30892cfa 100644 --- a/src/main/java/cc/ryanc/halo/cache/lock/CacheLock.java +++ b/src/main/java/run/halo/app/cache/lock/CacheLock.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.cache.lock; +package run.halo.app.cache.lock; import org.springframework.core.annotation.AliasFor; diff --git a/src/main/java/cc/ryanc/halo/cache/lock/CacheLockInterceptor.java b/src/main/java/run/halo/app/cache/lock/CacheLockInterceptor.java similarity index 94% rename from src/main/java/cc/ryanc/halo/cache/lock/CacheLockInterceptor.java rename to src/main/java/run/halo/app/cache/lock/CacheLockInterceptor.java index 158afb6a5..8e0b71268 100644 --- a/src/main/java/cc/ryanc/halo/cache/lock/CacheLockInterceptor.java +++ b/src/main/java/run/halo/app/cache/lock/CacheLockInterceptor.java @@ -1,8 +1,8 @@ -package cc.ryanc.halo.cache.lock; +package run.halo.app.cache.lock; -import cc.ryanc.halo.cache.StringCacheStore; -import cc.ryanc.halo.exception.FrequentAccessException; -import cc.ryanc.halo.exception.ServiceException; +import run.halo.app.cache.StringCacheStore; +import run.halo.app.exception.FrequentAccessException; +import run.halo.app.exception.ServiceException; import cn.hutool.extra.servlet.ServletUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -42,7 +42,7 @@ public class CacheLockInterceptor { this.httpServletRequest = httpServletRequest; } - @Around("@annotation(cc.ryanc.halo.cache.lock.CacheLock)") + @Around("@annotation(run.halo.app.cache.lock.CacheLock)") public Object interceptCacheLock(ProceedingJoinPoint joinPoint) throws Throwable { // Get method signature MethodSignature methodSignature = (MethodSignature) joinPoint.getSignature(); diff --git a/src/main/java/cc/ryanc/halo/cache/lock/CacheParam.java b/src/main/java/run/halo/app/cache/lock/CacheParam.java similarity index 87% rename from src/main/java/cc/ryanc/halo/cache/lock/CacheParam.java rename to src/main/java/run/halo/app/cache/lock/CacheParam.java index ec11697b1..64c545185 100644 --- a/src/main/java/cc/ryanc/halo/cache/lock/CacheParam.java +++ b/src/main/java/run/halo/app/cache/lock/CacheParam.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.cache.lock; +package run.halo.app.cache.lock; import java.lang.annotation.*; diff --git a/src/main/java/cc/ryanc/halo/config/FreeMarkerAutoConfiguration.java b/src/main/java/run/halo/app/config/FreeMarkerAutoConfiguration.java similarity index 87% rename from src/main/java/cc/ryanc/halo/config/FreeMarkerAutoConfiguration.java rename to src/main/java/run/halo/app/config/FreeMarkerAutoConfiguration.java index 9ac7a5a0a..ab43846ea 100644 --- a/src/main/java/cc/ryanc/halo/config/FreeMarkerAutoConfiguration.java +++ b/src/main/java/run/halo/app/config/FreeMarkerAutoConfiguration.java @@ -1,14 +1,14 @@ -package cc.ryanc.halo.config; +package run.halo.app.config; -import cc.ryanc.halo.model.freemarker.method.RandomMethod; -import cc.ryanc.halo.model.freemarker.method.RecentCommentsMethod; -import cc.ryanc.halo.model.freemarker.method.RecentPostsMethod; -import cc.ryanc.halo.model.freemarker.tag.*; -import cc.ryanc.halo.service.OptionService; import freemarker.template.TemplateModelException; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; +import run.halo.app.model.freemarker.method.RandomMethod; +import run.halo.app.model.freemarker.method.RecentCommentsMethod; +import run.halo.app.model.freemarker.method.RecentPostsMethod; +import run.halo.app.model.freemarker.tag.*; +import run.halo.app.service.OptionService; import javax.annotation.PostConstruct; diff --git a/src/main/java/cc/ryanc/halo/config/HaloConfiguration.java b/src/main/java/run/halo/app/config/HaloConfiguration.java similarity index 83% rename from src/main/java/cc/ryanc/halo/config/HaloConfiguration.java rename to src/main/java/run/halo/app/config/HaloConfiguration.java index efcadc6f2..a00bcadc2 100644 --- a/src/main/java/cc/ryanc/halo/config/HaloConfiguration.java +++ b/src/main/java/run/halo/app/config/HaloConfiguration.java @@ -1,16 +1,16 @@ -package cc.ryanc.halo.config; +package run.halo.app.config; -import cc.ryanc.halo.cache.InMemoryCacheStore; -import cc.ryanc.halo.cache.StringCacheStore; -import cc.ryanc.halo.config.properties.HaloProperties; -import cc.ryanc.halo.filter.CorsFilter; -import cc.ryanc.halo.filter.LogFilter; -import cc.ryanc.halo.security.filter.AdminAuthenticationFilter; -import cc.ryanc.halo.security.filter.ApiAuthenticationFilter; -import cc.ryanc.halo.security.handler.AdminAuthenticationFailureHandler; -import cc.ryanc.halo.security.handler.DefaultAuthenticationFailureHandler; -import cc.ryanc.halo.service.UserService; -import cc.ryanc.halo.utils.HttpClientUtils; +import run.halo.app.cache.InMemoryCacheStore; +import run.halo.app.cache.StringCacheStore; +import run.halo.app.config.properties.HaloProperties; +import run.halo.app.filter.CorsFilter; +import run.halo.app.filter.LogFilter; +import run.halo.app.security.filter.AdminAuthenticationFilter; +import run.halo.app.security.filter.ApiAuthenticationFilter; +import run.halo.app.security.handler.AdminAuthenticationFailureHandler; +import run.halo.app.security.handler.DefaultAuthenticationFailureHandler; +import run.halo.app.service.UserService; +import run.halo.app.utils.HttpClientUtils; import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; @@ -23,6 +23,13 @@ import org.springframework.http.HttpMethod; import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; import org.springframework.web.client.RestTemplate; +import run.halo.app.filter.CorsFilter; +import run.halo.app.filter.LogFilter; +import run.halo.app.security.filter.AdminAuthenticationFilter; +import run.halo.app.security.filter.ApiAuthenticationFilter; +import run.halo.app.security.handler.AdminAuthenticationFailureHandler; +import run.halo.app.security.handler.DefaultAuthenticationFailureHandler; +import run.halo.app.utils.HttpClientUtils; import java.security.KeyManagementException; import java.security.KeyStoreException; diff --git a/src/main/java/cc/ryanc/halo/config/SwaggerConfiguration.java b/src/main/java/run/halo/app/config/SwaggerConfiguration.java similarity index 93% rename from src/main/java/cc/ryanc/halo/config/SwaggerConfiguration.java rename to src/main/java/run/halo/app/config/SwaggerConfiguration.java index 65b52ddcc..3e6bd62c9 100644 --- a/src/main/java/cc/ryanc/halo/config/SwaggerConfiguration.java +++ b/src/main/java/run/halo/app/config/SwaggerConfiguration.java @@ -1,8 +1,8 @@ -package cc.ryanc.halo.config; +package run.halo.app.config; -import cc.ryanc.halo.config.properties.HaloProperties; -import cc.ryanc.halo.model.entity.User; -import cc.ryanc.halo.security.support.UserDetail; +import run.halo.app.config.properties.HaloProperties; +import run.halo.app.model.entity.User; +import run.halo.app.security.support.UserDetail; import com.fasterxml.classmate.TypeResolver; import io.swagger.models.auth.In; import lombok.extern.slf4j.Slf4j; @@ -14,6 +14,7 @@ import org.springframework.data.domain.Sort; import org.springframework.lang.NonNull; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.RequestMethod; +import run.halo.app.security.support.UserDetail; import springfox.documentation.builders.*; import springfox.documentation.schema.AlternateTypeRule; import springfox.documentation.schema.AlternateTypeRuleConvention; @@ -31,8 +32,8 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; -import static cc.ryanc.halo.model.support.HaloConst.HALO_VERSION; -import static cc.ryanc.halo.model.support.HaloConst.TOKEN_HEADER; +import static run.halo.app.model.support.HaloConst.HALO_VERSION; +import static run.halo.app.model.support.HaloConst.TOKEN_HEADER; import static springfox.documentation.schema.AlternateTypeRules.newRule; /** @@ -62,8 +63,8 @@ public class SwaggerConfiguration { @Bean public Docket haloDefaultApi() { log.debug("Doc disabled: [{}]", haloProperties.getDocDisabled()); - return buildApiDocket("cc.ryanc.halo.default", - "cc.ryanc.halo.web.controller.portal.api", + return buildApiDocket("run.halo.app.default", + "run.halo.app.web.controller.portal.api", "/api/**") .enable(!haloProperties.getDocDisabled()); } @@ -71,8 +72,8 @@ public class SwaggerConfiguration { @Bean public Docket haloAdminApi() { log.debug("Doc disabled: [{}]", haloProperties.getDocDisabled()); - return buildApiDocket("cc.ryanc.halo.admin", - "cc.ryanc.halo.web.controller.admin", + return buildApiDocket("run.halo.app.admin", + "run.halo.app.web.controller.admin", "/admin/api/**") .enable(!haloProperties.getDocDisabled()); } diff --git a/src/main/java/cc/ryanc/halo/config/WebMvcAutoConfiguration.java b/src/main/java/run/halo/app/config/WebMvcAutoConfiguration.java similarity index 91% rename from src/main/java/cc/ryanc/halo/config/WebMvcAutoConfiguration.java rename to src/main/java/run/halo/app/config/WebMvcAutoConfiguration.java index c0b807c20..4c2fdfbec 100644 --- a/src/main/java/cc/ryanc/halo/config/WebMvcAutoConfiguration.java +++ b/src/main/java/run/halo/app/config/WebMvcAutoConfiguration.java @@ -1,10 +1,10 @@ -package cc.ryanc.halo.config; +package run.halo.app.config; -import cc.ryanc.halo.config.properties.HaloProperties; -import cc.ryanc.halo.factory.StringToEnumConverterFactory; -import cc.ryanc.halo.model.support.HaloConst; -import cc.ryanc.halo.security.resolver.AuthenticationArgumentResolver; -import cc.ryanc.halo.web.controller.support.PageJacksonSerializer; +import run.halo.app.config.properties.HaloProperties; +import run.halo.app.factory.StringToEnumConverterFactory; +import run.halo.app.model.support.HaloConst; +import run.halo.app.security.resolver.AuthenticationArgumentResolver; +import run.halo.app.web.controller.support.PageJacksonSerializer; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -25,6 +25,8 @@ import org.springframework.web.servlet.config.annotation.ViewResolverRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer; import org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver; +import run.halo.app.factory.StringToEnumConverterFactory; +import run.halo.app.security.resolver.AuthenticationArgumentResolver; import java.util.List; @@ -37,7 +39,7 @@ import java.util.List; @Slf4j @Configuration @EnableWebMvc -@ComponentScan(basePackages = "cc.ryanc.halo.web.controller") +@ComponentScan(basePackages = "run.halo.app.web.controller") @PropertySource(value = "classpath:application.yaml", ignoreResourceNotFound = true, encoding = "UTF-8") public class WebMvcAutoConfiguration implements WebMvcConfigurer { diff --git a/src/main/java/cc/ryanc/halo/config/properties/HaloProperties.java b/src/main/java/run/halo/app/config/properties/HaloProperties.java similarity index 87% rename from src/main/java/cc/ryanc/halo/config/properties/HaloProperties.java rename to src/main/java/run/halo/app/config/properties/HaloProperties.java index 1f9212a84..d553f9f69 100644 --- a/src/main/java/cc/ryanc/halo/config/properties/HaloProperties.java +++ b/src/main/java/run/halo/app/config/properties/HaloProperties.java @@ -1,6 +1,6 @@ -package cc.ryanc.halo.config.properties; +package run.halo.app.config.properties; -import cc.ryanc.halo.model.support.HaloConst; +import run.halo.app.model.support.HaloConst; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; diff --git a/src/main/java/cc/ryanc/halo/exception/AlreadyExistsException.java b/src/main/java/run/halo/app/exception/AlreadyExistsException.java similarity index 91% rename from src/main/java/cc/ryanc/halo/exception/AlreadyExistsException.java rename to src/main/java/run/halo/app/exception/AlreadyExistsException.java index 22aa88882..3380cba9c 100644 --- a/src/main/java/cc/ryanc/halo/exception/AlreadyExistsException.java +++ b/src/main/java/run/halo/app/exception/AlreadyExistsException.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.exception; +package run.halo.app.exception; /** * Exception caused by entity existence already. diff --git a/src/main/java/cc/ryanc/halo/exception/AuthenticationException.java b/src/main/java/run/halo/app/exception/AuthenticationException.java similarity index 93% rename from src/main/java/cc/ryanc/halo/exception/AuthenticationException.java rename to src/main/java/run/halo/app/exception/AuthenticationException.java index d0b605ff0..003c37a85 100644 --- a/src/main/java/cc/ryanc/halo/exception/AuthenticationException.java +++ b/src/main/java/run/halo/app/exception/AuthenticationException.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.exception; +package run.halo.app.exception; import org.springframework.http.HttpStatus; diff --git a/src/main/java/cc/ryanc/halo/exception/BadRequestException.java b/src/main/java/run/halo/app/exception/BadRequestException.java similarity index 93% rename from src/main/java/cc/ryanc/halo/exception/BadRequestException.java rename to src/main/java/run/halo/app/exception/BadRequestException.java index ed4ad883a..108441da3 100644 --- a/src/main/java/cc/ryanc/halo/exception/BadRequestException.java +++ b/src/main/java/run/halo/app/exception/BadRequestException.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.exception; +package run.halo.app.exception; import org.springframework.http.HttpStatus; diff --git a/src/main/java/cc/ryanc/halo/exception/BeanUtilsException.java b/src/main/java/run/halo/app/exception/BeanUtilsException.java similarity index 93% rename from src/main/java/cc/ryanc/halo/exception/BeanUtilsException.java rename to src/main/java/run/halo/app/exception/BeanUtilsException.java index 4f26efd50..ea30d2792 100644 --- a/src/main/java/cc/ryanc/halo/exception/BeanUtilsException.java +++ b/src/main/java/run/halo/app/exception/BeanUtilsException.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.exception; +package run.halo.app.exception; import org.springframework.http.HttpStatus; diff --git a/src/main/java/cc/ryanc/halo/exception/FileOperationException.java b/src/main/java/run/halo/app/exception/FileOperationException.java similarity index 90% rename from src/main/java/cc/ryanc/halo/exception/FileOperationException.java rename to src/main/java/run/halo/app/exception/FileOperationException.java index 15b562bf0..b43052eba 100644 --- a/src/main/java/cc/ryanc/halo/exception/FileOperationException.java +++ b/src/main/java/run/halo/app/exception/FileOperationException.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.exception; +package run.halo.app.exception; /** * File operation exception. diff --git a/src/main/java/cc/ryanc/halo/exception/ForbiddenException.java b/src/main/java/run/halo/app/exception/ForbiddenException.java similarity index 93% rename from src/main/java/cc/ryanc/halo/exception/ForbiddenException.java rename to src/main/java/run/halo/app/exception/ForbiddenException.java index ee2a6d572..ef30138d0 100644 --- a/src/main/java/cc/ryanc/halo/exception/ForbiddenException.java +++ b/src/main/java/run/halo/app/exception/ForbiddenException.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.exception; +package run.halo.app.exception; import org.springframework.http.HttpStatus; diff --git a/src/main/java/cc/ryanc/halo/exception/FrequentAccessException.java b/src/main/java/run/halo/app/exception/FrequentAccessException.java similarity index 91% rename from src/main/java/cc/ryanc/halo/exception/FrequentAccessException.java rename to src/main/java/run/halo/app/exception/FrequentAccessException.java index 0370a636f..0003d0cf1 100644 --- a/src/main/java/cc/ryanc/halo/exception/FrequentAccessException.java +++ b/src/main/java/run/halo/app/exception/FrequentAccessException.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.exception; +package run.halo.app.exception; /** * Frequent access exception. diff --git a/src/main/java/cc/ryanc/halo/exception/HaloException.java b/src/main/java/run/halo/app/exception/HaloException.java similarity index 96% rename from src/main/java/cc/ryanc/halo/exception/HaloException.java rename to src/main/java/run/halo/app/exception/HaloException.java index 199326174..fd27b59ea 100644 --- a/src/main/java/cc/ryanc/halo/exception/HaloException.java +++ b/src/main/java/run/halo/app/exception/HaloException.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.exception; +package run.halo.app.exception; import org.springframework.http.HttpStatus; import org.springframework.lang.NonNull; diff --git a/src/main/java/cc/ryanc/halo/exception/MissingPropertyException.java b/src/main/java/run/halo/app/exception/MissingPropertyException.java similarity index 91% rename from src/main/java/cc/ryanc/halo/exception/MissingPropertyException.java rename to src/main/java/run/halo/app/exception/MissingPropertyException.java index a374d0ddc..ae4ee356b 100644 --- a/src/main/java/cc/ryanc/halo/exception/MissingPropertyException.java +++ b/src/main/java/run/halo/app/exception/MissingPropertyException.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.exception; +package run.halo.app.exception; /** * Missing property value exception. diff --git a/src/main/java/cc/ryanc/halo/exception/NotFoundException.java b/src/main/java/run/halo/app/exception/NotFoundException.java similarity index 93% rename from src/main/java/cc/ryanc/halo/exception/NotFoundException.java rename to src/main/java/run/halo/app/exception/NotFoundException.java index 08d965fe5..d35854716 100644 --- a/src/main/java/cc/ryanc/halo/exception/NotFoundException.java +++ b/src/main/java/run/halo/app/exception/NotFoundException.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.exception; +package run.halo.app.exception; import org.springframework.http.HttpStatus; diff --git a/src/main/java/cc/ryanc/halo/exception/PropertyFormatException.java b/src/main/java/run/halo/app/exception/PropertyFormatException.java similarity index 91% rename from src/main/java/cc/ryanc/halo/exception/PropertyFormatException.java rename to src/main/java/run/halo/app/exception/PropertyFormatException.java index 41b87fbca..fb19d0c6b 100644 --- a/src/main/java/cc/ryanc/halo/exception/PropertyFormatException.java +++ b/src/main/java/run/halo/app/exception/PropertyFormatException.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.exception; +package run.halo.app.exception; /** * Property format exception. diff --git a/src/main/java/cc/ryanc/halo/exception/ServiceException.java b/src/main/java/run/halo/app/exception/ServiceException.java similarity index 93% rename from src/main/java/cc/ryanc/halo/exception/ServiceException.java rename to src/main/java/run/halo/app/exception/ServiceException.java index 47e7d24b4..7049abf39 100644 --- a/src/main/java/cc/ryanc/halo/exception/ServiceException.java +++ b/src/main/java/run/halo/app/exception/ServiceException.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.exception; +package run.halo.app.exception; import org.springframework.http.HttpStatus; diff --git a/src/main/java/cc/ryanc/halo/factory/StringToEnumConverterFactory.java b/src/main/java/run/halo/app/factory/StringToEnumConverterFactory.java similarity index 96% rename from src/main/java/cc/ryanc/halo/factory/StringToEnumConverterFactory.java rename to src/main/java/run/halo/app/factory/StringToEnumConverterFactory.java index 7aa807a8b..fa7c456a3 100644 --- a/src/main/java/cc/ryanc/halo/factory/StringToEnumConverterFactory.java +++ b/src/main/java/run/halo/app/factory/StringToEnumConverterFactory.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.factory; +package run.halo.app.factory; import org.springframework.core.convert.converter.Converter; import org.springframework.core.convert.converter.ConverterFactory; diff --git a/src/main/java/cc/ryanc/halo/filter/CorsFilter.java b/src/main/java/run/halo/app/filter/CorsFilter.java similarity index 94% rename from src/main/java/cc/ryanc/halo/filter/CorsFilter.java rename to src/main/java/run/halo/app/filter/CorsFilter.java index 169abdaf0..5ac9b0de4 100644 --- a/src/main/java/cc/ryanc/halo/filter/CorsFilter.java +++ b/src/main/java/run/halo/app/filter/CorsFilter.java @@ -1,6 +1,6 @@ -package cc.ryanc.halo.filter; +package run.halo.app.filter; -import cc.ryanc.halo.security.filter.AdminAuthenticationFilter; +import run.halo.app.security.filter.AdminAuthenticationFilter; import org.apache.commons.lang3.StringUtils; import org.springframework.http.HttpHeaders; import org.springframework.web.cors.CorsUtils; diff --git a/src/main/java/cc/ryanc/halo/filter/LogFilter.java b/src/main/java/run/halo/app/filter/LogFilter.java similarity index 97% rename from src/main/java/cc/ryanc/halo/filter/LogFilter.java rename to src/main/java/run/halo/app/filter/LogFilter.java index 82712cc69..25d7808cc 100644 --- a/src/main/java/cc/ryanc/halo/filter/LogFilter.java +++ b/src/main/java/run/halo/app/filter/LogFilter.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.filter; +package run.halo.app.filter; import cn.hutool.extra.servlet.ServletUtil; import lombok.extern.slf4j.Slf4j; diff --git a/src/main/java/cc/ryanc/halo/handler/file/FileHandler.java b/src/main/java/run/halo/app/handler/file/FileHandler.java similarity index 92% rename from src/main/java/cc/ryanc/halo/handler/file/FileHandler.java rename to src/main/java/run/halo/app/handler/file/FileHandler.java index 76184e34c..ab4cf7fbf 100644 --- a/src/main/java/cc/ryanc/halo/handler/file/FileHandler.java +++ b/src/main/java/run/halo/app/handler/file/FileHandler.java @@ -1,8 +1,8 @@ -package cc.ryanc.halo.handler.file; +package run.halo.app.handler.file; -import cc.ryanc.halo.exception.FileOperationException; -import cc.ryanc.halo.model.enums.AttachmentType; -import cc.ryanc.halo.model.support.UploadResult; +import run.halo.app.exception.FileOperationException; +import run.halo.app.model.enums.AttachmentType; +import run.halo.app.model.support.UploadResult; import org.apache.commons.lang3.StringUtils; import org.springframework.http.MediaType; import org.springframework.lang.NonNull; diff --git a/src/main/java/cc/ryanc/halo/handler/file/FileHandlers.java b/src/main/java/run/halo/app/handler/file/FileHandlers.java similarity index 92% rename from src/main/java/cc/ryanc/halo/handler/file/FileHandlers.java rename to src/main/java/run/halo/app/handler/file/FileHandlers.java index f99efcfce..99b87beba 100644 --- a/src/main/java/cc/ryanc/halo/handler/file/FileHandlers.java +++ b/src/main/java/run/halo/app/handler/file/FileHandlers.java @@ -1,9 +1,9 @@ -package cc.ryanc.halo.handler.file; +package run.halo.app.handler.file; -import cc.ryanc.halo.exception.FileOperationException; -import cc.ryanc.halo.model.entity.Attachment; -import cc.ryanc.halo.model.enums.AttachmentType; -import cc.ryanc.halo.model.support.UploadResult; +import run.halo.app.exception.FileOperationException; +import run.halo.app.model.entity.Attachment; +import run.halo.app.model.enums.AttachmentType; +import run.halo.app.model.support.UploadResult; import lombok.extern.slf4j.Slf4j; import org.springframework.context.ApplicationContext; import org.springframework.lang.NonNull; diff --git a/src/main/java/cc/ryanc/halo/handler/file/LocalFileHandler.java b/src/main/java/run/halo/app/handler/file/LocalFileHandler.java similarity index 94% rename from src/main/java/cc/ryanc/halo/handler/file/LocalFileHandler.java rename to src/main/java/run/halo/app/handler/file/LocalFileHandler.java index 595dc9ee1..db91cfa14 100644 --- a/src/main/java/cc/ryanc/halo/handler/file/LocalFileHandler.java +++ b/src/main/java/run/halo/app/handler/file/LocalFileHandler.java @@ -1,13 +1,13 @@ -package cc.ryanc.halo.handler.file; +package run.halo.app.handler.file; -import cc.ryanc.halo.config.properties.HaloProperties; -import cc.ryanc.halo.exception.FileOperationException; -import cc.ryanc.halo.exception.ServiceException; -import cc.ryanc.halo.model.enums.AttachmentType; -import cc.ryanc.halo.model.support.UploadResult; -import cc.ryanc.halo.service.OptionService; -import cc.ryanc.halo.utils.FilenameUtils; -import cc.ryanc.halo.utils.HaloUtils; +import run.halo.app.config.properties.HaloProperties; +import run.halo.app.exception.FileOperationException; +import run.halo.app.exception.ServiceException; +import run.halo.app.model.enums.AttachmentType; +import run.halo.app.model.support.UploadResult; +import run.halo.app.service.OptionService; +import run.halo.app.utils.FilenameUtils; +import run.halo.app.utils.HaloUtils; import lombok.extern.slf4j.Slf4j; import net.coobird.thumbnailator.Thumbnails; import org.springframework.http.MediaType; diff --git a/src/main/java/cc/ryanc/halo/handler/file/QnYunFileHandler.java b/src/main/java/run/halo/app/handler/file/QnYunFileHandler.java similarity index 92% rename from src/main/java/cc/ryanc/halo/handler/file/QnYunFileHandler.java rename to src/main/java/run/halo/app/handler/file/QnYunFileHandler.java index a05011182..5ef221dd1 100644 --- a/src/main/java/cc/ryanc/halo/handler/file/QnYunFileHandler.java +++ b/src/main/java/run/halo/app/handler/file/QnYunFileHandler.java @@ -1,13 +1,13 @@ -package cc.ryanc.halo.handler.file; +package run.halo.app.handler.file; -import cc.ryanc.halo.exception.FileOperationException; -import cc.ryanc.halo.model.enums.AttachmentType; -import cc.ryanc.halo.model.properties.QnYunProperties; -import cc.ryanc.halo.model.support.QiNiuPutSet; -import cc.ryanc.halo.model.support.UploadResult; -import cc.ryanc.halo.service.OptionService; -import cc.ryanc.halo.utils.FilenameUtils; -import cc.ryanc.halo.utils.JsonUtils; +import run.halo.app.exception.FileOperationException; +import run.halo.app.model.enums.AttachmentType; +import run.halo.app.model.properties.QnYunProperties; +import run.halo.app.model.support.QiNiuPutSet; +import run.halo.app.model.support.UploadResult; +import run.halo.app.service.OptionService; +import run.halo.app.utils.FilenameUtils; +import run.halo.app.utils.JsonUtils; import com.qiniu.common.QiniuException; import com.qiniu.common.Zone; import com.qiniu.http.Response; @@ -29,7 +29,7 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.util.Objects; -import static cc.ryanc.halo.handler.file.FileHandler.isImageType; +import static run.halo.app.handler.file.FileHandler.isImageType; /** * Qi niu yun file handler. diff --git a/src/main/java/cc/ryanc/halo/handler/file/SmmsFileHandler.java b/src/main/java/run/halo/app/handler/file/SmmsFileHandler.java similarity index 95% rename from src/main/java/cc/ryanc/halo/handler/file/SmmsFileHandler.java rename to src/main/java/run/halo/app/handler/file/SmmsFileHandler.java index 6fc4a3f5a..937e30736 100644 --- a/src/main/java/cc/ryanc/halo/handler/file/SmmsFileHandler.java +++ b/src/main/java/run/halo/app/handler/file/SmmsFileHandler.java @@ -1,10 +1,10 @@ -package cc.ryanc.halo.handler.file; +package run.halo.app.handler.file; -import cc.ryanc.halo.exception.FileOperationException; -import cc.ryanc.halo.model.enums.AttachmentType; -import cc.ryanc.halo.model.support.UploadResult; -import cc.ryanc.halo.utils.FilenameUtils; -import cc.ryanc.halo.utils.HttpClientUtils; +import run.halo.app.exception.FileOperationException; +import run.halo.app.model.enums.AttachmentType; +import run.halo.app.model.support.UploadResult; +import run.halo.app.utils.FilenameUtils; +import run.halo.app.utils.HttpClientUtils; import lombok.Data; import lombok.NoArgsConstructor; import lombok.ToString; @@ -16,6 +16,7 @@ import org.springframework.util.Assert; import org.springframework.util.LinkedMultiValueMap; import org.springframework.web.client.RestTemplate; import org.springframework.web.multipart.MultipartFile; +import run.halo.app.model.enums.AttachmentType; import java.io.IOException; import java.util.Objects; diff --git a/src/main/java/cc/ryanc/halo/handler/file/UpYunFileHandler.java b/src/main/java/run/halo/app/handler/file/UpYunFileHandler.java similarity index 93% rename from src/main/java/cc/ryanc/halo/handler/file/UpYunFileHandler.java rename to src/main/java/run/halo/app/handler/file/UpYunFileHandler.java index a48940195..ffa50fb52 100644 --- a/src/main/java/cc/ryanc/halo/handler/file/UpYunFileHandler.java +++ b/src/main/java/run/halo/app/handler/file/UpYunFileHandler.java @@ -1,11 +1,11 @@ -package cc.ryanc.halo.handler.file; +package run.halo.app.handler.file; -import cc.ryanc.halo.exception.FileOperationException; -import cc.ryanc.halo.model.enums.AttachmentType; -import cc.ryanc.halo.model.properties.UpYunProperties; -import cc.ryanc.halo.model.support.UploadResult; -import cc.ryanc.halo.service.OptionService; -import cc.ryanc.halo.utils.FilenameUtils; +import run.halo.app.exception.FileOperationException; +import run.halo.app.model.enums.AttachmentType; +import run.halo.app.model.properties.UpYunProperties; +import run.halo.app.model.support.UploadResult; +import run.halo.app.service.OptionService; +import run.halo.app.utils.FilenameUtils; import com.UpYun; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; diff --git a/src/main/java/cc/ryanc/halo/listener/StartedListener.java b/src/main/java/run/halo/app/listener/StartedListener.java similarity index 84% rename from src/main/java/cc/ryanc/halo/listener/StartedListener.java rename to src/main/java/run/halo/app/listener/StartedListener.java index de2c3ae70..e21514551 100644 --- a/src/main/java/cc/ryanc/halo/listener/StartedListener.java +++ b/src/main/java/run/halo/app/listener/StartedListener.java @@ -1,16 +1,16 @@ -package cc.ryanc.halo.listener; +package run.halo.app.listener; -import cc.ryanc.halo.config.properties.HaloProperties; -import cc.ryanc.halo.model.entity.User; -import cc.ryanc.halo.model.params.UserParam; -import cc.ryanc.halo.model.properties.BlogProperties; -import cc.ryanc.halo.model.properties.PrimaryProperties; -import cc.ryanc.halo.model.support.HaloConst; -import cc.ryanc.halo.model.support.Theme; -import cc.ryanc.halo.service.OptionService; -import cc.ryanc.halo.service.ThemeService; -import cc.ryanc.halo.service.UserService; -import cc.ryanc.halo.utils.HaloUtils; +import run.halo.app.config.properties.HaloProperties; +import run.halo.app.model.entity.User; +import run.halo.app.model.params.UserParam; +import run.halo.app.model.properties.BlogProperties; +import run.halo.app.model.properties.PrimaryProperties; +import run.halo.app.model.support.HaloConst; +import run.halo.app.model.support.Theme; +import run.halo.app.service.OptionService; +import run.halo.app.service.ThemeService; +import run.halo.app.service.UserService; +import run.halo.app.utils.HaloUtils; import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.StrUtil; import com.fasterxml.jackson.databind.ObjectMapper; @@ -22,6 +22,13 @@ import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationListener; import org.springframework.context.annotation.Configuration; import org.springframework.util.ResourceUtils; +import run.halo.app.model.entity.User; +import run.halo.app.model.params.UserParam; +import run.halo.app.model.properties.BlogProperties; +import run.halo.app.model.properties.PrimaryProperties; +import run.halo.app.model.support.Theme; +import run.halo.app.service.ThemeService; +import run.halo.app.utils.HaloUtils; import java.io.File; import java.io.IOException; @@ -29,8 +36,8 @@ import java.util.Collections; import java.util.List; import java.util.Map; -import static cc.ryanc.halo.model.support.HaloConst.ACTIVATED_THEME_NAME; -import static cc.ryanc.halo.model.support.HaloConst.DEFAULT_THEME_NAME; +import static run.halo.app.model.support.HaloConst.ACTIVATED_THEME_NAME; +import static run.halo.app.model.support.HaloConst.DEFAULT_THEME_NAME; /** * The method executed after the application is started. diff --git a/src/main/java/cc/ryanc/halo/model/dto/AttachmentOutputDTO.java b/src/main/java/run/halo/app/model/dto/AttachmentOutputDTO.java similarity index 73% rename from src/main/java/cc/ryanc/halo/model/dto/AttachmentOutputDTO.java rename to src/main/java/run/halo/app/model/dto/AttachmentOutputDTO.java index 13656c3a7..5d513d766 100644 --- a/src/main/java/cc/ryanc/halo/model/dto/AttachmentOutputDTO.java +++ b/src/main/java/run/halo/app/model/dto/AttachmentOutputDTO.java @@ -1,8 +1,8 @@ -package cc.ryanc.halo.model.dto; +package run.halo.app.model.dto; -import cc.ryanc.halo.model.dto.base.OutputConverter; -import cc.ryanc.halo.model.entity.Attachment; -import cc.ryanc.halo.model.enums.AttachmentType; +import run.halo.app.model.dto.base.OutputConverter; +import run.halo.app.model.entity.Attachment; +import run.halo.app.model.enums.AttachmentType; import lombok.Data; /** diff --git a/src/main/java/cc/ryanc/halo/model/dto/CategoryOutputDTO.java b/src/main/java/run/halo/app/model/dto/CategoryOutputDTO.java similarity index 60% rename from src/main/java/cc/ryanc/halo/model/dto/CategoryOutputDTO.java rename to src/main/java/run/halo/app/model/dto/CategoryOutputDTO.java index f83a32161..5a314203d 100644 --- a/src/main/java/cc/ryanc/halo/model/dto/CategoryOutputDTO.java +++ b/src/main/java/run/halo/app/model/dto/CategoryOutputDTO.java @@ -1,8 +1,10 @@ -package cc.ryanc.halo.model.dto; +package run.halo.app.model.dto; -import cc.ryanc.halo.model.dto.base.OutputConverter; -import cc.ryanc.halo.model.entity.Category; +import run.halo.app.model.dto.base.OutputConverter; +import run.halo.app.model.entity.Category; import lombok.Data; +import run.halo.app.model.dto.base.OutputConverter; +import run.halo.app.model.entity.Category; /** * Category output dto. diff --git a/src/main/java/cc/ryanc/halo/model/dto/CommentOutputDTO.java b/src/main/java/run/halo/app/model/dto/CommentOutputDTO.java similarity index 65% rename from src/main/java/cc/ryanc/halo/model/dto/CommentOutputDTO.java rename to src/main/java/run/halo/app/model/dto/CommentOutputDTO.java index c87421d08..39fc7c80d 100644 --- a/src/main/java/cc/ryanc/halo/model/dto/CommentOutputDTO.java +++ b/src/main/java/run/halo/app/model/dto/CommentOutputDTO.java @@ -1,11 +1,14 @@ -package cc.ryanc.halo.model.dto; +package run.halo.app.model.dto; -import cc.ryanc.halo.model.dto.base.OutputConverter; -import cc.ryanc.halo.model.entity.Comment; -import cc.ryanc.halo.model.enums.CommentStatus; +import run.halo.app.model.dto.base.OutputConverter; +import run.halo.app.model.entity.Comment; +import run.halo.app.model.enums.CommentStatus; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; +import run.halo.app.model.dto.base.OutputConverter; +import run.halo.app.model.entity.Comment; +import run.halo.app.model.enums.CommentStatus; import java.util.Date; diff --git a/src/main/java/cc/ryanc/halo/model/dto/CountOutputDTO.java b/src/main/java/run/halo/app/model/dto/CountOutputDTO.java similarity index 91% rename from src/main/java/cc/ryanc/halo/model/dto/CountOutputDTO.java rename to src/main/java/run/halo/app/model/dto/CountOutputDTO.java index 2a8596565..c35604164 100644 --- a/src/main/java/cc/ryanc/halo/model/dto/CountOutputDTO.java +++ b/src/main/java/run/halo/app/model/dto/CountOutputDTO.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.dto; +package run.halo.app.model.dto; import lombok.Data; diff --git a/src/main/java/cc/ryanc/halo/model/dto/GalleryOutputDTO.java b/src/main/java/run/halo/app/model/dto/GalleryOutputDTO.java similarity index 55% rename from src/main/java/cc/ryanc/halo/model/dto/GalleryOutputDTO.java rename to src/main/java/run/halo/app/model/dto/GalleryOutputDTO.java index 1e3be35ef..2ac50069f 100644 --- a/src/main/java/cc/ryanc/halo/model/dto/GalleryOutputDTO.java +++ b/src/main/java/run/halo/app/model/dto/GalleryOutputDTO.java @@ -1,8 +1,10 @@ -package cc.ryanc.halo.model.dto; +package run.halo.app.model.dto; -import cc.ryanc.halo.model.dto.base.OutputConverter; -import cc.ryanc.halo.model.entity.Gallery; +import run.halo.app.model.dto.base.OutputConverter; +import run.halo.app.model.entity.Gallery; import lombok.Data; +import run.halo.app.model.dto.base.OutputConverter; +import run.halo.app.model.entity.Gallery; /** * @author : RYAN0UP diff --git a/src/main/java/cc/ryanc/halo/model/dto/LinkOutputDTO.java b/src/main/java/run/halo/app/model/dto/LinkOutputDTO.java similarity index 59% rename from src/main/java/cc/ryanc/halo/model/dto/LinkOutputDTO.java rename to src/main/java/run/halo/app/model/dto/LinkOutputDTO.java index 0e156881a..dc5b9a5bf 100644 --- a/src/main/java/cc/ryanc/halo/model/dto/LinkOutputDTO.java +++ b/src/main/java/run/halo/app/model/dto/LinkOutputDTO.java @@ -1,8 +1,10 @@ -package cc.ryanc.halo.model.dto; +package run.halo.app.model.dto; -import cc.ryanc.halo.model.dto.base.OutputConverter; -import cc.ryanc.halo.model.entity.Link; +import run.halo.app.model.dto.base.OutputConverter; +import run.halo.app.model.entity.Link; import lombok.Data; +import run.halo.app.model.dto.base.OutputConverter; +import run.halo.app.model.entity.Link; /** * Link output dto. diff --git a/src/main/java/cc/ryanc/halo/model/dto/LogOutputDTO.java b/src/main/java/run/halo/app/model/dto/LogOutputDTO.java similarity index 59% rename from src/main/java/cc/ryanc/halo/model/dto/LogOutputDTO.java rename to src/main/java/run/halo/app/model/dto/LogOutputDTO.java index 571d71df6..a9deb1e25 100644 --- a/src/main/java/cc/ryanc/halo/model/dto/LogOutputDTO.java +++ b/src/main/java/run/halo/app/model/dto/LogOutputDTO.java @@ -1,11 +1,14 @@ -package cc.ryanc.halo.model.dto; +package run.halo.app.model.dto; -import cc.ryanc.halo.model.dto.base.OutputConverter; -import cc.ryanc.halo.model.entity.Log; -import cc.ryanc.halo.model.enums.LogType; +import run.halo.app.model.dto.base.OutputConverter; +import run.halo.app.model.entity.Log; +import run.halo.app.model.enums.LogType; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; +import run.halo.app.model.dto.base.OutputConverter; +import run.halo.app.model.entity.Log; +import run.halo.app.model.enums.LogType; import java.util.Date; diff --git a/src/main/java/cc/ryanc/halo/model/dto/MenuOutputDTO.java b/src/main/java/run/halo/app/model/dto/MenuOutputDTO.java similarity index 60% rename from src/main/java/cc/ryanc/halo/model/dto/MenuOutputDTO.java rename to src/main/java/run/halo/app/model/dto/MenuOutputDTO.java index 2eb03e958..4bd790997 100644 --- a/src/main/java/cc/ryanc/halo/model/dto/MenuOutputDTO.java +++ b/src/main/java/run/halo/app/model/dto/MenuOutputDTO.java @@ -1,8 +1,10 @@ -package cc.ryanc.halo.model.dto; +package run.halo.app.model.dto; -import cc.ryanc.halo.model.dto.base.OutputConverter; -import cc.ryanc.halo.model.entity.Menu; +import run.halo.app.model.dto.base.OutputConverter; +import run.halo.app.model.entity.Menu; import lombok.Data; +import run.halo.app.model.dto.base.OutputConverter; +import run.halo.app.model.entity.Menu; /** * Menu output dto. diff --git a/src/main/java/cc/ryanc/halo/model/dto/OptionOutputDTO.java b/src/main/java/run/halo/app/model/dto/OptionOutputDTO.java similarity index 66% rename from src/main/java/cc/ryanc/halo/model/dto/OptionOutputDTO.java rename to src/main/java/run/halo/app/model/dto/OptionOutputDTO.java index 9c7ab217f..b9cb42782 100644 --- a/src/main/java/cc/ryanc/halo/model/dto/OptionOutputDTO.java +++ b/src/main/java/run/halo/app/model/dto/OptionOutputDTO.java @@ -1,8 +1,8 @@ -package cc.ryanc.halo.model.dto; +package run.halo.app.model.dto; -import cc.ryanc.halo.model.dto.base.OutputConverter; -import cc.ryanc.halo.model.entity.Option; import lombok.Data; +import run.halo.app.model.dto.base.OutputConverter; +import run.halo.app.model.entity.Option; /** * Option output dto. diff --git a/src/main/java/cc/ryanc/halo/model/dto/TagOutputDTO.java b/src/main/java/run/halo/app/model/dto/TagOutputDTO.java similarity index 54% rename from src/main/java/cc/ryanc/halo/model/dto/TagOutputDTO.java rename to src/main/java/run/halo/app/model/dto/TagOutputDTO.java index f87418cca..8bf36d6f2 100644 --- a/src/main/java/cc/ryanc/halo/model/dto/TagOutputDTO.java +++ b/src/main/java/run/halo/app/model/dto/TagOutputDTO.java @@ -1,8 +1,10 @@ -package cc.ryanc.halo.model.dto; +package run.halo.app.model.dto; -import cc.ryanc.halo.model.dto.base.OutputConverter; -import cc.ryanc.halo.model.entity.Tag; +import run.halo.app.model.dto.base.OutputConverter; +import run.halo.app.model.entity.Tag; import lombok.Data; +import run.halo.app.model.dto.base.OutputConverter; +import run.halo.app.model.entity.Tag; /** * Tag output dto. diff --git a/src/main/java/cc/ryanc/halo/model/dto/TagWithCountOutputDTO.java b/src/main/java/run/halo/app/model/dto/TagWithCountOutputDTO.java similarity index 85% rename from src/main/java/cc/ryanc/halo/model/dto/TagWithCountOutputDTO.java rename to src/main/java/run/halo/app/model/dto/TagWithCountOutputDTO.java index 8236c8f32..6265ed2cb 100644 --- a/src/main/java/cc/ryanc/halo/model/dto/TagWithCountOutputDTO.java +++ b/src/main/java/run/halo/app/model/dto/TagWithCountOutputDTO.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.dto; +package run.halo.app.model.dto; import lombok.Data; diff --git a/src/main/java/cc/ryanc/halo/model/dto/UserOutputDTO.java b/src/main/java/run/halo/app/model/dto/UserOutputDTO.java similarity index 70% rename from src/main/java/cc/ryanc/halo/model/dto/UserOutputDTO.java rename to src/main/java/run/halo/app/model/dto/UserOutputDTO.java index e46613d26..a1c49fe96 100644 --- a/src/main/java/cc/ryanc/halo/model/dto/UserOutputDTO.java +++ b/src/main/java/run/halo/app/model/dto/UserOutputDTO.java @@ -1,10 +1,12 @@ -package cc.ryanc.halo.model.dto; +package run.halo.app.model.dto; -import cc.ryanc.halo.model.dto.base.OutputConverter; -import cc.ryanc.halo.model.entity.User; +import run.halo.app.model.dto.base.OutputConverter; +import run.halo.app.model.entity.User; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; +import run.halo.app.model.dto.base.OutputConverter; +import run.halo.app.model.entity.User; import java.util.Date; diff --git a/src/main/java/cc/ryanc/halo/model/dto/base/InputConverter.java b/src/main/java/run/halo/app/model/dto/base/InputConverter.java similarity index 69% rename from src/main/java/cc/ryanc/halo/model/dto/base/InputConverter.java rename to src/main/java/run/halo/app/model/dto/base/InputConverter.java index dbf09fb9c..64dc3003c 100644 --- a/src/main/java/cc/ryanc/halo/model/dto/base/InputConverter.java +++ b/src/main/java/run/halo/app/model/dto/base/InputConverter.java @@ -1,12 +1,14 @@ -package cc.ryanc.halo.model.dto.base; +package run.halo.app.model.dto.base; -import cc.ryanc.halo.utils.ReflectionUtils; +import run.halo.app.utils.ReflectionUtils; +import run.halo.app.utils.BeanUtils; +import run.halo.app.utils.ReflectionUtils; import java.lang.reflect.ParameterizedType; import java.util.Objects; -import static cc.ryanc.halo.utils.BeanUtils.transformFrom; -import static cc.ryanc.halo.utils.BeanUtils.updateProperties; +import static run.halo.app.utils.BeanUtils.transformFrom; +import static run.halo.app.utils.BeanUtils.updateProperties; /** * Converter interface for input DTO. @@ -30,7 +32,7 @@ public interface InputConverter { Class domainClass = (Class) currentType.getActualTypeArguments()[0]; - return transformFrom(this, domainClass); + return BeanUtils.transformFrom(this, domainClass); } /** @@ -39,7 +41,7 @@ public interface InputConverter { * @param domain updated domain */ default void update(DOMAIN domain) { - updateProperties(this, domain); + BeanUtils.updateProperties(this, domain); } } diff --git a/src/main/java/cc/ryanc/halo/model/dto/base/OutputConverter.java b/src/main/java/run/halo/app/model/dto/base/OutputConverter.java similarity index 85% rename from src/main/java/cc/ryanc/halo/model/dto/base/OutputConverter.java rename to src/main/java/run/halo/app/model/dto/base/OutputConverter.java index b88c73ee1..b803e1000 100644 --- a/src/main/java/cc/ryanc/halo/model/dto/base/OutputConverter.java +++ b/src/main/java/run/halo/app/model/dto/base/OutputConverter.java @@ -1,6 +1,6 @@ -package cc.ryanc.halo.model.dto.base; +package run.halo.app.model.dto.base; -import static cc.ryanc.halo.utils.BeanUtils.updateProperties; +import static run.halo.app.utils.BeanUtils.updateProperties; /** * Converter interface for output DTO. diff --git a/src/main/java/cc/ryanc/halo/model/dto/post/PostDetailOutputDTO.java b/src/main/java/run/halo/app/model/dto/post/PostDetailOutputDTO.java similarity index 89% rename from src/main/java/cc/ryanc/halo/model/dto/post/PostDetailOutputDTO.java rename to src/main/java/run/halo/app/model/dto/post/PostDetailOutputDTO.java index c0970967f..ae5de4ee5 100644 --- a/src/main/java/cc/ryanc/halo/model/dto/post/PostDetailOutputDTO.java +++ b/src/main/java/run/halo/app/model/dto/post/PostDetailOutputDTO.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.dto.post; +package run.halo.app.model.dto.post; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/src/main/java/cc/ryanc/halo/model/dto/post/PostMinimalOutputDTO.java b/src/main/java/run/halo/app/model/dto/post/PostMinimalOutputDTO.java similarity index 56% rename from src/main/java/cc/ryanc/halo/model/dto/post/PostMinimalOutputDTO.java rename to src/main/java/run/halo/app/model/dto/post/PostMinimalOutputDTO.java index c57e50041..e35267fd5 100644 --- a/src/main/java/cc/ryanc/halo/model/dto/post/PostMinimalOutputDTO.java +++ b/src/main/java/run/halo/app/model/dto/post/PostMinimalOutputDTO.java @@ -1,12 +1,16 @@ -package cc.ryanc.halo.model.dto.post; +package run.halo.app.model.dto.post; -import cc.ryanc.halo.model.dto.base.OutputConverter; -import cc.ryanc.halo.model.entity.Post; -import cc.ryanc.halo.model.enums.PostStatus; -import cc.ryanc.halo.model.enums.PostType; +import run.halo.app.model.dto.base.OutputConverter; +import run.halo.app.model.entity.Post; +import run.halo.app.model.enums.PostStatus; +import run.halo.app.model.enums.PostType; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; +import run.halo.app.model.dto.base.OutputConverter; +import run.halo.app.model.entity.Post; +import run.halo.app.model.enums.PostStatus; +import run.halo.app.model.enums.PostType; import java.util.Date; diff --git a/src/main/java/cc/ryanc/halo/model/dto/post/PostSimpleOutputDTO.java b/src/main/java/run/halo/app/model/dto/post/PostSimpleOutputDTO.java similarity index 71% rename from src/main/java/cc/ryanc/halo/model/dto/post/PostSimpleOutputDTO.java rename to src/main/java/run/halo/app/model/dto/post/PostSimpleOutputDTO.java index 4896fb255..559ea22b1 100644 --- a/src/main/java/cc/ryanc/halo/model/dto/post/PostSimpleOutputDTO.java +++ b/src/main/java/run/halo/app/model/dto/post/PostSimpleOutputDTO.java @@ -1,10 +1,12 @@ -package cc.ryanc.halo.model.dto.post; +package run.halo.app.model.dto.post; -import cc.ryanc.halo.model.enums.PostCreateFrom; -import cc.ryanc.halo.model.enums.PostType; +import run.halo.app.model.enums.PostCreateFrom; +import run.halo.app.model.enums.PostType; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; +import run.halo.app.model.enums.PostCreateFrom; +import run.halo.app.model.enums.PostType; /** * Page simple output dto. diff --git a/src/main/java/cc/ryanc/halo/model/entity/Attachment.java b/src/main/java/run/halo/app/model/entity/Attachment.java similarity index 95% rename from src/main/java/cc/ryanc/halo/model/entity/Attachment.java rename to src/main/java/run/halo/app/model/entity/Attachment.java index 94fd8f08f..5e217aa89 100644 --- a/src/main/java/cc/ryanc/halo/model/entity/Attachment.java +++ b/src/main/java/run/halo/app/model/entity/Attachment.java @@ -1,11 +1,12 @@ -package cc.ryanc.halo.model.entity; +package run.halo.app.model.entity; -import cc.ryanc.halo.model.enums.AttachmentType; +import run.halo.app.model.enums.AttachmentType; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; import org.hibernate.annotations.SQLDelete; import org.hibernate.annotations.Where; +import run.halo.app.model.enums.AttachmentType; import javax.persistence.*; diff --git a/src/main/java/cc/ryanc/halo/model/entity/BaseEntity.java b/src/main/java/run/halo/app/model/entity/BaseEntity.java similarity index 91% rename from src/main/java/cc/ryanc/halo/model/entity/BaseEntity.java rename to src/main/java/run/halo/app/model/entity/BaseEntity.java index 561f61e96..e14505dab 100644 --- a/src/main/java/cc/ryanc/halo/model/entity/BaseEntity.java +++ b/src/main/java/run/halo/app/model/entity/BaseEntity.java @@ -1,9 +1,10 @@ -package cc.ryanc.halo.model.entity; +package run.halo.app.model.entity; -import cc.ryanc.halo.utils.DateUtils; +import run.halo.app.utils.DateUtils; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; +import run.halo.app.utils.DateUtils; import javax.persistence.*; import java.util.Date; diff --git a/src/main/java/cc/ryanc/halo/model/entity/BasePost.java b/src/main/java/run/halo/app/model/entity/BasePost.java similarity index 94% rename from src/main/java/cc/ryanc/halo/model/entity/BasePost.java rename to src/main/java/run/halo/app/model/entity/BasePost.java index b885f7502..b7c141892 100644 --- a/src/main/java/cc/ryanc/halo/model/entity/BasePost.java +++ b/src/main/java/run/halo/app/model/entity/BasePost.java @@ -1,12 +1,13 @@ -package cc.ryanc.halo.model.entity; +package run.halo.app.model.entity; -import cc.ryanc.halo.model.enums.PostCreateFrom; -import cc.ryanc.halo.model.enums.PostStatus; +import run.halo.app.model.enums.PostCreateFrom; +import run.halo.app.model.enums.PostStatus; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; import org.hibernate.annotations.SQLDelete; import org.hibernate.annotations.Where; +import run.halo.app.utils.MarkdownUtils; import javax.persistence.*; import java.util.Date; @@ -57,7 +58,7 @@ public class BasePost extends BaseEntity { /** * Rendered content. * - * @see cc.ryanc.halo.utils.MarkdownUtils#renderMarkdown(String) + * @see MarkdownUtils#renderMarkdown(String) */ @Column(name = "format_content", columnDefinition = "text not null") private String formatContent; diff --git a/src/main/java/cc/ryanc/halo/model/entity/Category.java b/src/main/java/run/halo/app/model/entity/Category.java similarity index 97% rename from src/main/java/cc/ryanc/halo/model/entity/Category.java rename to src/main/java/run/halo/app/model/entity/Category.java index fa8380f24..fb5319395 100644 --- a/src/main/java/cc/ryanc/halo/model/entity/Category.java +++ b/src/main/java/run/halo/app/model/entity/Category.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.entity; +package run.halo.app.model.entity; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/src/main/java/cc/ryanc/halo/model/entity/Comment.java b/src/main/java/run/halo/app/model/entity/Comment.java similarity index 97% rename from src/main/java/cc/ryanc/halo/model/entity/Comment.java rename to src/main/java/run/halo/app/model/entity/Comment.java index 69fa71307..3f01b7c0c 100644 --- a/src/main/java/cc/ryanc/halo/model/entity/Comment.java +++ b/src/main/java/run/halo/app/model/entity/Comment.java @@ -1,6 +1,6 @@ -package cc.ryanc.halo.model.entity; +package run.halo.app.model.entity; -import cc.ryanc.halo.model.enums.CommentStatus; +import run.halo.app.model.enums.CommentStatus; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; diff --git a/src/main/java/cc/ryanc/halo/model/entity/Gallery.java b/src/main/java/run/halo/app/model/entity/Gallery.java similarity index 97% rename from src/main/java/cc/ryanc/halo/model/entity/Gallery.java rename to src/main/java/run/halo/app/model/entity/Gallery.java index d947be380..9314ea0c8 100644 --- a/src/main/java/cc/ryanc/halo/model/entity/Gallery.java +++ b/src/main/java/run/halo/app/model/entity/Gallery.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.entity; +package run.halo.app.model.entity; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/src/main/java/cc/ryanc/halo/model/entity/Journal.java b/src/main/java/run/halo/app/model/entity/Journal.java similarity index 87% rename from src/main/java/cc/ryanc/halo/model/entity/Journal.java rename to src/main/java/run/halo/app/model/entity/Journal.java index 5b15dca3e..79bb6dc45 100644 --- a/src/main/java/cc/ryanc/halo/model/entity/Journal.java +++ b/src/main/java/run/halo/app/model/entity/Journal.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.entity; +package run.halo.app.model.entity; import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; diff --git a/src/main/java/cc/ryanc/halo/model/entity/Link.java b/src/main/java/run/halo/app/model/entity/Link.java similarity index 97% rename from src/main/java/cc/ryanc/halo/model/entity/Link.java rename to src/main/java/run/halo/app/model/entity/Link.java index ab07e130d..8b0c59f3a 100644 --- a/src/main/java/cc/ryanc/halo/model/entity/Link.java +++ b/src/main/java/run/halo/app/model/entity/Link.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.entity; +package run.halo.app.model.entity; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/src/main/java/cc/ryanc/halo/model/entity/Log.java b/src/main/java/run/halo/app/model/entity/Log.java similarity index 93% rename from src/main/java/cc/ryanc/halo/model/entity/Log.java rename to src/main/java/run/halo/app/model/entity/Log.java index b62c6e3b6..3530fe817 100644 --- a/src/main/java/cc/ryanc/halo/model/entity/Log.java +++ b/src/main/java/run/halo/app/model/entity/Log.java @@ -1,7 +1,7 @@ -package cc.ryanc.halo.model.entity; +package run.halo.app.model.entity; -import cc.ryanc.halo.model.enums.LogType; +import run.halo.app.model.enums.LogType; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; diff --git a/src/main/java/cc/ryanc/halo/model/entity/Menu.java b/src/main/java/run/halo/app/model/entity/Menu.java similarity index 97% rename from src/main/java/cc/ryanc/halo/model/entity/Menu.java rename to src/main/java/run/halo/app/model/entity/Menu.java index a7bcaa54a..90516834f 100644 --- a/src/main/java/cc/ryanc/halo/model/entity/Menu.java +++ b/src/main/java/run/halo/app/model/entity/Menu.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.entity; +package run.halo.app.model.entity; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/src/main/java/cc/ryanc/halo/model/entity/Option.java b/src/main/java/run/halo/app/model/entity/Option.java similarity index 94% rename from src/main/java/cc/ryanc/halo/model/entity/Option.java rename to src/main/java/run/halo/app/model/entity/Option.java index 800de1788..c99c85995 100644 --- a/src/main/java/cc/ryanc/halo/model/entity/Option.java +++ b/src/main/java/run/halo/app/model/entity/Option.java @@ -1,6 +1,6 @@ -package cc.ryanc.halo.model.entity; +package run.halo.app.model.entity; -import cc.ryanc.halo.model.enums.OptionSource; +import run.halo.app.model.enums.OptionSource; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; diff --git a/src/main/java/cc/ryanc/halo/model/entity/Page.java b/src/main/java/run/halo/app/model/entity/Page.java similarity index 86% rename from src/main/java/cc/ryanc/halo/model/entity/Page.java rename to src/main/java/run/halo/app/model/entity/Page.java index bff07b515..0d8ae0744 100644 --- a/src/main/java/cc/ryanc/halo/model/entity/Page.java +++ b/src/main/java/run/halo/app/model/entity/Page.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.entity; +package run.halo.app.model.entity; import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; diff --git a/src/main/java/cc/ryanc/halo/model/entity/Post.java b/src/main/java/run/halo/app/model/entity/Post.java similarity index 86% rename from src/main/java/cc/ryanc/halo/model/entity/Post.java rename to src/main/java/run/halo/app/model/entity/Post.java index 7ecce2bb1..6c868eb84 100644 --- a/src/main/java/cc/ryanc/halo/model/entity/Post.java +++ b/src/main/java/run/halo/app/model/entity/Post.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.entity; +package run.halo.app.model.entity; import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; diff --git a/src/main/java/cc/ryanc/halo/model/entity/PostCategory.java b/src/main/java/run/halo/app/model/entity/PostCategory.java similarity index 97% rename from src/main/java/cc/ryanc/halo/model/entity/PostCategory.java rename to src/main/java/run/halo/app/model/entity/PostCategory.java index eef2af0bb..650804ce8 100644 --- a/src/main/java/cc/ryanc/halo/model/entity/PostCategory.java +++ b/src/main/java/run/halo/app/model/entity/PostCategory.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.entity; +package run.halo.app.model.entity; import lombok.Data; import lombok.ToString; diff --git a/src/main/java/cc/ryanc/halo/model/entity/PostTag.java b/src/main/java/run/halo/app/model/entity/PostTag.java similarity index 97% rename from src/main/java/cc/ryanc/halo/model/entity/PostTag.java rename to src/main/java/run/halo/app/model/entity/PostTag.java index d41e1e50e..2eb892d63 100644 --- a/src/main/java/cc/ryanc/halo/model/entity/PostTag.java +++ b/src/main/java/run/halo/app/model/entity/PostTag.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.entity; +package run.halo.app.model.entity; import lombok.Data; import lombok.ToString; diff --git a/src/main/java/cc/ryanc/halo/model/entity/Tag.java b/src/main/java/run/halo/app/model/entity/Tag.java similarity index 96% rename from src/main/java/cc/ryanc/halo/model/entity/Tag.java rename to src/main/java/run/halo/app/model/entity/Tag.java index c623e2b60..04f61fc8c 100644 --- a/src/main/java/cc/ryanc/halo/model/entity/Tag.java +++ b/src/main/java/run/halo/app/model/entity/Tag.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.entity; +package run.halo.app.model.entity; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/src/main/java/cc/ryanc/halo/model/entity/User.java b/src/main/java/run/halo/app/model/entity/User.java similarity index 95% rename from src/main/java/cc/ryanc/halo/model/entity/User.java rename to src/main/java/run/halo/app/model/entity/User.java index db23a4f3b..94f52aeea 100644 --- a/src/main/java/cc/ryanc/halo/model/entity/User.java +++ b/src/main/java/run/halo/app/model/entity/User.java @@ -1,11 +1,12 @@ -package cc.ryanc.halo.model.entity; +package run.halo.app.model.entity; -import cc.ryanc.halo.utils.DateUtils; +import run.halo.app.utils.DateUtils; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; import org.hibernate.annotations.SQLDelete; import org.hibernate.annotations.Where; +import run.halo.app.utils.DateUtils; import javax.persistence.*; import java.util.Date; diff --git a/src/main/java/cc/ryanc/halo/model/enums/AttachmentType.java b/src/main/java/run/halo/app/model/enums/AttachmentType.java similarity index 94% rename from src/main/java/cc/ryanc/halo/model/enums/AttachmentType.java rename to src/main/java/run/halo/app/model/enums/AttachmentType.java index 9659b52f1..fb70ed88e 100644 --- a/src/main/java/cc/ryanc/halo/model/enums/AttachmentType.java +++ b/src/main/java/run/halo/app/model/enums/AttachmentType.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.enums; +package run.halo.app.model.enums; /** * Attach origin. diff --git a/src/main/java/cc/ryanc/halo/model/enums/CommentStatus.java b/src/main/java/run/halo/app/model/enums/CommentStatus.java similarity index 92% rename from src/main/java/cc/ryanc/halo/model/enums/CommentStatus.java rename to src/main/java/run/halo/app/model/enums/CommentStatus.java index bd509c89a..be3cee333 100644 --- a/src/main/java/cc/ryanc/halo/model/enums/CommentStatus.java +++ b/src/main/java/run/halo/app/model/enums/CommentStatus.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.enums; +package run.halo.app.model.enums; /** * Comment status. diff --git a/src/main/java/cc/ryanc/halo/model/enums/LogType.java b/src/main/java/run/halo/app/model/enums/LogType.java similarity index 88% rename from src/main/java/cc/ryanc/halo/model/enums/LogType.java rename to src/main/java/run/halo/app/model/enums/LogType.java index 1700da22e..6ce5de4e7 100644 --- a/src/main/java/cc/ryanc/halo/model/enums/LogType.java +++ b/src/main/java/run/halo/app/model/enums/LogType.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.enums; +package run.halo.app.model.enums; /** * Log type. diff --git a/src/main/java/cc/ryanc/halo/model/enums/OptionSource.java b/src/main/java/run/halo/app/model/enums/OptionSource.java similarity index 90% rename from src/main/java/cc/ryanc/halo/model/enums/OptionSource.java rename to src/main/java/run/halo/app/model/enums/OptionSource.java index 81314eeb1..404ca8280 100644 --- a/src/main/java/cc/ryanc/halo/model/enums/OptionSource.java +++ b/src/main/java/run/halo/app/model/enums/OptionSource.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.enums; +package run.halo.app.model.enums; /** * Option source. diff --git a/src/main/java/cc/ryanc/halo/model/enums/PostCreateFrom.java b/src/main/java/run/halo/app/model/enums/PostCreateFrom.java similarity index 92% rename from src/main/java/cc/ryanc/halo/model/enums/PostCreateFrom.java rename to src/main/java/run/halo/app/model/enums/PostCreateFrom.java index 7026995c4..8b17cc6fa 100644 --- a/src/main/java/cc/ryanc/halo/model/enums/PostCreateFrom.java +++ b/src/main/java/run/halo/app/model/enums/PostCreateFrom.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.enums; +package run.halo.app.model.enums; /** * Post create from type. diff --git a/src/main/java/cc/ryanc/halo/model/enums/PostStatus.java b/src/main/java/run/halo/app/model/enums/PostStatus.java similarity index 92% rename from src/main/java/cc/ryanc/halo/model/enums/PostStatus.java rename to src/main/java/run/halo/app/model/enums/PostStatus.java index 4ea35ee04..fedd6ecff 100644 --- a/src/main/java/cc/ryanc/halo/model/enums/PostStatus.java +++ b/src/main/java/run/halo/app/model/enums/PostStatus.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.enums; +package run.halo.app.model.enums; /** * Post status. diff --git a/src/main/java/cc/ryanc/halo/model/enums/PostType.java b/src/main/java/run/halo/app/model/enums/PostType.java similarity index 92% rename from src/main/java/cc/ryanc/halo/model/enums/PostType.java rename to src/main/java/run/halo/app/model/enums/PostType.java index b4545b9db..555bafa71 100644 --- a/src/main/java/cc/ryanc/halo/model/enums/PostType.java +++ b/src/main/java/run/halo/app/model/enums/PostType.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.enums; +package run.halo.app.model.enums; /** * Post type. diff --git a/src/main/java/cc/ryanc/halo/model/enums/ValueEnum.java b/src/main/java/run/halo/app/model/enums/ValueEnum.java similarity index 96% rename from src/main/java/cc/ryanc/halo/model/enums/ValueEnum.java rename to src/main/java/run/halo/app/model/enums/ValueEnum.java index eaa9e1f04..e80125b71 100644 --- a/src/main/java/cc/ryanc/halo/model/enums/ValueEnum.java +++ b/src/main/java/run/halo/app/model/enums/ValueEnum.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.enums; +package run.halo.app.model.enums; import org.springframework.util.Assert; diff --git a/src/main/java/cc/ryanc/halo/model/enums/converter/AbstractConverter.java b/src/main/java/run/halo/app/model/enums/converter/AbstractConverter.java similarity index 88% rename from src/main/java/cc/ryanc/halo/model/enums/converter/AbstractConverter.java rename to src/main/java/run/halo/app/model/enums/converter/AbstractConverter.java index 3dd34d14b..992395fd7 100644 --- a/src/main/java/cc/ryanc/halo/model/enums/converter/AbstractConverter.java +++ b/src/main/java/run/halo/app/model/enums/converter/AbstractConverter.java @@ -1,6 +1,6 @@ -package cc.ryanc.halo.model.enums.converter; +package run.halo.app.model.enums.converter; -import cc.ryanc.halo.model.enums.ValueEnum; +import run.halo.app.model.enums.ValueEnum; import javax.persistence.AttributeConverter; diff --git a/src/main/java/cc/ryanc/halo/model/enums/converter/AttachmentTypeConverter.java b/src/main/java/run/halo/app/model/enums/converter/AttachmentTypeConverter.java similarity index 69% rename from src/main/java/cc/ryanc/halo/model/enums/converter/AttachmentTypeConverter.java rename to src/main/java/run/halo/app/model/enums/converter/AttachmentTypeConverter.java index db3e83c10..42bfec86e 100644 --- a/src/main/java/cc/ryanc/halo/model/enums/converter/AttachmentTypeConverter.java +++ b/src/main/java/run/halo/app/model/enums/converter/AttachmentTypeConverter.java @@ -1,6 +1,7 @@ -package cc.ryanc.halo.model.enums.converter; +package run.halo.app.model.enums.converter; -import cc.ryanc.halo.model.enums.AttachmentType; +import run.halo.app.model.enums.AttachmentType; +import run.halo.app.model.enums.AttachmentType; import javax.persistence.Converter; diff --git a/src/main/java/cc/ryanc/halo/model/enums/converter/CommentStatusConverter.java b/src/main/java/run/halo/app/model/enums/converter/CommentStatusConverter.java similarity index 77% rename from src/main/java/cc/ryanc/halo/model/enums/converter/CommentStatusConverter.java rename to src/main/java/run/halo/app/model/enums/converter/CommentStatusConverter.java index 54c841150..fcbd3e8b4 100644 --- a/src/main/java/cc/ryanc/halo/model/enums/converter/CommentStatusConverter.java +++ b/src/main/java/run/halo/app/model/enums/converter/CommentStatusConverter.java @@ -1,6 +1,6 @@ -package cc.ryanc.halo.model.enums.converter; +package run.halo.app.model.enums.converter; -import cc.ryanc.halo.model.enums.CommentStatus; +import run.halo.app.model.enums.CommentStatus; import javax.persistence.Converter; diff --git a/src/main/java/cc/ryanc/halo/model/enums/converter/LogTypeConverter.java b/src/main/java/run/halo/app/model/enums/converter/LogTypeConverter.java similarity index 76% rename from src/main/java/cc/ryanc/halo/model/enums/converter/LogTypeConverter.java rename to src/main/java/run/halo/app/model/enums/converter/LogTypeConverter.java index b57f1366d..cef00f435 100644 --- a/src/main/java/cc/ryanc/halo/model/enums/converter/LogTypeConverter.java +++ b/src/main/java/run/halo/app/model/enums/converter/LogTypeConverter.java @@ -1,6 +1,6 @@ -package cc.ryanc.halo.model.enums.converter; +package run.halo.app.model.enums.converter; -import cc.ryanc.halo.model.enums.LogType; +import run.halo.app.model.enums.LogType; import javax.persistence.Converter; diff --git a/src/main/java/cc/ryanc/halo/model/enums/converter/OptionSourceConverter.java b/src/main/java/run/halo/app/model/enums/converter/OptionSourceConverter.java similarity index 77% rename from src/main/java/cc/ryanc/halo/model/enums/converter/OptionSourceConverter.java rename to src/main/java/run/halo/app/model/enums/converter/OptionSourceConverter.java index 47061121f..a0e6de985 100644 --- a/src/main/java/cc/ryanc/halo/model/enums/converter/OptionSourceConverter.java +++ b/src/main/java/run/halo/app/model/enums/converter/OptionSourceConverter.java @@ -1,6 +1,6 @@ -package cc.ryanc.halo.model.enums.converter; +package run.halo.app.model.enums.converter; -import cc.ryanc.halo.model.enums.OptionSource; +import run.halo.app.model.enums.OptionSource; import javax.persistence.Converter; diff --git a/src/main/java/cc/ryanc/halo/model/enums/converter/PostCreateFromConverter.java b/src/main/java/run/halo/app/model/enums/converter/PostCreateFromConverter.java similarity index 77% rename from src/main/java/cc/ryanc/halo/model/enums/converter/PostCreateFromConverter.java rename to src/main/java/run/halo/app/model/enums/converter/PostCreateFromConverter.java index 22d9e21b5..6a4095f64 100644 --- a/src/main/java/cc/ryanc/halo/model/enums/converter/PostCreateFromConverter.java +++ b/src/main/java/run/halo/app/model/enums/converter/PostCreateFromConverter.java @@ -1,6 +1,6 @@ -package cc.ryanc.halo.model.enums.converter; +package run.halo.app.model.enums.converter; -import cc.ryanc.halo.model.enums.PostCreateFrom; +import run.halo.app.model.enums.PostCreateFrom; import javax.persistence.Converter; diff --git a/src/main/java/cc/ryanc/halo/model/enums/converter/PostStatusConverter.java b/src/main/java/run/halo/app/model/enums/converter/PostStatusConverter.java similarity index 76% rename from src/main/java/cc/ryanc/halo/model/enums/converter/PostStatusConverter.java rename to src/main/java/run/halo/app/model/enums/converter/PostStatusConverter.java index 3655a556f..bcdba5650 100644 --- a/src/main/java/cc/ryanc/halo/model/enums/converter/PostStatusConverter.java +++ b/src/main/java/run/halo/app/model/enums/converter/PostStatusConverter.java @@ -1,6 +1,6 @@ -package cc.ryanc.halo.model.enums.converter; +package run.halo.app.model.enums.converter; -import cc.ryanc.halo.model.enums.PostStatus; +import run.halo.app.model.enums.PostStatus; import javax.persistence.Converter; diff --git a/src/main/java/cc/ryanc/halo/model/enums/converter/PostTypeConverter.java b/src/main/java/run/halo/app/model/enums/converter/PostTypeConverter.java similarity index 76% rename from src/main/java/cc/ryanc/halo/model/enums/converter/PostTypeConverter.java rename to src/main/java/run/halo/app/model/enums/converter/PostTypeConverter.java index 406e32aec..70aa84667 100644 --- a/src/main/java/cc/ryanc/halo/model/enums/converter/PostTypeConverter.java +++ b/src/main/java/run/halo/app/model/enums/converter/PostTypeConverter.java @@ -1,6 +1,6 @@ -package cc.ryanc.halo.model.enums.converter; +package run.halo.app.model.enums.converter; -import cc.ryanc.halo.model.enums.PostType; +import run.halo.app.model.enums.PostType; import javax.persistence.Converter; diff --git a/src/main/java/cc/ryanc/halo/model/freemarker/method/RandomMethod.java b/src/main/java/run/halo/app/model/freemarker/method/RandomMethod.java similarity index 95% rename from src/main/java/cc/ryanc/halo/model/freemarker/method/RandomMethod.java rename to src/main/java/run/halo/app/model/freemarker/method/RandomMethod.java index 4673a8445..b688fa49c 100644 --- a/src/main/java/cc/ryanc/halo/model/freemarker/method/RandomMethod.java +++ b/src/main/java/run/halo/app/model/freemarker/method/RandomMethod.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.freemarker.method; +package run.halo.app.model.freemarker.method; import cn.hutool.core.util.RandomUtil; import freemarker.template.SimpleNumber; diff --git a/src/main/java/cc/ryanc/halo/model/freemarker/method/RecentCommentsMethod.java b/src/main/java/run/halo/app/model/freemarker/method/RecentCommentsMethod.java similarity index 90% rename from src/main/java/cc/ryanc/halo/model/freemarker/method/RecentCommentsMethod.java rename to src/main/java/run/halo/app/model/freemarker/method/RecentCommentsMethod.java index d40b980cc..46f06c77c 100644 --- a/src/main/java/cc/ryanc/halo/model/freemarker/method/RecentCommentsMethod.java +++ b/src/main/java/run/halo/app/model/freemarker/method/RecentCommentsMethod.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.freemarker.method; +package run.halo.app.model.freemarker.method; import freemarker.template.TemplateMethodModelEx; import freemarker.template.TemplateModelException; diff --git a/src/main/java/cc/ryanc/halo/model/freemarker/method/RecentPostsMethod.java b/src/main/java/run/halo/app/model/freemarker/method/RecentPostsMethod.java similarity index 90% rename from src/main/java/cc/ryanc/halo/model/freemarker/method/RecentPostsMethod.java rename to src/main/java/run/halo/app/model/freemarker/method/RecentPostsMethod.java index 5fdf0c921..5d193b242 100644 --- a/src/main/java/cc/ryanc/halo/model/freemarker/method/RecentPostsMethod.java +++ b/src/main/java/run/halo/app/model/freemarker/method/RecentPostsMethod.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.freemarker.method; +package run.halo.app.model.freemarker.method; import freemarker.template.TemplateMethodModelEx; import freemarker.template.TemplateModelException; diff --git a/src/main/java/cc/ryanc/halo/model/freemarker/tag/CategoryTagDirective.java b/src/main/java/run/halo/app/model/freemarker/tag/CategoryTagDirective.java similarity index 91% rename from src/main/java/cc/ryanc/halo/model/freemarker/tag/CategoryTagDirective.java rename to src/main/java/run/halo/app/model/freemarker/tag/CategoryTagDirective.java index 79bb2fdbc..4c963b320 100644 --- a/src/main/java/cc/ryanc/halo/model/freemarker/tag/CategoryTagDirective.java +++ b/src/main/java/run/halo/app/model/freemarker/tag/CategoryTagDirective.java @@ -1,9 +1,10 @@ -package cc.ryanc.halo.model.freemarker.tag; +package run.halo.app.model.freemarker.tag; -import cc.ryanc.halo.service.CategoryService; +import run.halo.app.service.CategoryService; import freemarker.core.Environment; import freemarker.template.*; import org.springframework.stereotype.Component; +import run.halo.app.service.CategoryService; import java.io.IOException; import java.util.Map; diff --git a/src/main/java/cc/ryanc/halo/model/freemarker/tag/CommentTagDirective.java b/src/main/java/run/halo/app/model/freemarker/tag/CommentTagDirective.java similarity index 91% rename from src/main/java/cc/ryanc/halo/model/freemarker/tag/CommentTagDirective.java rename to src/main/java/run/halo/app/model/freemarker/tag/CommentTagDirective.java index 2660b58d6..55b094481 100644 --- a/src/main/java/cc/ryanc/halo/model/freemarker/tag/CommentTagDirective.java +++ b/src/main/java/run/halo/app/model/freemarker/tag/CommentTagDirective.java @@ -1,9 +1,10 @@ -package cc.ryanc.halo.model.freemarker.tag; +package run.halo.app.model.freemarker.tag; -import cc.ryanc.halo.service.CommentService; +import run.halo.app.service.CommentService; import freemarker.core.Environment; import freemarker.template.*; import org.springframework.stereotype.Component; +import run.halo.app.service.CommentService; import java.io.IOException; import java.util.Map; diff --git a/src/main/java/cc/ryanc/halo/model/freemarker/tag/LinkTagDirective.java b/src/main/java/run/halo/app/model/freemarker/tag/LinkTagDirective.java similarity index 94% rename from src/main/java/cc/ryanc/halo/model/freemarker/tag/LinkTagDirective.java rename to src/main/java/run/halo/app/model/freemarker/tag/LinkTagDirective.java index fb35b2512..24b6e5d29 100644 --- a/src/main/java/cc/ryanc/halo/model/freemarker/tag/LinkTagDirective.java +++ b/src/main/java/run/halo/app/model/freemarker/tag/LinkTagDirective.java @@ -1,6 +1,6 @@ -package cc.ryanc.halo.model.freemarker.tag; +package run.halo.app.model.freemarker.tag; -import cc.ryanc.halo.service.LinkService; +import run.halo.app.service.LinkService; import freemarker.core.Environment; import freemarker.template.*; import org.springframework.stereotype.Component; diff --git a/src/main/java/cc/ryanc/halo/model/freemarker/tag/MenuTagDirective.java b/src/main/java/run/halo/app/model/freemarker/tag/MenuTagDirective.java similarity index 91% rename from src/main/java/cc/ryanc/halo/model/freemarker/tag/MenuTagDirective.java rename to src/main/java/run/halo/app/model/freemarker/tag/MenuTagDirective.java index a167e9a7d..323bec611 100644 --- a/src/main/java/cc/ryanc/halo/model/freemarker/tag/MenuTagDirective.java +++ b/src/main/java/run/halo/app/model/freemarker/tag/MenuTagDirective.java @@ -1,9 +1,10 @@ -package cc.ryanc.halo.model.freemarker.tag; +package run.halo.app.model.freemarker.tag; -import cc.ryanc.halo.service.MenuService; +import run.halo.app.service.MenuService; import freemarker.core.Environment; import freemarker.template.*; import org.springframework.stereotype.Component; +import run.halo.app.service.MenuService; import java.io.IOException; import java.util.Map; diff --git a/src/main/java/cc/ryanc/halo/model/freemarker/tag/PostTagDirective.java b/src/main/java/run/halo/app/model/freemarker/tag/PostTagDirective.java similarity index 94% rename from src/main/java/cc/ryanc/halo/model/freemarker/tag/PostTagDirective.java rename to src/main/java/run/halo/app/model/freemarker/tag/PostTagDirective.java index a9ea5b39d..7a333a3c7 100644 --- a/src/main/java/cc/ryanc/halo/model/freemarker/tag/PostTagDirective.java +++ b/src/main/java/run/halo/app/model/freemarker/tag/PostTagDirective.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.freemarker.tag; +package run.halo.app.model.freemarker.tag; import freemarker.core.Environment; import freemarker.template.TemplateDirectiveBody; diff --git a/src/main/java/cc/ryanc/halo/model/freemarker/tag/TagTagDirective.java b/src/main/java/run/halo/app/model/freemarker/tag/TagTagDirective.java similarity index 94% rename from src/main/java/cc/ryanc/halo/model/freemarker/tag/TagTagDirective.java rename to src/main/java/run/halo/app/model/freemarker/tag/TagTagDirective.java index efd5bd1c3..240dc4c16 100644 --- a/src/main/java/cc/ryanc/halo/model/freemarker/tag/TagTagDirective.java +++ b/src/main/java/run/halo/app/model/freemarker/tag/TagTagDirective.java @@ -1,6 +1,6 @@ -package cc.ryanc.halo.model.freemarker.tag; +package run.halo.app.model.freemarker.tag; -import cc.ryanc.halo.service.TagService; +import run.halo.app.service.TagService; import freemarker.core.Environment; import freemarker.template.*; import org.springframework.stereotype.Component; diff --git a/src/main/java/cc/ryanc/halo/model/params/CategoryParam.java b/src/main/java/run/halo/app/model/params/CategoryParam.java similarity index 87% rename from src/main/java/cc/ryanc/halo/model/params/CategoryParam.java rename to src/main/java/run/halo/app/model/params/CategoryParam.java index d4180eb4d..0423428c2 100644 --- a/src/main/java/cc/ryanc/halo/model/params/CategoryParam.java +++ b/src/main/java/run/halo/app/model/params/CategoryParam.java @@ -1,8 +1,8 @@ -package cc.ryanc.halo.model.params; +package run.halo.app.model.params; -import cc.ryanc.halo.model.dto.base.InputConverter; -import cc.ryanc.halo.model.entity.Category; -import cc.ryanc.halo.utils.SlugUtils; +import run.halo.app.model.dto.base.InputConverter; +import run.halo.app.model.entity.Category; +import run.halo.app.utils.SlugUtils; import lombok.Data; import org.apache.commons.lang3.StringUtils; diff --git a/src/main/java/cc/ryanc/halo/model/params/CommentParam.java b/src/main/java/run/halo/app/model/params/CommentParam.java similarity index 90% rename from src/main/java/cc/ryanc/halo/model/params/CommentParam.java rename to src/main/java/run/halo/app/model/params/CommentParam.java index 89b55b64d..560398216 100644 --- a/src/main/java/cc/ryanc/halo/model/params/CommentParam.java +++ b/src/main/java/run/halo/app/model/params/CommentParam.java @@ -1,7 +1,7 @@ -package cc.ryanc.halo.model.params; +package run.halo.app.model.params; -import cc.ryanc.halo.model.dto.base.InputConverter; -import cc.ryanc.halo.model.entity.Comment; +import run.halo.app.model.dto.base.InputConverter; +import run.halo.app.model.entity.Comment; import lombok.Data; import javax.validation.constraints.Email; diff --git a/src/main/java/cc/ryanc/halo/model/params/InstallParam.java b/src/main/java/run/halo/app/model/params/InstallParam.java similarity index 95% rename from src/main/java/cc/ryanc/halo/model/params/InstallParam.java rename to src/main/java/run/halo/app/model/params/InstallParam.java index c4ecc8cb6..846c794f8 100644 --- a/src/main/java/cc/ryanc/halo/model/params/InstallParam.java +++ b/src/main/java/run/halo/app/model/params/InstallParam.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.params; +package run.halo.app.model.params; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/src/main/java/cc/ryanc/halo/model/params/LinkParam.java b/src/main/java/run/halo/app/model/params/LinkParam.java similarity index 88% rename from src/main/java/cc/ryanc/halo/model/params/LinkParam.java rename to src/main/java/run/halo/app/model/params/LinkParam.java index b36e3666b..79dbf32af 100644 --- a/src/main/java/cc/ryanc/halo/model/params/LinkParam.java +++ b/src/main/java/run/halo/app/model/params/LinkParam.java @@ -1,7 +1,7 @@ -package cc.ryanc.halo.model.params; +package run.halo.app.model.params; -import cc.ryanc.halo.model.dto.base.InputConverter; -import cc.ryanc.halo.model.entity.Link; +import run.halo.app.model.dto.base.InputConverter; +import run.halo.app.model.entity.Link; import lombok.Data; import org.hibernate.validator.constraints.URL; diff --git a/src/main/java/cc/ryanc/halo/model/params/LoginParam.java b/src/main/java/run/halo/app/model/params/LoginParam.java similarity index 94% rename from src/main/java/cc/ryanc/halo/model/params/LoginParam.java rename to src/main/java/run/halo/app/model/params/LoginParam.java index cd8c4e63d..3f7d6f15a 100644 --- a/src/main/java/cc/ryanc/halo/model/params/LoginParam.java +++ b/src/main/java/run/halo/app/model/params/LoginParam.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.params; +package run.halo.app.model.params; import lombok.Data; import lombok.ToString; diff --git a/src/main/java/cc/ryanc/halo/model/params/MenuParam.java b/src/main/java/run/halo/app/model/params/MenuParam.java similarity index 81% rename from src/main/java/cc/ryanc/halo/model/params/MenuParam.java rename to src/main/java/run/halo/app/model/params/MenuParam.java index 16aeee347..4d9221f89 100644 --- a/src/main/java/cc/ryanc/halo/model/params/MenuParam.java +++ b/src/main/java/run/halo/app/model/params/MenuParam.java @@ -1,9 +1,11 @@ -package cc.ryanc.halo.model.params; +package run.halo.app.model.params; -import cc.ryanc.halo.model.dto.base.InputConverter; -import cc.ryanc.halo.model.entity.Menu; +import run.halo.app.model.dto.base.InputConverter; +import run.halo.app.model.entity.Menu; import lombok.Data; import lombok.ToString; +import run.halo.app.model.dto.base.InputConverter; +import run.halo.app.model.entity.Menu; import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; diff --git a/src/main/java/cc/ryanc/halo/model/params/OptionParam.java b/src/main/java/run/halo/app/model/params/OptionParam.java similarity index 80% rename from src/main/java/cc/ryanc/halo/model/params/OptionParam.java rename to src/main/java/run/halo/app/model/params/OptionParam.java index 502bd4a3a..9499ec3ae 100644 --- a/src/main/java/cc/ryanc/halo/model/params/OptionParam.java +++ b/src/main/java/run/halo/app/model/params/OptionParam.java @@ -1,7 +1,7 @@ -package cc.ryanc.halo.model.params; +package run.halo.app.model.params; -import cc.ryanc.halo.model.dto.base.InputConverter; -import cc.ryanc.halo.model.entity.Option; +import run.halo.app.model.dto.base.InputConverter; +import run.halo.app.model.entity.Option; import lombok.Data; import javax.validation.constraints.NotBlank; diff --git a/src/main/java/cc/ryanc/halo/model/params/PasswordParam.java b/src/main/java/run/halo/app/model/params/PasswordParam.java similarity index 94% rename from src/main/java/cc/ryanc/halo/model/params/PasswordParam.java rename to src/main/java/run/halo/app/model/params/PasswordParam.java index 254530794..da0193f5b 100644 --- a/src/main/java/cc/ryanc/halo/model/params/PasswordParam.java +++ b/src/main/java/run/halo/app/model/params/PasswordParam.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.params; +package run.halo.app.model.params; import lombok.Data; diff --git a/src/main/java/cc/ryanc/halo/model/params/PostParam.java b/src/main/java/run/halo/app/model/params/PostParam.java similarity index 88% rename from src/main/java/cc/ryanc/halo/model/params/PostParam.java rename to src/main/java/run/halo/app/model/params/PostParam.java index 32d43fc86..3069f1a9c 100644 --- a/src/main/java/cc/ryanc/halo/model/params/PostParam.java +++ b/src/main/java/run/halo/app/model/params/PostParam.java @@ -1,11 +1,10 @@ -package cc.ryanc.halo.model.params; +package run.halo.app.model.params; -import cc.ryanc.halo.model.dto.base.InputConverter; -import cc.ryanc.halo.model.entity.Post; -import cc.ryanc.halo.model.enums.PostCreateFrom; -import cc.ryanc.halo.model.enums.PostStatus; -import cc.ryanc.halo.model.enums.PostType; -import cc.ryanc.halo.utils.HaloUtils; +import run.halo.app.model.dto.base.InputConverter; +import run.halo.app.model.entity.Post; +import run.halo.app.model.enums.PostCreateFrom; +import run.halo.app.model.enums.PostStatus; +import run.halo.app.utils.HaloUtils; import cn.hutool.crypto.digest.BCrypt; import lombok.Data; import org.apache.commons.lang3.StringUtils; diff --git a/src/main/java/cc/ryanc/halo/model/params/TagParam.java b/src/main/java/run/halo/app/model/params/TagParam.java similarity index 75% rename from src/main/java/cc/ryanc/halo/model/params/TagParam.java rename to src/main/java/run/halo/app/model/params/TagParam.java index 295c1a31f..e251aa92f 100644 --- a/src/main/java/cc/ryanc/halo/model/params/TagParam.java +++ b/src/main/java/run/halo/app/model/params/TagParam.java @@ -1,11 +1,13 @@ -package cc.ryanc.halo.model.params; +package run.halo.app.model.params; -import cc.ryanc.halo.model.dto.base.InputConverter; -import cc.ryanc.halo.model.entity.Tag; -import cc.ryanc.halo.utils.HaloUtils; -import cc.ryanc.halo.utils.SlugUtils; +import run.halo.app.model.dto.base.InputConverter; +import run.halo.app.model.entity.Tag; +import run.halo.app.utils.HaloUtils; +import run.halo.app.utils.SlugUtils; import lombok.Data; import org.apache.commons.lang3.StringUtils; +import run.halo.app.utils.HaloUtils; +import run.halo.app.utils.SlugUtils; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; diff --git a/src/main/java/cc/ryanc/halo/model/params/UserParam.java b/src/main/java/run/halo/app/model/params/UserParam.java similarity index 89% rename from src/main/java/cc/ryanc/halo/model/params/UserParam.java rename to src/main/java/run/halo/app/model/params/UserParam.java index cda4372be..c875f55ef 100644 --- a/src/main/java/cc/ryanc/halo/model/params/UserParam.java +++ b/src/main/java/run/halo/app/model/params/UserParam.java @@ -1,7 +1,7 @@ -package cc.ryanc.halo.model.params; +package run.halo.app.model.params; -import cc.ryanc.halo.model.dto.base.InputConverter; -import cc.ryanc.halo.model.entity.User; +import run.halo.app.model.dto.base.InputConverter; +import run.halo.app.model.entity.User; import lombok.Data; import javax.validation.constraints.Email; diff --git a/src/main/java/cc/ryanc/halo/model/projection/CommentCountProjection.java b/src/main/java/run/halo/app/model/projection/CommentCountProjection.java similarity index 88% rename from src/main/java/cc/ryanc/halo/model/projection/CommentCountProjection.java rename to src/main/java/run/halo/app/model/projection/CommentCountProjection.java index dcbd0aa30..83356d006 100644 --- a/src/main/java/cc/ryanc/halo/model/projection/CommentCountProjection.java +++ b/src/main/java/run/halo/app/model/projection/CommentCountProjection.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.projection; +package run.halo.app.model.projection; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/src/main/java/cc/ryanc/halo/model/projection/TagPostCountProjection.java b/src/main/java/run/halo/app/model/projection/TagPostCountProjection.java similarity index 90% rename from src/main/java/cc/ryanc/halo/model/projection/TagPostCountProjection.java rename to src/main/java/run/halo/app/model/projection/TagPostCountProjection.java index 71a889f3b..2df512efe 100644 --- a/src/main/java/cc/ryanc/halo/model/projection/TagPostCountProjection.java +++ b/src/main/java/run/halo/app/model/projection/TagPostCountProjection.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.projection; +package run.halo.app.model.projection; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/src/main/java/cc/ryanc/halo/model/properties/AttachmentProperties.java b/src/main/java/run/halo/app/model/properties/AttachmentProperties.java similarity index 79% rename from src/main/java/cc/ryanc/halo/model/properties/AttachmentProperties.java rename to src/main/java/run/halo/app/model/properties/AttachmentProperties.java index b12f8bf3b..4ed101221 100644 --- a/src/main/java/cc/ryanc/halo/model/properties/AttachmentProperties.java +++ b/src/main/java/run/halo/app/model/properties/AttachmentProperties.java @@ -1,6 +1,7 @@ -package cc.ryanc.halo.model.properties; +package run.halo.app.model.properties; -import cc.ryanc.halo.model.enums.AttachmentType; +import run.halo.app.model.enums.AttachmentType; +import run.halo.app.model.enums.AttachmentType; /** * Attachment properties. @@ -9,7 +10,7 @@ import cc.ryanc.halo.model.enums.AttachmentType; * @date 4/1/19 */ public enum AttachmentProperties implements PropertyEnum { - + ATTACHMENT_TYPE("attachment_type", AttachmentType.class); private final String value; diff --git a/src/main/java/cc/ryanc/halo/model/properties/BlogProperties.java b/src/main/java/run/halo/app/model/properties/BlogProperties.java similarity index 96% rename from src/main/java/cc/ryanc/halo/model/properties/BlogProperties.java rename to src/main/java/run/halo/app/model/properties/BlogProperties.java index 36dc42157..defa00f7a 100644 --- a/src/main/java/cc/ryanc/halo/model/properties/BlogProperties.java +++ b/src/main/java/run/halo/app/model/properties/BlogProperties.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.properties; +package run.halo.app.model.properties; /** * @author : RYAN0UP diff --git a/src/main/java/cc/ryanc/halo/model/properties/CommentProperties.java b/src/main/java/run/halo/app/model/properties/CommentProperties.java similarity index 96% rename from src/main/java/cc/ryanc/halo/model/properties/CommentProperties.java rename to src/main/java/run/halo/app/model/properties/CommentProperties.java index 29e80e6bd..92511c3c3 100644 --- a/src/main/java/cc/ryanc/halo/model/properties/CommentProperties.java +++ b/src/main/java/run/halo/app/model/properties/CommentProperties.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.properties; +package run.halo.app.model.properties; /** * Comment properties. diff --git a/src/main/java/cc/ryanc/halo/model/properties/EmailProperties.java b/src/main/java/run/halo/app/model/properties/EmailProperties.java similarity index 95% rename from src/main/java/cc/ryanc/halo/model/properties/EmailProperties.java rename to src/main/java/run/halo/app/model/properties/EmailProperties.java index 9848dd0fa..72bcbd307 100644 --- a/src/main/java/cc/ryanc/halo/model/properties/EmailProperties.java +++ b/src/main/java/run/halo/app/model/properties/EmailProperties.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.properties; +package run.halo.app.model.properties; /** * Email properties. diff --git a/src/main/java/cc/ryanc/halo/model/properties/OtherProperties.java b/src/main/java/run/halo/app/model/properties/OtherProperties.java similarity index 93% rename from src/main/java/cc/ryanc/halo/model/properties/OtherProperties.java rename to src/main/java/run/halo/app/model/properties/OtherProperties.java index e704a9624..2e96e82cd 100644 --- a/src/main/java/cc/ryanc/halo/model/properties/OtherProperties.java +++ b/src/main/java/run/halo/app/model/properties/OtherProperties.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.properties; +package run.halo.app.model.properties; /** * Other properties. diff --git a/src/main/java/cc/ryanc/halo/model/properties/PostProperties.java b/src/main/java/run/halo/app/model/properties/PostProperties.java similarity index 93% rename from src/main/java/cc/ryanc/halo/model/properties/PostProperties.java rename to src/main/java/run/halo/app/model/properties/PostProperties.java index d2b6f9531..e719bc98f 100644 --- a/src/main/java/cc/ryanc/halo/model/properties/PostProperties.java +++ b/src/main/java/run/halo/app/model/properties/PostProperties.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.properties; +package run.halo.app.model.properties; /** * @author johnniang diff --git a/src/main/java/cc/ryanc/halo/model/properties/PrimaryProperties.java b/src/main/java/run/halo/app/model/properties/PrimaryProperties.java similarity index 93% rename from src/main/java/cc/ryanc/halo/model/properties/PrimaryProperties.java rename to src/main/java/run/halo/app/model/properties/PrimaryProperties.java index 37e2bca02..ef72d3bea 100644 --- a/src/main/java/cc/ryanc/halo/model/properties/PrimaryProperties.java +++ b/src/main/java/run/halo/app/model/properties/PrimaryProperties.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.properties; +package run.halo.app.model.properties; /** * Primary properties. diff --git a/src/main/java/cc/ryanc/halo/model/properties/PropertyEnum.java b/src/main/java/run/halo/app/model/properties/PropertyEnum.java similarity index 97% rename from src/main/java/cc/ryanc/halo/model/properties/PropertyEnum.java rename to src/main/java/run/halo/app/model/properties/PropertyEnum.java index 96dae32d7..1eb68d01c 100644 --- a/src/main/java/cc/ryanc/halo/model/properties/PropertyEnum.java +++ b/src/main/java/run/halo/app/model/properties/PropertyEnum.java @@ -1,9 +1,9 @@ -package cc.ryanc.halo.model.properties; +package run.halo.app.model.properties; -import cc.ryanc.halo.model.enums.ValueEnum; import org.springframework.lang.NonNull; import org.springframework.lang.Nullable; import org.springframework.util.Assert; +import run.halo.app.model.enums.ValueEnum; /** * Property enum. @@ -13,13 +13,6 @@ import org.springframework.util.Assert; */ public interface PropertyEnum extends ValueEnum { - /** - * Get property type. - * - * @return property type - */ - Class getType(); - /** * Converts to value with corresponding type * @@ -113,4 +106,11 @@ public interface PropertyEnum extends ValueEnum { || type.isAssignableFrom(ValueEnum.class) ); } + + /** + * Get property type. + * + * @return property type + */ + Class getType(); } diff --git a/src/main/java/cc/ryanc/halo/model/properties/QnYunProperties.java b/src/main/java/run/halo/app/model/properties/QnYunProperties.java similarity index 95% rename from src/main/java/cc/ryanc/halo/model/properties/QnYunProperties.java rename to src/main/java/run/halo/app/model/properties/QnYunProperties.java index 6f028e8fd..27604a8c8 100644 --- a/src/main/java/cc/ryanc/halo/model/properties/QnYunProperties.java +++ b/src/main/java/run/halo/app/model/properties/QnYunProperties.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.properties; +package run.halo.app.model.properties; /** * Qi niu yun properties. diff --git a/src/main/java/cc/ryanc/halo/model/properties/SeoProperties.java b/src/main/java/run/halo/app/model/properties/SeoProperties.java similarity index 95% rename from src/main/java/cc/ryanc/halo/model/properties/SeoProperties.java rename to src/main/java/run/halo/app/model/properties/SeoProperties.java index 36be9b615..30b21dff5 100644 --- a/src/main/java/cc/ryanc/halo/model/properties/SeoProperties.java +++ b/src/main/java/run/halo/app/model/properties/SeoProperties.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.properties; +package run.halo.app.model.properties; /** * SEO properties. diff --git a/src/main/java/cc/ryanc/halo/model/properties/UpYunProperties.java b/src/main/java/run/halo/app/model/properties/UpYunProperties.java similarity index 95% rename from src/main/java/cc/ryanc/halo/model/properties/UpYunProperties.java rename to src/main/java/run/halo/app/model/properties/UpYunProperties.java index 7f5ae9313..b8043823a 100644 --- a/src/main/java/cc/ryanc/halo/model/properties/UpYunProperties.java +++ b/src/main/java/run/halo/app/model/properties/UpYunProperties.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.properties; +package run.halo.app.model.properties; /** * You pai yun properties. diff --git a/src/main/java/cc/ryanc/halo/model/support/BackupDto.java b/src/main/java/run/halo/app/model/support/BackupDto.java similarity index 93% rename from src/main/java/cc/ryanc/halo/model/support/BackupDto.java rename to src/main/java/run/halo/app/model/support/BackupDto.java index 3bb52ab5e..887750e9a 100644 --- a/src/main/java/cc/ryanc/halo/model/support/BackupDto.java +++ b/src/main/java/run/halo/app/model/support/BackupDto.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.support; +package run.halo.app.model.support; import lombok.Data; diff --git a/src/main/java/cc/ryanc/halo/model/support/BaseResponse.java b/src/main/java/run/halo/app/model/support/BaseResponse.java similarity index 98% rename from src/main/java/cc/ryanc/halo/model/support/BaseResponse.java rename to src/main/java/run/halo/app/model/support/BaseResponse.java index a8b881bf6..8e220faf1 100644 --- a/src/main/java/cc/ryanc/halo/model/support/BaseResponse.java +++ b/src/main/java/run/halo/app/model/support/BaseResponse.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.support; +package run.halo.app.model.support; import lombok.*; import org.springframework.http.HttpStatus; diff --git a/src/main/java/cc/ryanc/halo/model/support/CommentPage.java b/src/main/java/run/halo/app/model/support/CommentPage.java similarity index 95% rename from src/main/java/cc/ryanc/halo/model/support/CommentPage.java rename to src/main/java/run/halo/app/model/support/CommentPage.java index 352abb648..ea1609d23 100644 --- a/src/main/java/cc/ryanc/halo/model/support/CommentPage.java +++ b/src/main/java/run/halo/app/model/support/CommentPage.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.support; +package run.halo.app.model.support; import lombok.Data; import org.springframework.data.domain.PageImpl; diff --git a/src/main/java/cc/ryanc/halo/model/support/HaloConst.java b/src/main/java/run/halo/app/model/support/HaloConst.java similarity index 98% rename from src/main/java/cc/ryanc/halo/model/support/HaloConst.java rename to src/main/java/run/halo/app/model/support/HaloConst.java index 47a4c0fd2..a90febe8c 100644 --- a/src/main/java/cc/ryanc/halo/model/support/HaloConst.java +++ b/src/main/java/run/halo/app/model/support/HaloConst.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.support; +package run.halo.app.model.support; import java.util.Collections; import java.util.List; diff --git a/src/main/java/cc/ryanc/halo/model/support/LogsRecord.java b/src/main/java/run/halo/app/model/support/LogsRecord.java similarity index 94% rename from src/main/java/cc/ryanc/halo/model/support/LogsRecord.java rename to src/main/java/run/halo/app/model/support/LogsRecord.java index 94f36a709..c27e32091 100644 --- a/src/main/java/cc/ryanc/halo/model/support/LogsRecord.java +++ b/src/main/java/run/halo/app/model/support/LogsRecord.java @@ -1,4 +1,4 @@ -package cc.ryanc.halo.model.support; +package run.halo.app.model.support; /** *
diff --git a/src/main/java/cc/ryanc/halo/model/support/QiNiuPutSet.java b/src/main/java/run/halo/app/model/support/QiNiuPutSet.java
similarity index 92%
rename from src/main/java/cc/ryanc/halo/model/support/QiNiuPutSet.java
rename to src/main/java/run/halo/app/model/support/QiNiuPutSet.java
index c49ebd635..5ccc07316 100644
--- a/src/main/java/cc/ryanc/halo/model/support/QiNiuPutSet.java
+++ b/src/main/java/run/halo/app/model/support/QiNiuPutSet.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.model.support;
+package run.halo.app.model.support;
 
 import lombok.Data;
 
diff --git a/src/main/java/cc/ryanc/halo/model/support/Theme.java b/src/main/java/run/halo/app/model/support/Theme.java
similarity index 92%
rename from src/main/java/cc/ryanc/halo/model/support/Theme.java
rename to src/main/java/run/halo/app/model/support/Theme.java
index 5cec0e4f5..eef1216ff 100644
--- a/src/main/java/cc/ryanc/halo/model/support/Theme.java
+++ b/src/main/java/run/halo/app/model/support/Theme.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.model.support;
+package run.halo.app.model.support;
 
 import lombok.Data;
 
diff --git a/src/main/java/cc/ryanc/halo/model/support/ThemeFile.java b/src/main/java/run/halo/app/model/support/ThemeFile.java
similarity index 89%
rename from src/main/java/cc/ryanc/halo/model/support/ThemeFile.java
rename to src/main/java/run/halo/app/model/support/ThemeFile.java
index 2d75b44d2..60f342fda 100644
--- a/src/main/java/cc/ryanc/halo/model/support/ThemeFile.java
+++ b/src/main/java/run/halo/app/model/support/ThemeFile.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.model.support;
+package run.halo.app.model.support;
 
 import lombok.Data;
 import lombok.ToString;
diff --git a/src/main/java/cc/ryanc/halo/model/support/ThemeProperties.java b/src/main/java/run/halo/app/model/support/ThemeProperties.java
similarity index 90%
rename from src/main/java/cc/ryanc/halo/model/support/ThemeProperties.java
rename to src/main/java/run/halo/app/model/support/ThemeProperties.java
index befbf26cf..acef5b928 100644
--- a/src/main/java/cc/ryanc/halo/model/support/ThemeProperties.java
+++ b/src/main/java/run/halo/app/model/support/ThemeProperties.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.model.support;
+package run.halo.app.model.support;
 
 import lombok.Data;
 
diff --git a/src/main/java/cc/ryanc/halo/model/support/UploadResult.java b/src/main/java/run/halo/app/model/support/UploadResult.java
similarity index 92%
rename from src/main/java/cc/ryanc/halo/model/support/UploadResult.java
rename to src/main/java/run/halo/app/model/support/UploadResult.java
index 64938b66e..aa30f815e 100644
--- a/src/main/java/cc/ryanc/halo/model/support/UploadResult.java
+++ b/src/main/java/run/halo/app/model/support/UploadResult.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.model.support;
+package run.halo.app.model.support;
 
 import lombok.Data;
 import lombok.ToString;
diff --git a/src/main/java/cc/ryanc/halo/model/vo/ArchiveMonthVO.java b/src/main/java/run/halo/app/model/vo/ArchiveMonthVO.java
similarity index 95%
rename from src/main/java/cc/ryanc/halo/model/vo/ArchiveMonthVO.java
rename to src/main/java/run/halo/app/model/vo/ArchiveMonthVO.java
index e9fd404eb..87321a26f 100644
--- a/src/main/java/cc/ryanc/halo/model/vo/ArchiveMonthVO.java
+++ b/src/main/java/run/halo/app/model/vo/ArchiveMonthVO.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.model.vo;
+package run.halo.app.model.vo;
 
 import lombok.Data;
 import lombok.EqualsAndHashCode;
diff --git a/src/main/java/cc/ryanc/halo/model/vo/ArchiveYearVO.java b/src/main/java/run/halo/app/model/vo/ArchiveYearVO.java
similarity index 86%
rename from src/main/java/cc/ryanc/halo/model/vo/ArchiveYearVO.java
rename to src/main/java/run/halo/app/model/vo/ArchiveYearVO.java
index 262c6bffd..cc2c155b9 100644
--- a/src/main/java/cc/ryanc/halo/model/vo/ArchiveYearVO.java
+++ b/src/main/java/run/halo/app/model/vo/ArchiveYearVO.java
@@ -1,6 +1,6 @@
-package cc.ryanc.halo.model.vo;
+package run.halo.app.model.vo;
 
-import cc.ryanc.halo.model.dto.post.PostMinimalOutputDTO;
+import run.halo.app.model.dto.post.PostMinimalOutputDTO;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.ToString;
diff --git a/src/main/java/cc/ryanc/halo/model/vo/CategoryVO.java b/src/main/java/run/halo/app/model/vo/CategoryVO.java
similarity index 62%
rename from src/main/java/cc/ryanc/halo/model/vo/CategoryVO.java
rename to src/main/java/run/halo/app/model/vo/CategoryVO.java
index 32182a6dc..4916970a8 100644
--- a/src/main/java/cc/ryanc/halo/model/vo/CategoryVO.java
+++ b/src/main/java/run/halo/app/model/vo/CategoryVO.java
@@ -1,7 +1,8 @@
-package cc.ryanc.halo.model.vo;
+package run.halo.app.model.vo;
 
-import cc.ryanc.halo.model.dto.CategoryOutputDTO;
+import run.halo.app.model.dto.CategoryOutputDTO;
 import lombok.Data;
+import run.halo.app.model.dto.CategoryOutputDTO;
 
 import java.util.List;
 
diff --git a/src/main/java/cc/ryanc/halo/model/vo/CommentVO.java b/src/main/java/run/halo/app/model/vo/CommentVO.java
similarity index 76%
rename from src/main/java/cc/ryanc/halo/model/vo/CommentVO.java
rename to src/main/java/run/halo/app/model/vo/CommentVO.java
index 490319b32..3ba9fd7c4 100644
--- a/src/main/java/cc/ryanc/halo/model/vo/CommentVO.java
+++ b/src/main/java/run/halo/app/model/vo/CommentVO.java
@@ -1,6 +1,6 @@
-package cc.ryanc.halo.model.vo;
+package run.halo.app.model.vo;
 
-import cc.ryanc.halo.model.dto.CommentOutputDTO;
+import run.halo.app.model.dto.CommentOutputDTO;
 import lombok.Data;
 import lombok.ToString;
 
diff --git a/src/main/java/cc/ryanc/halo/model/vo/CommentWithParentVO.java b/src/main/java/run/halo/app/model/vo/CommentWithParentVO.java
similarity index 84%
rename from src/main/java/cc/ryanc/halo/model/vo/CommentWithParentVO.java
rename to src/main/java/run/halo/app/model/vo/CommentWithParentVO.java
index 4f6ec2fe4..64397ab3f 100644
--- a/src/main/java/cc/ryanc/halo/model/vo/CommentWithParentVO.java
+++ b/src/main/java/run/halo/app/model/vo/CommentWithParentVO.java
@@ -1,10 +1,11 @@
-package cc.ryanc.halo.model.vo;
+package run.halo.app.model.vo;
 
-import cc.ryanc.halo.model.dto.CommentOutputDTO;
+import run.halo.app.model.dto.CommentOutputDTO;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.ToString;
 import lombok.extern.slf4j.Slf4j;
+import run.halo.app.model.dto.CommentOutputDTO;
 
 /**
  * Comment list with parent comment vo.
diff --git a/src/main/java/cc/ryanc/halo/model/vo/CommentWithPostVO.java b/src/main/java/run/halo/app/model/vo/CommentWithPostVO.java
similarity index 67%
rename from src/main/java/cc/ryanc/halo/model/vo/CommentWithPostVO.java
rename to src/main/java/run/halo/app/model/vo/CommentWithPostVO.java
index b6364d478..4b1daba0f 100644
--- a/src/main/java/cc/ryanc/halo/model/vo/CommentWithPostVO.java
+++ b/src/main/java/run/halo/app/model/vo/CommentWithPostVO.java
@@ -1,7 +1,7 @@
-package cc.ryanc.halo.model.vo;
+package run.halo.app.model.vo;
 
-import cc.ryanc.halo.model.dto.CommentOutputDTO;
-import cc.ryanc.halo.model.dto.post.PostMinimalOutputDTO;
+import run.halo.app.model.dto.CommentOutputDTO;
+import run.halo.app.model.dto.post.PostMinimalOutputDTO;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.ToString;
diff --git a/src/main/java/cc/ryanc/halo/model/vo/LinkTeamVO.java b/src/main/java/run/halo/app/model/vo/LinkTeamVO.java
similarity index 67%
rename from src/main/java/cc/ryanc/halo/model/vo/LinkTeamVO.java
rename to src/main/java/run/halo/app/model/vo/LinkTeamVO.java
index 309f7ef5b..ad65ebfd6 100644
--- a/src/main/java/cc/ryanc/halo/model/vo/LinkTeamVO.java
+++ b/src/main/java/run/halo/app/model/vo/LinkTeamVO.java
@@ -1,8 +1,9 @@
-package cc.ryanc.halo.model.vo;
+package run.halo.app.model.vo;
 
-import cc.ryanc.halo.model.dto.LinkOutputDTO;
+import run.halo.app.model.dto.LinkOutputDTO;
 import lombok.Data;
 import lombok.ToString;
+import run.halo.app.model.dto.LinkOutputDTO;
 
 import java.util.List;
 
diff --git a/src/main/java/cc/ryanc/halo/model/vo/PostDetailVO.java b/src/main/java/run/halo/app/model/vo/PostDetailVO.java
similarity index 68%
rename from src/main/java/cc/ryanc/halo/model/vo/PostDetailVO.java
rename to src/main/java/run/halo/app/model/vo/PostDetailVO.java
index 0844deafa..fc255f3aa 100644
--- a/src/main/java/cc/ryanc/halo/model/vo/PostDetailVO.java
+++ b/src/main/java/run/halo/app/model/vo/PostDetailVO.java
@@ -1,8 +1,9 @@
-package cc.ryanc.halo.model.vo;
+package run.halo.app.model.vo;
 
-import cc.ryanc.halo.model.dto.post.PostDetailOutputDTO;
+import run.halo.app.model.dto.post.PostDetailOutputDTO;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import run.halo.app.model.dto.post.PostDetailOutputDTO;
 
 import java.util.Set;
 
diff --git a/src/main/java/cc/ryanc/halo/model/vo/PostListVO.java b/src/main/java/run/halo/app/model/vo/PostListVO.java
similarity index 66%
rename from src/main/java/cc/ryanc/halo/model/vo/PostListVO.java
rename to src/main/java/run/halo/app/model/vo/PostListVO.java
index 8bc6d00e1..d34d8c7fb 100644
--- a/src/main/java/cc/ryanc/halo/model/vo/PostListVO.java
+++ b/src/main/java/run/halo/app/model/vo/PostListVO.java
@@ -1,8 +1,8 @@
-package cc.ryanc.halo.model.vo;
+package run.halo.app.model.vo;
 
-import cc.ryanc.halo.model.dto.CategoryOutputDTO;
-import cc.ryanc.halo.model.dto.TagOutputDTO;
-import cc.ryanc.halo.model.dto.post.PostSimpleOutputDTO;
+import run.halo.app.model.dto.CategoryOutputDTO;
+import run.halo.app.model.dto.TagOutputDTO;
+import run.halo.app.model.dto.post.PostSimpleOutputDTO;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
diff --git a/src/main/java/run/halo/app/repository/AttachmentRepository.java b/src/main/java/run/halo/app/repository/AttachmentRepository.java
new file mode 100644
index 000000000..58b3adb30
--- /dev/null
+++ b/src/main/java/run/halo/app/repository/AttachmentRepository.java
@@ -0,0 +1,13 @@
+package run.halo.app.repository;
+
+import run.halo.app.model.entity.Attachment;
+import run.halo.app.repository.base.BaseRepository;
+import run.halo.app.repository.base.BaseRepository;
+
+/**
+ * Attachment repository
+ *
+ * @author johnniang
+ */
+public interface AttachmentRepository extends BaseRepository {
+}
diff --git a/src/main/java/cc/ryanc/halo/repository/CategoryRepository.java b/src/main/java/run/halo/app/repository/CategoryRepository.java
similarity index 84%
rename from src/main/java/cc/ryanc/halo/repository/CategoryRepository.java
rename to src/main/java/run/halo/app/repository/CategoryRepository.java
index 1086d18ac..5593a8736 100644
--- a/src/main/java/cc/ryanc/halo/repository/CategoryRepository.java
+++ b/src/main/java/run/halo/app/repository/CategoryRepository.java
@@ -1,7 +1,7 @@
-package cc.ryanc.halo.repository;
+package run.halo.app.repository;
 
-import cc.ryanc.halo.model.entity.Category;
-import cc.ryanc.halo.repository.base.BaseRepository;
+import run.halo.app.model.entity.Category;
+import run.halo.app.repository.base.BaseRepository;
 import org.springframework.lang.NonNull;
 
 import java.util.Optional;
diff --git a/src/main/java/cc/ryanc/halo/repository/CommentRepository.java b/src/main/java/run/halo/app/repository/CommentRepository.java
similarity index 81%
rename from src/main/java/cc/ryanc/halo/repository/CommentRepository.java
rename to src/main/java/run/halo/app/repository/CommentRepository.java
index f51411fc0..370483564 100644
--- a/src/main/java/cc/ryanc/halo/repository/CommentRepository.java
+++ b/src/main/java/run/halo/app/repository/CommentRepository.java
@@ -1,14 +1,15 @@
-package cc.ryanc.halo.repository;
+package run.halo.app.repository;
 
-import cc.ryanc.halo.model.entity.Comment;
-import cc.ryanc.halo.model.enums.CommentStatus;
-import cc.ryanc.halo.model.projection.CommentCountProjection;
-import cc.ryanc.halo.repository.base.BaseRepository;
+import run.halo.app.model.entity.Comment;
+import run.halo.app.model.enums.CommentStatus;
+import run.halo.app.model.projection.CommentCountProjection;
+import run.halo.app.repository.base.BaseRepository;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.jpa.repository.Query;
 import org.springframework.lang.NonNull;
 import org.springframework.lang.Nullable;
+import run.halo.app.repository.base.BaseRepository;
 
 import java.util.List;
 
@@ -54,7 +55,7 @@ public interface CommentRepository extends BaseRepository {
      * @param postIds post id collection must not be null
      * @return a list of comment count
      */
-    @Query("select new cc.ryanc.halo.model.projection.CommentCountProjection(count(comment.id), comment.postId) from Comment comment where comment.postId in ?1 group by comment.postId")
+    @Query("select new run.halo.app.model.projection.CommentCountProjection(count(comment.id), comment.postId) from Comment comment where comment.postId in ?1 group by comment.postId")
     @NonNull
     List countByPostIds(@NonNull Iterable postIds);
 
diff --git a/src/main/java/run/halo/app/repository/GalleryRepository.java b/src/main/java/run/halo/app/repository/GalleryRepository.java
new file mode 100644
index 000000000..be4711910
--- /dev/null
+++ b/src/main/java/run/halo/app/repository/GalleryRepository.java
@@ -0,0 +1,13 @@
+package run.halo.app.repository;
+
+import run.halo.app.model.entity.Gallery;
+import run.halo.app.repository.base.BaseRepository;
+import run.halo.app.repository.base.BaseRepository;
+
+/**
+ * Gallery repository.
+ *
+ * @author johnniang
+ */
+public interface GalleryRepository extends BaseRepository {
+}
diff --git a/src/main/java/run/halo/app/repository/JournalRepository.java b/src/main/java/run/halo/app/repository/JournalRepository.java
new file mode 100644
index 000000000..78874dac4
--- /dev/null
+++ b/src/main/java/run/halo/app/repository/JournalRepository.java
@@ -0,0 +1,15 @@
+package run.halo.app.repository;
+
+import run.halo.app.model.entity.Journal;
+import run.halo.app.repository.base.BasePostRepository;
+import run.halo.app.repository.base.BasePostRepository;
+
+/**
+ * Journal repository.
+ *
+ * @author johnniang
+ * @date 3/22/19
+ */
+public interface JournalRepository extends BasePostRepository {
+
+}
diff --git a/src/main/java/run/halo/app/repository/LinkRepository.java b/src/main/java/run/halo/app/repository/LinkRepository.java
new file mode 100755
index 000000000..db8d66cf9
--- /dev/null
+++ b/src/main/java/run/halo/app/repository/LinkRepository.java
@@ -0,0 +1,13 @@
+package run.halo.app.repository;
+
+import run.halo.app.model.entity.Link;
+import run.halo.app.repository.base.BaseRepository;
+import run.halo.app.repository.base.BaseRepository;
+
+/**
+ * Link repository.
+ *
+ * @author johnniang
+ */
+public interface LinkRepository extends BaseRepository {
+}
diff --git a/src/main/java/run/halo/app/repository/LogRepository.java b/src/main/java/run/halo/app/repository/LogRepository.java
new file mode 100644
index 000000000..9dcaf9306
--- /dev/null
+++ b/src/main/java/run/halo/app/repository/LogRepository.java
@@ -0,0 +1,13 @@
+package run.halo.app.repository;
+
+import run.halo.app.model.entity.Log;
+import run.halo.app.repository.base.BaseRepository;
+
+/**
+ * Log repository.
+ *
+ * @author johnniang
+ */
+public interface LogRepository extends BaseRepository {
+
+}
diff --git a/src/main/java/cc/ryanc/halo/repository/MenuRepository.java b/src/main/java/run/halo/app/repository/MenuRepository.java
similarity index 66%
rename from src/main/java/cc/ryanc/halo/repository/MenuRepository.java
rename to src/main/java/run/halo/app/repository/MenuRepository.java
index 716f508d1..a8916394f 100644
--- a/src/main/java/cc/ryanc/halo/repository/MenuRepository.java
+++ b/src/main/java/run/halo/app/repository/MenuRepository.java
@@ -1,8 +1,9 @@
-package cc.ryanc.halo.repository;
+package run.halo.app.repository;
 
-import cc.ryanc.halo.model.entity.Menu;
-import cc.ryanc.halo.repository.base.BaseRepository;
+import run.halo.app.model.entity.Menu;
+import run.halo.app.repository.base.BaseRepository;
 import org.springframework.lang.NonNull;
+import run.halo.app.repository.base.BaseRepository;
 
 /**
  * Menu repository.
diff --git a/src/main/java/cc/ryanc/halo/repository/OptionRepository.java b/src/main/java/run/halo/app/repository/OptionRepository.java
similarity index 70%
rename from src/main/java/cc/ryanc/halo/repository/OptionRepository.java
rename to src/main/java/run/halo/app/repository/OptionRepository.java
index 6b6401a5c..bc5c9616b 100755
--- a/src/main/java/cc/ryanc/halo/repository/OptionRepository.java
+++ b/src/main/java/run/halo/app/repository/OptionRepository.java
@@ -1,7 +1,8 @@
-package cc.ryanc.halo.repository;
+package run.halo.app.repository;
 
-import cc.ryanc.halo.model.entity.Option;
-import cc.ryanc.halo.repository.base.BaseRepository;
+import run.halo.app.model.entity.Option;
+import run.halo.app.repository.base.BaseRepository;
+import run.halo.app.repository.base.BaseRepository;
 
 import java.util.Optional;
 
diff --git a/src/main/java/run/halo/app/repository/PageRepository.java b/src/main/java/run/halo/app/repository/PageRepository.java
new file mode 100644
index 000000000..f65824a50
--- /dev/null
+++ b/src/main/java/run/halo/app/repository/PageRepository.java
@@ -0,0 +1,15 @@
+package run.halo.app.repository;
+
+import run.halo.app.model.entity.Page;
+import run.halo.app.repository.base.BasePostRepository;
+import run.halo.app.repository.base.BasePostRepository;
+
+/**
+ * Page repository.
+ *
+ * @author johnniang
+ * @date 3/22/19
+ */
+public interface PageRepository extends BasePostRepository {
+
+}
diff --git a/src/main/java/cc/ryanc/halo/repository/PostCategoryRepository.java b/src/main/java/run/halo/app/repository/PostCategoryRepository.java
similarity index 92%
rename from src/main/java/cc/ryanc/halo/repository/PostCategoryRepository.java
rename to src/main/java/run/halo/app/repository/PostCategoryRepository.java
index e70e8f6ac..2e381c5d8 100644
--- a/src/main/java/cc/ryanc/halo/repository/PostCategoryRepository.java
+++ b/src/main/java/run/halo/app/repository/PostCategoryRepository.java
@@ -1,9 +1,10 @@
-package cc.ryanc.halo.repository;
+package run.halo.app.repository;
 
-import cc.ryanc.halo.model.entity.PostCategory;
-import cc.ryanc.halo.repository.base.BaseRepository;
+import run.halo.app.model.entity.PostCategory;
+import run.halo.app.repository.base.BaseRepository;
 import org.springframework.data.jpa.repository.Query;
 import org.springframework.lang.NonNull;
+import run.halo.app.repository.base.BaseRepository;
 
 import java.util.List;
 import java.util.Set;
diff --git a/src/main/java/cc/ryanc/halo/repository/PostRepository.java b/src/main/java/run/halo/app/repository/PostRepository.java
similarity index 70%
rename from src/main/java/cc/ryanc/halo/repository/PostRepository.java
rename to src/main/java/run/halo/app/repository/PostRepository.java
index af83dd42d..a4d7c9f8c 100644
--- a/src/main/java/cc/ryanc/halo/repository/PostRepository.java
+++ b/src/main/java/run/halo/app/repository/PostRepository.java
@@ -1,9 +1,10 @@
-package cc.ryanc.halo.repository;
+package run.halo.app.repository;
 
-import cc.ryanc.halo.model.entity.Post;
-import cc.ryanc.halo.repository.base.BasePostRepository;
+import run.halo.app.model.entity.Post;
+import run.halo.app.repository.base.BasePostRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.jpa.repository.Query;
+import run.halo.app.repository.base.BasePostRepository;
 
 
 /**
diff --git a/src/main/java/cc/ryanc/halo/repository/PostTagRepository.java b/src/main/java/run/halo/app/repository/PostTagRepository.java
similarity index 82%
rename from src/main/java/cc/ryanc/halo/repository/PostTagRepository.java
rename to src/main/java/run/halo/app/repository/PostTagRepository.java
index a8b69c59d..6ca67f106 100644
--- a/src/main/java/cc/ryanc/halo/repository/PostTagRepository.java
+++ b/src/main/java/run/halo/app/repository/PostTagRepository.java
@@ -1,8 +1,8 @@
-package cc.ryanc.halo.repository;
+package run.halo.app.repository;
 
-import cc.ryanc.halo.model.entity.PostTag;
-import cc.ryanc.halo.model.projection.TagPostCountProjection;
-import cc.ryanc.halo.repository.base.BaseRepository;
+import run.halo.app.model.entity.PostTag;
+import run.halo.app.model.projection.TagPostCountProjection;
+import run.halo.app.repository.base.BaseRepository;
 import org.springframework.data.jpa.repository.Query;
 import org.springframework.lang.NonNull;
 
@@ -88,7 +88,7 @@ public interface PostTagRepository extends BaseRepository {
      * @param tagIds tag id collection must not be null
      * @return a list of tag post count projection
      */
-    @Query("select new cc.ryanc.halo.model.projection.TagPostCountProjection(count(pt.postId), pt.tagId) from PostTag pt where pt.tagId in ?1 group by pt.tagId")
+    @Query("select new run.halo.app.model.projection.TagPostCountProjection(count(pt.postId), pt.tagId) from PostTag pt where pt.tagId in ?1 group by pt.tagId")
     @NonNull
     List findPostCountByTagIds(@NonNull Iterable tagIds);
 
@@ -97,7 +97,7 @@ public interface PostTagRepository extends BaseRepository {
      *
      * @return a list of tag post count projection
      */
-    @Query("select new cc.ryanc.halo.model.projection.TagPostCountProjection(count(pt.postId), pt.tagId) from PostTag pt group by pt.tagId")
+    @Query("select new run.halo.app.model.projection.TagPostCountProjection(count(pt.postId), pt.tagId) from PostTag pt group by pt.tagId")
     @NonNull
     List findPostCount();
 }
diff --git a/src/main/java/cc/ryanc/halo/repository/TagRepository.java b/src/main/java/run/halo/app/repository/TagRepository.java
similarity index 78%
rename from src/main/java/cc/ryanc/halo/repository/TagRepository.java
rename to src/main/java/run/halo/app/repository/TagRepository.java
index 8ed1e14bd..5993bc966 100644
--- a/src/main/java/cc/ryanc/halo/repository/TagRepository.java
+++ b/src/main/java/run/halo/app/repository/TagRepository.java
@@ -1,8 +1,9 @@
-package cc.ryanc.halo.repository;
+package run.halo.app.repository;
 
-import cc.ryanc.halo.model.entity.Tag;
-import cc.ryanc.halo.repository.base.BaseRepository;
+import run.halo.app.model.entity.Tag;
+import run.halo.app.repository.base.BaseRepository;
 import org.springframework.lang.NonNull;
+import run.halo.app.repository.base.BaseRepository;
 
 import java.util.Optional;
 
diff --git a/src/main/java/cc/ryanc/halo/repository/UserRepository.java b/src/main/java/run/halo/app/repository/UserRepository.java
similarity index 77%
rename from src/main/java/cc/ryanc/halo/repository/UserRepository.java
rename to src/main/java/run/halo/app/repository/UserRepository.java
index 31fc3346a..b5a52c98b 100755
--- a/src/main/java/cc/ryanc/halo/repository/UserRepository.java
+++ b/src/main/java/run/halo/app/repository/UserRepository.java
@@ -1,8 +1,9 @@
-package cc.ryanc.halo.repository;
+package run.halo.app.repository;
 
-import cc.ryanc.halo.model.entity.User;
-import cc.ryanc.halo.repository.base.BaseRepository;
+import run.halo.app.model.entity.User;
+import run.halo.app.repository.base.BaseRepository;
 import org.springframework.lang.NonNull;
+import run.halo.app.repository.base.BaseRepository;
 
 import java.util.Optional;
 
diff --git a/src/main/java/cc/ryanc/halo/repository/base/BasePostRepository.java b/src/main/java/run/halo/app/repository/base/BasePostRepository.java
similarity index 94%
rename from src/main/java/cc/ryanc/halo/repository/base/BasePostRepository.java
rename to src/main/java/run/halo/app/repository/base/BasePostRepository.java
index fb062a9f3..14471e1db 100644
--- a/src/main/java/cc/ryanc/halo/repository/base/BasePostRepository.java
+++ b/src/main/java/run/halo/app/repository/base/BasePostRepository.java
@@ -1,7 +1,7 @@
-package cc.ryanc.halo.repository.base;
+package run.halo.app.repository.base;
 
-import cc.ryanc.halo.model.entity.BasePost;
-import cc.ryanc.halo.model.enums.PostStatus;
+import run.halo.app.model.entity.BasePost;
+import run.halo.app.model.enums.PostStatus;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.domain.Sort;
diff --git a/src/main/java/cc/ryanc/halo/repository/base/BaseRepository.java b/src/main/java/run/halo/app/repository/base/BaseRepository.java
similarity index 97%
rename from src/main/java/cc/ryanc/halo/repository/base/BaseRepository.java
rename to src/main/java/run/halo/app/repository/base/BaseRepository.java
index eb4836292..51775e5e7 100644
--- a/src/main/java/cc/ryanc/halo/repository/base/BaseRepository.java
+++ b/src/main/java/run/halo/app/repository/base/BaseRepository.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.repository.base;
+package run.halo.app.repository.base;
 
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
diff --git a/src/main/java/cc/ryanc/halo/repository/base/BaseRepositoryImpl.java b/src/main/java/run/halo/app/repository/base/BaseRepositoryImpl.java
similarity index 99%
rename from src/main/java/cc/ryanc/halo/repository/base/BaseRepositoryImpl.java
rename to src/main/java/run/halo/app/repository/base/BaseRepositoryImpl.java
index 3e5af498f..231d9a304 100644
--- a/src/main/java/cc/ryanc/halo/repository/base/BaseRepositoryImpl.java
+++ b/src/main/java/run/halo/app/repository/base/BaseRepositoryImpl.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.repository.base;
+package run.halo.app.repository.base;
 
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.data.domain.Page;
diff --git a/src/main/java/cc/ryanc/halo/security/authentication/Authentication.java b/src/main/java/run/halo/app/security/authentication/Authentication.java
similarity index 71%
rename from src/main/java/cc/ryanc/halo/security/authentication/Authentication.java
rename to src/main/java/run/halo/app/security/authentication/Authentication.java
index 5a5b3682a..1a8f40513 100644
--- a/src/main/java/cc/ryanc/halo/security/authentication/Authentication.java
+++ b/src/main/java/run/halo/app/security/authentication/Authentication.java
@@ -1,6 +1,6 @@
-package cc.ryanc.halo.security.authentication;
+package run.halo.app.security.authentication;
 
-import cc.ryanc.halo.security.support.UserDetail;
+import run.halo.app.security.support.UserDetail;
 import org.springframework.lang.NonNull;
 
 /**
diff --git a/src/main/java/cc/ryanc/halo/security/authentication/AuthenticationImpl.java b/src/main/java/run/halo/app/security/authentication/AuthenticationImpl.java
similarity index 78%
rename from src/main/java/cc/ryanc/halo/security/authentication/AuthenticationImpl.java
rename to src/main/java/run/halo/app/security/authentication/AuthenticationImpl.java
index 556c1b68c..9db504204 100644
--- a/src/main/java/cc/ryanc/halo/security/authentication/AuthenticationImpl.java
+++ b/src/main/java/run/halo/app/security/authentication/AuthenticationImpl.java
@@ -1,6 +1,6 @@
-package cc.ryanc.halo.security.authentication;
+package run.halo.app.security.authentication;
 
-import cc.ryanc.halo.security.support.UserDetail;
+import run.halo.app.security.support.UserDetail;
 
 /**
  * Authentication implementation.
diff --git a/src/main/java/cc/ryanc/halo/security/context/SecurityContext.java b/src/main/java/run/halo/app/security/context/SecurityContext.java
similarity index 84%
rename from src/main/java/cc/ryanc/halo/security/context/SecurityContext.java
rename to src/main/java/run/halo/app/security/context/SecurityContext.java
index 32d260524..e20f289cd 100644
--- a/src/main/java/cc/ryanc/halo/security/context/SecurityContext.java
+++ b/src/main/java/run/halo/app/security/context/SecurityContext.java
@@ -1,7 +1,8 @@
-package cc.ryanc.halo.security.context;
+package run.halo.app.security.context;
 
-import cc.ryanc.halo.security.authentication.Authentication;
+import run.halo.app.security.authentication.Authentication;
 import org.springframework.lang.Nullable;
+import run.halo.app.security.authentication.Authentication;
 
 /**
  * Security context interface.
diff --git a/src/main/java/cc/ryanc/halo/security/context/SecurityContextHolder.java b/src/main/java/run/halo/app/security/context/SecurityContextHolder.java
similarity index 97%
rename from src/main/java/cc/ryanc/halo/security/context/SecurityContextHolder.java
rename to src/main/java/run/halo/app/security/context/SecurityContextHolder.java
index 573d22f02..a9a61a65f 100644
--- a/src/main/java/cc/ryanc/halo/security/context/SecurityContextHolder.java
+++ b/src/main/java/run/halo/app/security/context/SecurityContextHolder.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.security.context;
+package run.halo.app.security.context;
 
 import org.springframework.lang.NonNull;
 import org.springframework.lang.Nullable;
diff --git a/src/main/java/cc/ryanc/halo/security/context/SecurityContextImpl.java b/src/main/java/run/halo/app/security/context/SecurityContextImpl.java
similarity index 79%
rename from src/main/java/cc/ryanc/halo/security/context/SecurityContextImpl.java
rename to src/main/java/run/halo/app/security/context/SecurityContextImpl.java
index e6887d3ae..af7e0d681 100644
--- a/src/main/java/cc/ryanc/halo/security/context/SecurityContextImpl.java
+++ b/src/main/java/run/halo/app/security/context/SecurityContextImpl.java
@@ -1,10 +1,11 @@
-package cc.ryanc.halo.security.context;
+package run.halo.app.security.context;
 
-import cc.ryanc.halo.security.authentication.Authentication;
+import run.halo.app.security.authentication.Authentication;
 import lombok.AllArgsConstructor;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 import lombok.ToString;
+import run.halo.app.security.authentication.Authentication;
 
 /**
  * Security context implementation.
diff --git a/src/main/java/cc/ryanc/halo/security/filter/AdminAuthenticationFilter.java b/src/main/java/run/halo/app/security/filter/AdminAuthenticationFilter.java
similarity index 87%
rename from src/main/java/cc/ryanc/halo/security/filter/AdminAuthenticationFilter.java
rename to src/main/java/run/halo/app/security/filter/AdminAuthenticationFilter.java
index 43a85500b..1ac040770 100644
--- a/src/main/java/cc/ryanc/halo/security/filter/AdminAuthenticationFilter.java
+++ b/src/main/java/run/halo/app/security/filter/AdminAuthenticationFilter.java
@@ -1,17 +1,17 @@
-package cc.ryanc.halo.security.filter;
+package run.halo.app.security.filter;
 
-import cc.ryanc.halo.cache.StringCacheStore;
-import cc.ryanc.halo.config.properties.HaloProperties;
-import cc.ryanc.halo.exception.AuthenticationException;
-import cc.ryanc.halo.model.entity.User;
-import cc.ryanc.halo.security.authentication.AuthenticationImpl;
-import cc.ryanc.halo.security.context.SecurityContextHolder;
-import cc.ryanc.halo.security.context.SecurityContextImpl;
-import cc.ryanc.halo.security.handler.AuthenticationFailureHandler;
-import cc.ryanc.halo.security.handler.DefaultAuthenticationFailureHandler;
-import cc.ryanc.halo.security.support.UserDetail;
-import cc.ryanc.halo.service.UserService;
-import cc.ryanc.halo.utils.JsonUtils;
+import run.halo.app.cache.StringCacheStore;
+import run.halo.app.config.properties.HaloProperties;
+import run.halo.app.exception.AuthenticationException;
+import run.halo.app.model.entity.User;
+import run.halo.app.security.authentication.AuthenticationImpl;
+import run.halo.app.security.context.SecurityContextHolder;
+import run.halo.app.security.context.SecurityContextImpl;
+import run.halo.app.security.handler.AuthenticationFailureHandler;
+import run.halo.app.security.handler.DefaultAuthenticationFailureHandler;
+import run.halo.app.security.support.UserDetail;
+import run.halo.app.service.UserService;
+import run.halo.app.utils.JsonUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.http.HttpHeaders;
@@ -20,6 +20,15 @@ import org.springframework.lang.Nullable;
 import org.springframework.util.AntPathMatcher;
 import org.springframework.util.Assert;
 import org.springframework.web.filter.OncePerRequestFilter;
+import run.halo.app.exception.AuthenticationException;
+import run.halo.app.model.entity.User;
+import run.halo.app.security.authentication.AuthenticationImpl;
+import run.halo.app.security.context.SecurityContextHolder;
+import run.halo.app.security.context.SecurityContextImpl;
+import run.halo.app.security.handler.AuthenticationFailureHandler;
+import run.halo.app.security.handler.DefaultAuthenticationFailureHandler;
+import run.halo.app.security.support.UserDetail;
+import run.halo.app.utils.JsonUtils;
 
 import javax.servlet.FilterChain;
 import javax.servlet.ServletException;
diff --git a/src/main/java/cc/ryanc/halo/security/filter/ApiAuthenticationFilter.java b/src/main/java/run/halo/app/security/filter/ApiAuthenticationFilter.java
similarity index 88%
rename from src/main/java/cc/ryanc/halo/security/filter/ApiAuthenticationFilter.java
rename to src/main/java/run/halo/app/security/filter/ApiAuthenticationFilter.java
index 9667e3b7e..d9cdc9d8c 100644
--- a/src/main/java/cc/ryanc/halo/security/filter/ApiAuthenticationFilter.java
+++ b/src/main/java/run/halo/app/security/filter/ApiAuthenticationFilter.java
@@ -1,6 +1,6 @@
-package cc.ryanc.halo.security.filter;
+package run.halo.app.security.filter;
 
-import cc.ryanc.halo.security.handler.AuthenticationFailureHandler;
+import run.halo.app.security.handler.AuthenticationFailureHandler;
 import org.springframework.web.filter.OncePerRequestFilter;
 
 import javax.servlet.FilterChain;
diff --git a/src/main/java/cc/ryanc/halo/security/handler/AdminAuthenticationFailureHandler.java b/src/main/java/run/halo/app/security/handler/AdminAuthenticationFailureHandler.java
similarity index 82%
rename from src/main/java/cc/ryanc/halo/security/handler/AdminAuthenticationFailureHandler.java
rename to src/main/java/run/halo/app/security/handler/AdminAuthenticationFailureHandler.java
index 65f03b305..ea48b50a7 100644
--- a/src/main/java/cc/ryanc/halo/security/handler/AdminAuthenticationFailureHandler.java
+++ b/src/main/java/run/halo/app/security/handler/AdminAuthenticationFailureHandler.java
@@ -1,6 +1,7 @@
-package cc.ryanc.halo.security.handler;
+package run.halo.app.security.handler;
 
-import cc.ryanc.halo.exception.HaloException;
+import run.halo.app.exception.HaloException;
+import run.halo.app.exception.HaloException;
 
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
diff --git a/src/main/java/cc/ryanc/halo/security/handler/AuthenticationFailureHandler.java b/src/main/java/run/halo/app/security/handler/AuthenticationFailureHandler.java
similarity index 85%
rename from src/main/java/cc/ryanc/halo/security/handler/AuthenticationFailureHandler.java
rename to src/main/java/run/halo/app/security/handler/AuthenticationFailureHandler.java
index 10d959e8d..b0f2539e1 100644
--- a/src/main/java/cc/ryanc/halo/security/handler/AuthenticationFailureHandler.java
+++ b/src/main/java/run/halo/app/security/handler/AuthenticationFailureHandler.java
@@ -1,6 +1,7 @@
-package cc.ryanc.halo.security.handler;
+package run.halo.app.security.handler;
 
-import cc.ryanc.halo.exception.HaloException;
+import run.halo.app.exception.HaloException;
+import run.halo.app.exception.HaloException;
 
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
diff --git a/src/main/java/cc/ryanc/halo/security/handler/DefaultAuthenticationFailureHandler.java b/src/main/java/run/halo/app/security/handler/DefaultAuthenticationFailureHandler.java
similarity index 89%
rename from src/main/java/cc/ryanc/halo/security/handler/DefaultAuthenticationFailureHandler.java
rename to src/main/java/run/halo/app/security/handler/DefaultAuthenticationFailureHandler.java
index 3ba137fd1..fa2aa4147 100644
--- a/src/main/java/cc/ryanc/halo/security/handler/DefaultAuthenticationFailureHandler.java
+++ b/src/main/java/run/halo/app/security/handler/DefaultAuthenticationFailureHandler.java
@@ -1,14 +1,15 @@
-package cc.ryanc.halo.security.handler;
+package run.halo.app.security.handler;
 
-import cc.ryanc.halo.exception.HaloException;
-import cc.ryanc.halo.model.support.BaseResponse;
-import cc.ryanc.halo.utils.ExceptionUtils;
-import cc.ryanc.halo.utils.JsonUtils;
+import run.halo.app.exception.HaloException;
+import run.halo.app.model.support.BaseResponse;
+import run.halo.app.utils.ExceptionUtils;
+import run.halo.app.utils.JsonUtils;
 import cn.hutool.extra.servlet.ServletUtil;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.http.MediaType;
 import org.springframework.util.Assert;
+import run.halo.app.exception.HaloException;
 
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
diff --git a/src/main/java/cc/ryanc/halo/security/resolver/AuthenticationArgumentResolver.java b/src/main/java/run/halo/app/security/resolver/AuthenticationArgumentResolver.java
similarity index 87%
rename from src/main/java/cc/ryanc/halo/security/resolver/AuthenticationArgumentResolver.java
rename to src/main/java/run/halo/app/security/resolver/AuthenticationArgumentResolver.java
index 0087e3e45..0ae83e420 100644
--- a/src/main/java/cc/ryanc/halo/security/resolver/AuthenticationArgumentResolver.java
+++ b/src/main/java/run/halo/app/security/resolver/AuthenticationArgumentResolver.java
@@ -1,10 +1,10 @@
-package cc.ryanc.halo.security.resolver;
+package run.halo.app.security.resolver;
 
-import cc.ryanc.halo.exception.AuthenticationException;
-import cc.ryanc.halo.model.entity.User;
-import cc.ryanc.halo.security.authentication.Authentication;
-import cc.ryanc.halo.security.context.SecurityContextHolder;
-import cc.ryanc.halo.security.support.UserDetail;
+import run.halo.app.exception.AuthenticationException;
+import run.halo.app.model.entity.User;
+import run.halo.app.security.authentication.Authentication;
+import run.halo.app.security.context.SecurityContextHolder;
+import run.halo.app.security.support.UserDetail;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.core.MethodParameter;
 import org.springframework.lang.Nullable;
diff --git a/src/main/java/cc/ryanc/halo/security/support/UserDetail.java b/src/main/java/run/halo/app/security/support/UserDetail.java
similarity index 78%
rename from src/main/java/cc/ryanc/halo/security/support/UserDetail.java
rename to src/main/java/run/halo/app/security/support/UserDetail.java
index abd1bc377..874718819 100644
--- a/src/main/java/cc/ryanc/halo/security/support/UserDetail.java
+++ b/src/main/java/run/halo/app/security/support/UserDetail.java
@@ -1,12 +1,13 @@
-package cc.ryanc.halo.security.support;
+package run.halo.app.security.support;
 
-import cc.ryanc.halo.exception.AuthenticationException;
-import cc.ryanc.halo.model.entity.User;
+import run.halo.app.exception.AuthenticationException;
+import run.halo.app.model.entity.User;
 import lombok.AllArgsConstructor;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 import lombok.ToString;
 import org.springframework.lang.NonNull;
+import run.halo.app.exception.AuthenticationException;
 
 /**
  * User detail.
diff --git a/src/main/java/cc/ryanc/halo/service/AttachmentService.java b/src/main/java/run/halo/app/service/AttachmentService.java
similarity index 79%
rename from src/main/java/cc/ryanc/halo/service/AttachmentService.java
rename to src/main/java/run/halo/app/service/AttachmentService.java
index 97f9e23db..2013b7f9b 100644
--- a/src/main/java/cc/ryanc/halo/service/AttachmentService.java
+++ b/src/main/java/run/halo/app/service/AttachmentService.java
@@ -1,13 +1,14 @@
-package cc.ryanc.halo.service;
+package run.halo.app.service;
 
-import cc.ryanc.halo.exception.FileOperationException;
-import cc.ryanc.halo.model.dto.AttachmentOutputDTO;
-import cc.ryanc.halo.model.entity.Attachment;
-import cc.ryanc.halo.service.base.CrudService;
+import run.halo.app.exception.FileOperationException;
+import run.halo.app.model.dto.AttachmentOutputDTO;
+import run.halo.app.model.entity.Attachment;
+import run.halo.app.service.base.CrudService;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.lang.NonNull;
 import org.springframework.web.multipart.MultipartFile;
+import run.halo.app.service.base.CrudService;
 
 
 /**
diff --git a/src/main/java/cc/ryanc/halo/service/CategoryService.java b/src/main/java/run/halo/app/service/CategoryService.java
similarity index 78%
rename from src/main/java/cc/ryanc/halo/service/CategoryService.java
rename to src/main/java/run/halo/app/service/CategoryService.java
index 4ef4f8e10..3f1a586a4 100755
--- a/src/main/java/cc/ryanc/halo/service/CategoryService.java
+++ b/src/main/java/run/halo/app/service/CategoryService.java
@@ -1,10 +1,11 @@
-package cc.ryanc.halo.service;
+package run.halo.app.service;
 
-import cc.ryanc.halo.model.entity.Category;
-import cc.ryanc.halo.model.vo.CategoryVO;
-import cc.ryanc.halo.service.base.CrudService;
+import run.halo.app.model.entity.Category;
+import run.halo.app.model.vo.CategoryVO;
+import run.halo.app.service.base.CrudService;
 import org.springframework.data.domain.Sort;
 import org.springframework.lang.NonNull;
+import run.halo.app.service.base.CrudService;
 
 import java.util.List;
 
diff --git a/src/main/java/cc/ryanc/halo/service/CommentService.java b/src/main/java/run/halo/app/service/CommentService.java
similarity index 88%
rename from src/main/java/cc/ryanc/halo/service/CommentService.java
rename to src/main/java/run/halo/app/service/CommentService.java
index c3d6f6364..9a03c971f 100644
--- a/src/main/java/cc/ryanc/halo/service/CommentService.java
+++ b/src/main/java/run/halo/app/service/CommentService.java
@@ -1,15 +1,16 @@
-package cc.ryanc.halo.service;
+package run.halo.app.service;
 
-import cc.ryanc.halo.model.entity.Comment;
-import cc.ryanc.halo.model.enums.CommentStatus;
-import cc.ryanc.halo.model.vo.CommentWithParentVO;
-import cc.ryanc.halo.model.vo.CommentWithPostVO;
-import cc.ryanc.halo.model.vo.CommentVO;
-import cc.ryanc.halo.service.base.CrudService;
+import run.halo.app.model.entity.Comment;
+import run.halo.app.model.enums.CommentStatus;
+import run.halo.app.model.vo.CommentWithParentVO;
+import run.halo.app.model.vo.CommentWithPostVO;
+import run.halo.app.model.vo.CommentVO;
+import run.halo.app.service.base.CrudService;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.lang.NonNull;
 import org.springframework.lang.Nullable;
+import run.halo.app.service.base.CrudService;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.Collection;
diff --git a/src/main/java/cc/ryanc/halo/service/GalleryService.java b/src/main/java/run/halo/app/service/GalleryService.java
similarity index 65%
rename from src/main/java/cc/ryanc/halo/service/GalleryService.java
rename to src/main/java/run/halo/app/service/GalleryService.java
index 207c128e5..4cec5fe60 100644
--- a/src/main/java/cc/ryanc/halo/service/GalleryService.java
+++ b/src/main/java/run/halo/app/service/GalleryService.java
@@ -1,10 +1,11 @@
-package cc.ryanc.halo.service;
+package run.halo.app.service;
 
-import cc.ryanc.halo.model.dto.GalleryOutputDTO;
-import cc.ryanc.halo.model.entity.Gallery;
-import cc.ryanc.halo.service.base.CrudService;
+import run.halo.app.model.dto.GalleryOutputDTO;
+import run.halo.app.model.entity.Gallery;
+import run.halo.app.service.base.CrudService;
 import org.springframework.data.domain.Sort;
 import org.springframework.lang.NonNull;
+import run.halo.app.service.base.CrudService;
 
 import java.util.List;
 
diff --git a/src/main/java/cc/ryanc/halo/service/LinkService.java b/src/main/java/run/halo/app/service/LinkService.java
similarity index 78%
rename from src/main/java/cc/ryanc/halo/service/LinkService.java
rename to src/main/java/run/halo/app/service/LinkService.java
index ca78573ae..3098f314a 100755
--- a/src/main/java/cc/ryanc/halo/service/LinkService.java
+++ b/src/main/java/run/halo/app/service/LinkService.java
@@ -1,12 +1,13 @@
-package cc.ryanc.halo.service;
+package run.halo.app.service;
 
-import cc.ryanc.halo.model.dto.LinkOutputDTO;
-import cc.ryanc.halo.model.entity.Link;
-import cc.ryanc.halo.model.params.LinkParam;
-import cc.ryanc.halo.model.vo.LinkTeamVO;
-import cc.ryanc.halo.service.base.CrudService;
+import run.halo.app.model.dto.LinkOutputDTO;
+import run.halo.app.model.entity.Link;
+import run.halo.app.model.params.LinkParam;
+import run.halo.app.model.vo.LinkTeamVO;
+import run.halo.app.service.base.CrudService;
 import org.springframework.data.domain.Sort;
 import org.springframework.lang.NonNull;
+import run.halo.app.service.base.CrudService;
 
 import java.util.List;
 
diff --git a/src/main/java/cc/ryanc/halo/service/LogService.java b/src/main/java/run/halo/app/service/LogService.java
similarity index 62%
rename from src/main/java/cc/ryanc/halo/service/LogService.java
rename to src/main/java/run/halo/app/service/LogService.java
index 21d6f4e8f..aacf087b4 100644
--- a/src/main/java/cc/ryanc/halo/service/LogService.java
+++ b/src/main/java/run/halo/app/service/LogService.java
@@ -1,9 +1,10 @@
-package cc.ryanc.halo.service;
+package run.halo.app.service;
 
-import cc.ryanc.halo.model.dto.LogOutputDTO;
-import cc.ryanc.halo.model.entity.Log;
-import cc.ryanc.halo.service.base.CrudService;
+import run.halo.app.model.dto.LogOutputDTO;
+import run.halo.app.model.entity.Log;
+import run.halo.app.service.base.CrudService;
 import org.springframework.data.domain.Page;
+import run.halo.app.service.base.CrudService;
 
 /**
  * Log service.
diff --git a/src/main/java/cc/ryanc/halo/service/MailService.java b/src/main/java/run/halo/app/service/MailService.java
similarity index 97%
rename from src/main/java/cc/ryanc/halo/service/MailService.java
rename to src/main/java/run/halo/app/service/MailService.java
index ab61eb019..1cc202341 100644
--- a/src/main/java/cc/ryanc/halo/service/MailService.java
+++ b/src/main/java/run/halo/app/service/MailService.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.service;
+package run.halo.app.service;
 
 import java.util.Map;
 
diff --git a/src/main/java/cc/ryanc/halo/service/MenuService.java b/src/main/java/run/halo/app/service/MenuService.java
similarity index 70%
rename from src/main/java/cc/ryanc/halo/service/MenuService.java
rename to src/main/java/run/halo/app/service/MenuService.java
index 24e171e18..4832d0432 100644
--- a/src/main/java/cc/ryanc/halo/service/MenuService.java
+++ b/src/main/java/run/halo/app/service/MenuService.java
@@ -1,11 +1,12 @@
-package cc.ryanc.halo.service;
+package run.halo.app.service;
 
-import cc.ryanc.halo.model.dto.MenuOutputDTO;
-import cc.ryanc.halo.model.entity.Menu;
-import cc.ryanc.halo.model.params.MenuParam;
-import cc.ryanc.halo.service.base.CrudService;
+import run.halo.app.model.dto.MenuOutputDTO;
+import run.halo.app.model.entity.Menu;
+import run.halo.app.model.params.MenuParam;
+import run.halo.app.service.base.CrudService;
 import org.springframework.data.domain.Sort;
 import org.springframework.lang.NonNull;
+import run.halo.app.service.base.CrudService;
 
 import java.util.List;
 
diff --git a/src/main/java/cc/ryanc/halo/service/OptionService.java b/src/main/java/run/halo/app/service/OptionService.java
similarity index 90%
rename from src/main/java/cc/ryanc/halo/service/OptionService.java
rename to src/main/java/run/halo/app/service/OptionService.java
index 0128bfcd3..19bcda45e 100755
--- a/src/main/java/cc/ryanc/halo/service/OptionService.java
+++ b/src/main/java/run/halo/app/service/OptionService.java
@@ -1,17 +1,24 @@
-package cc.ryanc.halo.service;
+package run.halo.app.service;
 
-import cc.ryanc.halo.exception.MissingPropertyException;
-import cc.ryanc.halo.model.dto.OptionOutputDTO;
-import cc.ryanc.halo.model.entity.Option;
-import cc.ryanc.halo.model.enums.OptionSource;
-import cc.ryanc.halo.model.enums.ValueEnum;
-import cc.ryanc.halo.model.params.OptionParam;
-import cc.ryanc.halo.model.properties.PropertyEnum;
-import cc.ryanc.halo.service.base.CrudService;
+import run.halo.app.exception.MissingPropertyException;
+import run.halo.app.model.dto.OptionOutputDTO;
+import run.halo.app.model.entity.Option;
+import run.halo.app.model.enums.OptionSource;
+import run.halo.app.model.enums.ValueEnum;
+import run.halo.app.model.params.OptionParam;
+import run.halo.app.model.properties.PropertyEnum;
+import run.halo.app.service.base.CrudService;
 import com.qiniu.common.Zone;
 import org.springframework.lang.NonNull;
 import org.springframework.lang.Nullable;
 import org.springframework.transaction.annotation.Transactional;
+import run.halo.app.exception.MissingPropertyException;
+import run.halo.app.model.dto.OptionOutputDTO;
+import run.halo.app.model.entity.Option;
+import run.halo.app.model.enums.OptionSource;
+import run.halo.app.model.params.OptionParam;
+import run.halo.app.model.properties.PropertyEnum;
+import run.halo.app.service.base.CrudService;
 
 import java.util.List;
 import java.util.Locale;
diff --git a/src/main/java/cc/ryanc/halo/service/PostCategoryService.java b/src/main/java/run/halo/app/service/PostCategoryService.java
similarity index 91%
rename from src/main/java/cc/ryanc/halo/service/PostCategoryService.java
rename to src/main/java/run/halo/app/service/PostCategoryService.java
index ee37d4e8d..70492ac52 100644
--- a/src/main/java/cc/ryanc/halo/service/PostCategoryService.java
+++ b/src/main/java/run/halo/app/service/PostCategoryService.java
@@ -1,11 +1,12 @@
-package cc.ryanc.halo.service;
+package run.halo.app.service;
 
-import cc.ryanc.halo.model.entity.Category;
-import cc.ryanc.halo.model.entity.Post;
-import cc.ryanc.halo.model.entity.PostCategory;
-import cc.ryanc.halo.service.base.CrudService;
+import run.halo.app.model.entity.Category;
+import run.halo.app.model.entity.Post;
+import run.halo.app.model.entity.PostCategory;
+import run.halo.app.service.base.CrudService;
 import org.springframework.lang.NonNull;
 import org.springframework.lang.Nullable;
+import run.halo.app.service.base.CrudService;
 
 import java.util.Collection;
 import java.util.List;
diff --git a/src/main/java/cc/ryanc/halo/service/PostService.java b/src/main/java/run/halo/app/service/PostService.java
similarity index 88%
rename from src/main/java/cc/ryanc/halo/service/PostService.java
rename to src/main/java/run/halo/app/service/PostService.java
index 1106f3d8c..ff5d4d909 100755
--- a/src/main/java/cc/ryanc/halo/service/PostService.java
+++ b/src/main/java/run/halo/app/service/PostService.java
@@ -1,18 +1,19 @@
-package cc.ryanc.halo.service;
+package run.halo.app.service;
 
-import cc.ryanc.halo.model.dto.post.PostMinimalOutputDTO;
-import cc.ryanc.halo.model.dto.post.PostSimpleOutputDTO;
-import cc.ryanc.halo.model.entity.Post;
-import cc.ryanc.halo.model.enums.PostStatus;
-import cc.ryanc.halo.model.vo.ArchiveMonthVO;
-import cc.ryanc.halo.model.vo.ArchiveYearVO;
-import cc.ryanc.halo.model.vo.PostDetailVO;
-import cc.ryanc.halo.model.vo.PostListVO;
-import cc.ryanc.halo.service.base.CrudService;
+import run.halo.app.model.dto.post.PostMinimalOutputDTO;
+import run.halo.app.model.dto.post.PostSimpleOutputDTO;
+import run.halo.app.model.entity.Post;
+import run.halo.app.model.enums.PostStatus;
+import run.halo.app.model.vo.ArchiveMonthVO;
+import run.halo.app.model.vo.ArchiveYearVO;
+import run.halo.app.model.vo.PostDetailVO;
+import run.halo.app.model.vo.PostListVO;
+import run.halo.app.service.base.CrudService;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.lang.NonNull;
 import org.springframework.transaction.annotation.Transactional;
+import run.halo.app.service.base.CrudService;
 
 import java.util.List;
 import java.util.Set;
diff --git a/src/main/java/cc/ryanc/halo/service/PostTagService.java b/src/main/java/run/halo/app/service/PostTagService.java
similarity index 92%
rename from src/main/java/cc/ryanc/halo/service/PostTagService.java
rename to src/main/java/run/halo/app/service/PostTagService.java
index 1b4b74138..15e48d11b 100644
--- a/src/main/java/cc/ryanc/halo/service/PostTagService.java
+++ b/src/main/java/run/halo/app/service/PostTagService.java
@@ -1,10 +1,10 @@
-package cc.ryanc.halo.service;
+package run.halo.app.service;
 
-import cc.ryanc.halo.model.dto.TagWithCountOutputDTO;
-import cc.ryanc.halo.model.entity.Post;
-import cc.ryanc.halo.model.entity.PostTag;
-import cc.ryanc.halo.model.entity.Tag;
-import cc.ryanc.halo.service.base.CrudService;
+import run.halo.app.model.dto.TagWithCountOutputDTO;
+import run.halo.app.model.entity.Post;
+import run.halo.app.model.entity.PostTag;
+import run.halo.app.model.entity.Tag;
+import run.halo.app.service.base.CrudService;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.domain.Sort;
diff --git a/src/main/java/cc/ryanc/halo/service/TagService.java b/src/main/java/run/halo/app/service/TagService.java
similarity index 72%
rename from src/main/java/cc/ryanc/halo/service/TagService.java
rename to src/main/java/run/halo/app/service/TagService.java
index 9fa6d89ef..cbab4cd41 100644
--- a/src/main/java/cc/ryanc/halo/service/TagService.java
+++ b/src/main/java/run/halo/app/service/TagService.java
@@ -1,9 +1,10 @@
-package cc.ryanc.halo.service;
+package run.halo.app.service;
 
-import cc.ryanc.halo.model.dto.TagOutputDTO;
-import cc.ryanc.halo.model.entity.Tag;
-import cc.ryanc.halo.service.base.CrudService;
+import run.halo.app.model.dto.TagOutputDTO;
+import run.halo.app.model.entity.Tag;
+import run.halo.app.service.base.CrudService;
 import org.springframework.lang.NonNull;
+import run.halo.app.service.base.CrudService;
 
 import java.util.List;
 
diff --git a/src/main/java/cc/ryanc/halo/service/ThemeService.java b/src/main/java/run/halo/app/service/ThemeService.java
similarity index 87%
rename from src/main/java/cc/ryanc/halo/service/ThemeService.java
rename to src/main/java/run/halo/app/service/ThemeService.java
index 9a035c6ad..ccb62901d 100644
--- a/src/main/java/cc/ryanc/halo/service/ThemeService.java
+++ b/src/main/java/run/halo/app/service/ThemeService.java
@@ -1,8 +1,9 @@
-package cc.ryanc.halo.service;
+package run.halo.app.service;
 
-import cc.ryanc.halo.model.support.Theme;
-import cc.ryanc.halo.model.support.ThemeFile;
-import cc.ryanc.halo.model.support.ThemeProperties;
+import run.halo.app.model.support.Theme;
+import run.halo.app.model.support.ThemeFile;
+import run.halo.app.model.support.ThemeProperties;
+import run.halo.app.model.support.ThemeFile;
 
 import java.io.File;
 import java.util.List;
diff --git a/src/main/java/cc/ryanc/halo/service/UserService.java b/src/main/java/run/halo/app/service/UserService.java
similarity index 92%
rename from src/main/java/cc/ryanc/halo/service/UserService.java
rename to src/main/java/run/halo/app/service/UserService.java
index 356a0401b..67723f05c 100755
--- a/src/main/java/cc/ryanc/halo/service/UserService.java
+++ b/src/main/java/run/halo/app/service/UserService.java
@@ -1,9 +1,9 @@
-package cc.ryanc.halo.service;
+package run.halo.app.service;
 
-import cc.ryanc.halo.exception.NotFoundException;
-import cc.ryanc.halo.model.entity.User;
-import cc.ryanc.halo.model.params.UserParam;
-import cc.ryanc.halo.service.base.CrudService;
+import run.halo.app.exception.NotFoundException;
+import run.halo.app.model.entity.User;
+import run.halo.app.model.params.UserParam;
+import run.halo.app.service.base.CrudService;
 import org.springframework.lang.NonNull;
 
 import javax.servlet.http.HttpSession;
diff --git a/src/main/java/cc/ryanc/halo/service/base/AbstractCrudService.java b/src/main/java/run/halo/app/service/base/AbstractCrudService.java
similarity index 98%
rename from src/main/java/cc/ryanc/halo/service/base/AbstractCrudService.java
rename to src/main/java/run/halo/app/service/base/AbstractCrudService.java
index 735568ec9..8aabc4d31 100644
--- a/src/main/java/cc/ryanc/halo/service/base/AbstractCrudService.java
+++ b/src/main/java/run/halo/app/service/base/AbstractCrudService.java
@@ -1,7 +1,7 @@
-package cc.ryanc.halo.service.base;
+package run.halo.app.service.base;
 
-import cc.ryanc.halo.exception.NotFoundException;
-import cc.ryanc.halo.repository.base.BaseRepository;
+import run.halo.app.exception.NotFoundException;
+import run.halo.app.repository.base.BaseRepository;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
diff --git a/src/main/java/cc/ryanc/halo/service/base/CrudService.java b/src/main/java/run/halo/app/service/base/CrudService.java
similarity index 97%
rename from src/main/java/cc/ryanc/halo/service/base/CrudService.java
rename to src/main/java/run/halo/app/service/base/CrudService.java
index fb1d2f1a5..3cb50d852 100644
--- a/src/main/java/cc/ryanc/halo/service/base/CrudService.java
+++ b/src/main/java/run/halo/app/service/base/CrudService.java
@@ -1,6 +1,6 @@
-package cc.ryanc.halo.service.base;
+package run.halo.app.service.base;
 
-import cc.ryanc.halo.exception.NotFoundException;
+import run.halo.app.exception.NotFoundException;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.domain.Sort;
diff --git a/src/main/java/cc/ryanc/halo/service/impl/AttachmentServiceImpl.java b/src/main/java/run/halo/app/service/impl/AttachmentServiceImpl.java
similarity index 84%
rename from src/main/java/cc/ryanc/halo/service/impl/AttachmentServiceImpl.java
rename to src/main/java/run/halo/app/service/impl/AttachmentServiceImpl.java
index 5b1c7bef3..639ac91dd 100644
--- a/src/main/java/cc/ryanc/halo/service/impl/AttachmentServiceImpl.java
+++ b/src/main/java/run/halo/app/service/impl/AttachmentServiceImpl.java
@@ -1,15 +1,15 @@
-package cc.ryanc.halo.service.impl;
+package run.halo.app.service.impl;
 
-import cc.ryanc.halo.handler.file.FileHandlers;
-import cc.ryanc.halo.model.dto.AttachmentOutputDTO;
-import cc.ryanc.halo.model.entity.Attachment;
-import cc.ryanc.halo.model.enums.AttachmentType;
-import cc.ryanc.halo.model.properties.AttachmentProperties;
-import cc.ryanc.halo.model.support.UploadResult;
-import cc.ryanc.halo.repository.AttachmentRepository;
-import cc.ryanc.halo.service.AttachmentService;
-import cc.ryanc.halo.service.OptionService;
-import cc.ryanc.halo.service.base.AbstractCrudService;
+import run.halo.app.handler.file.FileHandlers;
+import run.halo.app.model.dto.AttachmentOutputDTO;
+import run.halo.app.model.entity.Attachment;
+import run.halo.app.model.enums.AttachmentType;
+import run.halo.app.model.properties.AttachmentProperties;
+import run.halo.app.model.support.UploadResult;
+import run.halo.app.repository.AttachmentRepository;
+import run.halo.app.service.AttachmentService;
+import run.halo.app.service.OptionService;
+import run.halo.app.service.base.AbstractCrudService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
@@ -17,6 +17,8 @@ import org.springframework.lang.NonNull;
 import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
 import org.springframework.web.multipart.MultipartFile;
+import run.halo.app.handler.file.FileHandlers;
+import run.halo.app.service.base.AbstractCrudService;
 
 /**
  * AttachmentService implementation class
diff --git a/src/main/java/cc/ryanc/halo/service/impl/CategoryServiceImpl.java b/src/main/java/run/halo/app/service/impl/CategoryServiceImpl.java
similarity index 88%
rename from src/main/java/cc/ryanc/halo/service/impl/CategoryServiceImpl.java
rename to src/main/java/run/halo/app/service/impl/CategoryServiceImpl.java
index db68287eb..7877fdf79 100644
--- a/src/main/java/cc/ryanc/halo/service/impl/CategoryServiceImpl.java
+++ b/src/main/java/run/halo/app/service/impl/CategoryServiceImpl.java
@@ -1,18 +1,22 @@
-package cc.ryanc.halo.service.impl;
+package run.halo.app.service.impl;
 
-import cc.ryanc.halo.exception.AlreadyExistsException;
-import cc.ryanc.halo.exception.NotFoundException;
-import cc.ryanc.halo.model.entity.Category;
-import cc.ryanc.halo.model.vo.CategoryVO;
-import cc.ryanc.halo.repository.CategoryRepository;
-import cc.ryanc.halo.service.CategoryService;
-import cc.ryanc.halo.service.base.AbstractCrudService;
+import run.halo.app.exception.AlreadyExistsException;
+import run.halo.app.exception.NotFoundException;
+import run.halo.app.model.entity.Category;
+import run.halo.app.model.vo.CategoryVO;
+import run.halo.app.repository.CategoryRepository;
+import run.halo.app.service.CategoryService;
+import run.halo.app.service.base.AbstractCrudService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.data.domain.Sort;
 import org.springframework.lang.NonNull;
 import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
 import org.springframework.util.CollectionUtils;
+import run.halo.app.exception.AlreadyExistsException;
+import run.halo.app.exception.NotFoundException;
+import run.halo.app.repository.CategoryRepository;
+import run.halo.app.service.base.AbstractCrudService;
 
 import java.util.Collections;
 import java.util.LinkedList;
diff --git a/src/main/java/cc/ryanc/halo/service/impl/CommentServiceImpl.java b/src/main/java/run/halo/app/service/impl/CommentServiceImpl.java
similarity index 91%
rename from src/main/java/cc/ryanc/halo/service/impl/CommentServiceImpl.java
rename to src/main/java/run/halo/app/service/impl/CommentServiceImpl.java
index 18104a421..c32f5a437 100644
--- a/src/main/java/cc/ryanc/halo/service/impl/CommentServiceImpl.java
+++ b/src/main/java/run/halo/app/service/impl/CommentServiceImpl.java
@@ -1,24 +1,24 @@
-package cc.ryanc.halo.service.impl;
+package run.halo.app.service.impl;
 
-import cc.ryanc.halo.model.dto.post.PostMinimalOutputDTO;
-import cc.ryanc.halo.model.entity.Comment;
-import cc.ryanc.halo.model.entity.Post;
-import cc.ryanc.halo.model.enums.CommentStatus;
-import cc.ryanc.halo.model.projection.CommentCountProjection;
-import cc.ryanc.halo.model.properties.CommentProperties;
-import cc.ryanc.halo.model.support.CommentPage;
-import cc.ryanc.halo.model.vo.CommentVO;
-import cc.ryanc.halo.model.vo.CommentWithParentVO;
-import cc.ryanc.halo.model.vo.CommentWithPostVO;
-import cc.ryanc.halo.repository.CommentRepository;
-import cc.ryanc.halo.repository.PostRepository;
-import cc.ryanc.halo.security.authentication.Authentication;
-import cc.ryanc.halo.security.context.SecurityContextHolder;
-import cc.ryanc.halo.service.CommentService;
-import cc.ryanc.halo.service.OptionService;
-import cc.ryanc.halo.service.base.AbstractCrudService;
-import cc.ryanc.halo.utils.OwoUtil;
-import cc.ryanc.halo.utils.ServiceUtils;
+import run.halo.app.model.dto.post.PostMinimalOutputDTO;
+import run.halo.app.model.entity.Comment;
+import run.halo.app.model.entity.Post;
+import run.halo.app.model.enums.CommentStatus;
+import run.halo.app.model.projection.CommentCountProjection;
+import run.halo.app.model.properties.CommentProperties;
+import run.halo.app.model.support.CommentPage;
+import run.halo.app.model.vo.CommentVO;
+import run.halo.app.model.vo.CommentWithParentVO;
+import run.halo.app.model.vo.CommentWithPostVO;
+import run.halo.app.repository.CommentRepository;
+import run.halo.app.repository.PostRepository;
+import run.halo.app.security.authentication.Authentication;
+import run.halo.app.security.context.SecurityContextHolder;
+import run.halo.app.service.CommentService;
+import run.halo.app.service.OptionService;
+import run.halo.app.service.base.AbstractCrudService;
+import run.halo.app.utils.OwoUtil;
+import run.halo.app.utils.ServiceUtils;
 import cn.hutool.core.util.URLUtil;
 import cn.hutool.crypto.SecureUtil;
 import cn.hutool.extra.servlet.ServletUtil;
@@ -33,6 +33,11 @@ import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.util.HtmlUtils;
+import run.halo.app.repository.CommentRepository;
+import run.halo.app.repository.PostRepository;
+import run.halo.app.security.authentication.Authentication;
+import run.halo.app.security.context.SecurityContextHolder;
+import run.halo.app.service.base.AbstractCrudService;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.*;
@@ -78,7 +83,7 @@ public class CommentServiceImpl extends AbstractCrudService imple
         Assert.notNull(status, "Comment status must not be null");
         Assert.notNull(pageable, "Page info must not be null");
 
-        // Find all 
+        // Find all
         Page commentPage = commentRepository.findAllByStatus(status, pageable);
 
         return convertBy(commentPage);
diff --git a/src/main/java/cc/ryanc/halo/service/impl/GalleryServiceImpl.java b/src/main/java/run/halo/app/service/impl/GalleryServiceImpl.java
similarity index 72%
rename from src/main/java/cc/ryanc/halo/service/impl/GalleryServiceImpl.java
rename to src/main/java/run/halo/app/service/impl/GalleryServiceImpl.java
index 7bd59bf04..4f64283a8 100644
--- a/src/main/java/cc/ryanc/halo/service/impl/GalleryServiceImpl.java
+++ b/src/main/java/run/halo/app/service/impl/GalleryServiceImpl.java
@@ -1,13 +1,15 @@
-package cc.ryanc.halo.service.impl;
+package run.halo.app.service.impl;
 
-import cc.ryanc.halo.model.dto.GalleryOutputDTO;
-import cc.ryanc.halo.model.entity.Gallery;
-import cc.ryanc.halo.repository.GalleryRepository;
-import cc.ryanc.halo.service.GalleryService;
-import cc.ryanc.halo.service.base.AbstractCrudService;
+import run.halo.app.model.dto.GalleryOutputDTO;
+import run.halo.app.model.entity.Gallery;
+import run.halo.app.repository.GalleryRepository;
+import run.halo.app.service.GalleryService;
+import run.halo.app.service.base.AbstractCrudService;
 import org.springframework.data.domain.Sort;
 import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
+import run.halo.app.repository.GalleryRepository;
+import run.halo.app.service.base.AbstractCrudService;
 
 import java.util.List;
 import java.util.stream.Collectors;
diff --git a/src/main/java/cc/ryanc/halo/service/impl/LinkServiceImpl.java b/src/main/java/run/halo/app/service/impl/LinkServiceImpl.java
similarity index 84%
rename from src/main/java/cc/ryanc/halo/service/impl/LinkServiceImpl.java
rename to src/main/java/run/halo/app/service/impl/LinkServiceImpl.java
index 75a23182b..4efd3f9bf 100644
--- a/src/main/java/cc/ryanc/halo/service/impl/LinkServiceImpl.java
+++ b/src/main/java/run/halo/app/service/impl/LinkServiceImpl.java
@@ -1,14 +1,14 @@
-package cc.ryanc.halo.service.impl;
+package run.halo.app.service.impl;
 
-import cc.ryanc.halo.exception.AlreadyExistsException;
-import cc.ryanc.halo.model.dto.LinkOutputDTO;
-import cc.ryanc.halo.model.entity.Link;
-import cc.ryanc.halo.model.params.LinkParam;
-import cc.ryanc.halo.model.vo.LinkTeamVO;
-import cc.ryanc.halo.repository.LinkRepository;
-import cc.ryanc.halo.service.LinkService;
-import cc.ryanc.halo.service.base.AbstractCrudService;
-import cc.ryanc.halo.utils.ServiceUtils;
+import run.halo.app.exception.AlreadyExistsException;
+import run.halo.app.model.dto.LinkOutputDTO;
+import run.halo.app.model.entity.Link;
+import run.halo.app.model.params.LinkParam;
+import run.halo.app.model.vo.LinkTeamVO;
+import run.halo.app.repository.LinkRepository;
+import run.halo.app.service.LinkService;
+import run.halo.app.service.base.AbstractCrudService;
+import run.halo.app.utils.ServiceUtils;
 import org.springframework.data.domain.Example;
 import org.springframework.data.domain.Sort;
 import org.springframework.lang.NonNull;
@@ -16,6 +16,9 @@ import org.springframework.lang.Nullable;
 import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
 import org.springframework.util.CollectionUtils;
+import run.halo.app.exception.AlreadyExistsException;
+import run.halo.app.repository.LinkRepository;
+import run.halo.app.service.base.AbstractCrudService;
 
 import java.util.*;
 import java.util.stream.Collectors;
diff --git a/src/main/java/cc/ryanc/halo/service/impl/LogServiceImpl.java b/src/main/java/run/halo/app/service/impl/LogServiceImpl.java
similarity index 73%
rename from src/main/java/cc/ryanc/halo/service/impl/LogServiceImpl.java
rename to src/main/java/run/halo/app/service/impl/LogServiceImpl.java
index a14599a0f..a7b961ecb 100644
--- a/src/main/java/cc/ryanc/halo/service/impl/LogServiceImpl.java
+++ b/src/main/java/run/halo/app/service/impl/LogServiceImpl.java
@@ -1,15 +1,17 @@
-package cc.ryanc.halo.service.impl;
+package run.halo.app.service.impl;
 
-import cc.ryanc.halo.model.dto.LogOutputDTO;
-import cc.ryanc.halo.model.entity.Log;
-import cc.ryanc.halo.repository.LogRepository;
-import cc.ryanc.halo.service.LogService;
-import cc.ryanc.halo.service.base.AbstractCrudService;
+import run.halo.app.model.dto.LogOutputDTO;
+import run.halo.app.model.entity.Log;
+import run.halo.app.repository.LogRepository;
+import run.halo.app.service.LogService;
+import run.halo.app.service.base.AbstractCrudService;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.Sort;
 import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
+import run.halo.app.repository.LogRepository;
+import run.halo.app.service.base.AbstractCrudService;
 
 /**
  * LogService implementation class
diff --git a/src/main/java/cc/ryanc/halo/service/impl/MailServiceImpl.java b/src/main/java/run/halo/app/service/impl/MailServiceImpl.java
similarity index 95%
rename from src/main/java/cc/ryanc/halo/service/impl/MailServiceImpl.java
rename to src/main/java/run/halo/app/service/impl/MailServiceImpl.java
index 35492f0ce..6f093889f 100644
--- a/src/main/java/cc/ryanc/halo/service/impl/MailServiceImpl.java
+++ b/src/main/java/run/halo/app/service/impl/MailServiceImpl.java
@@ -1,9 +1,9 @@
-package cc.ryanc.halo.service.impl;
+package run.halo.app.service.impl;
 
-import cc.ryanc.halo.exception.ServiceException;
-import cc.ryanc.halo.model.properties.EmailProperties;
-import cc.ryanc.halo.service.MailService;
-import cc.ryanc.halo.service.OptionService;
+import run.halo.app.exception.ServiceException;
+import run.halo.app.model.properties.EmailProperties;
+import run.halo.app.service.MailService;
+import run.halo.app.service.OptionService;
 import cn.hutool.core.text.StrBuilder;
 import freemarker.template.Template;
 import io.github.biezhi.ome.OhMyEmail;
@@ -11,6 +11,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.ui.freemarker.FreeMarkerTemplateUtils;
 import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer;
+import run.halo.app.exception.ServiceException;
 
 import java.io.File;
 import java.util.Map;
diff --git a/src/main/java/cc/ryanc/halo/service/impl/MenuServiceImpl.java b/src/main/java/run/halo/app/service/impl/MenuServiceImpl.java
similarity index 76%
rename from src/main/java/cc/ryanc/halo/service/impl/MenuServiceImpl.java
rename to src/main/java/run/halo/app/service/impl/MenuServiceImpl.java
index b5f3b46a6..074581ee7 100644
--- a/src/main/java/cc/ryanc/halo/service/impl/MenuServiceImpl.java
+++ b/src/main/java/run/halo/app/service/impl/MenuServiceImpl.java
@@ -1,16 +1,19 @@
-package cc.ryanc.halo.service.impl;
+package run.halo.app.service.impl;
 
-import cc.ryanc.halo.exception.AlreadyExistsException;
-import cc.ryanc.halo.model.dto.MenuOutputDTO;
-import cc.ryanc.halo.model.entity.Menu;
-import cc.ryanc.halo.model.params.MenuParam;
-import cc.ryanc.halo.repository.MenuRepository;
-import cc.ryanc.halo.service.MenuService;
-import cc.ryanc.halo.service.base.AbstractCrudService;
+import run.halo.app.exception.AlreadyExistsException;
+import run.halo.app.model.dto.MenuOutputDTO;
+import run.halo.app.model.entity.Menu;
+import run.halo.app.model.params.MenuParam;
+import run.halo.app.repository.MenuRepository;
+import run.halo.app.service.MenuService;
+import run.halo.app.service.base.AbstractCrudService;
 import org.springframework.data.domain.Sort;
 import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
 import org.springframework.util.CollectionUtils;
+import run.halo.app.exception.AlreadyExistsException;
+import run.halo.app.repository.MenuRepository;
+import run.halo.app.service.base.AbstractCrudService;
 
 import java.util.Collections;
 import java.util.List;
diff --git a/src/main/java/cc/ryanc/halo/service/impl/OptionServiceImpl.java b/src/main/java/run/halo/app/service/impl/OptionServiceImpl.java
similarity index 94%
rename from src/main/java/cc/ryanc/halo/service/impl/OptionServiceImpl.java
rename to src/main/java/run/halo/app/service/impl/OptionServiceImpl.java
index e98d3727a..286b57e3b 100644
--- a/src/main/java/cc/ryanc/halo/service/impl/OptionServiceImpl.java
+++ b/src/main/java/run/halo/app/service/impl/OptionServiceImpl.java
@@ -1,22 +1,22 @@
-package cc.ryanc.halo.service.impl;
+package run.halo.app.service.impl;
 
-import cc.ryanc.halo.exception.MissingPropertyException;
-import cc.ryanc.halo.model.dto.OptionOutputDTO;
-import cc.ryanc.halo.model.entity.Option;
-import cc.ryanc.halo.model.enums.OptionSource;
-import cc.ryanc.halo.model.enums.ValueEnum;
-import cc.ryanc.halo.model.params.OptionParam;
-import cc.ryanc.halo.model.properties.*;
-import cc.ryanc.halo.repository.OptionRepository;
-import cc.ryanc.halo.service.OptionService;
-import cc.ryanc.halo.service.base.AbstractCrudService;
-import cc.ryanc.halo.utils.ServiceUtils;
 import com.qiniu.common.Zone;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
 import org.springframework.util.CollectionUtils;
+import run.halo.app.exception.MissingPropertyException;
+import run.halo.app.model.dto.OptionOutputDTO;
+import run.halo.app.model.entity.Option;
+import run.halo.app.model.enums.OptionSource;
+import run.halo.app.model.enums.ValueEnum;
+import run.halo.app.model.params.OptionParam;
+import run.halo.app.model.properties.*;
+import run.halo.app.repository.OptionRepository;
+import run.halo.app.service.OptionService;
+import run.halo.app.service.base.AbstractCrudService;
+import run.halo.app.utils.ServiceUtils;
 
 import java.util.List;
 import java.util.Locale;
diff --git a/src/main/java/cc/ryanc/halo/service/impl/PostCategoryServiceImpl.java b/src/main/java/run/halo/app/service/impl/PostCategoryServiceImpl.java
similarity index 92%
rename from src/main/java/cc/ryanc/halo/service/impl/PostCategoryServiceImpl.java
rename to src/main/java/run/halo/app/service/impl/PostCategoryServiceImpl.java
index 8b281f12a..2de9ebdd0 100644
--- a/src/main/java/cc/ryanc/halo/service/impl/PostCategoryServiceImpl.java
+++ b/src/main/java/run/halo/app/service/impl/PostCategoryServiceImpl.java
@@ -1,14 +1,14 @@
-package cc.ryanc.halo.service.impl;
+package run.halo.app.service.impl;
 
-import cc.ryanc.halo.model.entity.Category;
-import cc.ryanc.halo.model.entity.Post;
-import cc.ryanc.halo.model.entity.PostCategory;
-import cc.ryanc.halo.repository.CategoryRepository;
-import cc.ryanc.halo.repository.PostCategoryRepository;
-import cc.ryanc.halo.repository.PostRepository;
-import cc.ryanc.halo.service.PostCategoryService;
-import cc.ryanc.halo.service.base.AbstractCrudService;
-import cc.ryanc.halo.utils.ServiceUtils;
+import run.halo.app.model.entity.Category;
+import run.halo.app.model.entity.Post;
+import run.halo.app.model.entity.PostCategory;
+import run.halo.app.repository.CategoryRepository;
+import run.halo.app.repository.PostCategoryRepository;
+import run.halo.app.repository.PostRepository;
+import run.halo.app.service.PostCategoryService;
+import run.halo.app.service.base.AbstractCrudService;
+import run.halo.app.utils.ServiceUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
 import org.springframework.util.CollectionUtils;
diff --git a/src/main/java/cc/ryanc/halo/service/impl/PostServiceImpl.java b/src/main/java/run/halo/app/service/impl/PostServiceImpl.java
similarity index 93%
rename from src/main/java/cc/ryanc/halo/service/impl/PostServiceImpl.java
rename to src/main/java/run/halo/app/service/impl/PostServiceImpl.java
index 49ec56c03..fa2640093 100644
--- a/src/main/java/cc/ryanc/halo/service/impl/PostServiceImpl.java
+++ b/src/main/java/run/halo/app/service/impl/PostServiceImpl.java
@@ -1,23 +1,5 @@
-package cc.ryanc.halo.service.impl;
+package run.halo.app.service.impl;
 
-import cc.ryanc.halo.exception.AlreadyExistsException;
-import cc.ryanc.halo.exception.NotFoundException;
-import cc.ryanc.halo.model.dto.CategoryOutputDTO;
-import cc.ryanc.halo.model.dto.TagOutputDTO;
-import cc.ryanc.halo.model.dto.post.PostMinimalOutputDTO;
-import cc.ryanc.halo.model.dto.post.PostSimpleOutputDTO;
-import cc.ryanc.halo.model.entity.*;
-import cc.ryanc.halo.model.enums.PostStatus;
-import cc.ryanc.halo.model.vo.ArchiveMonthVO;
-import cc.ryanc.halo.model.vo.ArchiveYearVO;
-import cc.ryanc.halo.model.vo.PostDetailVO;
-import cc.ryanc.halo.model.vo.PostListVO;
-import cc.ryanc.halo.repository.PostRepository;
-import cc.ryanc.halo.service.*;
-import cc.ryanc.halo.service.base.AbstractCrudService;
-import cc.ryanc.halo.utils.DateUtils;
-import cc.ryanc.halo.utils.MarkdownUtils;
-import cc.ryanc.halo.utils.ServiceUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
@@ -29,6 +11,24 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.Assert;
 import org.springframework.util.CollectionUtils;
+import run.halo.app.exception.AlreadyExistsException;
+import run.halo.app.exception.NotFoundException;
+import run.halo.app.model.dto.CategoryOutputDTO;
+import run.halo.app.model.dto.TagOutputDTO;
+import run.halo.app.model.dto.post.PostMinimalOutputDTO;
+import run.halo.app.model.dto.post.PostSimpleOutputDTO;
+import run.halo.app.model.entity.*;
+import run.halo.app.model.enums.PostStatus;
+import run.halo.app.model.vo.ArchiveMonthVO;
+import run.halo.app.model.vo.ArchiveYearVO;
+import run.halo.app.model.vo.PostDetailVO;
+import run.halo.app.model.vo.PostListVO;
+import run.halo.app.repository.PostRepository;
+import run.halo.app.service.*;
+import run.halo.app.service.base.AbstractCrudService;
+import run.halo.app.utils.DateUtils;
+import run.halo.app.utils.MarkdownUtils;
+import run.halo.app.utils.ServiceUtils;
 
 import java.util.*;
 import java.util.function.Function;
diff --git a/src/main/java/cc/ryanc/halo/service/impl/PostTagServiceImpl.java b/src/main/java/run/halo/app/service/impl/PostTagServiceImpl.java
similarity index 89%
rename from src/main/java/cc/ryanc/halo/service/impl/PostTagServiceImpl.java
rename to src/main/java/run/halo/app/service/impl/PostTagServiceImpl.java
index 15763683c..c97170d94 100644
--- a/src/main/java/cc/ryanc/halo/service/impl/PostTagServiceImpl.java
+++ b/src/main/java/run/halo/app/service/impl/PostTagServiceImpl.java
@@ -1,22 +1,26 @@
-package cc.ryanc.halo.service.impl;
+package run.halo.app.service.impl;
 
-import cc.ryanc.halo.model.dto.TagWithCountOutputDTO;
-import cc.ryanc.halo.model.entity.Post;
-import cc.ryanc.halo.model.entity.PostTag;
-import cc.ryanc.halo.model.entity.Tag;
-import cc.ryanc.halo.model.projection.TagPostCountProjection;
-import cc.ryanc.halo.repository.PostRepository;
-import cc.ryanc.halo.repository.PostTagRepository;
-import cc.ryanc.halo.repository.TagRepository;
-import cc.ryanc.halo.service.PostTagService;
-import cc.ryanc.halo.service.base.AbstractCrudService;
-import cc.ryanc.halo.utils.ServiceUtils;
+import run.halo.app.model.dto.TagWithCountOutputDTO;
+import run.halo.app.model.entity.Post;
+import run.halo.app.model.entity.PostTag;
+import run.halo.app.model.entity.Tag;
+import run.halo.app.model.projection.TagPostCountProjection;
+import run.halo.app.repository.PostRepository;
+import run.halo.app.repository.PostTagRepository;
+import run.halo.app.repository.TagRepository;
+import run.halo.app.service.PostTagService;
+import run.halo.app.service.base.AbstractCrudService;
+import run.halo.app.utils.ServiceUtils;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.domain.Sort;
 import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
 import org.springframework.util.CollectionUtils;
+import run.halo.app.repository.PostRepository;
+import run.halo.app.repository.PostTagRepository;
+import run.halo.app.repository.TagRepository;
+import run.halo.app.service.base.AbstractCrudService;
 
 import java.util.*;
 import java.util.stream.Collectors;
diff --git a/src/main/java/cc/ryanc/halo/service/impl/TagServiceImpl.java b/src/main/java/run/halo/app/service/impl/TagServiceImpl.java
similarity index 75%
rename from src/main/java/cc/ryanc/halo/service/impl/TagServiceImpl.java
rename to src/main/java/run/halo/app/service/impl/TagServiceImpl.java
index 0bc794233..d3a5442f9 100644
--- a/src/main/java/cc/ryanc/halo/service/impl/TagServiceImpl.java
+++ b/src/main/java/run/halo/app/service/impl/TagServiceImpl.java
@@ -1,15 +1,19 @@
-package cc.ryanc.halo.service.impl;
+package run.halo.app.service.impl;
 
-import cc.ryanc.halo.exception.AlreadyExistsException;
-import cc.ryanc.halo.exception.NotFoundException;
-import cc.ryanc.halo.model.dto.TagOutputDTO;
-import cc.ryanc.halo.model.entity.Tag;
-import cc.ryanc.halo.repository.TagRepository;
-import cc.ryanc.halo.service.TagService;
-import cc.ryanc.halo.service.base.AbstractCrudService;
+import run.halo.app.exception.AlreadyExistsException;
+import run.halo.app.exception.NotFoundException;
+import run.halo.app.model.dto.TagOutputDTO;
+import run.halo.app.model.entity.Tag;
+import run.halo.app.repository.TagRepository;
+import run.halo.app.service.TagService;
+import run.halo.app.service.base.AbstractCrudService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
+import run.halo.app.exception.AlreadyExistsException;
+import run.halo.app.exception.NotFoundException;
+import run.halo.app.repository.TagRepository;
+import run.halo.app.service.base.AbstractCrudService;
 
 import java.util.Collections;
 import java.util.List;
diff --git a/src/main/java/cc/ryanc/halo/service/impl/ThemeServiceImpl.java b/src/main/java/run/halo/app/service/impl/ThemeServiceImpl.java
similarity index 94%
rename from src/main/java/cc/ryanc/halo/service/impl/ThemeServiceImpl.java
rename to src/main/java/run/halo/app/service/impl/ThemeServiceImpl.java
index 04a91d25a..3ce88491c 100644
--- a/src/main/java/cc/ryanc/halo/service/impl/ThemeServiceImpl.java
+++ b/src/main/java/run/halo/app/service/impl/ThemeServiceImpl.java
@@ -1,16 +1,17 @@
-package cc.ryanc.halo.service.impl;
+package run.halo.app.service.impl;
 
-import cc.ryanc.halo.config.properties.HaloProperties;
-import cc.ryanc.halo.model.support.HaloConst;
-import cc.ryanc.halo.model.support.Theme;
-import cc.ryanc.halo.model.support.ThemeFile;
-import cc.ryanc.halo.model.support.ThemeProperties;
-import cc.ryanc.halo.service.ThemeService;
-import cc.ryanc.halo.utils.FilenameUtils;
+import run.halo.app.config.properties.HaloProperties;
+import run.halo.app.model.support.HaloConst;
+import run.halo.app.model.support.Theme;
+import run.halo.app.model.support.ThemeFile;
+import run.halo.app.model.support.ThemeProperties;
+import run.halo.app.service.ThemeService;
+import run.halo.app.utils.FilenameUtils;
 import cn.hutool.core.text.StrBuilder;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.setting.dialect.Props;
 import org.springframework.stereotype.Service;
+import run.halo.app.model.support.ThemeFile;
 
 import java.io.File;
 import java.util.ArrayList;
diff --git a/src/main/java/cc/ryanc/halo/service/impl/UserServiceImpl.java b/src/main/java/run/halo/app/service/impl/UserServiceImpl.java
similarity index 86%
rename from src/main/java/cc/ryanc/halo/service/impl/UserServiceImpl.java
rename to src/main/java/run/halo/app/service/impl/UserServiceImpl.java
index 7c903c0b9..235ad12ce 100644
--- a/src/main/java/cc/ryanc/halo/service/impl/UserServiceImpl.java
+++ b/src/main/java/run/halo/app/service/impl/UserServiceImpl.java
@@ -1,24 +1,30 @@
-package cc.ryanc.halo.service.impl;
+package run.halo.app.service.impl;
 
-import cc.ryanc.halo.cache.StringCacheStore;
-import cc.ryanc.halo.exception.BadRequestException;
-import cc.ryanc.halo.exception.NotFoundException;
-import cc.ryanc.halo.model.entity.User;
-import cc.ryanc.halo.model.params.UserParam;
-import cc.ryanc.halo.repository.UserRepository;
-import cc.ryanc.halo.security.context.SecurityContextHolder;
-import cc.ryanc.halo.security.filter.AdminAuthenticationFilter;
-import cc.ryanc.halo.security.support.UserDetail;
-import cc.ryanc.halo.service.UserService;
-import cc.ryanc.halo.service.base.AbstractCrudService;
-import cc.ryanc.halo.utils.DateUtils;
-import cc.ryanc.halo.utils.HaloUtils;
+import run.halo.app.cache.StringCacheStore;
+import run.halo.app.exception.BadRequestException;
+import run.halo.app.exception.NotFoundException;
+import run.halo.app.model.entity.User;
+import run.halo.app.model.params.UserParam;
+import run.halo.app.repository.UserRepository;
+import run.halo.app.security.context.SecurityContextHolder;
+import run.halo.app.security.filter.AdminAuthenticationFilter;
+import run.halo.app.security.support.UserDetail;
+import run.halo.app.service.UserService;
+import run.halo.app.service.base.AbstractCrudService;
+import run.halo.app.utils.DateUtils;
+import run.halo.app.utils.HaloUtils;
 import cn.hutool.core.lang.Validator;
 import cn.hutool.crypto.digest.BCrypt;
 import org.springframework.lang.NonNull;
 import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
 import org.springframework.util.CollectionUtils;
+import run.halo.app.exception.BadRequestException;
+import run.halo.app.exception.NotFoundException;
+import run.halo.app.repository.UserRepository;
+import run.halo.app.security.context.SecurityContextHolder;
+import run.halo.app.security.support.UserDetail;
+import run.halo.app.service.base.AbstractCrudService;
 
 import javax.servlet.http.HttpSession;
 import java.util.Date;
diff --git a/src/main/java/cc/ryanc/halo/utils/BeanUtils.java b/src/main/java/run/halo/app/utils/BeanUtils.java
similarity index 97%
rename from src/main/java/cc/ryanc/halo/utils/BeanUtils.java
rename to src/main/java/run/halo/app/utils/BeanUtils.java
index 52babb062..7ee7e8cec 100644
--- a/src/main/java/cc/ryanc/halo/utils/BeanUtils.java
+++ b/src/main/java/run/halo/app/utils/BeanUtils.java
@@ -1,12 +1,13 @@
-package cc.ryanc.halo.utils;
+package run.halo.app.utils;
 
-import cc.ryanc.halo.exception.BeanUtilsException;
+import run.halo.app.exception.BeanUtilsException;
 import org.springframework.beans.BeanWrapperImpl;
 import org.springframework.beans.BeansException;
 import org.springframework.lang.NonNull;
 import org.springframework.lang.Nullable;
 import org.springframework.util.Assert;
 import org.springframework.util.CollectionUtils;
+import run.halo.app.exception.BeanUtilsException;
 
 import java.beans.PropertyDescriptor;
 import java.util.*;
diff --git a/src/main/java/cc/ryanc/halo/utils/CommentUtil.java b/src/main/java/run/halo/app/utils/CommentUtil.java
similarity index 98%
rename from src/main/java/cc/ryanc/halo/utils/CommentUtil.java
rename to src/main/java/run/halo/app/utils/CommentUtil.java
index 4a6fdb5cf..0dbe576f1 100644
--- a/src/main/java/cc/ryanc/halo/utils/CommentUtil.java
+++ b/src/main/java/run/halo/app/utils/CommentUtil.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.utils;
+package run.halo.app.utils;
 
 /**
  * 
diff --git a/src/main/java/cc/ryanc/halo/utils/DateUtils.java b/src/main/java/run/halo/app/utils/DateUtils.java
similarity index 96%
rename from src/main/java/cc/ryanc/halo/utils/DateUtils.java
rename to src/main/java/run/halo/app/utils/DateUtils.java
index dea717fb3..bac8b3c61 100644
--- a/src/main/java/cc/ryanc/halo/utils/DateUtils.java
+++ b/src/main/java/run/halo/app/utils/DateUtils.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.utils;
+package run.halo.app.utils;
 
 import org.springframework.lang.NonNull;
 import org.springframework.util.Assert;
diff --git a/src/main/java/cc/ryanc/halo/utils/ExceptionUtils.java b/src/main/java/run/halo/app/utils/ExceptionUtils.java
similarity index 97%
rename from src/main/java/cc/ryanc/halo/utils/ExceptionUtils.java
rename to src/main/java/run/halo/app/utils/ExceptionUtils.java
index a4bdb0216..1232fc0a9 100644
--- a/src/main/java/cc/ryanc/halo/utils/ExceptionUtils.java
+++ b/src/main/java/run/halo/app/utils/ExceptionUtils.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.utils;
+package run.halo.app.utils;
 
 import java.io.PrintWriter;
 import java.io.StringWriter;
diff --git a/src/main/java/cc/ryanc/halo/utils/FilenameUtils.java b/src/main/java/run/halo/app/utils/FilenameUtils.java
similarity index 98%
rename from src/main/java/cc/ryanc/halo/utils/FilenameUtils.java
rename to src/main/java/run/halo/app/utils/FilenameUtils.java
index 31b10e30a..d8d0812b9 100644
--- a/src/main/java/cc/ryanc/halo/utils/FilenameUtils.java
+++ b/src/main/java/run/halo/app/utils/FilenameUtils.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.utils;
+package run.halo.app.utils;
 
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.lang.NonNull;
diff --git a/src/main/java/cc/ryanc/halo/utils/HaloUtils.java b/src/main/java/run/halo/app/utils/HaloUtils.java
similarity index 99%
rename from src/main/java/cc/ryanc/halo/utils/HaloUtils.java
rename to src/main/java/run/halo/app/utils/HaloUtils.java
index e974c2d68..51736606c 100755
--- a/src/main/java/cc/ryanc/halo/utils/HaloUtils.java
+++ b/src/main/java/run/halo/app/utils/HaloUtils.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.utils;
+package run.halo.app.utils;
 
 import cn.hutool.core.text.StrBuilder;
 import io.github.biezhi.ome.OhMyEmail;
diff --git a/src/main/java/cc/ryanc/halo/utils/HttpClientUtils.java b/src/main/java/run/halo/app/utils/HttpClientUtils.java
similarity index 98%
rename from src/main/java/cc/ryanc/halo/utils/HttpClientUtils.java
rename to src/main/java/run/halo/app/utils/HttpClientUtils.java
index 60dff0ea2..3ba0ad698 100644
--- a/src/main/java/cc/ryanc/halo/utils/HttpClientUtils.java
+++ b/src/main/java/run/halo/app/utils/HttpClientUtils.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.utils;
+package run.halo.app.utils;
 
 import org.apache.http.client.config.RequestConfig;
 import org.apache.http.conn.ssl.NoopHostnameVerifier;
diff --git a/src/main/java/cc/ryanc/halo/utils/JsonUtils.java b/src/main/java/run/halo/app/utils/JsonUtils.java
similarity index 99%
rename from src/main/java/cc/ryanc/halo/utils/JsonUtils.java
rename to src/main/java/run/halo/app/utils/JsonUtils.java
index 348047421..d391d7bcf 100644
--- a/src/main/java/cc/ryanc/halo/utils/JsonUtils.java
+++ b/src/main/java/run/halo/app/utils/JsonUtils.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.utils;
+package run.halo.app.utils;
 
 
 import com.fasterxml.jackson.core.JsonProcessingException;
diff --git a/src/main/java/cc/ryanc/halo/utils/MarkdownUtils.java b/src/main/java/run/halo/app/utils/MarkdownUtils.java
similarity index 97%
rename from src/main/java/cc/ryanc/halo/utils/MarkdownUtils.java
rename to src/main/java/run/halo/app/utils/MarkdownUtils.java
index fbc801462..719f8ed8d 100644
--- a/src/main/java/cc/ryanc/halo/utils/MarkdownUtils.java
+++ b/src/main/java/run/halo/app/utils/MarkdownUtils.java
@@ -1,6 +1,6 @@
-package cc.ryanc.halo.utils;
+package run.halo.app.utils;
 
-import cc.ryanc.halo.model.support.HaloConst;
+import run.halo.app.model.support.HaloConst;
 import org.commonmark.Extension;
 import org.commonmark.ext.front.matter.YamlFrontMatterExtension;
 import org.commonmark.ext.front.matter.YamlFrontMatterVisitor;
diff --git a/src/main/java/cc/ryanc/halo/utils/OwoUtil.java b/src/main/java/run/halo/app/utils/OwoUtil.java
similarity index 87%
rename from src/main/java/cc/ryanc/halo/utils/OwoUtil.java
rename to src/main/java/run/halo/app/utils/OwoUtil.java
index 86c0578ad..4d1b7a76e 100644
--- a/src/main/java/cc/ryanc/halo/utils/OwoUtil.java
+++ b/src/main/java/run/halo/app/utils/OwoUtil.java
@@ -1,9 +1,9 @@
-package cc.ryanc.halo.utils;
+package run.halo.app.utils;
 
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.util.CollectionUtils;
 
-import static cc.ryanc.halo.model.support.HaloConst.OWO_MAP;
+import static run.halo.app.model.support.HaloConst.OWO_MAP;
 
 /**
  * Owo util
diff --git a/src/main/java/cc/ryanc/halo/utils/ReflectionUtils.java b/src/main/java/run/halo/app/utils/ReflectionUtils.java
similarity index 98%
rename from src/main/java/cc/ryanc/halo/utils/ReflectionUtils.java
rename to src/main/java/run/halo/app/utils/ReflectionUtils.java
index bcc17d8ad..599275e1a 100644
--- a/src/main/java/cc/ryanc/halo/utils/ReflectionUtils.java
+++ b/src/main/java/run/halo/app/utils/ReflectionUtils.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.utils;
+package run.halo.app.utils;
 
 import org.springframework.lang.NonNull;
 import org.springframework.lang.Nullable;
diff --git a/src/main/java/cc/ryanc/halo/utils/ServiceUtils.java b/src/main/java/run/halo/app/utils/ServiceUtils.java
similarity index 99%
rename from src/main/java/cc/ryanc/halo/utils/ServiceUtils.java
rename to src/main/java/run/halo/app/utils/ServiceUtils.java
index 7a3c72b45..cb17645e4 100644
--- a/src/main/java/cc/ryanc/halo/utils/ServiceUtils.java
+++ b/src/main/java/run/halo/app/utils/ServiceUtils.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.utils;
+package run.halo.app.utils;
 
 import org.springframework.util.Assert;
 import org.springframework.util.CollectionUtils;
diff --git a/src/main/java/cc/ryanc/halo/utils/SlugUtils.java b/src/main/java/run/halo/app/utils/SlugUtils.java
similarity index 97%
rename from src/main/java/cc/ryanc/halo/utils/SlugUtils.java
rename to src/main/java/run/halo/app/utils/SlugUtils.java
index 14606e924..759ce3335 100644
--- a/src/main/java/cc/ryanc/halo/utils/SlugUtils.java
+++ b/src/main/java/run/halo/app/utils/SlugUtils.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.utils;
+package run.halo.app.utils;
 
 import org.springframework.lang.NonNull;
 import org.springframework.util.Assert;
diff --git a/src/main/java/cc/ryanc/halo/utils/ValidationUtils.java b/src/main/java/run/halo/app/utils/ValidationUtils.java
similarity index 99%
rename from src/main/java/cc/ryanc/halo/utils/ValidationUtils.java
rename to src/main/java/run/halo/app/utils/ValidationUtils.java
index 9e9b388aa..04863aa14 100644
--- a/src/main/java/cc/ryanc/halo/utils/ValidationUtils.java
+++ b/src/main/java/run/halo/app/utils/ValidationUtils.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.utils;
+package run.halo.app.utils;
 
 import org.springframework.lang.NonNull;
 import org.springframework.lang.Nullable;
@@ -97,4 +97,4 @@ public class ValidationUtils {
         fieldErrors.forEach(filedError -> errMap.put(filedError.getField(), filedError.getDefaultMessage()));
         return errMap;
     }
-}
\ No newline at end of file
+}
diff --git a/src/main/java/cc/ryanc/halo/web/controller/admin/api/AdminController.java b/src/main/java/run/halo/app/web/controller/admin/api/AdminController.java
similarity index 85%
rename from src/main/java/cc/ryanc/halo/web/controller/admin/api/AdminController.java
rename to src/main/java/run/halo/app/web/controller/admin/api/AdminController.java
index 7681cc211..f2a17961f 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/admin/api/AdminController.java
+++ b/src/main/java/run/halo/app/web/controller/admin/api/AdminController.java
@@ -1,18 +1,18 @@
-package cc.ryanc.halo.web.controller.admin.api;
+package run.halo.app.web.controller.admin.api;
 
-import cc.ryanc.halo.cache.lock.CacheLock;
-import cc.ryanc.halo.exception.BadRequestException;
-import cc.ryanc.halo.model.dto.CountOutputDTO;
-import cc.ryanc.halo.model.dto.UserOutputDTO;
-import cc.ryanc.halo.model.enums.PostStatus;
-import cc.ryanc.halo.model.params.LoginParam;
-import cc.ryanc.halo.model.properties.PrimaryProperties;
-import cc.ryanc.halo.security.context.SecurityContextHolder;
-import cc.ryanc.halo.security.filter.AdminAuthenticationFilter;
-import cc.ryanc.halo.service.*;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.*;
+import run.halo.app.cache.lock.CacheLock;
+import run.halo.app.exception.BadRequestException;
+import run.halo.app.model.dto.CountOutputDTO;
+import run.halo.app.model.dto.UserOutputDTO;
+import run.halo.app.model.enums.PostStatus;
+import run.halo.app.model.params.LoginParam;
+import run.halo.app.model.properties.PrimaryProperties;
+import run.halo.app.security.context.SecurityContextHolder;
+import run.halo.app.security.filter.AdminAuthenticationFilter;
+import run.halo.app.service.*;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
diff --git a/src/main/java/cc/ryanc/halo/web/controller/admin/api/AttachmentController.java b/src/main/java/run/halo/app/web/controller/admin/api/AttachmentController.java
similarity index 93%
rename from src/main/java/cc/ryanc/halo/web/controller/admin/api/AttachmentController.java
rename to src/main/java/run/halo/app/web/controller/admin/api/AttachmentController.java
index 5814596ae..74e806082 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/admin/api/AttachmentController.java
+++ b/src/main/java/run/halo/app/web/controller/admin/api/AttachmentController.java
@@ -1,8 +1,8 @@
-package cc.ryanc.halo.web.controller.admin.api;
+package run.halo.app.web.controller.admin.api;
 
-import cc.ryanc.halo.model.dto.AttachmentOutputDTO;
-import cc.ryanc.halo.model.entity.Attachment;
-import cc.ryanc.halo.service.AttachmentService;
+import run.halo.app.model.dto.AttachmentOutputDTO;
+import run.halo.app.model.entity.Attachment;
+import run.halo.app.service.AttachmentService;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
diff --git a/src/main/java/cc/ryanc/halo/web/controller/admin/api/CategoryController.java b/src/main/java/run/halo/app/web/controller/admin/api/CategoryController.java
similarity index 76%
rename from src/main/java/cc/ryanc/halo/web/controller/admin/api/CategoryController.java
rename to src/main/java/run/halo/app/web/controller/admin/api/CategoryController.java
index 38f96669f..fa00740c5 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/admin/api/CategoryController.java
+++ b/src/main/java/run/halo/app/web/controller/admin/api/CategoryController.java
@@ -1,15 +1,21 @@
-package cc.ryanc.halo.web.controller.admin.api;
+package run.halo.app.web.controller.admin.api;
 
-import cc.ryanc.halo.model.dto.CategoryOutputDTO;
-import cc.ryanc.halo.model.entity.Category;
-import cc.ryanc.halo.model.params.CategoryParam;
-import cc.ryanc.halo.model.vo.CategoryVO;
-import cc.ryanc.halo.service.CategoryService;
-import cc.ryanc.halo.service.PostCategoryService;
+import run.halo.app.model.dto.CategoryOutputDTO;
+import run.halo.app.model.entity.Category;
+import run.halo.app.model.params.CategoryParam;
+import run.halo.app.model.vo.CategoryVO;
+import run.halo.app.service.CategoryService;
+import run.halo.app.service.PostCategoryService;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.data.domain.Sort;
 import org.springframework.data.web.SortDefault;
 import org.springframework.web.bind.annotation.*;
+import run.halo.app.model.dto.CategoryOutputDTO;
+import run.halo.app.model.entity.Category;
+import run.halo.app.model.params.CategoryParam;
+import run.halo.app.model.vo.CategoryVO;
+import run.halo.app.service.CategoryService;
+import run.halo.app.service.PostCategoryService;
 
 import javax.validation.Valid;
 import java.util.List;
diff --git a/src/main/java/cc/ryanc/halo/web/controller/admin/api/CommentController.java b/src/main/java/run/halo/app/web/controller/admin/api/CommentController.java
similarity index 77%
rename from src/main/java/cc/ryanc/halo/web/controller/admin/api/CommentController.java
rename to src/main/java/run/halo/app/web/controller/admin/api/CommentController.java
index e483c09a4..289309ade 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/admin/api/CommentController.java
+++ b/src/main/java/run/halo/app/web/controller/admin/api/CommentController.java
@@ -1,22 +1,32 @@
-package cc.ryanc.halo.web.controller.admin.api;
+package run.halo.app.web.controller.admin.api;
 
-import cc.ryanc.halo.model.dto.CommentOutputDTO;
-import cc.ryanc.halo.model.entity.Comment;
-import cc.ryanc.halo.model.entity.User;
-import cc.ryanc.halo.model.enums.CommentStatus;
-import cc.ryanc.halo.model.params.CommentParam;
-import cc.ryanc.halo.model.properties.BlogProperties;
-import cc.ryanc.halo.model.vo.CommentWithPostVO;
-import cc.ryanc.halo.service.CommentService;
-import cc.ryanc.halo.service.OptionService;
-import cc.ryanc.halo.service.PostService;
-import cc.ryanc.halo.utils.ValidationUtils;
+import run.halo.app.model.dto.CommentOutputDTO;
+import run.halo.app.model.entity.Comment;
+import run.halo.app.model.entity.User;
+import run.halo.app.model.enums.CommentStatus;
+import run.halo.app.model.params.CommentParam;
+import run.halo.app.model.properties.BlogProperties;
+import run.halo.app.model.vo.CommentWithPostVO;
+import run.halo.app.service.CommentService;
+import run.halo.app.service.OptionService;
+import run.halo.app.service.PostService;
+import run.halo.app.utils.ValidationUtils;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.web.PageableDefault;
 import org.springframework.web.bind.annotation.*;
+import run.halo.app.model.dto.CommentOutputDTO;
+import run.halo.app.model.entity.Comment;
+import run.halo.app.model.entity.User;
+import run.halo.app.model.enums.CommentStatus;
+import run.halo.app.model.params.CommentParam;
+import run.halo.app.model.properties.BlogProperties;
+import run.halo.app.model.vo.CommentWithPostVO;
+import run.halo.app.service.CommentService;
+import run.halo.app.service.PostService;
+import run.halo.app.utils.ValidationUtils;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.List;
diff --git a/src/main/java/cc/ryanc/halo/web/controller/admin/api/GalleryController.java b/src/main/java/run/halo/app/web/controller/admin/api/GalleryController.java
similarity index 86%
rename from src/main/java/cc/ryanc/halo/web/controller/admin/api/GalleryController.java
rename to src/main/java/run/halo/app/web/controller/admin/api/GalleryController.java
index 1d0d3f1b5..233d9a4ce 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/admin/api/GalleryController.java
+++ b/src/main/java/run/halo/app/web/controller/admin/api/GalleryController.java
@@ -1,11 +1,13 @@
-package cc.ryanc.halo.web.controller.admin.api;
+package run.halo.app.web.controller.admin.api;
 
-import cc.ryanc.halo.model.dto.GalleryOutputDTO;
-import cc.ryanc.halo.service.GalleryService;
+import run.halo.app.model.dto.GalleryOutputDTO;
+import run.halo.app.service.GalleryService;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.data.domain.Sort;
 import org.springframework.data.web.SortDefault;
 import org.springframework.web.bind.annotation.*;
+import run.halo.app.model.dto.GalleryOutputDTO;
+import run.halo.app.service.GalleryService;
 
 import java.util.List;
 
diff --git a/src/main/java/cc/ryanc/halo/web/controller/admin/api/LinkController.java b/src/main/java/run/halo/app/web/controller/admin/api/LinkController.java
similarity index 82%
rename from src/main/java/cc/ryanc/halo/web/controller/admin/api/LinkController.java
rename to src/main/java/run/halo/app/web/controller/admin/api/LinkController.java
index a1bc75503..0d66fbe58 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/admin/api/LinkController.java
+++ b/src/main/java/run/halo/app/web/controller/admin/api/LinkController.java
@@ -1,13 +1,16 @@
-package cc.ryanc.halo.web.controller.admin.api;
+package run.halo.app.web.controller.admin.api;
 
-import cc.ryanc.halo.model.dto.LinkOutputDTO;
-import cc.ryanc.halo.model.entity.Link;
-import cc.ryanc.halo.model.params.LinkParam;
-import cc.ryanc.halo.service.LinkService;
+import run.halo.app.model.dto.LinkOutputDTO;
+import run.halo.app.model.entity.Link;
+import run.halo.app.model.params.LinkParam;
+import run.halo.app.service.LinkService;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.data.domain.Sort;
 import org.springframework.data.web.SortDefault;
 import org.springframework.web.bind.annotation.*;
+import run.halo.app.model.dto.LinkOutputDTO;
+import run.halo.app.model.entity.Link;
+import run.halo.app.service.LinkService;
 
 import javax.validation.Valid;
 import java.util.List;
diff --git a/src/main/java/cc/ryanc/halo/web/controller/admin/api/LogController.java b/src/main/java/run/halo/app/web/controller/admin/api/LogController.java
similarity index 83%
rename from src/main/java/cc/ryanc/halo/web/controller/admin/api/LogController.java
rename to src/main/java/run/halo/app/web/controller/admin/api/LogController.java
index 4d3698605..a4d99b331 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/admin/api/LogController.java
+++ b/src/main/java/run/halo/app/web/controller/admin/api/LogController.java
@@ -1,12 +1,14 @@
-package cc.ryanc.halo.web.controller.admin.api;
+package run.halo.app.web.controller.admin.api;
 
-import cc.ryanc.halo.model.dto.LogOutputDTO;
-import cc.ryanc.halo.service.LogService;
+import run.halo.app.model.dto.LogOutputDTO;
+import run.halo.app.service.LogService;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
+import run.halo.app.model.dto.LogOutputDTO;
+import run.halo.app.service.LogService;
 
 import java.util.List;
 
diff --git a/src/main/java/cc/ryanc/halo/web/controller/admin/api/MenuController.java b/src/main/java/run/halo/app/web/controller/admin/api/MenuController.java
similarity index 85%
rename from src/main/java/cc/ryanc/halo/web/controller/admin/api/MenuController.java
rename to src/main/java/run/halo/app/web/controller/admin/api/MenuController.java
index 2ffd2fe69..b49c86c2d 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/admin/api/MenuController.java
+++ b/src/main/java/run/halo/app/web/controller/admin/api/MenuController.java
@@ -1,13 +1,15 @@
-package cc.ryanc.halo.web.controller.admin.api;
+package run.halo.app.web.controller.admin.api;
 
-import cc.ryanc.halo.model.dto.MenuOutputDTO;
-import cc.ryanc.halo.model.entity.Menu;
-import cc.ryanc.halo.model.params.MenuParam;
-import cc.ryanc.halo.service.MenuService;
+import run.halo.app.model.dto.MenuOutputDTO;
+import run.halo.app.model.entity.Menu;
+import run.halo.app.model.params.MenuParam;
+import run.halo.app.service.MenuService;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.data.domain.Sort;
 import org.springframework.data.web.SortDefault;
 import org.springframework.web.bind.annotation.*;
+import run.halo.app.model.entity.Menu;
+import run.halo.app.service.MenuService;
 
 import javax.validation.Valid;
 import java.util.List;
diff --git a/src/main/java/cc/ryanc/halo/web/controller/admin/api/OptionController.java b/src/main/java/run/halo/app/web/controller/admin/api/OptionController.java
similarity index 76%
rename from src/main/java/cc/ryanc/halo/web/controller/admin/api/OptionController.java
rename to src/main/java/run/halo/app/web/controller/admin/api/OptionController.java
index 8ed06b2d3..be7c27133 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/admin/api/OptionController.java
+++ b/src/main/java/run/halo/app/web/controller/admin/api/OptionController.java
@@ -1,11 +1,14 @@
-package cc.ryanc.halo.web.controller.admin.api;
+package run.halo.app.web.controller.admin.api;
 
-import cc.ryanc.halo.model.dto.OptionOutputDTO;
-import cc.ryanc.halo.model.enums.OptionSource;
-import cc.ryanc.halo.model.params.OptionParam;
-import cc.ryanc.halo.service.OptionService;
+import run.halo.app.model.dto.OptionOutputDTO;
+import run.halo.app.model.enums.OptionSource;
+import run.halo.app.model.params.OptionParam;
+import run.halo.app.service.OptionService;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.*;
+import run.halo.app.model.dto.OptionOutputDTO;
+import run.halo.app.model.enums.OptionSource;
+import run.halo.app.model.params.OptionParam;
 
 import javax.validation.Valid;
 import java.util.List;
diff --git a/src/main/java/cc/ryanc/halo/web/controller/admin/api/PostController.java b/src/main/java/run/halo/app/web/controller/admin/api/PostController.java
similarity index 89%
rename from src/main/java/cc/ryanc/halo/web/controller/admin/api/PostController.java
rename to src/main/java/run/halo/app/web/controller/admin/api/PostController.java
index 5aa9341bd..e17080d47 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/admin/api/PostController.java
+++ b/src/main/java/run/halo/app/web/controller/admin/api/PostController.java
@@ -1,17 +1,17 @@
-package cc.ryanc.halo.web.controller.admin.api;
+package run.halo.app.web.controller.admin.api;
 
-import cc.ryanc.halo.model.dto.post.PostMinimalOutputDTO;
-import cc.ryanc.halo.model.dto.post.PostSimpleOutputDTO;
-import cc.ryanc.halo.model.entity.Post;
-import cc.ryanc.halo.model.enums.PostStatus;
-import cc.ryanc.halo.model.params.PostParam;
-import cc.ryanc.halo.model.vo.PostDetailVO;
-import cc.ryanc.halo.service.*;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.web.PageableDefault;
 import org.springframework.web.bind.annotation.*;
+import run.halo.app.model.dto.post.PostMinimalOutputDTO;
+import run.halo.app.model.dto.post.PostSimpleOutputDTO;
+import run.halo.app.model.entity.Post;
+import run.halo.app.model.enums.PostStatus;
+import run.halo.app.model.params.PostParam;
+import run.halo.app.model.vo.PostDetailVO;
+import run.halo.app.service.*;
 
 import javax.validation.Valid;
 import java.util.List;
diff --git a/src/main/java/cc/ryanc/halo/web/controller/admin/api/TagController.java b/src/main/java/run/halo/app/web/controller/admin/api/TagController.java
similarity index 84%
rename from src/main/java/cc/ryanc/halo/web/controller/admin/api/TagController.java
rename to src/main/java/run/halo/app/web/controller/admin/api/TagController.java
index 35f754e12..830f03e05 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/admin/api/TagController.java
+++ b/src/main/java/run/halo/app/web/controller/admin/api/TagController.java
@@ -1,15 +1,20 @@
-package cc.ryanc.halo.web.controller.admin.api;
+package run.halo.app.web.controller.admin.api;
 
-import cc.ryanc.halo.model.dto.TagOutputDTO;
-import cc.ryanc.halo.model.entity.Tag;
-import cc.ryanc.halo.model.params.TagParam;
-import cc.ryanc.halo.service.PostTagService;
-import cc.ryanc.halo.service.TagService;
+import run.halo.app.model.dto.TagOutputDTO;
+import run.halo.app.model.entity.Tag;
+import run.halo.app.model.params.TagParam;
+import run.halo.app.service.PostTagService;
+import run.halo.app.service.TagService;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.data.domain.Sort;
 import org.springframework.data.web.SortDefault;
 import org.springframework.web.bind.annotation.*;
+import run.halo.app.model.dto.TagOutputDTO;
+import run.halo.app.model.entity.Tag;
+import run.halo.app.model.params.TagParam;
+import run.halo.app.service.PostTagService;
+import run.halo.app.service.TagService;
 
 import javax.validation.Valid;
 import java.util.List;
diff --git a/src/main/java/cc/ryanc/halo/web/controller/admin/api/ThemeController.java b/src/main/java/run/halo/app/web/controller/admin/api/ThemeController.java
similarity index 78%
rename from src/main/java/cc/ryanc/halo/web/controller/admin/api/ThemeController.java
rename to src/main/java/run/halo/app/web/controller/admin/api/ThemeController.java
index 3e5298199..e8490bd1b 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/admin/api/ThemeController.java
+++ b/src/main/java/run/halo/app/web/controller/admin/api/ThemeController.java
@@ -1,13 +1,13 @@
-package cc.ryanc.halo.web.controller.admin.api;
+package run.halo.app.web.controller.admin.api;
 
-import cc.ryanc.halo.model.enums.OptionSource;
-import cc.ryanc.halo.model.properties.PrimaryProperties;
-import cc.ryanc.halo.model.properties.PropertyEnum;
-import cc.ryanc.halo.model.support.HaloConst;
-import cc.ryanc.halo.model.support.Theme;
-import cc.ryanc.halo.model.support.ThemeFile;
-import cc.ryanc.halo.service.OptionService;
-import cc.ryanc.halo.service.ThemeService;
+import run.halo.app.model.enums.OptionSource;
+import run.halo.app.model.properties.PrimaryProperties;
+import run.halo.app.model.properties.PropertyEnum;
+import run.halo.app.model.support.HaloConst;
+import run.halo.app.model.support.Theme;
+import run.halo.app.model.support.ThemeFile;
+import run.halo.app.service.OptionService;
+import run.halo.app.service.ThemeService;
 import freemarker.template.Configuration;
 import freemarker.template.TemplateModelException;
 import io.swagger.annotations.ApiOperation;
@@ -15,6 +15,11 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
+import run.halo.app.model.enums.OptionSource;
+import run.halo.app.model.properties.PrimaryProperties;
+import run.halo.app.model.support.Theme;
+import run.halo.app.model.support.ThemeFile;
+import run.halo.app.service.ThemeService;
 
 import java.util.HashMap;
 import java.util.List;
diff --git a/src/main/java/cc/ryanc/halo/web/controller/admin/api/UserController.java b/src/main/java/run/halo/app/web/controller/admin/api/UserController.java
similarity index 70%
rename from src/main/java/cc/ryanc/halo/web/controller/admin/api/UserController.java
rename to src/main/java/run/halo/app/web/controller/admin/api/UserController.java
index 4eccb6779..13f5e3f04 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/admin/api/UserController.java
+++ b/src/main/java/run/halo/app/web/controller/admin/api/UserController.java
@@ -1,11 +1,15 @@
-package cc.ryanc.halo.web.controller.admin.api;
+package run.halo.app.web.controller.admin.api;
 
-import cc.ryanc.halo.model.dto.UserOutputDTO;
-import cc.ryanc.halo.model.entity.User;
-import cc.ryanc.halo.model.params.PasswordParam;
-import cc.ryanc.halo.model.params.UserParam;
-import cc.ryanc.halo.service.UserService;
+import run.halo.app.model.dto.UserOutputDTO;
+import run.halo.app.model.entity.User;
+import run.halo.app.model.params.PasswordParam;
+import run.halo.app.model.params.UserParam;
+import run.halo.app.service.UserService;
 import org.springframework.web.bind.annotation.*;
+import run.halo.app.model.dto.UserOutputDTO;
+import run.halo.app.model.entity.User;
+import run.halo.app.model.params.PasswordParam;
+import run.halo.app.model.params.UserParam;
 
 import javax.validation.Valid;
 
diff --git a/src/main/java/cc/ryanc/halo/web/controller/base/CommonResultControllerAdvice.java b/src/main/java/run/halo/app/web/controller/base/CommonResultControllerAdvice.java
similarity index 94%
rename from src/main/java/cc/ryanc/halo/web/controller/base/CommonResultControllerAdvice.java
rename to src/main/java/run/halo/app/web/controller/base/CommonResultControllerAdvice.java
index 0dc1cf57e..8f4d020f6 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/base/CommonResultControllerAdvice.java
+++ b/src/main/java/run/halo/app/web/controller/base/CommonResultControllerAdvice.java
@@ -1,6 +1,6 @@
-package cc.ryanc.halo.web.controller.base;
+package run.halo.app.web.controller.base;
 
-import cc.ryanc.halo.model.support.BaseResponse;
+import run.halo.app.model.support.BaseResponse;
 import org.springframework.core.MethodParameter;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.MediaType;
@@ -13,13 +13,14 @@ import org.springframework.lang.NonNull;
 import org.springframework.lang.Nullable;
 import org.springframework.web.bind.annotation.ControllerAdvice;
 import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;
+import run.halo.app.model.support.BaseResponse;
 
 /**
  * Controller advice for comment result.
  *
  * @author johnniang
  */
-@ControllerAdvice("cc.ryanc.halo.web.controller")
+@ControllerAdvice("run.halo.app.web.controller")
 public class CommonResultControllerAdvice implements ResponseBodyAdvice {
 
     @Override
diff --git a/src/main/java/cc/ryanc/halo/web/controller/base/ControllerExceptionHandler.java b/src/main/java/run/halo/app/web/controller/base/ControllerExceptionHandler.java
similarity index 93%
rename from src/main/java/cc/ryanc/halo/web/controller/base/ControllerExceptionHandler.java
rename to src/main/java/run/halo/app/web/controller/base/ControllerExceptionHandler.java
index e13bf0265..b4904e999 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/base/ControllerExceptionHandler.java
+++ b/src/main/java/run/halo/app/web/controller/base/ControllerExceptionHandler.java
@@ -1,9 +1,9 @@
-package cc.ryanc.halo.web.controller.base;
+package run.halo.app.web.controller.base;
 
-import cc.ryanc.halo.exception.HaloException;
-import cc.ryanc.halo.model.support.BaseResponse;
-import cc.ryanc.halo.utils.ExceptionUtils;
-import cc.ryanc.halo.utils.ValidationUtils;
+import run.halo.app.exception.HaloException;
+import run.halo.app.model.support.BaseResponse;
+import run.halo.app.utils.ExceptionUtils;
+import run.halo.app.utils.ValidationUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.dao.DataIntegrityViolationException;
 import org.springframework.http.HttpStatus;
@@ -17,6 +17,10 @@ import org.springframework.web.bind.annotation.ExceptionHandler;
 import org.springframework.web.bind.annotation.ResponseStatus;
 import org.springframework.web.bind.annotation.RestControllerAdvice;
 import org.springframework.web.servlet.NoHandlerFoundException;
+import run.halo.app.exception.HaloException;
+import run.halo.app.model.support.BaseResponse;
+import run.halo.app.utils.ExceptionUtils;
+import run.halo.app.utils.ValidationUtils;
 
 import javax.validation.ConstraintViolationException;
 import java.util.Map;
diff --git a/src/main/java/cc/ryanc/halo/web/controller/content/ContentCategoryController.java b/src/main/java/run/halo/app/web/controller/content/ContentCategoryController.java
similarity index 83%
rename from src/main/java/cc/ryanc/halo/web/controller/content/ContentCategoryController.java
rename to src/main/java/run/halo/app/web/controller/content/ContentCategoryController.java
index 7cf990f2c..4f0f404fe 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/content/ContentCategoryController.java
+++ b/src/main/java/run/halo/app/web/controller/content/ContentCategoryController.java
@@ -1,9 +1,9 @@
-package cc.ryanc.halo.web.controller.content;
+package run.halo.app.web.controller.content;
 
-import cc.ryanc.halo.model.entity.Category;
-import cc.ryanc.halo.service.CategoryService;
-import cc.ryanc.halo.service.PostService;
-import cc.ryanc.halo.web.controller.content.base.BaseContentController;
+import run.halo.app.model.entity.Category;
+import run.halo.app.service.CategoryService;
+import run.halo.app.service.PostService;
+import run.halo.app.web.controller.content.base.BaseContentController;
 import org.springframework.data.domain.Sort;
 import org.springframework.data.web.SortDefault;
 import org.springframework.stereotype.Controller;
@@ -11,6 +11,10 @@ import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
+import run.halo.app.model.entity.Category;
+import run.halo.app.service.CategoryService;
+import run.halo.app.service.PostService;
+import run.halo.app.web.controller.content.base.BaseContentController;
 
 import java.util.List;
 
diff --git a/src/main/java/cc/ryanc/halo/web/controller/content/ContentFeedController.java b/src/main/java/run/halo/app/web/controller/content/ContentFeedController.java
similarity index 92%
rename from src/main/java/cc/ryanc/halo/web/controller/content/ContentFeedController.java
rename to src/main/java/run/halo/app/web/controller/content/ContentFeedController.java
index 58ab2da91..fe9430987 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/content/ContentFeedController.java
+++ b/src/main/java/run/halo/app/web/controller/content/ContentFeedController.java
@@ -1,10 +1,10 @@
-package cc.ryanc.halo.web.controller.content;
+package run.halo.app.web.controller.content;
 
-import cc.ryanc.halo.model.entity.Post;
-import cc.ryanc.halo.model.enums.PostStatus;
-import cc.ryanc.halo.model.enums.PostType;
-import cc.ryanc.halo.service.OptionService;
-import cc.ryanc.halo.service.PostService;
+import run.halo.app.model.entity.Post;
+import run.halo.app.model.enums.PostStatus;
+import run.halo.app.model.enums.PostType;
+import run.halo.app.service.OptionService;
+import run.halo.app.service.PostService;
 import cn.hutool.core.util.StrUtil;
 import freemarker.template.Template;
 import freemarker.template.TemplateException;
@@ -18,6 +18,9 @@ import org.springframework.ui.freemarker.FreeMarkerTemplateUtils;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer;
+import run.halo.app.model.entity.Post;
+import run.halo.app.model.enums.PostStatus;
+import run.halo.app.service.PostService;
 
 import java.io.IOException;
 import java.util.List;
diff --git a/src/main/java/cc/ryanc/halo/web/controller/content/ContentIndexController.java b/src/main/java/run/halo/app/web/controller/content/ContentIndexController.java
similarity index 82%
rename from src/main/java/cc/ryanc/halo/web/controller/content/ContentIndexController.java
rename to src/main/java/run/halo/app/web/controller/content/ContentIndexController.java
index 0ebedcde0..abe42de4c 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/content/ContentIndexController.java
+++ b/src/main/java/run/halo/app/web/controller/content/ContentIndexController.java
@@ -1,11 +1,11 @@
-package cc.ryanc.halo.web.controller.content;
+package run.halo.app.web.controller.content;
 
-import cc.ryanc.halo.model.enums.PostStatus;
-import cc.ryanc.halo.model.enums.PostType;
-import cc.ryanc.halo.model.vo.PostListVO;
-import cc.ryanc.halo.service.OptionService;
-import cc.ryanc.halo.service.PostService;
-import cc.ryanc.halo.web.controller.content.base.BaseContentController;
+import run.halo.app.model.enums.PostStatus;
+import run.halo.app.model.enums.PostType;
+import run.halo.app.model.vo.PostListVO;
+import run.halo.app.service.OptionService;
+import run.halo.app.service.PostService;
+import run.halo.app.web.controller.content.base.BaseContentController;
 import cn.hutool.core.util.PageUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.data.domain.Page;
@@ -18,6 +18,10 @@ import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
+import run.halo.app.model.enums.PostStatus;
+import run.halo.app.model.vo.PostListVO;
+import run.halo.app.service.PostService;
+import run.halo.app.web.controller.content.base.BaseContentController;
 
 import static org.springframework.data.domain.Sort.Direction.DESC;
 
diff --git a/src/main/java/cc/ryanc/halo/web/controller/content/ContentPageController.java b/src/main/java/run/halo/app/web/controller/content/ContentPageController.java
similarity index 80%
rename from src/main/java/cc/ryanc/halo/web/controller/content/ContentPageController.java
rename to src/main/java/run/halo/app/web/controller/content/ContentPageController.java
index f7cd41f22..179604d1a 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/content/ContentPageController.java
+++ b/src/main/java/run/halo/app/web/controller/content/ContentPageController.java
@@ -1,19 +1,27 @@
-package cc.ryanc.halo.web.controller.content;
+package run.halo.app.web.controller.content;
 
-import cc.ryanc.halo.model.entity.Comment;
-import cc.ryanc.halo.model.entity.Gallery;
-import cc.ryanc.halo.model.entity.Post;
-import cc.ryanc.halo.model.enums.PostStatus;
-import cc.ryanc.halo.model.enums.PostType;
-import cc.ryanc.halo.service.CommentService;
-import cc.ryanc.halo.service.GalleryService;
-import cc.ryanc.halo.service.PostService;
-import cc.ryanc.halo.web.controller.content.base.BaseContentController;
+import run.halo.app.model.entity.Comment;
+import run.halo.app.model.entity.Gallery;
+import run.halo.app.model.entity.Post;
+import run.halo.app.model.enums.PostStatus;
+import run.halo.app.model.enums.PostType;
+import run.halo.app.service.CommentService;
+import run.halo.app.service.GalleryService;
+import run.halo.app.service.PostService;
+import run.halo.app.web.controller.content.base.BaseContentController;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestParam;
+import run.halo.app.model.entity.Comment;
+import run.halo.app.model.entity.Gallery;
+import run.halo.app.model.entity.Post;
+import run.halo.app.model.enums.PostStatus;
+import run.halo.app.service.CommentService;
+import run.halo.app.service.GalleryService;
+import run.halo.app.service.PostService;
+import run.halo.app.web.controller.content.base.BaseContentController;
 
 import java.util.List;
 
diff --git a/src/main/java/cc/ryanc/halo/web/controller/content/ContentTagController.java b/src/main/java/run/halo/app/web/controller/content/ContentTagController.java
similarity index 84%
rename from src/main/java/cc/ryanc/halo/web/controller/content/ContentTagController.java
rename to src/main/java/run/halo/app/web/controller/content/ContentTagController.java
index bf10608cb..f7580d9d4 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/content/ContentTagController.java
+++ b/src/main/java/run/halo/app/web/controller/content/ContentTagController.java
@@ -1,11 +1,11 @@
-package cc.ryanc.halo.web.controller.content;
+package run.halo.app.web.controller.content;
 
-import cc.ryanc.halo.model.entity.Tag;
-import cc.ryanc.halo.model.vo.PostListVO;
-import cc.ryanc.halo.service.OptionService;
-import cc.ryanc.halo.service.PostService;
-import cc.ryanc.halo.service.TagService;
-import cc.ryanc.halo.web.controller.content.base.BaseContentController;
+import run.halo.app.model.entity.Tag;
+import run.halo.app.model.vo.PostListVO;
+import run.halo.app.service.OptionService;
+import run.halo.app.service.PostService;
+import run.halo.app.service.TagService;
+import run.halo.app.web.controller.content.base.BaseContentController;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.Pageable;
@@ -16,6 +16,11 @@ import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
+import run.halo.app.model.entity.Tag;
+import run.halo.app.model.vo.PostListVO;
+import run.halo.app.service.PostService;
+import run.halo.app.service.TagService;
+import run.halo.app.web.controller.content.base.BaseContentController;
 
 import static org.springframework.data.domain.Sort.Direction.DESC;
 
diff --git a/src/main/java/cc/ryanc/halo/web/controller/content/api/.gitkeep b/src/main/java/run/halo/app/web/controller/content/api/.gitkeep
similarity index 100%
rename from src/main/java/cc/ryanc/halo/web/controller/content/api/.gitkeep
rename to src/main/java/run/halo/app/web/controller/content/api/.gitkeep
diff --git a/src/main/java/cc/ryanc/halo/web/controller/content/base/BaseContentController.java b/src/main/java/run/halo/app/web/controller/content/base/BaseContentController.java
similarity index 84%
rename from src/main/java/cc/ryanc/halo/web/controller/content/base/BaseContentController.java
rename to src/main/java/run/halo/app/web/controller/content/base/BaseContentController.java
index 0528983a9..e3b571249 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/content/base/BaseContentController.java
+++ b/src/main/java/run/halo/app/web/controller/content/base/BaseContentController.java
@@ -1,8 +1,8 @@
-package cc.ryanc.halo.web.controller.content.base;
+package run.halo.app.web.controller.content.base;
 
 import cn.hutool.core.text.StrBuilder;
 
-import static cc.ryanc.halo.model.support.HaloConst.ACTIVATED_THEME_NAME;
+import static run.halo.app.model.support.HaloConst.ACTIVATED_THEME_NAME;
 
 /**
  * Content base Controller
diff --git a/src/main/java/cc/ryanc/halo/web/controller/core/CommonController.java b/src/main/java/run/halo/app/web/controller/core/CommonController.java
similarity index 93%
rename from src/main/java/cc/ryanc/halo/web/controller/core/CommonController.java
rename to src/main/java/run/halo/app/web/controller/core/CommonController.java
index af4795abf..c75465cd1 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/core/CommonController.java
+++ b/src/main/java/run/halo/app/web/controller/core/CommonController.java
@@ -1,8 +1,8 @@
-package cc.ryanc.halo.web.controller.core;
+package run.halo.app.web.controller.core;
 
-import cc.ryanc.halo.model.entity.User;
-import cc.ryanc.halo.model.support.HaloConst;
-import cc.ryanc.halo.service.ThemeService;
+import run.halo.app.model.entity.User;
+import run.halo.app.model.support.HaloConst;
+import run.halo.app.service.ThemeService;
 import cn.hutool.core.text.StrBuilder;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -10,6 +10,8 @@ import org.springframework.boot.web.servlet.error.ErrorController;
 import org.springframework.stereotype.Controller;
 import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.GetMapping;
+import run.halo.app.model.entity.User;
+import run.halo.app.service.ThemeService;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpSession;
diff --git a/src/main/java/cc/ryanc/halo/web/controller/core/InstallController.java b/src/main/java/run/halo/app/web/controller/core/InstallController.java
similarity index 92%
rename from src/main/java/cc/ryanc/halo/web/controller/core/InstallController.java
rename to src/main/java/run/halo/app/web/controller/core/InstallController.java
index 58aae5434..2122f8f06 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/core/InstallController.java
+++ b/src/main/java/run/halo/app/web/controller/core/InstallController.java
@@ -1,13 +1,5 @@
-package cc.ryanc.halo.web.controller.core;
+package run.halo.app.web.controller.core;
 
-import cc.ryanc.halo.exception.BadRequestException;
-import cc.ryanc.halo.model.entity.*;
-import cc.ryanc.halo.model.enums.AttachmentType;
-import cc.ryanc.halo.model.enums.OptionSource;
-import cc.ryanc.halo.model.params.InstallParam;
-import cc.ryanc.halo.model.properties.*;
-import cc.ryanc.halo.model.support.BaseResponse;
-import cc.ryanc.halo.service.*;
 import cn.hutool.core.util.StrUtil;
 import freemarker.template.Configuration;
 import lombok.extern.slf4j.Slf4j;
@@ -17,12 +9,20 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
+import run.halo.app.exception.BadRequestException;
+import run.halo.app.model.entity.*;
+import run.halo.app.model.enums.AttachmentType;
+import run.halo.app.model.enums.OptionSource;
+import run.halo.app.model.params.InstallParam;
+import run.halo.app.model.properties.*;
+import run.halo.app.model.support.BaseResponse;
+import run.halo.app.service.*;
 
 import javax.validation.Valid;
 import java.util.HashMap;
 import java.util.Map;
 
-import static cc.ryanc.halo.model.support.HaloConst.DEFAULT_THEME_NAME;
+import static run.halo.app.model.support.HaloConst.DEFAULT_THEME_NAME;
 
 /**
  * Installation controller.
diff --git a/src/main/java/cc/ryanc/halo/web/controller/portal/api/ArchiveController.java b/src/main/java/run/halo/app/web/controller/portal/api/ArchiveController.java
similarity index 81%
rename from src/main/java/cc/ryanc/halo/web/controller/portal/api/ArchiveController.java
rename to src/main/java/run/halo/app/web/controller/portal/api/ArchiveController.java
index 73c85e3bb..6432234e0 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/portal/api/ArchiveController.java
+++ b/src/main/java/run/halo/app/web/controller/portal/api/ArchiveController.java
@@ -1,8 +1,8 @@
-package cc.ryanc.halo.web.controller.portal.api;
+package run.halo.app.web.controller.portal.api;
 
-import cc.ryanc.halo.model.vo.ArchiveMonthVO;
-import cc.ryanc.halo.model.vo.ArchiveYearVO;
-import cc.ryanc.halo.service.PostService;
+import run.halo.app.model.vo.ArchiveMonthVO;
+import run.halo.app.model.vo.ArchiveYearVO;
+import run.halo.app.service.PostService;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
diff --git a/src/main/java/cc/ryanc/halo/web/controller/portal/api/CommentController.java b/src/main/java/run/halo/app/web/controller/portal/api/CommentController.java
similarity index 79%
rename from src/main/java/cc/ryanc/halo/web/controller/portal/api/CommentController.java
rename to src/main/java/run/halo/app/web/controller/portal/api/CommentController.java
index fd21105a0..12196ede0 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/portal/api/CommentController.java
+++ b/src/main/java/run/halo/app/web/controller/portal/api/CommentController.java
@@ -1,15 +1,15 @@
-package cc.ryanc.halo.web.controller.portal.api;
+package run.halo.app.web.controller.portal.api;
 
-import cc.ryanc.halo.model.dto.CommentOutputDTO;
-import cc.ryanc.halo.model.entity.User;
-import cc.ryanc.halo.model.params.CommentParam;
-import cc.ryanc.halo.model.properties.BlogProperties;
-import cc.ryanc.halo.security.authentication.Authentication;
-import cc.ryanc.halo.security.context.SecurityContextHolder;
-import cc.ryanc.halo.service.CommentService;
-import cc.ryanc.halo.service.OptionService;
-import cc.ryanc.halo.service.PostService;
-import cc.ryanc.halo.utils.ValidationUtils;
+import run.halo.app.model.dto.CommentOutputDTO;
+import run.halo.app.model.entity.User;
+import run.halo.app.model.params.CommentParam;
+import run.halo.app.model.properties.BlogProperties;
+import run.halo.app.security.authentication.Authentication;
+import run.halo.app.security.context.SecurityContextHolder;
+import run.halo.app.service.CommentService;
+import run.halo.app.service.OptionService;
+import run.halo.app.service.PostService;
+import run.halo.app.utils.ValidationUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
diff --git a/src/main/java/cc/ryanc/halo/web/controller/portal/api/LinkController.java b/src/main/java/run/halo/app/web/controller/portal/api/LinkController.java
similarity index 77%
rename from src/main/java/cc/ryanc/halo/web/controller/portal/api/LinkController.java
rename to src/main/java/run/halo/app/web/controller/portal/api/LinkController.java
index 811296dfa..1e9b41d9f 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/portal/api/LinkController.java
+++ b/src/main/java/run/halo/app/web/controller/portal/api/LinkController.java
@@ -1,11 +1,13 @@
-package cc.ryanc.halo.web.controller.portal.api;
+package run.halo.app.web.controller.portal.api;
 
-import cc.ryanc.halo.model.vo.LinkTeamVO;
-import cc.ryanc.halo.service.LinkService;
+import run.halo.app.model.vo.LinkTeamVO;
+import run.halo.app.service.LinkService;
 import org.springframework.data.domain.Sort;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import run.halo.app.model.vo.LinkTeamVO;
+import run.halo.app.service.LinkService;
 
 import java.util.List;
 
diff --git a/src/main/java/cc/ryanc/halo/web/controller/portal/api/MenuController.java b/src/main/java/run/halo/app/web/controller/portal/api/MenuController.java
similarity index 84%
rename from src/main/java/cc/ryanc/halo/web/controller/portal/api/MenuController.java
rename to src/main/java/run/halo/app/web/controller/portal/api/MenuController.java
index 472e80268..c20edd94c 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/portal/api/MenuController.java
+++ b/src/main/java/run/halo/app/web/controller/portal/api/MenuController.java
@@ -1,13 +1,14 @@
-package cc.ryanc.halo.web.controller.portal.api;
+package run.halo.app.web.controller.portal.api;
 
-import cc.ryanc.halo.model.dto.MenuOutputDTO;
-import cc.ryanc.halo.service.MenuService;
+import run.halo.app.model.dto.MenuOutputDTO;
+import run.halo.app.service.MenuService;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.data.domain.Sort;
 import org.springframework.data.web.SortDefault;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import run.halo.app.service.MenuService;
 
 import java.util.List;
 
diff --git a/src/main/java/cc/ryanc/halo/web/controller/portal/api/OptionController.java b/src/main/java/run/halo/app/web/controller/portal/api/OptionController.java
similarity index 87%
rename from src/main/java/cc/ryanc/halo/web/controller/portal/api/OptionController.java
rename to src/main/java/run/halo/app/web/controller/portal/api/OptionController.java
index 7a2a2cd1a..236fee73f 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/portal/api/OptionController.java
+++ b/src/main/java/run/halo/app/web/controller/portal/api/OptionController.java
@@ -1,8 +1,8 @@
-package cc.ryanc.halo.web.controller.portal.api;
+package run.halo.app.web.controller.portal.api;
 
-import cc.ryanc.halo.model.dto.OptionOutputDTO;
-import cc.ryanc.halo.model.support.BaseResponse;
-import cc.ryanc.halo.service.OptionService;
+import run.halo.app.model.dto.OptionOutputDTO;
+import run.halo.app.model.support.BaseResponse;
+import run.halo.app.service.OptionService;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.GetMapping;
diff --git a/src/main/java/cc/ryanc/halo/web/controller/portal/api/PostController.java b/src/main/java/run/halo/app/web/controller/portal/api/PostController.java
similarity index 80%
rename from src/main/java/cc/ryanc/halo/web/controller/portal/api/PostController.java
rename to src/main/java/run/halo/app/web/controller/portal/api/PostController.java
index 0523e74e3..bf35303d2 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/portal/api/PostController.java
+++ b/src/main/java/run/halo/app/web/controller/portal/api/PostController.java
@@ -1,13 +1,13 @@
-package cc.ryanc.halo.web.controller.portal.api;
+package run.halo.app.web.controller.portal.api;
 
-import cc.ryanc.halo.model.dto.post.PostDetailOutputDTO;
-import cc.ryanc.halo.model.dto.post.PostSimpleOutputDTO;
-import cc.ryanc.halo.model.enums.PostStatus;
-import cc.ryanc.halo.model.vo.CommentVO;
-import cc.ryanc.halo.model.vo.CommentWithParentVO;
-import cc.ryanc.halo.service.CommentService;
-import cc.ryanc.halo.service.OptionService;
-import cc.ryanc.halo.service.PostService;
+import run.halo.app.model.dto.post.PostDetailOutputDTO;
+import run.halo.app.model.dto.post.PostSimpleOutputDTO;
+import run.halo.app.model.enums.PostStatus;
+import run.halo.app.model.vo.CommentVO;
+import run.halo.app.model.vo.CommentWithParentVO;
+import run.halo.app.service.CommentService;
+import run.halo.app.service.OptionService;
+import run.halo.app.service.PostService;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
@@ -16,6 +16,14 @@ import org.springframework.data.domain.Sort;
 import org.springframework.data.web.PageableDefault;
 import org.springframework.data.web.SortDefault;
 import org.springframework.web.bind.annotation.*;
+import run.halo.app.model.dto.post.PostDetailOutputDTO;
+import run.halo.app.model.dto.post.PostSimpleOutputDTO;
+import run.halo.app.model.enums.PostStatus;
+import run.halo.app.model.vo.CommentVO;
+import run.halo.app.model.vo.CommentWithParentVO;
+import run.halo.app.service.CommentService;
+import run.halo.app.service.OptionService;
+import run.halo.app.service.PostService;
 
 import static org.springframework.data.domain.Sort.Direction.DESC;
 
diff --git a/src/main/java/cc/ryanc/halo/web/controller/portal/api/TagController.java b/src/main/java/run/halo/app/web/controller/portal/api/TagController.java
similarity index 80%
rename from src/main/java/cc/ryanc/halo/web/controller/portal/api/TagController.java
rename to src/main/java/run/halo/app/web/controller/portal/api/TagController.java
index d4e10be91..cf90a12f2 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/portal/api/TagController.java
+++ b/src/main/java/run/halo/app/web/controller/portal/api/TagController.java
@@ -1,10 +1,10 @@
-package cc.ryanc.halo.web.controller.portal.api;
+package run.halo.app.web.controller.portal.api;
 
-import cc.ryanc.halo.model.dto.TagOutputDTO;
-import cc.ryanc.halo.model.dto.post.PostSimpleOutputDTO;
-import cc.ryanc.halo.model.entity.Tag;
-import cc.ryanc.halo.service.PostTagService;
-import cc.ryanc.halo.service.TagService;
+import run.halo.app.model.dto.TagOutputDTO;
+import run.halo.app.model.dto.post.PostSimpleOutputDTO;
+import run.halo.app.model.entity.Tag;
+import run.halo.app.service.PostTagService;
+import run.halo.app.service.TagService;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import org.springframework.data.domain.Page;
@@ -13,6 +13,11 @@ import org.springframework.data.domain.Sort;
 import org.springframework.data.web.PageableDefault;
 import org.springframework.data.web.SortDefault;
 import org.springframework.web.bind.annotation.*;
+import run.halo.app.model.dto.TagOutputDTO;
+import run.halo.app.model.dto.post.PostSimpleOutputDTO;
+import run.halo.app.model.entity.Tag;
+import run.halo.app.service.PostTagService;
+import run.halo.app.service.TagService;
 
 import java.util.List;
 
diff --git a/src/main/java/cc/ryanc/halo/web/controller/portal/api/UserController.java b/src/main/java/run/halo/app/web/controller/portal/api/UserController.java
similarity index 85%
rename from src/main/java/cc/ryanc/halo/web/controller/portal/api/UserController.java
rename to src/main/java/run/halo/app/web/controller/portal/api/UserController.java
index b6e8e611b..dd43c53dc 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/portal/api/UserController.java
+++ b/src/main/java/run/halo/app/web/controller/portal/api/UserController.java
@@ -1,7 +1,7 @@
-package cc.ryanc.halo.web.controller.portal.api;
+package run.halo.app.web.controller.portal.api;
 
-import cc.ryanc.halo.model.dto.UserOutputDTO;
-import cc.ryanc.halo.service.UserService;
+import run.halo.app.model.dto.UserOutputDTO;
+import run.halo.app.service.UserService;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
diff --git a/src/main/java/cc/ryanc/halo/web/controller/support/PageJacksonSerializer.java b/src/main/java/run/halo/app/web/controller/support/PageJacksonSerializer.java
similarity index 91%
rename from src/main/java/cc/ryanc/halo/web/controller/support/PageJacksonSerializer.java
rename to src/main/java/run/halo/app/web/controller/support/PageJacksonSerializer.java
index 23b43b2c3..f7da467a4 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/support/PageJacksonSerializer.java
+++ b/src/main/java/run/halo/app/web/controller/support/PageJacksonSerializer.java
@@ -1,10 +1,11 @@
-package cc.ryanc.halo.web.controller.support;
+package run.halo.app.web.controller.support;
 
-import cc.ryanc.halo.model.support.CommentPage;
+import run.halo.app.model.support.CommentPage;
 import com.fasterxml.jackson.core.JsonGenerator;
 import com.fasterxml.jackson.databind.JsonSerializer;
 import com.fasterxml.jackson.databind.SerializerProvider;
 import org.springframework.data.domain.Page;
+import run.halo.app.model.support.CommentPage;
 
 import java.io.IOException;
 
diff --git a/src/main/resources/application-dev.yaml b/src/main/resources/application-dev.yaml
index f6e6292cb..52b3dea88 100755
--- a/src/main/resources/application-dev.yaml
+++ b/src/main/resources/application-dev.yaml
@@ -17,16 +17,16 @@ spring:
     type: com.zaxxer.hikari.HikariDataSource
 
     # H2database 配置
-    driver-class-name: org.h2.Driver
-    url: jdbc:h2:file:~/halo-dev/db/halo
-    username: admin
-    password: 123456
+#    driver-class-name: org.h2.Driver
+#    url: jdbc:h2:file:~/halo-dev/db/halo
+#    username: admin
+#    password: 123456
 
     #MySql配置
-#    driver-class-name: com.mysql.cj.jdbc.Driver
-#    url: jdbc:mysql://127.0.0.1:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
-#    username: root
-#    password: 123456
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    url: jdbc:mysql://127.0.0.1:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
+    username: root
+    password: 123456
 
   h2:
     console:
@@ -47,7 +47,7 @@ spring:
     type: none
 logging:
   level:
-    cc.ryanc.halo: DEBUG
+    run.halo.app: DEBUG
     org.hibernate: ERROR
   file: ./logs/log.log
 
diff --git a/src/main/resources/application-test.yaml b/src/main/resources/application-test.yaml
index 1136fb442..3ed387865 100755
--- a/src/main/resources/application-test.yaml
+++ b/src/main/resources/application-test.yaml
@@ -47,7 +47,7 @@ spring:
     type: none
 logging:
   level:
-    cc.ryanc.halo: DEBUG
+    run.halo.app: DEBUG
     org.hibernate: ERROR
   file: ./logs/log.log
 
diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml
index 9f3451383..843515be0 100755
--- a/src/main/resources/application.yaml
+++ b/src/main/resources/application.yaml
@@ -46,5 +46,5 @@ spring:
       max-request-size: 10MB
 logging:
   level:
-    cc.ryanc.halo: INFO
+    run.halo.app: INFO
   file: ./logs/log.log
diff --git a/src/test/java/cc/ryanc/halo/cache/InMemoryCacheStoreTest.java b/src/test/java/run/halo/app/cache/InMemoryCacheStoreTest.java
similarity index 98%
rename from src/test/java/cc/ryanc/halo/cache/InMemoryCacheStoreTest.java
rename to src/test/java/run/halo/app/cache/InMemoryCacheStoreTest.java
index e1f7900ac..5b0d2234f 100644
--- a/src/test/java/cc/ryanc/halo/cache/InMemoryCacheStoreTest.java
+++ b/src/test/java/run/halo/app/cache/InMemoryCacheStoreTest.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.cache;
+package run.halo.app.cache;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/src/test/java/cc/ryanc/halo/model/MediaTypeTest.java b/src/test/java/run/halo/app/model/MediaTypeTest.java
similarity index 97%
rename from src/test/java/cc/ryanc/halo/model/MediaTypeTest.java
rename to src/test/java/run/halo/app/model/MediaTypeTest.java
index 323d1224d..8f04cadfe 100644
--- a/src/test/java/cc/ryanc/halo/model/MediaTypeTest.java
+++ b/src/test/java/run/halo/app/model/MediaTypeTest.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.model;
+package run.halo.app.model;
 
 import org.junit.Test;
 import org.springframework.http.MediaType;
diff --git a/src/test/java/cc/ryanc/halo/model/dto/base/InputConverterTest.java b/src/test/java/run/halo/app/model/dto/base/InputConverterTest.java
similarity index 97%
rename from src/test/java/cc/ryanc/halo/model/dto/base/InputConverterTest.java
rename to src/test/java/run/halo/app/model/dto/base/InputConverterTest.java
index 88a9ad07b..9644c101a 100644
--- a/src/test/java/cc/ryanc/halo/model/dto/base/InputConverterTest.java
+++ b/src/test/java/run/halo/app/model/dto/base/InputConverterTest.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.model.dto.base;
+package run.halo.app.model.dto.base;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -71,4 +71,4 @@ public class InputConverterTest {
 
         private Integer age;
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/java/cc/ryanc/halo/model/dto/base/OutputConverterTest.java b/src/test/java/run/halo/app/model/dto/base/OutputConverterTest.java
similarity index 97%
rename from src/test/java/cc/ryanc/halo/model/dto/base/OutputConverterTest.java
rename to src/test/java/run/halo/app/model/dto/base/OutputConverterTest.java
index 813ddb990..fb01c4ba3 100644
--- a/src/test/java/cc/ryanc/halo/model/dto/base/OutputConverterTest.java
+++ b/src/test/java/run/halo/app/model/dto/base/OutputConverterTest.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.model.dto.base;
+package run.halo.app.model.dto.base;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -58,4 +58,4 @@ public class OutputConverterTest {
     public static class SubTestOutputDTO extends TestOutputDTO {
         private Integer age;
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/java/cc/ryanc/halo/model/enums/AttachmentTypeTest.java b/src/test/java/run/halo/app/model/enums/AttachmentTypeTest.java
similarity index 96%
rename from src/test/java/cc/ryanc/halo/model/enums/AttachmentTypeTest.java
rename to src/test/java/run/halo/app/model/enums/AttachmentTypeTest.java
index bd701b928..0d43bd8ed 100644
--- a/src/test/java/cc/ryanc/halo/model/enums/AttachmentTypeTest.java
+++ b/src/test/java/run/halo/app/model/enums/AttachmentTypeTest.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.model.enums;
+package run.halo.app.model.enums;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -29,4 +29,4 @@ public class AttachmentTypeTest {
         assertThat(conversionService.convert("Local", AttachmentType.class), equalTo(AttachmentType.LOCAL));
         assertThat(conversionService.convert("LoCal", AttachmentType.class), equalTo(AttachmentType.LOCAL));
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/java/cc/ryanc/halo/repository/PageRepositoryTest.java b/src/test/java/run/halo/app/repository/PageRepositoryTest.java
similarity index 90%
rename from src/test/java/cc/ryanc/halo/repository/PageRepositoryTest.java
rename to src/test/java/run/halo/app/repository/PageRepositoryTest.java
index 28488a41b..a7868f6e8 100644
--- a/src/test/java/cc/ryanc/halo/repository/PageRepositoryTest.java
+++ b/src/test/java/run/halo/app/repository/PageRepositoryTest.java
@@ -1,6 +1,6 @@
-package cc.ryanc.halo.repository;
+package run.halo.app.repository;
 
-import cc.ryanc.halo.model.entity.Page;
+import run.halo.app.model.entity.Page;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,4 +29,4 @@ public class PageRepositoryTest {
         List allPages = pageRepository.findAll();
         System.out.println(allPages);
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/java/cc/ryanc/halo/service/impl/OptionServiceImplTest.java b/src/test/java/run/halo/app/service/impl/OptionServiceImplTest.java
similarity index 92%
rename from src/test/java/cc/ryanc/halo/service/impl/OptionServiceImplTest.java
rename to src/test/java/run/halo/app/service/impl/OptionServiceImplTest.java
index 47400c43b..4b79ee0f0 100644
--- a/src/test/java/cc/ryanc/halo/service/impl/OptionServiceImplTest.java
+++ b/src/test/java/run/halo/app/service/impl/OptionServiceImplTest.java
@@ -1,8 +1,8 @@
-package cc.ryanc.halo.service.impl;
+package run.halo.app.service.impl;
 
-import cc.ryanc.halo.model.entity.Option;
-import cc.ryanc.halo.model.properties.QnYunProperties;
-import cc.ryanc.halo.repository.OptionRepository;
+import run.halo.app.model.entity.Option;
+import run.halo.app.model.properties.QnYunProperties;
+import run.halo.app.repository.OptionRepository;
 import com.qiniu.common.Zone;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -87,4 +87,4 @@ public class OptionServiceImplTest {
         assertNotNull(zone);
         assertThat(zone.getRegion(), equalTo(actualZone.getRegion()));
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/java/cc/ryanc/halo/utils/BcryptTest.java b/src/test/java/run/halo/app/utils/BcryptTest.java
similarity index 92%
rename from src/test/java/cc/ryanc/halo/utils/BcryptTest.java
rename to src/test/java/run/halo/app/utils/BcryptTest.java
index b11954ccf..fec06895a 100644
--- a/src/test/java/cc/ryanc/halo/utils/BcryptTest.java
+++ b/src/test/java/run/halo/app/utils/BcryptTest.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.utils;
+package run.halo.app.utils;
 
 import cn.hutool.crypto.digest.BCrypt;
 import org.junit.Test;
diff --git a/src/test/java/cc/ryanc/halo/utils/BeanUtilsTest.java b/src/test/java/run/halo/app/utils/BeanUtilsTest.java
similarity index 98%
rename from src/test/java/cc/ryanc/halo/utils/BeanUtilsTest.java
rename to src/test/java/run/halo/app/utils/BeanUtilsTest.java
index 8ce6aa9c5..4c9c1248a 100644
--- a/src/test/java/cc/ryanc/halo/utils/BeanUtilsTest.java
+++ b/src/test/java/run/halo/app/utils/BeanUtilsTest.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.utils;
+package run.halo.app.utils;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -111,4 +111,4 @@ public class BeanUtilsTest {
     static class TestE {
         private TestA a;
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/java/cc/ryanc/halo/utils/DemoUtilTest.java b/src/test/java/run/halo/app/utils/DemoUtilTest.java
similarity index 90%
rename from src/test/java/cc/ryanc/halo/utils/DemoUtilTest.java
rename to src/test/java/run/halo/app/utils/DemoUtilTest.java
index 29a7b46d7..67135607b 100644
--- a/src/test/java/cc/ryanc/halo/utils/DemoUtilTest.java
+++ b/src/test/java/run/halo/app/utils/DemoUtilTest.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.utils;
+package run.halo.app.utils;
 
 import org.junit.Test;
 
@@ -14,4 +14,4 @@ public class DemoUtilTest {
     public void testZip(){
         //ZipUtils.unZip("/Users/ryan0up/Desktop/adminlog.html.zip","/Users/ryan0up/Desktop/");
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/java/cc/ryanc/halo/utils/FilenameUtilsTest.java b/src/test/java/run/halo/app/utils/FilenameUtilsTest.java
similarity index 97%
rename from src/test/java/cc/ryanc/halo/utils/FilenameUtilsTest.java
rename to src/test/java/run/halo/app/utils/FilenameUtilsTest.java
index e64d026e5..4e1190e7f 100644
--- a/src/test/java/cc/ryanc/halo/utils/FilenameUtilsTest.java
+++ b/src/test/java/run/halo/app/utils/FilenameUtilsTest.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.utils;
+package run.halo.app.utils;
 
 import org.junit.Test;
 
@@ -37,4 +37,4 @@ public class FilenameUtilsTest {
         assertThat(FilenameUtils.getExtension("a/b/c"), equalTo(""));
         assertThat(FilenameUtils.getExtension("a/b/c/"), equalTo(""));
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/java/cc/ryanc/halo/utils/HaloUtilsTest.java b/src/test/java/run/halo/app/utils/HaloUtilsTest.java
similarity index 98%
rename from src/test/java/cc/ryanc/halo/utils/HaloUtilsTest.java
rename to src/test/java/run/halo/app/utils/HaloUtilsTest.java
index 27e7e1143..7d207211e 100644
--- a/src/test/java/cc/ryanc/halo/utils/HaloUtilsTest.java
+++ b/src/test/java/run/halo/app/utils/HaloUtilsTest.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.utils;
+package run.halo.app.utils;
 
 import org.apache.commons.lang3.RandomUtils;
 import org.junit.Test;
@@ -92,4 +92,4 @@ public class HaloUtilsTest {
     public void pluralizeLabelExceptionTest() {
         HaloUtils.pluralize(1, null, null);
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/java/cc/ryanc/halo/utils/InetAddressTest.java b/src/test/java/run/halo/app/utils/InetAddressTest.java
similarity index 94%
rename from src/test/java/cc/ryanc/halo/utils/InetAddressTest.java
rename to src/test/java/run/halo/app/utils/InetAddressTest.java
index b989d3dcb..cd79dba74 100644
--- a/src/test/java/cc/ryanc/halo/utils/InetAddressTest.java
+++ b/src/test/java/run/halo/app/utils/InetAddressTest.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.utils;
+package run.halo.app.utils;
 
 import org.junit.Test;
 
diff --git a/src/test/java/cc/ryanc/halo/utils/PathsTest.java b/src/test/java/run/halo/app/utils/PathsTest.java
similarity index 94%
rename from src/test/java/cc/ryanc/halo/utils/PathsTest.java
rename to src/test/java/run/halo/app/utils/PathsTest.java
index ba9adb5ce..7173d2b83 100644
--- a/src/test/java/cc/ryanc/halo/utils/PathsTest.java
+++ b/src/test/java/run/halo/app/utils/PathsTest.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.utils;
+package run.halo.app.utils;
 
 import org.junit.Test;
 
diff --git a/src/test/java/cc/ryanc/halo/utils/SlugUtilsTest.java b/src/test/java/run/halo/app/utils/SlugUtilsTest.java
similarity index 92%
rename from src/test/java/cc/ryanc/halo/utils/SlugUtilsTest.java
rename to src/test/java/run/halo/app/utils/SlugUtilsTest.java
index 839f297d7..f4d0ba9c2 100644
--- a/src/test/java/cc/ryanc/halo/utils/SlugUtilsTest.java
+++ b/src/test/java/run/halo/app/utils/SlugUtilsTest.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.utils;
+package run.halo.app.utils;
 
 import org.junit.Assert;
 import org.junit.Test;
@@ -18,4 +18,4 @@ public class SlugUtilsTest {
 
         Assert.assertThat(slugResult, equalTo("hello-world"));
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/java/cc/ryanc/halo/utils/URITest.java b/src/test/java/run/halo/app/utils/URITest.java
similarity index 92%
rename from src/test/java/cc/ryanc/halo/utils/URITest.java
rename to src/test/java/run/halo/app/utils/URITest.java
index 90bc66890..76509a470 100644
--- a/src/test/java/cc/ryanc/halo/utils/URITest.java
+++ b/src/test/java/run/halo/app/utils/URITest.java
@@ -1,4 +1,4 @@
-package cc.ryanc.halo.utils;
+package run.halo.app.utils;
 
 import org.junit.Test;