| | |
| | | import com.gkhy.exam.common.constant.UserConstant; |
| | | import com.gkhy.exam.common.domain.entity.SysUser; |
| | | import com.gkhy.exam.common.enums.PrivatizeEnum; |
| | | import com.gkhy.exam.common.enums.ResourceTypeEnum; |
| | | import com.gkhy.exam.common.enums.UserTypeEnum; |
| | | import com.gkhy.exam.common.exception.ApiException; |
| | | import com.gkhy.exam.common.utils.PageUtils; |
| | | import com.gkhy.exam.common.utils.SecurityUtils; |
| | | import com.gkhy.exam.system.domain.ExResource; |
| | | import com.gkhy.exam.system.domain.vo.UploadObjectVO; |
| | | import com.gkhy.exam.system.mapper.ExResourceMapper; |
| | | import com.gkhy.exam.system.service.ExResourceService; |
| | | import com.gkhy.exam.system.service.SysCommonService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | |
| | | @Override |
| | | public int insertResource(ExResource resource) { |
| | | checkUserAllowed(resource); |
| | | if(!checkNameUnique(resource)){ |
| | | throw new ApiException("资源名称已存在"); |
| | | if(resource.getResourceType().equals(ResourceTypeEnum.VIDEO.getCode())||resource.getResourceType().equals(ResourceTypeEnum.AUDIO.getCode())){ |
| | | if(resource.getResourceLength()==null){ |
| | | throw new ApiException("视频或者音频时长不能为空"); |
| | | } |
| | | }else{ |
| | | if(resource.getDocPage()==null){ |
| | | throw new ApiException("文档页数不能为空"); |
| | | } |
| | | } |
| | | SysUser user=SecurityUtils.getLoginUser().getUser(); |
| | | if(user.getUserType().equals(UserTypeEnum.SYSTEM_USER.getCode())){ |
| | |
| | | }else{ |
| | | resource.setCompanyId(user.getCompanyId()); |
| | | } |
| | | UploadObjectVO uploadObjectVO =commonService.doUpload(resource.getFile()); |
| | | resource.setResourceUri(uploadObjectVO.getPath()); |
| | | resource.setVideoVid(uploadObjectVO.getFilename()); |
| | | resource.setResourceSize(uploadObjectVO.getSize()); |
| | | checkUserAllowed(resource); |
| | | if(!checkNameUnique(resource)){ |
| | | throw new ApiException("资源名称已存在"); |
| | | } |
| | | resource.setCreateBy(SecurityUtils.getUsername()); |
| | | int row=baseMapper.insert(resource); |
| | | if(row<1){ |
| | | try { |
| | | //删除原文件 |
| | | commonService.removeFile(uploadObjectVO.getPath()); |
| | | }catch (Exception e){ |
| | | log.error("新增资源,删除文件失败="+e.getMessage()); |
| | | } |
| | | throw new ApiException("新增资源失败"); |
| | | } |
| | | return row; |
| | |
| | | |
| | | @Override |
| | | public int updateResource(ExResource resource) { |
| | | if(resource.getResourceType().equals(ResourceTypeEnum.VIDEO.getCode())||resource.getResourceType().equals(ResourceTypeEnum.AUDIO.getCode())){ |
| | | if(resource.getResourceLength()==null){ |
| | | throw new ApiException("视频或者音频时长不能为空"); |
| | | } |
| | | }else{ |
| | | if(resource.getDocPage()==null){ |
| | | throw new ApiException("文档页数不能为空"); |
| | | } |
| | | } |
| | | checkUserAllowed(resource); |
| | | if(!checkNameUnique(resource)){ |
| | | throw new ApiException("资源名称已存在"); |
| | |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = RuntimeException.class) |
| | | public int deleteResourceById(Long resourceId) { |
| | | //校验资源是否绑定 |
| | | checkUserAllowed(baseMapper.selectById(resourceId)); |
| | |
| | | throw new ApiException("删除资源失败"); |
| | | } |
| | | //删除文件 |
| | | commonService.removeFile(resource.getResourceUri()); |
| | | commonService.removeMinioFile(resourceId,resource.getResourcePath()); |
| | | return row; |
| | | } |
| | | |