Browse Source

20201030v1.2

tiaosheng
zy_Java 5 years ago
parent
commit
6b35880269
  1. 65
      mt/src/main/java/com/ccsens/mt/api/FileController.java
  2. 44
      mt/src/main/java/com/ccsens/mt/service/FileService.java
  3. 8
      mt/src/main/java/com/ccsens/mt/service/IFileService.java
  4. 37
      mt/src/main/java/com/ccsens/mt/service/ProvinceService.java
  5. 4
      mt/src/main/resources/application.yml
  6. 4
      util/src/test/java/com/ccsens/util/TestQrCord.java

65
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<FileVo.Upload> upload(HttpServletRequest request, @RequestParam() Part file) throws Exception {
public JsonResponse<FileVo.Upload> 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<Part> files = new ArrayList<>();
files.add(file);
List<CommonFile> fileVos = fileService.saveFile(dir, files, userId);
List<FileVo.Upload> 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<Part> 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<CommonFile> fileVos = fileService.saveFile(dir, files, userId);
//// List<FileVo.Upload> vos = FileVo.Upload.transFilePo(fileVos);
//// log.info("文件上传返回:{}", vos);
//
// if (CollectionUtil.isNotEmpty(vos)) {
// vo = vos.get(0);
// }
// }
return JsonResponse.newInstance().ok(vo);
}
}

44
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;
}
}

8
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;
}

37
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){

4
mt/src/main/resources/application.yml

@ -1,4 +1,4 @@
spring:
profiles:
active: dev
include: common, util-dev
active: test
include: common, util-test

4
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();

Loading…
Cancel
Save