package com.casic.missiles.controller; import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.system.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.SystemNotice; import com.casic.missiles.model.SystemSign; import com.casic.missiles.model.SystemTemplate; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.ISystemNoticeService; import com.casic.missiles.service.ISystemSignService; import com.casic.missiles.service.ISystemTemplateService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.validation.Valid; import java.util.Objects; /** * @Description: 系统管理-常用工具、通知公告 * @Author: wangpeng * @Date: 2022/11/21 20:31 */ @Api(tags = "系统管理接口") @Controller @RequestMapping("/system") public class SystemController extends ExportController { @Autowired private ISystemSignService signService; @Autowired private ISystemNoticeService noticeService; @Autowired private ISystemTemplateService templateService; @ApiOperation("签名/签章列表/详情") @PostMapping("/sign/listPage") @ResponseBody public ReturnDTO<PageInfoBT<SystemSign>> signListPage(@RequestBody SignListRequest request) { Page<SystemSign> page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(signService.listPage(page, request))); } @ApiOperation("签名/签章新建") @PostMapping("/sign/add") @ResponseBody public ReturnDTO signAdd(@RequestBody @Valid SignAddRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } return signService.addSign(request); } @ApiOperation("签名/签章更新") @PostMapping("/sign/update") @ResponseBody public ReturnDTO signUpdate(@RequestBody @Valid SystemSign systemSign, BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } return signService.updateSign(systemSign); } @ApiOperation("签名/签章删除") @PostMapping("/sign/delete") @ResponseBody public ReturnDTO signDelete(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return signService.deleteSign(idDTO.getId()); } @ApiOperation("签名/签章批量删除") @PostMapping("/sign/batchDelete") @ResponseBody public ReturnDTO signBatchDelete(@RequestBody @Valid IdsDTO idsDTO) { Assert.isFalse(CollectionUtils.isEmpty(idsDTO.getIds()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return signService.deleteBatchSign(idsDTO.getIds()); } /** * 原始记录模板列表 */ @ApiOperation("原始记录模板/证书报告模板列表/详情") @PostMapping("/template/listPage") @ResponseBody public ReturnDTO<PageInfoBT<SystemTemplate>> templateListPage(@RequestBody TemplateListRequest request) { Page<SystemTemplate> page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(templateService.listPage(page, request))); } @ApiOperation("原始记录模板/证书报告模板列表新建") @PostMapping("/template/add") @ResponseBody public ReturnDTO templateAdd(@RequestBody @Valid TemplateAddRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } return templateService.addTemplate(request); } @ApiOperation("原始记录模板/证书报告模板列表更新") @PostMapping("/template/update") @ResponseBody public ReturnDTO templateUpdate(@RequestBody @Valid SystemTemplate systemTemplate, BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } return templateService.updateTemplate(systemTemplate); } @ApiOperation("原始记录模板/证书报告模板列表删除") @PostMapping("/template/delete") @ResponseBody public ReturnDTO templateDelete(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return templateService.deleteTemplate(idDTO.getId()); } @ApiOperation("原始记录模板/证书报告模板列表批量删除") @PostMapping("/template/batchDelete") @ResponseBody public ReturnDTO templateBatchDelete(@RequestBody @Valid IdsDTO idsDTO) { Assert.isFalse(CollectionUtils.isEmpty(idsDTO.getIds()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return templateService.deleteBatchTemplate(idsDTO.getIds()); } @ApiOperation("通知公告列表/详情") @PostMapping("/notice/listPage") @ResponseBody public ReturnDTO<PageInfoBT<SystemNotice>> supplierListPage(@RequestBody NoticeListRequest request) { Page<SystemNotice> page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(noticeService.listPage(page, request))); } @ApiOperation("通知公告新建") @PostMapping("/notice/add") @ResponseBody public ReturnDTO supplierAdd(@RequestBody @Valid SystemNotice systemNotice, BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } return noticeService.addNotice(systemNotice); } }