fix - OSS服务器文件分类更精细

This commit is contained in:
2026-05-19 13:40:33 +08:00
parent f393375dac
commit 44f867a606
15 changed files with 194 additions and 188 deletions

View File

@@ -114,12 +114,12 @@ public class MemberController extends BaseApiController {
* @param file * @param file
* @return * @return
*/ */
@RequestMapping(value = "/member/face/info", method = RequestMethod.POST) // @RequestMapping(value = "/member/face/info", method = RequestMethod.POST)
@AccessToken // @AccessToken
public ResponseDTO setMemberFaceInfo(@RequestParam("image") MultipartFile file) { // public ResponseDTO setMemberFaceInfo(@RequestParam("image") MultipartFile file) {
memberService.setMemberFaceInfo(getLoginMemberId(), file, PlatformContext.getValue()); // memberService.setMemberFaceInfo(getLoginMemberId(), file, PlatformContext.getValue());
return ResponseDTO.ok(); // return ResponseDTO.ok();
} // }
/** /**
* 提现申请 * 提现申请

View File

@@ -195,17 +195,17 @@ public class LoginRegisterServiceImpl extends BaseServiceImpl {
} }
//将微信头像上传到OSS //将微信头像上传到OSS
public String updateWxImgToOss(String avatar) throws IOException { // public String updateWxImgToOss(String avatar) throws IOException {
CloseableHttpClient client = HttpClientBuilder.create().build(); // CloseableHttpClient client = HttpClientBuilder.create().build();
HttpGet httpget = new HttpGet(avatar); // HttpGet httpget = new HttpGet(avatar);
RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(1000).setConnectTimeout(1200).build(); // RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(1000).setConnectTimeout(1200).build();
httpget.setConfig(requestConfig); // httpget.setConfig(requestConfig);
HttpResponse response = null; // HttpResponse response = null;
response = client.execute(httpget); // response = client.execute(httpget);
HttpEntity resEntity = response.getEntity(); // HttpEntity resEntity = response.getEntity();
InputStream inputStream = resEntity.getContent(); // InputStream inputStream = resEntity.getContent();
return ossClientUtil.upload(System.currentTimeMillis() + ".png", inputStream); // return ossClientUtil.upload(System.currentTimeMillis() + ".png", inputStream);
} // }
/** /**
* *

View File

@@ -23,5 +23,7 @@ sv:
file: file:
store: store:
image: imagetest/ image: imagetest/
video: videotest/ coach: coachtest/
config: configtest/
barcode: barcodetest/
health: health-docstest/ health: health-docstest/

View File

@@ -16,5 +16,7 @@ sv:
file: file:
store: store:
image: image/ image: image/
video: video/ coach: coach/
config: config/
barcode: barcode/
health: health-docs/ health: health-docs/

View File

@@ -1,13 +0,0 @@
spring:
datasource:
url: jdbc:mysql://yingdiandian.mysql.rds.aliyuncs.com:3306/smart_venue?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&serverTimezone=GMT%2b8
username: yingdd
password: Yingdd2015
redis:
host: 121.41.101.63
password: yingdiandian2015
timeout: 6000
port: 6379
jpa:
show-sql: true

View File

@@ -114,15 +114,15 @@ public class MemberController extends OmsController {
* @param file * @param file
* @return * @return
*/ */
@RequestMapping(value = "/member/upload/face", method = RequestMethod.POST) // @RequestMapping(value = "/member/upload/face", method = RequestMethod.POST)
public ResponseDTO uploadFace(@RequestParam("memberId") Integer memberId, @RequestParam("file") MultipartFile file) { // public ResponseDTO uploadFace(@RequestParam("memberId") Integer memberId, @RequestParam("file") MultipartFile file) {
try { // try {
memberService.setMemberFaceInfo(memberId, file, 1); // memberService.setMemberFaceInfo(memberId, file, 1);
} catch (ServiceException e) { // } catch (ServiceException e) {
return new ResponseDTO(-1, e.getMessage()); // return new ResponseDTO(-1, e.getMessage());
} // }
//
return ResponseDTO.ok(); // return ResponseDTO.ok();
} // }
} }

View File

@@ -24,7 +24,7 @@ public class UploadController extends OmsController {
@RequestMapping("/image") @RequestMapping("/image")
public ResponseDTO uploadImg(@RequestParam("file") MultipartFile file) throws IOException { public ResponseDTO uploadImg(@RequestParam("file") MultipartFile file) throws IOException {
String imgUrl = ossClientUtil.uploadImg(file); String imgUrl = ossClientUtil.uploadConfigImg(file);
return ResponseDTO.ok().addAttribute("img",imgUrl); return ResponseDTO.ok().addAttribute("img",imgUrl);
} }
@@ -32,23 +32,23 @@ public class UploadController extends OmsController {
* 上传图片到阿里云 * 上传图片到阿里云
* @return * @return
*/ */
@RequestMapping(value = "/uploadImg") // @RequestMapping(value = "/uploadImg")
public ResponseDTO uploadImage(MultipartFile file) throws IOException { // public ResponseDTO uploadImage(MultipartFile file) throws IOException {
String imgUrl = ossClientUtil.uploadImg(file); // String imgUrl = ossClientUtil.uploadImg(file);
return ResponseDTO.ok(imgUrl); // return ResponseDTO.ok(imgUrl);
//
//
} // }
/** /**
* 上传视频到阿里云 * 上传视频到阿里云
* @return * @return
*/ */
@RequestMapping(value = "/uploadVideo") // @RequestMapping(value = "/uploadVideo")
public ResponseDTO uploadVideo(@RequestParam("video") MultipartFile multipartFile){ // public ResponseDTO uploadVideo(@RequestParam("video") MultipartFile multipartFile){
String videoUrl = ossClientUtil.uploadVideo(multipartFile); // String videoUrl = ossClientUtil.uploadVideo(multipartFile);
return ResponseDTO.ok(videoUrl); // return ResponseDTO.ok(videoUrl);
} // }
/** /**
* 上传健康报告到阿里云 * 上传健康报告到阿里云

View File

@@ -19,5 +19,7 @@ sv:
file: file:
store: store:
image: imagetest/ image: imagetest/
video: videotest/ coach: coachtest/
config: configtest/
barcode: barcodetest/
health: health-docstest/ health: health-docstest/

View File

@@ -16,5 +16,7 @@ sv:
file: file:
store: store:
image: image/ image: image/
video: video/ coach: coach/
config: config/
barcode: barcode/
health: health-docs/ health: health-docs/

View File

@@ -1,23 +0,0 @@
spring:
datasource:
# url: jdbc:mysql://yingdiandian.mysql.rds.aliyuncs.com:3306/smart_venue?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&serverTimezone=GMT%2b8
# username: yingdd
# password: Yingdd2015
url: jdbc:mysql://127.0.0.1:3306/smart_venue?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&serverTimezone=GMT%2b8&useAffectedRows=true
username: root
password: 123456
redis:
host: 127.0.0.1
password:
timeout: 6000
port: 6379
jpa:
show-sql: true
sv:
file:
store:
image: imagetest/
video: videotest/
health: health-docstest/

View File

@@ -508,50 +508,50 @@ public class MemberService extends BaseServiceImpl {
@Transactional @Transactional
@Deprecated @Deprecated
public void setMemberFaceInfo(Integer memberId, MultipartFile file, Integer platformId) { public void setMemberFaceInfo(Integer memberId, MultipartFile file, Integer platformId) {
Date now = new Date(); // Date now = new Date();
MemberFaceInfo memberFaceInfo = memberMapper.findMemberFaceInfo(memberId); // MemberFaceInfo memberFaceInfo = memberMapper.findMemberFaceInfo(memberId);
if (memberFaceInfo != null) { // if (memberFaceInfo != null) {
//判断上次修改日期 如果小于30天不允许修改 // //判断上次修改日期 如果小于30天不允许修改
if ((now.getTime() - memberFaceInfo.getModifiedTime().getTime()) <= ((long) 30 * 24 * 60 * 60 * 1000)) { // if ((now.getTime() - memberFaceInfo.getModifiedTime().getTime()) <= ((long) 30 * 24 * 60 * 60 * 1000)) {
throw new ServiceException("人脸照片只允许30天设置一次"); // throw new ServiceException("人脸照片只允许30天设置一次");
} // }
} // }
synchronized (("face" + memberId).intern()) { // synchronized (("face" + memberId).intern()) {
InputStream inputStream = null; // InputStream inputStream = null;
try { // try {
inputStream = file.getInputStream(); // inputStream = file.getInputStream();
Member member = memberMapper.findById(memberId); // Member member = memberMapper.findById(memberId);
if (member != null) { // if (member != null) {
String imgUrl = ossClientUtil.uploadImg(new BufferedInputStream(inputStream), file.getOriginalFilename()); // String imgUrl = ossClientUtil.uploadImg(new BufferedInputStream(inputStream), file.getOriginalFilename());
logger.info(memberId + "上传oss文件成功." + imgUrl); // logger.info(memberId + "上传oss文件成功." + imgUrl);
Integer subjectId = null; // Integer subjectId = null;
// if (faceService.login()){ //// if (faceService.login()){
// ByteArrayInputStream byteArrayInputStream = getByteArrayInputStream(file); //// ByteArrayInputStream byteArrayInputStream = getByteArrayInputStream(file);
// Integer faceId = faceService.uploadFace(byteArrayInputStream); //// Integer faceId = faceService.uploadFace(byteArrayInputStream);
// logger.info(memberId + "& faceId ===" + faceId); //// logger.info(memberId + "& faceId ===" + faceId);
// subjectId = faceService.addSubject(faceId, member); //// subjectId = faceService.addSubject(faceId, member);
// logger.info(memberId + "& subjectId ===" + subjectId); //// logger.info(memberId + "& subjectId ===" + subjectId);
// } //// }
// if (memberFaceInfo != null) { //// if (memberFaceInfo != null) {
// //删除原有的subject //// //删除原有的subject
// faceService.deleteSubject(memberFaceInfo.getFaceId()); //// faceService.deleteSubject(memberFaceInfo.getFaceId());
// } //// }
setMemberFaceInfo(subjectId, imgUrl, memberId, platformId); // setMemberFaceInfo(subjectId, imgUrl, memberId, platformId);
} // }
} catch (FaceServiceException e) { // } catch (FaceServiceException e) {
e.printStackTrace(); // e.printStackTrace();
throw new ServiceException(e.getMessage()); // throw new ServiceException(e.getMessage());
} catch (Exception e) { // } catch (Exception e) {
logger.info("unknown error",e); // logger.info("unknown error",e);
throw new ServiceException("设置人脸失败,请稍后再试"); // throw new ServiceException("设置人脸失败,请稍后再试");
}finally { // }finally {
try { // try {
inputStream.close(); // inputStream.close();
} catch (IOException e) { // } catch (IOException e) {
// do nothing // // do nothing
} // }
} // }
} // }
} }
// 将文件中流转换为字节数组,通过缓存数据的方式转换防止内存溢出 // 将文件中流转换为字节数组,通过缓存数据的方式转换防止内存溢出

View File

@@ -52,8 +52,12 @@ public class OSSClientUtil {
//文件存储目录 //文件存储目录
@Value("${sv.file.store.image}") @Value("${sv.file.store.image}")
private String imageDir; private String imageDir;
@Value("${sv.file.store.video}") @Value("${sv.file.store.coach}")
private String videoDir; private String coachDir;
@Value("${sv.file.store.config}")
private String configDir;
@Value("${sv.file.store.barcode}")
private String barcodeDir;
@Value("${sv.file.store.health}") @Value("${sv.file.store.health}")
private String healthDir; private String healthDir;
@@ -62,12 +66,6 @@ public class OSSClientUtil {
private OSSClient ossClient; private OSSClient ossClient;
public String upload(String filename, InputStream file) {
return uploadImg(file, filename);
}
/** /**
* 上传图片 * 上传图片
* *
@@ -76,17 +74,22 @@ public class OSSClientUtil {
*/ */
public String uploadImg(MultipartFile file) throws IOException { public String uploadImg(MultipartFile file) throws IOException {
String originalFilename = file.getOriginalFilename(); String originalFilename = file.getOriginalFilename();
return uploadImg(file.getInputStream(), originalFilename); return uploadImg(file.getInputStream(), originalFilename, imageDir);
} }
public String uploadImg(InputStream inputStream, String originalFilename) { public String uploadConfigImg(MultipartFile file) throws IOException {
String originalFilename = file.getOriginalFilename();
return uploadImg(file.getInputStream(), originalFilename, configDir);
}
public String uploadImg(InputStream inputStream, String originalFilename,String path) {
String backUrl = ""; String backUrl = "";
try { try {
ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret); ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
String substring = originalFilename.substring(originalFilename.lastIndexOf(".")).toLowerCase(); String substring = originalFilename.substring(originalFilename.lastIndexOf(".")).toLowerCase();
Random random = new Random(); Random random = new Random();
String name = random.nextInt(10000) + System.currentTimeMillis() + substring; String name = random.nextInt(10000) + System.currentTimeMillis() + substring;
backUrl = imageDir + name; backUrl = path + name;
// 上传文件 // 上传文件
ossClient.putObject(bucketName, backUrl, inputStream); ossClient.putObject(bucketName, backUrl, inputStream);
ossClient.setObjectAcl(bucketName, backUrl, CannedAccessControlList.PublicRead); ossClient.setObjectAcl(bucketName, backUrl, CannedAccessControlList.PublicRead);
@@ -154,35 +157,35 @@ public class OSSClientUtil {
* @param file * @param file
* @return * @return
*/ */
public String uploadVideo(MultipartFile file) { // public String uploadVideo(MultipartFile file) {
String backUrl = ""; // String backUrl = "";
try { // try {
ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret); // ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
String originalFilename = file.getOriginalFilename(); // String originalFilename = file.getOriginalFilename();
String substring = originalFilename.substring(originalFilename.lastIndexOf(".")).toLowerCase(); // String substring = originalFilename.substring(originalFilename.lastIndexOf(".")).toLowerCase();
Random random = new Random(); // Random random = new Random();
String name = random.nextInt(10000) + System.currentTimeMillis() + substring; // String name = random.nextInt(10000) + System.currentTimeMillis() + substring;
backUrl = videoDir + name; // backUrl = videoDir + name;
// 上传文件 // // 上传文件
ossClient.putObject(bucketName, backUrl, file.getInputStream()); // ossClient.putObject(bucketName, backUrl, file.getInputStream());
ossClient.setObjectAcl(bucketName, backUrl, CannedAccessControlList.PublicRead); // ossClient.setObjectAcl(bucketName, backUrl, CannedAccessControlList.PublicRead);
// 判断是否上传成功 // // 判断是否上传成功
boolean uploadResult = ossClient.doesObjectExist(bucketName, backUrl); // boolean uploadResult = ossClient.doesObjectExist(bucketName, backUrl);
//
if (uploadResult) { // if (uploadResult) {
backUrl = getVideoUrl(name); // backUrl = getVideoUrl(name);
} else { // } else {
backUrl = ""; // backUrl = "";
} // }
} catch (IOException e) { // } catch (IOException e) {
e.printStackTrace(); // e.printStackTrace();
} finally { // } finally {
if (ossClient != null) { // if (ossClient != null) {
ossClient.shutdown(); // ossClient.shutdown();
} // }
} // }
return backUrl; // return backUrl;
} // }
/** /**
@@ -199,19 +202,19 @@ public class OSSClientUtil {
return null; return null;
} }
/** // /**
* 获得视频路径 // * 获得视频路径
* // *
* @param fileUrl // * @param fileUrl
* @return // * @return
*/ // */
public String getVideoUrl(String fileUrl) { // public String getVideoUrl(String fileUrl) {
if (!StringUtils.isEmpty(fileUrl)) { // if (!StringUtils.isEmpty(fileUrl)) {
String[] split = fileUrl.split("/"); // String[] split = fileUrl.split("/");
return url + this.videoDir + split[split.length - 1]; // return url + this.videoDir + split[split.length - 1];
} // }
return null; // return null;
} // }
public String getProtocol() { public String getProtocol() {
@@ -270,14 +273,6 @@ public class OSSClientUtil {
this.ossClient = ossClient; this.ossClient = ossClient;
} }
public String getVideoDir() {
return videoDir;
}
public void setVideoDir(String videoDir) {
this.videoDir = videoDir;
}
public String getUrl() { public String getUrl() {
return url; return url;
} }
@@ -286,4 +281,43 @@ public class OSSClientUtil {
this.url = url; this.url = url;
} }
public Log getLog() {
return log;
}
public void setLog(Log log) {
this.log = log;
}
public String getCoachDir() {
return coachDir;
}
public void setCoachDir(String coachDir) {
this.coachDir = coachDir;
}
public String getConfigDir() {
return configDir;
}
public void setConfigDir(String configDir) {
this.configDir = configDir;
}
public String getBarcodeDir() {
return barcodeDir;
}
public void setBarcodeDir(String barcodeDir) {
this.barcodeDir = barcodeDir;
}
public String getHealthDir() {
return healthDir;
}
public void setHealthDir(String healthDir) {
this.healthDir = healthDir;
}
} }

View File

@@ -65,7 +65,7 @@ public class CoachService extends BaseServiceImpl {
Platform platform = platformService.findById(1); Platform platform = platformService.findById(1);
coachMapper.insert(coach); coachMapper.insert(coach);
InputStream inputStream = WxXCXService.getNewInstance(platform.getAppId(), platform.getSecret(), "wx_xcx_token", cacheService).getXCXQrCode("pages/myBookings/index", coach.getId().toString(), "190"); InputStream inputStream = WxXCXService.getNewInstance(platform.getAppId(), platform.getSecret(), "wx_xcx_token", cacheService).getXCXQrCode("pages/myBookings/index", coach.getId().toString(), "190");
String url = ossClientUtil.uploadImg(inputStream, "qrcode.png"); String url = ossClientUtil.uploadImg(inputStream, "qrcode.png",ossClientUtil.getCoachDir());
coach.setQrCode(url); coach.setQrCode(url);
coachMapper.update(coach); coachMapper.update(coach);
} }

View File

@@ -99,7 +99,7 @@ public class VenueLessonService extends BaseServiceImpl {
Platform platform = platformService.findById(1); Platform platform = platformService.findById(1);
venueLessonMapper.insert(venueLesson); venueLessonMapper.insert(venueLesson);
InputStream inputStream = WxXCXService.getNewInstance(platform.getAppId(), platform.getSecret(),"wx_xcx_token",cacheService).getXCXQrCode("pages/myBookings/index",venueLesson.getId().toString(),"190"); InputStream inputStream = WxXCXService.getNewInstance(platform.getAppId(), platform.getSecret(),"wx_xcx_token",cacheService).getXCXQrCode("pages/myBookings/index",venueLesson.getId().toString(),"190");
String url = ossClientUtil.uploadImg(inputStream,"qrcode.png"); String url = ossClientUtil.uploadImg(inputStream,"qrcode.png", ossClientUtil.getBarcodeDir());
venueLesson.setQrCode(url); venueLesson.setQrCode(url);
venueLessonMapper.update(venueLesson); venueLessonMapper.update(venueLesson);

View File

@@ -204,7 +204,7 @@ public class VenueService extends BaseServiceImpl {
}else { }else {
inputStream = WxXCXService.getNewInstance(platform.getAppId(), platform.getSecret(), "wx_xcx_token", cacheService).getXCXQrCode("pages/gymnasium/index", venueId.toString(), "1280"); inputStream = WxXCXService.getNewInstance(platform.getAppId(), platform.getSecret(), "wx_xcx_token", cacheService).getXCXQrCode("pages/gymnasium/index", venueId.toString(), "1280");
} }
String url = ossClientUtil.uploadImg(inputStream, "qrcode.png"); String url = ossClientUtil.uploadImg(inputStream, "qrcode.png",ossClientUtil.getBarcodeDir());
venue.setCodeUrl(url); venue.setCodeUrl(url);
venueMapper.update(venue); venueMapper.update(venue);
} }