Commit bf7c1eeb authored by dqjdda's avatar dqjdda
Browse files

代码优化完成,去除大量idea警告,代码生成器优化等

parent e3c3ebb1
...@@ -11,7 +11,9 @@ import me.zhengjie.repository.PictureRepository; ...@@ -11,7 +11,9 @@ import me.zhengjie.repository.PictureRepository;
import me.zhengjie.service.PictureService; import me.zhengjie.service.PictureService;
import me.zhengjie.service.dto.PictureQueryCriteria; import me.zhengjie.service.dto.PictureQueryCriteria;
import me.zhengjie.utils.*; import me.zhengjie.utils.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheConfig;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
...@@ -19,7 +21,6 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -19,7 +21,6 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.io.File; import java.io.File;
import java.util.HashMap; import java.util.HashMap;
import java.util.Optional;
/** /**
* @author Zheng Jie * @author Zheng Jie
...@@ -27,6 +28,7 @@ import java.util.Optional; ...@@ -27,6 +28,7 @@ import java.util.Optional;
*/ */
@Slf4j @Slf4j
@Service(value = "pictureService") @Service(value = "pictureService")
@CacheConfig(cacheNames = "picture")
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class) @Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
public class PictureServiceImpl implements PictureService { public class PictureServiceImpl implements PictureService {
...@@ -43,28 +45,32 @@ public class PictureServiceImpl implements PictureService { ...@@ -43,28 +45,32 @@ public class PictureServiceImpl implements PictureService {
} }
@Override @Override
@Cacheable
public Object queryAll(PictureQueryCriteria criteria, Pageable pageable){ public Object queryAll(PictureQueryCriteria criteria, Pageable pageable){
return PageUtil.toPage(pictureRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable)); return PageUtil.toPage(pictureRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable));
} }
@Override @Override
@CacheEvict(allEntries = true)
@Transactional(rollbackFor = Throwable.class) @Transactional(rollbackFor = Throwable.class)
public Picture upload(MultipartFile multipartFile, String username) { public Picture upload(MultipartFile multipartFile, String username) {
File file = FileUtil.toFile(multipartFile); File file = FileUtil.toFile(multipartFile);
// 验证是否重复上传
Picture picture = pictureRepository.findByMd5Code(FileUtil.getMD5(file));
if(picture != null){
return picture;
}
HashMap<String, Object> paramMap = new HashMap<>(1); HashMap<String, Object> paramMap = new HashMap<>(1);
paramMap.put("smfile", file); paramMap.put("smfile", file);
String result= HttpUtil.post(ElAdminConstant.Url.SM_MS_URL, paramMap); String result= HttpUtil.post(ElAdminConstant.Url.SM_MS_URL, paramMap);
JSONObject jsonObject = JSONUtil.parseObj(result); JSONObject jsonObject = JSONUtil.parseObj(result);
Picture picture = null;
if(!jsonObject.get(CODE).toString().equals(SUCCESS)){ if(!jsonObject.get(CODE).toString().equals(SUCCESS)){
throw new BadRequestException(TranslatorUtil.translate(jsonObject.get(MSG).toString())); throw new BadRequestException(TranslatorUtil.translate(jsonObject.get(MSG).toString()));
} }
//转成实体类
picture = JSON.parseObject(jsonObject.get("data").toString(), Picture.class); picture = JSON.parseObject(jsonObject.get("data").toString(), Picture.class);
picture.setSize(FileUtil.getSize(Integer.parseInt(picture.getSize()))); picture.setSize(FileUtil.getSize(Integer.parseInt(picture.getSize())));
picture.setUsername(username); picture.setUsername(username);
picture.setMd5Code(FileUtil.getMD5(file));
picture.setFilename(FileUtil.getFileNameNoEx(multipartFile.getOriginalFilename())+"."+FileUtil.getExtensionName(multipartFile.getOriginalFilename())); picture.setFilename(FileUtil.getFileNameNoEx(multipartFile.getOriginalFilename())+"."+FileUtil.getExtensionName(multipartFile.getOriginalFilename()));
pictureRepository.save(picture); pictureRepository.save(picture);
//删除临时文件 //删除临时文件
...@@ -74,17 +80,19 @@ public class PictureServiceImpl implements PictureService { ...@@ -74,17 +80,19 @@ public class PictureServiceImpl implements PictureService {
} }
@Override @Override
@Cacheable(key = "#p0")
public Picture findById(Long id) { public Picture findById(Long id) {
Optional<Picture> picture = pictureRepository.findById(id); Picture picture = pictureRepository.findById(id).orElseGet(Picture::new);
ValidationUtil.isNull(picture,"Picture","id",id); ValidationUtil.isNull(picture.getId(),"Picture","id",id);
return picture.get(); return picture;
} }
@Override @Override
@CacheEvict(allEntries = true)
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void delete(Picture picture) { public void delete(Picture picture) {
try { try {
String result= HttpUtil.get(picture.getDelete()); HttpUtil.get(picture.getDelete());
pictureRepository.delete(picture); pictureRepository.delete(picture);
} catch(Exception e){ } catch(Exception e){
pictureRepository.delete(picture); pictureRepository.delete(picture);
...@@ -93,6 +101,7 @@ public class PictureServiceImpl implements PictureService { ...@@ -93,6 +101,7 @@ public class PictureServiceImpl implements PictureService {
} }
@Override @Override
@CacheEvict(allEntries = true)
public void deleteAll(Long[] ids) { public void deleteAll(Long[] ids) {
for (Long id : ids) { for (Long id : ids) {
delete(findById(id)); delete(findById(id));
......
...@@ -21,15 +21,16 @@ import me.zhengjie.utils.PageUtil; ...@@ -21,15 +21,16 @@ import me.zhengjie.utils.PageUtil;
import me.zhengjie.utils.QiNiuUtil; import me.zhengjie.utils.QiNiuUtil;
import me.zhengjie.utils.QueryHelp; import me.zhengjie.utils.QueryHelp;
import me.zhengjie.utils.ValidationUtil; import me.zhengjie.utils.ValidationUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.CachePut;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.util.Map;
import java.util.Optional; import java.util.Optional;
/** /**
...@@ -37,6 +38,7 @@ import java.util.Optional; ...@@ -37,6 +38,7 @@ import java.util.Optional;
* @date 2018-12-31 * @date 2018-12-31
*/ */
@Service @Service
@CacheConfig(cacheNames = "qiNiu")
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class) @Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
public class QiNiuServiceImpl implements QiNiuService { public class QiNiuServiceImpl implements QiNiuService {
...@@ -53,17 +55,20 @@ public class QiNiuServiceImpl implements QiNiuService { ...@@ -53,17 +55,20 @@ public class QiNiuServiceImpl implements QiNiuService {
private Long maxSize; private Long maxSize;
@Override @Override
@Cacheable
public Object queryAll(QiniuQueryCriteria criteria, Pageable pageable){ public Object queryAll(QiniuQueryCriteria criteria, Pageable pageable){
return PageUtil.toPage(qiniuContentRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable)); return PageUtil.toPage(qiniuContentRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable));
} }
@Override @Override
@Cacheable(key = "'1'")
public QiniuConfig find() { public QiniuConfig find() {
Optional<QiniuConfig> qiniuConfig = qiNiuConfigRepository.findById(1L); Optional<QiniuConfig> qiniuConfig = qiNiuConfigRepository.findById(1L);
return qiniuConfig.orElseGet(QiniuConfig::new); return qiniuConfig.orElseGet(QiniuConfig::new);
} }
@Override @Override
@CachePut(cacheNames = "qiNiuConfig", key = "'1'")
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public QiniuConfig update(QiniuConfig qiniuConfig) { public QiniuConfig update(QiniuConfig qiniuConfig) {
if (!(qiniuConfig.getHost().toLowerCase().startsWith("http://")||qiniuConfig.getHost().toLowerCase().startsWith("https://"))) { if (!(qiniuConfig.getHost().toLowerCase().startsWith("http://")||qiniuConfig.getHost().toLowerCase().startsWith("https://"))) {
...@@ -74,6 +79,7 @@ public class QiNiuServiceImpl implements QiNiuService { ...@@ -74,6 +79,7 @@ public class QiNiuServiceImpl implements QiNiuService {
} }
@Override @Override
@CacheEvict(allEntries = true)
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public QiniuContent upload(MultipartFile file, QiniuConfig qiniuConfig) { public QiniuContent upload(MultipartFile file, QiniuConfig qiniuConfig) {
FileUtil.checkSize(maxSize, file.getSize()); FileUtil.checkSize(maxSize, file.getSize());
...@@ -109,15 +115,17 @@ public class QiNiuServiceImpl implements QiNiuService { ...@@ -109,15 +115,17 @@ public class QiNiuServiceImpl implements QiNiuService {
} }
@Override @Override
@Cacheable
public QiniuContent findByContentId(Long id) { public QiniuContent findByContentId(Long id) {
Optional<QiniuContent> qiniuContent = qiniuContentRepository.findById(id); QiniuContent qiniuContent = qiniuContentRepository.findById(id).orElseGet(QiniuContent::new);
ValidationUtil.isNull(qiniuContent,"QiniuContent", "id",id); ValidationUtil.isNull(qiniuContent.getId(),"QiniuContent", "id",id);
return qiniuContent.get(); return qiniuContent;
} }
@Override @Override
@Cacheable
public String download(QiniuContent content,QiniuConfig config){ public String download(QiniuContent content,QiniuConfig config){
String finalUrl = null; String finalUrl;
String TYPE = "公开"; String TYPE = "公开";
if(TYPE.equals(content.getType())){ if(TYPE.equals(content.getType())){
finalUrl = content.getUrl(); finalUrl = content.getUrl();
...@@ -131,6 +139,7 @@ public class QiNiuServiceImpl implements QiNiuService { ...@@ -131,6 +139,7 @@ public class QiNiuServiceImpl implements QiNiuService {
} }
@Override @Override
@CacheEvict(allEntries = true)
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void delete(QiniuContent content, QiniuConfig config) { public void delete(QiniuContent content, QiniuConfig config) {
//构造一个带指定Zone对象的配置类 //构造一个带指定Zone对象的配置类
...@@ -146,6 +155,7 @@ public class QiNiuServiceImpl implements QiNiuService { ...@@ -146,6 +155,7 @@ public class QiNiuServiceImpl implements QiNiuService {
} }
@Override @Override
@CacheEvict(allEntries = true)
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void synchronize(QiniuConfig config) { public void synchronize(QiniuConfig config) {
if(config.getId() == null){ if(config.getId() == null){
...@@ -165,7 +175,7 @@ public class QiNiuServiceImpl implements QiNiuService { ...@@ -165,7 +175,7 @@ public class QiNiuServiceImpl implements QiNiuService {
BucketManager.FileListIterator fileListIterator = bucketManager.createFileListIterator(config.getBucket(), prefix, limit, delimiter); BucketManager.FileListIterator fileListIterator = bucketManager.createFileListIterator(config.getBucket(), prefix, limit, delimiter);
while (fileListIterator.hasNext()) { while (fileListIterator.hasNext()) {
//处理获取的file list结果 //处理获取的file list结果
QiniuContent qiniuContent = null; QiniuContent qiniuContent;
FileInfo[] items = fileListIterator.next(); FileInfo[] items = fileListIterator.next();
for (FileInfo item : items) { for (FileInfo item : items) {
if(qiniuContentRepository.findByKey(FileUtil.getFileNameNoEx(item.key)) == null){ if(qiniuContentRepository.findByKey(FileUtil.getFileNameNoEx(item.key)) == null){
...@@ -183,6 +193,7 @@ public class QiNiuServiceImpl implements QiNiuService { ...@@ -183,6 +193,7 @@ public class QiNiuServiceImpl implements QiNiuService {
} }
@Override @Override
@CacheEvict(allEntries = true)
public void deleteAll(Long[] ids, QiniuConfig config) { public void deleteAll(Long[] ids, QiniuConfig config) {
for (Long id : ids) { for (Long id : ids) {
delete(findByContentId(id), config); delete(findByContentId(id), config);
...@@ -190,6 +201,7 @@ public class QiNiuServiceImpl implements QiNiuService { ...@@ -190,6 +201,7 @@ public class QiNiuServiceImpl implements QiNiuService {
} }
@Override @Override
@CacheEvict(allEntries = true)
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void update(String type) { public void update(String type) {
qiNiuConfigRepository.update(type); qiNiuConfigRepository.update(type);
......
...@@ -11,12 +11,10 @@ import me.zhengjie.domain.vo.EmailVo; ...@@ -11,12 +11,10 @@ import me.zhengjie.domain.vo.EmailVo;
import me.zhengjie.exception.BadRequestException; import me.zhengjie.exception.BadRequestException;
import me.zhengjie.repository.VerificationCodeRepository; import me.zhengjie.repository.VerificationCodeRepository;
import me.zhengjie.service.VerificationCodeService; import me.zhengjie.service.VerificationCodeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.concurrent.*; import java.util.concurrent.*;
...@@ -28,17 +26,20 @@ import java.util.concurrent.*; ...@@ -28,17 +26,20 @@ import java.util.concurrent.*;
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class) @Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
public class VerificationCodeServiceImpl implements VerificationCodeService { public class VerificationCodeServiceImpl implements VerificationCodeService {
@Autowired private final VerificationCodeRepository verificationCodeRepository;
private VerificationCodeRepository verificationCodeRepository;
@Value("${code.expiration}") @Value("${code.expiration}")
private Integer expiration; private Integer expiration;
public VerificationCodeServiceImpl(VerificationCodeRepository verificationCodeRepository) {
this.verificationCodeRepository = verificationCodeRepository;
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public EmailVo sendEmail(VerificationCode code) { public EmailVo sendEmail(VerificationCode code) {
EmailVo emailVo = null; EmailVo emailVo;
String content = ""; String content;
VerificationCode verificationCode = verificationCodeRepository.findByScenesAndTypeAndValueAndStatusIsTrue(code.getScenes(),code.getType(),code.getValue()); VerificationCode verificationCode = verificationCodeRepository.findByScenesAndTypeAndValueAndStatusIsTrue(code.getScenes(),code.getType(),code.getValue());
// 如果不存在有效的验证码,就创建一个新的 // 如果不存在有效的验证码,就创建一个新的
TemplateEngine engine = TemplateUtil.createEngine(new TemplateConfig("template", TemplateConfig.ResourceMode.CLASSPATH)); TemplateEngine engine = TemplateUtil.createEngine(new TemplateConfig("template", TemplateConfig.ResourceMode.CLASSPATH));
......
...@@ -7,24 +7,12 @@ package me.zhengjie.utils; ...@@ -7,24 +7,12 @@ package me.zhengjie.utils;
*/ */
public enum AliPayStatusEnum { public enum AliPayStatusEnum {
/**
* 交易成功
*/
FINISHED("交易成功", "TRADE_FINISHED"), FINISHED("交易成功", "TRADE_FINISHED"),
/**
* 支付成功
*/
SUCCESS("支付成功", "TRADE_SUCCESS"), SUCCESS("支付成功", "TRADE_SUCCESS"),
/**
* 交易创建
*/
BUYER_PAY("交易创建", "WAIT_BUYER_PAY"), BUYER_PAY("交易创建", "WAIT_BUYER_PAY"),
/**
* 交易关闭
*/
CLOSED("交易关闭", "TRADE_CLOSED"); CLOSED("交易关闭", "TRADE_CLOSED");
private String value; private String value;
......
package me.zhengjie.utils; package me.zhengjie.utils;
import cn.hutool.core.util.StrUtil;
import com.alipay.api.AlipayApiException; import com.alipay.api.AlipayApiException;
import com.alipay.api.internal.util.AlipaySignature; import com.alipay.api.internal.util.AlipaySignature;
import me.zhengjie.domain.AlipayConfig; import me.zhengjie.domain.AlipayConfig;
...@@ -9,7 +8,6 @@ import javax.servlet.http.HttpServletRequest; ...@@ -9,7 +8,6 @@ import javax.servlet.http.HttpServletRequest;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator;
import java.util.Map; import java.util.Map;
/** /**
...@@ -22,6 +20,7 @@ public class AlipayUtils { ...@@ -22,6 +20,7 @@ public class AlipayUtils {
/** /**
* 生成订单号 * 生成订单号
* @return String
*/ */
public String getOrderCode() { public String getOrderCode() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
...@@ -39,6 +38,9 @@ public class AlipayUtils { ...@@ -39,6 +38,9 @@ public class AlipayUtils {
/** /**
* 校验签名 * 校验签名
* @param request HttpServletRequest
* @param alipay 阿里云配置
* @return boolean
*/ */
public boolean rsaCheck(HttpServletRequest request, AlipayConfig alipay){ public boolean rsaCheck(HttpServletRequest request, AlipayConfig alipay){
...@@ -65,8 +67,4 @@ public class AlipayUtils { ...@@ -65,8 +67,4 @@ public class AlipayUtils {
return false; return false;
} }
} }
public boolean isEmpty(String str){
return StrUtil.isEmpty(str);
}
} }
...@@ -21,6 +21,8 @@ public class QiNiuUtil { ...@@ -21,6 +21,8 @@ public class QiNiuUtil {
/** /**
* 得到机房的对应关系 * 得到机房的对应关系
* @param zone 机房名称
* @return Region
*/ */
public static Region getRegion(String zone){ public static Region getRegion(String zone){
...@@ -40,6 +42,8 @@ public class QiNiuUtil { ...@@ -40,6 +42,8 @@ public class QiNiuUtil {
/** /**
* 默认不指定key的情况下,以文件内容的hash值作为文件名 * 默认不指定key的情况下,以文件内容的hash值作为文件名
* @param file 文件名
* @return String
*/ */
public static String getKey(String file){ public static String getKey(String file){
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
......
Supports Markdown
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