diff --git a/biz-module-system-api/src/main/java/cn/ey/biz/module/system/api/serviceline/ServiceLineApi.java b/biz-module-system-api/src/main/java/cn/ey/biz/module/system/api/serviceline/ServiceLineApi.java new file mode 100644 index 0000000..0bd840b --- /dev/null +++ b/biz-module-system-api/src/main/java/cn/ey/biz/module/system/api/serviceline/ServiceLineApi.java @@ -0,0 +1,33 @@ +package cn.ey.biz.module.system.api.serviceline; + +import cn.ey.biz.common.pojo.R; +import cn.ey.biz.module.system.enums.ApiConstants; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import java.util.List; + +/** + * @author zhangjunlong + * @since 2023/10/31 16:23 + */ + +@FeignClient(name = ApiConstants.NAME) +public interface ServiceLineApi { + String PREFIX = ApiConstants.PREFIX + "/service-line-api"; + + /** + * 根据编码获取业务子线的名称 + * + * @param code 编码 + * @return + */ + @GetMapping(PREFIX + "/sub-service-line-name") + R getSubServiceLineName(@RequestParam("code") String code); + +} diff --git a/biz-module-system-srv/src/main/java/cn/ey/biz/module/system/api/serviceline/ServiceLineApiImpl.java b/biz-module-system-srv/src/main/java/cn/ey/biz/module/system/api/serviceline/ServiceLineApiImpl.java new file mode 100644 index 0000000..ab9958e --- /dev/null +++ b/biz-module-system-srv/src/main/java/cn/ey/biz/module/system/api/serviceline/ServiceLineApiImpl.java @@ -0,0 +1,35 @@ +package cn.ey.biz.module.system.api.serviceline; + +import cn.ey.biz.common.pojo.R; +import cn.ey.biz.module.system.dal.dataobject.codeblock.SubServiceLineDO; +import cn.ey.biz.module.system.service.serviceline.ServiceSubLineService; +import lombok.RequiredArgsConstructor; +import org.apache.dubbo.config.annotation.DubboService; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Objects; + +import static cn.ey.biz.module.system.enums.ApiConstants.VERSION; + +/** + * @author zhangjunlong + * @since 2023/10/31 17:16 + */ +@RestController // 提供 RESTful API 接口,给 Feign 调用 +@DubboService(version = VERSION) // 提供 Dubbo RPC 接口,给 Dubbo Consumer 调用 +@RequiredArgsConstructor +public class ServiceLineApiImpl implements ServiceLineApi { + private final ServiceSubLineService serviceSubLineService; + + /** + * 根据编码获取业务子线的名称 + * + * @param code 编码 + * @return + */ + @Override + public R getSubServiceLineName(String code) { + return R.success(serviceSubLineService.getSubServiceLineNameStr(code)); + } +} diff --git a/biz-module-system-srv/src/main/java/cn/ey/biz/module/system/dal/mapper/serviceline/ServiceSubLineMapper.java b/biz-module-system-srv/src/main/java/cn/ey/biz/module/system/dal/mapper/serviceline/ServiceSubLineMapper.java new file mode 100644 index 0000000..8563661 --- /dev/null +++ b/biz-module-system-srv/src/main/java/cn/ey/biz/module/system/dal/mapper/serviceline/ServiceSubLineMapper.java @@ -0,0 +1,13 @@ +package cn.ey.biz.module.system.dal.mapper.serviceline; + +import cn.ey.biz.module.system.dal.dataobject.codeblock.SubServiceLineDO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author zhangjunlong + * @since 2023/10/31 17:11 + */ +@Mapper +public interface ServiceSubLineMapper extends BaseMapper { +} diff --git a/biz-module-system-srv/src/main/java/cn/ey/biz/module/system/service/serviceline/ServiceSubLineService.java b/biz-module-system-srv/src/main/java/cn/ey/biz/module/system/service/serviceline/ServiceSubLineService.java new file mode 100644 index 0000000..6779b04 --- /dev/null +++ b/biz-module-system-srv/src/main/java/cn/ey/biz/module/system/service/serviceline/ServiceSubLineService.java @@ -0,0 +1,12 @@ +package cn.ey.biz.module.system.service.serviceline; + +import cn.ey.biz.module.system.dal.dataobject.codeblock.SubServiceLineDO; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @author zhangjunlong + * @since 2023/10/31 16:31 + */ +public interface ServiceSubLineService extends IService { + String getSubServiceLineNameStr(String code); +} diff --git a/biz-module-system-srv/src/main/java/cn/ey/biz/module/system/service/serviceline/ServiceSubLineServiceImpl.java b/biz-module-system-srv/src/main/java/cn/ey/biz/module/system/service/serviceline/ServiceSubLineServiceImpl.java new file mode 100644 index 0000000..023aacc --- /dev/null +++ b/biz-module-system-srv/src/main/java/cn/ey/biz/module/system/service/serviceline/ServiceSubLineServiceImpl.java @@ -0,0 +1,29 @@ +package cn.ey.biz.module.system.service.serviceline; + +import cn.ey.biz.module.system.dal.dataobject.codeblock.SubServiceLineDO; +import cn.ey.biz.module.system.dal.mapper.serviceline.ServiceSubLineMapper; +import cn.ey.biz.module.system.service.serviceline.ServiceSubLineService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.stereotype.Service; + +import java.util.Objects; + +/** + * @author zhangjunlong + * @since 2023/10/31 17:13 + */ +@Service +public class ServiceSubLineServiceImpl extends ServiceImpl implements ServiceSubLineService { + @Override + @Cacheable(cacheNames = "ey:gpt:sub-service-line", key = "#code", unless = "#result==null") + public String getSubServiceLineNameStr(String code) { + SubServiceLineDO subServiceLineDO = + lambdaQuery().select(SubServiceLineDO::getSslName).eq(SubServiceLineDO::getSslCode, + code).one(); + if (Objects.isNull(subServiceLineDO)) { + return ""; + } + return subServiceLineDO.getSslName(); + } +}