From 8e825039f9e55e7b3ff0bae9f9f671c9503f6af8 Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@S0ZHK00LKCA6OYY>
Date: 星期六, 10 十一月 2018 10:55:10 +0800
Subject: [PATCH] Merge branch 'master' of ssh://admin@193.112.35.168:29418/fanli-server.git

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialServiceImpl.java |  112 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 111 insertions(+), 1 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialServiceImpl.java
index 8c95243..36a7495 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialServiceImpl.java
@@ -1,12 +1,22 @@
 package com.yeshi.fanli.service.impl.homemodule;
 
-import javax.annotation.Resource;
+import java.io.InputStream;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
 
+import javax.annotation.Resource;
+import javax.transaction.Transactional;
+
+import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+import org.yeshi.utils.tencentcloud.COSManager;
 
 import com.yeshi.fanli.dao.mybatis.homemodule.SpecialMapper;
 import com.yeshi.fanli.entity.bus.homemodule.Special;
 import com.yeshi.fanli.service.inter.homemodule.SpecialService;
+import com.yeshi.fanli.util.StringUtil;
 
 
 @Service
@@ -45,5 +55,105 @@
 	public int updateByPrimaryKey(Special record) {
 		return specialMapper.updateByPrimaryKey(record);
 	}
+	
+	@Override
+	@Transactional
+	public int deleteBatchByPrimaryKey(List<Long> list) throws Exception{
+		
+		List<Special> listSpecial = specialMapper.queryByListPrimaryKey(list);
+		for (Special special: listSpecial) {
+			String src = special.getPicture();
+			if (!StringUtil.isNullOrEmpty(src)) {
+				COSManager.getInstance().deleteFile(src);
+			}
+		}
+		
+		return specialMapper.deleteBatchByPrimaryKey(list);
+	}
+	
+	@Override
+	public int deleteBatchByCardID(List<Long> list) throws Exception{
+		List<Special> listSpecial = specialMapper.queryByListCardID(list);
+		for (Special special: listSpecial) {
+			String src = special.getPicture();
+			if (!StringUtil.isNullOrEmpty(src)) {
+				COSManager.getInstance().deleteFile(src);
+			}
+		}
+		
+		return specialMapper.deleteBatchByCardID(list);
+	}
+	
+	
+	@Override
+	public List<Special> listQueryByCard(long start, int count, Long card, String key){
+		return specialMapper.listQueryByCard(start, count, card, key);
+	}
+	
+	@Override
+	public long countlistQueryByCard(Long card, String key) {
+		return specialMapper.countlistQueryByCard(card, key);
+	}
+	
+	@Override
+	public List<Special> getOrderByCardID(Long cardId, Integer type, Integer order) {
+		return specialMapper.getOrderByCardID(cardId, type, order);
+	}
+	
+	@Override
+	public int getMaxOrderByCard(Long card) {
+		return specialMapper.getMaxOrderByCard(card);
+	}
 
+	@Override
+	@Cacheable(value = "configCache", key = "'listBySystemAndCard-'+#card+'-'+#systemId")
+	public List<Special> listBySystemAndCard( String card, Long systemId) {
+		return specialMapper.listBySystemAndCard(card, systemId);
+	}
+
+	
+	@Override
+	public void uploadPicture(MultipartFile file, Special record, Long cardId) throws Exception {
+		
+		InputStream inputStream = file.getInputStream();
+		String contentType = file.getContentType();
+		String type = contentType.substring(contentType.indexOf("/") + 1);
+		// 涓婁紶鏂囦欢鐩稿浣嶇疆
+		String fileUrl="SpecialPic/"+UUID.randomUUID().toString().replace("-", "") + "." + type;
+		
+		/*  淇敼鍥剧墖鏃讹紝鍏堝垹闄ゅ凡瀛樺湪鍥剧墖  */
+		if (record != null) { 
+			String src = record.getPicture();
+			if (!StringUtil.isNullOrEmpty(src)) {
+				COSManager.getInstance().deleteFile(src);
+			}
+		}
+		
+		String uploadFilePath = COSManager.getInstance().uploadFile(inputStream, fileUrl).getUrl();
+		
+		/*  鏇存柊鏁版嵁搴撲俊鎭�  */
+		if (!StringUtil.isNullOrEmpty(uploadFilePath)) {
+			
+			if (record != null) {
+				record.setUpdatetime(new Date());
+				record.setPicture(uploadFilePath);
+				updateByPrimaryKeySelective(record);
+			} else {
+				record = new Special();
+				record.setPicture(uploadFilePath);
+				record.setCreatetime(new Date());
+				record.setUpdatetime(new Date());
+				record.setCardId(cardId);
+				record.setState(0L);
+				
+				int maxOrder = getMaxOrderByCard(cardId);
+				record.setOrderby(maxOrder + 1);
+				record.setShowType("default");
+				insertSelective(record);
+			}
+			
+		}
+	}
+
+	
 }

--
Gitblit v1.8.0