From 6b35880269b3d4878623f2aa9f7fa895c20eb962 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Fri, 30 Oct 2020 17:38:08 +0800 Subject: [PATCH] 20201030v1.2 --- .../com/ccsens/mt/api/FileController.java | 65 ++++++++++++++----- .../com/ccsens/mt/service/FileService.java | 44 +++++++++++-- .../com/ccsens/mt/service/IFileService.java | 8 +++ .../ccsens/mt/service/ProvinceService.java | 37 ++++------- mt/src/main/resources/application.yml | 4 +- .../test/java/com/ccsens/util/TestQrCord.java | 4 +- 6 files changed, 113 insertions(+), 49 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/FileController.java b/mt/src/main/java/com/ccsens/mt/api/FileController.java index d1a8a56c..c0c7eaa6 100644 --- a/mt/src/main/java/com/ccsens/mt/api/FileController.java +++ b/mt/src/main/java/com/ccsens/mt/api/FileController.java @@ -1,6 +1,8 @@ package com.ccsens.mt.api; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.lang.Snowflake; +import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.ccsens.cloudutil.feign.TallFeignClient; @@ -20,6 +22,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.Part; +import java.io.File; import java.util.ArrayList; import java.util.List; @@ -38,6 +41,8 @@ public class FileController { private IFileService fileService; @Resource private TallFeignClient tallFeignClient; + @Resource + private Snowflake snowflake; @ApiOperation(value = "上传文件") @@ -88,12 +93,8 @@ public class FileController { @ApiImplicitParams({ }) @RequestMapping(value = "/upload/photo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse upload(HttpServletRequest request, @RequestParam() Part file) throws Exception { + public JsonResponse uploadPhone(HttpServletRequest request, @RequestParam() Part file) throws Exception { log.info("文件上传:{}", file); - //限制文件大小 2M - if(file.getSize() > 2097152){ - throw new BaseException(CodeEnum.PHOTO_FILE_EXCEED_2M); - } String authHeader = request.getHeader(WebConstant.HEADER_KEY_TOKEN); JsonResponse tokenRes = tallFeignClient.getUserIdByToken(authHeader); log.info("{}查询userId返回:{}", authHeader, tokenRes); @@ -102,16 +103,50 @@ public class FileController { } JSONObject json = JSON.parseObject(JSON.toJSONString(tokenRes.getData())); Long userId = json.getLong("id"); - String dir = PropUtil.path + Constant.File.UPLOAD_URL; - List files = new ArrayList<>(); - files.add(file); - List fileVos = fileService.saveFile(dir, files, userId); - List vos = FileVo.Upload.transFilePo(fileVos); - log.info("文件上传返回:{}", vos); - FileVo.Upload vo = new FileVo.Upload(); - if(CollectionUtil.isNotEmpty(vos)){ - vo = vos.get(0); - } + FileVo.Upload vo = fileService.uploadPhone(file,userId); +// if(ObjectUtil.isNotNull(file)) { +// //限制文件大小 2M +// if (file.getSize() > 2097152) { +// throw new BaseException(CodeEnum.PHOTO_FILE_EXCEED_2M); +// } +// String authHeader = request.getHeader(WebConstant.HEADER_KEY_TOKEN); +// JsonResponse tokenRes = tallFeignClient.getUserIdByToken(authHeader); +// log.info("{}查询userId返回:{}", authHeader, tokenRes); +// if (tokenRes.getCode().intValue() != CodeEnum.SUCCESS.getCode().intValue()) { +// return tokenRes; +// } +// JSONObject json = JSON.parseObject(JSON.toJSONString(tokenRes.getData())); +// Long userId = json.getLong("id"); +// String dir = PropUtil.path + Constant.File.UPLOAD_URL; +//// List files = new ArrayList<>(); +//// files.add(file); +// String allowedExt = WebConstant.IMG_TYPE + "," + WebConstant.Wps.FILE_TYPE_ALL; +// +// log.info("文件名:{}", file.getSubmittedFileName()); +// String path = UploadFileUtil_Servlet3.uploadFile(file, allowedExt, dir); +// CommonFile fileDo = new CommonFile(); +// String name = file.getSubmittedFileName(); +// fileDo.setId(snowflake.nextId()); +// fileDo.setFileName(name); +// fileDo.setLocation(dir + java.io.File.separator + path); +// fileDo.setUserId(userId); +// if (WebConstant.IMG_TYPE.contains(name.substring(name.lastIndexOf(".") + 1))) { +// fileDo.setVisitLocation(PropUtil.imgDomain + Constant.File.UPLOAD_URL + File.separator + path); +// } else { +// fileDo.setVisitLocation(PropUtil.domain + "file/download/"+fileDo.getId()); +// } +// commonFileMapper.insertSelective(fileDo); +// log.info("保存文件:{}", fileDo); +// fileList.add(fileDo); +// +//// List fileVos = fileService.saveFile(dir, files, userId); +//// List vos = FileVo.Upload.transFilePo(fileVos); +//// log.info("文件上传返回:{}", vos); +// +// if (CollectionUtil.isNotEmpty(vos)) { +// vo = vos.get(0); +// } +// } return JsonResponse.newInstance().ok(vo); } } diff --git a/mt/src/main/java/com/ccsens/mt/service/FileService.java b/mt/src/main/java/com/ccsens/mt/service/FileService.java index b322a75b..f798ea08 100644 --- a/mt/src/main/java/com/ccsens/mt/service/FileService.java +++ b/mt/src/main/java/com/ccsens/mt/service/FileService.java @@ -1,13 +1,16 @@ package com.ccsens.mt.service; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Snowflake; +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.ccsens.mt.bean.po.CommonFile; +import com.ccsens.mt.bean.vo.FileVo; import com.ccsens.mt.persist.mapper.CommonFileMapper; import com.ccsens.mt.util.Constant; -import com.ccsens.util.NotSupportedFileTypeException; -import com.ccsens.util.PropUtil; -import com.ccsens.util.UploadFileUtil_Servlet3; -import com.ccsens.util.WebConstant; +import com.ccsens.util.*; +import com.ccsens.util.exception.BaseException; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; @@ -67,4 +70,37 @@ public class FileService implements IFileService { public CommonFile getById(Long id) { return commonFileMapper.selectByPrimaryKey(id); } + + @Override + public FileVo.Upload uploadPhone(Part file,Long userId) throws IOException, NotSupportedFileTypeException { + FileVo.Upload vo = new FileVo.Upload(); + if(ObjectUtil.isNotNull(file)) { + //限制文件大小 2M + if (file.getSize() > 2097152) { + throw new BaseException(CodeEnum.PHOTO_FILE_EXCEED_2M); + } + + String dir = PropUtil.path + Constant.File.UPLOAD_URL; + String allowedExt = WebConstant.IMG_TYPE; + + log.info("文件名:{}", file.getSubmittedFileName()); + String path = UploadFileUtil_Servlet3.uploadFile(file, allowedExt, dir); + + CommonFile fileDo = new CommonFile(); + String name = file.getSubmittedFileName(); + fileDo.setId(snowflake.nextId()); + fileDo.setFileName(name); + fileDo.setLocation(dir + java.io.File.separator + path); + fileDo.setUserId(userId); + + fileDo.setVisitLocation(PropUtil.imgDomain + Constant.File.UPLOAD_URL + File.separator + path); + + commonFileMapper.insertSelective(fileDo); + log.info("保存文件:{}", fileDo); + vo.setId(fileDo.getId()); + vo.setName(fileDo.getFileName()); + vo.setVisitUrl(fileDo.getVisitLocation()); + } + return vo; + } } diff --git a/mt/src/main/java/com/ccsens/mt/service/IFileService.java b/mt/src/main/java/com/ccsens/mt/service/IFileService.java index c2a33153..2ec2b66a 100644 --- a/mt/src/main/java/com/ccsens/mt/service/IFileService.java +++ b/mt/src/main/java/com/ccsens/mt/service/IFileService.java @@ -1,6 +1,7 @@ package com.ccsens.mt.service; import com.ccsens.mt.bean.po.CommonFile; +import com.ccsens.mt.bean.vo.FileVo; import com.ccsens.util.NotSupportedFileTypeException; import javax.servlet.http.Part; @@ -29,4 +30,11 @@ public interface IFileService { * @return 文件 */ CommonFile getById(Long id); + + /** + * 上传图片文件,不能超过2M + * @param file + * @return + */ + FileVo.Upload uploadPhone(Part file,Long userId) throws IOException, NotSupportedFileTypeException; } diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index 59e4c904..7c5adb89 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -124,6 +124,7 @@ public class ProvinceService implements IProvinceService { player.setId(snowflake.nextId()); player.setName(param.getPlayerName()); player.setGender((byte) param.getGender()); + //身份证不能为空,且正确 if(StrUtil.isEmpty(param.getIdCard()) || !IdcardUtil.isValidCard(param.getIdCard())){throw new BaseException(CodeEnum.ID_CARD_ERROR);} //是否已注册 @@ -132,6 +133,14 @@ public class ProvinceService implements IProvinceService { if(competePlayerDao.countByExample(competePlayerExample) != 0){ throw new BaseException(CodeEnum.WBS_REPEAT_MEMBER_PHONE); } + //判断各种证件是否为空 + if(ObjectUtil.isNull(param.getCompeteId())){ throw new BaseException(CodeEnum.PARAM_ERROR); } + if(ObjectUtil.isNull(param.getGroupId())){ throw new BaseException(CodeEnum.PARAM_ERROR); } + if(ObjectUtil.isNull(param.getIdCardFront())){ throw new BaseException(CodeEnum.PARAM_ERROR); } + if(ObjectUtil.isNull(param.getIdPhone())){ throw new BaseException(CodeEnum.PARAM_ERROR); } + if(ObjectUtil.isNull(param.getStudentRecord())){ throw new BaseException(CodeEnum.PARAM_ERROR); } + if(ObjectUtil.isNull(param.getHealthRecord())){ throw new BaseException(CodeEnum.PARAM_ERROR); } + if(ObjectUtil.isNull(param.getInsuranceRecord())){ throw new BaseException(CodeEnum.PARAM_ERROR); } player.setIdCard(param.getIdCard()); player.setCompanyId(param.getCompeteId()); player.setCompeteGroupId(param.getGroupId()); @@ -358,11 +367,7 @@ public class ProvinceService implements IProvinceService { @Override public void deleteCoach(CompeteDto.LeaderId param) { -//<<<<<<< HEAD -// Long coachId = param.getCoachId(); -// CompeteCoach competeCoach = competeCoachMapper.selectByPrimaryKey(coachId); -// competeCoachMapper.deleteByPrimaryKey(competeCoach.getId()); -//======= + Long id = param.getCoachId(); CompeteCoach competeCoach = competeCoachMapper.selectByPrimaryKey(id); if (ObjectUtil.isNotNull(competeCoach)){ @@ -414,26 +419,6 @@ public class ProvinceService implements IProvinceService { @Override public ProvinceCompeteVo.PlayerInfo getPlayerInfo(CompeteDto.DelPlayer param) { -// -// Long playerId = param.getPlayerId(); -// CompetePlayer competePlayer = competePlayerMapper.selectByPrimaryKey(playerId); -// if (ObjectUtil.isNull(competePlayer)){ -// throw new BaseException(CodeEnum.PARAM_ERROR); -// } -// ProvinceCompeteVo.PlayerInfo playerInfo = new ProvinceCompeteVo.PlayerInfo(); -// playerInfo.setPlayerId(competePlayer.getId()); -// playerInfo.setCompeteId(competePlayer.getCompeteTimeId()); -// playerInfo.setGroupId(competePlayer.getCompeteGroupId()); -// playerInfo.setPlayerName(competePlayer.getName()); -// playerInfo.setGender(competePlayer.getGender()); -// playerInfo.setIdCard(competePlayer.getIdCard()); -// playerInfo.setIdCardFront(competePlayer.getIdCardFront()); -// playerInfo.setIdCardBack(competePlayer.getIdCardBack()); -// playerInfo.setIdPhone(competePlayer.getIdPhotoFile()); -// playerInfo.setStudentRecord(competePlayer.getStudentRecordFile()); -// playerInfo.setHealthRecord(competePlayer.getHealthRecordFile()); -// playerInfo.setInsuranceRecord(competePlayer.getInsuranceRecordFile()); -// return playerInfo; return competePlayerDao.getPlayerByPlayerId(param.getPlayerId()); } @@ -471,7 +456,7 @@ public class ProvinceService implements IProvinceService { if(ObjectUtil.isNull(competeProject)){ throw new BaseException(CodeEnum.PARAM_ERROR); } //检查参赛人数是否符合 - if(CollectionUtil.isEmpty(param.getPlayers())){ throw new BaseException(CodeEnum.PARAM_ERROR); } +// if(CollectionUtil.isEmpty(param.getPlayers())){ throw new BaseException(CodeEnum.PARAM_ERROR); } int joinCount = 0; for(ProvinceCompeteDto.JoinProjectPlayer joinProject : param.getPlayers()){ if(joinProject.getJoinProject() == 1){ diff --git a/mt/src/main/resources/application.yml b/mt/src/main/resources/application.yml index 5c2cd5c4..5889ff7f 100644 --- a/mt/src/main/resources/application.yml +++ b/mt/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: dev - include: common, util-dev \ No newline at end of file + active: test + include: common, util-test \ No newline at end of file diff --git a/util/src/test/java/com/ccsens/util/TestQrCord.java b/util/src/test/java/com/ccsens/util/TestQrCord.java index 6479f93b..dc5425c5 100644 --- a/util/src/test/java/com/ccsens/util/TestQrCord.java +++ b/util/src/test/java/com/ccsens/util/TestQrCord.java @@ -33,8 +33,8 @@ public class TestQrCord { // String fileName = "zzz/" + "远程比赛-省赛(生产).png"; // String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=https://www.tall.wiki/compete-people&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; // String fileName = "zzz/" + "远程比赛-全民健身跳绳大赛(生产).png"; - String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=https://test.tall.wiki/compete-people&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; - String fileName = "zzz/" + "远程比赛-全民健身跳绳大赛(测试)1.png"; + String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=https://test.tall.wiki/compete&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; + String fileName = "zzz/" + "远程比赛省赛(测试)1.png"; QRCodeWriter qrCodeWriter = new QRCodeWriter();