Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
pms-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
pms-ci-test
Commits
54dd9c08
提交
54dd9c08
authored
6月 08, 2023
作者:
xiaowang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
加入用户token及 服务数据
上级
b3e8c575
显示空白字符变更
内嵌
并排
正在显示
28 个修改的文件
包含
1178 行增加
和
120 行删除
+1178
-120
pom.xml
pom.xml
+197
-97
DataFilterYml.java
src/main/java/com/mmc/pms/auth/DataFilterYml.java
+26
-0
MvcConfiguration.java
src/main/java/com/mmc/pms/auth/MvcConfiguration.java
+23
-0
NotCheckUriConfig.java
src/main/java/com/mmc/pms/auth/NotCheckUriConfig.java
+23
-0
TokenCheckHandleInterceptor.java
...in/java/com/mmc/pms/auth/TokenCheckHandleInterceptor.java
+99
-0
LoginSuccessDTO.java
src/main/java/com/mmc/pms/auth/dto/LoginSuccessDTO.java
+30
-0
BackstageTaskServiceController.java
...om/mmc/pms/controller/BackstageTaskServiceController.java
+63
-0
BaseController.java
src/main/java/com/mmc/pms/controller/BaseController.java
+58
-0
PartUploadController.java
...ain/java/com/mmc/pms/controller/PartUploadController.java
+2
-1
UploadController.java
src/main/java/com/mmc/pms/controller/UploadController.java
+1
-1
BackstageTaskServiceDao.java
src/main/java/com/mmc/pms/dao/BackstageTaskServiceDao.java
+25
-0
ProductDao.java
src/main/java/com/mmc/pms/dao/ProductDao.java
+2
-0
BaseEntity.java
src/main/java/com/mmc/pms/entity/BaseEntity.java
+0
-0
ProductSkuDO.java
src/main/java/com/mmc/pms/entity/ProductSkuDO.java
+1
-0
RepoCashDO.java
src/main/java/com/mmc/pms/entity/RepoCashDO.java
+1
-1
ServiceDO.java
src/main/java/com/mmc/pms/entity/ServiceDO.java
+93
-0
JsonUtil.java
src/main/java/com/mmc/pms/json/JsonUtil.java
+0
-0
ServiceQO.java
src/main/java/com/mmc/pms/model/qo/ServiceQO.java
+52
-0
ServiceVO.java
src/main/java/com/mmc/pms/model/work/vo/ServiceVO.java
+60
-0
BackstageTaskService.java
src/main/java/com/mmc/pms/service/BackstageTaskService.java
+23
-0
BackstageTaskServiceImpl.java
...va/com/mmc/pms/service/Impl/BackstageTaskServiceImpl.java
+56
-0
ProductServiceImpl.java
...ain/java/com/mmc/pms/service/Impl/ProductServiceImpl.java
+3
-3
BizException.java
src/main/java/com/mmc/pms/util/BizException.java
+90
-0
PathUtil.java
src/main/java/com/mmc/pms/util/PathUtil.java
+16
-0
application-local.yml
src/main/resources/application-local.yml
+14
-9
ProductDao.xml
src/main/resources/mapper/ProductDao.xml
+23
-8
BackstageTaskServiceDao.xml
src/main/resources/mapper/work/BackstageTaskServiceDao.xml
+189
-0
not-check.yml
src/main/resources/not-check.yml
+8
-0
没有找到文件。
pom.xml
浏览文件 @
54dd9c08
...
@@ -5,185 +5,285 @@
...
@@ -5,185 +5,285 @@
<parent>
<parent>
<groupId>
org.springframework.boot
</groupId>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-parent
</artifactId>
<artifactId>
spring-boot-starter-parent
</artifactId>
<version>
2.
7.6
</version>
<version>
2.
2.6.RELEASE
</version>
<relativePath/>
<!-- lookup parent from repository -->
<relativePath/>
</parent>
</parent>
<groupId>
com.mmc
</groupId>
<groupId>
com.mmc
</groupId>
<artifactId>
pms
</artifactId>
<artifactId>
pms
</artifactId>
<version>
0.0.1-SNAPSHOT
</version>
<version>
0.0.1-SNAPSHOT
</version>
<name>
pms
</name>
<name>
pms
</name>
<description>
pms
</description>
<description>
pms
</description>
<properties>
<properties>
<java.version>
1.8
</java.version>
<spring-cloud.version>
Hoxton.SR6
</spring-cloud.version>
<spring-cloud.version>
2021.0.3
</spring-cloud.version>
<springfox.version>
2.9.2
</springfox.version>
<spring-cloud-alibaba-seata.version>
2.2.1.RELEASE
</spring-cloud-alibaba-seata.version>
<seata.version>
1.1.0
</seata.version>
</properties>
</properties>
<dependencies>
<dependencies>
<dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<groupId>
org.projectlombok
</groupId>
<artifactId>
druid
</artifactId>
<artifactId>
lombok
</artifactId>
<version>
1.1.22
</version>
<version>
1.18.20
</version>
<scope>
provided
</scope>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
javax.xml.bind
</groupId>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
jaxb-api
</artifactId>
<artifactId>
spring-boot-starter-test
</artifactId>
<
version>
2.3.0
</version
>
<
scope>
test
</scope
>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<groupId>
com.alibaba
</groupId>
<artifactId>
spring-boot-starter-data-redis
</artifactId>
<artifactId>
fastjson
</artifactId>
<version>
1.2.83
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
mysql
</groupId>
<groupId>
com.github.xiaoymin
</groupId>
<artifactId>
mysql-connector-java
</artifactId>
<artifactId>
knife4j-spring-boot-starter
</artifactId>
<
!--<scope>runtime</scope>--
>
<
version>
3.0.2
</version
>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
com.github.xiaoymin
</groupId>
<groupId>
com.github.xiaoymin
</groupId>
<artifactId>
knife4j-spring-ui
</artifactId>
<artifactId>
knife4j-spring-ui
</artifactId>
<version>
3.0.2
</version>
<version>
3.0.2
</version>
</dependency>
</dependency>
<!-- https://mvnrepository.com/artifact/com.alibaba.fastjson2/fastjson2 -->
<dependency>
<groupId>
com.alibaba.fastjson2
</groupId>
<artifactId>
fastjson2
</artifactId>
<version>
2.0.29
</version>
</dependency>
<dependency>
<groupId>
org.apache.commons
</groupId>
<artifactId>
commons-collections4
</artifactId>
<version>
4.4
</version>
</dependency>
<!--logback 日志 -->
<dependency>
<groupId>
net.logstash.logback
</groupId>
<artifactId>
logstash-logback-encoder
</artifactId>
<version>
5.3
</version>
</dependency>
<!-- 引入 Web 功能 -->
<dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
<artifactId>
spring-boot-starter-web
</artifactId>
</dependency>
</dependency>
<!-- 健康监控 -->
<dependency>
<dependency>
<groupId>
com.baomidou
</groupId>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
mybatis-plus-boot-starter
</artifactId>
<artifactId>
spring-boot-starter-actuator
</artifactId>
<version>
3.4.3.4
</version>
</dependency>
</dependency>
<!-- 引入 Feign, 可以以声明的方式调用微服务 -->
<dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-boot-starter-validation
</artifactId>
<artifactId>
spring-cloud-starter-openfeign
</artifactId>
<version>
3.0.0
</version>
<!--<scope>compile</scope>-->
</dependency>
</dependency>
<!-- 使用okhttp-feign-连接池技术 -->
<dependency>
<dependency>
<groupId>
org.projectlombok
</groupId>
<groupId>
io.github.openfeign
</groupId>
<artifactId>
lombok
</artifactId>
<artifactId>
feign-okhttp
</artifactId>
</dependency>
<!-- 引入服务容错 Hystrix 的依赖 -->
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-starter-netflix-hystrix
</artifactId>
<exclusions>
<exclusion>
<groupId>
com.google.guava
</groupId>
<artifactId>
guava
</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- mybatis驱动&Druid数据源-start -->
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
druid-spring-boot-starter
</artifactId>
</dependency>
<dependency>
<groupId>
org.mybatis.spring.boot
</groupId>
<artifactId>
mybatis-spring-boot-starter
</artifactId>
</dependency>
<dependency>
<groupId>
mysql
</groupId>
<artifactId>
mysql-connector-java
</artifactId>
</dependency>
<!-- mybatis驱动&Druid数据源-end -->
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-devtools
</artifactId>
<optional>
true
</optional>
<optional>
true
</optional>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-
starter-test
</artifactId>
<artifactId>
spring-boot-
devtools
</artifactId>
<
scope>
test
</scope
>
<
optional>
true
</optional
>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<groupId>
org.redisson
</groupId>
<artifactId>
fastjson
</artifactId>
<artifactId>
redisson-spring-boot-starter
</artifactId>
<version>
2.0.32
</version>
<version>
3.13.1
</version>
</dependency>
<dependency>
<groupId>
com.baomidou
</groupId>
<artifactId>
mybatis-plus-boot-starter
</artifactId>
<version>
3.4.3.4
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
com.aliyun.oss
</groupId>
<groupId>
com.aliyun.oss
</groupId>
<artifactId>
aliyun-sdk-oss
</artifactId>
<artifactId>
aliyun-sdk-oss
</artifactId>
<version>
3.10.2
</version>
<version>
3.10.2
</version>
</dependency>
</dependency>
<!--<dependency>
<groupId>cn.hutool</groupId>
</dependencies>
<artifactId>hutool-core</artifactId>
<version>5.8.12</version>
<dependencyManagement>
</dependency>-->
<dependencies>
<dependency>
<dependency>
<groupId>
org.apache.commons
</groupId>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
commons-lang3
</artifactId>
<artifactId>
spring-cloud-dependencies
</artifactId>
<version>
3.12.0
</version>
<version>
${spring-cloud.version}
</version>
<type>
pom
</type>
<scope>
import
</scope>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
io.jsonwebtoken
</groupId>
<groupId>
com.alibaba.cloud
</groupId>
<artifactId>
jjwt
</artifactId>
<artifactId>
spring-cloud-starter-alibaba-seata
</artifactId>
<version>
0.6.0
</version>
<version>
${spring-cloud-alibaba-seata.version}
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
com.auth0
</groupId>
<groupId>
io.seata
</groupId>
<artifactId>
java-jwt
</artifactId>
<artifactId>
seata-spring-boot-starter
</artifactId>
<version>
3.1.0
</version>
<version>
${seata.version}
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<groupId>
com.alibaba
</groupId>
<artifactId>
spring-boot-starter-aop
</artifactId>
<artifactId>
druid-spring-boot-starter
</artifactId>
<version>
1.1.10
</version>
</dependency>
</dependency>
<!--swagger-->
<dependency>
<dependency>
<groupId>
com.github.xiaoymin
</groupId>
<groupId>
org.mybatis.spring.boot
</groupId>
<artifactId>
knife4j
-spring-boot-starter
</artifactId>
<artifactId>
mybatis
-spring-boot-starter
</artifactId>
<version>
3.0
.2
</version>
<version>
2.1
.2
</version>
</dependency>
</dependency>
<!-- <dependency>
<groupId>com.taobao.arthas</groupId>
<artifactId>arthas-spring-boot-starter</artifactId>
<version>3.6.3</version>
</dependency>-->
<dependency>
<dependency>
<groupId>
com.deepoove
</groupId>
<groupId>
mysql
</groupId>
<artifactId>
poi-tl
</artifactId>
<artifactId>
mysql-connector-java
</artifactId>
<version>
1.12.0
</version>
<version>
8.0.28
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
cn.hutool
</groupId>
<groupId>
cn.afterturn
</groupId>
<artifactId>
hutool-cor
e
</artifactId>
<artifactId>
easypoi-bas
e
</artifactId>
<version>
5.8.16
</version>
<version>
4.1.0
</version>
</dependency>
</dependency>
<!-- minio 相关依赖 -->
<dependency>
<dependency>
<groupId>
io.minio
</groupId>
<groupId>
cn.afterturn
</groupId>
<artifactId>
minio
</artifactId>
<artifactId>
easypoi-web
</artifactId>
<version>
3.0.1
0
</version>
<version>
4.1.
0
</version>
</dependency>
</dependency>
<!--amqp的起步依赖-->
<dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<groupId>
cn.afterturn
</groupId>
<artifactId>
spring-boot-starter-amqp
</artifactId>
<artifactId>
easypoi-annotation
</artifactId>
<version>
4.1.0
</version>
</dependency>
<dependency>
<groupId>
org.apache.commons
</groupId>
<artifactId>
commons-collections4
</artifactId>
<version>
4.4
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
org.jetbrains.kotlin
</groupId>
<groupId>
com.alibaba
</groupId>
<artifactId>
kotlin-stdlib
</artifactId>
<artifactId>
easyexcel
</artifactId>
<version>
1.6.0
</version>
<version>
3.1.3
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
com.squareup.okhttp3
</groupId>
<groupId>
com.aliyun.oss
</groupId>
<artifactId>
okhttp
</artifactId>
<artifactId>
aliyun-sdk-oss
</artifactId>
<version>
3.14.9
</version>
<version>
3.10.2
</version>
<scope>
compile
</scope>
</dependency>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
<dependency>
<dependency>
<groupId>
org.springframework.clou
d
</groupId>
<groupId>
commons-fileuploa
d
</groupId>
<artifactId>
spring-cloud-starter-openfeign
</artifactId>
<artifactId>
commons-fileupload
</artifactId>
<version>
2.2.9.RELEASE
</version>
<version>
1.5
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<groupId>
org.redisson
</groupId>
<artifactId>
spring-cloud-starter-netflix-hystrix
</artifactId>
<artifactId>
redisson-spring-boot-starter
</artifactId>
<version>
2.2.9.RELEASE
</version>
<version>
3.13.1
</version>
</dependency>
</dependency>
</dependencies>
<dependencyManagement>
<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependencies>
<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies -->
<dependency>
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<groupId>
com.google.guava
</groupId>
<artifactId>
spring-cloud-dependencies
</artifactId>
<artifactId>
guava
</artifactId>
<version>
2021.0.6
</version>
<version>
31.1-jre
</version>
<type>
pom
</type>
<scope>
import
</scope>
</dependency>
</dependency>
<dependency>
<groupId>
org.apache.poi
</groupId>
<artifactId>
poi
</artifactId>
<version>
4.1.1
</version>
<scope>
compile
</scope>
</dependency>
</dependencies>
</dependencies>
</dependencyManagement>
</dependencyManagement>
<!-- 配置远程仓库 -->
<repositories>
<repository>
<id>
spring-milestones
</id>
<name>
Spring Milestones
</name>
<url>
https://repo.spring.io/milestone
</url>
<snapshots>
<enabled>
false
</enabled>
</snapshots>
</repository>
</repositories>
<build>
<build>
<plugins>
<plugins>
<plugin>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>
org.projectlombok
</groupId>
<artifactId>
lombok
</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugin>
</plugins>
</plugins>
<resources>
<!--需要动态添加的资源 -->
<resource>
<directory>
src/main/resources
</directory>
<filtering>
true
</filtering>
<includes>
<!--读取打包命令中指定的环境 -->
<include>
**/*.yml
</include>
<include>
**/*.xml
</include>
<include>
**/*.properties
</include>
</includes>
</resource>
</resources>
</build>
</build>
</project>
</project>
src/main/java/com/mmc/pms/auth/DataFilterYml.java
0 → 100644
浏览文件 @
54dd9c08
package
com
.
mmc
.
pms
.
auth
;
import
org.springframework.beans.factory.config.YamlPropertiesFactoryBean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.support.PropertySourcesPlaceholderConfigurer
;
import
org.springframework.core.io.ClassPathResource
;
import
java.util.Objects
;
/**
* Author: geDuo
* Date: 2022/6/2 17:26
*/
@Configuration
public
class
DataFilterYml
{
@Bean
public
static
PropertySourcesPlaceholderConfigurer
loadYml
()
{
PropertySourcesPlaceholderConfigurer
configurer
=
new
PropertySourcesPlaceholderConfigurer
();
YamlPropertiesFactoryBean
yaml
=
new
YamlPropertiesFactoryBean
();
yaml
.
setResources
(
new
ClassPathResource
(
"not-check.yml"
));
configurer
.
setProperties
(
Objects
.
requireNonNull
(
yaml
.
getObject
()));
return
configurer
;
}
}
src/main/java/com/mmc/pms/auth/MvcConfiguration.java
0 → 100644
浏览文件 @
54dd9c08
package
com
.
mmc
.
pms
.
auth
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.web.servlet.config.annotation.InterceptorRegistry
;
import
org.springframework.web.servlet.config.annotation.WebMvcConfigurer
;
/**
* @author: zj
* @Date: 2023/5/28 10:52
*/
@Configuration
public
class
MvcConfiguration
implements
WebMvcConfigurer
{
@Autowired
private
TokenCheckHandleInterceptor
tokenCheckHandleInterceptor
;
@Override
public
void
addInterceptors
(
InterceptorRegistry
registry
)
{
registry
.
addInterceptor
(
tokenCheckHandleInterceptor
);
WebMvcConfigurer
.
super
.
addInterceptors
(
registry
);
}
}
src/main/java/com/mmc/pms/auth/NotCheckUriConfig.java
0 → 100644
浏览文件 @
54dd9c08
package
com
.
mmc
.
pms
.
auth
;
import
lombok.Data
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.PropertySource
;
import
java.util.List
;
/**
* @author: zj
* @Date: 2023/5/28 13:54
*/
@Data
@Configuration
@ConfigurationProperties
(
prefix
=
"data-filter"
,
ignoreUnknownFields
=
false
)
@PropertySource
(
"classpath:not-check.yml"
)
public
class
NotCheckUriConfig
{
// 不需要验证token的请求地址
private
List
<
String
>
notAuthPath
;
// 不需要验证token的请求地址;// 不需要验证token的请求地址
private
List
<
String
>
uploadPath
;
}
src/main/java/com/mmc/pms/auth/TokenCheckHandleInterceptor.java
0 → 100644
浏览文件 @
54dd9c08
package
com
.
mmc
.
pms
.
auth
;
import
com.baomidou.mybatisplus.core.toolkit.StringUtils
;
import
com.mmc.pms.common.ResultBody
;
import
com.mmc.pms.common.ResultEnum
;
import
com.mmc.pms.util.PathUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.servlet.HandlerInterceptor
;
import
org.springframework.web.servlet.ModelAndView
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.PrintWriter
;
/**
* @author: zj
* @Date: 2023/5/28 10:46
*/
@Slf4j
@Component
public
class
TokenCheckHandleInterceptor
implements
HandlerInterceptor
{
@Autowired
private
StringRedisTemplate
stringRedisTemplate
;
@Autowired
private
NotCheckUriConfig
notCheckUriConfig
;
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
String
requestURI
=
request
.
getRequestURI
();
// //根据uri确认是否要拦截
if
(!
shouldFilter
(
requestURI
))
{
return
true
;
}
String
token
=
request
.
getHeader
(
"token"
);
if
(
StringUtils
.
isBlank
(
token
))
{
exceptionProcess
(
response
);
return
false
;
}
String
tokenJson
=
stringRedisTemplate
.
opsForValue
().
get
(
token
);
if
(
StringUtils
.
isBlank
(
tokenJson
))
{
exceptionProcess
(
response
);
return
false
;
}
//
// String serverName = request.getServerName();
// String remoteHost = request.getRemoteHost();
// log.info("hostName: {}", hostName);
// log.info("serverName: {}", serverName);
// log.info("remoteHost: {}", remoteHost);
// log.info("forwardedFor: {}", forwardedFor);
// log.info("forwardedHost: {}", forwardedHost);
// if (hostName.equals("iuav.mmcuav.cn") || hostName.equals("test.iuav.mmcuav.cn") || hostName.equals("www.iuav.shop") || hostName.equals("test.iuav.shop")){
// String token = request.getHeader("token");
// if (StringUtils.isBlank(token)){
// exceptionProcess(response);
// return false;
// }
// String tokenJson = stringRedisTemplate.opsForValue().get(token);
// if (StringUtils.isBlank(tokenJson)){
// exceptionProcess(response);
// return false;
// }
// return true;
// }
//测试-打印请求信息
return
true
;
}
@Override
public
void
postHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
,
ModelAndView
modelAndView
)
throws
Exception
{
}
@Override
public
void
afterCompletion
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
,
Exception
ex
)
throws
Exception
{
}
public
void
exceptionProcess
(
HttpServletResponse
response
)
throws
Exception
{
response
.
setContentType
(
"application/json;charset=utf-8"
);
PrintWriter
writer
=
response
.
getWriter
();
writer
.
write
(
ResultBody
.
error
(
ResultEnum
.
LOGIN_ACCOUNT_STATUS_ERROR
).
toString
());
writer
.
close
();
}
private
boolean
shouldFilter
(
String
path
)
{
// 路径与配置的相匹配,则执行过滤
for
(
String
pathPattern
:
notCheckUriConfig
.
getNotAuthPath
())
{
if
(
PathUtil
.
isPathMatch
(
pathPattern
,
path
))
{
// 如果匹配
return
false
;
}
}
return
true
;
}
}
src/main/java/com/mmc/pms/auth/dto/LoginSuccessDTO.java
0 → 100644
浏览文件 @
54dd9c08
package
com
.
mmc
.
pms
.
auth
.
dto
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* @author 作者 geDuo
* @version 创建时间:2021年8月31日 下午8:06:14
* @explain 类说明
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
LoginSuccessDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
1200834589953161925L
;
private
String
token
;
private
Integer
userAccountId
;
private
String
accountNo
;
private
Integer
portType
;
private
String
uid
;
private
String
phoneNum
;
private
String
userName
;
private
String
nickName
;
// private RoleInfoDTO roleInfo;
}
src/main/java/com/mmc/pms/controller/BackstageTaskServiceController.java
0 → 100644
浏览文件 @
54dd9c08
package
com
.
mmc
.
pms
.
controller
;
import
com.mmc.pms.common.ResultBody
;
import
com.mmc.pms.model.group.Create
;
import
com.mmc.pms.model.group.Update
;
import
com.mmc.pms.model.qo.ServiceQO
;
import
com.mmc.pms.model.work.vo.ServiceVO
;
import
com.mmc.pms.service.BackstageTaskService
;
import
io.swagger.annotations.*
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
/**
* @Author LW
* @date 2023/6/6 10:41
* 概要:
*/
@Api
(
tags
=
{
"后台-服务管理-模块"
})
@RestController
@RequestMapping
(
"/backstage/work"
)
public
class
BackstageTaskServiceController
extends
BaseController
{
@Resource
private
BackstageTaskService
backstageTaskService
;
@ApiOperation
(
value
=
"新增作业服务"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"addWorkService"
)
public
ResultBody
addWorkService
(
@Validated
(
Create
.
class
)
@RequestBody
ServiceVO
param
,
HttpServletRequest
request
)
{
return
backstageTaskService
.
addWorkService
(
param
,
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
());
}
@ApiOperation
(
value
=
"修改作业服务"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"updateWorkService"
)
public
ResultBody
updateWorkService
(
@Validated
(
Update
.
class
)
@RequestBody
ServiceVO
param
)
{
return
backstageTaskService
.
updateById
(
param
);
}
@ApiOperation
(
value
=
"删除作业服务"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"deleteWorkService"
)
public
ResultBody
deleteWorkService
(
@ApiParam
(
"作业服务id"
)
@RequestParam
(
value
=
"id"
)
Integer
id
)
{
return
backstageTaskService
.
deleteById
(
id
);
}
@ApiOperation
(
value
=
"查询作业服务"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"queryWorkService"
)
public
ResultBody
queryWorkService
(
@ApiParam
(
"作业服务id"
)
@RequestParam
(
value
=
"id"
)
Integer
id
)
{
return
backstageTaskService
.
queryById
(
id
);
}
@ApiOperation
(
value
=
"查询工作服务列表"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"queryWorkServiceList"
)
public
ResultBody
queryWorkServiceList
(
@Validated
(
Create
.
class
)
@RequestBody
ServiceQO
param
,
HttpServletRequest
request
)
{
return
backstageTaskService
.
queryWorkServiceList
(
param
,
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
());
}
}
src/main/java/com/mmc/pms/controller/BaseController.java
0 → 100644
浏览文件 @
54dd9c08
package
com
.
mmc
.
pms
.
controller
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mmc.pms.auth.dto.LoginSuccessDTO
;
import
com.mmc.pms.common.ResultEnum
;
import
com.mmc.pms.util.BizException
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
javax.servlet.http.HttpServletRequest
;
/**
* @author: zj
* @Date: 2023/5/25 18:11
*/
public
abstract
class
BaseController
{
@Autowired
private
StringRedisTemplate
stringRedisTemplate
;
/**
* 解析token,获取用户信息
* @param request
* @return
*/
// public BaseAccountDTO getUserLoginInfo(HttpServletRequest request) {
// String token = request.getHeader("token");
// try {
// Claims claims = JwtUtil.parseJwt(token);
// String userId = claims.get(JwtConstant.USER_ACCOUNT_ID).toString();
//// String roleId = claims.get("").toString();
// String tokenType = claims.get(JwtConstant.TOKEN_TYPE).toString();
// return BaseAccountDTO.builder().id(Integer.parseInt(userId)).tokenPort(tokenType).build();
// }catch (Exception e){
// throw new BizException("Invalid token");
// }
// }
/**
* 使用token从redis获取用户信息
*
* @param request
* @return
*/
public
LoginSuccessDTO
getUserLoginInfoFromRedis
(
HttpServletRequest
request
)
{
String
token
=
request
.
getHeader
(
"token"
);
if
(
StringUtils
.
isBlank
(
token
))
{
throw
new
BizException
(
ResultEnum
.
LOGIN_ACCOUNT_STATUS_ERROR
);
}
String
json
=
stringRedisTemplate
.
opsForValue
().
get
(
token
);
if
(
StringUtils
.
isBlank
(
json
))
{
throw
new
BizException
(
ResultEnum
.
LOGIN_ACCOUNT_STATUS_ERROR
);
}
LoginSuccessDTO
loginSuccessDTO
=
JSONObject
.
parseObject
(
json
,
LoginSuccessDTO
.
class
);
return
loginSuccessDTO
;
}
}
src/main/java/com/mmc/pms/controller/PartUploadController.java
浏览文件 @
54dd9c08
...
@@ -32,7 +32,8 @@ import java.util.List;
...
@@ -32,7 +32,8 @@ import java.util.List;
@RequestMapping
(
"/partupload"
)
@RequestMapping
(
"/partupload"
)
public
class
PartUploadController
{
public
class
PartUploadController
{
@Autowired
private
StringRedisTemplate
stringRedisTemplate
;
@Autowired
private
StringRedisTemplate
stringRedisTemplate
;
@ApiOperation
(
value
=
"初始化分片上传"
)
@ApiOperation
(
value
=
"初始化分片上传"
)
@GetMapping
(
"/initPartUpload"
)
@GetMapping
(
"/initPartUpload"
)
...
...
src/main/java/com/mmc/pms/controller/UploadController.java
浏览文件 @
54dd9c08
package
com
.
mmc
.
pms
.
controller
;
package
com
.
mmc
.
pms
.
controller
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson
2
.JSONObject
;
import
com.aliyun.oss.ClientBuilderConfiguration
;
import
com.aliyun.oss.ClientBuilderConfiguration
;
import
com.aliyun.oss.OSS
;
import
com.aliyun.oss.OSS
;
import
com.aliyun.oss.OSSClientBuilder
;
import
com.aliyun.oss.OSSClientBuilder
;
...
...
src/main/java/com/mmc/pms/dao/BackstageTaskServiceDao.java
0 → 100644
浏览文件 @
54dd9c08
package
com
.
mmc
.
pms
.
dao
;
import
com.mmc.pms.entity.ServiceDO
;
import
com.mmc.pms.model.qo.ServiceQO
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.util.List
;
/**
* @Author LW
* @date 2023/6/6 10:48
* 概要:
*/
@Mapper
public
interface
BackstageTaskServiceDao
{
int
insert
(
ServiceDO
serviceDO
);
int
update
(
ServiceDO
serviceDO
);
int
deleteById
(
Integer
id
);
ServiceDO
queryById
(
Integer
id
);
List
<
ServiceDO
>
queryAllByLimit
(
ServiceQO
param
);
}
src/main/java/com/mmc/pms/dao/ProductDao.java
浏览文件 @
54dd9c08
...
@@ -110,6 +110,8 @@ public interface ProductDao {
...
@@ -110,6 +110,8 @@ public interface ProductDao {
Set
<
Integer
>
listProductSpecIds
(
@Param
(
"mallProdSkuSpecIds"
)
Set
<
Integer
>
mallProdSkuSpecIds
);
Set
<
Integer
>
listProductSpecIds
(
@Param
(
"mallProdSkuSpecIds"
)
Set
<
Integer
>
mallProdSkuSpecIds
);
List
<
OrderGoodsProdDTO
>
listProdGoodsSkuInfo
(
MallOrderGoodsInfoQO
mallOrderGoodsInfoQO
);
List
<
OrderGoodsProdDTO
>
listProdGoodsSkuInfo
(
MallOrderGoodsInfoQO
mallOrderGoodsInfoQO
);
List
<
MallProdSkuInfoSpecDO
>
listMallProductSpec
(
Integer
id
);
}
}
...
...
src/main/java/com/mmc/pms/entity/BaseEntity.java
浏览文件 @
54dd9c08
src/main/java/com/mmc/pms/entity/ProductSkuDO.java
浏览文件 @
54dd9c08
...
@@ -59,6 +59,7 @@ public class ProductSkuDO implements Serializable {
...
@@ -59,6 +59,7 @@ public class ProductSkuDO implements Serializable {
.
productBrand
(
this
.
brandName
)
.
productBrand
(
this
.
brandName
)
.
createTime
(
this
.
createTime
)
.
createTime
(
this
.
createTime
)
.
categoriesId
(
categoriesId
)
.
categoriesId
(
categoriesId
)
.
productBrandId
(
brandInfoId
)
.
directoryId
(
directoryId
)
.
directoryId
(
directoryId
)
.
categoryName
(
this
.
categoryName
)
.
categoryName
(
this
.
categoryName
)
.
directoryName
(
directoryName
)
.
directoryName
(
directoryName
)
...
...
src/main/java/com/mmc/pms/entity/RepoCashDO.java
浏览文件 @
54dd9c08
package
com
.
mmc
.
pms
.
entity
;
package
com
.
mmc
.
pms
.
entity
;
import
com.baomidou.mybatisplus.core.toolkit.StringUtils
;
import
com.mmc.pms.model.other.dto.RepoCashDTO
;
import
com.mmc.pms.model.other.dto.RepoCashDTO
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
org.apache.commons.lang.StringUtils
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
...
...
src/main/java/com/mmc/pms/entity/ServiceDO.java
0 → 100644
浏览文件 @
54dd9c08
package
com
.
mmc
.
pms
.
entity
;
import
com.mmc.pms.model.work.vo.ServiceVO
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @Author LW
* @date 2023/6/8 10:33
* 概要:
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
ServiceDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
Integer
id
;
@ApiModelProperty
(
value
=
"服务名称"
)
private
String
serviceName
;
@ApiModelProperty
(
value
=
"应用"
)
private
Integer
applicationId
;
@ApiModelProperty
(
value
=
"行业"
)
private
Integer
industryId
;
@ApiModelProperty
(
value
=
"展示状态"
)
private
Integer
displayState
;
@ApiModelProperty
(
value
=
"封面图"
)
private
String
coverPlan
;
@ApiModelProperty
(
value
=
"分享卡片"
)
private
String
shareCard
;
@ApiModelProperty
(
value
=
"视频"
)
private
String
video
;
@ApiModelProperty
(
value
=
"服务介绍"
)
private
String
serviceIntroduction
;
@ApiModelProperty
(
value
=
"创建人id"
)
private
Integer
accountId
;
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"修改时间"
)
private
Date
updateTime
;
@ApiModelProperty
(
value
=
"逻辑删除字段"
)
private
Integer
isDeleted
;
public
ServiceDO
(
ServiceVO
param
,
Integer
accountId
)
{
this
.
id
=
param
.
getId
();
this
.
serviceName
=
param
.
getServiceName
();
this
.
applicationId
=
param
.
getApplicationId
();
this
.
industryId
=
param
.
getIndustryId
();
this
.
displayState
=
param
.
getDisplayState
();
this
.
coverPlan
=
param
.
getCoverPlan
();
this
.
shareCard
=
param
.
getShareCard
();
this
.
video
=
param
.
getVideo
();
this
.
serviceIntroduction
=
param
.
getServiceIntroduction
();
this
.
accountId
=
accountId
;
}
public
ServiceDO
(
ServiceVO
param
)
{
this
.
id
=
param
.
getId
();
this
.
serviceName
=
param
.
getServiceName
();
this
.
applicationId
=
param
.
getApplicationId
();
this
.
industryId
=
param
.
getIndustryId
();
this
.
displayState
=
param
.
getDisplayState
();
this
.
coverPlan
=
param
.
getCoverPlan
();
this
.
shareCard
=
param
.
getShareCard
();
this
.
video
=
param
.
getVideo
();
this
.
serviceIntroduction
=
param
.
getServiceIntroduction
();
}
public
ServiceDO
(
Integer
id
,
Integer
accountId
)
{
this
.
id
=
id
;
this
.
accountId
=
accountId
;
}
}
src/main/java/com/mmc/pms/json/JsonUtil.java
浏览文件 @
54dd9c08
src/main/java/com/mmc/pms/model/qo/ServiceQO.java
0 → 100644
浏览文件 @
54dd9c08
package
com
.
mmc
.
pms
.
model
.
qo
;
import
com.mmc.pms.common.Page
;
import
com.mmc.pms.model.group.Freeze
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.hibernate.validator.constraints.Length
;
import
javax.validation.constraints.Min
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
/**
* @Author LW
* @date 2023/6/8 10:33
* 概要:
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
ServiceQO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
Integer
id
;
@ApiModelProperty
(
value
=
"服务名称"
,
example
=
"服务名称"
)
@Length
(
message
=
"最大不超过30字"
,
max
=
30
)
private
String
serviceName
;
@ApiModelProperty
(
value
=
"应用"
,
example
=
"1"
)
private
Integer
applicationId
;
@ApiModelProperty
(
value
=
"行业"
,
example
=
"2"
)
private
Integer
industryId
;
@ApiModelProperty
(
value
=
"页码"
,
required
=
true
)
@NotNull
(
message
=
"页码不能为空"
,
groups
=
{
Page
.
class
,
Freeze
.
class
})
@Min
(
value
=
1
,
groups
=
Page
.
class
)
private
Integer
pageNo
;
@ApiModelProperty
(
value
=
"每页显示数"
,
required
=
true
)
@NotNull
(
message
=
"每页显示数不能为空"
,
groups
=
{
Page
.
class
,
Freeze
.
class
})
@Min
(
value
=
1
,
groups
=
Page
.
class
)
private
Integer
pageSize
;
}
src/main/java/com/mmc/pms/model/work/vo/ServiceVO.java
0 → 100644
浏览文件 @
54dd9c08
package
com
.
mmc
.
pms
.
model
.
work
.
vo
;
import
com.mmc.pms.model.group.Create
;
import
com.mmc.pms.model.group.Update
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.hibernate.validator.constraints.Length
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
/**
* @Author LW
* @date 2023/6/8 10:33
* 概要:
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
ServiceVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@NotNull
(
message
=
"修改服务id不能为空"
,
groups
=
{
Update
.
class
})
private
Integer
id
;
@ApiModelProperty
(
value
=
"服务名称"
,
example
=
"服务名称"
)
@NotBlank
(
message
=
"服务名称不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
@Length
(
message
=
"最大不超过30字"
,
max
=
30
)
private
String
serviceName
;
@ApiModelProperty
(
value
=
"应用"
,
example
=
"1"
)
private
Integer
applicationId
;
@ApiModelProperty
(
value
=
"行业"
,
example
=
"2"
)
@NotNull
(
message
=
"行业id不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
Integer
industryId
;
@ApiModelProperty
(
value
=
"展示状态,0为上架,1下架"
,
example
=
"0"
)
@NotNull
(
message
=
"展示状态不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
Integer
displayState
;
@ApiModelProperty
(
value
=
"封面图"
)
@NotBlank
(
message
=
"封面图不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
coverPlan
;
@ApiModelProperty
(
value
=
"分享卡片"
)
private
String
shareCard
;
@ApiModelProperty
(
value
=
"视频"
)
private
String
video
;
@ApiModelProperty
(
value
=
"服务介绍"
)
private
String
serviceIntroduction
;
}
src/main/java/com/mmc/pms/service/BackstageTaskService.java
0 → 100644
浏览文件 @
54dd9c08
package
com
.
mmc
.
pms
.
service
;
import
com.mmc.pms.common.ResultBody
;
import
com.mmc.pms.model.qo.ServiceQO
;
import
com.mmc.pms.model.work.vo.ServiceVO
;
/**
* @Author LW
* @date 2023/6/6 10:46
* 概要:
*/
public
interface
BackstageTaskService
{
ResultBody
addWorkService
(
ServiceVO
param
,
Integer
userAccountId
);
ResultBody
updateById
(
ServiceVO
param
);
ResultBody
deleteById
(
Integer
id
);
ResultBody
queryById
(
Integer
id
);
ResultBody
queryWorkServiceList
(
ServiceQO
param
,
Integer
userAccountId
);
}
src/main/java/com/mmc/pms/service/Impl/BackstageTaskServiceImpl.java
0 → 100644
浏览文件 @
54dd9c08
package
com
.
mmc
.
pms
.
service
.
Impl
;
import
com.mmc.pms.common.ResultBody
;
import
com.mmc.pms.dao.BackstageTaskServiceDao
;
import
com.mmc.pms.entity.ServiceDO
;
import
com.mmc.pms.model.qo.ServiceQO
;
import
com.mmc.pms.model.work.vo.ServiceVO
;
import
com.mmc.pms.service.BackstageTaskService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* @Author LW
* @date 2023/6/8 9:59
* 概要:
*/
@Service
public
class
BackstageTaskServiceImpl
implements
BackstageTaskService
{
@Autowired
private
BackstageTaskServiceDao
backstageTaskServiceDao
;
@Override
public
ResultBody
addWorkService
(
ServiceVO
param
,
Integer
userAccountId
)
{
ServiceDO
serviceDO
=
new
ServiceDO
(
param
,
userAccountId
);
backstageTaskServiceDao
.
insert
(
serviceDO
);
return
ResultBody
.
success
();
}
@Override
public
ResultBody
updateById
(
ServiceVO
param
)
{
ServiceDO
serviceDO
=
new
ServiceDO
(
param
);
backstageTaskServiceDao
.
update
(
serviceDO
);
return
ResultBody
.
success
();
}
@Override
public
ResultBody
deleteById
(
Integer
id
)
{
backstageTaskServiceDao
.
deleteById
(
id
);
return
ResultBody
.
success
();
}
@Override
public
ResultBody
queryById
(
Integer
id
)
{
ServiceDO
serviceDO
=
backstageTaskServiceDao
.
queryById
(
id
);
return
ResultBody
.
success
(
serviceDO
);
}
@Override
public
ResultBody
queryWorkServiceList
(
ServiceQO
param
,
Integer
userAccountId
)
{
List
<
ServiceDO
>
services
=
backstageTaskServiceDao
.
queryAllByLimit
(
param
);
return
null
;
}
}
src/main/java/com/mmc/pms/service/Impl/ProductServiceImpl.java
浏览文件 @
54dd9c08
...
@@ -11,11 +11,11 @@ import com.mmc.pms.model.sale.dto.*;
...
@@ -11,11 +11,11 @@ import com.mmc.pms.model.sale.dto.*;
import
com.mmc.pms.model.sale.vo.ProductSpecCPQVO
;
import
com.mmc.pms.model.sale.vo.ProductSpecCPQVO
;
import
com.mmc.pms.page.PageResult
;
import
com.mmc.pms.page.PageResult
;
import
com.mmc.pms.service.ProductSkuService
;
import
com.mmc.pms.service.ProductSkuService
;
import
org.jetbrains.annotations.NotNull
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
import
javax.validation.constraints.NotNull
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -226,7 +226,7 @@ public class ProductServiceImpl implements ProductSkuService {
...
@@ -226,7 +226,7 @@ public class ProductServiceImpl implements ProductSkuService {
public
ResultBody
removeProductSpec
(
Integer
id
)
{
public
ResultBody
removeProductSpec
(
Integer
id
)
{
// 根据规格id查询绑定的商品或者行业的sku
// 根据规格id查询绑定的商品或者行业的sku
RemoveSkuDTO
removeSkuDTO
=
new
RemoveSkuDTO
();
RemoveSkuDTO
removeSkuDTO
=
new
RemoveSkuDTO
();
List
<
MallProd
InfoDO
>
mallProdSkuInfoSpecList
=
productDao
.
listMallProdInfo
(
id
.
toString
()
);
List
<
MallProd
SkuInfoSpecDO
>
mallProdSkuInfoSpecList
=
productDao
.
listMallProductSpec
(
id
);
// 拿到清单的id
// 拿到清单的id
List
<
InventorySpecDO
>
inventorySpecList
=
productDao
.
listInventorySpec
(
id
);
List
<
InventorySpecDO
>
inventorySpecList
=
productDao
.
listInventorySpec
(
id
);
if
(
mallProdSkuInfoSpecList
.
size
()
!=
0
||
inventorySpecList
.
size
()
!=
0
)
{
if
(
mallProdSkuInfoSpecList
.
size
()
!=
0
||
inventorySpecList
.
size
()
!=
0
)
{
...
@@ -237,7 +237,7 @@ public class ProductServiceImpl implements ProductSkuService {
...
@@ -237,7 +237,7 @@ public class ProductServiceImpl implements ProductSkuService {
// 获取行业规格id
// 获取行业规格id
Set
<
Integer
>
industrySpecIds
=
industryProductInventoryList
.
stream
().
map
(
IndustryProductInventoryDO:
:
getIndustrySpecId
).
collect
(
Collectors
.
toSet
());
Set
<
Integer
>
industrySpecIds
=
industryProductInventoryList
.
stream
().
map
(
IndustryProductInventoryDO:
:
getIndustrySpecId
).
collect
(
Collectors
.
toSet
());
// 分别获取规格对应的sku信息
// 分别获取规格对应的sku信息
List
<
IndustrySpecDO
>
industrySpecList
=
product
Dao
.
listIndustrySpec
(
industrySpecIds
);
List
<
IndustrySpecDO
>
industrySpecList
=
industrySpec
Dao
.
listIndustrySpec
(
industrySpecIds
);
List
<
SkuAndSpecDTO
>
industrySkuNameList
=
new
ArrayList
<>();
List
<
SkuAndSpecDTO
>
industrySkuNameList
=
new
ArrayList
<>();
industrySpecList
.
stream
().
peek
(
d
->
{
industrySpecList
.
stream
().
peek
(
d
->
{
SkuAndSpecDTO
skuAndSpecDTO
=
new
SkuAndSpecDTO
();
SkuAndSpecDTO
skuAndSpecDTO
=
new
SkuAndSpecDTO
();
...
...
src/main/java/com/mmc/pms/util/BizException.java
0 → 100644
浏览文件 @
54dd9c08
package
com
.
mmc
.
pms
.
util
;
import
com.mmc.pms.common.BaseErrorInfoInterface
;
import
com.mmc.pms.common.ResultEnum
;
/**
* @author 作者 geDuo
* @version 创建时间:2021年8月13日 上午9:25:43
* @explain 类说明
*/
public
class
BizException
extends
RuntimeException
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 错误码
*/
protected
String
errorCode
;
/**
* 错误信息
*/
protected
String
errorMsg
;
public
BizException
()
{
super
();
}
public
BizException
(
BaseErrorInfoInterface
errorInfoInterface
)
{
super
(
errorInfoInterface
.
getResultCode
());
this
.
errorCode
=
errorInfoInterface
.
getResultCode
();
this
.
errorMsg
=
errorInfoInterface
.
getResultMsg
();
}
public
BizException
(
BaseErrorInfoInterface
errorInfoInterface
,
Throwable
cause
)
{
super
(
errorInfoInterface
.
getResultCode
(),
cause
);
this
.
errorCode
=
errorInfoInterface
.
getResultCode
();
this
.
errorMsg
=
errorInfoInterface
.
getResultMsg
();
}
public
BizException
(
ResultEnum
enums
)
{
super
(
enums
.
getResultCode
());
this
.
errorCode
=
enums
.
getResultCode
();
this
.
errorMsg
=
enums
.
getResultMsg
();
}
public
BizException
(
String
errorMsg
)
{
super
(
errorMsg
);
this
.
errorCode
=
"-1"
;
this
.
errorMsg
=
errorMsg
;
}
public
BizException
(
String
errorCode
,
String
errorMsg
)
{
super
(
errorCode
);
this
.
errorCode
=
errorCode
;
this
.
errorMsg
=
errorMsg
;
}
public
BizException
(
String
errorCode
,
String
errorMsg
,
Throwable
cause
)
{
super
(
errorCode
,
cause
);
this
.
errorCode
=
errorCode
;
this
.
errorMsg
=
errorMsg
;
}
public
String
getErrorCode
()
{
return
errorCode
;
}
public
void
setErrorCode
(
String
errorCode
)
{
this
.
errorCode
=
errorCode
;
}
public
String
getErrorMsg
()
{
return
errorMsg
;
}
public
void
setErrorMsg
(
String
errorMsg
)
{
this
.
errorMsg
=
errorMsg
;
}
@Override
public
String
getMessage
()
{
return
errorMsg
;
}
@Override
public
Throwable
fillInStackTrace
()
{
return
this
;
}
}
src/main/java/com/mmc/pms/util/PathUtil.java
0 → 100644
浏览文件 @
54dd9c08
package
com
.
mmc
.
pms
.
util
;
import
org.springframework.util.AntPathMatcher
;
/**
* @author 作者 geDuo
* @version 创建时间:2021年8月31日 下午3:29:28
* @explain 解析地址类
*/
public
class
PathUtil
{
private
static
AntPathMatcher
matcher
=
new
AntPathMatcher
();
public
static
boolean
isPathMatch
(
String
pattern
,
String
path
)
{
return
matcher
.
match
(
pattern
,
path
);
}
}
src/main/resources/application-local.yml
浏览文件 @
54dd9c08
...
@@ -6,17 +6,22 @@ spring:
...
@@ -6,17 +6,22 @@ spring:
username
:
tmj
username
:
tmj
password
:
MMC@2022&MYSQL
password
:
MMC@2022&MYSQL
redis
:
redis
:
database
:
3
database
:
1
host
:
r-wz9ke310fs684hacn1.redis.rds.aliyuncs.com
host
:
r-wz9ke310fs684hacn1pd.redis.rds.aliyuncs.com
port
:
6379
password
:
MMC@2022&REDIS
password
:
MMC@2022&REDIS
jedis
:
port
:
6379
#连接池
lettuce
:
shutdown-timeout
:
1000
# 关闭超时时间-ms
pool
:
pool
:
max-active
:
2
#最大连接个数
servlet
:
max-active
:
30
multipart
:
#等待时间-ms
max-file-size
:
200MB
max-wait
:
1000ms
max-request-size
:
200MB
#最大空闲
max-idle
:
8
#初始化最小
min-idle
:
1
#mybatis-plus
#mybatis-plus
mybatis-plus
:
mybatis-plus
:
global-config
:
global-config
:
...
...
src/main/resources/mapper/ProductDao.xml
浏览文件 @
54dd9c08
...
@@ -40,7 +40,7 @@
...
@@ -40,7 +40,7 @@
set product_name = #{productName},
set product_name = #{productName},
categories_id = #{categoriesId},
categories_id = #{categoriesId},
model = #{model},
model = #{model},
brand_info_id = #{brandInfoId}
,
brand_info_id = #{brandInfoId}
where id = #{id}
where id = #{id}
</update>
</update>
<update
id=
"updateProductSpec"
>
<update
id=
"updateProductSpec"
>
...
@@ -279,7 +279,10 @@
...
@@ -279,7 +279,10 @@
and is_deleted = 0
and is_deleted = 0
</select>
</select>
<select
id=
"countSpecByProdSkuId"
resultType=
"java.lang.Integer"
>
<select
id=
"countSpecByProdSkuId"
resultType=
"java.lang.Integer"
>
select count(*)
from product_spec
where product_id = #{id}
and is_deleted = 0
</select>
</select>
<select
id=
"listMallProdInfo"
resultType=
"com.mmc.pms.entity.MallProdInfoDO"
>
<select
id=
"listMallProdInfo"
resultType=
"com.mmc.pms.entity.MallProdInfoDO"
>
SELECT mp.id,
SELECT mp.id,
...
@@ -314,7 +317,7 @@
...
@@ -314,7 +317,7 @@
mp.goods_info_id goodsInfoId,
mp.goods_info_id goodsInfoId,
mp.mall_prod_info_id mallProdSkuInfoId,
mp.mall_prod_info_id mallProdSkuInfoId,
gi.goods_name goodsName
gi.goods_name goodsName
FROM mall_prod_
sku_
info_spec mp
FROM mall_prod_info_spec mp
INNER JOIN goods_info gi ON gi.id = mp.goods_info_id
INNER JOIN goods_info gi ON gi.id = mp.goods_info_id
WHERE mp.product_spec_id = #{id}
WHERE mp.product_spec_id = #{id}
AND mp.is_deleted = 0
AND mp.is_deleted = 0
...
@@ -334,8 +337,8 @@
...
@@ -334,8 +337,8 @@
ps.is_deleted as spec_deleted
ps.is_deleted as spec_deleted
FROM
FROM
goods_info gi
goods_info gi
INNER JOIN mall_prod_
sku_
info mpsi ON gi.id = mpsi.goods_info_id
INNER JOIN mall_prod_info mpsi ON gi.id = mpsi.goods_info_id
INNER JOIN mall_prod_
sku_
info_spec mpsip ON mpsi.id = mpsip.mall_prod_sku_info_id
INNER JOIN mall_prod_info_spec mpsip ON mpsi.id = mpsip.mall_prod_sku_info_id
INNER JOIN product_spec ps ON ps.id = mpsip.product_spec_id
INNER JOIN product_spec ps ON ps.id = mpsip.product_spec_id
<where>
<where>
mpsip.id in (
mpsip.id in (
...
@@ -386,7 +389,7 @@
...
@@ -386,7 +389,7 @@
</select>
</select>
<select
id=
"getProductSpecByIds"
resultType=
"com.mmc.pms.entity.MallProdSkuInfoSpecDO"
>
<select
id=
"getProductSpecByIds"
resultType=
"com.mmc.pms.entity.MallProdSkuInfoSpecDO"
>
select id, goods_info_id goodsInfoId, mall_prod_info_id mallProdSkuInfoId, product_spec_id productSpecId
select id, goods_info_id goodsInfoId, mall_prod_info_id mallProdSkuInfoId, product_spec_id productSpecId
from mall_prod_
sku_
info_spec
from mall_prod_info_spec
where id in
where id in
<foreach
collection=
"list"
separator=
","
item=
"d"
open=
"("
close=
")"
index=
"index"
>
<foreach
collection=
"list"
separator=
","
item=
"d"
open=
"("
close=
")"
index=
"index"
>
#{d}
#{d}
...
@@ -413,7 +416,7 @@
...
@@ -413,7 +416,7 @@
<collection
property=
"orderGoodsProdDetailDTOS"
ofType=
"com.mmc.pms.model.order.dto.OrderGoodsProdDetailDTO"
>
<collection
property=
"orderGoodsProdDetailDTOS"
ofType=
"com.mmc.pms.model.order.dto.OrderGoodsProdDetailDTO"
>
<result
property=
"mallProdSkuInfoId"
column=
"mall_prod_sku_info_id"
/>
<result
property=
"mallProdSkuInfoId"
column=
"mall_prod_sku_info_id"
/>
<result
property=
"unitName"
column=
"unit_name"
/>
<result
property=
"unitName"
column=
"unit_name"
/>
<result
property=
"mallProdSkuInfoSpecId"
column=
"mall_prod_
sku_
info_spec_id"
/>
<result
property=
"mallProdSkuInfoSpecId"
column=
"mall_prod_info_spec_id"
/>
<result
property=
"productSpecId"
column=
"product_spec_id"
/>
<result
property=
"productSpecId"
column=
"product_spec_id"
/>
<result
property=
"specName"
column=
"spec_name"
/>
<result
property=
"specName"
column=
"spec_name"
/>
<result
property=
"prodSkuSpecImage"
column=
"prod_sku_spec_image"
/>
<result
property=
"prodSkuSpecImage"
column=
"prod_sku_spec_image"
/>
...
@@ -430,7 +433,8 @@
...
@@ -430,7 +433,8 @@
</collection>
</collection>
</resultMap>
</resultMap>
<select
id=
"listProdGoodsSkuInfo"
resultMap=
"listProdGoodsSkuInfoResultMap"
parameterType=
"com.mmc.pms.model.qo.MallOrderGoodsInfoQO"
>
<select
id=
"listProdGoodsSkuInfo"
resultMap=
"listProdGoodsSkuInfoResultMap"
parameterType=
"com.mmc.pms.model.qo.MallOrderGoodsInfoQO"
>
SELECT
SELECT
gi.id as goods_info_id,gi.goods_name,gi.goods_no,gi.directory_id,
gi.id as goods_info_id,gi.goods_name,gi.goods_no,gi.directory_id,
gimg.img_url as mainImg,
gimg.img_url as mainImg,
...
@@ -464,4 +468,15 @@
...
@@ -464,4 +468,15 @@
)
)
</where>
</where>
</select>
</select>
<select
id=
"listMallProductSpec"
resultType=
"com.mmc.pms.entity.MallProdSkuInfoSpecDO"
>
SELECT mp.id,
mp.goods_info_id goodsInfoId,
mp.mall_prod_info_id mallProdSkuInfoId,
gi.goods_name goodsName
FROM mall_prod_info_spec mp
INNER JOIN goods_info gi ON gi.id = mp.goods_info_id
WHERE mp.product_spec_id = #{id}
AND mp.is_deleted = 0
AND gi.is_deleted = 0
</select>
</mapper>
</mapper>
src/main/resources/mapper/work/BackstageTaskServiceDao.xml
0 → 100644
浏览文件 @
54dd9c08
<?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=
"com.mmc.pms.dao.BackstageTaskServiceDao"
>
<resultMap
type=
"com.mmc.pms.entity.ServiceDO"
id=
"ServiceMap"
>
<result
property=
"id"
column=
"id"
jdbcType=
"INTEGER"
/>
<result
property=
"serviceName"
column=
"service_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"applicationId"
column=
"application_id"
jdbcType=
"INTEGER"
/>
<result
property=
"industryId"
column=
"industry_id"
jdbcType=
"INTEGER"
/>
<result
property=
"displayState"
column=
"display_state"
jdbcType=
"INTEGER"
/>
<result
property=
"coverPlan"
column=
"cover_plan"
jdbcType=
"VARCHAR"
/>
<result
property=
"shareCard"
column=
"share_card"
jdbcType=
"VARCHAR"
/>
<result
property=
"video"
column=
"video"
jdbcType=
"VARCHAR"
/>
<result
property=
"serviceIntroduction"
column=
"service_introduction"
jdbcType=
"VARCHAR"
/>
<result
property=
"createTime"
column=
"create_time"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"updateTime"
column=
"update_time"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"isDeleted"
column=
"is_deleted"
jdbcType=
"INTEGER"
/>
<result
property=
"accountId"
column=
"account_id"
jdbcType=
"INTEGER"
/>
</resultMap>
<!--查询所有-->
<select
id=
"queryAll"
resultMap=
"ServiceMap"
>
select id,
service_name,
application_id,
industry_id,
display_state,
cover_plan,
share_card,
video,
service_introduction,
create_time,
update_time,
is_deleted,
account_id
from service
</select>
<!--查询单个-->
<select
id=
"queryById"
resultMap=
"ServiceMap"
>
select id,
service_name,
application_id,
industry_id,
display_state,
cover_plan,
share_card,
video,
service_introduction,
create_time,
update_time,
account_id
from service
where id = #{id}
and is_deleted = 0
</select>
<!--查询指定行数据-->
<select
id=
"queryAllByLimit"
resultMap=
"ServiceMap"
parameterType=
"com.mmc.pms.model.qo.ServiceQO"
>
select
id, service_name, application_id, industry_id, display_state, cover_plan, share_card, video,
service_introduction, create_time, update_time, account_id
from service
<where>
<if
test=
"serviceName != null and serviceName != ''"
>
and service_name = #{serviceName}
</if>
<if
test=
"applicationId != null"
>
and application_id = #{applicationId}
</if>
<if
test=
"industryId != null"
>
and industry_id = #{industryId}
</if>
<if
test=
"accountId != null"
>
and account_id = #{accountId}
</if>
and is_deleted = 0
and display_state = 0
</where>
order by create_time desc
limit #{pageNo}, #{pageSize}
</select>
<!--统计总行数-->
<select
id=
"count"
resultType=
"java.lang.Long"
>
select count(1)
from service
<where>
<if
test=
"id != null"
>
and id = #{id}
</if>
<if
test=
"serviceName != null and serviceName != ''"
>
and service_name = #{serviceName}
</if>
<if
test=
"applicationId != null"
>
and application_id = #{applicationId}
</if>
<if
test=
"industryId != null"
>
and industry_id = #{industryId}
</if>
<if
test=
"displayState != null"
>
and display_state = #{displayState}
</if>
<if
test=
"coverPlan != null and coverPlan != ''"
>
and cover_plan = #{coverPlan}
</if>
<if
test=
"shareCard != null and shareCard != ''"
>
and share_card = #{shareCard}
</if>
<if
test=
"video != null and video != ''"
>
and video = #{video}
</if>
<if
test=
"serviceIntroduction != null and serviceIntroduction != ''"
>
and service_introduction = #{serviceIntroduction}
</if>
<if
test=
"createTime != null"
>
and create_time = #{createTime}
</if>
<if
test=
"updateTime != null"
>
and update_time = #{updateTime}
</if>
<if
test=
"isDeleted != null"
>
and is_deleted = #{isDeleted}
</if>
<if
test=
"accountId != null"
>
and account_id = #{accountId}
</if>
</where>
</select>
<!--新增所有列-->
<insert
id=
"insert"
keyProperty=
"id"
useGeneratedKeys=
"true"
parameterType=
"com.mmc.pms.entity.ServiceDO"
>
insert into service(service_name, application_id, industry_id, display_state, cover_plan, share_card, video,
service_introduction, account_id)
values (#{serviceName}, #{applicationId}, #{industryId}, #{displayState}, #{coverPlan}, #{shareCard},
#{video}, #{serviceIntroduction}, #{accountId})
</insert>
<!--通过主键修改数据-->
<update
id=
"update"
parameterType=
"com.mmc.pms.entity.ServiceDO"
>
update service
<set>
<if
test=
"serviceName != null and serviceName != ''"
>
service_name = #{serviceName},
</if>
<if
test=
"applicationId != null"
>
application_id = #{applicationId},
</if>
<if
test=
"industryId != null"
>
industry_id = #{industryId},
</if>
<if
test=
"displayState != null"
>
display_state = #{displayState},
</if>
<if
test=
"coverPlan != null and coverPlan != ''"
>
cover_plan = #{coverPlan},
</if>
<if
test=
"shareCard != null and shareCard != ''"
>
share_card = #{shareCard},
</if>
<if
test=
"video != null and video != ''"
>
video = #{video},
</if>
<if
test=
"serviceIntroduction != null and serviceIntroduction != ''"
>
service_introduction = #{serviceIntroduction},
</if>
<if
test=
"createTime != null"
>
create_time = #{createTime},
</if>
<if
test=
"updateTime != null"
>
update_time = #{updateTime},
</if>
<if
test=
"accountId != null"
>
account_id = #{accountId},
</if>
</set>
where = #{id}
</update>
<!--通过主键删除-->
<update
id=
"deleteById"
parameterType=
"java.lang.Integer"
>
update service
set is_deleted = 1
where = #{id}
</update>
</mapper>
\ No newline at end of file
src/main/resources/not-check.yml
0 → 100644
浏览文件 @
54dd9c08
data-filter
:
uploadPath
:
#不需要解析的body参数的地址
-
/xxx/x
not-auth-path
:
-
/pms/v2/**
-
/pms/doc.html
-
/pms/swagger-resources/**
-
/pms/webjars/**
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论