diff --git a/chenhai-admin/src/main/java/com/chenhai/web/controller/vet/VetQualificationController.java b/chenhai-admin/src/main/java/com/chenhai/web/controller/vet/VetQualificationController.java index 9f77d15..8f909ac 100644 --- a/chenhai-admin/src/main/java/com/chenhai/web/controller/vet/VetQualificationController.java +++ b/chenhai-admin/src/main/java/com/chenhai/web/controller/vet/VetQualificationController.java @@ -88,62 +88,6 @@ public class VetQualificationController extends BaseController return AjaxResult.success(options); } - /** - * 上传资质文件(关联兽医资质ID) - */ - @PreAuthorize("@ss.hasPermi('vet:qualification:edit')") - @Log(title = "兽医资质文件上传", businessType = BusinessType.UPDATE) - @PostMapping("/upload") - public AjaxResult uploadQualificationFile(@RequestParam("file") MultipartFile file) { - try { - if (file.isEmpty()) { - return AjaxResult.error("文件不能为空"); - } - - String originalFileName = file.getOriginalFilename(); - String ext = FileUtils.getExtension(originalFileName).toLowerCase(); - - String[] allowedExts = {"jpg", "png", "pdf", "doc", "docx", "xls", "xlsx"}; - boolean isAllowed = FileUtils.isAllowedExtension(originalFileName, allowedExts); - if (!isAllowed) { - return AjaxResult.error("文件类型不允许"); - } - - String basePath = uploadRootPath; - String subPath = "vet/qualification"; - String datePath = new SimpleDateFormat("yyyy/MM/dd").format(new Date()); - String fullPath = basePath + File.separator + subPath + File.separator + datePath; - - File destDir = new File(fullPath); - if (!destDir.exists()) { - destDir.mkdirs(); - } - - String uuid = UUID.randomUUID().toString().replace("-", ""); - String fileName = uuid + "_" + originalFileName; - String filePath = fullPath + File.separator + fileName; - - File destFile = new File(filePath); - file.transferTo(destFile); - - String fileUrl = "/" + subPath + "/" + datePath + "/" + fileName; - String downloadUrl = "/common/download?fileName=" + URLEncoder.encode(fileUrl, "UTF-8"); - - Map data = new HashMap<>(); - data.put("fileName", originalFileName); - data.put("fileUrl", fileUrl); - data.put("downloadUrl", downloadUrl); - data.put("filePath", fileUrl); - data.put("fileSize", file.getSize()); - data.put("uuid", uuid); - - return AjaxResult.success("上传成功", data); - - } catch (Exception e) { - log.error("文件上传失败", e); - return AjaxResult.error("上传失败: " + e.getMessage()); - } - } /** * 查询兽医资质列表(含证书信息) @@ -481,43 +425,4 @@ public class VetQualificationController extends BaseController vetQualificationService.manualCheckCertificates(userId); return success("证书检查完成"); } - - /** - * 下架资质 - */ - @PreAuthorize("@ss.hasPermi('vet:qualification:unshelf')") - @Log(title = "兽医资质下架", businessType = BusinessType.UPDATE) - @PostMapping("/unshelf/{qualificationId}") - public AjaxResult unshelf(@PathVariable Long qualificationId, - @RequestParam(required = false) String reason) { - try { - int result = vetQualificationService.unshelfQualification(qualificationId, reason); - if (result > 0) { - return AjaxResult.success("下架成功"); - } else { - return AjaxResult.error("下架失败"); - } - } catch (Exception e) { - return AjaxResult.error(e.getMessage()); - } - } - - /** - * 上架资质 - */ - @PreAuthorize("@ss.hasPermi('vet:qualification:shelf')") - @Log(title = "兽医资质上架", businessType = BusinessType.UPDATE) - @PostMapping("/shelf/{qualificationId}") - public AjaxResult shelf(@PathVariable Long qualificationId) { - try { - int result = vetQualificationService.shelfQualification(qualificationId); - if (result > 0) { - return AjaxResult.success("上架成功"); - } else { - return AjaxResult.error("上架失败"); - } - } catch (Exception e) { - return AjaxResult.error(e.getMessage()); - } - } } \ No newline at end of file diff --git a/chenhai-system/src/main/java/com/chenhai/vet/domain/VetQualification.java b/chenhai-system/src/main/java/com/chenhai/vet/domain/VetQualification.java index acf788c..f1e042e 100644 --- a/chenhai-system/src/main/java/com/chenhai/vet/domain/VetQualification.java +++ b/chenhai-system/src/main/java/com/chenhai/vet/domain/VetQualification.java @@ -60,7 +60,7 @@ public class VetQualification extends BaseEntity @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date auditTime; - /** 审核状态(0待审核 1通过 2拒绝 3下架) */ + /** 审核状态(0待审核 1通过 2拒绝 ) */ @Excel(name = "审核状态", dictType = "qualification_shenhe") private String auditStatus; diff --git a/chenhai-system/src/main/java/com/chenhai/vet/service/IVetQualificationService.java b/chenhai-system/src/main/java/com/chenhai/vet/service/IVetQualificationService.java index 583c9c8..3304f02 100644 --- a/chenhai-system/src/main/java/com/chenhai/vet/service/IVetQualificationService.java +++ b/chenhai-system/src/main/java/com/chenhai/vet/service/IVetQualificationService.java @@ -88,14 +88,4 @@ public interface IVetQualificationService */ Map getCertificateStatistics(Long userId); - /** - * 下架资质 - */ - int unshelfQualification(Long qualificationId, String reason); - - /** - * 上架资质 - */ - int shelfQualification(Long qualificationId); - } \ No newline at end of file diff --git a/chenhai-system/src/main/java/com/chenhai/vet/service/impl/VetQualificationServiceImpl.java b/chenhai-system/src/main/java/com/chenhai/vet/service/impl/VetQualificationServiceImpl.java index 32cbc9c..ae8fed9 100644 --- a/chenhai-system/src/main/java/com/chenhai/vet/service/impl/VetQualificationServiceImpl.java +++ b/chenhai-system/src/main/java/com/chenhai/vet/service/impl/VetQualificationServiceImpl.java @@ -108,13 +108,13 @@ public class VetQualificationServiceImpl implements IVetQualificationService @Override public int insertVetQualification(VetQualification vetQualification) { if (vetQualification.getAuditStatus() == null) { - vetQualification.setAuditStatus(null); + vetQualification.setAuditStatus("3"); } - if (vetQualification.getCertificateFiles() == null || + /*if (vetQualification.getCertificateFiles() == null || vetQualification.getCertificateFiles().isEmpty()) { vetQualification.setCertificateFiles("default.pdf"); } - +*/ if (vetQualification.getScopeIds() != null && !vetQualification.getScopeIds().isEmpty()) { String scopeNames = getScopeNamesFromDict(vetQualification.getScopeIds()); vetQualification.setScopeNames(scopeNames); @@ -370,69 +370,4 @@ public class VetQualificationServiceImpl implements IVetQualificationService return statistics; } - @Override - public int unshelfQualification(Long qualificationId, String reason) { - // 1. 获取资质信息 - VetQualification existing = selectVetQualificationByQualificationId(qualificationId); - if (existing == null) { - throw new RuntimeException("资质信息不存在"); - } - - // 2. 逻辑判断:必须是已上架状态 - if (!"1".equals(existing.getAuditStatus())) { - throw new RuntimeException("只有已上架的资质才能下架"); - } - - // 3. 执行下架 - VetQualification update = new VetQualification(); - update.setQualificationId(qualificationId); - update.setAuditStatus("3"); // 3=已下架 - update.setAuditOpinion(reason != null ? "下架原因:" + reason : "管理员下架"); - update.setAuditTime(new Date()); - update.setUpdateTime(new Date()); - - // 记录操作人 - try { - String username = SecurityUtils.getUsername(); - update.setUpdateBy(username); - update.setAuditorId(SecurityUtils.getUserId()); - } catch (Exception e) { - update.setUpdateBy("system"); - } - - return vetQualificationMapper.updateVetQualification(update); - } - - @Override - public int shelfQualification(Long qualificationId) { - // 1. 获取资质信息 - VetQualification existing = selectVetQualificationByQualificationId(qualificationId); - if (existing == null) { - throw new RuntimeException("资质信息不存在"); - } - - // 2. 逻辑判断:必须是已下架状态 - if (!"3".equals(existing.getAuditStatus())) { - throw new RuntimeException("只有已下架的资质才能上架"); - } - - // 3. 执行上架 - VetQualification update = new VetQualification(); - update.setQualificationId(qualificationId); - update.setAuditStatus("1"); // 1=已上架 - update.setAuditOpinion("重新上架"); - update.setAuditTime(new Date()); - update.setUpdateTime(new Date()); - - // 记录操作人 - try { - String username = SecurityUtils.getUsername(); - update.setUpdateBy(username); - update.setAuditorId(SecurityUtils.getUserId()); - } catch (Exception e) { - update.setUpdateBy("system"); - } - - return vetQualificationMapper.updateVetQualification(update); - } } \ No newline at end of file diff --git a/chenhai-ui/src/api/vet/qualification.js b/chenhai-ui/src/api/vet/qualification.js index 237b26b..89c255f 100644 --- a/chenhai-ui/src/api/vet/qualification.js +++ b/chenhai-ui/src/api/vet/qualification.js @@ -105,21 +105,5 @@ export function submitQualification(data) { }) } - // 下架资质 - export function unshelfQualification(qualificationId, reason) { - return request({ - url: '/vet/qualification/unshelf/' + qualificationId, - method: 'post', - params: { reason: reason } - }) - } - -// 上架资质 - export function shelfQualification(qualificationId) { - return request({ - url: '/vet/qualification/shelf/' + qualificationId, - method: 'post' - }) -} diff --git a/chenhai-ui/src/views/vet/qualification/index.vue b/chenhai-ui/src/views/vet/qualification/index.vue index 3915e24..f35ea29 100644 --- a/chenhai-ui/src/views/vet/qualification/index.vue +++ b/chenhai-ui/src/views/vet/qualification/index.vue @@ -187,27 +187,6 @@ v-hasPermi="['vet:qualification:edit']" >{{ !scope.row.auditStatus ? '提交审核' : '重新提交' }} - - 下架 - - - 上架 import { listQualification, getQualification, delQualification, addQualification, updateQualification } from "@/api/vet/qualification" -import { submitQualification, unshelfQualification, shelfQualification } from "@/api/vet/qualification" +import { submitQualification } from "@/api/vet/qualification" export default { name: "Qualification", @@ -394,10 +373,10 @@ export default { /** 获取审核状态标签类型 */ getAuditStatusType(status) { const map = { - '0': 'info', // 待审核 - 蓝色 + '0': 'primary', // 待审核 - 蓝色 '1': 'success', // 已上架 - 绿色 '2': 'danger', // 已拒绝 - 红色 - '3': 'warning' // 已下架 - 黄色 + } return map[status] || 'info' }, @@ -409,64 +388,7 @@ export default { return value }, - /** 下架操作 */ - handleUnshelf(row) { - this.$prompt('请输入下架原因', '下架确认', { - confirmButtonText: '确定', - cancelButtonText: '取消', - inputPlaceholder: '请输入下架原因(如:证书过期、违规操作等)', - inputValidator: (value) => { - if (!value || value.trim().length < 2) { - return '下架原因不能少于2个字' - } - if (value.trim().length > 200) { - return '下架原因不能超过200字' - } - return true - } - }).then(({ value }) => { - this.loading = true - unshelfQualification(row.qualificationId, value).then(response => { - this.loading = false - if (response.code === 200) { - this.$modal.msgSuccess('下架成功') - this.getList() // 刷新列表 - } else { - this.$modal.msgError(response.msg || '下架失败') - } - }).catch(error => { - this.loading = false - this.$modal.msgError(error.msg || '下架失败') - }) - }).catch(() => { - // 用户取消操作 - }) - }, - /** 上架操作 */ - handleShelf(row) { - this.$confirm('确认要上架此资质吗?', '上架确认', { - confirmButtonText: '确定', - cancelButtonText: '取消', - type: 'warning' - }).then(() => { - this.loading = true - shelfQualification(row.qualificationId).then(response => { - this.loading = false - if (response.code === 200) { - this.$modal.msgSuccess('上架成功') - this.getList() // 刷新列表 - } else { - this.$modal.msgError(response.msg || '上架失败') - } - }).catch(error => { - this.loading = false - this.$modal.msgError(error.msg || '上架失败') - }) - }).catch(() => { - // 用户取消操作 - }) - }, /** 提交审核操作 */ handleSubmitAudit(row) {