Commit 5f31bb75 by zhangxingmin

Initial commit

parents
# Default ignored files
/shelf/
/workspace.xml
# Datasource local storage ignored files
/../../../../../../:\soft\ideaproject\v2\yd-base\.idea/dataSources/
/dataSources.local.xml
# Editor-based HTTP Client requests
/httpRequests/
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectStorage">
<option name="path" value="项目群组-&gt;银盾-微服务" />
<option name="projectId" value="4cc05386e898000" />
</component>
</project>
\ No newline at end of file
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="PREFERRED_PROJECT_CODE_STYLE" value="Default" />
</state>
</component>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<annotationProcessing>
<profile default="true" name="Default" enabled="true" />
<profile name="Maven default annotation processors profile" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<module name="yd-base-service" />
<module name="yd-base-api" />
<module name="yd-base-feign" />
</profile>
</annotationProcessing>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/yd-base-api/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yd-base-api/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yd-base-feign/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yd-base-feign/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yd-base-service/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yd-base-service/src/main/resources" charset="UTF-8" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="yd-releases" />
<option name="name" value="yd-releases" />
<option name="url" value="http://139.224.145.34:8081/repository/yd-maven-public/" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Central Repository" />
<option name="url" value="http://139.224.145.34:8081/repository/yd-maven-public/" />
</remote-repository>
<remote-repository>
<option name="id" value="yd-snapshots" />
<option name="name" value="yd-snapshots" />
<option name="url" value="http://139.224.145.34:8081/repository/yd-maven-public/" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/pom.xml" />
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GitSharedSettings">
<option name="FORCE_PUSH_PROHIBITED_PATTERNS">
<list />
</option>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.yd</groupId>
<artifactId>yd-parent-pom</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<groupId>com.yd</groupId>
<artifactId>yd-base</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<description>基础数据服务</description>
<modules>
<module>yd-base-api</module>
<module>yd-base-feign</module>
<module>yd-base-service</module>
</modules>
<dependencyManagement>
<dependencies>
<!-- 实体类模块 -->
<dependency>
<groupId>com.yd</groupId>
<artifactId>yd-base-api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.yd</groupId>
<artifactId>yd-base-feign</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.yd</groupId>
<artifactId>yd-base-service</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<!-- 部署到Nexus -->
<distributionManagement>
<repository>
<id>yd-releases</id>
<url>http://139.224.145.34:8081/repository/yd-project-releases/</url>
</repository>
<snapshotRepository>
<id>yd-snapshots</id>
<url>http://139.224.145.34:8081/repository/yd-project-snapshots/</url>
</snapshotRepository>
</distributionManagement>
<repositories>
<!-- 配置Nexus快照仓库,用于拉取快照版本依赖 -->
<repository>
<id>yd-snapshots</id>
<url>http://139.224.145.34:8081/repository/yd-project-snapshots/</url>
<snapshots>
<enabled>true</enabled> <!-- 允许拉取快照版本 -->
</snapshots>
<releases>
<enabled>false</enabled> <!-- 不启用正式版仓库(按需调整) -->
</releases>
</repository>
</repositories>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>yd-base</artifactId>
<groupId>com.yd</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>yd-base-api</artifactId>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- SpringCloud Alibaba Nacos Config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- swagger2-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</dependency>
<!--对于bootstrap.properties/bootstrap.yaml配置文件(我们合起来成为Bootstrap配置文件)的支持,需要导入如下的依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
<!-- Jackson 数据绑定库 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<!-- Jackson 注解支持 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</dependency>
<!-- Java 8 时间类型支持 -->
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
</dependency>
<!-- 实体类模块 -->
<dependency>
<groupId>com.yd</groupId>
<artifactId>yd-base-service</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${springboot.version}</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
<configuration>
<classifier>exec</classifier>
<mainClass>com.yd.base.api.BaseApiApplication</mainClass>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
package com.yd.base.api;
import com.yd.common.constant.ServerNameConstants;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.cloud.openfeign.EnableFeignClients;
@SpringBootApplication(scanBasePackages = "com.yd")
@MapperScan("com.yd.**.dao")
@EnableFeignClients(basePackages = "com.yd")
public class BaseApiApplication {
public static void main(String[] args) {
new SpringApplicationBuilder(BaseApiApplication.class)
.properties("spring.application.name="+ ServerNameConstants.ydBaseApi)
.build().run(args);
System.out.println("(♥◠‿◠)ノ゙ yd-base-api启动成功 ლ(´ڡ`ლ)゙ ");
}
}
package com.yd.base.api.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result;
import com.yd.base.api.service.ApiCategoryService;
import com.yd.base.feign.client.category.ApiCategoryFeignClient;
import com.yd.base.feign.request.category.ApiCategoryAddRequest;
import com.yd.base.feign.request.category.ApiCategoryEditRequest;
import com.yd.base.feign.request.category.ApiCategoryPageRequest;
import com.yd.base.feign.request.category.ApiCategoryTreeListRequest;
import com.yd.base.feign.response.category.ApiCategoryDetailResponse;
import com.yd.base.feign.response.category.ApiCategoryPageResponse;
import com.yd.base.feign.response.category.ApiCategoryTreeListResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 分类信息
*
* @author zxm
* @since 2025-11-20
*/
@RestController
@RequestMapping("/category")
@Validated
public class ApiCategoryController implements ApiCategoryFeignClient {
@Autowired
private ApiCategoryService apiCategoryService;
/**
* 分页列表查询-分类
* @param request
* @return
*/
@Override
public Result<IPage<ApiCategoryPageResponse>> page(ApiCategoryPageRequest request) {
return apiCategoryService.page(request);
}
/**
* 树形列表查询-分类
* @param request
* @return
*/
@Override
public Result<List<ApiCategoryTreeListResponse>> treeList(ApiCategoryTreeListRequest request) {
return apiCategoryService.treeList(request);
}
/**
* 添加分类
* @param request
* @return
*/
@Override
public Result add(ApiCategoryAddRequest request) {
return apiCategoryService.add(request);
}
/**
* 编辑分类
* @param request
* @return
*/
@Override
public Result edit(ApiCategoryEditRequest request) {
return apiCategoryService.edit(request);
}
/**
* 详情-分类
* @param categoryBizId 分类表唯一业务ID
* @return
*/
@Override
public Result<ApiCategoryDetailResponse> detail(String categoryBizId) {
return apiCategoryService.detail(categoryBizId);
}
/**
* 删除-分类 TODO
* @param categoryBizId 分类表唯一业务ID
* @return
*/
@Override
public Result del(String categoryBizId) {
return apiCategoryService.del(categoryBizId);
}
}
package com.yd.base.api.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.base.api.service.ApiFieldService;
import com.yd.base.feign.client.field.ApiFieldFeignClient;
import com.yd.base.feign.request.field.ApiFieldAddRequest;
import com.yd.base.feign.request.field.ApiFieldEditRequest;
import com.yd.base.feign.request.field.ApiFieldPageRequest;
import com.yd.base.feign.response.field.ApiFieldDetailResponse;
import com.yd.base.feign.response.field.ApiFieldPageResponse;
import com.yd.common.result.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 字段信息
*
* @author zxm
* @since 2025-11-20
*/
@RestController
@RequestMapping("/field")
@Validated
public class ApiFieldController implements ApiFieldFeignClient {
@Autowired
private ApiFieldService apiFieldService;
/**
* 分页列表查询-字段
* @param request
* @return
*/
@Override
public Result<IPage<ApiFieldPageResponse>> page(ApiFieldPageRequest request) {
return apiFieldService.page(request);
}
/**
* 添加-字段
* @param request
* @return
*/
@Override
public Result add(ApiFieldAddRequest request) {
return apiFieldService.add(request);
}
/**
* 编辑-字段
* @param request
* @return
*/
@Override
public Result edit(ApiFieldEditRequest request) {
return apiFieldService.edit(request);
}
/**
* 详情-字段
* @param fieldBizId 字段表唯一业务ID
* @return
*/
@Override
public Result<ApiFieldDetailResponse> detail(String fieldBizId) {
return apiFieldService.detail(fieldBizId);
}
/**
* 删除-字段 TODO
* @param fieldBizId 字段表唯一业务ID
* @return
*/
@Override
public Result del(String fieldBizId) {
return apiFieldService.del(fieldBizId);
}
}
package com.yd.base.api.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.base.api.service.ApiFieldValueService;
import com.yd.base.feign.client.fieldvalue.ApiFieldValueFeignClient;
import com.yd.base.feign.request.fieldvalue.ApiFieldValueAddRequest;
import com.yd.base.feign.request.fieldvalue.ApiFieldValueEditRequest;
import com.yd.base.feign.request.fieldvalue.ApiFieldValuePageRequest;
import com.yd.base.feign.response.fieldvalue.ApiFieldValueDetailResponse;
import com.yd.base.feign.response.fieldvalue.ApiFieldValuePageResponse;
import com.yd.common.result.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 字段值信息
*
* @author zxm
* @since 2025-11-20
*/
@RestController
@RequestMapping("/fieldValue")
@Validated
public class ApiFieldValueController implements ApiFieldValueFeignClient {
@Autowired
private ApiFieldValueService apiFieldValueService;
/**
* 分页列表查询-字段值
* @param request
* @return
*/
@Override
public Result<IPage<ApiFieldValuePageResponse>> page(ApiFieldValuePageRequest request) {
return apiFieldValueService.page(request);
}
/**
* 添加-字段值
* @param request
* @return
*/
@Override
public Result add(ApiFieldValueAddRequest request) {
return apiFieldValueService.add(request);
}
/**
* 编辑-字段值
* @param request
* @return
*/
@Override
public Result edit(ApiFieldValueEditRequest request) {
return apiFieldValueService.edit(request);
}
/**
* 详情-字段值
* @param fieldValueBizId 字段值表唯一业务ID
* @return
*/
@Override
public Result<ApiFieldValueDetailResponse> detail(String fieldValueBizId) {
return apiFieldValueService.detail(fieldValueBizId);
}
/**
* 删除-字段值 TODO
* @param fieldValueBizId 字段值表唯一业务ID
* @return
*/
@Override
public Result del(String fieldValueBizId) {
return apiFieldValueService.del(fieldValueBizId);
}
}
package com.yd.base.api.controller;
import com.yd.base.api.service.ApiRelObjectCategoryService;
import com.yd.base.feign.client.relobjectcategory.ApiRelObjectCategoryFeignClient;
import com.yd.base.feign.request.relobjectcategory.ApiRelCategoryObjectListAddRequest;
import com.yd.base.feign.request.relobjectcategory.ApiRelObjectCategoryListAddRequest;
import com.yd.base.feign.request.relobjectcategory.ApiRelObjectCategoryQueryRequest;
import com.yd.base.feign.response.relobjectcategory.ApiRelObjectCategoryQueryResponse;
import com.yd.common.result.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 对象分类关系信息
*
* @author zxm
* @since 2025-11-20
*/
@RestController
@RequestMapping("/relObjectCategory")
@Validated
public class ApiRelObjectCategoryController implements ApiRelObjectCategoryFeignClient {
@Autowired
private ApiRelObjectCategoryService apiRelObjectCategoryService;
/**
* 查询-对象分类关系列表
* @param request
* @return
*/
@Override
public Result<List<ApiRelObjectCategoryQueryResponse>> query(ApiRelObjectCategoryQueryRequest request) {
return apiRelObjectCategoryService.query(request);
}
/**
* 添加-单个对象和分类列表关系
* @param request
* @return
*/
@Override
public Result addRelObjectCategoryList(ApiRelObjectCategoryListAddRequest request) {
return apiRelObjectCategoryService.addRelObjectCategoryList(request);
}
/**
* 添加-单个分类和对象列表关系
* @param request
* @return
*/
@Override
public Result addRelCategoryObjectList(ApiRelCategoryObjectListAddRequest request) {
return apiRelObjectCategoryService.addRelCategoryObjectList(request);
}
}
package com.yd.base.api.controller;
import com.yd.base.api.service.ApiRelObjectFieldService;
import com.yd.base.feign.client.relobjectfield.ApiRelObjectFieldFeignClient;
import com.yd.base.feign.request.relobjectfield.ApiRelObjectFieldListAddRequest;
import com.yd.base.feign.request.relobjectfield.ApiRelObjectFieldQueryRequest;
import com.yd.base.feign.response.relobjectfield.ApiRelObjectFieldQueryResponse;
import com.yd.common.result.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 对象字段关系信息
*
* @author zxm
* @since 2025-11-20
*/
@RestController
@RequestMapping("/relObjectField")
@Validated
public class ApiRelObjectFieldController implements ApiRelObjectFieldFeignClient {
@Autowired
private ApiRelObjectFieldService apiRelObjectFieldService;
/**
* 查询-对象字段关系列表
* @param request
* @return
*/
@Override
public Result<List<ApiRelObjectFieldQueryResponse>> query(ApiRelObjectFieldQueryRequest request) {
return apiRelObjectFieldService.query(request);
}
/**
* 添加-单个对象和字段列表关系
* @param request
* @return
*/
@Override
public Result addRelObjectFieldList(ApiRelObjectFieldListAddRequest request) {
return apiRelObjectFieldService.addRelObjectFieldList(request);
}
}
package com.yd.base.api.controller;
import com.yd.base.api.service.ApiRelObjectSpeciesService;
import com.yd.base.feign.client.relobjectspecies.ApiRelObjectSpeciesFeignClient;
import com.yd.base.feign.request.relobjectspecies.ApiRelObjectSpeciesListAddRequest;
import com.yd.base.feign.request.relobjectspecies.ApiRelObjectSpeciesQueryRequest;
import com.yd.base.feign.response.relobjectspecies.ApiRelObjectSpeciesQueryResponse;
import com.yd.common.result.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 对象规格关系信息
*
* @author zxm
* @since 2025-11-20
*/
@RestController
@RequestMapping("/relObjectSpecies")
@Validated
public class ApiRelObjectSpeciesController implements ApiRelObjectSpeciesFeignClient {
@Autowired
private ApiRelObjectSpeciesService apiRelObjectSpeciesService;
/**
* 查询-对象规格关系列表
* @param request
* @return
*/
@Override
public Result<List<ApiRelObjectSpeciesQueryResponse>> query(ApiRelObjectSpeciesQueryRequest request) {
return apiRelObjectSpeciesService.query(request);
}
/**
* 添加-单个对象和规格列表关系
* @param request
* @return
*/
@Override
public Result addRelObjectSpeciesList(ApiRelObjectSpeciesListAddRequest request) {
return apiRelObjectSpeciesService.addRelObjectSpeciesList(request);
}
}
package com.yd.base.api.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.base.api.service.ApiSpeciesService;
import com.yd.base.feign.client.species.ApiSpeciesFeignClient;
import com.yd.base.feign.request.species.ApiSpeciesAddRequest;
import com.yd.base.feign.request.species.ApiSpeciesEditRequest;
import com.yd.base.feign.request.species.ApiSpeciesPageRequest;
import com.yd.base.feign.response.species.ApiSpeciesDetailResponse;
import com.yd.base.feign.response.species.ApiSpeciesPageResponse;
import com.yd.common.result.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 规格信息
*
* @author zxm
* @since 2025-11-20
*/
@RestController
@RequestMapping("/species")
@Validated
public class ApiSpeciesController implements ApiSpeciesFeignClient {
@Autowired
private ApiSpeciesService apiSpeciesService;
/**
* 分页列表查询-规格
* @param request
* @return
*/
@Override
public Result<IPage<ApiSpeciesPageResponse>> page(ApiSpeciesPageRequest request) {
return apiSpeciesService.page(request);
}
/**
* 添加-规格
* @param request
* @return
*/
@Override
public Result add(ApiSpeciesAddRequest request) {
return apiSpeciesService.add(request);
}
/**
* 编辑-规格
* @param request
* @return
*/
@Override
public Result edit(ApiSpeciesEditRequest request) {
return apiSpeciesService.edit(request);
}
/**
* 详情-规格
* @param speciesBizId 规格表唯一业务ID
* @return
*/
@Override
public Result<ApiSpeciesDetailResponse> detail(String speciesBizId) {
return apiSpeciesService.detail(speciesBizId);
}
/**
* 删除-规格 TODO
* @param speciesBizId 规格表唯一业务ID
* @return
*/
@Override
public Result del(String speciesBizId) {
return apiSpeciesService.del(speciesBizId);
}
}
package com.yd.base.api.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.base.api.service.SpeciesTypeService;
import com.yd.base.feign.client.speciestype.ApiSpeciesTypeFeignClient;
import com.yd.base.feign.request.speciestype.ApiSpeciesTypeAddRequest;
import com.yd.base.feign.request.speciestype.ApiSpeciesTypeEditRequest;
import com.yd.base.feign.request.speciestype.ApiSpeciesTypePageRequest;
import com.yd.base.feign.response.speciestype.ApiSpeciesTypeDetailResponse;
import com.yd.base.feign.response.speciestype.ApiSpeciesTypePageResponse;
import com.yd.common.result.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 规格类型信息
*
* @author zxm
* @since 2025-11-21
*/
@RestController
@RequestMapping("/speciesType")
@Validated
public class ApiSpeciesTypeController implements ApiSpeciesTypeFeignClient {
@Autowired
private SpeciesTypeService speciesTypeService;
/**
* 分页列表查询-规格类型
* @param request
* @return
*/
@Override
public Result<IPage<ApiSpeciesTypePageResponse>> page(ApiSpeciesTypePageRequest request) {
return speciesTypeService.page(request);
}
/**
* 添加-规格类型
* @param request
* @return
*/
@Override
public Result add(ApiSpeciesTypeAddRequest request) {
return speciesTypeService.add(request);
}
/**
* 编辑-规格类型
* @param request
* @return
*/
@Override
public Result edit(ApiSpeciesTypeEditRequest request) {
return speciesTypeService.edit(request);
}
/**
* 详情-规格类型
* @param speciesTypeBizId 规格类型表唯一业务ID
* @return
*/
@Override
public Result<ApiSpeciesTypeDetailResponse> detail(String speciesTypeBizId) {
return speciesTypeService.detail(speciesTypeBizId);
}
/**
* 删除-规格类型 TODO
* @param speciesTypeBizId 规格类型表唯一业务ID
* @return
*/
@Override
public Result del(String speciesTypeBizId) {
return speciesTypeService.del(speciesTypeBizId);
}
}
package com.yd.base.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 字段和字段值关系表 前端控制器
* </p>
*
* @author zxm
* @since 2025-11-21
*/
@RestController
@RequestMapping("/relFieldValue")
public class RelFieldValueController {
}
package com.yd.base.api.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result;
import com.yd.base.feign.request.category.ApiCategoryAddRequest;
import com.yd.base.feign.request.category.ApiCategoryEditRequest;
import com.yd.base.feign.request.category.ApiCategoryPageRequest;
import com.yd.base.feign.request.category.ApiCategoryTreeListRequest;
import com.yd.base.feign.response.category.ApiCategoryDetailResponse;
import com.yd.base.feign.response.category.ApiCategoryPageResponse;
import com.yd.base.feign.response.category.ApiCategoryTreeListResponse;
import java.util.List;
public interface ApiCategoryService {
Result<IPage<ApiCategoryPageResponse>> page(ApiCategoryPageRequest request);
Result<List<ApiCategoryTreeListResponse>> treeList(ApiCategoryTreeListRequest request);
Result add(ApiCategoryAddRequest request);
Result edit(ApiCategoryEditRequest request);
Result<ApiCategoryDetailResponse> detail(String categoryBizId);
Result del(String categoryBizId);
}
package com.yd.base.api.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.base.feign.request.field.ApiFieldAddRequest;
import com.yd.base.feign.request.field.ApiFieldEditRequest;
import com.yd.base.feign.request.field.ApiFieldPageRequest;
import com.yd.base.feign.response.field.ApiFieldDetailResponse;
import com.yd.base.feign.response.field.ApiFieldPageResponse;
import com.yd.common.result.Result;
public interface ApiFieldService {
Result<IPage<ApiFieldPageResponse>> page(ApiFieldPageRequest request);
Result add(ApiFieldAddRequest request);
Result edit(ApiFieldEditRequest request);
Result<ApiFieldDetailResponse> detail(String fieldBizId);
Result del(String fieldBizId);
}
package com.yd.base.api.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.base.feign.request.fieldvalue.ApiFieldValueAddRequest;
import com.yd.base.feign.request.fieldvalue.ApiFieldValueEditRequest;
import com.yd.base.feign.request.fieldvalue.ApiFieldValuePageRequest;
import com.yd.base.feign.response.fieldvalue.ApiFieldValueDetailResponse;
import com.yd.base.feign.response.fieldvalue.ApiFieldValuePageResponse;
import com.yd.common.result.Result;
public interface ApiFieldValueService {
Result<IPage<ApiFieldValuePageResponse>> page(ApiFieldValuePageRequest request);
Result add(ApiFieldValueAddRequest request);
Result edit(ApiFieldValueEditRequest request);
Result<ApiFieldValueDetailResponse> detail(String fieldValueBizId);
Result del(String fieldValueBizId);
}
package com.yd.base.api.service;
import com.yd.common.result.Result;
import java.util.List;
public interface ApiRelFieldValueService {
Result save(String fieldValueBizId, List<String> fieldBizIdList);
}
package com.yd.base.api.service;
import com.yd.base.feign.request.relobjectcategory.ApiRelCategoryObjectListAddRequest;
import com.yd.base.feign.request.relobjectcategory.ApiRelObjectCategoryListAddRequest;
import com.yd.base.feign.request.relobjectcategory.ApiRelObjectCategoryQueryRequest;
import com.yd.base.feign.response.relobjectcategory.ApiRelObjectCategoryQueryResponse;
import com.yd.common.result.Result;
import java.util.List;
public interface ApiRelObjectCategoryService {
Result<List<ApiRelObjectCategoryQueryResponse>> query(ApiRelObjectCategoryQueryRequest request);
Result addRelObjectCategoryList(ApiRelObjectCategoryListAddRequest request);
Result addRelCategoryObjectList(ApiRelCategoryObjectListAddRequest request);
}
package com.yd.base.api.service;
import com.yd.base.feign.request.relobjectfield.ApiRelObjectFieldListAddRequest;
import com.yd.base.feign.request.relobjectfield.ApiRelObjectFieldQueryRequest;
import com.yd.base.feign.response.relobjectfield.ApiRelObjectFieldQueryResponse;
import com.yd.common.result.Result;
import java.util.List;
public interface ApiRelObjectFieldService {
Result<List<ApiRelObjectFieldQueryResponse>> query(ApiRelObjectFieldQueryRequest request);
Result addRelObjectFieldList(ApiRelObjectFieldListAddRequest request);
}
package com.yd.base.api.service;
import com.yd.base.feign.request.relobjectspecies.ApiRelObjectSpeciesListAddRequest;
import com.yd.base.feign.request.relobjectspecies.ApiRelObjectSpeciesQueryRequest;
import com.yd.base.feign.response.relobjectspecies.ApiRelObjectSpeciesQueryResponse;
import com.yd.common.result.Result;
import java.util.List;
public interface ApiRelObjectSpeciesService {
Result<List<ApiRelObjectSpeciesQueryResponse>> query(ApiRelObjectSpeciesQueryRequest request);
Result addRelObjectSpeciesList(ApiRelObjectSpeciesListAddRequest request);
}
package com.yd.base.api.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.base.feign.request.species.ApiSpeciesAddRequest;
import com.yd.base.feign.request.species.ApiSpeciesEditRequest;
import com.yd.base.feign.request.species.ApiSpeciesPageRequest;
import com.yd.base.feign.response.species.ApiSpeciesDetailResponse;
import com.yd.base.feign.response.species.ApiSpeciesPageResponse;
import com.yd.common.result.Result;
public interface ApiSpeciesService {
Result<IPage<ApiSpeciesPageResponse>> page(ApiSpeciesPageRequest request);
Result add(ApiSpeciesAddRequest request);
Result edit(ApiSpeciesEditRequest request);
Result<ApiSpeciesDetailResponse> detail(String speciesBizId);
Result del(String speciesBizId);
}
package com.yd.base.api.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.base.feign.request.speciestype.ApiSpeciesTypeAddRequest;
import com.yd.base.feign.request.speciestype.ApiSpeciesTypeEditRequest;
import com.yd.base.feign.request.speciestype.ApiSpeciesTypePageRequest;
import com.yd.base.feign.response.speciestype.ApiSpeciesTypeDetailResponse;
import com.yd.base.feign.response.speciestype.ApiSpeciesTypePageResponse;
import com.yd.common.result.Result;
public interface SpeciesTypeService {
Result<IPage<ApiSpeciesTypePageResponse>> page(ApiSpeciesTypePageRequest request);
Result add(ApiSpeciesTypeAddRequest request);
Result edit(ApiSpeciesTypeEditRequest request);
Result<ApiSpeciesTypeDetailResponse> detail(String speciesTypeBizId);
Result del(String speciesTypeBizId);
}
package com.yd.base.api.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.common.constant.CodeGeneratorConstants;
import com.yd.common.enums.CommonEnum;
import com.yd.common.enums.ResultCode;
import com.yd.common.exception.BusinessException;
import com.yd.common.result.Result;
import com.yd.common.utils.CodeGenerator;
import com.yd.common.utils.RandomStringGenerator;
import com.yd.base.api.service.ApiCategoryService;
import com.yd.base.feign.request.category.ApiCategoryAddRequest;
import com.yd.base.feign.request.category.ApiCategoryEditRequest;
import com.yd.base.feign.request.category.ApiCategoryPageRequest;
import com.yd.base.feign.request.category.ApiCategoryTreeListRequest;
import com.yd.base.feign.response.category.ApiCategoryDetailResponse;
import com.yd.base.feign.response.category.ApiCategoryPageResponse;
import com.yd.base.feign.response.category.ApiCategoryTreeListResponse;
import com.yd.base.service.dto.CategoryDto;
import com.yd.base.service.model.Category;
import com.yd.base.service.service.ICategoryService;
import com.yd.user.service.model.SysDept;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
@Slf4j
@Service
public class ApiCategoryServiceImpl implements ApiCategoryService {
@Autowired
private ICategoryService iCategoryService;
/**
* 分页列表查询-分类
* @param request
* @return
*/
@Override
public Result<IPage<ApiCategoryPageResponse>> page(ApiCategoryPageRequest request) {
Page<ApiCategoryPageResponse> page = new Page<>(request.getPageNo(), request.getPageSize());
IPage<ApiCategoryPageResponse> iPage = iCategoryService.page(page, request);
return Result.success(iPage);
}
/**
* 树形列表查询-分类
* @param request
* @return
*/
@Override
public Result<List<ApiCategoryTreeListResponse>> treeList(ApiCategoryTreeListRequest request) {
return null;
}
/**
* 添加分类
* @param request
* @return
*/
@Override
public Result add(ApiCategoryAddRequest request) {
//校验分类名称的唯一性
List<Category> categoryList = iCategoryService.queryList(CategoryDto.builder()
.name(request.getName())
.build());
if (!CollectionUtils.isEmpty(categoryList)) {
throw new BusinessException("分类名称已存在");
}
Category category = new Category();
category.setCategoryBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_CATEGORY.getCode()));
//分类编码
category.setCode(CodeGenerator.generate10Code(CodeGeneratorConstants.PREFIX_CATEGORY_CODE));
category.setPid(request.getPid());
category.setName(request.getName());
//分类层级
category.setLevel(calculateLevel(request.getPid()));
//父子路径
category.setPath(calculatePath(request.getPid(),category.getCategoryBizId()));
category.setRemark(request.getRemark());
category.setType(request.getType());
iCategoryService.saveOrUpdate(category);
return Result.success();
}
/**
* 编辑分类
* @param request
* @return
*/
@Override
public Result edit(ApiCategoryEditRequest request) {
//查询分类信息是否存在
Result<Category> result = checkCategoryIsExist(request.getCategoryBizId());
Category category = result.getData();
//校验分类名称的唯一性
List<Category> categoryList = iCategoryService.queryList(CategoryDto.builder()
.name(request.getName())
.categoryBizId(request.getCategoryBizId())
.isExcludeMy(true)
.build());
if (!CollectionUtils.isEmpty(categoryList)) {
throw new BusinessException("分类名称已存在");
}
category.setPid(request.getPid());
category.setName(request.getName());
//分类层级
category.setLevel(calculateLevel(request.getPid()));
//父子路径
category.setPath(calculatePath(request.getPid(),category.getCategoryBizId()));
category.setRemark(request.getRemark());
category.setType(request.getType());
iCategoryService.saveOrUpdate(category);
return Result.success();
}
/**
* 详情-分类
* @param categoryBizId 分类表唯一业务ID
* @return
*/
@Override
public Result<ApiCategoryDetailResponse> detail(String categoryBizId) {
//查询分类信息是否存在
Result<Category> result = checkCategoryIsExist(categoryBizId);
Category category = result.getData();
ApiCategoryDetailResponse response = new ApiCategoryDetailResponse();
BeanUtils.copyProperties(category,response);
return Result.success(response);
}
/**
* 删除-分类
* @param categoryBizId 分类表唯一业务ID
* @return
*/
@Override
public Result del(String categoryBizId) {
return null;
}
/**
* 根据父级层级计算当前层级
* @param pid 父id
* @return
*/
public Integer calculateLevel(String pid) {
if (StringUtils.isBlank(pid) || "0".equals(pid)) {
//当前层级是第一级
return 1;
}
Category category = iCategoryService.queryOne(CategoryDto.builder().pid(pid).build());
return category.getLevel() + 1;
}
/**
* 根据父级路径计算当前路径
* @param pid 父id
* @param categoryBizId 当前业务唯一id
* @return
*/
public String calculatePath(String pid,String categoryBizId) {
if (StringUtils.isBlank(pid) || "0".equals(pid)) {
//当前层级是第一级
return categoryBizId;
}
Category category = iCategoryService.queryOne(CategoryDto.builder().pid(pid).build());
return category.getPath() + "&" + categoryBizId;
}
/**
* 校验分类是否存在
* @param categoryBizId
* @return
*/
public Result<Category> checkCategoryIsExist(String categoryBizId) {
Category category = iCategoryService.queryOne(CategoryDto.builder().categoryBizId(categoryBizId).build());
if (Objects.isNull(category)) {
//数据不存在
throw new BusinessException("分类数据不存在");
}
return Result.success(category);
}
}
package com.yd.base.api.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.base.api.service.ApiFieldService;
import com.yd.base.feign.request.field.ApiFieldAddRequest;
import com.yd.base.feign.request.field.ApiFieldEditRequest;
import com.yd.base.feign.request.field.ApiFieldPageRequest;
import com.yd.base.feign.response.field.ApiFieldDetailResponse;
import com.yd.base.feign.response.field.ApiFieldPageResponse;
import com.yd.base.service.dto.FieldDto;
import com.yd.base.service.model.Field;
import com.yd.base.service.service.IFieldService;
import com.yd.common.constant.CodeGeneratorConstants;
import com.yd.common.enums.CommonEnum;
import com.yd.common.exception.BusinessException;
import com.yd.common.result.Result;
import com.yd.common.utils.CodeGenerator;
import com.yd.common.utils.RandomStringGenerator;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Objects;
@Slf4j
@Service
public class ApiFieldServiceImpl implements ApiFieldService {
@Autowired
private IFieldService iFieldService;
/**
* 分页列表查询-字段
* @param request
* @return
*/
@Override
public Result<IPage<ApiFieldPageResponse>> page(ApiFieldPageRequest request) {
Page<ApiFieldPageResponse> page = new Page<>(request.getPageNo(), request.getPageSize());
IPage<ApiFieldPageResponse> iPage = iFieldService.page(page, request);
return Result.success(iPage);
}
/**
* 添加-字段
* @param request
* @return
*/
@Override
public Result add(ApiFieldAddRequest request) {
Field field = new Field();
BeanUtils.copyProperties(request,field);
//字段表唯一业务ID
field.setFieldBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_FIELD.getCode()));
//字段编码
field.setFieldCode(CodeGenerator.generate10Code(CodeGeneratorConstants.PREFIX_FIELD_CODE));
iFieldService.saveOrUpdate(field);
return Result.success();
}
/**
* 编辑-字段
* @param request
* @return
*/
@Override
public Result edit(ApiFieldEditRequest request) {
//查询字段信息是否存在
Result<Field> result = checkFieldIsExist(request.getFieldBizId());
Field field = result.getData();
BeanUtils.copyProperties(request,field);
iFieldService.saveOrUpdate(field);
return Result.success();
}
/**
* 详情-字段
* @param fieldBizId 字段表唯一业务ID
* @return
*/
@Override
public Result<ApiFieldDetailResponse> detail(String fieldBizId) {
//查询字段信息是否存在
Result<Field> result = checkFieldIsExist(fieldBizId);
Field field = result.getData();
ApiFieldDetailResponse response = new ApiFieldDetailResponse();
BeanUtils.copyProperties(field,response);
return Result.success(response);
}
/**
* 删除-字段
* @param fieldBizId 字段表唯一业务ID
* @return
*/
@Override
public Result del(String fieldBizId) {
return null;
}
/**
* 校验字段信息是否存在
* @param fieldBizId
* @return
*/
public Result<Field> checkFieldIsExist(String fieldBizId) {
Field field = iFieldService.queryOne(FieldDto.builder().fieldBizId(fieldBizId).build());
if (Objects.isNull(field)) {
//数据不存在
throw new BusinessException("字段信息不存在");
}
return Result.success(field);
}
}
package com.yd.base.api.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.base.api.service.ApiFieldValueService;
import com.yd.base.api.service.ApiRelFieldValueService;
import com.yd.base.feign.request.fieldvalue.ApiFieldValueAddRequest;
import com.yd.base.feign.request.fieldvalue.ApiFieldValueEditRequest;
import com.yd.base.feign.request.fieldvalue.ApiFieldValuePageRequest;
import com.yd.base.feign.response.fieldvalue.ApiFieldValueDetailResponse;
import com.yd.base.feign.response.fieldvalue.ApiFieldValuePageResponse;
import com.yd.base.service.dto.FieldValueDto;
import com.yd.base.service.model.FieldValue;
import com.yd.base.service.service.IFieldValueService;
import com.yd.common.constant.CodeGeneratorConstants;
import com.yd.common.enums.CommonEnum;
import com.yd.common.exception.BusinessException;
import com.yd.common.result.Result;
import com.yd.common.utils.CodeGenerator;
import com.yd.common.utils.RandomStringGenerator;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
@Slf4j
@Service
public class ApiFieldValueServiceImpl implements ApiFieldValueService {
@Autowired
private IFieldValueService iFieldValueService;
@Autowired
private ApiRelFieldValueService apiRelFieldValueService;
/**
* 分页列表查询-字段值
* @param request
* @return
*/
@Override
public Result<IPage<ApiFieldValuePageResponse>> page(ApiFieldValuePageRequest request) {
Page<ApiFieldValuePageResponse> page = new Page<>(request.getPageNo(), request.getPageSize());
IPage<ApiFieldValuePageResponse> iPage = iFieldValueService.page(page, request);
return Result.success(iPage);
}
/**
* 添加-字段值
* @param request
* @return
*/
@Override
public Result add(ApiFieldValueAddRequest request) {
//校验字段值的唯一性
List<FieldValue> fieldValueList = iFieldValueService.queryList(FieldValueDto.builder()
.value(request.getValue())
.build());
if (!CollectionUtils.isEmpty(fieldValueList)) {
throw new BusinessException("字段值已存在");
}
FieldValue fieldValue = new FieldValue();
BeanUtils.copyProperties(request,fieldValue);
//字段值表唯一业务ID
fieldValue.setFieldValueBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_FIELD_VALUE.getCode()));
//字段值编码
fieldValue.setFieldValueCode(CodeGenerator.generate10Code(CodeGeneratorConstants.PREFIX_FIELD_VALUE_CODE));
iFieldValueService.saveOrUpdate(fieldValue);
//保存绑定的字段表唯一业务ID列表
apiRelFieldValueService.save(fieldValue.getFieldValueBizId(),request.getFieldBizIdList());
return Result.success();
}
/**
* 编辑-字段值
* @param request
* @return
*/
@Override
public Result edit(ApiFieldValueEditRequest request) {
//校验字段值对象是否存在
Result<FieldValue> result = checkFieldValueIsExist(request.getFieldValueBizId());
FieldValue fieldValue = result.getData();
//校验字段值的唯一性
List<FieldValue> fieldValueList = iFieldValueService.queryList(FieldValueDto.builder()
.value(request.getValue())
.fieldValueBizId(request.getFieldValueBizId())
.isExcludeMy(true)
.build());
if (!CollectionUtils.isEmpty(fieldValueList)) {
throw new BusinessException("字段值已存在");
}
BeanUtils.copyProperties(request,fieldValue);
iFieldValueService.saveOrUpdate(fieldValue);
//保存绑定的字段表唯一业务ID列表
apiRelFieldValueService.save(fieldValue.getFieldValueBizId(),request.getFieldBizIdList());
return Result.success();
}
/**
* 详情-字段值
* @param fieldValueBizId 字段值表唯一业务ID
* @return
*/
@Override
public Result<ApiFieldValueDetailResponse> detail(String fieldValueBizId) {
//校验字段值对象是否存在
Result<FieldValue> result = checkFieldValueIsExist(fieldValueBizId);
FieldValue fieldValue = result.getData();
ApiFieldValueDetailResponse response = new ApiFieldValueDetailResponse();
BeanUtils.copyProperties(fieldValue,response);
return Result.success(response);
}
/**
* 删除-字段值
* @param fieldValueBizId 字段值表唯一业务ID
* @return
*/
@Override
public Result del(String fieldValueBizId) {
return null;
}
/**
* 校验字段值对象是否存在
* @param fieldValueBizId
* @return
*/
public Result<FieldValue> checkFieldValueIsExist(String fieldValueBizId) {
FieldValue fieldValue = iFieldValueService.queryOne(fieldValueBizId);
if (Objects.isNull(fieldValue)) {
//数据不存在
throw new BusinessException("字段值数据不存在");
}
return Result.success(fieldValue);
}
}
package com.yd.base.api.service.impl;
import com.yd.base.api.service.ApiRelFieldValueService;
import com.yd.base.service.model.RelFieldValue;
import com.yd.base.service.service.IRelFieldValueService;
import com.yd.common.result.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.stream.Collectors;
@Slf4j
@Service
public class ApiRelFieldValueServiceImpl implements ApiRelFieldValueService {
@Autowired
private IRelFieldValueService iRelFieldValueService;
/**
* 保存字段值和字段的关系
* @param fieldValueBizId
* @param fieldBizIdList
* @return
*/
@Override
public Result save(String fieldValueBizId, List<String> fieldBizIdList) {
//先删后新增
//根据字段值业务ID删除关系
iRelFieldValueService.delByFieldValueBizId(fieldValueBizId);
//新增
if (!CollectionUtils.isEmpty(fieldBizIdList)) {
List<RelFieldValue> relFieldValueList = fieldBizIdList.stream().map(fieldBizId -> {
RelFieldValue relFieldValue = new RelFieldValue();
relFieldValue.setFieldBizId(fieldBizId);
relFieldValue.setFieldValueBizId(fieldValueBizId);
return relFieldValue;
}).collect(Collectors.toList());
iRelFieldValueService.saveOrUpdateBatch(relFieldValueList);
}
return Result.success();
}
}
package com.yd.base.api.service.impl;
import com.yd.base.api.service.ApiRelObjectCategoryService;
import com.yd.base.feign.request.relobjectcategory.ApiRelCategoryObjectListAddRequest;
import com.yd.base.feign.request.relobjectcategory.ApiRelObjectCategoryListAddRequest;
import com.yd.base.feign.request.relobjectcategory.ApiRelObjectCategoryQueryRequest;
import com.yd.base.feign.response.relobjectcategory.ApiRelObjectCategoryQueryResponse;
import com.yd.base.service.model.RelObjectCategory;
import com.yd.base.service.service.IRelObjectCategoryService;
import com.yd.common.result.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.stream.Collectors;
@Slf4j
@Service
public class ApiRelObjectCategoryServiceImpl implements ApiRelObjectCategoryService {
@Autowired
private IRelObjectCategoryService iRelObjectCategoryService;
/**
* 查询-对象分类关系列表
* @param request
* @return
*/
@Override
public Result<List<ApiRelObjectCategoryQueryResponse>> query(ApiRelObjectCategoryQueryRequest request) {
List<ApiRelObjectCategoryQueryResponse> responses = iRelObjectCategoryService.query(request);
return Result.success(responses);
}
/**
* 添加-单个对象和分类列表关系
* @param request
* @return
*/
@Override
public Result addRelObjectCategoryList(ApiRelObjectCategoryListAddRequest request) {
//先删后新增
//根据业务对象业务ID删除关系
iRelObjectCategoryService.delByObjectBizId(request.getObjectBizId());
//新增
if (!CollectionUtils.isEmpty(request.getCategoryBizIdList())) {
//非空列表新增
List<RelObjectCategory> relObjectCategoryList = request.getCategoryBizIdList()
.stream().map(categoryBizId -> {
RelObjectCategory relObjectCategory = new RelObjectCategory();
BeanUtils.copyProperties(request,relObjectCategory);
relObjectCategory.setCategoryBizId(categoryBizId);
return relObjectCategory;
}).collect(Collectors.toList());
iRelObjectCategoryService.saveOrUpdateBatch(relObjectCategoryList);
}
return Result.success();
}
/**
* 添加-单个分类和对象列表关系
* @param request
* @return
*/
@Override
public Result addRelCategoryObjectList(ApiRelCategoryObjectListAddRequest request) {
//先删后新增
//根据分类表唯一业务ID删除关系
iRelObjectCategoryService.delByCategoryBizId(request.getCategoryBizId());
//新增
if (!CollectionUtils.isEmpty(request.getApiObjectDtoList())) {
//非空列表新增
List<RelObjectCategory> relObjectCategoryList = request.getApiObjectDtoList()
.stream().map(dto -> {
RelObjectCategory relObjectCategory = new RelObjectCategory();
BeanUtils.copyProperties(dto,relObjectCategory);
relObjectCategory.setCategoryBizId(request.getCategoryBizId());
return relObjectCategory;
}).collect(Collectors.toList());
iRelObjectCategoryService.saveOrUpdateBatch(relObjectCategoryList);
}
return Result.success();
}
}
package com.yd.base.api.service.impl;
import com.yd.base.api.service.ApiRelObjectFieldService;
import com.yd.base.feign.request.relobjectfield.ApiRelObjectFieldListAddRequest;
import com.yd.base.feign.request.relobjectfield.ApiRelObjectFieldQueryRequest;
import com.yd.base.feign.response.relobjectfield.ApiRelObjectFieldQueryResponse;
import com.yd.base.service.model.RelObjectField;
import com.yd.base.service.service.IRelObjectFieldService;
import com.yd.common.result.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.stream.Collectors;
@Slf4j
@Service
public class ApiRelObjectFieldServiceImpl implements ApiRelObjectFieldService {
@Autowired
private IRelObjectFieldService iRelObjectFieldService;
/**
* 查询-对象字段关系列表
* @param request
* @return
*/
@Override
public Result<List<ApiRelObjectFieldQueryResponse>> query(ApiRelObjectFieldQueryRequest request) {
List<ApiRelObjectFieldQueryResponse> responses = iRelObjectFieldService.query(request);
return Result.success(responses);
}
/**
* 添加-单个对象和字段列表关系
* @param request
* @return
*/
@Override
public Result addRelObjectFieldList(ApiRelObjectFieldListAddRequest request) {
//先删后新增
//根据业务对象业务ID删除关系
iRelObjectFieldService.delByObjectBizId(request.getObjectBizId());
//新增
if (!CollectionUtils.isEmpty(request.getApiObjectFieldValueDtoList())) {
//非空列表新增
List<RelObjectField> relObjectFieldList = request.getApiObjectFieldValueDtoList()
.stream().map(dto -> {
RelObjectField relObjectField = new RelObjectField();
BeanUtils.copyProperties(request,relObjectField);
BeanUtils.copyProperties(dto,relObjectField);
return relObjectField;
}).collect(Collectors.toList());
iRelObjectFieldService.saveOrUpdateBatch(relObjectFieldList);
}
return Result.success();
}
}
package com.yd.base.api.service.impl;
import com.yd.base.api.service.ApiRelObjectSpeciesService;
import com.yd.base.feign.request.relobjectspecies.ApiRelObjectSpeciesListAddRequest;
import com.yd.base.feign.request.relobjectspecies.ApiRelObjectSpeciesQueryRequest;
import com.yd.base.feign.response.relobjectspecies.ApiRelObjectSpeciesQueryResponse;
import com.yd.base.service.model.RelObjectSpecies;
import com.yd.base.service.service.IRelObjectSpeciesService;
import com.yd.common.result.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.stream.Collectors;
@Slf4j
@Service
public class ApiRelObjectSpeciesServiceImpl implements ApiRelObjectSpeciesService {
@Autowired
private IRelObjectSpeciesService iRelObjectSpeciesService;
/**
* 查询-对象规格关系列表
* @param request
* @return
*/
@Override
public Result<List<ApiRelObjectSpeciesQueryResponse>> query(ApiRelObjectSpeciesQueryRequest request) {
List<ApiRelObjectSpeciesQueryResponse> responses = iRelObjectSpeciesService.query(request);
return Result.success(responses);
}
/**
* 添加-单个对象和规格列表关系
* @param request
* @return
*/
@Override
public Result addRelObjectSpeciesList(ApiRelObjectSpeciesListAddRequest request) {
//先删后新增
//根据业务对象业务ID删除关系
iRelObjectSpeciesService.delByObjectBizId(request.getObjectBizId());
//新增
if (!CollectionUtils.isEmpty(request.getSpeciesTypeBizIdList())) {
//非空列表新增
List<RelObjectSpecies> relObjectSpeciesList = request.getSpeciesTypeBizIdList()
.stream().map(bizId -> {
RelObjectSpecies relObjectSpecies = new RelObjectSpecies();
BeanUtils.copyProperties(request,relObjectSpecies);
relObjectSpecies.setSpeciesTypeBizId(bizId);
return relObjectSpecies;
}).collect(Collectors.toList());
iRelObjectSpeciesService.saveOrUpdateBatch(relObjectSpeciesList);
}
return Result.success();
}
}
package com.yd.base.api.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.base.api.service.ApiSpeciesService;
import com.yd.base.feign.request.species.ApiSpeciesAddRequest;
import com.yd.base.feign.request.species.ApiSpeciesEditRequest;
import com.yd.base.feign.request.species.ApiSpeciesPageRequest;
import com.yd.base.feign.response.species.ApiSpeciesDetailResponse;
import com.yd.base.feign.response.species.ApiSpeciesPageResponse;
import com.yd.base.service.dto.SpeciesDto;
import com.yd.base.service.model.Species;
import com.yd.base.service.service.ISpeciesService;
import com.yd.common.enums.CommonEnum;
import com.yd.common.exception.BusinessException;
import com.yd.common.result.Result;
import com.yd.common.utils.RandomStringGenerator;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
@Slf4j
@Service
public class ApiSpeciesServiceImpl implements ApiSpeciesService {
@Autowired
private ISpeciesService iSpeciesService;
/**
* 分页列表查询-规格
* @param request
* @return
*/
@Override
public Result<IPage<ApiSpeciesPageResponse>> page(ApiSpeciesPageRequest request) {
Page<ApiSpeciesPageResponse> page = new Page<>(request.getPageNo(), request.getPageSize());
IPage<ApiSpeciesPageResponse> iPage = iSpeciesService.page(page, request);
return Result.success(iPage);
}
/**
* 添加-规格
* @param request
* @return
*/
@Override
public Result add(ApiSpeciesAddRequest request) {
//校验规格值唯一性
List<Species> speciesList = iSpeciesService.queryList(SpeciesDto.builder()
.value(request.getValue())
.build());
if (!CollectionUtils.isEmpty(speciesList)) {
throw new BusinessException("规格值已存在");
}
Species species = new Species();
BeanUtils.copyProperties(request,species);
species.setSpeciesBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_SPECIES.getCode()));
iSpeciesService.saveOrUpdate(species);
return Result.success();
}
/**
* 编辑-规格
* @param request
* @return
*/
@Override
public Result edit(ApiSpeciesEditRequest request) {
//校验规格是否存在
Result<Species> result = checkSpeciesIsExist(request.getSpeciesBizId());
Species species = result.getData();
//校验规格值唯一性
List<Species> speciesList = iSpeciesService.queryList(SpeciesDto.builder()
.value(request.getValue())
.speciesBizId(request.getSpeciesBizId())
.isExcludeMy(true)
.build());
if (!CollectionUtils.isEmpty(speciesList)) {
throw new BusinessException("规格值已存在");
}
BeanUtils.copyProperties(request,species);
iSpeciesService.saveOrUpdate(species);
return Result.success();
}
/**
* 详情-规格
* @param speciesBizId 规格表唯一业务ID
* @return
*/
@Override
public Result<ApiSpeciesDetailResponse> detail(String speciesBizId) {
//校验规格是否存在
Result<Species> result = checkSpeciesIsExist(speciesBizId);
Species species = result.getData();
ApiSpeciesDetailResponse response = new ApiSpeciesDetailResponse();
BeanUtils.copyProperties(species,response);
return Result.success(response);
}
/**
* 删除-规格 TODO
* @param speciesBizId 规格表唯一业务ID
* @return
*/
@Override
public Result del(String speciesBizId) {
return null;
}
/**
* 校验规格对象是否存在
* @param speciesBizId
* @return
*/
public Result<Species> checkSpeciesIsExist(String speciesBizId) {
Species species = iSpeciesService.queryOne(speciesBizId);
if (Objects.isNull(species)) {
//数据不存在
throw new BusinessException("规格对象数据不存在");
}
return Result.success(species);
}
}
package com.yd.base.api.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.base.api.service.SpeciesTypeService;
import com.yd.base.feign.request.speciestype.ApiSpeciesTypeAddRequest;
import com.yd.base.feign.request.speciestype.ApiSpeciesTypeEditRequest;
import com.yd.base.feign.request.speciestype.ApiSpeciesTypePageRequest;
import com.yd.base.feign.response.speciestype.ApiSpeciesTypeDetailResponse;
import com.yd.base.feign.response.speciestype.ApiSpeciesTypePageResponse;
import com.yd.base.service.dto.SpeciesTypeDto;
import com.yd.base.service.model.SpeciesType;
import com.yd.base.service.service.ISpeciesTypeService;
import com.yd.common.constant.CodeGeneratorConstants;
import com.yd.common.enums.CommonEnum;
import com.yd.common.exception.BusinessException;
import com.yd.common.result.Result;
import com.yd.common.utils.CodeGenerator;
import com.yd.common.utils.RandomStringGenerator;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
@Slf4j
@Service
public class SpeciesTypeServiceImpl implements SpeciesTypeService {
@Autowired
private ISpeciesTypeService iSpeciesTypeService;
/**
* 分页列表查询-规格类型
* @param request
* @return
*/
@Override
public Result<IPage<ApiSpeciesTypePageResponse>> page(ApiSpeciesTypePageRequest request) {
Page<ApiSpeciesTypePageResponse> page = new Page<>(request.getPageNo(), request.getPageSize());
IPage<ApiSpeciesTypePageResponse> iPage = iSpeciesTypeService.page(page, request);
return Result.success(iPage);
}
/**
* 添加-规格类型
* @param request
* @return
*/
@Override
public Result add(ApiSpeciesTypeAddRequest request) {
//校验规格类型唯一性
List<SpeciesType> speciesList = iSpeciesTypeService.queryList(SpeciesTypeDto.builder()
.typeName(request.getTypeName())
.build());
if (!CollectionUtils.isEmpty(speciesList)) {
throw new BusinessException("规格类型已存在");
}
SpeciesType speciesType = new SpeciesType();
BeanUtils.copyProperties(request,speciesType);
speciesType.setSpeciesTypeBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_SPECIES_TYPE.getCode()));
speciesType.setTypeCode(CodeGenerator.generate10Code(CodeGeneratorConstants.PREFIX_SPECIES_TYPE_CODE));
iSpeciesTypeService.saveOrUpdate(speciesType);
return Result.success();
}
/**
* 编辑-规格类型
* @param request
* @return
*/
@Override
public Result edit(ApiSpeciesTypeEditRequest request) {
Result<SpeciesType> result = checkSpeciesTypeIsExist(request.getSpeciesTypeBizId());
SpeciesType speciesType = result.getData();
//校验规格类型唯一性
List<SpeciesType> speciesList = iSpeciesTypeService.queryList(SpeciesTypeDto.builder()
.typeName(request.getTypeName())
.speciesTypeBizId(request.getSpeciesTypeBizId())
.isExcludeMy(true)
.build());
if (!CollectionUtils.isEmpty(speciesList)) {
throw new BusinessException("规格类型已存在");
}
BeanUtils.copyProperties(request,speciesType);
iSpeciesTypeService.saveOrUpdate(speciesType);
return Result.success();
}
/**
* 详情-规格类型
* @param speciesTypeBizId 规格类型表唯一业务ID
* @return
*/
@Override
public Result<ApiSpeciesTypeDetailResponse> detail(String speciesTypeBizId) {
Result<SpeciesType> result = checkSpeciesTypeIsExist(speciesTypeBizId);
SpeciesType speciesType = result.getData();
ApiSpeciesTypeDetailResponse response = new ApiSpeciesTypeDetailResponse();
BeanUtils.copyProperties(speciesType,response);
return Result.success(response);
}
/**
* 删除-规格类型 TODO
* @param speciesTypeBizId 规格类型表唯一业务ID
* @return
*/
@Override
public Result del(String speciesTypeBizId) {
return null;
}
/**
* 校验规格类型对象是否存在
* @param speciesTypeBizId
* @return
*/
public Result<SpeciesType> checkSpeciesTypeIsExist(String speciesTypeBizId) {
SpeciesType speciesType = iSpeciesTypeService.queryOne(speciesTypeBizId);
if (Objects.isNull(speciesType)) {
//数据不存在
throw new BusinessException("规格类型对象数据不存在");
}
return Result.success(speciesType);
}
}
${AnsiColor.GREEN}
_ _ _ __ __ ____ _ _ _ _
| | (_)_ __ | | _\ \ / /__ / ___| |__ __ _| |_ / \ _ __ (_)
| | | | '_ \| |/ /\ \ /\ / / _ \ | | '_ \ / _` | __| / _ \ | '_ \| |
| |___| | | | | < \ V V / __/ |___| | | | (_| | |_ / ___ \| |_) | |
|_____|_|_| |_|_|\_\ \_/\_/ \___|\____|_| |_|\__,_|\__/_/ \_\ .__/|_|
|_|
${AnsiColor.BRIGHT_WHITE}
Spring Boot Version: ${spring-boot.version}
\ No newline at end of file
spring:
profiles:
active: test
# active: '@spring.profiles.active@'
---
spring:
application:
name: yd-base-api
profiles: dev
main:
allow-bean-definition-overriding: true
allow-circular-references: true
cloud:
nacos:
# 配置中心
config:
# 命名空间id(此处不用public,因public初始化的空间, id为空) 4e237601-cea8-414d-b7b9-d7adc8cbcf95
namespace: 22f9d61e-9011-4d45-88cb-24f9857e3eec
# nacos的ip地址和端口 120.79.64.17:10848
server-addr: 127.0.0.1:8848
# 这个就表示 在我们nacos命名空间id为 dev中 有一个data-id 为 demo-service.yml 的配置文件 读取这个里面的配置
file-extension: yml
config-retry-time: 300000
# 共享配置, 可以把公共配置放在同个命名空间下,然后创建一个 common.yml 文件 ,里面可以放共用的配置
shared-configs[0]:
dataId: linkwe-common.yml
refresh: true
# 发布到注册中心 (如果没有使用可以不配)
discovery:
# 命名空间id(此处不用public,因public初始化的空间, id为空)
namespace: ${spring.cloud.nacos.config.namespace}
# nacos的ip地址和端口
server-addr: ${spring.cloud.nacos.config.server-addr}
---
spring:
application:
name: yd-base-api
profiles: test
main:
allow-bean-definition-overriding: true
allow-circular-references: true
cloud:
nacos:
# 配置中心
config:
# 命名空间id(此处不用public,因public初始化的空间, id为空)
namespace: b3b01715-eb85-4242-992a-5aff03d864d4
# nacos的ip地址和端口
server-addr: 139.224.145.34:8848
# 这个就表示 在我们nacos命名空间id为 dev中 有一个data-id 为 demo-service.yml 的配置文件 读取这个里面的配置
file-extension: yml
config-retry-time: 300000
# 共享配置, 可以把公共配置放在同个命名空间下,然后创建一个 common.yml 文件 ,里面可以放共用的配置
shared-configs[0]:
dataId: yd-common.yml
group: YD_GROUP
refresh: true
extension-configs: # 扩展配置
- data-id: yd-base-api.yml
group: YD_GROUP
refresh: true
# 发布到注册中心 (如果没有使用可以不配)
discovery:
# 命名空间id(此处不用public,因public初始化的空间, id为空)
namespace: ${spring.cloud.nacos.config.namespace}
# nacos的ip地址和端口
server-addr: ${spring.cloud.nacos.config.server-addr}
group: YD_GROUP
---
spring:
profiles: prod
main:
allow-bean-definition-overriding: true
allow-circular-references: true
cloud:
nacos:
# 配置中心
config:
# 命名空间id(此处不用public,因public初始化的空间, id为空)
namespace: cb587d6d-d3b2-45ca-a3ef-5b5c80ece5b3
# nacos的ip地址和端口
server-addr: 139.224.150.79:8848
# 这个就表示 在我们nacos命名空间id为 dev中 有一个data-id 为 demo-service.yml 的配置文件 读取这个里面的配置
file-extension: yml
config-retry-time: 300000
# 共享配置, 可以把公共配置放在同个命名空间下,然后创建一个 common.yml 文件 ,里面可以放共用的配置
shared-configs[0]:
dataId: yd-common.yml
group: YD_GROUP
refresh: true
extension-configs: # 扩展配置
- data-id: yd-base-api.yml
group: YD_GROUP
refresh: true
# 发布到注册中心 (如果没有使用可以不配)
discovery:
# 命名空间id(此处不用public,因public初始化的空间, id为空)
namespace: ${spring.cloud.nacos.config.namespace}
# nacos的ip地址和端口
server-addr: ${spring.cloud.nacos.config.server-addr}
group: YD_GROUP
#3.2.1\u4EE5\u4E0A\u4F7F\u7528
modulelist=com.baomidou.mybatisplus.extension.p6spy.MybatisPlusLogFactory,com.p6spy.engine.outage.P6OutageFactory
#3.2.1\u4EE5\u4E0B\u4F7F\u7528\u6216\u8005\u4E0D\u914D\u7F6E
#modulelist=com.p6spy.engine.logging.P6LogFactory,com.p6spy.engine.outage.P6OutageFactory
# \u81EA\u5B9A\u4E49\u65E5\u5FD7\u6253\u5370
logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger
#\u65E5\u5FD7\u8F93\u51FA\u5230\u63A7\u5236\u53F0
appender=com.baomidou.mybatisplus.extension.p6spy.StdoutLogger
# \u4F7F\u7528\u65E5\u5FD7\u7CFB\u7EDF\u8BB0\u5F55 sql
#appender=com.p6spy.engine.spy.appender.Slf4JLogger
# \u8BBE\u7F6E p6spy driver \u4EE3\u7406
deregisterdrivers=true
# \u53D6\u6D88JDBC URL\u524D\u7F00
useprefix=true
# \u914D\u7F6E\u8BB0\u5F55 Log \u4F8B\u5916,\u53EF\u53BB\u6389\u7684\u7ED3\u679C\u96C6\u6709error,info,batch,debug,statement,commit,rollback,result,resultset.
excludecategories=info,debug,result,commit,resultset
# \u65E5\u671F\u683C\u5F0F
dateformat=yyyy-MM-dd HH:mm:ss
# \u5B9E\u9645\u9A71\u52A8\u53EF\u591A\u4E2A
#driverlist=org.h2.Driver
# \u662F\u5426\u5F00\u542F\u6162SQL\u8BB0\u5F55
outagedetection=true
# \u6162SQL\u8BB0\u5F55\u6807\u51C6 2 \u79D2
outagedetectioninterval=2
${AnsiColor.GREEN}
_ _ _ __ __ ____ _ _ _ _
| | (_)_ __ | | _\ \ / /__ / ___| |__ __ _| |_ / \ _ __ (_)
| | | | '_ \| |/ /\ \ /\ / / _ \ | | '_ \ / _` | __| / _ \ | '_ \| |
| |___| | | | | < \ V V / __/ |___| | | | (_| | |_ / ___ \| |_) | |
|_____|_|_| |_|_|\_\ \_/\_/ \___|\____|_| |_|\__,_|\__/_/ \_\ .__/|_|
|_|
${AnsiColor.BRIGHT_WHITE}
Spring Boot Version: ${spring-boot.version}
\ No newline at end of file
spring:
profiles:
active: test
# active: '@spring.profiles.active@'
---
spring:
application:
name: yd-base-api
profiles: dev
main:
allow-bean-definition-overriding: true
allow-circular-references: true
cloud:
nacos:
# 配置中心
config:
# 命名空间id(此处不用public,因public初始化的空间, id为空) 4e237601-cea8-414d-b7b9-d7adc8cbcf95
namespace: 22f9d61e-9011-4d45-88cb-24f9857e3eec
# nacos的ip地址和端口 120.79.64.17:10848
server-addr: 127.0.0.1:8848
# 这个就表示 在我们nacos命名空间id为 dev中 有一个data-id 为 demo-service.yml 的配置文件 读取这个里面的配置
file-extension: yml
config-retry-time: 300000
# 共享配置, 可以把公共配置放在同个命名空间下,然后创建一个 common.yml 文件 ,里面可以放共用的配置
shared-configs[0]:
dataId: linkwe-common.yml
refresh: true
# 发布到注册中心 (如果没有使用可以不配)
discovery:
# 命名空间id(此处不用public,因public初始化的空间, id为空)
namespace: ${spring.cloud.nacos.config.namespace}
# nacos的ip地址和端口
server-addr: ${spring.cloud.nacos.config.server-addr}
---
spring:
application:
name: yd-base-api
profiles: test
main:
allow-bean-definition-overriding: true
allow-circular-references: true
cloud:
nacos:
# 配置中心
config:
# 命名空间id(此处不用public,因public初始化的空间, id为空)
namespace: b3b01715-eb85-4242-992a-5aff03d864d4
# nacos的ip地址和端口
server-addr: 139.224.145.34:8848
# 这个就表示 在我们nacos命名空间id为 dev中 有一个data-id 为 demo-service.yml 的配置文件 读取这个里面的配置
file-extension: yml
config-retry-time: 300000
# 共享配置, 可以把公共配置放在同个命名空间下,然后创建一个 common.yml 文件 ,里面可以放共用的配置
shared-configs[0]:
dataId: yd-common.yml
group: YD_GROUP
refresh: true
extension-configs: # 扩展配置
- data-id: yd-base-api.yml
group: YD_GROUP
refresh: true
# 发布到注册中心 (如果没有使用可以不配)
discovery:
# 命名空间id(此处不用public,因public初始化的空间, id为空)
namespace: ${spring.cloud.nacos.config.namespace}
# nacos的ip地址和端口
server-addr: ${spring.cloud.nacos.config.server-addr}
group: YD_GROUP
---
spring:
profiles: prod
main:
allow-bean-definition-overriding: true
allow-circular-references: true
cloud:
nacos:
# 配置中心
config:
# 命名空间id(此处不用public,因public初始化的空间, id为空)
namespace: cb587d6d-d3b2-45ca-a3ef-5b5c80ece5b3
# nacos的ip地址和端口
server-addr: 139.224.150.79:8848
# 这个就表示 在我们nacos命名空间id为 dev中 有一个data-id 为 demo-service.yml 的配置文件 读取这个里面的配置
file-extension: yml
config-retry-time: 300000
# 共享配置, 可以把公共配置放在同个命名空间下,然后创建一个 common.yml 文件 ,里面可以放共用的配置
shared-configs[0]:
dataId: yd-common.yml
group: YD_GROUP
refresh: true
extension-configs: # 扩展配置
- data-id: yd-base-api.yml
group: YD_GROUP
refresh: true
# 发布到注册中心 (如果没有使用可以不配)
discovery:
# 命名空间id(此处不用public,因public初始化的空间, id为空)
namespace: ${spring.cloud.nacos.config.namespace}
# nacos的ip地址和端口
server-addr: ${spring.cloud.nacos.config.server-addr}
group: YD_GROUP
#3.2.1\u4EE5\u4E0A\u4F7F\u7528
modulelist=com.baomidou.mybatisplus.extension.p6spy.MybatisPlusLogFactory,com.p6spy.engine.outage.P6OutageFactory
#3.2.1\u4EE5\u4E0B\u4F7F\u7528\u6216\u8005\u4E0D\u914D\u7F6E
#modulelist=com.p6spy.engine.logging.P6LogFactory,com.p6spy.engine.outage.P6OutageFactory
# \u81EA\u5B9A\u4E49\u65E5\u5FD7\u6253\u5370
logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger
#\u65E5\u5FD7\u8F93\u51FA\u5230\u63A7\u5236\u53F0
appender=com.baomidou.mybatisplus.extension.p6spy.StdoutLogger
# \u4F7F\u7528\u65E5\u5FD7\u7CFB\u7EDF\u8BB0\u5F55 sql
#appender=com.p6spy.engine.spy.appender.Slf4JLogger
# \u8BBE\u7F6E p6spy driver \u4EE3\u7406
deregisterdrivers=true
# \u53D6\u6D88JDBC URL\u524D\u7F00
useprefix=true
# \u914D\u7F6E\u8BB0\u5F55 Log \u4F8B\u5916,\u53EF\u53BB\u6389\u7684\u7ED3\u679C\u96C6\u6709error,info,batch,debug,statement,commit,rollback,result,resultset.
excludecategories=info,debug,result,commit,resultset
# \u65E5\u671F\u683C\u5F0F
dateformat=yyyy-MM-dd HH:mm:ss
# \u5B9E\u9645\u9A71\u52A8\u53EF\u591A\u4E2A
#driverlist=org.h2.Driver
# \u662F\u5426\u5F00\u542F\u6162SQL\u8BB0\u5F55
outagedetection=true
# \u6162SQL\u8BB0\u5F55\u6807\u51C6 2 \u79D2
outagedetectioninterval=2
#Generated by Maven
#Tue Nov 25 13:59:17 CST 2025
version=1.0-SNAPSHOT
groupId=com.yd
artifactId=yd-base-api
com\yd\base\api\service\impl\ApiFieldValueServiceImpl.class
com\yd\base\api\service\impl\ApiRelObjectFieldServiceImpl.class
com\yd\base\api\controller\ApiRelObjectSpeciesController.class
com\yd\base\api\service\ApiRelFieldValueService.class
com\yd\base\api\service\impl\ApiFieldServiceImpl.class
com\yd\base\api\controller\ApiRelObjectCategoryController.class
com\yd\base\api\controller\RelFieldValueController.class
com\yd\base\api\service\impl\ApiCategoryServiceImpl.class
com\yd\base\api\service\ApiFieldService.class
com\yd\base\api\service\impl\ApiRelObjectCategoryServiceImpl.class
com\yd\base\api\controller\ApiFieldValueController.class
com\yd\base\api\service\ApiSpeciesService.class
com\yd\base\api\service\ApiRelObjectCategoryService.class
com\yd\base\api\service\impl\ApiSpeciesServiceImpl.class
com\yd\base\api\service\ApiCategoryService.class
com\yd\base\api\BaseApiApplication.class
com\yd\base\api\controller\ApiRelObjectFieldController.class
com\yd\base\api\controller\ApiSpeciesTypeController.class
com\yd\base\api\service\ApiFieldValueService.class
com\yd\base\api\service\impl\ApiRelFieldValueServiceImpl.class
com\yd\base\api\service\ApiRelObjectSpeciesService.class
com\yd\base\api\service\impl\ApiRelObjectSpeciesServiceImpl.class
com\yd\base\api\service\SpeciesTypeService.class
com\yd\base\api\controller\ApiCategoryController.class
com\yd\base\api\controller\ApiSpeciesController.class
com\yd\base\api\service\impl\SpeciesTypeServiceImpl.class
com\yd\base\api\controller\ApiFieldController.class
com\yd\base\api\service\ApiRelObjectFieldService.class
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\service\impl\ApiRelObjectSpeciesServiceImpl.java
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\controller\ApiFieldController.java
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\controller\ApiSpeciesTypeController.java
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\service\impl\ApiFieldValueServiceImpl.java
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\service\SpeciesTypeService.java
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\controller\ApiRelObjectCategoryController.java
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\controller\RelFieldValueController.java
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\service\impl\ApiFieldServiceImpl.java
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\service\impl\ApiRelObjectFieldServiceImpl.java
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\controller\ApiSpeciesController.java
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\service\impl\ApiRelFieldValueServiceImpl.java
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\service\ApiFieldService.java
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\service\ApiSpeciesService.java
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\service\ApiRelObjectCategoryService.java
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\service\impl\ApiCategoryServiceImpl.java
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\service\ApiRelObjectSpeciesService.java
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\service\ApiRelFieldValueService.java
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\service\ApiFieldValueService.java
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\controller\ApiFieldValueController.java
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\controller\ApiCategoryController.java
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\service\ApiRelObjectFieldService.java
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\service\impl\ApiRelObjectCategoryServiceImpl.java
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\controller\ApiRelObjectFieldController.java
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\controller\ApiRelObjectSpeciesController.java
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\service\impl\SpeciesTypeServiceImpl.java
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\service\ApiCategoryService.java
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\BaseApiApplication.java
D:\soft\ideaproject\v2\yd-base\yd-base-api\src\main\java\com\yd\base\api\service\impl\ApiSpeciesServiceImpl.java
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>yd-base</artifactId>
<groupId>com.yd</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>yd-base-feign</artifactId>
<dependencies>
<dependency>
<groupId>com.yd</groupId>
<artifactId>yd-feign</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.yd</groupId>
<artifactId>yd-common</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
package com.yd.base.feign.client.category;
import com.yd.common.result.Result;
import com.yd.base.feign.fallback.category.ApiCategoryFeignFallbackFactory;
import com.yd.base.feign.request.category.ApiCategoryAddRequest;
import com.yd.base.feign.request.category.ApiCategoryEditRequest;
import com.yd.base.feign.request.category.ApiCategoryPageRequest;
import com.yd.base.feign.request.category.ApiCategoryTreeListRequest;
import com.yd.base.feign.response.category.ApiCategoryDetailResponse;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
/**
* 基础数据服务-分类信息Feign客户端
*/
@FeignClient(name = "yd-base-api", fallbackFactory = ApiCategoryFeignFallbackFactory.class)
public interface ApiCategoryFeignClient {
/**
* 分页列表查询-分类
* @param request
* @return
*/
@PostMapping("/page")
Result page(@RequestBody ApiCategoryPageRequest request);
/**
* 树形列表查询-分类
* @param request
* @return
*/
@PostMapping("/tree/list")
Result treeList(@RequestBody ApiCategoryTreeListRequest request);
/**
* 添加-分类
* @param request
* @return
*/
@PostMapping("/add")
Result add(@Validated @RequestBody ApiCategoryAddRequest request);
/**
* 编辑-分类
* @param request
* @return
*/
@PutMapping("/edit")
Result edit(@Validated @RequestBody ApiCategoryEditRequest request);
/**
* 详情-分类
* @param categoryBizId 分类表唯一业务ID
* @return
*/
@GetMapping("/detail")
Result<ApiCategoryDetailResponse> detail(@NotBlank(message = "分类表唯一业务ID能为空") @RequestParam(value = "categoryBizId") String categoryBizId);
/**
* 删除-分类
* @param categoryBizId 分类表唯一业务ID
* @return
*/
@DeleteMapping("/del")
Result del(@NotBlank(message = "分类表唯一业务ID能为空") @RequestParam(value = "categoryBizId") String categoryBizId);
}
package com.yd.base.feign.client.field;
import com.yd.base.feign.fallback.field.ApiFieldFeignFallbackFactory;
import com.yd.base.feign.request.field.ApiFieldAddRequest;
import com.yd.base.feign.request.field.ApiFieldEditRequest;
import com.yd.base.feign.request.field.ApiFieldPageRequest;
import com.yd.base.feign.response.field.ApiFieldDetailResponse;
import com.yd.common.result.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
/**
* 基础数据服务-字段信息Feign客户端
*/
@FeignClient(name = "yd-base-api", fallbackFactory = ApiFieldFeignFallbackFactory.class)
public interface ApiFieldFeignClient {
/**
* 分页列表查询-字段
* @param request
* @return
*/
@PostMapping("/page")
Result page(@RequestBody ApiFieldPageRequest request);
/**
* 添加-字段
* @param request
* @return
*/
@PostMapping("/add")
Result add(@Validated @RequestBody ApiFieldAddRequest request);
/**
* 编辑-字段
* @param request
* @return
*/
@PutMapping("/edit")
Result edit(@Validated @RequestBody ApiFieldEditRequest request);
/**
* 详情-字段
* @param fieldBizId 字段表唯一业务ID
* @return
*/
@GetMapping("/detail")
Result<ApiFieldDetailResponse> detail(@NotBlank(message = "字段表唯一业务ID能为空") @RequestParam(value = "fieldBizId") String fieldBizId);
/**
* 删除-字段
* @param fieldBizId 字段表唯一业务ID
* @return
*/
@DeleteMapping("/del")
Result del(@NotBlank(message = "字段表唯一业务ID能为空") @RequestParam(value = "fieldBizId") String fieldBizId);
}
package com.yd.base.feign.client.fieldvalue;
import com.yd.base.feign.fallback.fieldvalue.ApiFieldValueFeignFallbackFactory;
import com.yd.base.feign.request.fieldvalue.ApiFieldValueAddRequest;
import com.yd.base.feign.request.fieldvalue.ApiFieldValueEditRequest;
import com.yd.base.feign.request.fieldvalue.ApiFieldValuePageRequest;
import com.yd.base.feign.response.fieldvalue.ApiFieldValueDetailResponse;
import com.yd.common.result.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
/**
* 基础数据服务-字段值值信息Feign客户端
*/
@FeignClient(name = "yd-base-api", fallbackFactory = ApiFieldValueFeignFallbackFactory.class)
public interface ApiFieldValueFeignClient {
/**
* 分页列表查询-字段值
* @param request
* @return
*/
@PostMapping("/page")
Result page(@RequestBody ApiFieldValuePageRequest request);
/**
* 添加-字段值
* @param request
* @return
*/
@PostMapping("/add")
Result add(@Validated @RequestBody ApiFieldValueAddRequest request);
/**
* 编辑-字段值
* @param request
* @return
*/
@PutMapping("/edit")
Result edit(@Validated @RequestBody ApiFieldValueEditRequest request);
/**
* 详情-字段值
* @param fieldValueBizId 字段值表唯一业务ID
* @return
*/
@GetMapping("/detail")
Result<ApiFieldValueDetailResponse> detail(@NotBlank(message = "字段值表唯一业务ID能为空") @RequestParam(value = "fieldValueBizId") String fieldValueBizId);
/**
* 删除-字段值
* @param fieldValueBizId 字段值表唯一业务ID
* @return
*/
@DeleteMapping("/del")
Result del(@NotBlank(message = "字段值表唯一业务ID能为空") @RequestParam(value = "fieldValueBizId") String fieldValueBizId);
}
package com.yd.base.feign.client.relobjectcategory;
import com.yd.base.feign.fallback.relobjectcategory.ApiRelObjectCategoryFeignFallbackFactory;
import com.yd.base.feign.request.relobjectcategory.ApiRelCategoryObjectListAddRequest;
import com.yd.base.feign.request.relobjectcategory.ApiRelObjectCategoryListAddRequest;
import com.yd.base.feign.request.relobjectcategory.ApiRelObjectCategoryQueryRequest;
import com.yd.base.feign.response.relobjectcategory.ApiRelObjectCategoryQueryResponse;
import com.yd.common.result.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* 基础数据服务-对象分类关系信息Feign客户端
*/
@FeignClient(name = "yd-base-api",path = "/base/api/relObjectCategory",fallbackFactory = ApiRelObjectCategoryFeignFallbackFactory.class)
public interface ApiRelObjectCategoryFeignClient {
/**
* 查询-对象分类关系列表
* @param request
* @return
*/
@PostMapping("/query")
Result<List<ApiRelObjectCategoryQueryResponse>> query(@Validated @RequestBody ApiRelObjectCategoryQueryRequest request);
/**
* 添加-单个对象和分类列表关系
* @param request
* @return
*/
@PostMapping("/add/relObjectCategoryList")
Result addRelObjectCategoryList(@Validated @RequestBody ApiRelObjectCategoryListAddRequest request);
/**
* 添加-单个分类和对象列表关系
* @param request
* @return
*/
@PostMapping("/add/relCategoryObjectList")
Result addRelCategoryObjectList(@Validated @RequestBody ApiRelCategoryObjectListAddRequest request);
}
package com.yd.base.feign.client.relobjectfield;
import com.yd.base.feign.fallback.relobjectfield.ApiRelObjectFieldFeignFallbackFactory;
import com.yd.base.feign.request.relobjectfield.ApiRelObjectFieldListAddRequest;
import com.yd.base.feign.request.relobjectfield.ApiRelObjectFieldQueryRequest;
import com.yd.base.feign.response.relobjectfield.ApiRelObjectFieldQueryResponse;
import com.yd.common.result.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* 基础数据服务-对象字段关系信息Feign客户端
*/
@FeignClient(name = "yd-base-api", fallbackFactory = ApiRelObjectFieldFeignFallbackFactory.class)
public interface ApiRelObjectFieldFeignClient {
/**
* 查询-对象字段关系列表
* @param request
* @return
*/
@PostMapping("/query")
Result<List<ApiRelObjectFieldQueryResponse>> query(@Validated @RequestBody ApiRelObjectFieldQueryRequest request);
/**
* 添加-单个对象和字段列表关系
* @param request
* @return
*/
@PostMapping("/add/relObjectFieldList")
Result addRelObjectFieldList(@Validated @RequestBody ApiRelObjectFieldListAddRequest request);
}
package com.yd.base.feign.client.relobjectspecies;
import com.yd.base.feign.fallback.relobjectspecies.ApiRelObjectSpeciesFeignFallbackFactory;
import com.yd.base.feign.request.relobjectspecies.ApiRelObjectSpeciesListAddRequest;
import com.yd.base.feign.request.relobjectspecies.ApiRelObjectSpeciesQueryRequest;
import com.yd.base.feign.response.relobjectspecies.ApiRelObjectSpeciesQueryResponse;
import com.yd.common.result.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* 基础数据服务-对象规格关系信息Feign客户端
*/
@FeignClient(name = "yd-base-api", fallbackFactory = ApiRelObjectSpeciesFeignFallbackFactory.class)
public interface ApiRelObjectSpeciesFeignClient {
/**
* 查询-对象规格关系列表
* @param request
* @return
*/
@PostMapping("/query")
Result<List<ApiRelObjectSpeciesQueryResponse>> query(@Validated @RequestBody ApiRelObjectSpeciesQueryRequest request);
/**
* 添加-单个对象和规格列表关系
* @param request
* @return
*/
@PostMapping("/add/relObjectSpeciesList")
Result addRelObjectSpeciesList(@Validated @RequestBody ApiRelObjectSpeciesListAddRequest request);
}
package com.yd.base.feign.client.species;
import com.yd.base.feign.fallback.species.ApiSpeciesFeignFallbackFactory;
import com.yd.base.feign.request.species.ApiSpeciesAddRequest;
import com.yd.base.feign.request.species.ApiSpeciesEditRequest;
import com.yd.base.feign.request.species.ApiSpeciesPageRequest;
import com.yd.base.feign.response.species.ApiSpeciesDetailResponse;
import com.yd.common.result.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
/**
* 基础数据服务-规格信息Feign客户端
*/
@FeignClient(name = "yd-base-api", fallbackFactory = ApiSpeciesFeignFallbackFactory.class)
public interface ApiSpeciesFeignClient {
/**
* 分页列表查询-规格
* @param request
* @return
*/
@PostMapping("/page")
Result page(@RequestBody ApiSpeciesPageRequest request);
/**
* 添加-规格
* @param request
* @return
*/
@PostMapping("/add")
Result add(@Validated @RequestBody ApiSpeciesAddRequest request);
/**
* 编辑-规格
* @param request
* @return
*/
@PutMapping("/edit")
Result edit(@Validated @RequestBody ApiSpeciesEditRequest request);
/**
* 详情-规格
* @param speciesBizId 规格表唯一业务ID
* @return
*/
@GetMapping("/detail")
Result<ApiSpeciesDetailResponse> detail(@NotBlank(message = "规格表唯一业务ID能为空") @RequestParam(value = "speciesBizId") String speciesBizId);
/**
* 删除-规格
* @param speciesBizId 规格表唯一业务ID
* @return
*/
@DeleteMapping("/del")
Result del(@NotBlank(message = "规格表唯一业务ID能为空") @RequestParam(value = "speciesBizId") String speciesBizId);
}
package com.yd.base.feign.client.speciestype;
import com.yd.base.feign.fallback.speciestype.ApiSpeciesTypeFeignFallbackFactory;
import com.yd.base.feign.request.speciestype.ApiSpeciesTypeAddRequest;
import com.yd.base.feign.request.speciestype.ApiSpeciesTypeEditRequest;
import com.yd.base.feign.request.speciestype.ApiSpeciesTypePageRequest;
import com.yd.base.feign.response.speciestype.ApiSpeciesTypeDetailResponse;
import com.yd.common.result.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
/**
* 基础数据服务-规格类型类型信息Feign客户端
*/
@FeignClient(name = "yd-base-api", fallbackFactory = ApiSpeciesTypeFeignFallbackFactory.class)
public interface ApiSpeciesTypeFeignClient {
/**
* 分页列表查询-规格类型
* @param request
* @return
*/
@PostMapping("/page")
Result page(@RequestBody ApiSpeciesTypePageRequest request);
/**
* 添加-规格类型
* @param request
* @return
*/
@PostMapping("/add")
Result add(@Validated @RequestBody ApiSpeciesTypeAddRequest request);
/**
* 编辑-规格类型
* @param request
* @return
*/
@PutMapping("/edit")
Result edit(@Validated @RequestBody ApiSpeciesTypeEditRequest request);
/**
* 详情-规格类型
* @param speciesTypeBizId 规格类型表唯一业务ID
* @return
*/
@GetMapping("/detail")
Result<ApiSpeciesTypeDetailResponse> detail(@NotBlank(message = "规格类型表唯一业务ID能为空") @RequestParam(value = "speciesTypeBizId") String speciesTypeBizId);
/**
* 删除-规格类型
* @param speciesTypeBizId 规格类型表唯一业务ID
* @return
*/
@DeleteMapping("/del")
Result del(@NotBlank(message = "规格类型表唯一业务ID能为空") @RequestParam(value = "speciesTypeBizId") String speciesTypeBizId);
}
package com.yd.base.feign.dto;
import lombok.Data;
@Data
public class ApiCategoryDto {
/**
* 分类表唯一业务ID
*/
private String categoryBizId;
/**
* 父级id
*/
private String pid;
/**
* 分类类别(产品模块,资讯模块,活动模块等)
*/
private String type;
/**
* 分类编码
*/
private String code;
/**
* 分类名称
*/
private String name;
/**
* 分类层级
*/
private Integer level;
}
package com.yd.base.feign.dto;
import lombok.Data;
@Data
public class ApiFieldDto {
/**
* 字段表唯一业务ID
*/
private String fieldBizId;
/**
* 字段编码(唯一标识)
*/
private String fieldCode;
/**
* 字段中文名称
*/
private String fieldCnName;
/**
* 字段英文名称
*/
private String fieldEnName;
}
package com.yd.base.feign.dto;
import lombok.Data;
@Data
public class ApiObjectDto {
/**
* 业务对象类型
*/
private String objectType;
/**
* 业务对象所属表名(产品表、活动表、资讯表、期刊表等)
*/
private String objectTableName;
/**
* 业务对象名
*/
private String objectName;
/**
* 业务对象业务ID
*/
private String objectBizId;
}
package com.yd.base.feign.dto;
import lombok.Data;
@Data
public class ApiObjectFieldValueDto {
/**
* 字段表唯一业务ID
*/
private String fieldBizId;
/**
* 字段值表唯一业务ID
*/
private String fieldValueBizId;
/**
* 字段值
*/
private String value;
}
package com.yd.base.feign.fallback.category;
import com.yd.common.result.Result;
import com.yd.base.feign.client.category.ApiCategoryFeignClient;
import com.yd.base.feign.request.category.ApiCategoryAddRequest;
import com.yd.base.feign.request.category.ApiCategoryEditRequest;
import com.yd.base.feign.request.category.ApiCategoryPageRequest;
import com.yd.base.feign.request.category.ApiCategoryTreeListRequest;
import com.yd.base.feign.response.category.ApiCategoryDetailResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
/**
* 基础数据服务-分类信息Feign降级处理
*/
@Slf4j
@Component
public class ApiCategoryFeignFallbackFactory implements FallbackFactory<ApiCategoryFeignClient> {
@Override
public ApiCategoryFeignClient create(Throwable cause) {
return new ApiCategoryFeignClient() {
@Override
public Result page(ApiCategoryPageRequest request) {
return null;
}
@Override
public Result treeList(ApiCategoryTreeListRequest request) {
return null;
}
@Override
public Result add(ApiCategoryAddRequest request) {
return null;
}
@Override
public Result edit(ApiCategoryEditRequest request) {
return null;
}
@Override
public Result<ApiCategoryDetailResponse> detail(String categoryBizId) {
return null;
}
@Override
public Result del(String categoryBizId) {
return null;
}
};
}
}
package com.yd.base.feign.fallback.field;
import com.yd.base.feign.client.field.ApiFieldFeignClient;
import com.yd.base.feign.request.field.ApiFieldAddRequest;
import com.yd.base.feign.request.field.ApiFieldEditRequest;
import com.yd.base.feign.request.field.ApiFieldPageRequest;
import com.yd.base.feign.response.field.ApiFieldDetailResponse;
import com.yd.common.result.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
/**
* 基础数据服务-字段信息Feign降级处理
*/
@Slf4j
@Component
public class ApiFieldFeignFallbackFactory implements FallbackFactory<ApiFieldFeignClient> {
@Override
public ApiFieldFeignClient create(Throwable cause) {
return new ApiFieldFeignClient() {
@Override
public Result page(ApiFieldPageRequest request) {
return null;
}
@Override
public Result add(ApiFieldAddRequest request) {
return null;
}
@Override
public Result edit(ApiFieldEditRequest request) {
return null;
}
@Override
public Result<ApiFieldDetailResponse> detail(String fieldBizId) {
return null;
}
@Override
public Result del(String fieldBizId) {
return null;
}
};
}
}
package com.yd.base.feign.fallback.fieldvalue;
import com.yd.base.feign.client.fieldvalue.ApiFieldValueFeignClient;
import com.yd.base.feign.request.fieldvalue.ApiFieldValueAddRequest;
import com.yd.base.feign.request.fieldvalue.ApiFieldValueEditRequest;
import com.yd.base.feign.request.fieldvalue.ApiFieldValuePageRequest;
import com.yd.base.feign.response.fieldvalue.ApiFieldValueDetailResponse;
import com.yd.common.result.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
/**
* 基础数据服务-字段值信息Feign降级处理
*/
@Slf4j
@Component
public class ApiFieldValueFeignFallbackFactory implements FallbackFactory<ApiFieldValueFeignClient> {
@Override
public ApiFieldValueFeignClient create(Throwable cause) {
return new ApiFieldValueFeignClient() {
@Override
public Result page(ApiFieldValuePageRequest request) {
return null;
}
@Override
public Result add(ApiFieldValueAddRequest request) {
return null;
}
@Override
public Result edit(ApiFieldValueEditRequest request) {
return null;
}
@Override
public Result<ApiFieldValueDetailResponse> detail(String fieldValueBizId) {
return null;
}
@Override
public Result del(String fieldValueBizId) {
return null;
}
};
}
}
package com.yd.base.feign.fallback.relobjectcategory;
import com.yd.base.feign.client.relobjectcategory.ApiRelObjectCategoryFeignClient;
import com.yd.base.feign.request.relobjectcategory.ApiRelCategoryObjectListAddRequest;
import com.yd.base.feign.request.relobjectcategory.ApiRelObjectCategoryListAddRequest;
import com.yd.base.feign.request.relobjectcategory.ApiRelObjectCategoryQueryRequest;
import com.yd.base.feign.response.relobjectcategory.ApiRelObjectCategoryQueryResponse;
import com.yd.common.result.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 基础数据服务-对象分类关系信息Feign降级处理
*/
@Slf4j
@Component
public class ApiRelObjectCategoryFeignFallbackFactory implements FallbackFactory<ApiRelObjectCategoryFeignClient> {
@Override
public ApiRelObjectCategoryFeignClient create(Throwable cause) {
return new ApiRelObjectCategoryFeignClient() {
@Override
public Result<List<ApiRelObjectCategoryQueryResponse>> query(ApiRelObjectCategoryQueryRequest request) {
return null;
}
@Override
public Result addRelObjectCategoryList(ApiRelObjectCategoryListAddRequest request) {
return null;
}
@Override
public Result addRelCategoryObjectList(ApiRelCategoryObjectListAddRequest request) {
return null;
}
};
}
}
package com.yd.base.feign.fallback.relobjectfield;
import com.yd.base.feign.client.relobjectfield.ApiRelObjectFieldFeignClient;
import com.yd.base.feign.request.relobjectfield.ApiRelObjectFieldListAddRequest;
import com.yd.base.feign.request.relobjectfield.ApiRelObjectFieldQueryRequest;
import com.yd.base.feign.response.relobjectfield.ApiRelObjectFieldQueryResponse;
import com.yd.common.result.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 基础数据服务-对象字段关系信息Feign降级处理
*/
@Slf4j
@Component
public class ApiRelObjectFieldFeignFallbackFactory implements FallbackFactory<ApiRelObjectFieldFeignClient> {
@Override
public ApiRelObjectFieldFeignClient create(Throwable cause) {
return new ApiRelObjectFieldFeignClient() {
@Override
public Result<List<ApiRelObjectFieldQueryResponse>> query(ApiRelObjectFieldQueryRequest request) {
return null;
}
@Override
public Result addRelObjectFieldList(ApiRelObjectFieldListAddRequest request) {
return null;
}
};
}
}
package com.yd.base.feign.fallback.relobjectspecies;
import com.yd.base.feign.client.relobjectspecies.ApiRelObjectSpeciesFeignClient;
import com.yd.base.feign.request.relobjectspecies.ApiRelObjectSpeciesListAddRequest;
import com.yd.base.feign.request.relobjectspecies.ApiRelObjectSpeciesQueryRequest;
import com.yd.base.feign.response.relobjectspecies.ApiRelObjectSpeciesQueryResponse;
import com.yd.common.result.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 基础数据服务-对象规格关系信息Feign降级处理
*/
@Slf4j
@Component
public class ApiRelObjectSpeciesFeignFallbackFactory implements FallbackFactory<ApiRelObjectSpeciesFeignClient> {
@Override
public ApiRelObjectSpeciesFeignClient create(Throwable cause) {
return new ApiRelObjectSpeciesFeignClient() {
@Override
public Result<List<ApiRelObjectSpeciesQueryResponse>> query(ApiRelObjectSpeciesQueryRequest request) {
return null;
}
@Override
public Result addRelObjectSpeciesList(ApiRelObjectSpeciesListAddRequest request) {
return null;
}
};
}
}
package com.yd.base.feign.fallback.species;
import com.yd.base.feign.client.species.ApiSpeciesFeignClient;
import com.yd.base.feign.request.species.ApiSpeciesAddRequest;
import com.yd.base.feign.request.species.ApiSpeciesEditRequest;
import com.yd.base.feign.request.species.ApiSpeciesPageRequest;
import com.yd.base.feign.response.species.ApiSpeciesDetailResponse;
import com.yd.common.result.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
/**
* 基础数据服务-规格信息Feign降级处理
*/
@Slf4j
@Component
public class ApiSpeciesFeignFallbackFactory implements FallbackFactory<ApiSpeciesFeignClient> {
@Override
public ApiSpeciesFeignClient create(Throwable cause) {
return new ApiSpeciesFeignClient() {
@Override
public Result page(ApiSpeciesPageRequest request) {
return null;
}
@Override
public Result add(ApiSpeciesAddRequest request) {
return null;
}
@Override
public Result edit(ApiSpeciesEditRequest request) {
return null;
}
@Override
public Result<ApiSpeciesDetailResponse> detail(String speciesBizId) {
return null;
}
@Override
public Result del(String speciesBizId) {
return null;
}
};
}
}
package com.yd.base.feign.fallback.speciestype;
import com.yd.base.feign.client.speciestype.ApiSpeciesTypeFeignClient;
import com.yd.base.feign.request.speciestype.ApiSpeciesTypeAddRequest;
import com.yd.base.feign.request.speciestype.ApiSpeciesTypeEditRequest;
import com.yd.base.feign.request.speciestype.ApiSpeciesTypePageRequest;
import com.yd.base.feign.response.speciestype.ApiSpeciesTypeDetailResponse;
import com.yd.common.result.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
/**
* 基础数据服务-规格类型信息Feign降级处理
*/
@Slf4j
@Component
public class ApiSpeciesTypeFeignFallbackFactory implements FallbackFactory<ApiSpeciesTypeFeignClient> {
@Override
public ApiSpeciesTypeFeignClient create(Throwable cause) {
return new ApiSpeciesTypeFeignClient() {
@Override
public Result page(ApiSpeciesTypePageRequest request) {
return null;
}
@Override
public Result add(ApiSpeciesTypeAddRequest request) {
return null;
}
@Override
public Result edit(ApiSpeciesTypeEditRequest request) {
return null;
}
@Override
public Result<ApiSpeciesTypeDetailResponse> detail(String speciesTypeBizId) {
return null;
}
@Override
public Result del(String speciesTypeBizId) {
return null;
}
};
}
}
This diff is collapsed. Click to expand it.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment