代码删除同步

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

@ -1,17 +0,0 @@
芋道源码 http://www.iocoder.cn
Application Version: ${yudao.info.version}
Spring Boot Version: ${spring-boot.version}
.__ __. ______ .______ __ __ _______
| \ | | / __ \ | _ \ | | | | / _____|
| \| | | | | | | |_) | | | | | | | __
| . ` | | | | | | _ < | | | | | | |_ |
| |\ | | `--' | | |_) | | `--' | | |__| |
|__| \__| \______/ |______/ \______/ \______|
███╗ ██╗ ██████╗ ██████╗ ██╗ ██╗ ██████╗
████╗ ██║██╔═══██╗ ██╔══██╗██║ ██║██╔════╝
██╔██╗ ██║██║ ██║ ██████╔╝██║ ██║██║ ███╗
██║╚██╗██║██║ ██║ ██╔══██╗██║ ██║██║ ██║
██║ ╚████║╚██████╔╝ ██████╔╝╚██████╔╝╚██████╔╝
╚═╝ ╚═══╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═════╝

@ -1,2 +0,0 @@
cn.iocoder.yudao.framework.datapermission.config.YudaoDataPermissionAutoConfiguration
cn.iocoder.yudao.framework.datapermission.config.YudaoDeptDataPermissionAutoConfiguration

@ -1,2 +0,0 @@
cn.iocoder.yudao.framework.dict.config.YudaoDictRpcAutoConfiguration
cn.iocoder.yudao.framework.dict.config.YudaoDictAutoConfiguration

@ -1,24 +0,0 @@
{
"groups": [
{
"name": "yudao.error-code",
"type": "cn.iocoder.yudao.framework.errorcode.config.ErrorCodeProperties",
"sourceType": "cn.iocoder.yudao.framework.errorcode.config.ErrorCodeProperties"
}
],
"properties": [
{
"name": "yudao.error-code.constants-class-list",
"type": "java.util.List<java.lang.String>",
"description": "错误码枚举类",
"sourceType": "cn.iocoder.yudao.framework.errorcode.config.ErrorCodeProperties"
},
{
"name": "yudao.error-code.enable",
"type": "java.lang.Boolean",
"description": "是否开启",
"sourceType": "cn.iocoder.yudao.framework.errorcode.config.ErrorCodeProperties"
}
],
"hints": []
}

@ -1,2 +0,0 @@
cn.iocoder.yudao.framework.errorcode.config.YudaoErrorCodeRpcAutoConfiguration
cn.iocoder.yudao.framework.errorcode.config.YudaoErrorCodeAutoConfiguration

@ -1,2 +0,0 @@
cn.iocoder.yudao.framework.operatelog.config.YudaoOperateLogRpcAutoConfiguration
cn.iocoder.yudao.framework.operatelog.config.YudaoOperateLogAutoConfiguration

@ -1,30 +0,0 @@
{
"groups": [
{
"name": "yudao.tenant",
"type": "cn.iocoder.yudao.framework.tenant.config.TenantProperties",
"sourceType": "cn.iocoder.yudao.framework.tenant.config.TenantProperties"
}
],
"properties": [
{
"name": "yudao.tenant.enable",
"type": "java.lang.Boolean",
"description": "是否开启",
"sourceType": "cn.iocoder.yudao.framework.tenant.config.TenantProperties"
},
{
"name": "yudao.tenant.ignore-tables",
"type": "java.util.Set<java.lang.String>",
"description": "需要忽略多租户的表 即默认所有表都开启多租户的功能,所以记得添加对应的 tenant_id 字段哟",
"sourceType": "cn.iocoder.yudao.framework.tenant.config.TenantProperties"
},
{
"name": "yudao.tenant.ignore-urls",
"type": "java.util.Set<java.lang.String>",
"description": "需要忽略多租户的请求 默认情况下,每个请求需要带上 tenant-id 的请求头。但是,部分请求是无需带上的,例如说短信回调、支付回调等 Open API",
"sourceType": "cn.iocoder.yudao.framework.tenant.config.TenantProperties"
}
],
"hints": []
}

@ -1,3 +0,0 @@
cn.iocoder.yudao.framework.tenant.config.YudaoTenantRpcAutoConfiguration
cn.iocoder.yudao.framework.tenant.config.YudaoTenantAutoConfiguration
cn.iocoder.yudao.framework.tenant.config.YudaoTenantMQAutoConfiguration

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

@ -1 +0,0 @@
dubboProviderRouterTagFilter=cn.iocoder.yudao.framework.env.core.dubbo.DubboProviderRouterTagFilter

@ -1 +0,0 @@
dubboConsumerRouterTagClusterInterceptor=cn.iocoder.yudao.framework.env.core.dubbo.DubboConsumerRouterTagClusterInterceptor

@ -1,18 +0,0 @@
{
"groups": [
{
"name": "yudao.env",
"type": "cn.iocoder.yudao.framework.env.config.EnvProperties",
"sourceType": "cn.iocoder.yudao.framework.env.config.EnvProperties"
}
],
"properties": [
{
"name": "yudao.env.tag",
"type": "java.lang.String",
"description": "环境标签",
"sourceType": "cn.iocoder.yudao.framework.env.config.EnvProperties"
}
],
"hints": []
}

@ -1,2 +0,0 @@
org.springframework.boot.env.EnvironmentPostProcessor=\
cn.iocoder.yudao.framework.env.config.EnvEnvironmentPostProcessor

@ -1,2 +0,0 @@
cn.iocoder.yudao.framework.env.config.YudaoEnvWebAutoConfiguration
cn.iocoder.yudao.framework.env.config.YudaoEnvRpcAutoConfiguration

@ -1,70 +0,0 @@
{
"groups": [
{
"name": "xxl.job",
"type": "cn.iocoder.yudao.framework.quartz.config.XxlJobProperties",
"sourceType": "cn.iocoder.yudao.framework.quartz.config.XxlJobProperties"
},
{
"name": "xxl.job.admin",
"type": "cn.iocoder.yudao.framework.quartz.config.XxlJobProperties$AdminProperties",
"sourceType": "cn.iocoder.yudao.framework.quartz.config.XxlJobProperties"
},
{
"name": "xxl.job.executor",
"type": "cn.iocoder.yudao.framework.quartz.config.XxlJobProperties$ExecutorProperties",
"sourceType": "cn.iocoder.yudao.framework.quartz.config.XxlJobProperties"
}
],
"properties": [
{
"name": "xxl.job.access-token",
"type": "java.lang.String",
"description": "访问令牌",
"sourceType": "cn.iocoder.yudao.framework.quartz.config.XxlJobProperties"
},
{
"name": "xxl.job.admin.addresses",
"type": "java.lang.String",
"description": "调度器地址",
"sourceType": "cn.iocoder.yudao.framework.quartz.config.XxlJobProperties$AdminProperties"
},
{
"name": "xxl.job.enabled",
"type": "java.lang.Boolean",
"description": "是否开启,默认为 true 关闭",
"sourceType": "cn.iocoder.yudao.framework.quartz.config.XxlJobProperties"
},
{
"name": "xxl.job.executor.app-name",
"type": "java.lang.String",
"description": "应用名",
"sourceType": "cn.iocoder.yudao.framework.quartz.config.XxlJobProperties$ExecutorProperties"
},
{
"name": "xxl.job.executor.ip",
"type": "java.lang.String",
"description": "执行器的 IP",
"sourceType": "cn.iocoder.yudao.framework.quartz.config.XxlJobProperties$ExecutorProperties"
},
{
"name": "xxl.job.executor.log-path",
"type": "java.lang.String",
"description": "日志地址",
"sourceType": "cn.iocoder.yudao.framework.quartz.config.XxlJobProperties$ExecutorProperties"
},
{
"name": "xxl.job.executor.log-retention-days",
"type": "java.lang.Integer",
"description": "日志保留天数",
"sourceType": "cn.iocoder.yudao.framework.quartz.config.XxlJobProperties$ExecutorProperties"
},
{
"name": "xxl.job.executor.port",
"type": "java.lang.Integer",
"description": "执行器的 Port",
"sourceType": "cn.iocoder.yudao.framework.quartz.config.XxlJobProperties$ExecutorProperties"
}
],
"hints": []
}

@ -1,2 +0,0 @@
cn.iocoder.yudao.framework.quartz.config.YudaoXxlJobAutoConfiguration
cn.iocoder.yudao.framework.quartz.config.YudaoAsyncAutoConfiguration

@ -1,11 +0,0 @@
{
"groups": [
{
"name": "yudao.tracer",
"type": "cn.iocoder.yudao.framework.tracer.config.TracerProperties",
"sourceType": "cn.iocoder.yudao.framework.tracer.config.TracerProperties"
}
],
"properties": [],
"hints": []
}

@ -1,2 +0,0 @@
cn.iocoder.yudao.framework.tracer.config.YudaoTracerAutoConfiguration
cn.iocoder.yudao.framework.tracer.config.YudaoMetricsAutoConfiguration

@ -1,2 +0,0 @@
org.springframework.boot.env.EnvironmentPostProcessor=\
cn.iocoder.yudao.framework.mybatis.config.IdTypeEnvironmentPostProcessor

@ -1,2 +0,0 @@
cn.iocoder.yudao.framework.datasource.config.YudaoDataSourceAutoConfiguration
cn.iocoder.yudao.framework.mybatis.config.YudaoMybatisAutoConfiguration

@ -1,2 +0,0 @@
cn.iocoder.yudao.framework.redis.config.YudaoRedisAutoConfiguration
cn.iocoder.yudao.framework.redis.config.YudaoCacheAutoConfiguration

@ -1 +0,0 @@
dubboExceptionFilter=cn.iocoder.yudao.framework.rpc.core.dubbo.DubboProviderExceptionFilter

@ -1,36 +0,0 @@
{
"groups": [
{
"name": "yudao.security",
"type": "cn.iocoder.yudao.framework.security.config.SecurityProperties",
"sourceType": "cn.iocoder.yudao.framework.security.config.SecurityProperties"
}
],
"properties": [
{
"name": "yudao.security.mock-enable",
"type": "java.lang.Boolean",
"description": "mock 模式的开关",
"sourceType": "cn.iocoder.yudao.framework.security.config.SecurityProperties"
},
{
"name": "yudao.security.mock-secret",
"type": "java.lang.String",
"description": "mock 模式的密钥 一定要配置密钥,保证安全性",
"sourceType": "cn.iocoder.yudao.framework.security.config.SecurityProperties"
},
{
"name": "yudao.security.permit-all-urls",
"type": "java.util.List<java.lang.String>",
"description": "免登录的 URL 列表",
"sourceType": "cn.iocoder.yudao.framework.security.config.SecurityProperties"
},
{
"name": "yudao.security.token-header",
"type": "java.lang.String",
"description": "HTTP 请求时,访问令牌的请求 Header",
"sourceType": "cn.iocoder.yudao.framework.security.config.SecurityProperties"
}
],
"hints": []
}

@ -1,3 +0,0 @@
cn.iocoder.yudao.framework.security.config.YudaoSecurityRpcAutoConfiguration
cn.iocoder.yudao.framework.security.config.YudaoSecurityAutoConfiguration
cn.iocoder.yudao.framework.security.config.YudaoWebSecurityConfigurerAdapter

@ -1,109 +0,0 @@
{
"groups": [
{
"name": "yudao.swagger",
"type": "cn.iocoder.yudao.framework.swagger.config.SwaggerProperties",
"sourceType": "cn.iocoder.yudao.framework.swagger.config.SwaggerProperties"
},
{
"name": "yudao.web",
"type": "cn.iocoder.yudao.framework.web.config.WebProperties",
"sourceType": "cn.iocoder.yudao.framework.web.config.WebProperties"
},
{
"name": "yudao.web.admin-api",
"type": "cn.iocoder.yudao.framework.web.config.WebProperties$Api",
"sourceType": "cn.iocoder.yudao.framework.web.config.WebProperties"
},
{
"name": "yudao.web.admin-ui",
"type": "cn.iocoder.yudao.framework.web.config.WebProperties$Ui",
"sourceType": "cn.iocoder.yudao.framework.web.config.WebProperties"
},
{
"name": "yudao.web.app-api",
"type": "cn.iocoder.yudao.framework.web.config.WebProperties$Api",
"sourceType": "cn.iocoder.yudao.framework.web.config.WebProperties"
},
{
"name": "yudao.xss",
"type": "cn.iocoder.yudao.framework.web.config.XssProperties",
"sourceType": "cn.iocoder.yudao.framework.web.config.XssProperties"
}
],
"properties": [
{
"name": "yudao.swagger.author",
"type": "java.lang.String",
"description": "作者",
"sourceType": "cn.iocoder.yudao.framework.swagger.config.SwaggerProperties"
},
{
"name": "yudao.swagger.base-package",
"type": "java.lang.String",
"description": "扫描的包",
"sourceType": "cn.iocoder.yudao.framework.swagger.config.SwaggerProperties"
},
{
"name": "yudao.swagger.description",
"type": "java.lang.String",
"description": "描述",
"sourceType": "cn.iocoder.yudao.framework.swagger.config.SwaggerProperties"
},
{
"name": "yudao.swagger.title",
"type": "java.lang.String",
"description": "标题",
"sourceType": "cn.iocoder.yudao.framework.swagger.config.SwaggerProperties"
},
{
"name": "yudao.swagger.version",
"type": "java.lang.String",
"description": "版本",
"sourceType": "cn.iocoder.yudao.framework.swagger.config.SwaggerProperties"
},
{
"name": "yudao.web.admin-api.controller",
"type": "java.lang.String",
"description": "Controller 所在包的 Ant 路径规则 主要目的是,给该 Controller 设置指定的 {@link #prefix}",
"sourceType": "cn.iocoder.yudao.framework.web.config.WebProperties$Api"
},
{
"name": "yudao.web.admin-api.prefix",
"type": "java.lang.String",
"description": "API 前缀,实现所有 Controller 提供的 RESTFul API 的统一前缀 意义:通过该前缀,避免 Swagger、Actuator 意外通过 Nginx 暴露出来给外部,带来安全性问题 这样Nginx 只需要配置转发到 \/api\/* 的所有接口即可。 @see YudaoWebAutoConfiguration#configurePathMatch(PathMatchConfigurer)",
"sourceType": "cn.iocoder.yudao.framework.web.config.WebProperties$Api"
},
{
"name": "yudao.web.admin-ui.url",
"type": "java.lang.String",
"description": "访问地址",
"sourceType": "cn.iocoder.yudao.framework.web.config.WebProperties$Ui"
},
{
"name": "yudao.web.app-api.controller",
"type": "java.lang.String",
"description": "Controller 所在包的 Ant 路径规则 主要目的是,给该 Controller 设置指定的 {@link #prefix}",
"sourceType": "cn.iocoder.yudao.framework.web.config.WebProperties$Api"
},
{
"name": "yudao.web.app-api.prefix",
"type": "java.lang.String",
"description": "API 前缀,实现所有 Controller 提供的 RESTFul API 的统一前缀 意义:通过该前缀,避免 Swagger、Actuator 意外通过 Nginx 暴露出来给外部,带来安全性问题 这样Nginx 只需要配置转发到 \/api\/* 的所有接口即可。 @see YudaoWebAutoConfiguration#configurePathMatch(PathMatchConfigurer)",
"sourceType": "cn.iocoder.yudao.framework.web.config.WebProperties$Api"
},
{
"name": "yudao.xss.enable",
"type": "java.lang.Boolean",
"description": "是否开启,默认为 true",
"sourceType": "cn.iocoder.yudao.framework.web.config.XssProperties"
},
{
"name": "yudao.xss.exclude-urls",
"type": "java.util.List<java.lang.String>",
"description": "需要排除的 URL默认为空",
"sourceType": "cn.iocoder.yudao.framework.web.config.XssProperties"
}
],
"hints": []
}

@ -1,5 +0,0 @@
cn.iocoder.yudao.framework.apilog.config.YudaoApiLogRpcAutoConfiguration
cn.iocoder.yudao.framework.apilog.config.YudaoApiLogAutoConfiguration
cn.iocoder.yudao.framework.jackson.config.YudaoJacksonAutoConfiguration
cn.iocoder.yudao.framework.swagger.config.YudaoSwaggerAutoConfiguration
cn.iocoder.yudao.framework.web.config.YudaoWebAutoConfiguration

@ -1,21 +0,0 @@
--- #################### 注册中心相关配置 ####################
spring:
cloud:
nacos:
server-addr: 192.168.233.128:8848
discovery:
namespace: dev # 命名空间。这里使用 dev 开发环境
--- #################### 配置中心相关配置 ####################
spring:
cloud:
nacos:
# Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
config:
server-addr: 192.168.233.128:8848 # Nacos 服务器地址
namespace: dev # 命名空间。这里使用 dev 开发环境
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
#name: # 使用的 Nacos 配置集的 dataId默认为 spring.application.name
file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties

@ -1,21 +0,0 @@
--- #################### 注册中心相关配置 ####################
spring:
cloud:
nacos:
server-addr: localhost:8848
discovery:
namespace: prod # 命名空间。这里使用 dev 开发环境
--- #################### 配置中心相关配置 ####################
spring:
cloud:
nacos:
# Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
config:
server-addr: localhost:8848 # Nacos 服务器地址
namespace: prod # 命名空间。这里使用 dev 开发环境
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
name: # 使用的 Nacos 配置集的 dataId默认为 spring.application.name
file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties

@ -1,14 +0,0 @@
spring:
application:
name: gateway-server
profiles:
active: local
server:
port: 48060
# 日志文件配置。注意,如果 logging.file.name 不放在 bootstrap.yaml 配置文件,而是放在 application.yaml 中,会导致出现 LOG_FILE_IS_UNDEFINED 文件
logging:
file:
name: ${user.home}/logs/${spring.application.name}.log # 日志文件名,全路径

@ -1,76 +0,0 @@
<configuration>
<!-- 引用 Spring Boot 的 logback 基础配置 -->
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<!-- 变量 yudao.info.base-package基础业务包 -->
<springProperty scope="context" name="yudao.info.base-package" source="yudao.info.base-package"/>
<!-- 格式化输出:%d 表示日期,%X{tid} SkWalking 链路追踪编号,%thread 表示线程名,%-5level级别从左显示 5 个字符宽度,%msg日志消息%n是换行符 -->
<property name="PATTERN_DEFAULT" value="%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%thread] [%tid] %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>
<!-- 控制台 Appender -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">     
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
<pattern>${PATTERN_DEFAULT}</pattern>
</layout>
</encoder>
</appender>
<!-- 文件 Appender -->
<!-- 参考 Spring Boot 的 file-appender.xml 编写 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
<pattern>${PATTERN_DEFAULT}</pattern>
</layout>
</encoder>
<!-- 日志文件名 -->
<file>${LOG_FILE}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- 滚动后的日志文件名 -->
<fileNamePattern>${LOGBACK_ROLLINGPOLICY_FILE_NAME_PATTERN:-${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz}</fileNamePattern>
<!-- 启动服务时,是否清理历史日志,一般不建议清理 -->
<cleanHistoryOnStart>${LOGBACK_ROLLINGPOLICY_CLEAN_HISTORY_ON_START:-false}</cleanHistoryOnStart>
<!-- 日志文件,到达多少容量,进行滚动 -->
<maxFileSize>${LOGBACK_ROLLINGPOLICY_MAX_FILE_SIZE:-10MB}</maxFileSize>
<!-- 日志文件的总大小0 表示不限制 -->
<totalSizeCap>${LOGBACK_ROLLINGPOLICY_TOTAL_SIZE_CAP:-0}</totalSizeCap>
<!-- 日志文件的保留天数 -->
<maxHistory>${LOGBACK_ROLLINGPOLICY_MAX_HISTORY:-30}</maxHistory>
</rollingPolicy>
</appender>
<!-- 异步写入日志,提升性能 -->
<appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
<!-- 不丢失日志。默认的,如果队列的 80% 已满,则会丢弃 TRACT、DEBUG、INFO 级别的日志 -->
<discardingThreshold>0</discardingThreshold>
<!-- 更改默认的队列的深度,该值会影响性能。默认值为 256 -->
<queueSize>256</queueSize>
<appender-ref ref="FILE"/>
</appender>
<!-- SkyWalking GRPC 日志收集实现日志中心。注意SkyWalking 8.4.0 版本开始支持 -->
<appender name="GRPC" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
<pattern>${PATTERN_DEFAULT}</pattern>
</layout>
</encoder>
</appender>
<!-- 本地环境 -->
<springProfile name="local">
<root level="INFO">
<appender-ref ref="STDOUT"/>
<appender-ref ref="GRPC"/> <!-- 本地环境下,如果不想接入 SkyWalking 日志服务,可以注释掉本行 -->
<appender-ref ref="ASYNC"/> <!-- 本地环境下,如果不想打印日志,可以注释掉本行 -->
</root>
</springProfile>
<!-- 其它环境 -->
<springProfile name="dev,test,stage,prod,default">
<root level="INFO">
<appender-ref ref="STDOUT"/>
<appender-ref ref="ASYNC"/>
<appender-ref ref="GRPC"/>
</root>
</springProfile>
</configuration>

@ -1,25 +0,0 @@
package cn.iocoder.yudao.module.basic.api.goodsinputrelational;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.basic.api.goodsinputrelational.dto.RelationalRespDTO;
import cn.iocoder.yudao.module.basic.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.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
@FeignClient(name = ApiConstants.NAME) // TODO 芋艿fallbackFactory =
@Api(tags = "RPC 服务 - 商品与投入品映射")
public interface GoodsInputRelationalApi {
String PREFIX = ApiConstants.PREFIX + "/goods-input-relational";
@GetMapping(PREFIX + "/getInputInfoByGoodsId")
@ApiOperation("获得投入品列表")
@ApiImplicitParam(name = "goodsIds", value = "商品编码集合", required = true, example = "INBTBC20230421141955HIMK976D, INBTBC20230421141955HIMK976D", dataTypeClass = String.class)
CommonResult<RelationalRespDTO> getInputInfoByGoodsId(@RequestParam("goodsIds") List<String> goodsIds);
}

@ -1,56 +0,0 @@
package cn.iocoder.yudao.module.basic.api.goodsinputrelational.dto;
import lombok.Data;
@Data
public class GoodsInfoExpandRespDTO {
/**
*
*/
private Long id;
/**
*
*/
private String goodsName;
/**
*
*/
private String goodsId;
/**
*
*/
private String goodsType;
/**
* id
*/
private Long goodsTypeId;
/**
*
*/
private String goodsUnit;
/**
*
*/
private String goodsSpecs;
/**
*
*/
private String goodsRemarks;
/**
* url;6
*/
private String goodsImgUrl;
/**
*
*/
private Integer shelfLife;
/**
* id
*/
private Long belongBusinessId;
/**
*
*/
private String belongBusinessName;
}

@ -1,58 +0,0 @@
package cn.iocoder.yudao.module.basic.api.goodsinputrelational.dto;
import lombok.Data;
@Data
public class InputInfoRelationalRespDTO {
/**
*
*/
private Long id;
/**
*
*/
private String inputsName;
/**
*
*/
private String inputsId;
/**
*
*/
private String goodsName;
/**
*
*/
private String goodsId;
/**
*
*/
private String inputsUnit;
/**
*
*/
private String inputsSpecs;
/**
*
*/
private String inputsRemarks;
/**
* 6
*/
private String inputsPhotoUrl;
/**
*
*/
private Integer shelfLife;
/**
* id
*/
private Long belongBusinessId;
/**
*
*/
private String belongBusinessName;
}

@ -1,14 +0,0 @@
package cn.iocoder.yudao.module.basic.api.goodsinputrelational.dto;
import cn.iocoder.yudao.module.basic.api.goodsinfo.dto.GoodsInfoRespDTO;
import lombok.Data;
import java.util.List;
@Data
public class RelationalRespDTO {
List<GoodsInfoRespDTO> goodsInfos;
List<InputInfoRelationalRespDTO> inputsInfo;
}

@ -1,25 +0,0 @@
package cn.iocoder.yudao.module.basic.api.inputsinfo;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.basic.api.inputsinfo.dto.InputsInfoRespDTO;
import cn.iocoder.yudao.module.basic.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.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
@FeignClient(name = ApiConstants.NAME) // TODO 芋艿fallbackFactory =
@Api(tags = "RPC 服务 - 投入品")
public interface InputsInfoApi {
String PREFIX = ApiConstants.PREFIX + "/inputs-info";
@GetMapping(PREFIX + "/getInputsInfoListByInputId")
@ApiOperation("获得投入品列表")
@ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class)
CommonResult<List<InputsInfoRespDTO>> getInputsInfoListByInputId(@RequestParam("ids") List<String> ids);
}

@ -1,65 +0,0 @@
package cn.iocoder.yudao.module.basic.api.inputsinfo.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
/**
* InputsInfo Response DTO
*
* @author
*/
@Data
public class InputsInfoRespDTO {
/**
*
*/
@ApiModelProperty(value = "主键id")
private Long id;
/**
*
*/
@ApiModelProperty(value = "投入品名称")
private String inputsName;
/**
* id
*/
@ApiModelProperty(value = "投入品id")
private String inputsId;
/**
*
*/
@ApiModelProperty(value = "投入品单位")
private String inputsUnit;
/**
*
*/
@ApiModelProperty(value = "投入品规格")
private String inputsSpecs;
/**
*
*/
@ApiModelProperty(value = "投入品说明")
private String inputsRemarks;
/**
* url','6
*/
@ApiModelProperty(value = "图片url以','分割最多6张")
private String inputsPhotoUrl;
/**
*
*/
@ApiModelProperty(value = "保质期天")
private Integer shelfLife;
/**
* id
*/
@ApiModelProperty(value = "所属商户id")
private Long belongBusinessId;
/**
*
*/
@ApiModelProperty(value = "所属商户名称")
private String belongBusinessName;
}

@ -1,7 +1,6 @@
package cn.iocoder.yudao.module.basic.api.redis; package cn.iocoder.yudao.module.basic.api.redis;
import cn.iocoder.yudao.module.basic.api.inputsinfo.dto.InputsInfoRespDTO;
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.basic.api.redis.dto.DealerInfoDTO; import cn.iocoder.yudao.module.basic.api.redis.dto.DealerInfoDTO;
import cn.iocoder.yudao.module.basic.api.redis.dto.GoodsInfoDTO; import cn.iocoder.yudao.module.basic.api.redis.dto.GoodsInfoDTO;
@ -9,7 +8,6 @@ import cn.iocoder.yudao.module.basic.api.vendorinfo.dto.VendorInfoRespDTO;
import cn.iocoder.yudao.module.basic.enums.ApiConstants; import cn.iocoder.yudao.module.basic.enums.ApiConstants;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
@ -105,24 +103,4 @@ public interface RedisBasicInfoUtilApi {
@ApiImplicitParam(name = "id", value = "商品ID", required = true, example = "1024", dataTypeClass = Long.class) @ApiImplicitParam(name = "id", value = "商品ID", required = true, example = "1024", dataTypeClass = Long.class)
void delGoodsInfoRedis(Long id); void delGoodsInfoRedis(Long id);
/*-------------投入品信息Redis缓存方法-------------*/
@GetMapping(PREFIX + "/validateInputsInfoRedisExists")
@ApiOperation("根据投入品ID判断缓存中供应商信息是否存在")
@ApiImplicitParam(name = "id", value = "投入品ID", required = true, example = "1024", dataTypeClass = Long.class)
boolean validateInputsInfoRedisExists(Long id);
@GetMapping(PREFIX + "/getInputsInfoRedis")
@ApiOperation("根据投入品ID从缓存获取投入品信息")
@ApiImplicitParam(name = "id", value = "投入品ID", required = true, example = "1024", dataTypeClass = Long.class)
InputsInfoRespDTO getInputsInfoRedis(Long id);
@GetMapping(PREFIX + "/updateInputsInfoRedis")
@ApiOperation("根据投入品ID更新缓存中投入品信息")
@ApiImplicitParam(name = "iid", value = "投入品ID", required = true, example = "1024", dataTypeClass = Long.class)
void updateInputsInfoRedis(Long iid, InputsInfoRespDTO inputsInfoRespDTO);
@GetMapping(PREFIX + "/delInputsInfoRedis")
@ApiOperation("根据投入品ID从缓存删除投入品信息")
@ApiImplicitParam(name = "id", value = "投入品ID", required = true, example = "1024", dataTypeClass = Long.class)
void delInputsInfoRedis(Long id);
} }

@ -1,27 +0,0 @@
package cn.iocoder.yudao.module.basic.api.goodsinputrelational;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.basic.api.goodsinputrelational.dto.RelationalRespDTO;
import cn.iocoder.yudao.module.basic.service.goodsinputrelational.GoodsInputRelationalService;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
import static cn.iocoder.yudao.module.system.enums.ApiConstants.VERSION;
@RestController // 提供 RESTful API 接口,给 Feign 调用
@DubboService(version = VERSION) // 提供 Dubbo RPC 接口,给 Dubbo Consumer 调用
@Validated
public class GoodsInputRelationalApiImpl implements GoodsInputRelationalApi {
@Resource
private GoodsInputRelationalService goodsInputRelationalService;
@Override
public CommonResult<RelationalRespDTO> getInputInfoByGoodsId(List<String> goodsIds) {
return CommonResult.success(goodsInputRelationalService.getInputInfoByGoodsId(goodsIds));
}
}

@ -1,29 +0,0 @@
package cn.iocoder.yudao.module.basic.api.inputsinfo;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.basic.api.inputsinfo.dto.InputsInfoRespDTO;
import cn.iocoder.yudao.module.basic.convert.inputsinfo.InputsInfoConvert;
import cn.iocoder.yudao.module.basic.dal.dataobject.inputsinfo.InputsInfoDO;
import cn.iocoder.yudao.module.basic.dal.mysql.inputsinfo.InputsInfoMapper;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
import static cn.iocoder.yudao.module.system.enums.ApiConstants.VERSION;
@RestController // 提供 RESTful API 接口,给 Feign 调用
@DubboService(version = VERSION) // 提供 Dubbo RPC 接口,给 Dubbo Consumer 调用
@Validated
public class InputsInfoApiImpl implements InputsInfoApi {
@Resource
private InputsInfoMapper inputsInfoMapper;
@Override
public CommonResult<List<InputsInfoRespDTO>> getInputsInfoListByInputId(List<String> ids) {
return CommonResult.success(InputsInfoConvert.INSTANCE.convertToDTOList(inputsInfoMapper.selectList(InputsInfoDO::getInputsId, ids)));
}
}

@ -1,7 +1,6 @@
package cn.iocoder.yudao.module.basic.api.redis; package cn.iocoder.yudao.module.basic.api.redis;
import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
import cn.iocoder.yudao.module.basic.api.inputsinfo.dto.InputsInfoRespDTO;
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.basic.api.redis.dto.DealerInfoDTO; import cn.iocoder.yudao.module.basic.api.redis.dto.DealerInfoDTO;
import cn.iocoder.yudao.module.basic.api.redis.dto.GoodsInfoDTO; import cn.iocoder.yudao.module.basic.api.redis.dto.GoodsInfoDTO;
@ -9,12 +8,10 @@ import cn.iocoder.yudao.module.basic.api.vendorinfo.dto.VendorInfoRespDTO;
import cn.iocoder.yudao.module.basic.convert.businessinfo.BusinessInfoConvert; import cn.iocoder.yudao.module.basic.convert.businessinfo.BusinessInfoConvert;
import cn.iocoder.yudao.module.basic.convert.dealerinfo.DealerInfoConvert; import cn.iocoder.yudao.module.basic.convert.dealerinfo.DealerInfoConvert;
import cn.iocoder.yudao.module.basic.convert.goodsinfo.GoodsInfoConvert; import cn.iocoder.yudao.module.basic.convert.goodsinfo.GoodsInfoConvert;
import cn.iocoder.yudao.module.basic.convert.inputsinfo.InputsInfoConvert;
import cn.iocoder.yudao.module.basic.convert.vendorinfo.VendorInfoConvert; import cn.iocoder.yudao.module.basic.convert.vendorinfo.VendorInfoConvert;
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.dal.mysql.dealerinfo.DealerInfoMapper; import cn.iocoder.yudao.module.basic.dal.mysql.dealerinfo.DealerInfoMapper;
import cn.iocoder.yudao.module.basic.dal.mysql.goodsinfo.GoodsInfoMapper; import cn.iocoder.yudao.module.basic.dal.mysql.goodsinfo.GoodsInfoMapper;
import cn.iocoder.yudao.module.basic.dal.mysql.inputsinfo.InputsInfoMapper;
import cn.iocoder.yudao.module.basic.dal.mysql.vendorinfo.VendorInfoMapper; import cn.iocoder.yudao.module.basic.dal.mysql.vendorinfo.VendorInfoMapper;
import org.apache.dubbo.config.annotation.DubboService; import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
@ -47,8 +44,6 @@ public class RedisBasicInfoUtilImpl implements RedisBasicInfoUtilApi {
private DealerInfoMapper dealerInfoMapper; private DealerInfoMapper dealerInfoMapper;
@Resource @Resource
private GoodsInfoMapper goodsInfoMapper; private GoodsInfoMapper goodsInfoMapper;
@Resource
private InputsInfoMapper inputsInfoMapper;
/** /**
* *
@ -310,67 +305,4 @@ public class RedisBasicInfoUtilImpl implements RedisBasicInfoUtilApi {
} }
} }
/*----------------------------------------投入品信息Redis缓存方法----------------------------------------*/
@Override
public boolean validateInputsInfoRedisExists(Long id) {
String tenantId = String.valueOf(TenantContextHolder.getRequiredTenantId());
if (!redisTemplate.hasKey("InputsInfo:" + tenantId)) {
HashMap<String, InputsInfoRespDTO> map = new HashMap<>();
List<InputsInfoRespDTO> inputsInfoRespDTOList = InputsInfoConvert.INSTANCE.convertToDTOList(inputsInfoMapper.selectList());
inputsInfoRespDTOList.forEach(item -> map.put(String.valueOf(item.getId()), item));
System.out.println("插入Redis," + "InputsInfo:" + tenantId);
redisTemplate.opsForHash().putAll("InputsInfo:" + tenantId, map);
redisTemplate.expire("InputsInfo:" + tenantId, 7, TimeUnit.DAYS);
}
if (redisTemplate.opsForHash().hasKey("InputsInfo:" + tenantId, String.valueOf(id))) {
return true;
} else {
return false;
}
}
@Override
public InputsInfoRespDTO getInputsInfoRedis(Long id) {
String tenantId = String.valueOf(TenantContextHolder.getRequiredTenantId());
if (!redisTemplate.hasKey("InputsInfo:" + tenantId)) {
HashMap<String, InputsInfoRespDTO> map = new HashMap<>();
List<InputsInfoRespDTO> inputsInfoRespDTOList = InputsInfoConvert.INSTANCE.convertToDTOList(inputsInfoMapper.selectList());
inputsInfoRespDTOList.forEach(item -> map.put(String.valueOf(item.getId()), item));
System.out.println("插入Redis," + "InputsInfo:" + tenantId);
redisTemplate.opsForHash().putAll("InputsInfo:" + tenantId, map);
redisTemplate.expire("InputsInfo:" + tenantId, 7, TimeUnit.DAYS);
}
InputsInfoRespDTO o = (InputsInfoRespDTO) redisTemplate.opsForHash().get("InputsInfo:" + tenantId, String.valueOf(id));
return o;
}
@Override
public void updateInputsInfoRedis(Long id, InputsInfoRespDTO inputsInfoRespDTO) {
String tenantId = String.valueOf(TenantContextHolder.getRequiredTenantId());
if (!redisTemplate.hasKey("InputsInfo:" + tenantId)) {
System.out.println("未插入Redis," + "InputsInfo:" + tenantId);
} else {
System.out.println("更新Redis," + "InputsInfo:" + tenantId);
redisTemplate.opsForHash().put("InputsInfo:" + tenantId, String.valueOf(id), inputsInfoRespDTO);
redisTemplate.expire("InputsInfo:" + tenantId, 7, TimeUnit.DAYS);
}
}
@Override
public void delInputsInfoRedis(Long id) {
String tenantId = String.valueOf(TenantContextHolder.getRequiredTenantId());
if (!redisTemplate.hasKey("InputsInfo:" + tenantId)) {
System.out.println("未插入Redis," + "InputsInfo:" + tenantId);
} else {
System.out.println("删除Redis," + "InputsInfo:" + tenantId);
redisTemplate.opsForHash().delete("InputsInfo:" + tenantId, String.valueOf(id));
}
}
} }

@ -1,40 +0,0 @@
package cn.iocoder.yudao.module.basic.controller.admin.goodsinputrelational;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.basic.controller.admin.goodsinfo.vo.GoodsInfoCreateReqVO;
import cn.iocoder.yudao.module.basic.controller.admin.goodsinputrelational.vo.GoodsInputRelationalCreateBatchReqVO;
import cn.iocoder.yudao.module.basic.controller.admin.goodsinputrelational.vo.GoodsInputRelationalCreateReqVO;
import cn.iocoder.yudao.module.basic.service.goodsinfo.GoodsInfoService;
import cn.iocoder.yudao.module.basic.service.goodsinputrelational.GoodsInputRelationalService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
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;
@Api(tags = "管理后台 - 投入品与商品映射")
@RestController
@RequestMapping("/basic/goods-input-relational")
@Validated
public class GoodsInputRelationalController {
@Resource
private GoodsInputRelationalService goodsInputRelationalService;
@PostMapping("/createGoodsInputRelationalBatch")
@ApiOperation("批量创建投入品与商品关联")
@PreAuthorize("@ss.hasPermission('basic:goods-info:create')")
public CommonResult createGoodsInputRelationalBatch(@Valid @RequestBody GoodsInputRelationalCreateBatchReqVO createReqVO) {
goodsInputRelationalService.createGoodsInputRelationalBatch(createReqVO);
return success(true);
}
}

@ -1,23 +0,0 @@
package cn.iocoder.yudao.module.basic.controller.admin.goodsinputrelational.vo;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import javax.validation.constraints.*;
/**
* Base VO VO 使
* VO Swagger
*/
@Data
public class GoodsInputRelationalBaseVO {
@ApiModelProperty(value = "商品编码", required = true)
@NotNull(message = "商品编码不能为空")
private String goodsId;
@ApiModelProperty(value = "投入品编码", required = true)
@NotNull(message = "投入品编码不能为空")
private String inputsId;
}

@ -1,15 +0,0 @@
package cn.iocoder.yudao.module.basic.controller.admin.goodsinputrelational.vo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import java.util.List;
@ApiModel("管理后台 - 投入品与商品关系批量创建 Request VO")
@Data
public class GoodsInputRelationalCreateBatchReqVO {
@NotEmpty(message = "投入品和商品编码集合不能为空")
List<GoodsInputRelationalCreateReqVO> goodsInputRelationals;
}

@ -1,20 +0,0 @@
package cn.iocoder.yudao.module.basic.controller.admin.goodsinputrelational.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@ApiModel("管理后台 - 投入品与商品关系创建 Request VO")
@Data
public class GoodsInputRelationalCreateReqVO {
@ApiModelProperty(value = "商品编码", required = true)
@NotNull(message = "商品编码不能为空")
private String goodsId;
@ApiModelProperty(value = "投入品编码")
// @NotNull(message = "投入品编码不能为空")
private String inputsId;
}

@ -1,102 +0,0 @@
package cn.iocoder.yudao.module.basic.controller.admin.inputsinfo;
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.basic.controller.admin.inputsinfo.vo.*;
import cn.iocoder.yudao.module.basic.dal.dataobject.inputsinfo.InputsInfoDO;
import cn.iocoder.yudao.module.basic.convert.inputsinfo.InputsInfoConvert;
import cn.iocoder.yudao.module.basic.service.inputsinfo.InputsInfoService;
@Api(tags = "管理后台 - 投入品")
@RestController
@RequestMapping("/basic/inputs-info")
@Validated
public class InputsInfoController {
@Resource
private InputsInfoService inputsInfoService;
@PostMapping("/create")
@ApiOperation("创建投入品")
@PreAuthorize("@ss.hasPermission('basic:inputs-info:create')")
public CommonResult<Long> createInputsInfo(@Valid @RequestBody InputsInfoCreateReqVO createReqVO) {
return success(inputsInfoService.createInputsInfo(createReqVO));
}
@PutMapping("/update")
@ApiOperation("更新投入品")
@PreAuthorize("@ss.hasPermission('basic:inputs-info:update')")
public CommonResult<Boolean> updateInputsInfo(@Valid @RequestBody InputsInfoUpdateReqVO updateReqVO) {
inputsInfoService.updateInputsInfo(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@ApiOperation("删除投入品")
@ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Long.class)
@PreAuthorize("@ss.hasPermission('basic:inputs-info:delete')")
public CommonResult<Boolean> deleteInputsInfo(@RequestParam("id") Long id) {
inputsInfoService.deleteInputsInfo(id);
return success(true);
}
@GetMapping("/get")
@ApiOperation("获得投入品")
@ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class)
@PreAuthorize("@ss.hasPermission('basic:inputs-info:query')")
public CommonResult<InputsInfoRespVO> getInputsInfo(@RequestParam("id") Long id) {
InputsInfoDO inputsInfo = inputsInfoService.getInputsInfo(id);
return success(InputsInfoConvert.INSTANCE.convert(inputsInfo));
}
@GetMapping("/page")
@ApiOperation("获得投入品分页")
@PreAuthorize("@ss.hasPermission('basic:inputs-info:query')")
public CommonResult<PageResult<InputsInfoRespVO>> getInputsInfoPage(@Valid InputsInfoPageReqVO pageVO) {
PageResult<InputsInfoDO> pageResult = inputsInfoService.getInputsInfoPage(pageVO);
return success(InputsInfoConvert.INSTANCE.convertPage(pageResult));
}
@GetMapping("/queryListOfMiniResult")
@ApiOperation("获得投入品信息(返回字段做精简化)")
@ApiImplicitParam(name = "businessInfoId", value = "商户信息ID", required = true, example = "1024", dataTypeClass = Long.class)
@PreAuthorize("@ss.hasPermission('basic:inputs-info:query')")
public CommonResult<List<InputsInfoForTransferRespVO>> queryListOfMiniResult(@RequestParam("businessInfoId") Long businessInfoId) {
return success(inputsInfoService.queryListOfMiniResult(businessInfoId));
}
@GetMapping("/getInputsInfoInputsInfoList")
@ApiOperation("获得所有投入品信息")
@PreAuthorize("@ss.hasPermission('basic:inputs-info:query')")
public CommonResult<List<InputsInfoDO>> getInputsInfoInputsInfoList() {
List<InputsInfoDO> inputsInfoInputsInfoList = inputsInfoService.getInputsInfoInputsInfoList();
return success(inputsInfoInputsInfoList);
}
@GetMapping("/getInputsInfoListByBelongBusinessId")
@ApiOperation("根据指定的商户id 获取所有名下多个投入品")
@ApiImplicitParam(name = "belongBusinessId", value = "商户ID", required = true, example = "1", dataTypeClass = List.class)
public CommonResult<List<InputsInfoDO>> getInputsInfoListByBelongBusinessId(@RequestParam("belongBusinessId") List<Long> belongBusinessId) {
List<InputsInfoDO> inputsInfoListByBelongBusinessId = inputsInfoService.getInputsInfoListByBelongBusinessId(belongBusinessId);
return success(inputsInfoListByBelongBusinessId);
}
}

@ -1,53 +0,0 @@
package cn.iocoder.yudao.module.basic.controller.admin.inputsinfo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
/**
* Base VO VO 使
* VO Swagger
*/
@Data
public class InputsInfoBaseVO {
@ApiModelProperty(value = "投入品名称", required = true)
@NotNull(message = "投入品名称不能为空")
private String inputsName;
@ApiModelProperty(value = "投入品id", required = true)
private String inputsId;
@ApiModelProperty(value = "是否基础单位(kg)")
private Boolean isBaseUnit;
@ApiModelProperty(value = "投入品单位id, 是基础单位(kg)时 该字段为0")
private Long inputsUnitId;
@ApiModelProperty(value = "投入品规格, 换算之后写入的数值 如5kg/袋 (或者kg)")
private String inputsSpecs;
@ApiModelProperty(value = "换算值")
private BigDecimal conversionValue;
@ApiModelProperty(value = "投入品说明")
private String inputsRemarks;
@ApiModelProperty(value = "图片url以','分割最多6张", required = true)
private String inputsPhotoUrl;
@ApiModelProperty(value = "保质期天数", required = true)
@NotNull(message = "保质期天数不能为空")
private Integer shelfLife;
@ApiModelProperty(value = "所属商户id", required = true)
@NotNull(message = "所属商户id不能为空")
private Long belongBusinessId;
@ApiModelProperty(value = "所属商户名称", required = true)
@NotNull(message = "所属商户名称不能为空")
private String belongBusinessName;
}

@ -1,14 +0,0 @@
package cn.iocoder.yudao.module.basic.controller.admin.inputsinfo.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 InputsInfoCreateReqVO extends InputsInfoBaseVO {
}

@ -1,52 +0,0 @@
package cn.iocoder.yudao.module.basic.controller.admin.inputsinfo.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@ApiModel(value = "管理后台 - 投入品 Excel 导出 Request VO", description = "参数和 InputsInfoPageReqVO 是一致的")
@Data
public class InputsInfoExportReqVO {
@ApiModelProperty(value = "投入品名称")
private String inputsName;
@ApiModelProperty(value = "投入品id")
private String inputsId;
@ApiModelProperty(value = "是否基础单位(kg)")
private Boolean isBaseUnit;
@ApiModelProperty(value = "投入品单位id, 是基础单位(kg)时 该字段为0")
private Long inputsUnitId;
@ApiModelProperty(value = "投入品规格, 换算之后写入的数值 如5kg/袋 (或者kg)")
private String inputsSpecs;
@ApiModelProperty(value = "换算值")
private BigDecimal conversionValue;
@ApiModelProperty(value = "投入品说明")
private String inputsRemarks;
@ApiModelProperty(value = "图片分割最多6张")
private String inputsPhotoUrl;
@ApiModelProperty(value = "保质期天")
private Integer shelfLife;
@ApiModelProperty(value = "所属商户id")
private Long belongBusinessId;
@ApiModelProperty(value = "所属商户名称")
private String belongBusinessName;
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT")
@ApiModelProperty(value = "创建时间")
private Date[] createTime;
}

@ -1,27 +0,0 @@
package cn.iocoder.yudao.module.basic.controller.admin.inputsinfo.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@ApiModel("管理后台 - 投入品 Response VO (精简版)")
@Data
public class InputsInfoForTransferRespVO {
@ApiModelProperty(value = "编码", required = true)
private Long id;
@ApiModelProperty(value = "投入品id", required = true)
private String inputsId;
@ApiModelProperty(value = "投入品名称", required = true)
private String inputsName;
@ApiModelProperty(value = "投入品单位", required = true)
private String inputsUnit;
}

@ -1,60 +0,0 @@
package cn.iocoder.yudao.module.basic.controller.admin.inputsinfo.vo;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.math.BigDecimal;
import java.util.Date;
@ApiModel("管理后台 - 投入品分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class InputsInfoPageReqVO extends PageParam {
@ApiModelProperty(value = "投入品名称")
private String inputsName;
@ApiModelProperty(value = "投入品id")
private String inputsId;
@ApiModelProperty(value = "是否基础单位(kg)")
private Boolean isBaseUnit;
@ApiModelProperty(value = "投入品单位id, 是基础单位(kg)时 该字段为0")
private Long inputsUnitId;
@ApiModelProperty(value = "投入品规格, 换算之后写入的数值 如5kg/袋 (或者kg)")
private String inputsSpecs;
@ApiModelProperty(value = "换算值")
private BigDecimal conversionValue;
@ApiModelProperty(value = "投入品单位名称")
private String inputsUnitName;
@ApiModelProperty(value = "投入品说明")
private String inputsRemarks;
@ApiModelProperty(value = "图片分割最多6张")
private String inputsPhotoUrl;
@ApiModelProperty(value = "保质期天")
private Integer shelfLife;
@ApiModelProperty(value = "所属商户id")
private Long belongBusinessId;
@ApiModelProperty(value = "所属商户名称")
private String belongBusinessName;
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT")
@ApiModelProperty(value = "创建时间")
private Date[] createTime;
}

@ -1,25 +0,0 @@
package cn.iocoder.yudao.module.basic.controller.admin.inputsinfo.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import io.swagger.annotations.*;
import java.util.Date;
@ApiModel("管理后台 - 投入品 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class InputsInfoRespVO extends InputsInfoBaseVO {
@ApiModelProperty(value = "编码", required = true)
private Long id;
@ApiModelProperty(value = "投入品单位名称")
private String inputsUnitName;
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT")
@ApiModelProperty(value = "创建时间")
private Date createTime;
}

@ -1,18 +0,0 @@
package cn.iocoder.yudao.module.basic.controller.admin.inputsinfo.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 InputsInfoUpdateReqVO extends InputsInfoBaseVO {
@ApiModelProperty(value = "编码", required = true)
@NotNull(message = "编码不能为空")
private Long id;
}

@ -1,39 +0,0 @@
package cn.iocoder.yudao.module.basic.controller.app.inputsinfo;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.basic.controller.admin.inputsinfo.vo.InputsInfoRespVO;
import cn.iocoder.yudao.module.basic.convert.inputsinfo.InputsInfoConvert;
import cn.iocoder.yudao.module.basic.service.inputsinfo.InputsInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.annotation.security.PermitAll;
import java.util.List;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Api(tags = "APP移动端 - 投入品信息")
@RestController
@RequestMapping("/basic/inputs-info")
@Validated
public class InputsInfoAppController {
@Resource
private InputsInfoService inputsInfoService;
@GetMapping("/getInputsInfoByBusinessInfoId")
@PermitAll // 无需登陆
@ApiOperation("根据商户ID获得投入品列表")
@ApiImplicitParam(name = "id", value = "商户ID", required = true, example = "1", dataTypeClass = Long.class)
public CommonResult<List<InputsInfoRespVO>> getInputsInfoByBusinessInfoId(@RequestParam("id") Long id) {
return success(inputsInfoService.getInputsInfoByBusinessInfoId(id));
}
}

@ -1,16 +0,0 @@
package cn.iocoder.yudao.module.basic.convert.goodsinputrelational;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
/**
* Convert
*
* @author
*/
@Mapper
public interface GoodsInputRelationalConvert {
GoodsInputRelationalConvert INSTANCE = Mappers.getMapper(GoodsInputRelationalConvert.class);
}

@ -1,40 +0,0 @@
package cn.iocoder.yudao.module.basic.convert.inputsinfo;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.basic.api.goodsinputrelational.dto.InputInfoRelationalRespDTO;
import cn.iocoder.yudao.module.basic.api.inputsinfo.dto.InputsInfoRespDTO;
import cn.iocoder.yudao.module.basic.controller.admin.inputsinfo.vo.*;
import cn.iocoder.yudao.module.basic.dal.dataobject.inputsinfo.InputsInfoDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
/**
* Convert
*
* @author
*/
@Mapper
public interface InputsInfoConvert {
InputsInfoConvert INSTANCE = Mappers.getMapper(InputsInfoConvert.class);
InputsInfoDO convert(InputsInfoCreateReqVO bean);
InputsInfoDO convert(InputsInfoUpdateReqVO bean);
InputsInfoRespVO convert(InputsInfoDO bean);
List<InputsInfoRespDTO> convertToDTOList(List<InputsInfoDO> list);
InputsInfoRespDTO convertToDTO(InputsInfoDO bean);
List<InputsInfoRespVO> convertList(List<InputsInfoDO> list);
PageResult<InputsInfoRespVO> convertPage(PageResult<InputsInfoDO> page);
List<InputInfoRelationalRespDTO> convertRelationalRespList(List<InputsInfoDO> list);
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save