diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/ProductApi.java b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/ProductApi.java index 1b293bd4..5717f333 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/ProductApi.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/ProductApi.java @@ -10,6 +10,7 @@ import cn.axzo.tyr.client.model.product.ProductSearchListReq; import cn.axzo.tyr.client.model.product.ProductSearchPageReq; import cn.axzo.tyr.client.model.product.ProductUpdateReq; import cn.axzo.tyr.client.model.product.ProductVO; +import org.springframework.beans.factory.annotation.Value; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.DeleteMapping; @@ -17,7 +18,9 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; +import javax.validation.constraints.NotNull; import java.util.List; /** @@ -54,7 +57,7 @@ public interface ProductApi { * @return {@link ProductVO} */ @GetMapping("api/auth/product/get/id") - ApiResult getById(Long id); + ApiResult getById(@RequestParam(required = false) @NotNull(message = "id不能为空") Long id); /** * 新增产品基础信息 @@ -81,7 +84,7 @@ public interface ProductApi { * @return 返回被删除的产品信息 */ @DeleteMapping("api/auth/product/delete/id") - ApiResult delete(Long id); + ApiResult delete(@RequestParam(required = false) @NotNull(message = "id不能为空") Long id); /** * 返回指定产品和单位类型下所有已有权限点集合 @@ -99,5 +102,5 @@ public interface ProductApi { * @return */ @PostMapping("api/auth/product/feature/relation/update") - ApiResult updateFeatureRelation(List req); + ApiResult updateFeatureRelation(@Validated @RequestBody List req); } diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasBasicDictApi.java b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasBasicDictApi.java index 2632f303..5d2b3291 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasBasicDictApi.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasBasicDictApi.java @@ -7,8 +7,10 @@ import cn.axzo.tyr.client.model.dict.request.*; import cn.axzo.tyr.client.model.dict.response.BasicDictNodeResp; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; import java.util.List; @@ -75,7 +77,9 @@ public interface SaasBasicDictApi { * @param req * @return */ - @PostMapping("/update-status") + @PostMapping("api/dict//update-status") ApiResult updateStatus(@RequestBody @Validated BasicDictUpdateStatusReq req); + @GetMapping("api/dict/get") + ApiResult get(@RequestParam Long id); } diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/product/ProductAddReq.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/product/ProductAddReq.java index 3e9b72b0..a733f756 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/product/ProductAddReq.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/product/ProductAddReq.java @@ -25,7 +25,7 @@ public class ProductAddReq { */ @NotBlank(message = "产品名称不能为空") @Length(max = 35, message = "产品名称长度不能超过 35 个字符") - private String name; + private String productName; /** * 产品图标 diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/product/ProductUpdateReq.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/product/ProductUpdateReq.java index 547d7ed1..774f265e 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/product/ProductUpdateReq.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/product/ProductUpdateReq.java @@ -28,7 +28,7 @@ public class ProductUpdateReq { /** * 产品名称 */ - private String name; + private String productName; /** * 产品图标 diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/product/ProductVO.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/product/ProductVO.java index 6b73064e..129f1309 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/product/ProductVO.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/product/ProductVO.java @@ -26,7 +26,7 @@ public class ProductVO { /** * 产品名称 */ - private String name; + private String productName; /** * 产品图标 @@ -57,4 +57,5 @@ public class ProductVO { * 更新时间 */ private Date updateAt; + } diff --git a/tyr-server/pom.xml b/tyr-server/pom.xml index c71ba70d..81da09b7 100644 --- a/tyr-server/pom.xml +++ b/tyr-server/pom.xml @@ -54,15 +54,15 @@ mysql-connector-java - + - + cn.axzo.framework diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/config/filter/HttpTraceLogFilter.java b/tyr-server/src/main/java/cn/axzo/tyr/server/config/filter/HttpTraceLogFilter.java index d85f107a..bc42c1b4 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/config/filter/HttpTraceLogFilter.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/config/filter/HttpTraceLogFilter.java @@ -39,7 +39,7 @@ import java.util.*; * @Description: Http接口日志记录 */ @Slf4j -@Component +//@Component public class HttpTraceLogFilter extends OncePerRequestFilter implements Ordered { private static final String X_REQUEST_ID = "x-request-id"; @@ -256,4 +256,4 @@ public class HttpTraceLogFilter extends OncePerRequestFilter implements Ordered } } } -} \ No newline at end of file +} diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/dict/SaasBasicDictController.java b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/dict/SaasBasicDictController.java index 34368385..199fc1fa 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/dict/SaasBasicDictController.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/dict/SaasBasicDictController.java @@ -55,4 +55,9 @@ public class SaasBasicDictController implements SaasBasicDictApi { public ApiResult updateStatus(BasicDictUpdateStatusReq req) { return null; } + + @Override + public ApiResult get(Long id) { + return saasBasicDictService.getById(id); + } } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/product/ProductController.java b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/product/ProductController.java index a0302790..c3ae5fb8 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/product/ProductController.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/product/ProductController.java @@ -16,6 +16,7 @@ import cn.axzo.tyr.server.service.ProductService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.util.List; diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasBasicDict.java b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasBasicDict.java index 53b7665d..717e0d29 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasBasicDict.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasBasicDict.java @@ -1,6 +1,6 @@ package cn.axzo.tyr.server.repository.entity; -import cn.axzo.framework.data.mybatisplus.model.BaseEntity; +import cn.axzo.pokonyan.config.mybatisplus.BaseEntity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; @@ -91,7 +91,7 @@ public class SaasBasicDict extends BaseEntity implements Serializ /** * 扩展信息 */ - @TableField(value = "ex", typeHandler = JacksonTypeHandler.class) + @TableField(value = "ext", typeHandler = JacksonTypeHandler.class) private Map ext; } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasFeature.java b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasFeature.java index 174de7cc..54d5265a 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasFeature.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasFeature.java @@ -1,6 +1,6 @@ package cn.axzo.tyr.server.repository.entity; -import cn.axzo.framework.data.mybatisplus.model.BaseEntity; +import cn.axzo.pokonyan.config.mybatisplus.BaseEntity; import com.baomidou.mybatisplus.annotation.TableName; import lombok.AllArgsConstructor; import lombok.Builder; @@ -11,7 +11,7 @@ import java.io.Serializable; /** *

- * + * *

* * @author ZhanSiHu @@ -88,7 +88,7 @@ public class SaasFeature extends BaseEntity implements Serializable private Integer sort; /** - * 菜单适用于平台 0:企业工作台 1:项目工作台 + * 菜单适用于平台 0:企业工作台 1:项目工作台 */ private String terminal; diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/ProductModuleDao.java b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/ProductModuleDao.java index ea020fad..10c448dd 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/ProductModuleDao.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/service/ProductModuleDao.java @@ -4,6 +4,7 @@ import cn.axzo.tyr.server.repository.entity.ProductModule; import cn.axzo.tyr.server.repository.mapper.ProductModuleMapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Repository; +import org.springframework.stereotype.Service; /** * saas-产品表(SaasProduct)表服务实现类 @@ -11,7 +12,7 @@ import org.springframework.stereotype.Repository; * @author makejava * @since 2022-05-24 11:15:04 */ -@Repository +@Service public class ProductModuleDao extends ServiceImpl { } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/SaasBasicDictService.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/SaasBasicDictService.java index 6a3c633a..e7e27d6b 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/SaasBasicDictService.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/SaasBasicDictService.java @@ -6,6 +6,9 @@ import cn.axzo.tyr.client.model.dict.response.BasicDictNodeResp; import java.util.List; +import cn.axzo.framework.domain.web.result.ApiResult; +import cn.axzo.tyr.client.model.dict.response.BasicDictNodeResp; + /** * @author: chenwenjian * @date: 2023/9/7 17:54 @@ -15,4 +18,5 @@ import java.util.List; */ public interface SaasBasicDictService { ApiResult> getBasicDictNodeList(BasicDictQueryReq req); + ApiResult getById(Long id); } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/ProductServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/ProductServiceImpl.java index 5be21a32..11f67059 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/ProductServiceImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/ProductServiceImpl.java @@ -16,7 +16,6 @@ import cn.axzo.tyr.server.service.ProductService; import com.baomidou.mybatisplus.core.metadata.IPage; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.beanutils.BeanMap; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; @@ -74,7 +73,7 @@ public class ProductServiceImpl implements ProductService { ProductModule productModule = productModuleDao.getById(req.getId()); BeanMapper.copyBeanIgnoreNull(req, ()-> productModule); productModuleDao.updateById(productModule); - return ApiResult.ok(); + return ApiResult.ok(BeanMapper.copyBeanIgnoreNull(productModule, ProductVO.class)); } @Override diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasBasicDictServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasBasicDictServiceImpl.java index 8c8e10b0..27b2fcb6 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasBasicDictServiceImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasBasicDictServiceImpl.java @@ -1,5 +1,6 @@ package cn.axzo.tyr.server.service.impl; +import cn.axzo.basics.common.BeanMapper; import cn.axzo.framework.domain.web.result.ApiResult; import cn.axzo.tyr.client.model.dict.request.BasicDictQueryReq; import cn.axzo.tyr.client.model.dict.response.BasicDictNodeResp; @@ -30,4 +31,8 @@ public class SaasBasicDictServiceImpl implements SaasBasicDictService { return null; } + @Override + public ApiResult getById(Long id) { + return ApiResult.ok(BeanMapper.copyBean(saasBasicDictDao.getById(id), BasicDictNodeResp.class)); + } } diff --git a/tyr-server/src/main/resources/bootstrap.yml b/tyr-server/src/main/resources/bootstrap.yml index 91560edb..c1fd1a5a 100644 --- a/tyr-server/src/main/resources/bootstrap.yml +++ b/tyr-server/src/main/resources/bootstrap.yml @@ -4,10 +4,9 @@ spring: cloud: nacos: config: - server-addr: ${NACOS_HOST:dev-nacos.axzo.cn}:${NACOS_PORT:80} + server-addr: ${NACOS_HOST}:${NACOS_PORT} file-extension: yaml - namespace: ${NACOS_NAMESPACE_ID:35eada10-9574-4db8-9fea-bc6a4960b6c7} - prefix: ${spring.application.name} + namespace: ${NACOS_NAMESPACE_ID} profiles: active: ${NACOS_PROFILES_ACTIVE:local} include: swagger @@ -35,3 +34,55 @@ management: knife4j: enable: true + +--- +#本地开发机器连接公网中间件地址(仅 DEV 环境) +spring: + config: + activate: + on-profile: local + cloud: + nacos: + config: + server-addr: ${NACOS_HOST:dev-nacos.axzo.cn}:${NACOS_PORT:80} + file-extension: yaml + namespace: ${NACOS_NAMESPACE_ID:f82179f1-81a9-41a1-a489-4f9ab5660a6e} +logging: + level: + root: debug +--- +#开发环境 +spring: + config: + activate: + on-profile: dev + cloud: + nacos: + config: + server-addr: ${NACOS_HOST:dev-nacos.axzo.cn}:${NACOS_PORT:80} + file-extension: yaml + namespace: ${NACOS_NAMESPACE_ID:35eada10-9574-4db8-9fea-bc6a4960b6c7} +--- +#测试环境 +spring: + config: + activate: + on-profile: test + cloud: + nacos: + config: + server-addr: ${NACOS_HOST:test-nacos.axzo.cn}:${NACOS_PORT:80} + file-extension: yaml + namespace: ${NACOS_NAMESPACE_ID:f3c0f0d2-bac4-4498-bee7-9c3636b3afdf} +--- +#预发布环境 +spring: + config: + activate: + on-profile: pre + cloud: + nacos: + config: + server-addr: ${NACOS_HOST:https://pre-nacos.axzo.cn}:${NACOS_PORT:443} + file-extension: yaml + namespace: ${NACOS_NAMESPACE_ID:8b4cf725-7595-4c92-b2a6-9260a51ce078}