Pārlūkot izejas kodu

质检相册功能开发

cr 4 nedēļas atpakaļ
vecāks
revīzija
d281976d79

+ 2 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/dto/AlbumDTO.java

@@ -35,4 +35,6 @@ public class AlbumDTO extends Album {
 
 	private List<String> margePdfUrls;
 
+	private String dateValue;
+
 }

+ 2 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/AlbumVO.java

@@ -33,4 +33,6 @@ public class AlbumVO extends Album {
 
 	private String classifyName;
 
+	private String dateValue;
+
 }

+ 29 - 8
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/AlbumController.java

@@ -26,6 +26,7 @@ import javax.validation.Valid;
 
 import org.springblade.common.constant.CommonConstant;
 import org.springblade.common.utils.SnowFlakeUtil;
+import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.oss.model.BladeFile;
@@ -79,7 +80,7 @@ public class AlbumController extends BladeController {
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入album")
 	public R<IPage<AlbumVO>> page(Long projectId,Long contractId,Query query) {
-		IPage<AlbumVO> pages = albumService.selectPage(projectId,contractId,Condition.getPage(query));
+		IPage<AlbumVO> pages = albumService.selectPage1(projectId,contractId,Condition.getPage(query));
 		return R.data(pages);
 	}
 
@@ -102,15 +103,29 @@ public class AlbumController extends BladeController {
 	@ApiOperationSupport(order = 4)
 	@ApiOperation(value = "新增", notes = "传入album")
 	public R save(@Valid @RequestBody AlbumDTO albumDTO) {
-		String file_path = ParamCache.getValue(CommonConstant.SYS_LOCAL_URL);
-		String mergeName = SnowFlakeUtil.getId() + ".pdf", mergeUrl = file_path + "/print//" + mergeName;
-		FileUtils.mergePdfPublicMethods(albumDTO.getMargePdfUrls(), mergeUrl);
-		BladeFile bladeFile = this.newIOSSClient.uploadFile(mergeName, mergeUrl);
+		if(albumDTO.getMargePdfUrls().isEmpty()){
+			throw new ServiceException("相册不能为空");
+		}
 		Album album=new Album();
 		BeanUtil.copy(albumDTO,album);
-		if (bladeFile != null && ObjectUtils.isNotEmpty(bladeFile.getLink())) {
-			album.setImagesPdf(bladeFile.getLink());
+		String dateValue = albumDTO.getDateValue();
+		String[] strings = dateValue.split("~");
+		album.setStartDate(strings[0]);
+		album.setEndDate(strings[1]);
+		if(albumDTO.getMargePdfUrls().size()>1){
+			String file_path = FileUtils.getSysLocalFileUrl();
+			Long id = SnowFlakeUtil.getId();
+			String mergeName=id+".pdf";
+			String mergeUrl = file_path + "/nodePDF/"+id+".pdf";;
+			FileUtils.mergePdfPublicMethods(albumDTO.getMargePdfUrls(), mergeUrl);
+			BladeFile bladeFile = this.newIOSSClient.uploadFile(mergeName, mergeUrl);
+			if (bladeFile != null && ObjectUtils.isNotEmpty(bladeFile.getLink())) {
+				album.setImagesPdf(bladeFile.getLink());
+			}
+		}else {
+			album.setImagesPdf(albumDTO.getMargePdfUrls().get(0));
 		}
+
 		return R.status(albumService.save(album));
 	}
 
@@ -120,7 +135,13 @@ public class AlbumController extends BladeController {
 	@PostMapping("/update")
 	@ApiOperationSupport(order = 5)
 	@ApiOperation(value = "修改", notes = "传入album")
-	public R update(@Valid @RequestBody Album album) {
+	public R update(@Valid @RequestBody AlbumDTO albumDTO) {
+		Album album=new Album();
+		BeanUtil.copy(albumDTO,album);
+		String dateValue = albumDTO.getDateValue();
+		String[] strings = dateValue.split("~");
+		album.setStartDate(strings[0]);
+		album.setEndDate(strings[1]);
 		return R.status(albumService.updateById(album));
 	}
 

+ 3 - 9
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/AlbumMapper.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.manager.mapper;
 
+import org.apache.ibatis.annotations.Param;
 import org.springblade.manager.entity.Album;
 import org.springblade.manager.vo.AlbumVO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -30,14 +31,7 @@ import java.util.List;
  */
 public interface AlbumMapper extends BaseMapper<Album> {
 
-	/**
-	 * 自定义分页
-	 *
-	 * @param page
-	 * @param album
-	 * @return
-	 */
-	List<AlbumVO> selectAlbumPage(IPage page, AlbumVO album);
 
-    List<AlbumVO> selectPage1(Long projectId, Long contractId, IPage<AlbumVO> page);
+
+    List<AlbumVO> selectAlbumPages(@Param("projectId") Long projectId, @Param("contractId")Long contractId, @Param("current")long current, @Param("size")long size);
 }

+ 6 - 6
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/AlbumMapper.xml

@@ -24,12 +24,12 @@
     </resultMap>
 
 
-    <select id="selectAlbumPage" resultMap="albumResultMap">
-        select * from m_album where is_deleted = 0
-    </select>
-    <select id="selectPage1" resultType="org.springblade.manager.vo.AlbumVO">
-        select a.*,m.classf_name as classifyName from m_album a left join m_image_classification_config m on a.classify_id=m.id
+
+    <select id="selectAlbumPages" resultType="org.springblade.manager.vo.AlbumVO">
+        select a.*,m.classf_name as classifyName,
+               CONCAT(a.start_date, '~', a.end_date) as dateValue
+        from m_album a left join m_image_classification_config m on a.classify_id=m.id
         where a.project_id=#{projectId} and a.contract_id=#{contractId} and a.is_deleted = 0
-        limit #{page.offset},#{page.size}
+            limit #{current},#{size}
     </select>
 </mapper>

+ 1 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/service/IAlbumService.java

@@ -39,5 +39,5 @@ public interface IAlbumService extends BaseService<Album> {
 //	IPage<AlbumVO> selectAlbumPage(IPage<AlbumVO> page, AlbumVO album);
 
 
-	IPage<AlbumVO> selectPage(Long projectId, Long contractId, IPage<AlbumVO> page);
+	IPage<AlbumVO> selectPage1(Long projectId, Long contractId, IPage<AlbumVO> page);
 }

+ 9 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/AlbumServiceImpl.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.manager.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import org.springblade.manager.entity.Album;
 import org.springblade.manager.vo.AlbumVO;
 import org.springblade.manager.mapper.AlbumMapper;
@@ -24,6 +25,8 @@ import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import java.util.List;
+
 /**
  *  服务实现类
  *
@@ -39,8 +42,12 @@ public class AlbumServiceImpl extends BaseServiceImpl<AlbumMapper, Album> implem
 //	}
 
 	@Override
-	public IPage<AlbumVO> selectPage(Long projectId, Long contractId, IPage<AlbumVO> page) {
-		return page.setRecords(baseMapper.selectPage1(projectId,contractId,page));
+	public IPage<AlbumVO> selectPage1(Long projectId, Long contractId, IPage<AlbumVO> page) {
+		Long count = baseMapper.selectCount(new LambdaQueryWrapper<>(Album.class).eq(Album::getProjectId, projectId).eq(Album::getContractId, contractId));
+		page.setTotal(count);
+		List<AlbumVO> albumVOS = baseMapper.selectAlbumPages(projectId, contractId, (page.getCurrent()-1)*page.getSize(),page.getSize());
+		page.setRecords(albumVOS);
+		return page;
 	}