Commit 29360d66 by 袁伟铭

优化代码

parent edb57498
...@@ -97,12 +97,10 @@ ...@@ -97,12 +97,10 @@
<dependency> <dependency>
<groupId>com.baomidou</groupId> <groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId> <artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis.plus.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.alibaba</groupId> <groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId> <artifactId>druid-spring-boot-starter</artifactId>
<version>${alibaba.druid.version}</version>
</dependency> </dependency>
<!-- quartz --> <!-- quartz -->
...@@ -114,7 +112,6 @@ ...@@ -114,7 +112,6 @@
<dependency> <dependency>
<groupId>io.jsonwebtoken</groupId> <groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId> <artifactId>jjwt</artifactId>
<version>${jjwt.version}</version>
</dependency> </dependency>
<!--支付宝依赖--> <!--支付宝依赖-->
......
...@@ -77,13 +77,11 @@ ...@@ -77,13 +77,11 @@
<dependency> <dependency>
<groupId>com.baomidou</groupId> <groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId> <artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis.plus.version}</version>
</dependency> </dependency>
<!-- druid数据源驱动 --> <!-- druid数据源驱动 -->
<dependency> <dependency>
<groupId>com.alibaba</groupId> <groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId> <artifactId>druid-spring-boot-starter</artifactId>
<version>${alibaba.druid.version}</version>
</dependency> </dependency>
</dependencies> </dependencies>
......
package com.zq.file.controller; package com.zq.file.controller;
import com.zq.common.utils.AssertUtils; import com.zq.common.utils.AssertUtils;
import com.zq.common.utils.UploadUtils;
import com.zq.common.vo.ResultVo; import com.zq.common.vo.ResultVo;
import com.zq.common.vo.UploadVo; import com.zq.common.vo.UploadVo;
import com.zq.file.utils.UploadUtils;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger; import org.slf4j.Logger;
......
package com.zq.common.utils; package com.zq.file.utils;
import com.zq.common.exception.BusinessException; import com.zq.common.exception.BusinessException;
import com.zq.common.utils.AssertUtils;
import com.zq.common.utils.UuidUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
......
...@@ -21,12 +21,12 @@ ...@@ -21,12 +21,12 @@
<java.version>1.8</java.version> <java.version>1.8</java.version>
<swagger.version>2.9.2</swagger.version> <swagger.version>2.9.2</swagger.version>
<alibaba.druid.version>1.1.22</alibaba.druid.version> <alibaba.druid.version>1.2.21</alibaba.druid.version>
<mybatis.plus.version>3.5.3.1</mybatis.plus.version> <mybatis.plus.version>3.5.5</mybatis.plus.version>
<pagehelper.version>5.3.3</pagehelper.version> <pagehelper.version>6.1.0</pagehelper.version>
<jjwt.version>0.9.1</jjwt.version> <jjwt.version>0.9.1</jjwt.version>
<fastjson.version>1.2.83</fastjson.version> <fastjson.version>1.2.83</fastjson.version>
<hutool.version>5.8.19</hutool.version> <hutool.version>5.8.26</hutool.version>
<logback.version>1.2.10</logback.version> <logback.version>1.2.10</logback.version>
<log4j2.version>2.17.1</log4j2.version> <log4j2.version>2.17.1</log4j2.version>
...@@ -46,8 +46,8 @@ ...@@ -46,8 +46,8 @@
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>com.alibaba</groupId>
<artifactId>spring-boot-starter-test</artifactId> <artifactId>fastjson</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>io.springfox</groupId> <groupId>io.springfox</groupId>
...@@ -58,11 +58,6 @@ ...@@ -58,11 +58,6 @@
<artifactId>springfox-swagger-ui</artifactId> <artifactId>springfox-swagger-ui</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
</dependency> </dependency>
...@@ -88,6 +83,40 @@ ...@@ -88,6 +83,40 @@
<artifactId>springfox-swagger-ui</artifactId> <artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.version}</version> <version>${swagger.version}</version>
</dependency> </dependency>
<!-- jwt -->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>${jjwt.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>${hutool.version}</version>
</dependency>
<!--mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis.plus.version}</version>
</dependency>
<!-- druid数据源驱动 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>${alibaba.druid.version}</version>
</dependency>
<!--pagehelper-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>${pagehelper.version}</version>
</dependency>
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>
......
...@@ -65,13 +65,11 @@ ...@@ -65,13 +65,11 @@
<dependency> <dependency>
<groupId>com.baomidou</groupId> <groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId> <artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis.plus.version}</version>
</dependency> </dependency>
<!-- druid数据源驱动 --> <!-- druid数据源驱动 -->
<dependency> <dependency>
<groupId>com.alibaba</groupId> <groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId> <artifactId>druid-spring-boot-starter</artifactId>
<version>${alibaba.druid.version}</version>
</dependency> </dependency>
<!-- mysql --> <!-- mysql -->
<dependency> <dependency>
......
...@@ -177,7 +177,7 @@ public class UserService { ...@@ -177,7 +177,7 @@ public class UserService {
lambdaQuery.like(AppUser::getPhone, vo.getPhone()); lambdaQuery.like(AppUser::getPhone, vo.getPhone());
} }
return PagingUtils.paging(vo, userDao, lambdaQuery, AppUser.class); return PagingUtils.paging(vo, userDao, AppUser.class, lambdaQuery);
} }
} }
...@@ -54,13 +54,11 @@ ...@@ -54,13 +54,11 @@
<dependency> <dependency>
<groupId>com.baomidou</groupId> <groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId> <artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis.plus.version}</version>
</dependency> </dependency>
<!--pagehelper--> <!--pagehelper-->
<dependency> <dependency>
<groupId>com.github.pagehelper</groupId> <groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId> <artifactId>pagehelper</artifactId>
<version>5.2.1</version>
</dependency> </dependency>
<!--spring boot 集成redis所需common-pool2--> <!--spring boot 集成redis所需common-pool2-->
...@@ -87,14 +85,12 @@ ...@@ -87,14 +85,12 @@
<dependency> <dependency>
<groupId>cn.hutool</groupId> <groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId> <artifactId>hutool-all</artifactId>
<version>${hutool.version}</version>
</dependency> </dependency>
<!-- jwt --> <!-- jwt -->
<dependency> <dependency>
<groupId>io.jsonwebtoken</groupId> <groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId> <artifactId>jjwt</artifactId>
<version>${jjwt.version}</version>
</dependency> </dependency>
<dependency> <dependency>
......
package com.zq.common.utils;
import java.util.HashSet;
import java.util.Set;
/**
* @author wilmiam
* @since 2019-04-15
*/
public class ImageUtils {
/**
* 有效的图片文件格式
*/
private static final Set<String> FILE_EXTENSIONS = new HashSet<>();
static {
FILE_EXTENSIONS.add("bmp");
FILE_EXTENSIONS.add("jpg");
FILE_EXTENSIONS.add("png");
FILE_EXTENSIONS.add("jpeg");
}
/**
* 获取文件的后缀(格式), 如: xxxx.txt.png,则返回png
*
* @param filename
* @return
*/
public static String getFileExt(String filename) {
if (ValidateUtil.isBlank(filename) || !filename.contains(".")) {
return null;
}
return filename.substring(filename.lastIndexOf('.') + 1);
}
/**
* 判断文件名是否为有效的图片文件格式
*
* @param filename
* @return
*/
public static boolean isImgFile(String filename) {
return isImgFileExt(getFileExt(filename));
}
/**
* 判断是否为图片文件后缀名
*
* @param ext
* @return
*/
public static boolean isImgFileExt(final String ext) {
return ext != null && FILE_EXTENSIONS.stream()
.anyMatch(item -> item.equals(ext.toLowerCase()));
}
}
...@@ -3,11 +3,12 @@ package com.zq.common.utils; ...@@ -3,11 +3,12 @@ package com.zq.common.utils;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.ISqlSegment; import com.baomidou.mybatisplus.core.conditions.ISqlSegment;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments; import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments;
import com.baomidou.mybatisplus.core.conditions.segments.NormalSegmentList; import com.baomidou.mybatisplus.core.conditions.segments.NormalSegmentList;
import com.baomidou.mybatisplus.core.enums.SqlKeyword;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
...@@ -34,13 +35,28 @@ public abstract class PagingUtils { ...@@ -34,13 +35,28 @@ public abstract class PagingUtils {
* @param <Q> * @param <Q>
* @return * @return
*/ */
@SuppressWarnings("all")
public static <R, Q extends PageReqVo> PageVo<R> paging(Q reqVo, Function<Q, List<R>> rowsLoader) { public static <R, Q extends PageReqVo> PageVo<R> paging(Q reqVo, Function<Q, List<R>> rowsLoader) {
PageHelper.startPage(reqVo.getPage(), reqVo.getSize()); return paging(reqVo, rowsLoader, true);
}
/**
* pagehelper分页插件
*
* @param reqVo
* @param rowsLoader
* @param <R>
* @param <Q>
* @return
*/
@SuppressWarnings("all")
public static <R, Q extends PageReqVo> PageVo<R> paging(Q reqVo, Function<Q, List<R>> rowsLoader, boolean searchCount) {
PageHelper.startPage(reqVo.getPage(), reqVo.getSize(), searchCount);
com.github.pagehelper.Page<R> page = (com.github.pagehelper.Page) rowsLoader.apply(reqVo); com.github.pagehelper.Page<R> page = (com.github.pagehelper.Page) rowsLoader.apply(reqVo);
return PageVo.ofReqVo(reqVo, page.getResult(), Long.valueOf(page.getTotal()).intValue()); return PageVo.ofReqVo(reqVo, page.getResult(), Long.valueOf(page.getTotal()).intValue());
} }
/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓以下是mybatis-plus自带分页插件↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
/** /**
* mybatis-plus自带分页插件 * mybatis-plus自带分页插件
* *
...@@ -52,6 +68,20 @@ public abstract class PagingUtils { ...@@ -52,6 +68,20 @@ public abstract class PagingUtils {
* @return * @return
*/ */
public static <R, Q extends PageReqVo> PageVo<R> paging(Q reqVo, BaseMapper<R> mapper, Class<R> clazz) { public static <R, Q extends PageReqVo> PageVo<R> paging(Q reqVo, BaseMapper<R> mapper, Class<R> clazz) {
return paging(reqVo, mapper, clazz, true);
}
/**
* mybatis-plus自带分页插件
*
* @param reqVo
* @param mapper
* @param clazz
* @param <R>
* @param <Q>
* @return
*/
public static <R, Q extends PageReqVo> PageVo<R> paging(Q reqVo, BaseMapper<R> mapper, Class<R> clazz, boolean searchCount) {
R entity; R entity;
try { try {
entity = clazz.newInstance(); entity = clazz.newInstance();
...@@ -59,7 +89,8 @@ public abstract class PagingUtils { ...@@ -59,7 +89,8 @@ public abstract class PagingUtils {
throw new BusinessException("分页类型转换错误"); throw new BusinessException("分页类型转换错误");
} }
BeanUtil.copyProperties(reqVo, entity); BeanUtil.copyProperties(reqVo, entity);
IPage<R> page = new Page<>(reqVo.getPage(), reqVo.getSize()); Page<R> page = new Page<>(reqVo.getPage(), reqVo.getSize());
page.setSearchCount(searchCount);
page = mapper.selectPage(page, Wrappers.lambdaQuery(entity)); page = mapper.selectPage(page, Wrappers.lambdaQuery(entity));
return PageVo.ofReqVo(reqVo, page.getRecords(), Long.valueOf(page.getTotal()).intValue()); return PageVo.ofReqVo(reqVo, page.getRecords(), Long.valueOf(page.getTotal()).intValue());
} }
...@@ -73,8 +104,49 @@ public abstract class PagingUtils { ...@@ -73,8 +104,49 @@ public abstract class PagingUtils {
* @param <Q> * @param <Q>
* @return * @return
*/ */
@SuppressWarnings("all") public static <R, Q extends PageReqVo> PageVo<R> paging(Q reqVo, BaseMapper<R> mapper, Wrapper<R> lambdaQuery) {
public static <R, Q extends PageReqVo> PageVo<R> paging(Q reqVo, BaseMapper<R> mapper, LambdaQueryWrapper<R> lambdaQuery, Class<R> clazz) { return paging(reqVo, mapper, lambdaQuery, true);
}
/**
* mybatis-plus自带分页插件
*
* @param reqVo
* @param mapper
* @param <R>
* @param <Q>
* @return
*/
public static <R, Q extends PageReqVo> PageVo<R> paging(Q reqVo, BaseMapper<R> mapper, Wrapper<R> lambdaQuery, boolean searchCount) {
Page<R> page = new Page<>(reqVo.getPage(), reqVo.getSize());
page.setSearchCount(searchCount);
page = mapper.selectPage(page, lambdaQuery);
return PageVo.ofReqVo(reqVo, page.getRecords(), Long.valueOf(page.getTotal()).intValue());
}
/**
* mybatis-plus自带分页插件
*
* @param reqVo
* @param mapper
* @param <R>
* @param <Q>
* @return
*/
public static <R, Q extends PageReqVo> PageVo<R> paging(Q reqVo, BaseMapper<R> mapper, Class<R> clazz, LambdaQueryWrapper<R> lambdaQuery) {
return paging(reqVo, mapper, clazz, lambdaQuery, true);
}
/**
* mybatis-plus自带分页插件
*
* @param reqVo
* @param mapper
* @param <R>
* @param <Q>
* @return
*/
public static <R, Q extends PageReqVo> PageVo<R> paging(Q reqVo, BaseMapper<R> mapper, Class<R> clazz, LambdaQueryWrapper<R> lambdaQuery, boolean searchCount) {
R entity; R entity;
try { try {
entity = clazz.newInstance(); entity = clazz.newInstance();
...@@ -88,7 +160,8 @@ public abstract class PagingUtils { ...@@ -88,7 +160,8 @@ public abstract class PagingUtils {
lambdaQuery.setEntity(entity); lambdaQuery.setEntity(entity);
IPage<R> page = new Page<>(reqVo.getPage(), reqVo.getSize()); Page<R> page = new Page<>(reqVo.getPage(), reqVo.getSize());
page.setSearchCount(searchCount);
page = mapper.selectPage(page, lambdaQuery); page = mapper.selectPage(page, lambdaQuery);
return PageVo.ofReqVo(reqVo, page.getRecords(), Long.valueOf(page.getTotal()).intValue()); return PageVo.ofReqVo(reqVo, page.getRecords(), Long.valueOf(page.getTotal()).intValue());
} }
...@@ -105,13 +178,23 @@ public abstract class PagingUtils { ...@@ -105,13 +178,23 @@ public abstract class PagingUtils {
MergeSegments expression = lambdaQuery.getExpression(); MergeSegments expression = lambdaQuery.getExpression();
NormalSegmentList normal = expression.getNormal(); NormalSegmentList normal = expression.getNormal();
int index = 0; for (int i = 0; i < normal.size(); i++) {
for (ISqlSegment iSqlSegment : normal) { if (i + 1 >= normal.size()) {
if (index % 4 == 0) { break;
String field = StrUtil.toCamelCase(iSqlSegment.getSqlSegment()); }
ISqlSegment nextSegment = normal.get(i + 1);
if (nextSegment instanceof SqlKeyword) {
ISqlSegment sqlSegment = normal.get(i);
String segment = sqlSegment.getSqlSegment();
if (segment.startsWith("#{")) {
continue;
}
String field = StrUtil.toCamelCase(segment.toLowerCase());
fields.add(field); fields.add(field);
} }
index++;
} }
return fields.toArray(new String[]{}); return fields.toArray(new String[]{});
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment