优化
This commit is contained in:
@ -25,6 +25,7 @@ import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.*;
|
||||
import java.nio.charset.Charset;
|
||||
import java.time.LocalDateTime;
|
||||
@ -58,15 +59,22 @@ public class UploadZipController {
|
||||
|
||||
@ApiOperation("上传压缩文件")
|
||||
@PostMapping("/upload-zip")
|
||||
public AjaxResult<Void> uploadZipFile(@RequestParam("file") MultipartFile file, @RequestParam("recruitId") Long recruitId, @RequestParam("userId") Long userId) {
|
||||
public AjaxResult<Void> uploadZipFile(@RequestParam("file") MultipartFile file
|
||||
, @RequestParam("recruitId")@NotNull(message = "招工不能为空") Long recruitId
|
||||
, @RequestParam("userId")@NotNull(message = "用户不能为空") Long userId) {
|
||||
if (file.isEmpty()) {
|
||||
throw new BaseException("上传的文件为空!");
|
||||
}
|
||||
|
||||
String originalFilename = file.getOriginalFilename();
|
||||
|
||||
if (originalFilename == null || !originalFilename.toLowerCase().endsWith(".zip")) {
|
||||
throw new BaseException("上传的文件不是有效的 ZIP 文件!");
|
||||
}
|
||||
String[] split = originalFilename.split("_");
|
||||
if(split.length != 2 || !split[0].equals(recruitId.toString())){
|
||||
throw new BaseException("文件名与所选择招工不匹配");
|
||||
}
|
||||
|
||||
if(recruitService.queryById(recruitId) == null){
|
||||
throw new BaseException("招工信息不存在!");
|
||||
@ -104,7 +112,7 @@ public class UploadZipController {
|
||||
asyncProcessRecordAndDeleteTemp(extractDir, zipFile, recruitId,username,userId);
|
||||
|
||||
return AjaxResult.success("文件上传并处理成功");
|
||||
} catch (IOException e) {
|
||||
} catch (Exception e) {
|
||||
// 删除临时文件和文件夹
|
||||
File extractDir = new File(TEMP_DIR, firstLevelFolderName);
|
||||
deleteFolder(extractDir);
|
||||
@ -204,6 +212,9 @@ public class UploadZipController {
|
||||
String[] split = firstLevelFolderName.split("_");
|
||||
String card = split[1];
|
||||
WgzUser wgzUser = wgzUserService.findByIdentityCard(card);
|
||||
if(wgzUser == null){
|
||||
throw new BaseException("文件格式错误");
|
||||
}
|
||||
if (firstLevelFile.isDirectory()) {
|
||||
File[] secondLevelFiles = firstLevelFile.listFiles();
|
||||
if (secondLevelFiles != null) {
|
||||
|
@ -0,0 +1,108 @@
|
||||
package com.ruoyi.web.controller.fbs;
|
||||
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.zbf.bo.ZbfProjectSubcontractingQueryBo;
|
||||
import com.ruoyi.zbf.domain.ZbfProjectSubcontracting;
|
||||
import com.ruoyi.zbf.service.IZbfProjectSubcontractingService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 总包方项目分包Controller
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-02-17
|
||||
*/
|
||||
@Api(value = "App分包商项目管理", tags = {"App分包商项目管理"})
|
||||
@RequiredArgsConstructor(onConstructor_ = @Autowired)
|
||||
@RestController
|
||||
@RequestMapping("/fbs/subcontracting")
|
||||
public class AppFbsProjectSubcontractingController extends BaseController {
|
||||
|
||||
private final IZbfProjectSubcontractingService iZbfProjectSubcontractingService;
|
||||
|
||||
/**
|
||||
* 查询总包方项目分包列表
|
||||
*/
|
||||
@ApiOperation("查询总包方项目分包列表")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<ZbfProjectSubcontracting> list(@Validated ZbfProjectSubcontractingQueryBo bo) {
|
||||
return iZbfProjectSubcontractingService.queryPageList(bo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出总包方项目分包列表
|
||||
*/
|
||||
@ApiOperation("导出总包方项目分包列表")
|
||||
@PreAuthorize("@ss.hasPermi('common:subcontracting:export')")
|
||||
@Log(title = "总包方项目分包", businessType = BusinessType.EXPORT)
|
||||
@GetMapping("/export")
|
||||
public AjaxResult<ZbfProjectSubcontracting> export(@Validated ZbfProjectSubcontractingQueryBo bo) {
|
||||
List<ZbfProjectSubcontracting> list = iZbfProjectSubcontractingService.queryList(bo);
|
||||
ExcelUtil<ZbfProjectSubcontracting> util = new ExcelUtil<ZbfProjectSubcontracting>(ZbfProjectSubcontracting.class);
|
||||
return util.exportExcel(list, "总包方项目分包");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取总包方项目分包详细信息
|
||||
*/
|
||||
@ApiOperation("获取总包方项目分包详细信息")
|
||||
@PreAuthorize("@ss.hasPermi('common:subcontracting:query')")
|
||||
@GetMapping("/{id}")
|
||||
public AjaxResult<ZbfProjectSubcontracting> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("id") Long id) {
|
||||
return AjaxResult.success(iZbfProjectSubcontractingService.queryById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增总包方项目分包
|
||||
*/
|
||||
@ApiOperation("新增总包方项目分包")
|
||||
@PreAuthorize("@ss.hasPermi('common:subcontracting:add')")
|
||||
@Log(title = "总包方项目分包", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit
|
||||
@PostMapping()
|
||||
public AjaxResult<Void> add(@Validated @RequestBody ZbfProjectSubcontracting bo) {
|
||||
return toAjax(iZbfProjectSubcontractingService.insert(bo) ? 1 : 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改总包方项目分包
|
||||
*/
|
||||
@ApiOperation("修改总包方项目分包")
|
||||
@PreAuthorize("@ss.hasPermi('common:subcontracting:edit')")
|
||||
@Log(title = "总包方项目分包", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit
|
||||
@PutMapping()
|
||||
public AjaxResult<Void> edit(@Validated @RequestBody ZbfProjectSubcontracting bo) {
|
||||
return toAjax(iZbfProjectSubcontractingService.update(bo) ? 1 : 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除总包方项目分包
|
||||
*/
|
||||
@ApiOperation("删除总包方项目分包")
|
||||
@PreAuthorize("@ss.hasPermi('common:subcontracting:remove')")
|
||||
@Log(title = "总包方项目分包" , businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public AjaxResult<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(iZbfProjectSubcontractingService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user