Browse Source

Merge remote-tracking branch 'origin/feature/workRcord_ossModify' into dev

dev
李鹏飞 6 years ago
parent
commit
04e1e8d48d
  1. 24
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysUserController.java
  2. 18
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysUserService.java
  3. 27
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysUserServiceImpl.java
  4. 5
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/ServiceConstant.java
  5. 4
      esua-epdc/epdc-gateway/pom.xml
  6. 10
      esua-epdc/epdc-gateway/src/main/resources/application.yml
  7. 26
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiWorkUserController.java
  8. 22
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java
  9. 10
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java
  10. 18
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/WorkUserService.java
  11. 17
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/WorkUserServiceImpl.java
  12. 43
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/WorkRecordFeignClient.java
  13. 25
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/WorkRecordFeignClientFallback.java
  14. 19
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/workRecord/MonthRecordHandleQueryTask.java
  15. 19
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/workRecord/WeekRecordHandleQueryTask.java
  16. 28
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/workRecord/impl/MonthRecordHandleQueryTaskImpl.java
  17. 28
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/workRecord/impl/WeekRecordHandleQueryTaskImpl.java
  18. 35
      esua-epdc/epdc-module/epdc-oss/epdc-oss-client/src/main/java/com/elink/esua/epdc/UploadImgAllDTO.java
  19. 53
      esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/controller/OssController.java

24
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysUserController.java

@ -414,4 +414,28 @@ public class SysUserController {
return sysUserService.getSysGridLeaderPhone(deptId);
}
/**
* @describe: 判断是否更新头像
* @author wangtong
* @date 2020/3/30 13:49
* @param []
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@GetMapping("checkUpdateAvatar")
public Result checkUpdateAvatar() {
return sysUserService.checkUpdateAvatar();
}
/**
* @describe: 更新头像
* @author wangtong
* @date 2020/3/30 16:11
* @param [avatar]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@GetMapping("updateAvatar")
public Result updateAvatar(String avatar) {
return sysUserService.updateAvatar(avatar);
}
}

18
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysUserService.java

@ -118,4 +118,22 @@ public interface SysUserService extends BaseService<SysUserEntity> {
* @Date: 2020-01-09
*/
Result<List<String>> getSysGridLeaderPhone(Long deptId);
/**
* @describe: 判断是否更新头像
* @author wangtong
* @date 2020/3/30 13:52
* @param []
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
Result checkUpdateAvatar();
/**
* @describe: 更新头像
* @author wangtong
* @date 2020/3/30 16:12
* @param [avatar]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
Result updateAvatar(String avatar);
}

27
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysUserServiceImpl.java

@ -262,5 +262,32 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserDao, SysUserEntit
return new Result<List<String>>().ok(baseDao.getSysGridLeaderPhone(deptId));
}
@Override
public Result checkUpdateAvatar() {
String userId = SecurityUser.getUser().getId().toString();
SysUserEntity userInfo = baseDao.selectById(userId);
if(userInfo==null || userInfo.getDelFlag()==1 || userInfo.getStatus()==0){
throw new RenException("未查到次用户信息或此用户被停用!");
}
if(StringUtils.isNotBlank(userInfo.getHeadUrl())){
return new Result().ok(false);
}else{
return new Result().ok(true);
}
}
@Transactional
@Override
public Result updateAvatar(String avatar) {
if(StringUtils.isBlank(avatar)){
throw new RenException("头像地址不可为空");
}
String userId = SecurityUser.getUser().getId().toString();
SysUserEntity userInfo = baseDao.selectById(userId);
userInfo.setHeadUrl(avatar);
baseDao.updateById(userInfo);
return new Result().ok(true);
}
}

5
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/ServiceConstant.java

@ -89,6 +89,11 @@ public interface ServiceConstant {
* 数据分析模块
*/
String EPDC_ANALYSIS_SERVER = "epdc-analysis-server";
/**
* 工作日志模块
*/
String EPDC_WORK_RECORD_SERVER = "epdc-work-record-server";
/**
* 积分模块
*/

4
esua-epdc/epdc-gateway/pom.xml

@ -122,6 +122,8 @@
<!-- <gateway.routes.epdc-events-server.uri>http://127.0.0.1:9066</gateway.routes.epdc-events-server.uri>-->
<gateway.routes.epdc-cloud-analysis-server.uri>http://127.0.0.1:9060</gateway.routes.epdc-cloud-analysis-server.uri>
<!-- <gateway.routes.epdc-cloud-analysis-server.uri>lb://epdc-cloud-analysis-server</gateway.routes.epdc-cloud-analysis-server.uri>-->
<gateway.routes.epdc-work-record-server.uri>http://127.0.0.1:9085</gateway.routes.epdc-work-record-server.uri>
<!-- <gateway.routes.epdc-work-record-server.uri>lb://epdc-work-record-server</gateway.routes.epdc-work-record-server.uri>-->
<gateway.routes.epdc-services-server.uri>lb://epdc-services-server
</gateway.routes.epdc-services-server.uri>
<!-- <gateway.routes.epdc-services-server.uri>http://127.0.0.1:9067</gateway.routes.epdc-services-server.uri>-->
@ -173,6 +175,7 @@
<gateway.routes.epdc-oss-server.uri>lb://epdc-oss-server</gateway.routes.epdc-oss-server.uri>
<gateway.routes.epdc-events-server.uri>lb://epdc-events-server</gateway.routes.epdc-events-server.uri>
<gateway.routes.epdc-cloud-analysis-server.uri>lb://epdc-cloud-analysis-server</gateway.routes.epdc-cloud-analysis-server.uri>
<gateway.routes.epdc-work-record-server.uri>lb://epdc-work-record-server</gateway.routes.epdc-work-record-server.uri>
<gateway.routes.epdc-services-server.uri>lb://epdc-services-server
</gateway.routes.epdc-services-server.uri>
<gateway.routes.epdc-user-server.uri>lb://epdc-user-server</gateway.routes.epdc-user-server.uri>
@ -212,6 +215,7 @@
<gateway.routes.epdc-news-server.uri>lb://epdc-news-server</gateway.routes.epdc-news-server.uri>
<gateway.routes.epdc-oss-server.uri>lb://epdc-oss-server</gateway.routes.epdc-oss-server.uri>
<gateway.routes.epdc-cloud-analysis-server.uri>lb://epdc-cloud-analysis-server</gateway.routes.epdc-cloud-analysis-server.uri>
<gateway.routes.epdc-work-record-server.uri>lb://epdc-work-record-server</gateway.routes.epdc-work-record-server.uri>
<gateway.routes.epdc-events-server.uri>lb://epdc-events-server</gateway.routes.epdc-events-server.uri>
<gateway.routes.epdc-services-server.uri>lb://epdc-services-server</gateway.routes.epdc-services-server.uri>
<gateway.routes.epdc-user-server.uri>lb://epdc-user-server</gateway.routes.epdc-user-server.uri>

10
esua-epdc/epdc-gateway/src/main/resources/application.yml

@ -180,6 +180,14 @@ spring:
- Path=${server.servlet.context-path}/cloudAnalysis/**
filters:
- StripPrefix=1
#工作日志
- id: epdc-work-record-server
uri: @gateway.routes.epdc-work-record-server.uri@
order: 20
predicates:
- Path=${server.servlet.context-path}/workRecord/**
filters:
- StripPrefix=1
nacos:
discovery:
server-addr: @nacos.server-addr@
@ -248,6 +256,7 @@ renren:
- /api/work/** #工作端接口
- /api/analysis/** #数据端接口
- /cloudAnalysis/** #数据端接口
- /workRecord/** #工作日志接口
epdc:
# 党建e家接口
@ -268,3 +277,4 @@ epdc:
- /api/work/** #工作端接口不拦截
- /api/analysis/** #数据端接口不拦截
- /cloudAnalysis/** #数据端接口
- /workRecord/** #工作日志接口

26
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiWorkUserController.java

@ -195,4 +195,30 @@ public class ApiWorkUserController {
Long userId = user.getId();
return workUserService.logout(userId);
}
/**
* @describe: 判断是否更新头像
* @author wangtong
* @date 2020/3/30 13:32
* @param []
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@GetMapping("checkUpdateAvatar")
public Result checkUpdateAvatar() {
return workUserService.checkUpdateAvatar();
}
/**
* @describe: 更新头像
* @author wangtong
* @date 2020/3/30 16:11
* @param [avatar]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@GetMapping("updateAvatar")
public Result updateAvatar(String avatar) {
return workUserService.updateAvatar(avatar);
}
}

22
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java

@ -10,8 +10,10 @@ import com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAppIndexPanelResultDTO;
import com.elink.esua.epdc.feign.fallback.AdminFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
@ -90,4 +92,24 @@ public interface AdminFeignClient {
**/
@GetMapping("sys/dept/party/getDeptTreeForEpiDemic")
Result<DeptOption> getDeptTreeForEpiDemic();
/**
* @describe: 判断是否更新头像
* @author wangtong
* @date 2020/3/30 13:43
* @param []
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@GetMapping("sys/user/checkUpdateAvatar")
Result checkUpdateAvatar();
/**
* @describe: 更新头像
* @author wangtong
* @date 2020/3/30 16:17
* @param [avatar]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@GetMapping(value="sys/user/updateAvatar", consumes = MediaType.APPLICATION_JSON_VALUE)
Result updateAvatar(@RequestParam("avatar") String avatar);
}

10
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java

@ -51,4 +51,14 @@ public class AdminFeignClientFallback implements AdminFeignClient {
public Result<DeptOption> getDeptTreeForEpiDemic() {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getDeptTreeForEpiDemic");
}
@Override
public Result checkUpdateAvatar() {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "checkUpdateAvatar");
}
@Override
public Result updateAvatar(String avatar) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "updateAvatar",avatar);
}
}

18
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/WorkUserService.java

@ -139,4 +139,22 @@ public interface WorkUserService {
* @Date 2019/12/25 10:17
**/
Result logout(Long userId);
/**
* @describe: 判断是否更新头像
* @author wangtong
* @date 2020/3/30 13:32
* @param
* @return
*/
Result checkUpdateAvatar();
/**
* @describe: 更新头像
* @author wangtong
* @date 2020/3/30 16:13
* @param [avatar]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
Result updateAvatar(String avatar);
}

17
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/WorkUserServiceImpl.java

@ -335,4 +335,21 @@ public class WorkUserServiceImpl implements WorkUserService {
public Result logout(Long userId) {
return resourceFeignClient.logoutUser(userId+"");
}
/**
* @describe: 判断是否更新头像
* @author wangtong
* @date 2020/3/30 13:42
* @param []
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@Override
public Result checkUpdateAvatar() {
return adminFeignClient.checkUpdateAvatar();
}
@Override
public Result updateAvatar(String avatar) {
return adminFeignClient.updateAvatar(avatar);
}
}

43
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/WorkRecordFeignClient.java

@ -0,0 +1,43 @@
package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.feign.fallback.ItemFeignClientFallback;
import com.elink.esua.epdc.feign.fallback.WorkRecordFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
/**
*
* 项目模块调用
*
* @Authorliuchuang
* @Date2019/12/25 11:07
*/
@FeignClient(name = ServiceConstant.EPDC_WORK_RECORD_SERVER, fallback = WorkRecordFeignClientFallback.class)
public interface WorkRecordFeignClient {
/**
*
* 周报提交情况分析
*
* @params []
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/12/25 11:11
*/
@GetMapping(value = "workRecord/week/checkWeekRecord", consumes = MediaType.APPLICATION_JSON_VALUE)
Result checkWeekRecord();
/**
*
* 周报提交情况分析
*
* @params []
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/12/25 11:11
*/
@GetMapping(value = "workRecord/month/checkMonthRecord", consumes = MediaType.APPLICATION_JSON_VALUE)
Result checkMonthRecord();
}

25
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/WorkRecordFeignClientFallback.java

@ -0,0 +1,25 @@
package com.elink.esua.epdc.feign.fallback;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.feign.ItemFeignClient;
import com.elink.esua.epdc.feign.WorkRecordFeignClient;
import org.springframework.stereotype.Component;
/**
* @Authorliuchuang
* @Date2019/12/25 11:07
*/
@Component
public class WorkRecordFeignClientFallback implements WorkRecordFeignClient {
@Override
public Result checkWeekRecord() {
return ModuleUtils.feignConError(ServiceConstant.EPDC_WORK_RECORD_SERVER, "checkWeekRecord", "");
}
@Override
public Result checkMonthRecord() {
return ModuleUtils.feignConError(ServiceConstant.EPDC_WORK_RECORD_SERVER, "checkMonthRecord", "");
}
}

19
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/workRecord/MonthRecordHandleQueryTask.java

@ -0,0 +1,19 @@
package com.elink.esua.epdc.task.workRecord;
/**
* @Authorliuchuang
* @Date2019/12/25 11:00
*/
public interface MonthRecordHandleQueryTask {
/**
*
* 月报情况分析
*
* @params [params]
* @return void
* @author liuchuang
* @since 2019/12/25 11:02
*/
void run(String params);
}

19
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/workRecord/WeekRecordHandleQueryTask.java

@ -0,0 +1,19 @@
package com.elink.esua.epdc.task.workRecord;
/**
* @Authorliuchuang
* @Date2019/12/25 11:00
*/
public interface WeekRecordHandleQueryTask {
/**
*
* 周报情况分析
*
* @params [params]
* @return void
* @author liuchuang
* @since 2019/12/25 11:02
*/
void run(String params);
}

28
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/workRecord/impl/MonthRecordHandleQueryTaskImpl.java

@ -0,0 +1,28 @@
package com.elink.esua.epdc.task.workRecord.impl;
import com.elink.esua.epdc.feign.ItemFeignClient;
import com.elink.esua.epdc.task.workRecord.MonthRecordHandleQueryTask;
import com.elink.esua.epdc.task.workRecord.WeekRecordHandleQueryTask;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @Authorliuchuang
* @Date2019/12/25 11:01
*/
@Component("MonthRecordHandleQueryTask")
public class MonthRecordHandleQueryTaskImpl implements MonthRecordHandleQueryTask {
private Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private ItemFeignClient itemFeignClient;
@Override
public void run(String params){
logger.debug("MonthRecordHandleQueryTask定时任务正在执行,参数为:{}", params);
itemFeignClient.queryItemHandle();
}
}

28
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/workRecord/impl/WeekRecordHandleQueryTaskImpl.java

@ -0,0 +1,28 @@
package com.elink.esua.epdc.task.workRecord.impl;
import com.elink.esua.epdc.feign.ItemFeignClient;
import com.elink.esua.epdc.task.events.ItemReportHandleQueryTask;
import com.elink.esua.epdc.task.workRecord.WeekRecordHandleQueryTask;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @Authorliuchuang
* @Date2019/12/25 11:01
*/
@Component("WeekRecordHandleQueryTask")
public class WeekRecordHandleQueryTaskImpl implements WeekRecordHandleQueryTask {
private Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private ItemFeignClient itemFeignClient;
@Override
public void run(String params){
logger.debug("WeekRecordHandleQueryTask定时任务正在执行,参数为:{}", params);
itemFeignClient.queryItemHandle();
}
}

35
esua-epdc/epdc-module/epdc-oss/epdc-oss-client/src/main/java/com/elink/esua/epdc/UploadImgAllDTO.java

@ -0,0 +1,35 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.elink.esua.epdc;
import lombok.Data;
/**
* 上传信息
*
* @author Mark sunlightcs@gmail.com
* @since 1.1.0
*/
@Data
public class UploadImgAllDTO {
/**
* 图片URL
*/
private String imgUrl;
/**
* 图片缩略图URL
*/
private String thumbnail;
/**
* 文件名
*/
private String fileName;
}

53
esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/controller/OssController.java

@ -8,6 +8,7 @@
package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.UploadImgAllDTO;
import com.elink.esua.epdc.cloud.AbstractCloudStorageService;
import com.elink.esua.epdc.cloud.AliyunCloudStorageService;
import com.elink.esua.epdc.cloud.CloudStorageConfig;
@ -201,4 +202,56 @@ public class OssController {
public Result<List<String>> compressImg(@RequestBody List<String> imgUrlList) {
return ossService.compressImg(imgUrlList);
}
/**
* 图片上传并压缩缩略图
*
* @return void
* @author lpf
* @date 2020/03/27
*/
@PostMapping("uploadImg")
@ApiOperation(value = "上传图片")
public Result<UploadImgAllDTO> uploadImg(@RequestParam("file") MultipartFile file) throws Exception {
if (file.isEmpty()) {
return new Result<UploadImgAllDTO>().error(ModuleErrorCode.UPLOAD_FILE_EMPTY);
}
//上传图片
String extension = FilenameUtils.getExtension(file.getOriginalFilename());
String url = OssFactory.build().uploadSuffix(file.getBytes(), extension);
ossService.afterUpload(url, file.getSize());
//上传缩略图
byte[] afterJyBytes = CompressImgUtils.commpressPicCycle(file.getBytes(), 1024, 0.5);
String thumbnailUrl = OssFactory.build().uploadSuffix(afterJyBytes, "jpg");
ossService.afterUpload(thumbnailUrl, afterJyBytes.length);
UploadImgAllDTO uploadAll = new UploadImgAllDTO();
uploadAll.setImgUrl(url);
uploadAll.setThumbnail(thumbnailUrl);
uploadAll.setFileName(file.getOriginalFilename());
return new Result<UploadImgAllDTO>().ok(uploadAll);
}
/**
* 文件上传
*
* @return void
* @author lpf
* @date 2020/04/02
*/
@PostMapping("uploadAllFile")
@ApiOperation(value = "上传文件")
public Result<UploadImgAllDTO> uploadAllFile(@RequestParam("file") MultipartFile file) throws Exception {
if (file.isEmpty()) {
return new Result<UploadImgAllDTO>().error(ModuleErrorCode.UPLOAD_FILE_EMPTY);
}
//上传文件
String extension = FilenameUtils.getExtension(file.getOriginalFilename());
String url = OssFactory.build().uploadSuffix(file.getBytes(), extension);
ossService.afterUpload(url, file.getSize());
UploadImgAllDTO uploadAll = new UploadImgAllDTO();
uploadAll.setImgUrl(url);
uploadAll.setFileName(file.getOriginalFilename());
return new Result<UploadImgAllDTO>().ok(uploadAll);
}
}

Loading…
Cancel
Save