package com.casic.missiles.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.MeterCertificateDto; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.model.MeterCertificate; import com.casic.missiles.service.MeterCertificateService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.List; @Api(tags = "计量人员证书相关接口") @RestController @RequestMapping("/certificate") public class MeterCertificateController { @Resource private MeterCertificateService meterCertificateService; /** * 证书列表查询 * @return */ @ApiOperation("证书列表查询") @PostMapping("/queryCertificateList") @ResponseBody public ReturnDTO<MeterCertificateDto> queryCertificateList(@RequestBody MeterStaffRequest meterStaffRequest) { try { Page<MeterCertificateDto> page = PageFactory.defaultPage(); Page<MeterCertificateDto> list = meterCertificateService.queryCertificateList(page,meterStaffRequest); return ReturnUtil.success(list); }catch (Exception e){ e.printStackTrace(); return ReturnUtil.failed("证书列表查询失败"); } } /** * 证书新增 * @return */ @ApiOperation("证书新增") @PostMapping("/addStaffCertificate") @ResponseBody public ReturnDTO addStaffCertificate(@RequestBody List<MeterCertificate> list) { try { meterCertificateService.addStaffCertificate(list); return ReturnUtil.success(); }catch (Exception e){ e.printStackTrace(); return ReturnUtil.failed("证书新增失败"); } } /** * 证书删除 */ @ApiOperation("证书删除") @PostMapping("/deleteCertificate") @ResponseBody public ReturnDTO deleteCertificate(@RequestBody IdDTO idDto) { try { meterCertificateService.deleteCertificate(idDto); return ReturnUtil.success(); }catch (Exception e){ e.printStackTrace(); return ReturnUtil.failed("证书删除失败"); } } /** * 证书详细信息 */ @ApiOperation("证书详细信息") @PostMapping("/queryStaffCertificateInfo") @ResponseBody public ReturnDTO<MeterCertificate> queryStaffCertificateInfo(@RequestBody IdDTO idDto) { try { MeterCertificate result = meterCertificateService.queryStaffCertificateInfo(idDto); return ReturnUtil.success(result); }catch (Exception e){ e.printStackTrace(); return ReturnUtil.failed("证书详细查询失败"); } } /** * 证书信息编辑 * @return */ @ApiOperation("证书信息编辑") @PostMapping("/updateStaffCertificateInfo") @ResponseBody public ReturnDTO updateStaffCertificateInfo(@RequestBody MeterCertificate meterCertificate) { try { meterCertificateService.updateStaffCertificateInfo(meterCertificate); return ReturnUtil.success(); }catch (Exception e){ e.printStackTrace(); return ReturnUtil.failed("证书信息编辑失败"); } } /** * 证书列表导出 */ @ApiOperation("证书列表导出") @PostMapping("/exportCertificateList") @ResponseBody public void exportCertificateList(@RequestBody MeterStaffRequest meterStaffRequest, HttpServletResponse response) { try { meterCertificateService.exportCertificateList(meterStaffRequest,response); }catch (Exception e){ e.printStackTrace(); } } /** * 证书过期提醒 */ @ApiOperation("证书过期提醒") @PostMapping("/expirationReminder") @ResponseBody public ReturnDTO expirationReminder(@RequestBody IdDTO idDto) { try { meterCertificateService.expirationReminder(idDto); return ReturnUtil.success(); }catch (Exception e){ e.printStackTrace(); return ReturnUtil.failed("证书过期提醒失败"); } } @Scheduled(cron = "0 0 0 * * ?") private void regularExpirationReminder() { meterCertificateService.regularExpirationReminder(); } }