src/main/java/com/lf/server/controller/data/MetaController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/lf/server/service/data/DownloadService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/lf/server/controller/data/MetaController.java
@@ -8,6 +8,8 @@ import com.lf.server.entity.data.DownloadEntity; import com.lf.server.entity.data.MetaEntity; import com.lf.server.entity.sys.UserEntity; import com.lf.server.helper.Md5Helper; import com.lf.server.helper.RsaHelper; import com.lf.server.helper.StringHelper; import com.lf.server.helper.WebHelper; import com.lf.server.service.data.DownloadService; @@ -238,6 +240,10 @@ if (null == reqEntity.getIds() || reqEntity.getIds().isEmpty()) { return fail("请选择要下载的文件"); } if (!downloadService.validatePwd(reqEntity)) { return fail("密码不符合要求"); } return success(true); } catch (Exception ex) { @@ -262,13 +268,16 @@ return; } UserEntity ue = tokenService.getCurrentUser(req); DownloadEntity de = downloadService.selectByGuid(reqEntity.getGuid()); if (null == de) { WebHelper.writeInfo(HttpStatus.NOT_FOUND, "文件不存在", res); return; } if (!StringHelper.isNull(de.getPwd()) && !Md5Helper.validatePassword(reqEntity.getPwd(), de.getPwd())) { WebHelper.writeInfo(HttpStatus.UNAUTHORIZED, "密码不正确", res); } UserEntity ue = tokenService.getCurrentUser(req); de.setDcount(de.getDcount() + 1); de.setDownloadUser(ue.getId()); int rows = downloadService.update(de); src/main/java/com/lf/server/service/data/DownloadService.java
@@ -1,9 +1,13 @@ package com.lf.server.service.data; import com.lf.server.entity.ctrl.DownloadReqEntity; import com.lf.server.entity.data.DownloadEntity; import com.lf.server.helper.PathHelper; import com.lf.server.helper.RsaHelper; import com.lf.server.helper.StringHelper; import com.lf.server.mapper.data.DownloadMapper; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -21,6 +25,8 @@ @Autowired DownloadMapper downloadMapper; private final static Log log = LogFactory.getLog(DownloadService.class); @Override public Integer selectCount(String name) { @@ -104,4 +110,26 @@ public String getDownloadFilePath(DownloadEntity de) { return pathHelper.getConfig().getDownloadPath() + File.separator + de.getUrl(); } /** * 校验密码有效性 * * @param reqEntity 请求下载实体类 * @return 是/否有效 */ public boolean validatePwd(DownloadReqEntity reqEntity) { try { String pwd = RsaHelper.decrypt(reqEntity.getPwd()); if (StringHelper.isEmpty(pwd) || !StringHelper.checkPwdValid(pwd)) { return false; } reqEntity.setPwd(pwd); return true; } catch (Exception ex) { log.error(ex.getMessage(), ex); return false; } } }