| basic-server/src/main/java/com/ruoyi/basic/controller/CertificationController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| basic-server/src/main/java/com/ruoyi/basic/dto/CertificationImageUpdateDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| basic-server/src/main/java/com/ruoyi/basic/dto/CertificationUpdateDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| basic-server/src/main/java/com/ruoyi/basic/service/CertificationService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| basic-server/src/main/java/com/ruoyi/basic/service/impl/CertificationServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
basic-server/src/main/java/com/ruoyi/basic/controller/CertificationController.java
@@ -1,6 +1,8 @@ package com.ruoyi.basic.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.basic.dto.CertificationImageUpdateDto; import com.ruoyi.basic.dto.CertificationUpdateDto; import com.ruoyi.common.core.domain.Result; import com.ruoyi.basic.pojo.Certification; import com.ruoyi.basic.service.CertificationService; @@ -25,11 +27,30 @@ return Result.success(certificationService.getCertificationDetail(page, certification)); } @Operation(summary = "æIDæ¥è¯¢èµè´¨è¯¦æ ") @GetMapping("/getCertificationById") public Result<Certification> getCertificationById(Integer id) { return Result.success(certificationService.getCertificationById(id)); } @Operation(summary = "æ·»å èµè´¨æç»å表") @PostMapping("/addCertificationDetail") public Result addCertificationDetail(@RequestBody Certification certification) { return Result.success(certificationService.addCertificationDetail(certification)); } @Operation(summary = "æ´æ°èµè´¨èµæ") @PutMapping("/updateCertificationDetail") public Result<Integer> updateCertificationDetail(@RequestBody CertificationUpdateDto certification) { return Result.success(certificationService.updateCertificationDetail(certification)); } @Operation(summary = "æ´æ°èµè´¨å¾ç") @PutMapping("/updateCertificationImage") public Result<Integer> updateCertificationImage(@RequestBody CertificationImageUpdateDto certification) { return Result.success(certificationService.updateCertificationImage(certification)); } @Operation(summary = "å é¤èµè´¨æç»å表") @DeleteMapping("/delCertificationDetail") public Result<?> delCertificationDetail(String ids) { basic-server/src/main/java/com/ruoyi/basic/dto/CertificationImageUpdateDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ package com.ruoyi.basic.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; /** èµè´¨å¾çæ´æ°åæ°ã */ @Data @Schema(description = "èµè´¨å¾çæ´æ°åæ°") public class CertificationImageUpdateDto { @Schema(description = "èµè´¨ID") private Integer id; @Schema(description = "èµè´¨å¾çå°å") private String imageUrl; } basic-server/src/main/java/com/ruoyi/basic/dto/CertificationUpdateDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,42 @@ package com.ruoyi.basic.dto; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.time.LocalDateTime; /** èµè´¨èµææ´æ°åæ°ã */ @Data @Schema(description = "èµè´¨èµææ´æ°åæ°") public class CertificationUpdateDto { @Schema(description = "èµè´¨ID") private Integer id; @Schema(description = "èµè´¨åç§°") private String name; @Schema(description = "èµè´¨ç¼ç ") private String code; @Schema(description = "é¢åæºæ") private String organization; @Schema(description = "èµè´¨è¯´æ") private String explanation; @Schema(description = "é¢åæ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime dateOfIssuance; @Schema(description = "å°ææ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime expireTime; @Schema(description = "èµè´¨å¾çå°å") private String imageUrl; @Schema(description = "èµè´¨éä»¶å°å") private String fileUrl; } basic-server/src/main/java/com/ruoyi/basic/service/CertificationService.java
@@ -3,15 +3,23 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.basic.dto.CertificationImageUpdateDto; import com.ruoyi.basic.dto.CertificationUpdateDto; import com.ruoyi.basic.pojo.Certification; public interface CertificationService extends IService<Certification> { //æ¥è¯¢èµè´¨æç»å表 IPage<Certification> getCertificationDetail(Page page, Certification certification); Certification getCertificationById(Integer id); //æ·»å èµè´¨æç»å表 int addCertificationDetail(Certification certification); int updateCertificationDetail(CertificationUpdateDto certification); int updateCertificationImage(CertificationImageUpdateDto certification); //å é¤èµè´¨æç»å表 int delCertificationDetail(String ids); } basic-server/src/main/java/com/ruoyi/basic/service/impl/CertificationServiceImpl.java
@@ -1,13 +1,16 @@ package com.ruoyi.basic.service.impl; import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.utils.QueryWrappers; import com.ruoyi.basic.dto.CertificationImageUpdateDto; import com.ruoyi.basic.dto.CertificationUpdateDto; import com.ruoyi.basic.mapper.CertificationMapper; import com.ruoyi.basic.pojo.Certification; import com.ruoyi.basic.service.CertificationService; import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.StringUtils; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -31,10 +34,71 @@ return certificationMapper.getCertificationDetail(page, certification); } @Override public Certification getCertificationById(Integer id) { if (id == null) { throw new BaseException("èµè´¨IDä¸è½ä¸ºç©º"); } Certification certification = certificationMapper.selectById(id); if (certification == null) { throw new BaseException("èµè´¨è®°å½ä¸åå¨"); } return certification; } //æ·»å èµè´¨æç»å表 @Override public int addCertificationDetail(Certification certification) { validateRequiredFields(certification.getName(), certification.getCode(), certification.getOrganization(), certification.getDateOfIssuance(), certification.getExpireTime()); return certificationMapper.insert(certification); } @Override public int updateCertificationDetail(CertificationUpdateDto certification) { if (certification == null || certification.getId() == null) { throw new BaseException("èµè´¨IDä¸è½ä¸ºç©º"); } Certification existing = getCertificationById(certification.getId()); validateRequiredFields(certification.getName(), certification.getCode(), certification.getOrganization(), certification.getDateOfIssuance(), certification.getExpireTime()); String imageUrl = StringUtils.isNotBlank(certification.getImageUrl()) ? certification.getImageUrl() : existing.getImageUrl(); String fileUrl = StringUtils.isNotBlank(certification.getFileUrl()) ? certification.getFileUrl() : existing.getFileUrl(); int updated = certificationMapper.update(new Certification(), Wrappers.<Certification>lambdaUpdate() .eq(Certification::getId, certification.getId()) .set(Certification::getName, certification.getName()) .set(Certification::getCode, certification.getCode()) .set(Certification::getOrganization, certification.getOrganization()) .set(Certification::getExplanation, certification.getExplanation()) .set(Certification::getDateOfIssuance, certification.getDateOfIssuance()) .set(Certification::getExpireTime, certification.getExpireTime()) .set(Certification::getImageUrl, imageUrl) .set(Certification::getFileUrl, fileUrl)); if (updated < 1) { throw new BaseException("èµè´¨æ´æ°å¤±è´¥"); } return updated; } @Override public int updateCertificationImage(CertificationImageUpdateDto certification) { if (certification == null || certification.getId() == null) { throw new BaseException("èµè´¨IDä¸è½ä¸ºç©º"); } if (StringUtils.isBlank(certification.getImageUrl())) { throw new BaseException("èµè´¨å¾çä¸è½ä¸ºç©º"); } getCertificationById(certification.getId()); int updated = certificationMapper.update(new Certification(), Wrappers.<Certification>lambdaUpdate() .eq(Certification::getId, certification.getId()) .set(Certification::getImageUrl, certification.getImageUrl())); if (updated < 1) { throw new BaseException("èµè´¨å¾çæ´æ°å¤±è´¥"); } return updated; } //å é¤èµè´¨æç»å表 @@ -44,4 +108,24 @@ return certificationMapper.deleteBatchIds(list); } private void validateRequiredFields(String name, String code, String organization, java.time.LocalDateTime dateOfIssuance, java.time.LocalDateTime expireTime) { if (StringUtils.isBlank(name)) { throw new BaseException("èµè´¨åç§°ä¸è½ä¸ºç©º"); } if (StringUtils.isBlank(code)) { throw new BaseException("èµè´¨ç¼ç ä¸è½ä¸ºç©º"); } if (StringUtils.isBlank(organization)) { throw new BaseException("é¢åæºæä¸è½ä¸ºç©º"); } if (dateOfIssuance == null) { throw new BaseException("é¢åæ¶é´ä¸è½ä¸ºç©º"); } if (expireTime == null) { throw new BaseException("å°ææ¶é´ä¸è½ä¸ºç©º"); } } }