package com.glxp.api.controller.dev; import com.glxp.api.service.CustomService; import com.glxp.api.service.auth.CustomerService; import org.springframework.beans.BeanUtils; import cn.hutool.core.util.IdUtil; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.annotation.Log; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.BusinessType; import com.glxp.api.constant.FileConstant; import com.glxp.api.controller.BaseController; import com.glxp.api.entity.dev.DeviceAssetCertEntity; import com.glxp.api.req.inv.FilterInvCertRequest; import com.glxp.api.req.dev.PostDeviceCertRequest; import com.glxp.api.req.system.DeleteDeviceFileRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.service.dev.DeviceAssetCertService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.io.File; import java.time.Instant; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.ZoneOffset; import java.util.List; /** * 设备资质证书,技术材料相关 */ @Slf4j @RestController public class DeviceAssetCertController extends BaseController { @Value("${file_path}") private String filePath; @Resource private DeviceAssetCertService deviceAssetCertService; @Resource private CustomerService customerService; @AuthRuleAnnotation("") @GetMapping("/inv/device/cert/filter") public BaseResponse filterDeviceCert(FilterInvCertRequest filterInvCertRequest) { List deviceAssetCertEntityList = deviceAssetCertService.filterDeviceCert(filterInvCertRequest); PageInfo pageInfo; pageInfo = new PageInfo<>(deviceAssetCertEntityList); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(deviceAssetCertEntityList); return ResultVOUtils.success(pageSimpleResponse); } @AuthRuleAnnotation("") @PostMapping("/inv/info/insertDeviceCert") @Log(title = "资质证书", businessType = BusinessType.INSERT) public BaseResponse insertDeviceCert(@RequestBody DeviceAssetCertEntity deviceAssetCertEntity) { String userId = customerService.getUserId()+ ""; LocalDate now = LocalDate.now(); deviceAssetCertEntity.setCreateTime(now); deviceAssetCertEntity.setUpdateTime(now); deviceAssetCertEntity.setCreateUser(userId); deviceAssetCertEntity.setUpdateUser(userId); deviceAssetCertEntity.setStatus(0); deviceAssetCertEntity.setId(IdUtil.getSnowflakeNextId()); boolean b = deviceAssetCertService.insertDeviceCert(deviceAssetCertEntity); return ResultVOUtils.success("成功"); } @AuthRuleAnnotation("") @PostMapping("/inv/info/deleteDeviceCert") public BaseResponse deleteDeviceCert(@RequestBody DeleteDeviceFileRequest deleteDeviceFileRequest) { boolean b = deviceAssetCertService.deleteById(deleteDeviceFileRequest.getId()); String URL = filePath + FileConstant.DEV_COMMON_FILE_PATH + deleteDeviceFileRequest.getFilePath(); File file = new File(URL); if (file.exists() && file.isFile()) { file.delete(); } return ResultVOUtils.success("成功"); } @AuthRuleAnnotation("") @PostMapping("/inv/info/updateDeviceCert") @Log(title = "资质证书", businessType = BusinessType.UPDATE) public BaseResponse updateDeviceCert(@RequestBody PostDeviceCertRequest postDeviceCertRequest) { DeviceAssetCertEntity deviceAssetCertEntity = new DeviceAssetCertEntity(); BeanUtils.copyProperties(postDeviceCertRequest, deviceAssetCertEntity); LocalDateTime localDateTime1 = postDeviceCertRequest.getVailDate().atStartOfDay(); LocalDateTime localDateTime2= postDeviceCertRequest.getExpireDate().atStartOfDay(); Instant instant = localDateTime1.toInstant(ZoneOffset.UTC); Instant instant2 = localDateTime2.toInstant(ZoneOffset.UTC); long milliseconds = instant.toEpochMilli(); long milliseconds2 = instant2.toEpochMilli(); if (postDeviceCertRequest.getVailDate() != null && postDeviceCertRequest.getExpireDate() != null) { if (milliseconds > milliseconds2) { return ResultVOUtils.error( "生效期不能小于失效期!"); } } String userId = customerService.getUserId()+ ""; LocalDate now = LocalDate.now(); deviceAssetCertEntity.setUpdateTime(now); deviceAssetCertEntity.setUpdateUser(userId); boolean b = deviceAssetCertService.updateDeviceCert(deviceAssetCertEntity); if (b){ return ResultVOUtils.success("修改成功"); }else { return ResultVOUtils.error("修改失败!"); } } }