From 009cd446539e8905acdc7d9fd1ebc7cc42ffb1c7 Mon Sep 17 00:00:00 2001 From: GYJ <1157756119@qq.com> Date: Tue, 11 Feb 2025 14:27:51 +0800 Subject: [PATCH] =?UTF-8?q?feign=20=E6=94=B9=E4=B8=BA=20dubbo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/czg/AccountApplication.java | 4 +- .../com/czg/controller/FeignController.java | 21 +++----- .../src/main/resources/application-dev.yml | 21 ++++---- cash-api/pom.xml | 6 +++ .../main/java/com/czg/SystemApplication.java | 4 ++ .../com/czg/controller/FeignController.java | 21 ++++++-- .../czg/controller/SysParamController.java | 4 +- .../src/main/resources/application-dev.yml | 12 +++++ cash-common/cash-common-service/pom.xml | 35 +++++++++++++ .../com/czg}/system/dto/SysParamsDTO.java | 6 ++- .../com/czg}/system/entity/SysParams.java | 2 +- .../czg}/system/service/SysParamsService.java | 7 +-- .../src/main/java/com/czg/SysParamsDTO2.java | 27 ++++++++++ cash-common/pom.xml | 1 + cash-dependencies/pom.xml | 39 +++++++------- .../account/feign/FeignSystemService.java | 14 ----- cash-service/pom.xml | 51 ++++++++----------- .../system/mapper/SysParamsMapper.java | 2 +- .../service/impl/SysParamsServiceImpl.java | 23 ++++++--- 19 files changed, 194 insertions(+), 106 deletions(-) create mode 100644 cash-common/cash-common-service/pom.xml rename {cash-service/system-service/src/main/java/com/czg/service => cash-common/cash-common-service/src/main/java/com/czg}/system/dto/SysParamsDTO.java (87%) rename {cash-service/system-service/src/main/java/com/czg/service => cash-common/cash-common-service/src/main/java/com/czg}/system/entity/SysParams.java (97%) rename {cash-service/system-service/src/main/java/com/czg/service => cash-common/cash-common-service/src/main/java/com/czg}/system/service/SysParamsService.java (86%) create mode 100644 cash-common/cash-common-tools/src/main/java/com/czg/SysParamsDTO2.java delete mode 100644 cash-service/account-service/src/main/java/com/czg/service/account/feign/FeignSystemService.java diff --git a/cash-api/account-server/src/main/java/com/czg/AccountApplication.java b/cash-api/account-server/src/main/java/com/czg/AccountApplication.java index 719d7723..aab4819f 100644 --- a/cash-api/account-server/src/main/java/com/czg/AccountApplication.java +++ b/cash-api/account-server/src/main/java/com/czg/AccountApplication.java @@ -1,10 +1,10 @@ package com.czg; +import org.apache.dubbo.config.spring.context.annotation.EnableDubbo; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; -import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.transaction.annotation.EnableTransactionManagement; /** @@ -12,9 +12,9 @@ import org.springframework.transaction.annotation.EnableTransactionManagement; */ @SpringBootApplication @EnableDiscoveryClient -@EnableFeignClients @EnableTransactionManagement @MapperScan("com.czg.service.account.mapper") +@EnableDubbo public class AccountApplication { public static void main(String[] args) { SpringApplication.run(AccountApplication.class, args); diff --git a/cash-api/account-server/src/main/java/com/czg/controller/FeignController.java b/cash-api/account-server/src/main/java/com/czg/controller/FeignController.java index b3725238..9b7ffbed 100644 --- a/cash-api/account-server/src/main/java/com/czg/controller/FeignController.java +++ b/cash-api/account-server/src/main/java/com/czg/controller/FeignController.java @@ -1,9 +1,9 @@ package com.czg.controller; -import com.czg.service.account.feign.FeignSystemService; -import com.czg.service.RedisService; -import jakarta.annotation.Resource; -import org.springframework.beans.factory.annotation.Autowired; +import com.alibaba.fastjson2.JSONObject; +import com.czg.system.dto.SysParamsDTO; +import com.czg.system.service.SysParamsService; +import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -14,18 +14,13 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/feign") public class FeignController { - @Resource - private FeignSystemService feignSystemService; - - @Autowired - private RedisService redisService; + @DubboReference + private SysParamsService sysParamsService; @RequestMapping("/test") public String test() { - String string = feignSystemService.testCall("sssss"); - System.out.println(string); - redisService.set("sssss", string); - return "test"; + SysParamsDTO test = sysParamsService.getParamsByCode2("test"); + return JSONObject.toJSONString(test); } } diff --git a/cash-api/account-server/src/main/resources/application-dev.yml b/cash-api/account-server/src/main/resources/application-dev.yml index 509763d8..9f6e91df 100644 --- a/cash-api/account-server/src/main/resources/application-dev.yml +++ b/cash-api/account-server/src/main/resources/application-dev.yml @@ -15,18 +15,19 @@ spring: cloud: nacos: - config: - bootstrap: - enabled: true - data-id: system-server - group: DEFAULT_GROUP - auto-refresh: true - server-addr: 101.37.12.135:8848 - namespace: 237e1905-0a66-4375-9bb6-a51c3c034aca - file-extension: yaml discovery: server-addr: 101.37.12.135:8848 namespace: 237e1905-0a66-4375-9bb6-a51c3c034aca - +dubbo: + application: + name: account-server + qos-port: 22221 + qos-enable: true + registry: + address: nacos://101.37.12.135:8848 # Nacos 服务地址 + group: server + namespace: 237e1905-0a66-4375-9bb6-a51c3c034aca + protocol: + port: 9101 diff --git a/cash-api/pom.xml b/cash-api/pom.xml index b4ae90c1..d7510b7f 100644 --- a/cash-api/pom.xml +++ b/cash-api/pom.xml @@ -47,6 +47,12 @@ ${project.version} + + com.czg + cash-common-service + ${project.version} + + diff --git a/cash-api/system-server/src/main/java/com/czg/SystemApplication.java b/cash-api/system-server/src/main/java/com/czg/SystemApplication.java index 05932657..763aa684 100644 --- a/cash-api/system-server/src/main/java/com/czg/SystemApplication.java +++ b/cash-api/system-server/src/main/java/com/czg/SystemApplication.java @@ -1,16 +1,20 @@ package com.czg; +import org.apache.dubbo.config.spring.context.annotation.EnableDubbo; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.transaction.annotation.EnableTransactionManagement; /** * @author ww */ @SpringBootApplication @EnableDiscoveryClient +@EnableTransactionManagement @MapperScan("com.czg.service.system.mapper") +@EnableDubbo public class SystemApplication { public static void main(String[] args) { diff --git a/cash-api/system-server/src/main/java/com/czg/controller/FeignController.java b/cash-api/system-server/src/main/java/com/czg/controller/FeignController.java index 7b642506..e12a0166 100644 --- a/cash-api/system-server/src/main/java/com/czg/controller/FeignController.java +++ b/cash-api/system-server/src/main/java/com/czg/controller/FeignController.java @@ -1,6 +1,11 @@ package com.czg.controller; -import com.czg.sa.StpKit; +import com.czg.SysParamsDTO2; +import com.czg.resp.CzgResult; +import com.czg.system.dto.SysParamsDTO; +import com.czg.system.service.SysParamsService; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -12,8 +17,18 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/admin/feign") public class FeignController { + @Resource + private SysParamsService sysParamsService; + @RequestMapping("/testCall/{name}") - public String testCall(@PathVariable String name) { - return "system-server:" + name; + public CzgResult testCall(@PathVariable String name) { + return CzgResult.success(new SysParamsDTO2().setParamCode("system-server:" + name)); } + + @GetMapping("/sysParam/code/{code}") + public SysParamsDTO getParamsByCode(@PathVariable String code) { + CzgResult paramsByCode = sysParamsService.getParamsByCode(code); + return paramsByCode.getData(); + } + } diff --git a/cash-api/system-server/src/main/java/com/czg/controller/SysParamController.java b/cash-api/system-server/src/main/java/com/czg/controller/SysParamController.java index 91c8c426..8f977dcd 100644 --- a/cash-api/system-server/src/main/java/com/czg/controller/SysParamController.java +++ b/cash-api/system-server/src/main/java/com/czg/controller/SysParamController.java @@ -1,8 +1,8 @@ package com.czg.controller; import com.czg.resp.CzgResult; -import com.czg.service.system.dto.SysParamsDTO; -import com.czg.service.system.service.SysParamsService; +import com.czg.system.dto.SysParamsDTO; +import com.czg.system.service.SysParamsService; import com.czg.validator.group.InsertGroup; import com.czg.validator.group.UpdateGroup; import jakarta.annotation.Resource; diff --git a/cash-api/system-server/src/main/resources/application-dev.yml b/cash-api/system-server/src/main/resources/application-dev.yml index 4ec5d1d3..62fab9fc 100644 --- a/cash-api/system-server/src/main/resources/application-dev.yml +++ b/cash-api/system-server/src/main/resources/application-dev.yml @@ -24,3 +24,15 @@ spring: discovery: server-addr: 101.37.12.135:8848 namespace: 237e1905-0a66-4375-9bb6-a51c3c034aca + +dubbo: + application: + name: system-server + qos-port: 22224 + qos-enable: true + registry: + address: nacos://101.37.12.135:8848 # Nacos 服务地址 + group: server + namespace: 237e1905-0a66-4375-9bb6-a51c3c034aca + protocol: + port: 9401 diff --git a/cash-common/cash-common-service/pom.xml b/cash-common/cash-common-service/pom.xml new file mode 100644 index 00000000..3daebf89 --- /dev/null +++ b/cash-common/cash-common-service/pom.xml @@ -0,0 +1,35 @@ + + 4.0.0 + + com.czg + cash-common + 1.0.0 + + + cash-common-service + jar + + global-service + https://maven.apache.org + + + + + + com.czg + cash-common-tools + ${project.version} + + + + com.mybatis-flex + mybatis-flex-spring-boot3-starter + + + com.mybatis-flex + mybatis-flex-processor + + + + diff --git a/cash-service/system-service/src/main/java/com/czg/service/system/dto/SysParamsDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/system/dto/SysParamsDTO.java similarity index 87% rename from cash-service/system-service/src/main/java/com/czg/service/system/dto/SysParamsDTO.java rename to cash-common/cash-common-service/src/main/java/com/czg/system/dto/SysParamsDTO.java index 1451aef8..203f1ce6 100644 --- a/cash-service/system-service/src/main/java/com/czg/service/system/dto/SysParamsDTO.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/system/dto/SysParamsDTO.java @@ -1,4 +1,4 @@ -package com.czg.service.system.dto; +package com.czg.system.dto; import com.czg.validator.group.DefaultGroup; import com.czg.validator.group.InsertGroup; @@ -8,12 +8,14 @@ import jakarta.validation.constraints.NotNull; import lombok.Data; import lombok.experimental.Accessors; +import java.io.Serializable; + /** * @author GYJoker */ @Data @Accessors(chain = true) -public class SysParamsDTO { +public class SysParamsDTO implements Serializable { @NotBlank(message = "参数编码不能为空", groups = {InsertGroup.class, UpdateGroup.class}) private String paramCode; diff --git a/cash-service/system-service/src/main/java/com/czg/service/system/entity/SysParams.java b/cash-common/cash-common-service/src/main/java/com/czg/system/entity/SysParams.java similarity index 97% rename from cash-service/system-service/src/main/java/com/czg/service/system/entity/SysParams.java rename to cash-common/cash-common-service/src/main/java/com/czg/system/entity/SysParams.java index c75bbe0a..f2314b85 100644 --- a/cash-service/system-service/src/main/java/com/czg/service/system/entity/SysParams.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/system/entity/SysParams.java @@ -1,4 +1,4 @@ -package com.czg.service.system.entity; +package com.czg.system.entity; import com.mybatisflex.annotation.Column; import com.mybatisflex.annotation.Id; diff --git a/cash-service/system-service/src/main/java/com/czg/service/system/service/SysParamsService.java b/cash-common/cash-common-service/src/main/java/com/czg/system/service/SysParamsService.java similarity index 86% rename from cash-service/system-service/src/main/java/com/czg/service/system/service/SysParamsService.java rename to cash-common/cash-common-service/src/main/java/com/czg/system/service/SysParamsService.java index 38e92148..a5b0dfff 100644 --- a/cash-service/system-service/src/main/java/com/czg/service/system/service/SysParamsService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/system/service/SysParamsService.java @@ -1,9 +1,9 @@ -package com.czg.service.system.service; +package com.czg.system.service; import com.czg.resp.CzgResult; -import com.czg.service.system.dto.SysParamsDTO; +import com.czg.system.dto.SysParamsDTO; +import com.czg.system.entity.SysParams; import com.mybatisflex.core.service.IService; -import com.czg.service.system.entity.SysParams; import java.util.List; @@ -42,6 +42,7 @@ public interface SysParamsService extends IService { * @return 参数 */ CzgResult getParamsByCode(String code); + SysParamsDTO getParamsByCode2(String code); /** * 根据参数类型获取参数 diff --git a/cash-common/cash-common-tools/src/main/java/com/czg/SysParamsDTO2.java b/cash-common/cash-common-tools/src/main/java/com/czg/SysParamsDTO2.java new file mode 100644 index 00000000..e298327f --- /dev/null +++ b/cash-common/cash-common-tools/src/main/java/com/czg/SysParamsDTO2.java @@ -0,0 +1,27 @@ +package com.czg; + +import com.czg.validator.group.DefaultGroup; +import com.czg.validator.group.InsertGroup; +import com.czg.validator.group.UpdateGroup; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * @author GYJoker + */ +@Data +@Accessors(chain = true) +public class SysParamsDTO2 { + + @NotBlank(message = "参数编码不能为空", groups = {InsertGroup.class, UpdateGroup.class}) + private String paramCode; + + @NotBlank(message = "参数值不能为空", groups = DefaultGroup.class) + private String paramValue; + + @NotNull(message = "参数类型不能为空", groups = {UpdateGroup.class, UpdateGroup.class}) + private Integer paramType; + private String remark; +} diff --git a/cash-common/pom.xml b/cash-common/pom.xml index c3feec44..558f794d 100644 --- a/cash-common/pom.xml +++ b/cash-common/pom.xml @@ -15,6 +15,7 @@ cash-common-sa-token cash-common-redis cash-common-api-config + cash-common-service diff --git a/cash-dependencies/pom.xml b/cash-dependencies/pom.xml index cee32c9d..88ec1f04 100644 --- a/cash-dependencies/pom.xml +++ b/cash-dependencies/pom.xml @@ -31,6 +31,9 @@ 4.2.0 5.2.0 3.4.2 + 3.3.3 + 3.3.3 + 3.3.3 @@ -109,6 +112,23 @@ hutool-all ${hutool.version} + + + org.apache.dubbo + dubbo-spring-boot-starter + ${dubbo-spring.version} + + + + org.apache.dubbo + dubbo-registry-nacos + ${dubbo-registry-nacos.version} + + + org.apache.dubbo + dubbo + ${dubbo.version} + - - - org.springframework.cloud - spring-cloud-starter-openfeign - ${cloud-starter-openfeign.version} - - - commons-io - commons-io - - - - - - - - - com.mysql mysql-connector-j diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/feign/FeignSystemService.java b/cash-service/account-service/src/main/java/com/czg/service/account/feign/FeignSystemService.java deleted file mode 100644 index 3a13d924..00000000 --- a/cash-service/account-service/src/main/java/com/czg/service/account/feign/FeignSystemService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.czg.service.account.feign; - -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; - -/** - * @author GYJoker - */ -@FeignClient("system-server") -public interface FeignSystemService { - @GetMapping("/admin/feign/testCall/{name}") // 使用 get 方式,调用服务提供者的 /call/{name} 接口 - String testCall(@PathVariable(value = "name") String name); -} diff --git a/cash-service/pom.xml b/cash-service/pom.xml index 04294c86..c1a50da8 100644 --- a/cash-service/pom.xml +++ b/cash-service/pom.xml @@ -41,6 +41,12 @@ ${project.version} + + com.czg + cash-common-service + ${project.version} + + com.czg cash-common-sa-token @@ -51,18 +57,6 @@ tomcat-embed-core - - com.mybatis-flex - mybatis-flex-spring-boot3-starter - 1.10.6 - - - com.mybatis-flex - mybatis-flex-processor - 1.10.6 - provided - - org.mybatis.spring.boot mybatis-spring-boot-starter @@ -90,28 +84,25 @@ spring-cloud-starter-bootstrap - - - - org.springframework.cloud - spring-cloud-starter-openfeign - - - commons-io - commons-io - - - - - commons-io - commons-io - - - com.mysql mysql-connector-j + + org.apache.dubbo + dubbo-spring-boot-starter + + + + org.apache.dubbo + dubbo-registry-nacos + + + + org.apache.dubbo + dubbo + + diff --git a/cash-service/system-service/src/main/java/com/czg/service/system/mapper/SysParamsMapper.java b/cash-service/system-service/src/main/java/com/czg/service/system/mapper/SysParamsMapper.java index a3b33088..308ded64 100644 --- a/cash-service/system-service/src/main/java/com/czg/service/system/mapper/SysParamsMapper.java +++ b/cash-service/system-service/src/main/java/com/czg/service/system/mapper/SysParamsMapper.java @@ -1,7 +1,7 @@ package com.czg.service.system.mapper; +import com.czg.system.entity.SysParams; import com.mybatisflex.core.BaseMapper; -import com.czg.service.system.entity.SysParams; /** * 映射层。 diff --git a/cash-service/system-service/src/main/java/com/czg/service/system/service/impl/SysParamsServiceImpl.java b/cash-service/system-service/src/main/java/com/czg/service/system/service/impl/SysParamsServiceImpl.java index d1874e62..e421614e 100644 --- a/cash-service/system-service/src/main/java/com/czg/service/system/service/impl/SysParamsServiceImpl.java +++ b/cash-service/system-service/src/main/java/com/czg/service/system/service/impl/SysParamsServiceImpl.java @@ -3,16 +3,16 @@ package com.czg.service.system.service.impl; import cn.hutool.core.bean.BeanUtil; import com.czg.resp.CzgResult; import com.czg.sa.StpKit; -import com.czg.service.system.dto.SysParamsDTO; -import com.czg.service.system.entity.SysParams; import com.czg.service.system.mapper.SysParamsMapper; -import com.czg.service.system.service.SysParamsService; +import com.czg.system.dto.SysParamsDTO; +import com.czg.system.entity.SysParams; +import com.czg.system.service.SysParamsService; import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.spring.service.impl.ServiceImpl; +import org.apache.dubbo.config.annotation.DubboService; import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; -import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; @@ -23,9 +23,9 @@ import java.util.List; * @author mac * @since 2025-02-07 */ -@Service +@DubboService(interfaceClass = SysParamsService.class) @CacheConfig(cacheNames = "params") -public class SysParamsServiceImpl extends ServiceImpl implements SysParamsService{ +public class SysParamsServiceImpl extends ServiceImpl implements SysParamsService { @Override public CzgResult insertParams(SysParamsDTO paramsDTO) { @@ -103,6 +103,17 @@ public class SysParamsServiceImpl extends ServiceImpl> getParamsByType(Integer type) { List sysParamsList = list(new QueryWrapper().eq(SysParams::getParamType, type));