Merge remote-tracking branch 'origin/v3.3'
# Conflicts: # pom.xml
This commit is contained in:
154
pom.xml
154
pom.xml
@ -7,7 +7,7 @@
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>yshop</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>3.2</version>
|
||||
<version>3.3</version>
|
||||
|
||||
<modules>
|
||||
<module>yshop-common</module>
|
||||
@ -28,18 +28,17 @@
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>2.4.13</version>
|
||||
<version>2.7.2</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
<logback.version>1.2.11</logback.version>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||
<java.version>1.8</java.version>
|
||||
<jedis.version>3.3.0</jedis.version>
|
||||
<swagger.version>3.0.0</swagger.version>
|
||||
<fastjson.version>1.2.83</fastjson.version>
|
||||
<druid.version>1.2.9</druid.version>
|
||||
<druid.version>1.2.11</druid.version>
|
||||
<hutool.version>5.5.7</hutool.version>
|
||||
<poi.version>4.1.2</poi.version>
|
||||
<commons-pool2.version>2.5.0</commons-pool2.version>
|
||||
@ -50,9 +49,9 @@
|
||||
<xerces.version>2.11.0</xerces.version>
|
||||
<javax.version>1</javax.version>
|
||||
<whvcse.version>1.6.2</whvcse.version>
|
||||
<bitwalker.version>1.20</bitwalker.version>
|
||||
<validator.version>6.1.6.Final</validator.version>
|
||||
<gson.version>2.8.0</gson.version>
|
||||
<bitwalker.version>1.21</bitwalker.version>
|
||||
<validator.version>6.1.7.Final</validator.version>
|
||||
<gson.version>2.8.9</gson.version>
|
||||
</properties>
|
||||
|
||||
|
||||
@ -60,12 +59,6 @@
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-logging</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
@ -73,43 +66,6 @@
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-logging</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-api</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-to-slf4j</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>ch.gos.logback</groupId>
|
||||
<artifactId>logback-classic</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>ch.qos.logback</groupId>
|
||||
<artifactId>logback-classic</artifactId>
|
||||
<version>${logback.version}</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>ch.qos.logback</groupId>
|
||||
<artifactId>logback-core</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>ch.qos.logback</groupId>
|
||||
<artifactId>logback-core</artifactId>
|
||||
<version>${logback.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator</artifactId>
|
||||
@ -128,32 +84,20 @@
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-data-redis</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>io.lettuce</groupId>
|
||||
<artifactId>lettuce-core</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>redis.clients</groupId>
|
||||
<artifactId>jedis</artifactId>
|
||||
<version>${jedis.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!--Spring boot end-->
|
||||
|
||||
<!--spring2.0集成redis所需common-pool2-->
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-pool2</artifactId>
|
||||
<version>${commons-pool2.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-lang3</artifactId>
|
||||
</dependency>
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>org.apache.commons</groupId>-->
|
||||
<!-- <artifactId>commons-pool2</artifactId>-->
|
||||
<!-- <version>${commons-pool2.version}</version>-->
|
||||
<!-- </dependency>-->
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>org.apache.commons</groupId>-->
|
||||
<!-- <artifactId>commons-lang3</artifactId>-->
|
||||
<!-- </dependency>-->
|
||||
|
||||
<!-- RESTful APIs swagger2 -->
|
||||
<dependency>
|
||||
@ -191,6 +135,22 @@
|
||||
<groupId>com.github.xiaoymin</groupId>
|
||||
<artifactId>knife4j-spring-boot-starter</artifactId>
|
||||
<version>${github-xiaoymin.version}</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>io.swagger</groupId>
|
||||
<artifactId>swagger-models</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>io.swagger</groupId>
|
||||
<artifactId>swagger-annotations</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.swagger</groupId>
|
||||
<artifactId>swagger-models</artifactId>
|
||||
<version>${swagger-models.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<!--Mysql依赖包-->
|
||||
<dependency>
|
||||
@ -219,22 +179,22 @@
|
||||
<version>${hutool.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi</artifactId>
|
||||
<version>${poi.version}</version>
|
||||
</dependency>
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>org.apache.poi</groupId>-->
|
||||
<!-- <artifactId>poi</artifactId>-->
|
||||
<!-- <version>${poi.version}</version>-->
|
||||
<!-- </dependency>-->
|
||||
<dependency>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi-ooxml</artifactId>
|
||||
<version>${poi.version}</version>
|
||||
</dependency>
|
||||
<!-- https://mvnrepository.com/artifact/xerces/xercesImpl -->
|
||||
<dependency>
|
||||
<groupId>xerces</groupId>
|
||||
<artifactId>xercesImpl</artifactId>
|
||||
<version>${xerces.version}</version>
|
||||
</dependency>
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>xerces</groupId>-->
|
||||
<!-- <artifactId>xercesImpl</artifactId>-->
|
||||
<!-- <version>${xerces.version}</version>-->
|
||||
<!-- </dependency>-->
|
||||
|
||||
<!-- fastjson -->
|
||||
<dependency>
|
||||
@ -243,22 +203,22 @@
|
||||
<version>${fastjson.version}</version>
|
||||
</dependency>
|
||||
<!--mapStruct依赖-->
|
||||
<dependency>
|
||||
<groupId>org.mapstruct</groupId>
|
||||
<artifactId>mapstruct-jdk8</artifactId>
|
||||
<version>${mapstruct.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.mapstruct</groupId>
|
||||
<artifactId>mapstruct-processor</artifactId>
|
||||
<version>${mapstruct.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>javax.inject</groupId>
|
||||
<artifactId>javax.inject</artifactId>
|
||||
<version>1</version>
|
||||
</dependency>
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>org.mapstruct</groupId>-->
|
||||
<!-- <artifactId>mapstruct-jdk8</artifactId>-->
|
||||
<!-- <version>${mapstruct.version}</version>-->
|
||||
<!-- </dependency>-->
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>org.mapstruct</groupId>-->
|
||||
<!-- <artifactId>mapstruct-processor</artifactId>-->
|
||||
<!-- <version>${mapstruct.version}</version>-->
|
||||
<!-- <scope>provided</scope>-->
|
||||
<!-- </dependency>-->
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>javax.inject</groupId>-->
|
||||
<!-- <artifactId>javax.inject</artifactId>-->
|
||||
<!-- <version>1</version>-->
|
||||
<!-- </dependency>-->
|
||||
<dependency>
|
||||
<groupId>com.github.whvcse</groupId>
|
||||
<artifactId>easy-captcha</artifactId>
|
||||
|
@ -1 +1 @@
|
||||
nohup java -jar yshop-app-3.2.jar --spring.profiles.active=prod &
|
||||
nohup java -jar yshop-app-3.3.jar --spring.profiles.active=prod &
|
||||
|
@ -1,4 +1,4 @@
|
||||
PID=$(ps -ef | grep yshop-app-3.2.jar | grep -v grep | awk '{ print $2 }')
|
||||
PID=$(ps -ef | grep yshop-app-3.3.jar | grep -v grep | awk '{ print $2 }')
|
||||
if [ -z "$PID" ];then
|
||||
echo Application is already stopped
|
||||
else
|
||||
|
@ -13,6 +13,6 @@ WORKDIR /yshop-admin
|
||||
|
||||
EXPOSE 8001
|
||||
|
||||
ADD ./target/yshop-admin-3.2.jar ./
|
||||
ADD ./target/yshop-admin-3.3.jar ./
|
||||
|
||||
CMD java $JAVA_OPTS -jar yshop-admin-3.2.jar --spring.profiles.active=docker
|
||||
CMD java $JAVA_OPTS -jar yshop-admin-3.3.jar --spring.profiles.active=docker
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>yshop</artifactId>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<version>3.2</version>
|
||||
<version>3.3</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
<dependency>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>yshop-generator</artifactId>
|
||||
<version>3.2</version>
|
||||
<version>3.3</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>co.yixiang</groupId>
|
||||
@ -32,7 +32,7 @@
|
||||
<dependency>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>yshop-shop</artifactId>
|
||||
<version>3.2</version>
|
||||
<version>3.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
@ -64,14 +64,14 @@
|
||||
|
||||
<!-- quartz -->
|
||||
<dependency>
|
||||
<groupId>org.quartz-scheduler</groupId>
|
||||
<artifactId>quartz</artifactId>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-quartz</artifactId>
|
||||
</dependency>
|
||||
<!--weixinpay-->
|
||||
<dependency>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>yshop-weixin</artifactId>
|
||||
<version>3.2</version>
|
||||
<version>3.3</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
|
@ -1,7 +1,9 @@
|
||||
package co.yixiang.config;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
|
||||
import com.baomidou.mybatisplus.annotation.DbType;
|
||||
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
|
||||
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@ -16,7 +18,9 @@ public class MybatisPlusConfig {
|
||||
* mybatis-plus分页插件
|
||||
*/
|
||||
@Bean
|
||||
public PaginationInterceptor paginationInterceptor() {
|
||||
return new PaginationInterceptor();
|
||||
public MybatisPlusInterceptor mybatisPlusInterceptor() {
|
||||
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
|
||||
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
|
||||
return interceptor;
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
package co.yixiang.modules.monitor.rest;
|
||||
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.logging.aop.log.Log;
|
||||
import co.yixiang.modules.aop.ForbidSubmit;
|
||||
import co.yixiang.modules.monitor.domain.vo.RedisVo;
|
||||
import co.yixiang.modules.monitor.service.RedisService;
|
||||
|
@ -1,7 +1,7 @@
|
||||
package co.yixiang.modules.monitor.service.impl;
|
||||
|
||||
import co.yixiang.common.service.impl.BaseServiceImpl;
|
||||
import co.yixiang.logging.service.mapper.LogMapper;
|
||||
import co.yixiang.modules.logging.service.mapper.LogMapper;
|
||||
import co.yixiang.modules.monitor.domain.Visits;
|
||||
import co.yixiang.modules.monitor.service.VisitsService;
|
||||
import co.yixiang.modules.monitor.service.mapper.VisitsMapper;
|
||||
|
@ -7,7 +7,7 @@ package co.yixiang.modules.quartz.rest;
|
||||
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.logging.aop.log.Log;
|
||||
import co.yixiang.modules.aop.ForbidSubmit;
|
||||
import co.yixiang.modules.quartz.domain.QuartzJob;
|
||||
import co.yixiang.modules.quartz.service.QuartzJobService;
|
||||
@ -17,7 +17,6 @@ import co.yixiang.modules.quartz.service.dto.QuartzJobQueryCriteria;
|
||||
import co.yixiang.modules.quartz.service.dto.QuartzLogDto;
|
||||
import co.yixiang.modules.quartz.service.dto.QuartzLogQueryCriteria;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
@ -17,11 +17,11 @@ import org.springframework.http.HttpMethod;
|
||||
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
|
||||
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
||||
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
|
||||
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
|
||||
import org.springframework.security.config.core.GrantedAuthorityDefaults;
|
||||
import org.springframework.security.config.http.SessionCreationPolicy;
|
||||
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
import org.springframework.security.web.SecurityFilterChain;
|
||||
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
|
||||
import org.springframework.web.filter.CorsFilter;
|
||||
import org.springframework.web.method.HandlerMethod;
|
||||
@ -38,7 +38,7 @@ import java.util.Set;
|
||||
@Configuration(proxyBeanMethods = false)
|
||||
@EnableWebSecurity
|
||||
@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
|
||||
public class SecurityConfig extends WebSecurityConfigurerAdapter {
|
||||
public class SecurityConfig {
|
||||
|
||||
private final TokenUtil tokenUtil;
|
||||
private final CorsFilter corsFilter;
|
||||
@ -66,8 +66,8 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
|
||||
return new BCryptPasswordEncoder();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void configure(HttpSecurity httpSecurity) throws Exception {
|
||||
@Bean
|
||||
SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception {
|
||||
// 搜寻匿名标记 url: @AnonymousAccess
|
||||
Map<RequestMappingInfo, HandlerMethod> handlerMethodMap = applicationContext.getBean(RequestMappingHandlerMapping.class).getHandlerMethods();
|
||||
Set<String> anonymousUrls = new HashSet<>();
|
||||
@ -78,7 +78,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
|
||||
anonymousUrls.addAll(infoEntry.getKey().getPatternsCondition().getPatterns());
|
||||
}
|
||||
}
|
||||
httpSecurity
|
||||
return httpSecurity
|
||||
// 禁用 CSRF
|
||||
.csrf().disable()
|
||||
.addFilterBefore(corsFilter, UsernamePasswordAuthenticationFilter.class)
|
||||
@ -130,7 +130,9 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
|
||||
.antMatchers(anonymousUrls.toArray(new String[0])).permitAll()
|
||||
// 所有请求都需要认证
|
||||
.anyRequest().authenticated()
|
||||
.and().apply(securityConfigurerAdapter());
|
||||
.and().apply(securityConfigurerAdapter())
|
||||
.and()
|
||||
.build();
|
||||
}
|
||||
|
||||
private TokenConfigurer securityConfigurerAdapter() {
|
||||
|
@ -9,7 +9,7 @@ import cn.hutool.crypto.asymmetric.KeyType;
|
||||
import cn.hutool.crypto.asymmetric.RSA;
|
||||
import co.yixiang.annotation.AnonymousAccess;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.logging.aop.log.Log;
|
||||
import co.yixiang.modules.security.config.SecurityProperties;
|
||||
import co.yixiang.modules.security.security.TokenUtil;
|
||||
import co.yixiang.modules.security.security.vo.AuthUser;
|
||||
|
@ -5,7 +5,7 @@
|
||||
*/
|
||||
package co.yixiang.modules.security.rest;
|
||||
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.logging.aop.log.Log;
|
||||
import co.yixiang.modules.aop.ForbidSubmit;
|
||||
import co.yixiang.modules.security.service.OnlineUserService;
|
||||
import io.swagger.annotations.Api;
|
||||
|
@ -9,7 +9,7 @@ import cn.hutool.core.collection.CollectionUtil;
|
||||
import co.yixiang.config.DataScope;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.logging.aop.log.Log;
|
||||
import co.yixiang.modules.aop.ForbidSubmit;
|
||||
import co.yixiang.modules.system.domain.Dept;
|
||||
import co.yixiang.modules.system.service.DeptService;
|
||||
|
@ -7,7 +7,7 @@ package co.yixiang.modules.system.rest;
|
||||
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.logging.aop.log.Log;
|
||||
import co.yixiang.modules.aop.ForbidSubmit;
|
||||
import co.yixiang.modules.dict.domain.Dict;
|
||||
import co.yixiang.modules.dict.service.DictService;
|
||||
|
@ -6,7 +6,7 @@
|
||||
package co.yixiang.modules.system.rest;
|
||||
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.logging.aop.log.Log;
|
||||
import co.yixiang.modules.aop.ForbidSubmit;
|
||||
import co.yixiang.modules.dict.domain.DictDetail;
|
||||
import co.yixiang.modules.dict.service.DictDetailService;
|
||||
|
@ -8,7 +8,7 @@ package co.yixiang.modules.system.rest;
|
||||
import co.yixiang.config.DataScope;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.logging.aop.log.Log;
|
||||
import co.yixiang.modules.aop.ForbidSubmit;
|
||||
import co.yixiang.modules.system.domain.Job;
|
||||
import co.yixiang.modules.system.service.JobService;
|
||||
|
@ -7,7 +7,7 @@ package co.yixiang.modules.system.rest;
|
||||
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.logging.aop.log.Log;
|
||||
import co.yixiang.modules.aop.ForbidSubmit;
|
||||
import co.yixiang.modules.system.domain.Menu;
|
||||
import co.yixiang.modules.system.service.MenuService;
|
||||
|
@ -8,7 +8,7 @@ package co.yixiang.modules.system.rest;
|
||||
import cn.hutool.core.lang.Dict;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.logging.aop.log.Log;
|
||||
import co.yixiang.modules.aop.ForbidSubmit;
|
||||
import co.yixiang.modules.system.domain.Role;
|
||||
import co.yixiang.modules.system.service.RoleService;
|
||||
|
@ -11,7 +11,7 @@ import co.yixiang.config.DataScope;
|
||||
import co.yixiang.constant.ShopConstants;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.logging.aop.log.Log;
|
||||
import co.yixiang.modules.aop.ForbidSubmit;
|
||||
import co.yixiang.modules.system.domain.User;
|
||||
import co.yixiang.modules.system.domain.vo.UserPassVo;
|
||||
@ -21,8 +21,8 @@ import co.yixiang.modules.system.service.UserService;
|
||||
import co.yixiang.modules.system.service.dto.RoleSmallDto;
|
||||
import co.yixiang.modules.system.service.dto.UserDto;
|
||||
import co.yixiang.modules.system.service.dto.UserQueryCriteria;
|
||||
import co.yixiang.tools.domain.VerificationCode;
|
||||
import co.yixiang.tools.service.VerificationCodeService;
|
||||
import co.yixiang.modules.tools.domain.VerificationCode;
|
||||
import co.yixiang.modules.tools.service.VerificationCodeService;
|
||||
import co.yixiang.utils.PageUtil;
|
||||
import co.yixiang.utils.SecurityUtils;
|
||||
import co.yixiang.utils.YshopConstant;
|
||||
|
@ -166,8 +166,8 @@ public class DeptServiceImpl extends BaseServiceImpl<DeptMapper, Dept> implement
|
||||
*/
|
||||
@Override
|
||||
public void delDepts(List<Long> deptIds){
|
||||
int jobCount = jobMapper.selectCount(Wrappers.<Job>lambdaQuery().in(Job::getDeptId,deptIds));
|
||||
int roleCount = rolesDeptsMapper.selectCount(Wrappers.<RolesDepts>lambdaQuery()
|
||||
Long jobCount = jobMapper.selectCount(Wrappers.<Job>lambdaQuery().in(Job::getDeptId,deptIds));
|
||||
Long roleCount = rolesDeptsMapper.selectCount(Wrappers.<RolesDepts>lambdaQuery()
|
||||
.in(RolesDepts::getDeptId,deptIds));
|
||||
if(jobCount > 0) {
|
||||
throw new BadRequestException( "所选部门中存在与岗位关联,请取消关联后再试");
|
||||
|
@ -313,8 +313,8 @@ public class MenuServiceImpl extends BaseServiceImpl<MenuMapper, Menu> implement
|
||||
throw new EntityExistException(Menu.class,"name",resources.getName());
|
||||
}
|
||||
|
||||
if(StringUtils.isNotBlank(resources.getComponentName())&&resources.getType()!=1&& !resources.getIFrame()){
|
||||
int menuCount = this.lambdaQuery().eq(Menu::getComponentName,resources.getComponentName()).count();
|
||||
if (StringUtils.isNotBlank(resources.getComponentName()) && resources.getType() != 1 && !resources.getIFrame()) {
|
||||
Long menuCount = this.lambdaQuery().eq(Menu::getComponentName,resources.getComponentName()).count();
|
||||
if(menuCount > 1) {
|
||||
throw new YshopException("请保持菜单组件名称唯一");
|
||||
}
|
||||
|
@ -87,7 +87,7 @@ swagger:
|
||||
enabled: true
|
||||
title: yshop商城管理后台API
|
||||
serverUrl:
|
||||
version: 3.2
|
||||
version: 3.3
|
||||
|
||||
# 文件存储路径
|
||||
file:
|
||||
|
@ -94,7 +94,7 @@ swagger:
|
||||
enabled: true
|
||||
title: yshop商城管理后台API
|
||||
serverUrl: http://127.0.0.1:8000
|
||||
version: 3.2
|
||||
version: 3.3
|
||||
|
||||
|
||||
file:
|
||||
|
@ -6,7 +6,7 @@ spring:
|
||||
druid:
|
||||
type: com.alibaba.druid.pool.DruidDataSource
|
||||
driverClassName: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://localhost:3366/yshopb2c?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull
|
||||
url: jdbc:mysql://localhost:3306/yshopb2c?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull
|
||||
username: yshopb2c
|
||||
password: bkfGfAimifjPZtNE
|
||||
|
||||
@ -94,7 +94,7 @@ swagger:
|
||||
enabled: false
|
||||
title: yshop商城管理后台API
|
||||
serverUrl: http://127.0.0.1:8000
|
||||
version: 3.2
|
||||
version: 3.3
|
||||
|
||||
|
||||
file:
|
||||
|
@ -2,6 +2,8 @@ server:
|
||||
port: 8001
|
||||
|
||||
spring:
|
||||
main:
|
||||
allow-circular-references: true
|
||||
freemarker:
|
||||
check-template-location: false
|
||||
profiles:
|
||||
@ -47,7 +49,7 @@ smms:
|
||||
|
||||
yshop:
|
||||
# 配置
|
||||
version: 3.2
|
||||
version: 3.3
|
||||
apiUrl: http://127.0.0.1:8009/api
|
||||
|
||||
logging:
|
||||
|
@ -10,7 +10,7 @@ package ${package}.rest;
|
||||
import java.util.Arrays;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import lombok.AllArgsConstructor;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.logging.aop.log.Log;
|
||||
import ${package}.domain.${className};
|
||||
import ${package}.service.${className}Service;
|
||||
import ${package}.service.dto.${className}QueryCriteria;
|
||||
|
@ -13,6 +13,6 @@ WORKDIR /yshop-app
|
||||
|
||||
EXPOSE 8008
|
||||
|
||||
ADD ./target/yshop-app-3.2.jar ./
|
||||
ADD ./target/yshop-app-3.3.jar ./
|
||||
|
||||
CMD java $JAVA_OPTS -jar yshop-app-3.2.jar --spring.profiles.active=docker
|
||||
CMD java $JAVA_OPTS -jar yshop-app-3.3.jar --spring.profiles.active=docker
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>yshop</artifactId>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<version>3.2</version>
|
||||
<version>3.3</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
<dependency>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>yshop-weixin</artifactId>
|
||||
<version>3.2</version>
|
||||
<version>3.3</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
@ -33,7 +33,7 @@
|
||||
<dependency>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>yshop-message</artifactId>
|
||||
<version>3.2</version>
|
||||
<version>3.3</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>co.yixiang</groupId>
|
||||
|
@ -6,8 +6,8 @@
|
||||
package co.yixiang.common.aspect;
|
||||
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.logging.domain.Log;
|
||||
import co.yixiang.logging.service.LogService;
|
||||
import co.yixiang.modules.logging.domain.Log;
|
||||
import co.yixiang.modules.logging.service.LogService;
|
||||
import co.yixiang.utils.RequestHolder;
|
||||
import co.yixiang.utils.StringUtils;
|
||||
import co.yixiang.utils.ThrowableUtil;
|
||||
@ -42,7 +42,7 @@ public class AppLogAspect {
|
||||
/**
|
||||
* 配置切入点
|
||||
*/
|
||||
@Pointcut("@annotation(co.yixiang.logging.aop.log.AppLog)")
|
||||
@Pointcut("@annotation(co.yixiang.modules.logging.aop.log.AppLog)")
|
||||
public void logPointcut() {
|
||||
// 该方法无方法体,主要为了让同类中其他方法使用此切入点
|
||||
}
|
||||
|
@ -9,7 +9,9 @@
|
||||
package co.yixiang.common.config;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
|
||||
import com.baomidou.mybatisplus.annotation.DbType;
|
||||
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
|
||||
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@ -24,7 +26,10 @@ public class MybatisPlusConfig {
|
||||
* mybatis-plus分页插件
|
||||
*/
|
||||
@Bean
|
||||
public PaginationInterceptor paginationInterceptor() {
|
||||
return new PaginationInterceptor();
|
||||
public MybatisPlusInterceptor mybatisPlusInterceptor() {
|
||||
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
|
||||
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
|
||||
return interceptor;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -21,8 +21,8 @@ import com.auth0.jwt.interfaces.Claim;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.web.method.HandlerMethod;
|
||||
import org.springframework.web.servlet.HandlerInterceptor;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
@ -34,7 +34,7 @@ import java.util.Optional;
|
||||
* @author hupeng
|
||||
* @date 2020-04-30
|
||||
*/
|
||||
public class PermissionInterceptor extends HandlerInterceptorAdapter {
|
||||
public class PermissionInterceptor implements HandlerInterceptor {
|
||||
|
||||
@Autowired
|
||||
private YxUserService userService;
|
||||
@ -54,7 +54,7 @@ public class PermissionInterceptor extends HandlerInterceptorAdapter {
|
||||
}
|
||||
|
||||
String bearerToken = request.getHeader("Authorization");
|
||||
if (StringUtils.isEmpty(bearerToken)) {
|
||||
if (!StringUtils.hasLength(bearerToken)) {
|
||||
throw new UnAuthenticatedException(ApiCode.UNAUTHORIZED);
|
||||
}
|
||||
|
||||
@ -105,13 +105,13 @@ public class PermissionInterceptor extends HandlerInterceptorAdapter {
|
||||
|
||||
@Override
|
||||
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
|
||||
super.postHandle(request, response, handler, modelAndView);
|
||||
HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
|
||||
LocalUser.clear();
|
||||
super.afterCompletion(request, response, handler, ex);
|
||||
HandlerInterceptor.super.afterCompletion(request, response, handler, ex);
|
||||
}
|
||||
|
||||
private Optional<AuthCheck> getAuthCheck(Object handler) {
|
||||
|
@ -8,19 +8,19 @@
|
||||
*/
|
||||
package co.yixiang.common.util;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.redis.core.RedisCallback;
|
||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||
import org.springframework.stereotype.Service;
|
||||
import redis.clients.jedis.Jedis;
|
||||
import redis.clients.jedis.params.SetParams;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* Redis 分布式锁实现
|
||||
*/
|
||||
@Service
|
||||
@Slf4j
|
||||
public class RedisLock {
|
||||
|
||||
private static final Long RELEASE_SUCCESS = 1L;
|
||||
@ -46,15 +46,31 @@ public class RedisLock {
|
||||
* @return
|
||||
*/
|
||||
public boolean tryLock(String lockKey, String clientId, long seconds) {
|
||||
return redisTemplate.execute((RedisCallback<Boolean>) redisConnection -> {
|
||||
Jedis jedis = (Jedis) redisConnection.getNativeConnection();
|
||||
SetParams setParams = new SetParams();
|
||||
String result = jedis.set(lockKey, clientId, setParams.nx().px(seconds));
|
||||
if (LOCK_SUCCESS.equals(result)) {
|
||||
//return redisTemplate.execute((RedisCallback<Boolean>) redisConnection -> {
|
||||
// Jedis jedis = (Jedis) redisConnection.getNativeConnection();
|
||||
// SetParams setParams = new SetParams();
|
||||
// String result = jedis.set(lockKey, clientId, setParams.nx().px(seconds));
|
||||
// if (LOCK_SUCCESS.equals(result)) {
|
||||
// return true;
|
||||
// }
|
||||
// return false;
|
||||
//});
|
||||
if(redisTemplate.opsForValue().setIfAbsent(lockKey,clientId)){
|
||||
return true;
|
||||
}
|
||||
String currentValue = redisTemplate.opsForValue().get(lockKey);
|
||||
|
||||
if(!StringUtils.isEmpty(currentValue) &&
|
||||
Long.parseLong(currentValue)<System.currentTimeMillis()){
|
||||
String oldValue =redisTemplate.opsForValue().getAndSet(lockKey,clientId);
|
||||
if (seconds > 0) {
|
||||
redisTemplate.expire(lockKey, seconds, TimeUnit.SECONDS);
|
||||
}
|
||||
if(!StringUtils.isEmpty(oldValue)&& oldValue.equals(currentValue)){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
});
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -65,14 +81,24 @@ public class RedisLock {
|
||||
* @return
|
||||
*/
|
||||
public boolean releaseLock(String lockKey, String clientId) {
|
||||
return redisTemplate.execute((RedisCallback<Boolean>) redisConnection -> {
|
||||
Jedis jedis = (Jedis) redisConnection.getNativeConnection();
|
||||
Object result = jedis.eval(RELEASE_LOCK_SCRIPT, Collections.singletonList(lockKey),
|
||||
Collections.singletonList(clientId));
|
||||
if (RELEASE_SUCCESS.equals(result)) {
|
||||
return true;
|
||||
//return redisTemplate.execute((RedisCallback<Boolean>) redisConnection -> {
|
||||
// Jedis jedis = (Jedis) redisConnection.getNativeConnection();
|
||||
// Object result = jedis.eval(RELEASE_LOCK_SCRIPT, Collections.singletonList(lockKey),
|
||||
// Collections.singletonList(clientId));
|
||||
// if (RELEASE_SUCCESS.equals(result)) {
|
||||
// return true;
|
||||
// }
|
||||
// return false;
|
||||
//});
|
||||
try {
|
||||
String currentValue = redisTemplate.opsForValue().get(lockKey);
|
||||
if (!StringUtils.isEmpty(currentValue) && currentValue.equals(clientId)) {
|
||||
redisTemplate.opsForValue().getOperations().delete(lockKey);
|
||||
}
|
||||
return true;
|
||||
} catch (Exception e){
|
||||
log.error("【redis分布式锁异常】{}",e);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.modules.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.aop.NoRepeatSubmit;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
@ -54,7 +54,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
@ -12,7 +12,7 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.modules.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
import co.yixiang.constant.SystemConfigConstants;
|
||||
@ -23,7 +23,6 @@ import co.yixiang.modules.activity.service.YxStorePinkService;
|
||||
import co.yixiang.modules.activity.vo.CombinationQueryVo;
|
||||
import co.yixiang.modules.activity.vo.PinkInfoVo;
|
||||
import co.yixiang.modules.activity.vo.StoreCombinationVo;
|
||||
import co.yixiang.modules.activity.vo.YxStoreCombinationQueryVo;
|
||||
import co.yixiang.modules.product.service.YxStoreProductRelationService;
|
||||
import co.yixiang.modules.services.CreatShareProductService;
|
||||
import co.yixiang.modules.shop.service.YxSystemConfigService;
|
||||
@ -45,8 +44,6 @@ import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
|
@ -13,7 +13,7 @@ import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.modules.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
import co.yixiang.constant.ShopConstants;
|
||||
|
@ -10,7 +10,7 @@ package co.yixiang.modules.cart.rest;
|
||||
|
||||
import co.yixiang.annotation.Limit;
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.modules.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.aop.NoRepeatSubmit;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
|
@ -11,7 +11,7 @@ package co.yixiang.modules.coupon.rest;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.modules.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.aop.NoRepeatSubmit;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
|
@ -12,7 +12,7 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.modules.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
import co.yixiang.modules.manage.param.OrderPriceParam;
|
||||
import co.yixiang.modules.manage.param.ShoperQueryParam;
|
||||
|
@ -17,7 +17,7 @@ import co.yixiang.common.aop.NoRepeatSubmit;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
import co.yixiang.enums.*;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.modules.logging.aop.log.AppLog;
|
||||
import co.yixiang.modules.mp.domain.YxWechatTemplate;
|
||||
import co.yixiang.modules.mp.service.WeixinPayService;
|
||||
import co.yixiang.modules.mp.service.YxWechatTemplateService;
|
||||
@ -36,9 +36,9 @@ import co.yixiang.modules.order.vo.YxStoreOrderQueryVo;
|
||||
import co.yixiang.modules.services.CreatShareProductService;
|
||||
import co.yixiang.modules.services.OrderSupplyService;
|
||||
import co.yixiang.modules.user.domain.YxUser;
|
||||
import co.yixiang.tools.express.ExpressService;
|
||||
import co.yixiang.tools.express.config.ExpressAutoConfiguration;
|
||||
import co.yixiang.tools.express.dao.ExpressInfo;
|
||||
import co.yixiang.modules.tools.express.ExpressService;
|
||||
import co.yixiang.modules.tools.express.config.ExpressAutoConfiguration;
|
||||
import co.yixiang.modules.tools.express.dao.ExpressInfo;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.vdurmont.emoji.EmojiParser;
|
||||
import io.swagger.annotations.Api;
|
||||
|
@ -18,7 +18,7 @@ import cn.hutool.extra.qrcode.QrCodeUtil;
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.constant.ShopConstants;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.modules.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.aop.NoRepeatSubmit;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
|
@ -12,7 +12,7 @@ import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.modules.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
import co.yixiang.common.util.CityTreeUtil;
|
||||
|
@ -12,7 +12,7 @@ import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.modules.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
import co.yixiang.constant.SystemConfigConstants;
|
||||
@ -155,7 +155,7 @@ public class UserBillController {
|
||||
map.put("list",yxUserService.getUserSpreadGrade(uid,param.getPage(),param.getLimit()
|
||||
,param.getGrade(),param.getKeyword(),param.getSort()));
|
||||
|
||||
Map<String,Integer> countMap = yxUserService.getSpreadCount(uid);
|
||||
Map<String,Long> countMap = yxUserService.getSpreadCount(uid);
|
||||
map.put("total",countMap.get("first"));
|
||||
map.put("totalLevel",countMap.get("second"));
|
||||
return ApiResult.ok(map);
|
||||
|
@ -10,7 +10,7 @@ package co.yixiang.modules.user.rest;
|
||||
|
||||
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.modules.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.aop.NoRepeatSubmit;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
@ -211,7 +211,7 @@ public class UserController {
|
||||
@ApiOperation(value = "开始签到",notes = "开始签到")
|
||||
public ApiResult<Object> signIntegral(){
|
||||
YxUser yxUser = LocalUser.getUser();
|
||||
int integral = userSignService.sign(yxUser);;
|
||||
int integral = userSignService.sign(yxUser);
|
||||
|
||||
Map<String,Object> map = new LinkedHashMap<>();
|
||||
map.put("integral",integral);
|
||||
|
@ -10,7 +10,7 @@ package co.yixiang.modules.user.rest;
|
||||
|
||||
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.modules.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
import co.yixiang.constant.SystemConfigConstants;
|
||||
|
@ -12,7 +12,7 @@ import cn.hutool.core.bean.BeanUtil;
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.enums.ShopCommonEnum;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.modules.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
import co.yixiang.constant.ShopConstants;
|
||||
|
@ -14,7 +14,7 @@ import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.constant.ShopConstants;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.modules.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
import co.yixiang.modules.user.domain.YxUser;
|
||||
@ -24,12 +24,10 @@ import co.yixiang.modules.wechat.rest.param.WxPhoneParam;
|
||||
import co.yixiang.modules.mp.config.WxMaConfiguration;
|
||||
import co.yixiang.utils.RedisUtil;
|
||||
import co.yixiang.utils.RedisUtils;
|
||||
import co.yixiang.utils.SecurityUtils;
|
||||
import co.yixiang.utils.ShopKeyUtils;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
|
@ -6,7 +6,7 @@ import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.modules.logging.aop.log.AppLog;
|
||||
import co.yixiang.modules.order.domain.YxExpress;
|
||||
import co.yixiang.modules.order.service.YxExpressService;
|
||||
import co.yixiang.modules.order.service.dto.YxExpressQueryCriteria;
|
||||
|
@ -79,7 +79,7 @@ swagger:
|
||||
enabled: true
|
||||
title: yshop商城移动端API
|
||||
serverUrl: http://localhost:8009
|
||||
version: 3.2
|
||||
version: 3.3
|
||||
|
||||
# 文件存储路径
|
||||
file:
|
||||
|
@ -86,7 +86,7 @@ swagger:
|
||||
enabled: true
|
||||
title: yshop商城移动端API
|
||||
serverUrl: http://localhost:8009
|
||||
version: 3.2
|
||||
version: 3.3
|
||||
|
||||
# 文件存储路径
|
||||
file:
|
||||
|
@ -5,7 +5,7 @@ spring:
|
||||
druid:
|
||||
# 主库数据源
|
||||
master:
|
||||
url: jdbc:mysql://localhost:3366/yshopb2c?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull
|
||||
url: jdbc:mysql://localhost:3306/yshopb2c?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull
|
||||
username: yshopb2c
|
||||
password: bkfGfAimifjPZtNE
|
||||
# 从库数据源
|
||||
@ -86,7 +86,7 @@ swagger:
|
||||
enabled: false
|
||||
title: yshop商城移动端API
|
||||
serverUrl: http://localhost:8009
|
||||
version: 3.2
|
||||
version: 3.3
|
||||
|
||||
# 文件存储路径
|
||||
file:
|
||||
|
@ -9,8 +9,12 @@ server:
|
||||
tomcat:
|
||||
uri-encoding: UTF-8
|
||||
|
||||
|
||||
spring:
|
||||
mvc:
|
||||
pathmatch:
|
||||
matching-strategy: ant_path_matcher
|
||||
main:
|
||||
allow-circular-references: true
|
||||
freemarker:
|
||||
check-template-location: false
|
||||
profiles:
|
||||
@ -69,7 +73,7 @@ logging:
|
||||
|
||||
yshop:
|
||||
#相关配置
|
||||
version: 3.2
|
||||
version: 3.3
|
||||
|
||||
# 防止XSS攻击
|
||||
xss:
|
||||
|
@ -5,14 +5,14 @@
|
||||
<parent>
|
||||
<artifactId>yshop</artifactId>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<version>3.2</version>
|
||||
<version>3.3</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>yshop-common</artifactId>
|
||||
<name>公共模块</name>
|
||||
<properties>
|
||||
<weixin-java.version>4.2.0</weixin-java.version>
|
||||
<weixin-java.version>4.3.0</weixin-java.version>
|
||||
</properties>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
@ -55,7 +55,7 @@
|
||||
<dependency>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>yshop-mproot</artifactId>
|
||||
<version>3.2</version>
|
||||
<version>3.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.httpcomponents</groupId>
|
||||
|
@ -7,7 +7,6 @@ package co.yixiang.aspect;
|
||||
|
||||
import co.yixiang.annotation.Limit;
|
||||
import co.yixiang.exception.BadLimitRequestException;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.utils.RequestHolder;
|
||||
import co.yixiang.utils.StringUtils;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
@ -63,8 +62,8 @@ public class LimitAspect {
|
||||
ImmutableList<Object> keys = ImmutableList.of(StringUtils.join(limit.prefix(), "_", key, "_", request.getRequestURI().replaceAll("/","_")));
|
||||
|
||||
String luaScript = buildLuaScript();
|
||||
RedisScript<Number> redisScript = new DefaultRedisScript<>(luaScript, Number.class);
|
||||
Number count = redisTemplate.execute(redisScript, keys, limit.count(), limit.period());
|
||||
RedisScript<Long> redisScript = new DefaultRedisScript<>(luaScript, Long.class);
|
||||
Long count = redisTemplate.execute(redisScript, keys, limit.count(), limit.period());
|
||||
if (null != count && count.intValue() <= limit.count()) {
|
||||
logger.info("第{}次访问key为 {},描述为 [{}] 的接口", count, keys, limit.name());
|
||||
return joinPoint.proceed();
|
||||
|
@ -26,7 +26,7 @@ import java.util.stream.Collectors;
|
||||
* @version: 1.0
|
||||
*/
|
||||
@Component
|
||||
@Lazy(true)
|
||||
@Lazy()
|
||||
public class EJBGenerator implements IGenerator {
|
||||
|
||||
@Autowired
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>yshop</artifactId>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<version>3.2</version>
|
||||
<version>3.3</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
<dependency>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>yshop-common</artifactId>
|
||||
<version>3.2</version>
|
||||
<version>3.3</version>
|
||||
</dependency>
|
||||
|
||||
<!--模板引擎-->
|
||||
|
@ -3,9 +3,9 @@
|
||||
* All rights reserved, Designed By www.yixiang.co
|
||||
|
||||
*/
|
||||
package co.yixiang.gen.domain;
|
||||
package co.yixiang.modules.gen.domain;
|
||||
|
||||
import co.yixiang.gen.utils.GenUtil;
|
||||
import co.yixiang.modules.gen.utils.GenUtil;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
@ -3,7 +3,7 @@
|
||||
* All rights reserved, Designed By www.yixiang.co
|
||||
|
||||
*/
|
||||
package co.yixiang.gen.domain;
|
||||
package co.yixiang.modules.gen.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
@ -3,7 +3,7 @@
|
||||
* All rights reserved, Designed By www.yixiang.co
|
||||
|
||||
*/
|
||||
package co.yixiang.gen.domain.vo;
|
||||
package co.yixiang.modules.gen.domain.vo;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
@ -3,7 +3,7 @@
|
||||
* All rights reserved, Designed By www.yixiang.co
|
||||
|
||||
*/
|
||||
package co.yixiang.gen.domain.vo;
|
||||
package co.yixiang.modules.gen.domain.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.AllArgsConstructor;
|
@ -3,10 +3,10 @@
|
||||
* All rights reserved, Designed By www.yixiang.co
|
||||
|
||||
*/
|
||||
package co.yixiang.gen.rest;
|
||||
package co.yixiang.modules.gen.rest;
|
||||
|
||||
import co.yixiang.gen.domain.GenConfig;
|
||||
import co.yixiang.gen.service.GenConfigService;
|
||||
import co.yixiang.modules.gen.domain.GenConfig;
|
||||
import co.yixiang.modules.gen.service.GenConfigService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.http.HttpStatus;
|
@ -3,12 +3,12 @@
|
||||
* All rights reserved, Designed By www.yixiang.co
|
||||
|
||||
*/
|
||||
package co.yixiang.gen.rest;
|
||||
package co.yixiang.modules.gen.rest;
|
||||
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.gen.domain.ColumnConfig;
|
||||
import co.yixiang.gen.service.GenConfigService;
|
||||
import co.yixiang.gen.service.GeneratorService;
|
||||
import co.yixiang.modules.gen.domain.ColumnConfig;
|
||||
import co.yixiang.modules.gen.service.GenConfigService;
|
||||
import co.yixiang.modules.gen.service.GeneratorService;
|
||||
import co.yixiang.utils.PageUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
@ -3,9 +3,9 @@
|
||||
* All rights reserved, Designed By www.yixiang.co
|
||||
|
||||
*/
|
||||
package co.yixiang.gen.service;
|
||||
package co.yixiang.modules.gen.service;
|
||||
|
||||
import co.yixiang.gen.domain.GenConfig;
|
||||
import co.yixiang.modules.gen.domain.GenConfig;
|
||||
|
||||
/**
|
||||
* @author Zheng Jie
|
@ -3,10 +3,10 @@
|
||||
* All rights reserved, Designed By www.yixiang.co
|
||||
|
||||
*/
|
||||
package co.yixiang.gen.service;
|
||||
package co.yixiang.modules.gen.service;
|
||||
|
||||
import co.yixiang.gen.domain.ColumnConfig;
|
||||
import co.yixiang.gen.domain.GenConfig;
|
||||
import co.yixiang.modules.gen.domain.ColumnConfig;
|
||||
import co.yixiang.modules.gen.domain.GenConfig;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
|
@ -3,12 +3,12 @@
|
||||
* All rights reserved, Designed By www.yixiang.co
|
||||
|
||||
*/
|
||||
package co.yixiang.gen.service.impl;
|
||||
package co.yixiang.modules.gen.service.impl;
|
||||
|
||||
import co.yixiang.common.service.impl.BaseServiceImpl;
|
||||
import co.yixiang.gen.domain.GenConfig;
|
||||
import co.yixiang.gen.service.GenConfigService;
|
||||
import co.yixiang.gen.service.mapper.GenConfigMapper;
|
||||
import co.yixiang.modules.gen.domain.GenConfig;
|
||||
import co.yixiang.modules.gen.service.GenConfigService;
|
||||
import co.yixiang.modules.gen.service.mapper.GenConfigMapper;
|
||||
import co.yixiang.utils.StringUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import org.springframework.stereotype.Service;
|
@ -3,19 +3,19 @@
|
||||
* All rights reserved, Designed By www.yixiang.co
|
||||
|
||||
*/
|
||||
package co.yixiang.gen.service.impl;
|
||||
package co.yixiang.modules.gen.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.ZipUtil;
|
||||
import co.yixiang.common.service.impl.BaseServiceImpl;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.gen.domain.ColumnConfig;
|
||||
import co.yixiang.gen.domain.GenConfig;
|
||||
import co.yixiang.gen.domain.vo.TableInfo;
|
||||
import co.yixiang.gen.service.GeneratorService;
|
||||
import co.yixiang.gen.service.mapper.ColumnInfoMapper;
|
||||
import co.yixiang.gen.utils.GenUtil;
|
||||
import co.yixiang.modules.gen.domain.ColumnConfig;
|
||||
import co.yixiang.modules.gen.domain.GenConfig;
|
||||
import co.yixiang.modules.gen.domain.vo.TableInfo;
|
||||
import co.yixiang.modules.gen.service.GeneratorService;
|
||||
import co.yixiang.modules.gen.service.mapper.ColumnInfoMapper;
|
||||
import co.yixiang.modules.gen.utils.GenUtil;
|
||||
import co.yixiang.utils.FileUtil;
|
||||
import co.yixiang.utils.PageUtil;
|
||||
import co.yixiang.utils.StringUtils;
|
@ -3,11 +3,11 @@
|
||||
* All rights reserved, Designed By www.yixiang.co
|
||||
|
||||
*/
|
||||
package co.yixiang.gen.service.mapper;
|
||||
package co.yixiang.modules.gen.service.mapper;
|
||||
|
||||
import co.yixiang.common.mapper.CoreMapper;
|
||||
import co.yixiang.gen.domain.ColumnConfig;
|
||||
import co.yixiang.gen.domain.vo.TableInfo;
|
||||
import co.yixiang.modules.gen.domain.ColumnConfig;
|
||||
import co.yixiang.modules.gen.domain.vo.TableInfo;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
@ -3,10 +3,10 @@
|
||||
* All rights reserved, Designed By www.yixiang.co
|
||||
|
||||
*/
|
||||
package co.yixiang.gen.service.mapper;
|
||||
package co.yixiang.modules.gen.service.mapper;
|
||||
|
||||
import co.yixiang.common.mapper.CoreMapper;
|
||||
import co.yixiang.gen.domain.GenConfig;
|
||||
import co.yixiang.modules.gen.domain.GenConfig;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
@ -3,7 +3,7 @@
|
||||
* All rights reserved, Designed By www.yixiang.co
|
||||
|
||||
*/
|
||||
package co.yixiang.gen.utils;
|
||||
package co.yixiang.modules.gen.utils;
|
||||
|
||||
import org.apache.commons.configuration.Configuration;
|
||||
import org.apache.commons.configuration.ConfigurationException;
|
@ -3,7 +3,7 @@
|
||||
* All rights reserved, Designed By www.yixiang.co
|
||||
|
||||
*/
|
||||
package co.yixiang.gen.utils;
|
||||
package co.yixiang.modules.gen.utils;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.extra.template.Template;
|
||||
@ -11,8 +11,8 @@ import cn.hutool.extra.template.TemplateConfig;
|
||||
import cn.hutool.extra.template.TemplateEngine;
|
||||
import cn.hutool.extra.template.TemplateException;
|
||||
import cn.hutool.extra.template.TemplateUtil;
|
||||
import co.yixiang.gen.domain.ColumnConfig;
|
||||
import co.yixiang.gen.domain.GenConfig;
|
||||
import co.yixiang.modules.gen.domain.ColumnConfig;
|
||||
import co.yixiang.modules.gen.domain.GenConfig;
|
||||
import co.yixiang.utils.FileUtil;
|
||||
import co.yixiang.utils.StringUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>yshop</artifactId>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<version>3.2</version>
|
||||
<version>3.3</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@ -16,12 +16,12 @@
|
||||
<dependency>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>yshop-common</artifactId>
|
||||
<version>3.2</version>
|
||||
<version>3.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>yshop-mproot</artifactId>
|
||||
<version>3.2</version>
|
||||
<version>3.3</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
@ -3,7 +3,7 @@
|
||||
* All rights reserved, Designed By www.yixiang.co
|
||||
|
||||
*/
|
||||
package co.yixiang.logging.aop.log;
|
||||
package co.yixiang.modules.logging.aop.log;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
@ -3,7 +3,7 @@
|
||||
* All rights reserved, Designed By www.yixiang.co
|
||||
|
||||
*/
|
||||
package co.yixiang.logging.aop.log;
|
||||
package co.yixiang.modules.logging.aop.log;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
@ -3,10 +3,10 @@
|
||||
* All rights reserved, Designed By www.yixiang.co
|
||||
|
||||
*/
|
||||
package co.yixiang.logging.aspect;
|
||||
package co.yixiang.modules.logging.aspect;
|
||||
|
||||
import co.yixiang.logging.domain.Log;
|
||||
import co.yixiang.logging.service.LogService;
|
||||
import co.yixiang.modules.logging.domain.Log;
|
||||
import co.yixiang.modules.logging.service.LogService;
|
||||
import co.yixiang.utils.RequestHolder;
|
||||
import co.yixiang.utils.SecurityUtils;
|
||||
import co.yixiang.utils.StringUtils;
|
||||
@ -42,7 +42,7 @@ public class LogAspect {
|
||||
/**
|
||||
* 配置切入点
|
||||
*/
|
||||
@Pointcut("@annotation(co.yixiang.logging.aop.log.Log)")
|
||||
@Pointcut("@annotation(co.yixiang.modules.logging.aop.log.Log)")
|
||||
public void logPointcut() {
|
||||
// 该方法无方法体,主要为了让同类中其他方法使用此切入点
|
||||
}
|
@ -3,7 +3,7 @@
|
||||
* All rights reserved, Designed By www.yixiang.co
|
||||
|
||||
*/
|
||||
package co.yixiang.logging.domain;
|
||||
package co.yixiang.modules.logging.domain;
|
||||
|
||||
import co.yixiang.domain.BaseDomain;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
@ -3,11 +3,11 @@
|
||||
* All rights reserved, Designed By www.yixiang.co
|
||||
|
||||
*/
|
||||
package co.yixiang.logging.rest;
|
||||
package co.yixiang.modules.logging.rest;
|
||||
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.logging.service.LogService;
|
||||
import co.yixiang.logging.service.dto.LogQueryCriteria;
|
||||
import co.yixiang.modules.logging.aop.log.Log;
|
||||
import co.yixiang.modules.logging.service.LogService;
|
||||
import co.yixiang.modules.logging.service.dto.LogQueryCriteria;
|
||||
import co.yixiang.utils.SecurityUtils;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
@ -3,11 +3,11 @@
|
||||
* All rights reserved, Designed By www.yixiang.co
|
||||
|
||||
*/
|
||||
package co.yixiang.logging.service;
|
||||
package co.yixiang.modules.logging.service;
|
||||
|
||||
import co.yixiang.common.service.BaseService;
|
||||
import co.yixiang.logging.domain.Log;
|
||||
import co.yixiang.logging.service.dto.LogQueryCriteria;
|
||||
import co.yixiang.modules.logging.domain.Log;
|
||||
import co.yixiang.modules.logging.service.dto.LogQueryCriteria;
|
||||
import org.aspectj.lang.ProceedingJoinPoint;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.scheduling.annotation.Async;
|
@ -3,7 +3,7 @@
|
||||
* All rights reserved, Designed By www.yixiang.co
|
||||
|
||||
*/
|
||||
package co.yixiang.logging.service.dto;
|
||||
package co.yixiang.modules.logging.service.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
@ -3,7 +3,7 @@
|
||||
* All rights reserved, Designed By www.yixiang.co
|
||||
|
||||
*/
|
||||
package co.yixiang.logging.service.dto;
|
||||
package co.yixiang.modules.logging.service.dto;
|
||||
|
||||
import co.yixiang.annotation.Query;
|
||||
import lombok.Data;
|
@ -3,7 +3,7 @@
|
||||
* All rights reserved, Designed By www.yixiang.co
|
||||
|
||||
*/
|
||||
package co.yixiang.logging.service.dto;
|
||||
package co.yixiang.modules.logging.service.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
@ -3,7 +3,7 @@
|
||||
* All rights reserved, Designed By www.yixiang.co
|
||||
|
||||
*/
|
||||
package co.yixiang.logging.service.impl;
|
||||
package co.yixiang.modules.logging.service.impl;
|
||||
|
||||
import cn.hutool.core.lang.Dict;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
@ -11,13 +11,13 @@ import cn.hutool.json.JSONObject;
|
||||
import co.yixiang.common.service.impl.BaseServiceImpl;
|
||||
import co.yixiang.common.utils.QueryHelpPlus;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.logging.service.LogService;
|
||||
import co.yixiang.logging.service.dto.LogErrorDTO;
|
||||
import co.yixiang.logging.service.dto.LogQueryCriteria;
|
||||
import co.yixiang.logging.service.dto.LogSmallDTO;
|
||||
import co.yixiang.logging.service.mapper.LogMapper;
|
||||
import co.yixiang.modules.logging.aop.log.AppLog;
|
||||
import co.yixiang.modules.logging.aop.log.Log;
|
||||
import co.yixiang.modules.logging.service.LogService;
|
||||
import co.yixiang.modules.logging.service.dto.LogErrorDTO;
|
||||
import co.yixiang.modules.logging.service.dto.LogQueryCriteria;
|
||||
import co.yixiang.modules.logging.service.dto.LogSmallDTO;
|
||||
import co.yixiang.modules.logging.service.mapper.LogMapper;
|
||||
import co.yixiang.utils.FileUtil;
|
||||
import co.yixiang.utils.StringUtils;
|
||||
import co.yixiang.utils.ValidationUtil;
|
||||
@ -44,7 +44,7 @@ import java.util.Map;
|
||||
@SuppressWarnings("unchecked")
|
||||
@Service
|
||||
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
|
||||
public class LogServiceImpl extends BaseServiceImpl<LogMapper, co.yixiang.logging.domain.Log> implements LogService {
|
||||
public class LogServiceImpl extends BaseServiceImpl<LogMapper, co.yixiang.modules.logging.domain.Log> implements LogService {
|
||||
|
||||
|
||||
private final LogMapper logMapper;
|
||||
@ -59,7 +59,7 @@ public class LogServiceImpl extends BaseServiceImpl<LogMapper, co.yixiang.loggin
|
||||
@Override
|
||||
public Object findAllByPageable(String nickname, Pageable pageable) {
|
||||
getPage(pageable);
|
||||
PageInfo<co.yixiang.logging.domain.Log> page = new PageInfo<>(logMapper.findAllByPageable(nickname));
|
||||
PageInfo<co.yixiang.modules.logging.domain.Log> page = new PageInfo<>(logMapper.findAllByPageable(nickname));
|
||||
Map<String,Object> map = new LinkedHashMap<>(2);
|
||||
map.put("content",page.getList());
|
||||
map.put("totalElements",page.getTotal());
|
||||
@ -71,7 +71,7 @@ public class LogServiceImpl extends BaseServiceImpl<LogMapper, co.yixiang.loggin
|
||||
public Object queryAll(LogQueryCriteria criteria, Pageable pageable){
|
||||
|
||||
getPage(pageable);
|
||||
PageInfo<co.yixiang.logging.domain.Log> page = new PageInfo<>(queryAll(criteria));
|
||||
PageInfo<co.yixiang.modules.logging.domain.Log> page = new PageInfo<>(queryAll(criteria));
|
||||
Map<String, Object> map = new LinkedHashMap<>(2);
|
||||
String status = "ERROR";
|
||||
if(status.equals(criteria.getLogType())){
|
||||
@ -84,14 +84,14 @@ public class LogServiceImpl extends BaseServiceImpl<LogMapper, co.yixiang.loggin
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<co.yixiang.logging.domain.Log> queryAll(LogQueryCriteria criteria) {
|
||||
return baseMapper.selectList(QueryHelpPlus.getPredicate(co.yixiang.logging.domain.Log.class, criteria));
|
||||
public List<co.yixiang.modules.logging.domain.Log> queryAll(LogQueryCriteria criteria) {
|
||||
return baseMapper.selectList(QueryHelpPlus.getPredicate(co.yixiang.modules.logging.domain.Log.class, criteria));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object queryAllByUser(LogQueryCriteria criteria, Pageable pageable) {
|
||||
getPage(pageable);
|
||||
PageInfo<co.yixiang.logging.domain.Log> page = new PageInfo<>(queryAll(criteria));
|
||||
PageInfo<co.yixiang.modules.logging.domain.Log> page = new PageInfo<>(queryAll(criteria));
|
||||
Map<String, Object> map = new LinkedHashMap<>(2);
|
||||
map.put("content", generator.convert(page.getList(), LogSmallDTO.class));
|
||||
map.put("totalElements", page.getTotal());
|
||||
@ -102,7 +102,7 @@ public class LogServiceImpl extends BaseServiceImpl<LogMapper, co.yixiang.loggin
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void save(String username, String ip, ProceedingJoinPoint joinPoint,
|
||||
co.yixiang.logging.domain.Log log, Long uid){
|
||||
co.yixiang.modules.logging.domain.Log log, Long uid){
|
||||
|
||||
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
|
||||
Method method = signature.getMethod();
|
||||
@ -152,7 +152,7 @@ public class LogServiceImpl extends BaseServiceImpl<LogMapper, co.yixiang.loggin
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void saveApp(String username, String ip, ProceedingJoinPoint joinPoint,
|
||||
co.yixiang.logging.domain.Log log, Long uid){
|
||||
co.yixiang.modules.logging.domain.Log log, Long uid){
|
||||
|
||||
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
|
||||
Method method = signature.getMethod();
|
||||
@ -200,16 +200,16 @@ public class LogServiceImpl extends BaseServiceImpl<LogMapper, co.yixiang.loggin
|
||||
}
|
||||
@Override
|
||||
public Object findByErrDetail(Long id) {
|
||||
co.yixiang.logging.domain.Log log = this.getById(id);
|
||||
co.yixiang.modules.logging.domain.Log log = this.getById(id);
|
||||
ValidationUtil.isNull( log.getId(),"Log","id", id);
|
||||
byte[] details = log.getExceptionDetail();
|
||||
return Dict.create().set("exception",new String(ObjectUtil.isNotNull(details) ? details : "".getBytes()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void download(List<co.yixiang.logging.domain.Log> logs, HttpServletResponse response) throws IOException {
|
||||
public void download(List<co.yixiang.modules.logging.domain.Log> logs, HttpServletResponse response) throws IOException {
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
for (co.yixiang.logging.domain.Log log : logs) {
|
||||
for (co.yixiang.modules.logging.domain.Log log : logs) {
|
||||
Map<String,Object> map = new LinkedHashMap<>();
|
||||
map.put("用户名", log.getUsername());
|
||||
map.put("IP", log.getRequestIp());
|
@ -3,10 +3,10 @@
|
||||
* All rights reserved, Designed By www.yixiang.co
|
||||
|
||||
*/
|
||||
package co.yixiang.logging.service.mapper;
|
||||
package co.yixiang.modules.logging.service.mapper;
|
||||
|
||||
import co.yixiang.common.mapper.CoreMapper;
|
||||
import co.yixiang.logging.domain.Log;
|
||||
import co.yixiang.modules.logging.domain.Log;
|
||||
import org.apache.ibatis.annotations.Delete;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>yshop</artifactId>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<version>3.2</version>
|
||||
<version>3.3</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
<dependency>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>yshop-tools</artifactId>
|
||||
<version>3.2</version>
|
||||
<version>3.3</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
@ -37,11 +37,12 @@ public interface YxStoreBargainUserHelpService extends BaseService<YxStoreBargai
|
||||
|
||||
/**
|
||||
* 获取砍价帮总人数
|
||||
* @param bargainId 砍价产品ID
|
||||
*
|
||||
* @param bargainId 砍价产品ID
|
||||
* @param bargainUserUid 用户参与砍价表id
|
||||
* @return int
|
||||
*/
|
||||
int getBargainUserHelpPeopleCount(Long bargainId,Long bargainUserUid);
|
||||
Long getBargainUserHelpPeopleCount(Long bargainId,Long bargainUserUid);
|
||||
|
||||
|
||||
}
|
||||
|
@ -79,11 +79,12 @@ public interface YxStoreBargainUserService extends BaseService<YxStoreBargainUse
|
||||
|
||||
/**
|
||||
* 获取参与砍价的用户数量
|
||||
*
|
||||
* @param bargainId 砍价id
|
||||
* @param status 状态 OrderInfoEnum 1 进行中 2 结束失败 3结束成功
|
||||
* @param status 状态 OrderInfoEnum 1 进行中 2 结束失败 3结束成功
|
||||
* @return int
|
||||
*/
|
||||
int getBargainUserCount(Long bargainId,Integer status);
|
||||
Long getBargainUserCount(Long bargainId,Integer status);
|
||||
|
||||
|
||||
}
|
||||
|
@ -33,7 +33,7 @@ public interface YxStoreCouponUserService extends BaseService<YxStoreCouponUser>
|
||||
* @param uid uid
|
||||
* @return int
|
||||
*/
|
||||
int getUserValidCouponCount(Long uid);
|
||||
Long getUserValidCouponCount(Long uid);
|
||||
|
||||
void useCoupon(int id);
|
||||
|
||||
|
@ -55,10 +55,11 @@ public interface YxStorePinkService extends BaseService<YxStorePink>{
|
||||
|
||||
/**
|
||||
* 返回正在拼团的人数
|
||||
*
|
||||
* @param id 拼团id
|
||||
* @return int
|
||||
*/
|
||||
int pinkIngCount(Long id);
|
||||
Long pinkIngCount(Long id);
|
||||
|
||||
/**
|
||||
* 创建拼团
|
||||
|
@ -46,13 +46,13 @@ public class YxStoreCombinationDto implements Serializable {
|
||||
private List<String> sliderImage;
|
||||
|
||||
//参与人数
|
||||
private Integer countPeopleAll;
|
||||
private Long countPeopleAll;
|
||||
|
||||
//成团人数
|
||||
private Integer countPeoplePink;
|
||||
private Long countPeoplePink;
|
||||
|
||||
//访问人数
|
||||
private Integer countPeopleBrowse;
|
||||
private Long countPeopleBrowse;
|
||||
|
||||
// 活动标题
|
||||
private String title;
|
||||
|
@ -81,5 +81,5 @@ public class YxStorePinkDto implements Serializable {
|
||||
/**
|
||||
* 参团人数
|
||||
*/
|
||||
private int countPeople;
|
||||
private Long countPeople;
|
||||
}
|
||||
|
@ -206,7 +206,7 @@ public class YxStoreBargainServiceImpl extends BaseServiceImpl<YxStoreBargainMap
|
||||
if(storeBargainUser == null) {
|
||||
return BargainCountVo
|
||||
.builder()
|
||||
.count(0)
|
||||
.count(0L)
|
||||
.alreadyPrice(0d)
|
||||
.status(0)
|
||||
.pricePercent(0)
|
||||
@ -216,7 +216,7 @@ public class YxStoreBargainServiceImpl extends BaseServiceImpl<YxStoreBargainMap
|
||||
}
|
||||
|
||||
|
||||
int helpCount = storeBargainUserHelpService.lambdaQuery()
|
||||
Long helpCount = storeBargainUserHelpService.lambdaQuery()
|
||||
.eq(YxStoreBargainUserHelp::getBargainUserId,storeBargainUser.getId())
|
||||
.eq(YxStoreBargainUserHelp::getBargainId,bargainId)
|
||||
.eq(YxStoreBargainUserHelp::getUid,myUid)
|
||||
@ -227,7 +227,7 @@ public class YxStoreBargainServiceImpl extends BaseServiceImpl<YxStoreBargainMap
|
||||
}
|
||||
|
||||
|
||||
int count = storeBargainUserHelpService
|
||||
Long count = storeBargainUserHelpService
|
||||
.getBargainUserHelpPeopleCount(bargainId,storeBargainUser.getId());
|
||||
//用户可以砍掉的价格
|
||||
double diffPrice = NumberUtil.sub(storeBargainUser.getBargainPrice()
|
||||
@ -345,7 +345,7 @@ public class YxStoreBargainServiceImpl extends BaseServiceImpl<YxStoreBargainMap
|
||||
* @param bargainId 砍价id
|
||||
* @return int
|
||||
*/
|
||||
private int getBargainPayCount(Long bargainId) {
|
||||
private Long getBargainPayCount(Long bargainId) {
|
||||
return storeOrderService.lambdaQuery().eq(YxStoreOrder::getBargainId,bargainId)
|
||||
.eq(YxStoreOrder::getPaid,OrderInfoEnum.PAY_STATUS_1.getValue())
|
||||
.eq(YxStoreOrder::getRefundStatus,OrderInfoEnum.REFUND_STATUS_0.getValue())
|
||||
|
@ -92,12 +92,13 @@ public class YxStoreBargainUserHelpServiceImpl extends BaseServiceImpl<YxStoreBa
|
||||
|
||||
/**
|
||||
* 获取砍价帮总人数
|
||||
* @param bargainId 砍价产品ID
|
||||
*
|
||||
* @param bargainId 砍价产品ID
|
||||
* @param bargainUserUid 用户参与砍价表id
|
||||
* @return int
|
||||
*/
|
||||
@Override
|
||||
public int getBargainUserHelpPeopleCount(Long bargainId, Long bargainUserUid) {
|
||||
public Long getBargainUserHelpPeopleCount(Long bargainId, Long bargainUserUid) {
|
||||
return this.lambdaQuery()
|
||||
.eq(YxStoreBargainUserHelp::getBargainUserId,bargainUserUid)
|
||||
.eq(YxStoreBargainUserHelp::getBargainId,bargainId)
|
||||
|
@ -128,7 +128,7 @@ public class YxStoreBargainUserServiceImpl extends BaseServiceImpl<YxStoreBargai
|
||||
if(ObjectUtil.isNull(storeBargainUser) || ObjectUtil.isNull(storeBargain)){
|
||||
return false;
|
||||
}
|
||||
int count = storeBargainUserHelpService.lambdaQuery()
|
||||
Long count = storeBargainUserHelpService.lambdaQuery()
|
||||
.eq(YxStoreBargainUserHelp::getBargainId,bargainId)
|
||||
.eq(YxStoreBargainUserHelp::getBargainUserId,storeBargainUser.getId())
|
||||
.eq(YxStoreBargainUserHelp::getUid,uid)
|
||||
@ -197,12 +197,13 @@ public class YxStoreBargainUserServiceImpl extends BaseServiceImpl<YxStoreBargai
|
||||
|
||||
/**
|
||||
* 获取参与砍价的用户数量
|
||||
*
|
||||
* @param bargainId 砍价id
|
||||
* @param status 状态 OrderInfoEnum 1 进行中 2 结束失败 3结束成功
|
||||
* @param status 状态 OrderInfoEnum 1 进行中 2 结束失败 3结束成功
|
||||
* @return int
|
||||
*/
|
||||
@Override
|
||||
public int getBargainUserCount(Long bargainId, Integer status) {
|
||||
public Long getBargainUserCount(Long bargainId, Integer status) {
|
||||
return this.lambdaQuery().eq(YxStoreBargainUser::getBargainId,bargainId)
|
||||
.eq(YxStoreBargainUser::getStatus,status).count();
|
||||
}
|
||||
|
@ -134,7 +134,7 @@ public class YxStoreCombinationServiceImpl extends BaseServiceImpl<YxStoreCombin
|
||||
//评价
|
||||
storeCombinationVo.setReply(replyService
|
||||
.getReply(storeCombinationQueryVo.getProductId()));
|
||||
int replyCount = replyService.productReplyCount(storeCombinationQueryVo.getProductId());
|
||||
Long replyCount = replyService.productReplyCount(storeCombinationQueryVo.getProductId());
|
||||
//总条数
|
||||
storeCombinationVo.setReplyCount(replyCount);
|
||||
//好评比例
|
||||
|
@ -72,7 +72,7 @@ public class YxStoreCouponIssueServiceImpl extends BaseServiceImpl<YxStoreCoupon
|
||||
throw new YshopException("领取的优惠劵已领完或已过期");
|
||||
}
|
||||
|
||||
int count = this.couponCount(id,uid);
|
||||
Long count = this.couponCount(id,uid);
|
||||
if(count > 0) {
|
||||
throw new YshopException("已领取过该优惠劵");
|
||||
}
|
||||
@ -110,7 +110,7 @@ public class YxStoreCouponIssueServiceImpl extends BaseServiceImpl<YxStoreCoupon
|
||||
List<YxStoreCouponIssueQueryVo> list = yxStoreCouponIssueMapper
|
||||
.selecCoupontList(pageModel,type,productId);
|
||||
for (YxStoreCouponIssueQueryVo couponIssue : list) {
|
||||
int count = this.couponCount(couponIssue.getId(),uid);
|
||||
Long count = this.couponCount(couponIssue.getId(),uid);
|
||||
if(count > 0){
|
||||
couponIssue.setIsUse(true);
|
||||
}else{
|
||||
@ -128,7 +128,7 @@ public class YxStoreCouponIssueServiceImpl extends BaseServiceImpl<YxStoreCoupon
|
||||
* @param uid 用户id
|
||||
* @return int
|
||||
*/
|
||||
private int couponCount(Integer id, Long uid) {
|
||||
private Long couponCount(Integer id, Long uid) {
|
||||
return storeCouponIssueUserService.lambdaQuery()
|
||||
.eq(YxStoreCouponIssueUser::getUid,uid)
|
||||
.eq(YxStoreCouponIssueUser::getIssueCouponId,id)
|
||||
|
@ -72,11 +72,12 @@ public class YxStoreCouponUserServiceImpl extends BaseServiceImpl<YxStoreCouponU
|
||||
|
||||
/**
|
||||
* 获取当前用户优惠券数量
|
||||
*
|
||||
* @param uid uid
|
||||
* @return int
|
||||
*/
|
||||
@Override
|
||||
public int getUserValidCouponCount(Long uid) {
|
||||
public Long getUserValidCouponCount(Long uid) {
|
||||
this.checkInvalidCoupon();
|
||||
return this.lambdaQuery()
|
||||
.eq(YxStoreCouponUser::getStatus, CouponEnum.STATUS_0.getValue())
|
||||
|
@ -270,11 +270,12 @@ public class YxStorePinkServiceImpl extends BaseServiceImpl<YxStorePinkMapper, Y
|
||||
|
||||
/**
|
||||
* 返回正在拼团的人数
|
||||
*
|
||||
* @param id 拼团id
|
||||
* @return int
|
||||
*/
|
||||
@Override
|
||||
public int pinkIngCount(Long id) {
|
||||
public Long pinkIngCount(Long id) {
|
||||
return this.lambdaQuery()
|
||||
.eq(YxStorePink::getId,id)
|
||||
.eq(YxStorePink::getStatus,OrderInfoEnum.PINK_STATUS_1.getValue())
|
||||
@ -291,7 +292,7 @@ public class YxStorePinkServiceImpl extends BaseServiceImpl<YxStorePinkMapper, Y
|
||||
YxStoreCombination storeCombination = combinationService.getById(order.getCombinationId());
|
||||
order = storeOrderService.handleOrder(order);
|
||||
YxStoreCart storeCart = yxStoreCartService.getById(order.getCartId());
|
||||
int pinkCount = yxStorePinkMapper.selectCount(Wrappers.<YxStorePink>lambdaQuery()
|
||||
Long pinkCount = yxStorePinkMapper.selectCount(Wrappers.<YxStorePink>lambdaQuery()
|
||||
.eq(YxStorePink::getOrderId,order.getOrderId()));
|
||||
if(pinkCount > 0) {
|
||||
return;
|
||||
@ -363,7 +364,7 @@ public class YxStorePinkServiceImpl extends BaseServiceImpl<YxStorePinkMapper, Y
|
||||
*/
|
||||
@Override
|
||||
public boolean getIsPinkUid(Long id, Long uid) {
|
||||
int count = this.lambdaQuery()
|
||||
Long count = this.lambdaQuery()
|
||||
.eq(YxStorePink::getIsRefund, OrderInfoEnum.PINK_REFUND_STATUS_0.getValue())
|
||||
.eq(YxStorePink::getUid,uid)
|
||||
.and(i->i.eq(YxStorePink::getKId,id).or().eq(YxStorePink::getId,id))
|
||||
@ -503,7 +504,7 @@ public class YxStorePinkServiceImpl extends BaseServiceImpl<YxStorePinkMapper, Y
|
||||
* @return boolean
|
||||
*/
|
||||
private boolean getPinkStatus(List<Long> idAll) {
|
||||
int count = this.lambdaQuery().in(YxStorePink::getId,idAll)
|
||||
Long count = this.lambdaQuery().in(YxStorePink::getId,idAll)
|
||||
.eq(YxStorePink::getIsRefund,OrderInfoEnum.PINK_REFUND_STATUS_1.getValue())
|
||||
.count();
|
||||
if(count == 0) {
|
||||
@ -631,12 +632,12 @@ public class YxStorePinkServiceImpl extends BaseServiceImpl<YxStorePinkMapper, Y
|
||||
* @param people 当前满足拼团的人数
|
||||
* @return int
|
||||
*/
|
||||
private int getPinkPeople(Long kid, int people) {
|
||||
private Long getPinkPeople(Long kid, int people) {
|
||||
LambdaQueryWrapper<YxStorePink> wrapper= new LambdaQueryWrapper<>();
|
||||
wrapper.eq(YxStorePink::getKId,kid)
|
||||
.eq(YxStorePink::getIsRefund, OrderInfoEnum.PINK_REFUND_STATUS_0.getValue());
|
||||
//加上团长自己
|
||||
int count = yxStorePinkMapper.selectCount(wrapper) + 1;
|
||||
Long count = yxStorePinkMapper.selectCount(wrapper) + 1;
|
||||
return people - count;
|
||||
}
|
||||
|
||||
@ -657,7 +658,7 @@ public class YxStorePinkServiceImpl extends BaseServiceImpl<YxStorePinkMapper, Y
|
||||
i.setUserImg(yxUser.getAvatar());
|
||||
i.setProduct(storeCombination.getTitle());
|
||||
i.setImage(storeCombination.getImage());
|
||||
i.setCountPeople( this.count(new LambdaQueryWrapper<YxStorePink>().eq(YxStorePink::getCid,i.getCid())));
|
||||
i.setCountPeople(this.count(new LambdaQueryWrapper<YxStorePink>().eq(YxStorePink::getCid,i.getCid())));
|
||||
});
|
||||
map.put("content", yxStorePinkDtos);
|
||||
map.put("totalElements", page.getTotal());
|
||||
|
@ -14,7 +14,7 @@ import java.io.Serializable;
|
||||
@Builder
|
||||
public class BargainCountVo implements Serializable {
|
||||
private Double alreadyPrice;
|
||||
private Integer count;
|
||||
private Long count;
|
||||
private Integer pricePercent;
|
||||
private Integer status;
|
||||
private Double price; //剩余的砍价金额
|
||||
|
@ -17,5 +17,5 @@ import java.io.Serializable;
|
||||
public class BargainVo implements Serializable {
|
||||
private YxStoreBargainQueryVo bargain;
|
||||
private YxUserQueryVo userInfo;
|
||||
private Integer bargainSumCount;//砍价支付成功订单数量
|
||||
private Long bargainSumCount;//砍价支付成功订单数量
|
||||
}
|
||||
|
@ -43,7 +43,7 @@ public class PinkInfoVo implements Serializable {
|
||||
private String storeCombinationHost;
|
||||
|
||||
@ApiModelProperty(value = "是否在团内 0不在 1在")
|
||||
private Integer userBool = 0;
|
||||
private Integer userBool;
|
||||
|
||||
@ApiModelProperty(value = "拼团用户信息")
|
||||
private YxUserQueryVo userInfo;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user