diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/PositionServiceApi.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/PositionServiceApi.java new file mode 100644 index 000000000..daba48edb --- /dev/null +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/PositionServiceApi.java @@ -0,0 +1,19 @@ +package cn.stylefeng.roses.kernel.sys.api; + +/** + * 职位相关的业务api + * + * @author fengshuonan + * @since 2023/7/15 21:59 + */ +public interface PositionServiceApi { + + /** + * 获取职务的名称 + * + * @author fengshuonan + * @since 2023/6/12 16:38 + */ + String getPositionName(Long positionId); + +} diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/PositionNameFormatProcess.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/PositionNameFormatProcess.java new file mode 100644 index 000000000..7995736d4 --- /dev/null +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/PositionNameFormatProcess.java @@ -0,0 +1,35 @@ +package cn.stylefeng.roses.kernel.sys.api.format; + +import cn.hutool.core.convert.Convert; +import cn.hutool.extra.spring.SpringUtil; +import cn.stylefeng.roses.kernel.rule.format.BaseSimpleFieldFormatProcess; +import cn.stylefeng.roses.kernel.sys.api.PositionServiceApi; + +/** + * 职位名称的格式化 + * + * @author fengshuonan + * @since 2023/7/15 21:58 + */ +public class PositionNameFormatProcess extends BaseSimpleFieldFormatProcess { + + @Override + public Class getItemClass() { + return Long.class; + } + + @Override + public Object simpleItemFormat(Object businessId) { + + if (businessId == null) { + return null; + } + + Long positionId = Convert.toLong(businessId); + + PositionServiceApi positionServiceApi = SpringUtil.getBean(PositionServiceApi.class); + + return positionServiceApi.getPositionName(positionId); + } + +} diff --git a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/position/service/HrPositionService.java b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/position/service/HrPositionService.java index 15e2b5015..0430f4563 100644 --- a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/position/service/HrPositionService.java +++ b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/position/service/HrPositionService.java @@ -1,6 +1,7 @@ package cn.stylefeng.roses.kernel.sys.modular.position.service; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; +import cn.stylefeng.roses.kernel.sys.api.PositionServiceApi; import cn.stylefeng.roses.kernel.sys.modular.position.entity.HrPosition; import cn.stylefeng.roses.kernel.sys.modular.position.pojo.request.HrPositionRequest; import com.baomidou.mybatisplus.extension.service.IService; @@ -13,7 +14,7 @@ import java.util.List; * @author fengshuonan * @date 2023/06/10 21:25 */ -public interface HrPositionService extends IService { +public interface HrPositionService extends IService, PositionServiceApi { /** * 新增 @@ -79,12 +80,4 @@ public interface HrPositionService extends IService { */ PageResult findPage(HrPositionRequest hrPositionRequest); - /** - * 获取职务的名称 - * - * @author fengshuonan - * @since 2023/6/12 16:38 - */ - String getPositionName(Long positionId); - } \ No newline at end of file