代码同步更新 02.12

main
张博文 3 months ago
parent 748e23d521
commit c13e5e8e54

8
.idea/.gitignore vendored

@ -1,8 +0,0 @@
# 默认忽略的文件
/shelf/
/workspace.xml
# 基于编辑器的 HTTP 客户端请求
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

@ -1,66 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<annotationProcessing>
<profile default="true" name="Default" enabled="true" />
<profile name="Annotation profile for yudao" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<processorPath useClasspath="false">
<entry name="$PROJECT_DIR$/../../MVNrepository/org/springframework/boot/spring-boot-configuration-processor/2.7.8/spring-boot-configuration-processor-2.7.8.jar" />
<entry name="$PROJECT_DIR$/../../MVNrepository/org/projectlombok/lombok/1.18.24/lombok-1.18.24.jar" />
<entry name="$PROJECT_DIR$/../../MVNrepository/org/mapstruct/mapstruct-processor/1.5.3.Final/mapstruct-processor-1.5.3.Final.jar" />
<entry name="$PROJECT_DIR$/../../MVNrepository/org/mapstruct/mapstruct/1.5.3.Final/mapstruct-1.5.3.Final.jar" />
</processorPath>
<module name="yudao-spring-boot-starter-job" />
<module name="yudao-module-report-api" />
<module name="yudao-module-system-biz" />
<module name="yudao-module-chain-biz" />
<module name="yudao-spring-boot-starter-redis" />
<module name="yudao-spring-boot-starter-mybatis" />
<module name="yudao-module-basic-biz" />
<module name="yudao-module-product-biz" />
<module name="yudao-spring-boot-starter-protection" />
<module name="yudao-spring-boot-starter-file" />
<module name="yudao-module-report-biz" />
<module name="yudao-spring-boot-starter-biz-tenant" />
<module name="yudao-spring-boot-starter-captcha" />
<module name="yudao-spring-boot-starter-biz-pay" />
<module name="yudao-module-basic-api" />
<module name="yudao-spring-boot-starter-mq" />
<module name="yudao-module-configure-api" />
<module name="yudao-module-product-api" />
<module name="yudao-spring-boot-starter-banner" />
<module name="yudao-common" />
<module name="yudao-spring-boot-starter-excel" />
<module name="yudao-module-configure-biz" />
<module name="yudao-spring-boot-starter-biz-dict" />
<module name="yudao-spring-boot-starter-biz-sms" />
<module name="yudao-module-flow-api" />
<module name="yudao-spring-boot-starter-test" />
<module name="yudao-module-flow-biz" />
<module name="yudao-spring-boot-starter-biz-data-permission" />
<module name="yudao-spring-boot-starter-security" />
<module name="yudao-spring-boot-starter-web" />
<module name="yudao-module-identity-biz" />
<module name="yudao-spring-boot-starter-biz-ip" />
<module name="yudao-spring-boot-starter-biz-operatelog" />
<module name="yudao-gateway" />
<module name="yudao-module-infra-api" />
<module name="yudao-spring-boot-starter-monitor" />
<module name="yudao-module-infra-biz" />
<module name="yudao-spring-boot-starter-env" />
<module name="yudao-module-identity-api" />
<module name="yudao-spring-boot-starter-biz-error-code" />
<module name="yudao-spring-boot-starter-flowable" />
<module name="yudao-spring-boot-starter-biz-social" />
<module name="yudao-spring-boot-starter-rpc" />
<module name="yudao-module-system-api" />
<module name="yudao-spring-boot-starter-biz-weixin" />
<module name="yudao-module-chain-api" />
<module name="yudao-spring-boot-starter-desensitize" />
</profile>
</annotationProcessing>
</component>
</project>

@ -1,121 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-common/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-common/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-banner/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-banner/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-biz-dict/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-biz-dict/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-biz-error-code/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-biz-error-code/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-biz-ip/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-biz-ip/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-biz-operatelog/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-biz-operatelog/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-biz-sms/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-biz-sms/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-biz-social/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-biz-social/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-biz-tenant/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-biz-tenant/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-biz-weixin/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-biz-weixin/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-captcha/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-captcha/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-desensitize/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-desensitize/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-env/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-env/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-excel/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-excel/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-file/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-file/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-flowable/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-flowable/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-job/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-job/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-monitor/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-monitor/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-mq/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-mq/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-mybatis/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-protection/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-protection/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-redis/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-redis/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-rpc/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-security/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-security/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-test/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-test/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-web/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-framework/yudao-spring-boot-starter-web/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-gateway/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-gateway/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-basic/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-basic/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-basic/yudao-module-basic-api/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-basic/yudao-module-basic-api/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-basic/yudao-module-basic-biz/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-basic/yudao-module-basic-biz/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-chain/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-chain/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-chain/yudao-module-chain-api/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-chain/yudao-module-chain-api/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-chain/yudao-module-chain-biz/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-chain/yudao-module-chain-biz/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-configure/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-configure/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-configure/yudao-module-configure-api/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-configure/yudao-module-configure-api/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-configure/yudao-module-configure-biz/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-configure/yudao-module-configure-biz/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-flow/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-flow/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-flow/yudao-module-flow-api/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-flow/yudao-module-flow-api/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-flow/yudao-module-flow-biz/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-flow/yudao-module-flow-biz/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-identity/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-identity/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-identity/yudao-module-identity-api/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-identity/yudao-module-identity-api/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-identity/yudao-module-identity-biz/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-identity/yudao-module-identity-biz/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-infra/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-infra/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-infra/yudao-module-infra-api/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-infra/yudao-module-infra-api/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-infra/yudao-module-infra-biz/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-infra/yudao-module-infra-biz/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-product/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-product/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-product/yudao-module-product-api/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-product/yudao-module-product-api/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-product/yudao-module-product-biz/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-product/yudao-module-product-biz/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-report/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-report/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-report/yudao-module-report-api/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-report/yudao-module-report-api/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-report/yudao-module-report-biz/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-report/yudao-module-report-biz/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-system/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-system/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-system/yudao-module-system-api/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-system/yudao-module-system-api/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-system/yudao-module-system-biz/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yudao-module-system/yudao-module-system-biz/src/main/resources" charset="UTF-8" />
</component>
</project>

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="aliyunmaven" />
<option name="name" value="aliyun" />
<option name="url" value="https://maven.aliyun.com/repository/public" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Central Repository" />
<option name="url" value="http://maven.aliyun.com/nexus/content/repositories/central/" />
</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>

@ -1,12 +0,0 @@
<?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" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
</project>

@ -1,124 +0,0 @@
<?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.svg" 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.svg" 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.svg" 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.svg" 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.svg" 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.svg" 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.svg" 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.svg" 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.svg" 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.svg" 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.svg" 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.svg" 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.svg" 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.svg" 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.svg" 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.svg" 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.svg" 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.svg" 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.svg" 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.svg" 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.svg" 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.svg" 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.svg" 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.svg" 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.svg" 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.svg" 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.svg" 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>

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

@ -20,10 +20,6 @@ public class BusinessInfoRespDTO {
* code * code
*/ */
private String businessId; private String businessId;
/**
* ID
*/
private Long codeRuleId;
/** /**
* ,// * ,//
*/ */

@ -38,11 +38,6 @@ public class BusinessInfoDTO {
*/ */
@ApiModelProperty(value = "商户编码") @ApiModelProperty(value = "商户编码")
private String businessId; private String businessId;
/**
* ID
*/
@ApiModelProperty(value = "溯源码编码规则ID")
private Long codeRuleId;
/** /**
* ,// * ,//
*/ */

@ -89,16 +89,4 @@ public class BusinessInfoController {
BusinessInfoDO businessInfoByBusinessId = businessInfoService.getBusinessInfoByBusinessId(businessId); BusinessInfoDO businessInfoByBusinessId = businessInfoService.getBusinessInfoByBusinessId(businessId);
return success(BusinessInfoConvert.INSTANCE.convert(businessInfoByBusinessId)); return success(BusinessInfoConvert.INSTANCE.convert(businessInfoByBusinessId));
} }
@PutMapping("/setDefaultRuleCode")
@ApiOperation("设置默认码规则")
@ApiImplicitParams({
@ApiImplicitParam(name = "codeId", value = "码规则编号", required = true, example = "1024", dataTypeClass = Long.class),
@ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class)
})
@PreAuthorize("@ss.hasPermission('basic:business-info:update')")
public CommonResult<Boolean> setDefaultRuleCode(@RequestParam("id") Long id,@RequestParam("codeId") Long codeId) {
businessInfoService.setDefaultRuleCode(id,codeId);
return success(true);
}
} }

@ -14,9 +14,6 @@ public class BusinessInfoCreateReqVO extends BusinessInfoBaseVO {
@ApiModelProperty(value = "商户code") @ApiModelProperty(value = "商户code")
private String businessId; private String businessId;
@ApiModelProperty(value = "溯源码编码规则ID")
private Long codeRuleId;
@ApiModelProperty(value = "认证状态", example = "0") @ApiModelProperty(value = "认证状态", example = "0")
private byte verifyState; private byte verifyState;

@ -15,9 +15,6 @@ public class BusinessInfoRespVO extends BusinessInfoBaseVO {
@ApiModelProperty(value = "商户code", required = true) @ApiModelProperty(value = "商户code", required = true)
private String businessId; private String businessId;
@ApiModelProperty(value = "溯源码编码规则ID")
private Long codeRuleId;
@ApiModelProperty(value = "认证状态", example = "0") @ApiModelProperty(value = "认证状态", example = "0")
private byte verifyState; private byte verifyState;

@ -19,9 +19,6 @@ public class BusinessInfoUpdateReqVO extends BusinessInfoBaseVO {
@NotNull(message = "商户code不能为空") @NotNull(message = "商户code不能为空")
private String businessId; private String businessId;
@ApiModelProperty(value = "溯源码编码规则ID")
private Long codeRuleId;
@ApiModelProperty(value = "所属行政区,例如福建省/福州市/鼓楼区") @ApiModelProperty(value = "所属行政区,例如福建省/福州市/鼓楼区")
private String area; private String area;

@ -1,9 +1,10 @@
package cn.iocoder.yudao.module.basic.dal.dataobject.businessinfo; package cn.iocoder.yudao.module.basic.dal.dataobject.businessinfo;
import lombok.*;
import java.util.*;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
/** /**
* DO * DO
@ -37,10 +38,6 @@ public class BusinessInfoDO extends BaseDO {
* code * code
*/ */
private String businessId; private String businessId;
/**
* ID
*/
private Long codeRuleId;
/** /**
* ,// * ,//
*/ */

@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.basic.framework.rpc.config;
import cn.iocoder.yudao.module.configure.api.uniTemplate.UniTemplateApi; import cn.iocoder.yudao.module.configure.api.uniTemplate.UniTemplateApi;
import cn.iocoder.yudao.module.flow.api.outbound.OutboundApi; import cn.iocoder.yudao.module.flow.api.outbound.OutboundApi;
import cn.iocoder.yudao.module.identity.api.businessrule.BusinessRuleApi;
import cn.iocoder.yudao.module.infra.api.file.FileApi; import cn.iocoder.yudao.module.infra.api.file.FileApi;
import cn.iocoder.yudao.module.product.api.harvestbatch.HarvestBatchApi; import cn.iocoder.yudao.module.product.api.harvestbatch.HarvestBatchApi;
import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.cloud.openfeign.EnableFeignClients;
@ -10,7 +9,6 @@ import org.springframework.context.annotation.Configuration;
@Configuration(proxyBeanMethods = false) @Configuration(proxyBeanMethods = false)
@EnableFeignClients(clients = { @EnableFeignClients(clients = {
BusinessRuleApi.class,
FileApi.class, FileApi.class,
UniTemplateApi.class, UniTemplateApi.class,
OutboundApi.class, OutboundApi.class,

@ -74,11 +74,4 @@ public interface BusinessInfoService {
*/ */
BusinessInfoDO getBusinessInfoByBusinessId(String businessId); BusinessInfoDO getBusinessInfoByBusinessId(String businessId);
/**
*
* @param id
* @param codeId
* @return
*/
void setDefaultRuleCode(Long id,Long codeId);
} }

@ -12,10 +12,7 @@ import cn.iocoder.yudao.module.basic.dal.dataobject.businessinfo.BusinessInfoDO;
import cn.iocoder.yudao.module.basic.dal.mysql.businessinfo.BusinessInfoMapper; import cn.iocoder.yudao.module.basic.dal.mysql.businessinfo.BusinessInfoMapper;
import cn.iocoder.yudao.module.basic.enums.ErrorCodeConstants; import cn.iocoder.yudao.module.basic.enums.ErrorCodeConstants;
import cn.iocoder.yudao.module.configure.api.uniTemplate.UniTemplateApi; import cn.iocoder.yudao.module.configure.api.uniTemplate.UniTemplateApi;
import cn.iocoder.yudao.module.identity.api.businessrule.BusinessRuleApi;
import cn.iocoder.yudao.module.identity.api.businessrule.dto.BusinessRuleRespDTO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import io.seata.spring.annotation.GlobalTransactional; import io.seata.spring.annotation.GlobalTransactional;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -39,9 +36,6 @@ public class BusinessInfoServiceImpl implements BusinessInfoService {
@Resource @Resource
private BusinessInfoMapper businessInfoMapper; private BusinessInfoMapper businessInfoMapper;
@Resource
private BusinessRuleApi businessRuleApi;
@Resource @Resource
private UniTemplateApi uniTemplateApi; private UniTemplateApi uniTemplateApi;
@ -63,24 +57,8 @@ public class BusinessInfoServiceImpl implements BusinessInfoService {
BusinessInfoDO businessInfo = BusinessInfoConvert.INSTANCE.convert(createReqVO); BusinessInfoDO businessInfo = BusinessInfoConvert.INSTANCE.convert(createReqVO);
businessInfo.setBusinessId(CodeEnum.BUSINESS_CODE.getCode()); businessInfo.setBusinessId(CodeEnum.BUSINESS_CODE.getCode());
businessInfo.setVerifyState((byte) 0); businessInfo.setVerifyState((byte) 0);
try {
// 创建码规则信息 businessInfoMapper.insert(businessInfo);
BusinessRuleRespDTO businessRule = new BusinessRuleRespDTO();
// 创建码规则信息
businessRule.setBusinessId(businessInfo.getBusinessId());
businessRule.setBusinessName(businessInfo.getBusinessName());
businessRule.setCodeType(0);
Long codeRuleId = businessRuleApi.createBusinessRule(businessRule).getData();
if (codeRuleId.equals((long) 0)) {
throw exception(BUSINESS_RULE_INIT_FAIL_CREATE);
}
businessInfo.setCodeRuleId(codeRuleId);
businessInfoMapper.insert(businessInfo);
} catch (Exception e) {
e.printStackTrace();
throw exception(BUSINESS_INFO_FAIL_CREATE);
}
redisUtil.updateBusinessInfoRedis(businessInfo.getId(), BusinessInfoConvert.INSTANCE.convertToDTO(businessInfo)); redisUtil.updateBusinessInfoRedis(businessInfo.getId(), BusinessInfoConvert.INSTANCE.convertToDTO(businessInfo));
// 返回 // 返回
@ -157,18 +135,6 @@ public class BusinessInfoServiceImpl implements BusinessInfoService {
return businessInfoMapper.selectOne(queryWrapper); return businessInfoMapper.selectOne(queryWrapper);
} }
/**
*
*
* @param id
* @param codeId
* @return
*/
@Override
public void setDefaultRuleCode(Long id, Long codeId) {
businessInfoMapper.update(new BusinessInfoDO().setCodeRuleId(codeId), new UpdateWrapper<BusinessInfoDO>().eq("id", id));
}
private void validateBusinessNameExists(String businessName) { private void validateBusinessNameExists(String businessName) {
QueryWrapper<BusinessInfoDO> wrapper = new QueryWrapper<>(); QueryWrapper<BusinessInfoDO> wrapper = new QueryWrapper<>();
wrapper.eq("business_name", businessName); wrapper.eq("business_name", businessName);

@ -1,33 +0,0 @@
package cn.iocoder.yudao.module.identity.api.businessrule;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
import cn.iocoder.yudao.module.identity.api.businessrule.dto.BusinessRuleRespDTO;
import cn.iocoder.yudao.module.identity.enums.ApiConstants;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import javax.validation.Valid;
@FeignClient(name = ApiConstants.NAME)
@Api(tags = "RPC 服务 - 码规则")
public interface BusinessRuleApi {
String PREFIX = ApiConstants.CONST + "/business-rule";
@PostMapping(PREFIX + "/create")
@ApiOperation("创建码规则")
@OperateLog(enable = false) // 不记录操作日志
CommonResult<Long> createBusinessRule(@Valid @RequestBody BusinessRuleRespDTO businessRule);
@PostMapping(PREFIX + "/delBusinessRule")
@ApiOperation("删除码规则")
@ApiImplicitParam(name = "codeRuleId", value = "码规则ID", required = true, example = "1", dataTypeClass = Long.class)
@OperateLog(enable = false) // 不记录操作日志
CommonResult<Boolean> delBusinessRule(Long codeRuleId);
}

@ -1,37 +0,0 @@
package cn.iocoder.yudao.module.identity.api.businessrule.dto;
import lombok.Data;
@Data
public class BusinessRuleRespDTO {
/**
* businessId id
*/
private String businessId;
/**
* businessName
*/
private String businessName;
/**
* codeRuleId id
*/
private String codeRuleId;
/**
* codeRuleName
*/
private String codeRuleName;
/**
* codeType 0 1
*/
private Integer codeType;
/**
* codeRuleFormat
*/
private String codeRuleFormat;
}

@ -1,43 +0,0 @@
package cn.iocoder.yudao.module.identity.api.businessrule;
import cn.hutool.core.bean.BeanUtil;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.identity.api.businessrule.dto.BusinessRuleRespDTO;
import cn.iocoder.yudao.module.identity.controller.admin.businessrule.vo.BusinessRuleCreateReqVO;
import cn.iocoder.yudao.module.identity.dal.dataobject.businessrule.BusinessRuleDO;
import cn.iocoder.yudao.module.identity.service.businessrule.BusinessRuleService;
import cn.iocoder.yudao.module.system.enums.ApiConstants;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.validation.Valid;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@RestController // 提供 RESTful API 接口,给 Feign 调用
@DubboService(version = ApiConstants.VERSION) // 提供 Dubbo RPC 接口,给 Dubbo Consumer 调用
@Validated
public class businessRuleApiImpl implements BusinessRuleApi {
@Resource
private BusinessRuleService businessRuleService;
@Override
@Transactional
public CommonResult<Long> createBusinessRule(@Valid BusinessRuleRespDTO businessRule) {
// BeanUtils.copyProperties(businessRule);
BusinessRuleCreateReqVO businessRuleCreateReqVO = new BusinessRuleCreateReqVO();
BeanUtil.copyProperties(businessRule, businessRuleCreateReqVO);
return CommonResult.success(businessRuleService.createBusinessRule(businessRuleCreateReqVO));
}
@Override
public CommonResult<Boolean> delBusinessRule(Long codeRuleId) {
businessRuleService.deleteBusinessRule(codeRuleId);
return success(true);
}
}

@ -1,106 +0,0 @@
package cn.iocoder.yudao.module.identity.controller.admin.businessrule;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.annotations.*;
import javax.validation.constraints.*;
import javax.validation.*;
import javax.servlet.http.*;
import java.util.*;
import java.io.IOException;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.identity.controller.admin.businessrule.vo.*;
import cn.iocoder.yudao.module.identity.dal.dataobject.businessrule.BusinessRuleDO;
import cn.iocoder.yudao.module.identity.convert.businessrule.BusinessRuleConvert;
import cn.iocoder.yudao.module.identity.service.businessrule.BusinessRuleService;
@Api(tags = "管理后台 - 码规则")
@RestController
@RequestMapping("/identity/business-rule")
@Validated
public class BusinessRuleController {
@Resource
private BusinessRuleService businessRuleService;
@PostMapping("/create")
@ApiOperation("创建码规则")
@PreAuthorize("@ss.hasPermission('identity:business-rule:create')")
public CommonResult<Long> createBusinessRule(@Valid @RequestBody BusinessRuleCreateReqVO createReqVO) {
return success(businessRuleService.createBusinessRule(createReqVO));
}
@PutMapping("/update")
@ApiOperation("更新码规则")
@PreAuthorize("@ss.hasPermission('identity:business-rule:update')")
public CommonResult<Boolean> updateBusinessRule(@Valid @RequestBody BusinessRuleUpdateReqVO updateReqVO) {
businessRuleService.updateBusinessRule(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@ApiOperation("删除码规则")
@ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Long.class)
@PreAuthorize("@ss.hasPermission('identity:business-rule:delete')")
public CommonResult<Boolean> deleteBusinessRule(@RequestParam("id") Long id) {
businessRuleService.deleteBusinessRule(id);
return success(true);
}
@GetMapping("/get")
@ApiOperation("获得码规则")
@ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class)
@PreAuthorize("@ss.hasPermission('identity:business-rule:query')")
public CommonResult<BusinessRuleRespVO> getBusinessRule(@RequestParam("id") Long id) {
BusinessRuleDO businessRule = businessRuleService.getBusinessRule(id);
return success(BusinessRuleConvert.INSTANCE.convert(businessRule));
}
@GetMapping("/list")
@ApiOperation("获得码规则列表")
@ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class)
@PreAuthorize("@ss.hasPermission('identity:business-rule:query')")
public CommonResult<List<BusinessRuleRespVO>> getBusinessRuleList(@RequestParam("ids") Collection<Long> ids) {
List<BusinessRuleDO> list = businessRuleService.getBusinessRuleList(ids);
return success(BusinessRuleConvert.INSTANCE.convertList(list));
}
@GetMapping("/listByBusinessId")
@ApiOperation("根据所属商户编码,获得码规则列表")
@ApiImplicitParam(name = "businessId", value = "所属商户编码", required = true, dataTypeClass = String.class)
@PreAuthorize("@ss.hasPermission('identity:business-rule:query')")
public CommonResult<List<BusinessRuleRespVO>> getBusinessRuleListByBusinessId(String businessId) {
List<BusinessRuleDO> list = businessRuleService.getBusinessRuleListByBusinessId(businessId);
return success(BusinessRuleConvert.INSTANCE.convertList(list));
}
@GetMapping("/page")
@ApiOperation("获得码规则分页")
@PreAuthorize("@ss.hasPermission('identity:business-rule:query')")
public CommonResult<PageResult<BusinessRuleRespVO>> getBusinessRulePage(@Valid BusinessRulePageReqVO pageVO) {
PageResult<BusinessRuleDO> pageResult = businessRuleService.getBusinessRulePage(pageVO);
return success(BusinessRuleConvert.INSTANCE.convertPage(pageResult));
}
@GetMapping("/getBusinessRuleByBusinessName")
@ApiOperation("根据商户昵称获取马规则信息")
@ApiImplicitParam(name = "businessName", value = "商户编码", required = true, example = "1024", dataTypeClass = Long.class)
@PreAuthorize("@ss.hasPermission('identity:business-rule:query')")
public CommonResult<BusinessRuleDO> getBusinessRuleByBusinessName(@RequestParam("businessName") String businessName) {
BusinessRuleDO businessRuleByBusinessName = businessRuleService.getBusinessRuleByBusinessName(businessName);
return success(businessRuleByBusinessName);
}
}

@ -1,33 +0,0 @@
package cn.iocoder.yudao.module.identity.controller.admin.businessrule.vo;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import javax.validation.constraints.*;
/**
* Base VO VO 使
* VO Swagger
*/
@Data
public class BusinessRuleBaseVO {
@ApiModelProperty(value = "商户id")
private String businessId;
@ApiModelProperty(value = "商户名称")
private String businessName;
@ApiModelProperty(value = "溯源码规则标识码")
private String codeRuleId;
@ApiModelProperty(value = "码规则名称")
private String codeRuleName;
@ApiModelProperty(value = "码类型0普通码 1明暗码")
private Integer codeType;
@ApiModelProperty(value = "码规则")
private String codeRuleFormat;
}

@ -1,14 +0,0 @@
package cn.iocoder.yudao.module.identity.controller.admin.businessrule.vo;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import javax.validation.constraints.*;
@ApiModel("管理后台 - 码规则创建 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class BusinessRuleCreateReqVO extends BusinessRuleBaseVO {
}

@ -1,41 +0,0 @@
package cn.iocoder.yudao.module.identity.controller.admin.businessrule.vo;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import com.alibaba.excel.annotation.ExcelProperty;
/**
* Excel VO
*
* @author
*/
@Data
public class BusinessRuleExcelVO {
@ExcelProperty("编码")
private Long id;
@ExcelProperty("商户id")
private String businessId;
@ExcelProperty("商户名称")
private String businessName;
@ExcelProperty("溯源码规则标识码")
private String codeRuleId;
@ExcelProperty("码规则名称")
private String codeRuleName;
@ExcelProperty("码类型0普通码 1明暗码")
private Integer codeType;
@ExcelProperty("码规则")
private String codeRuleFormat;
@ExcelProperty("创建时间")
private Date createTime;
}

@ -1,36 +0,0 @@
package cn.iocoder.yudao.module.identity.controller.admin.businessrule.vo;
import cn.iocoder.yudao.framework.common.util.date.DateUtils;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import org.springframework.format.annotation.DateTimeFormat;
@ApiModel(value = "管理后台 - 码规则 Excel 导出 Request VO", description = "参数和 BusinessRulePageReqVO 是一致的")
@Data
public class BusinessRuleExportReqVO {
@ApiModelProperty(value = "商户id")
private String businessId;
@ApiModelProperty(value = "商户名称")
private String businessName;
@ApiModelProperty(value = "溯源码规则标识码")
private String codeRuleId;
@ApiModelProperty(value = "码规则名称")
private String codeRuleName;
@ApiModelProperty(value = "码类型0普通码 1明暗码")
private Integer codeType;
@ApiModelProperty(value = "码规则")
private String codeRuleFormat;
@ApiModelProperty(value = "创建时间")
@DateTimeFormat(pattern = DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private Date[] createTime;
}

@ -1,38 +0,0 @@
package cn.iocoder.yudao.module.identity.controller.admin.businessrule.vo;
import cn.iocoder.yudao.framework.common.util.date.DateUtils;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
@ApiModel("管理后台 - 码规则分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class BusinessRulePageReqVO extends PageParam {
@ApiModelProperty(value = "商户id")
private String businessId;
@ApiModelProperty(value = "商户名称")
private String businessName;
@ApiModelProperty(value = "溯源码规则标识码")
private String codeRuleId;
@ApiModelProperty(value = "码规则名称")
private String codeRuleName;
@ApiModelProperty(value = "码类型0普通码 1明暗码")
private Integer codeType;
@ApiModelProperty(value = "码规则")
private String codeRuleFormat;
@ApiModelProperty(value = "创建时间")
@DateTimeFormat(pattern = DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private Date[] createTime;
}

@ -1,20 +0,0 @@
package cn.iocoder.yudao.module.identity.controller.admin.businessrule.vo;
import lombok.*;
import io.swagger.annotations.*;
import java.util.Date;
@ApiModel("管理后台 - 码规则 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class BusinessRuleRespVO extends BusinessRuleBaseVO {
@ApiModelProperty(value = "编码", required = true)
private Long id;
@ApiModelProperty(value = "创建时间")
private Date createTime;
}

@ -1,18 +0,0 @@
package cn.iocoder.yudao.module.identity.controller.admin.businessrule.vo;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import javax.validation.constraints.*;
@ApiModel("管理后台 - 码规则更新 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class BusinessRuleUpdateReqVO extends BusinessRuleBaseVO {
@ApiModelProperty(value = "编码", required = true)
@NotNull(message = "编码不能为空")
private Long id;
}

@ -38,7 +38,7 @@ public class GenerateRecordController {
@PostMapping("/create") @PostMapping("/create")
@ApiOperation("创建标识码生成记录") @ApiOperation("创建标识码生成记录")
@PreAuthorize("@ss.hasPermission('identity:generate-record:create')") @PreAuthorize("@ss.hasPermission('identity:generate-record:create')")
public CommonResult<Long> createGenerateRecord(@Valid @RequestBody GenerateRecordCreateReqVO createReqVOe) throws IOException, WriterException { public CommonResult<Long> createGenerateRecord(@Valid @RequestBody GenerateRecordCreateReqVO createReqVOe) {
return success(generateRecordService.createGenerateRecord(createReqVOe)); return success(generateRecordService.createGenerateRecord(createReqVOe));
} }

@ -14,14 +14,6 @@ import javax.validation.constraints.NotNull;
@ToString(callSuper = true) @ToString(callSuper = true)
public class GenerateRecordCreateReqVO { public class GenerateRecordCreateReqVO {
@ApiModelProperty(value = "码规则id", required = true)
@NotNull(message = "码规则id不能为空")
private Long ruleId;
@ApiModelProperty(value = "码类型 0普通码 1明暗码", required = true)
@NotNull(message = "码类型 0普通码 1明暗码不能为空")
private Integer codeType;
@ApiModelProperty(value = "字符长度", required = true) @ApiModelProperty(value = "字符长度", required = true)
@NotNull(message = "字符长度不能为空") @NotNull(message = "字符长度不能为空")
@Max(32) @Max(32)
@ -34,6 +26,8 @@ public class GenerateRecordCreateReqVO {
@ApiModelProperty(value = "数量", required = true) @ApiModelProperty(value = "数量", required = true)
@NotNull(message = "数量不能为空") @NotNull(message = "数量不能为空")
@Min(value = 1, message = "数量的取值范围为1~500")
@Max(value = 500, message = "数量的取值范围为1~500")
private Integer codeNum; private Integer codeNum;
@ApiModelProperty(value = "所属商户编码", required = true) @ApiModelProperty(value = "所属商户编码", required = true)
@ -47,4 +41,5 @@ public class GenerateRecordCreateReqVO {
@ApiModelProperty(value = "经销商编码", required = true) @ApiModelProperty(value = "经销商编码", required = true)
@NotNull(message = "经销商编码不能为空") @NotNull(message = "经销商编码不能为空")
private String dealerId; private String dealerId;
} }

@ -1,34 +0,0 @@
package cn.iocoder.yudao.module.identity.convert.businessrule;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import cn.iocoder.yudao.module.identity.controller.admin.businessrule.vo.*;
import cn.iocoder.yudao.module.identity.dal.dataobject.businessrule.BusinessRuleDO;
/**
* Convert
*
* @author
*/
@Mapper
public interface BusinessRuleConvert {
BusinessRuleConvert INSTANCE = Mappers.getMapper(BusinessRuleConvert.class);
BusinessRuleDO convert(BusinessRuleCreateReqVO bean);
BusinessRuleDO convert(BusinessRuleUpdateReqVO bean);
BusinessRuleRespVO convert(BusinessRuleDO bean);
List<BusinessRuleRespVO> convertList(List<BusinessRuleDO> list);
PageResult<BusinessRuleRespVO> convertPage(PageResult<BusinessRuleDO> page);
List<BusinessRuleExcelVO> convertList02(List<BusinessRuleDO> list);
}

@ -1,53 +0,0 @@
package cn.iocoder.yudao.module.identity.dal.dataobject.businessrule;
import lombok.*;
import java.util.*;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
/**
* DO
*
* @author
*/
@TableName("identity_business_rule")
@KeySequence("identity_business_rule_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class BusinessRuleDO extends BaseDO {
/**
*
*/
@TableId
private Long id;
/**
* id
*/
private String businessId;
/**
*
*/
private String businessName;
/**
*
*/
private String codeRuleId;
/**
*
*/
private String codeRuleName;
/**
* 0 1
*/
private Integer codeType;
/**
*
*/
private String codeRuleFormat;
}

@ -1,44 +0,0 @@
package cn.iocoder.yudao.module.identity.dal.mysql.businessrule;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.identity.dal.dataobject.businessrule.BusinessRuleDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.identity.controller.admin.businessrule.vo.*;
/**
* Mapper
*
* @author
*/
@Mapper
public interface BusinessRuleMapper extends BaseMapperX<BusinessRuleDO> {
default PageResult<BusinessRuleDO> selectPage(BusinessRulePageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<BusinessRuleDO>()
.eqIfPresent(BusinessRuleDO::getBusinessId, reqVO.getBusinessId())
.likeIfPresent(BusinessRuleDO::getBusinessName, reqVO.getBusinessName())
.eqIfPresent(BusinessRuleDO::getCodeRuleId, reqVO.getCodeRuleId())
.likeIfPresent(BusinessRuleDO::getCodeRuleName, reqVO.getCodeRuleName())
.eqIfPresent(BusinessRuleDO::getCodeType, reqVO.getCodeType())
.eqIfPresent(BusinessRuleDO::getCodeRuleFormat, reqVO.getCodeRuleFormat())
.betweenIfPresent(BusinessRuleDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(BusinessRuleDO::getId));
}
default List<BusinessRuleDO> selectList(BusinessRuleExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<BusinessRuleDO>()
.eqIfPresent(BusinessRuleDO::getBusinessId, reqVO.getBusinessId())
.likeIfPresent(BusinessRuleDO::getBusinessName, reqVO.getBusinessName())
.eqIfPresent(BusinessRuleDO::getCodeRuleId, reqVO.getCodeRuleId())
.likeIfPresent(BusinessRuleDO::getCodeRuleName, reqVO.getCodeRuleName())
.eqIfPresent(BusinessRuleDO::getCodeType, reqVO.getCodeType())
.eqIfPresent(BusinessRuleDO::getCodeRuleFormat, reqVO.getCodeRuleFormat())
.betweenIfPresent(BusinessRuleDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(BusinessRuleDO::getId));
}
}

@ -1,77 +0,0 @@
package cn.iocoder.yudao.module.identity.service.businessrule;
import java.util.*;
import javax.validation.*;
import cn.iocoder.yudao.module.identity.controller.admin.businessrule.vo.*;
import cn.iocoder.yudao.module.identity.dal.dataobject.businessrule.BusinessRuleDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
/**
* Service
*
* @author
*/
public interface BusinessRuleService {
/**
*
*
* @param createReqVO
* @return
*/
Long createBusinessRule(@Valid BusinessRuleCreateReqVO createReqVO);
/**
*
*
* @param updateReqVO
*/
void updateBusinessRule(@Valid BusinessRuleUpdateReqVO updateReqVO);
/**
*
*
* @param id
*/
void deleteBusinessRule(Long id);
/**
*
*
* @param id
* @return
*/
BusinessRuleDO getBusinessRule(Long id);
/**
*
*
* @param ids
* @return
*/
List<BusinessRuleDO> getBusinessRuleList(Collection<Long> ids);
/**
*
*
* @param businessId
* @return
*/
List<BusinessRuleDO> getBusinessRuleListByBusinessId(String businessId);
/**
*
*
* @param pageReqVO
* @return
*/
PageResult<BusinessRuleDO> getBusinessRulePage(BusinessRulePageReqVO pageReqVO);
/**
*
* @param businessName
* @return
*/
BusinessRuleDO getBusinessRuleByBusinessName(String businessName);
}

@ -1,173 +0,0 @@
package cn.iocoder.yudao.module.identity.service.businessrule;
import cn.iocoder.yudao.framework.common.enums.CodeEnum;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.basic.api.businessinfo.BusinessInfoApi;
import cn.iocoder.yudao.module.basic.api.redis.dto.BusinessInfoDTO;
import cn.iocoder.yudao.module.identity.api.businessrule.BusinessRuleApi;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import java.util.*;
import cn.iocoder.yudao.module.identity.controller.admin.businessrule.vo.*;
import cn.iocoder.yudao.module.identity.dal.dataobject.businessrule.BusinessRuleDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.identity.convert.businessrule.BusinessRuleConvert;
import cn.iocoder.yudao.module.identity.dal.mysql.businessrule.BusinessRuleMapper;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.basic.enums.ErrorCodeConstants.BUSINESS_INFO_NOT_EXISTS;
import static cn.iocoder.yudao.module.identity.enums.ErrorCodeConstants.*;
/**
* Service
*
* @author
*/
@Service
@Validated
public class BusinessRuleServiceImpl implements BusinessRuleService {
@Resource
private BusinessRuleMapper businessRuleMapper;
@Resource
private BusinessInfoApi businessInfoApi;
/**
*
*
* @param createReqVO
* @return
*/
@Override
public Long createBusinessRule(BusinessRuleCreateReqVO createReqVO) {
// 设置默认值
String codeRuleName = "默认码规则"; //码规则名称
//码规则
String codeRuleFormat = "^https://trace.minipro.yuanhaotest.com/1304120058656711/(.*)";
//码类型 0普通类型
Integer CodeType = 0;
// 插入 将请求VO转换成DO
BusinessRuleDO businessRule = new BusinessRuleDO();
try {
businessRule = BusinessRuleConvert.INSTANCE.convert(createReqVO);
// 如果请求中的码规则名称为空,则使用默认值
businessRule.setCodeRuleName(StringUtils.defaultIfBlank(businessRule.getCodeRuleName(), codeRuleName));
// 如果请求中的码规则为空,则使用默认值
businessRule.setCodeRuleFormat(StringUtils.defaultIfBlank(businessRule.getCodeRuleFormat(), codeRuleFormat));
// 如果请求中的码类型为空,则使用默认值
businessRule.setCodeType(businessRule.getCodeType() == 0 ? businessRule.getCodeType() : CodeType);
businessRule.setCodeRuleId(CodeEnum.BUSINESS_RULE_CODE.getCode());
// 插入到数据库中
businessRuleMapper.insert(businessRule);
}catch (Exception e){
throw exception(BUSINESS_RULE_CREAT_FAIL);
}
// 返回ID
return businessRule.getId();
}
/**
*
*
* @param updateReqVO
*/
@Override
public void updateBusinessRule(BusinessRuleUpdateReqVO updateReqVO) {
// 校验存在
validateBusinessRuleExists(updateReqVO.getId());
// 更新
BusinessRuleDO updateObj = BusinessRuleConvert.INSTANCE.convert(updateReqVO);
businessRuleMapper.updateById(updateObj);
}
/**
*
*
* @param id
*/
@Override
public void deleteBusinessRule(Long id) {
// 校验存在
validateBusinessRuleExists(id);
// 删除
businessRuleMapper.deleteById(id);
}
private void validateBusinessRuleExists(Long id) {
if (businessRuleMapper.selectById(id) == null) {
throw exception(BUSINESS_RULE_NOT_EXISTS);
}
}
/**
*
*
* @param id
* @return
*/
@Override
public BusinessRuleDO getBusinessRule(Long id) {
return businessRuleMapper.selectById(id);
}
/**
*
*
* @param ids
* @return
*/
@Override
public List<BusinessRuleDO> getBusinessRuleList(Collection<Long> ids) {
return businessRuleMapper.selectBatchIds(ids);
}
/**
*
*
* @param businessId
* @return
*/
@Override
public List<BusinessRuleDO> getBusinessRuleListByBusinessId(String businessId) {
return businessRuleMapper.selectList(BusinessRuleDO::getBusinessId,businessId);
}
/**
*
*
* @param pageReqVO
* @return
*/
@Override
public PageResult<BusinessRuleDO> getBusinessRulePage(BusinessRulePageReqVO pageReqVO) {
return businessRuleMapper.selectPage(pageReqVO);
}
/**
* ID
*
* @param businessName
* @return
*/
@Override
public BusinessRuleDO getBusinessRuleByBusinessName(String businessName) {
QueryWrapper<BusinessRuleDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("business_name", businessName);
return businessRuleMapper.selectOne(queryWrapper);
}
}

@ -7,7 +7,6 @@ import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.qrcode.QrCodeUtil; import cn.iocoder.yudao.framework.common.util.qrcode.QrCodeUtil;
import cn.iocoder.yudao.framework.common.util.string.StrUtils; import cn.iocoder.yudao.framework.common.util.string.StrUtils;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.security.core.LoginUser; import cn.iocoder.yudao.framework.security.core.LoginUser;
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
import cn.iocoder.yudao.module.basic.api.businessinfo.BusinessInfoApi; import cn.iocoder.yudao.module.basic.api.businessinfo.BusinessInfoApi;
@ -16,15 +15,15 @@ import cn.iocoder.yudao.module.basic.api.dealerinfo.dto.DealerInfoRespDTO;
import cn.iocoder.yudao.module.basic.api.redis.dto.BusinessInfoDTO; import cn.iocoder.yudao.module.basic.api.redis.dto.BusinessInfoDTO;
import cn.iocoder.yudao.module.identity.controller.admin.generaterecord.vo.*; import cn.iocoder.yudao.module.identity.controller.admin.generaterecord.vo.*;
import cn.iocoder.yudao.module.identity.convert.generaterecord.GenerateRecordConvert; import cn.iocoder.yudao.module.identity.convert.generaterecord.GenerateRecordConvert;
import cn.iocoder.yudao.module.identity.dal.dataobject.businessrule.BusinessRuleDO;
import cn.iocoder.yudao.module.identity.dal.dataobject.code.CodeDO; import cn.iocoder.yudao.module.identity.dal.dataobject.code.CodeDO;
import cn.iocoder.yudao.module.identity.dal.dataobject.generatebatch.GenerateBatchDO; import cn.iocoder.yudao.module.identity.dal.dataobject.generatebatch.GenerateBatchDO;
import cn.iocoder.yudao.module.identity.dal.dataobject.generaterecord.GenerateRecordDO; import cn.iocoder.yudao.module.identity.dal.dataobject.generaterecord.GenerateRecordDO;
import cn.iocoder.yudao.module.identity.dal.mysql.businessrule.BusinessRuleMapper;
import cn.iocoder.yudao.module.identity.dal.mysql.code.CodeMapper; import cn.iocoder.yudao.module.identity.dal.mysql.code.CodeMapper;
import cn.iocoder.yudao.module.identity.dal.mysql.generatebatch.GenerateBatchMapper; import cn.iocoder.yudao.module.identity.dal.mysql.generatebatch.GenerateBatchMapper;
import cn.iocoder.yudao.module.identity.dal.mysql.generaterecord.GenerateRecordMapper; import cn.iocoder.yudao.module.identity.dal.mysql.generaterecord.GenerateRecordMapper;
import cn.iocoder.yudao.module.identity.enums.*; import cn.iocoder.yudao.module.identity.enums.BatchTypeEnums;
import cn.iocoder.yudao.module.identity.enums.ErrorCodeConstants;
import cn.iocoder.yudao.module.identity.enums.GenerateRecordStateEnums;
import cn.iocoder.yudao.module.identity.qrcode.QRCodeProperties; import cn.iocoder.yudao.module.identity.qrcode.QRCodeProperties;
import cn.iocoder.yudao.module.infra.api.file.FileApi; import cn.iocoder.yudao.module.infra.api.file.FileApi;
import cn.iocoder.yudao.module.product.api.harvestbatch.HarvestBatchApi; import cn.iocoder.yudao.module.product.api.harvestbatch.HarvestBatchApi;
@ -41,7 +40,9 @@ import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.util.*; import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.identity.enums.ErrorCodeConstants.GENERATE_RECORD_NOT_EXISTS; import static cn.iocoder.yudao.module.identity.enums.ErrorCodeConstants.GENERATE_RECORD_NOT_EXISTS;
@ -65,9 +66,6 @@ public class GenerateRecordServiceImpl implements GenerateRecordService {
@Resource @Resource
private CodeMapper codeMapper; private CodeMapper codeMapper;
@Resource
private BusinessRuleMapper businessRuleMapper;
@Resource @Resource
private FileApi fileApi; private FileApi fileApi;
@ -113,31 +111,13 @@ public class GenerateRecordServiceImpl implements GenerateRecordService {
throw ServiceExceptionUtil.exception(cn.iocoder.yudao.module.basic.enums.ErrorCodeConstants.DEALER_INFO_NOT_EXISTS); throw ServiceExceptionUtil.exception(cn.iocoder.yudao.module.basic.enums.ErrorCodeConstants.DEALER_INFO_NOT_EXISTS);
} }
// 查询码规则
BusinessRuleDO businessRule = businessRuleMapper.selectOne(new LambdaQueryWrapperX<BusinessRuleDO>().eq(BusinessRuleDO::getBusinessId, businessInfo.getBusinessId())
.eq(BusinessRuleDO::getId, createReqVO.getRuleId()));
if(businessRule == null) {
throw ServiceExceptionUtil.exception(ErrorCodeConstants.BUSINESS_RULE_NOT_EXISTS);
}
List<String> verifyCodes = new ArrayList<>();
List<String> stringList = new ArrayList<>(StrUtils.getRandomStringList(createReqVO.getCharLength(), createReqVO.getCharType(), createReqVO.getCodeNum())); List<String> stringList = new ArrayList<>(StrUtils.getRandomStringList(createReqVO.getCharLength(), createReqVO.getCharType(), createReqVO.getCodeNum()));
if(businessRule.getCodeType().equals(CodeTypeEnums.SECRET_CODE.getCodeType())) {
// 这里懒得写成静态变量。直接用。 获得6位纯数字作为校验码
verifyCodes.addAll(StrUtils.getRandomStringList(6, CharTypeEnums.NUMBER.getCharType(), createReqVO.getCodeNum()));
}
ByteArrayOutputStream os = new ByteArrayOutputStream(); ByteArrayOutputStream os = new ByteArrayOutputStream();
String fileUrl; String fileUrl;
try { try {
List<BufferedImage> bufferedImages = new ArrayList<>(); List<BufferedImage> bufferedImages = new ArrayList<>();
for(int i = 0; i < stringList.size(); i++) { for (String s : stringList) {
BufferedImage bufferedImage; BufferedImage bufferedImage = QrCodeUtil.createQrCode(qrCodeProperties.getUrl() + s, s);
if(businessRule.getCodeType().equals(CodeTypeEnums.GENERAL_CODE.getCodeType())) {
bufferedImage = QrCodeUtil.createQrCode(qrCodeProperties.getUrl() + stringList.get(i), stringList.get(i));
} else {
bufferedImage = QrCodeUtil.createQrCode(qrCodeProperties.getUrl() + stringList.get(i), verifyCodes.get(i));
}
bufferedImages.add(bufferedImage); bufferedImages.add(bufferedImage);
} }
QrCodeUtil.compressQrCodeToZip(bufferedImages, os); QrCodeUtil.compressQrCodeToZip(bufferedImages, os);
@ -183,8 +163,6 @@ public class GenerateRecordServiceImpl implements GenerateRecordService {
generateRecord.setFileUrl(fileUrl); generateRecord.setFileUrl(fileUrl);
generateRecord.setImageFileUrl(imageFileUrl); generateRecord.setImageFileUrl(imageFileUrl);
generateRecord.setGenerateRecordId(CodeEnum.CODE_CODE.getCode()); generateRecord.setGenerateRecordId(CodeEnum.CODE_CODE.getCode());
generateRecord.setRuleId(createReqVO.getRuleId());
generateRecord.setCodeRuleFormat(businessRule.getCodeRuleFormat());
generateRecord.setOperateUser(adminUser.getNickname()); generateRecord.setOperateUser(adminUser.getNickname());
generateRecord.setOperateUserId(SecurityFrameworkUtils.getLoginUserId()); generateRecord.setOperateUserId(SecurityFrameworkUtils.getLoginUserId());
generateRecord.setBelongBusinessId(businessInfo.getId()); generateRecord.setBelongBusinessId(businessInfo.getId());
@ -201,16 +179,10 @@ public class GenerateRecordServiceImpl implements GenerateRecordService {
generateBatchDO.setBatchId(createReqVO.getBatchId()); generateBatchDO.setBatchId(createReqVO.getBatchId());
// 循环生成的二维码 并封装要插入数据库的数据 // 循环生成的二维码 并封装要插入数据库的数据
for(int i = 0; i < stringList.size(); i++) { for (String s : stringList) {
CodeDO codeDO = new CodeDO(); CodeDO codeDO = new CodeDO();
codeDO.setGenerateRecordId(generateRecord.getGenerateRecordId()); codeDO.setGenerateRecordId(generateRecord.getGenerateRecordId());
codeDO.setIdentityCode(stringList.get(i)); codeDO.setIdentityCode(s);
if(businessRule.getCodeType().equals(CodeTypeEnums.SECRET_CODE.getCodeType())) {
codeDO.setVerfiyCode(verifyCodes.get(i));
}
codeDO.setRuleId(businessRule.getId());
codeDO.setCodeRuleFormat(businessRule.getCodeRuleFormat());
codeDO.setCodeType(createReqVO.getCodeType());
codeDO.setCharLength(createReqVO.getCharLength()); codeDO.setCharLength(createReqVO.getCharLength());
codeDO.setCharType(createReqVO.getCharType()); codeDO.setCharType(createReqVO.getCharType());
codeDO.setBatchId(harvestBatch.getHarvestBatchId()); codeDO.setBatchId(harvestBatch.getHarvestBatchId());
@ -241,8 +213,6 @@ public class GenerateRecordServiceImpl implements GenerateRecordService {
/** /**
* generateRecordId * generateRecordId
* *
* @param generateRecordId
* @return
*/ */
@Override @Override
public GenerateRecordDO getGenerateRecordByRecordId(String generateRecordId) { public GenerateRecordDO getGenerateRecordByRecordId(String generateRecordId) {

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.identity.dal.mysql.businessrule.BusinessRuleMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

@ -1,152 +0,0 @@
package cn.iocoder.yudao.module.identity.service.businessrule;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.mock.mockito.MockBean;
import javax.annotation.Resource;
import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
import cn.iocoder.yudao.module.identity.controller.admin.businessrule.vo.*;
import cn.iocoder.yudao.module.identity.dal.dataobject.businessrule.BusinessRuleDO;
import cn.iocoder.yudao.module.identity.dal.mysql.businessrule.BusinessRuleMapper;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import javax.annotation.Resource;
import org.springframework.context.annotation.Import;
import java.util.*;
import java.time.LocalDateTime;
import static cn.hutool.core.util.RandomUtil.*;
import static cn.iocoder.yudao.module.identity.enums.ErrorCodeConstants.*;
import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.*;
import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.*;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.*;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.*;
/**
* {@link BusinessRuleServiceImpl}
*
* @author
*/
@Import(BusinessRuleServiceImpl.class)
public class BusinessRuleServiceImplTest extends BaseDbUnitTest {
@Resource
private BusinessRuleServiceImpl businessRuleService;
@Resource
private BusinessRuleMapper businessRuleMapper;
@Test
public void testCreateBusinessRule_success() {
// 准备参数
BusinessRuleCreateReqVO reqVO = randomPojo(BusinessRuleCreateReqVO.class);
// 调用
Long businessRuleId = businessRuleService.createBusinessRule(reqVO);
// 断言
assertNotNull(businessRuleId);
// 校验记录的属性是否正确
BusinessRuleDO businessRule = businessRuleMapper.selectById(businessRuleId);
assertPojoEquals(reqVO, businessRule);
}
@Test
public void testUpdateBusinessRule_success() {
// mock 数据
BusinessRuleDO dbBusinessRule = randomPojo(BusinessRuleDO.class);
businessRuleMapper.insert(dbBusinessRule);// @Sql: 先插入出一条存在的数据
// 准备参数
BusinessRuleUpdateReqVO reqVO = randomPojo(BusinessRuleUpdateReqVO.class, o -> {
o.setId(dbBusinessRule.getId()); // 设置更新的 ID
});
// 调用
businessRuleService.updateBusinessRule(reqVO);
// 校验是否更新正确
BusinessRuleDO businessRule = businessRuleMapper.selectById(reqVO.getId()); // 获取最新的
assertPojoEquals(reqVO, businessRule);
}
@Test
public void testUpdateBusinessRule_notExists() {
// 准备参数
BusinessRuleUpdateReqVO reqVO = randomPojo(BusinessRuleUpdateReqVO.class);
// 调用, 并断言异常
assertServiceException(() -> businessRuleService.updateBusinessRule(reqVO), BUSINESS_RULE_NOT_EXISTS);
}
@Test
public void testDeleteBusinessRule_success() {
// mock 数据
BusinessRuleDO dbBusinessRule = randomPojo(BusinessRuleDO.class);
businessRuleMapper.insert(dbBusinessRule);// @Sql: 先插入出一条存在的数据
// 准备参数
Long id = dbBusinessRule.getId();
// 调用
businessRuleService.deleteBusinessRule(id);
// 校验数据不存在了
assertNull(businessRuleMapper.selectById(id));
}
@Test
public void testDeleteBusinessRule_notExists() {
// 准备参数
Long id = randomLongId();
// 调用, 并断言异常
assertServiceException(() -> businessRuleService.deleteBusinessRule(id), BUSINESS_RULE_NOT_EXISTS);
}
@Test
@Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
public void testGetBusinessRulePage() {
// mock 数据
BusinessRuleDO dbBusinessRule = randomPojo(BusinessRuleDO.class, o -> { // 等会查询到
o.setBusinessId(null);
o.setBusinessName(null);
o.setCodeRuleId(null);
o.setCodeRuleName(null);
o.setCodeType(null);
o.setCodeRuleFormat(null);
o.setCreateTime(null);
});
businessRuleMapper.insert(dbBusinessRule);
// 测试 businessId 不匹配
businessRuleMapper.insert(cloneIgnoreId(dbBusinessRule, o -> o.setBusinessId(null)));
// 测试 businessName 不匹配
businessRuleMapper.insert(cloneIgnoreId(dbBusinessRule, o -> o.setBusinessName(null)));
// 测试 codeRuleId 不匹配
businessRuleMapper.insert(cloneIgnoreId(dbBusinessRule, o -> o.setCodeRuleId(null)));
// 测试 codeRuleName 不匹配
businessRuleMapper.insert(cloneIgnoreId(dbBusinessRule, o -> o.setCodeRuleName(null)));
// 测试 codeType 不匹配
businessRuleMapper.insert(cloneIgnoreId(dbBusinessRule, o -> o.setCodeType(null)));
// 测试 codeRuleFormat 不匹配
businessRuleMapper.insert(cloneIgnoreId(dbBusinessRule, o -> o.setCodeRuleFormat(null)));
// 测试 createTime 不匹配
businessRuleMapper.insert(cloneIgnoreId(dbBusinessRule, o -> o.setCreateTime(null)));
// 准备参数
BusinessRulePageReqVO reqVO = new BusinessRulePageReqVO();
reqVO.setBusinessId(null);
reqVO.setBusinessName(null);
reqVO.setCodeRuleId(null);
reqVO.setCodeRuleName(null);
reqVO.setCodeType(null);
reqVO.setCodeRuleFormat(null);
// reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
// 调用
PageResult<BusinessRuleDO> pageResult = businessRuleService.getBusinessRulePage(reqVO);
// 断言
assertEquals(1, pageResult.getTotal());
assertEquals(1, pageResult.getList().size());
assertPojoEquals(dbBusinessRule, pageResult.getList().get(0));
}
}

@ -1,9 +1,9 @@
package cn.iocoder.yudao.module.product.controller.admin.envdata.vo; package cn.iocoder.yudao.module.product.controller.admin.envdata.vo;
import lombok.*; import io.swagger.annotations.ApiModelProperty;
import java.util.*; import lombok.Data;
import io.swagger.annotations.*;
import javax.validation.constraints.*; import javax.validation.constraints.NotNull;
/** /**
* Base VO VO 使 * Base VO VO 使
@ -18,12 +18,6 @@ public class EnvDataBaseVO {
@ApiModelProperty(value = "环境数据名称") @ApiModelProperty(value = "环境数据名称")
private String envName; private String envName;
@ApiModelProperty(value = "地块/鱼塘/牧场编码")
private String landId;
@ApiModelProperty(value = "地块名称")
private String landName;
@ApiModelProperty(value = "数据值") @ApiModelProperty(value = "数据值")
private String value; private String value;

@ -1,11 +1,11 @@
package cn.iocoder.yudao.module.product.controller.admin.envdata.vo; package cn.iocoder.yudao.module.product.controller.admin.envdata.vo;
import cn.iocoder.yudao.framework.common.util.date.DateUtils;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
@ApiModel("管理后台 - 环境数据分页 Request VO") @ApiModel("管理后台 - 环境数据分页 Request VO")
@Data @Data
@ -16,9 +16,6 @@ public class EnvDataPageReqVO extends PageParam {
@ApiModelProperty(value = "环境类型") @ApiModelProperty(value = "环境类型")
private Long envTypeId; private Long envTypeId;
@ApiModelProperty(value = "地块名称")
private String landName;
@ApiModelProperty(value = "所属商户id") @ApiModelProperty(value = "所属商户id")
private Long belongBusinessId; private Long belongBusinessId;

@ -1,9 +1,10 @@
package cn.iocoder.yudao.module.product.dal.dataobject.envdata; package cn.iocoder.yudao.module.product.dal.dataobject.envdata;
import lombok.*;
import java.util.*;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
/** /**
* DO * DO
@ -33,14 +34,6 @@ public class EnvDataDO extends BaseDO {
* *
*/ */
private String envName; private String envName;
/**
* //
*/
private String landId;
/**
*
*/
private String landName;
/** /**
* *
*/ */

@ -15,7 +15,6 @@
LEFT JOIN product_env_type pet ON pet.id = ped.env_type_id LEFT JOIN product_env_type pet ON pet.id = ped.env_type_id
<where> <where>
ped.deleted = 0 ped.deleted = 0
<if test="pageReqVO.landName != null and pageReqVO.landName != ''">and ped.land_name like concat('%',#{pageReqVO.landName},'%') ESCAPE '/'</if>
<if test="pageReqVO.envTypeId != null">and ped.env_type_id = #{pageReqVO.envTypeId}</if> <if test="pageReqVO.envTypeId != null">and ped.env_type_id = #{pageReqVO.envTypeId}</if>
<if test="pageReqVO.belongBusinessId != null">and ped.belong_business_id = #{pageReqVO.belongBusinessId}</if> <if test="pageReqVO.belongBusinessId != null">and ped.belong_business_id = #{pageReqVO.belongBusinessId}</if>
</where> </where>
@ -23,14 +22,13 @@
</select> </select>
<select id="getLastOne" resultType="cn.iocoder.yudao.module.product.dal.dataobject.envdata.EnvDataDO"> <select id="getLastOne" resultType="cn.iocoder.yudao.module.product.dal.dataobject.envdata.EnvDataDO">
SELECT * FROM product_env_data WHERE deleted = 0 AND land_id = #{landId} ORDER BY create_time DESC LIMIT 1 SELECT * FROM product_env_data WHERE deleted = 0 ORDER BY create_time DESC LIMIT 1
</select> </select>
<select id="getLastEnvDatas" resultType="cn.iocoder.yudao.module.product.controller.admin.envdata.vo.EnvDataRespVO"> <select id="getLastEnvDatas" resultType="cn.iocoder.yudao.module.product.controller.admin.envdata.vo.EnvDataRespVO">
SELECT ped.*, pet.unit FROM product_env_data ped SELECT ped.*, pet.unit FROM product_env_data ped
left join product_env_type pet on ped.env_type_id = pet.id left join product_env_type pet on ped.env_type_id = pet.id
WHERE ped.deleted = 0 WHERE ped.deleted = 0
AND ped.land_id = #{landId}
<if test="typeIds != null and typeIds.size() != 0"> <if test="typeIds != null and typeIds.size() != 0">
AND ped.env_type_id IN AND ped.env_type_id IN
<foreach collection="typeIds" open="(" close=")" separator="," item="id"> <foreach collection="typeIds" open="(" close=")" separator="," item="id">
@ -43,16 +41,13 @@
<select id="getAVGEnvDatas" resultType="cn.iocoder.yudao.module.product.controller.admin.envdata.vo.EnvDataRespVO"> <select id="getAVGEnvDatas" resultType="cn.iocoder.yudao.module.product.controller.admin.envdata.vo.EnvDataRespVO">
SELECT SELECT
ped.id, ped.env_type_id, ped.env_name, ped.land_id, ped.land_name, ped.belong_business_id, ped.tenant_id, ROUND(AVG(ped.value), 2) value, ped.id, ped.env_type_id, ped.env_name, ped.belong_business_id, ped.tenant_id, ROUND(AVG(ped.value), 2) value,
date_format(ped.create_time, "%Y-%m-%d") create_time, pet.unit date_format(ped.create_time, "%Y-%m-%d") create_time, pet.unit
FROM FROM
product_env_data ped product_env_data ped
LEFT JOIN product_env_type pet ON ped.env_type_id = pet.id LEFT JOIN product_env_type pet ON ped.env_type_id = pet.id
WHERE WHERE
ped.deleted = 0 ped.deleted = 0
<if test="landId != null and landId != ''">
AND ped.land_id = #{landId}
</if>
<if test="typeIds != null and typeIds.size() != 0"> <if test="typeIds != null and typeIds.size() != 0">
AND ped.env_type_id IN AND ped.env_type_id IN
<foreach collection="typeIds" open="(" close=")" separator="," item="id"> <foreach collection="typeIds" open="(" close=")" separator="," item="id">

@ -11,7 +11,6 @@ import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission;
import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore; import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils; import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils;
import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO; import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
import cn.iocoder.yudao.module.system.dal.dataobject.permission.MenuDO; import cn.iocoder.yudao.module.system.dal.dataobject.permission.MenuDO;
import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO; import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO;
import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleMenuDO; import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleMenuDO;
@ -20,10 +19,8 @@ import cn.iocoder.yudao.module.system.dal.mysql.permission.RoleMenuMapper;
import cn.iocoder.yudao.module.system.dal.mysql.permission.UserRoleMapper; import cn.iocoder.yudao.module.system.dal.mysql.permission.UserRoleMapper;
import cn.iocoder.yudao.module.system.enums.permission.DataScopeEnum; import cn.iocoder.yudao.module.system.enums.permission.DataScopeEnum;
import cn.iocoder.yudao.module.system.mq.producer.permission.PermissionProducer; import cn.iocoder.yudao.module.system.mq.producer.permission.PermissionProducer;
import cn.iocoder.yudao.module.system.service.user.AdminUserService; import cn.iocoder.yudao.module.system.service.user.AdminUserService;
import com.google.common.annotations.VisibleForTesting; import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Suppliers;
import com.google.common.collect.ImmutableMultimap; import com.google.common.collect.ImmutableMultimap;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
@ -38,7 +35,6 @@ import org.springframework.transaction.support.TransactionSynchronizationManager
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.*; import java.util.*;
import java.util.function.Supplier;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
import static java.util.Collections.singleton; import static java.util.Collections.singleton;

Loading…
Cancel
Save