From 81da61b828e29b7745e1382dfbbaeb685dc083ef Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 23 一月 2024 17:17:55 +0800 Subject: [PATCH] 抖音转链修改 --- fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialCardServiceImpl.java | 499 ++++++++++++++++++++++++++++-------------------------- 1 files changed, 260 insertions(+), 239 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialCardServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialCardServiceImpl.java index 1dc58ad..d3211bf 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialCardServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialCardServiceImpl.java @@ -1,239 +1,260 @@ -package com.yeshi.fanli.service.impl.homemodule; - -import java.io.InputStream; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.List; -import java.util.UUID; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.multipart.MultipartFile; -import org.yeshi.utils.tencentcloud.COSManager; - -import com.yeshi.fanli.dao.mybatis.homemodule.SpecialCardMapper; -import com.yeshi.fanli.entity.bus.homemodule.SpecialCard; -import com.yeshi.fanli.entity.bus.homemodule.SpecialPlace; -import com.yeshi.fanli.exception.homemodule.SpecialCardException; -import com.yeshi.fanli.service.inter.config.BusinessSystemService; -import com.yeshi.fanli.service.inter.homemodule.SpecialCardService; -import com.yeshi.fanli.service.inter.homemodule.SpecialPlaceService; -import com.yeshi.fanli.service.inter.homemodule.SpecialService; - - -@Service -public class SpecialCardServiceImpl implements SpecialCardService { - - @Resource - private SpecialCardMapper specialCardMapper; - - @Resource - private BusinessSystemService businessSystemService; - - @Resource - private SpecialService specialService; - - @Resource - private SpecialPlaceService specialPlaceService; - - - @Override - public void saveObject(MultipartFile file, SpecialCard record) throws SpecialCardException, Exception{ - - String name = record.getName(); - if (name == null || name.trim().length() == 0) { - throw new SpecialCardException(1, "鍚嶇О涓嶈兘涓虹┖"); - } - - Long placeId = record.getPlaceId(); - if (placeId == null || placeId == 0) { - throw new SpecialCardException(1, "浣跨敤浣嶇疆涓嶈兘涓虹┖"); - } - - // 鏃堕棿浠诲姟鎺у埗 - conversionTime(record); - - - // 鍥剧墖涓婁紶 - String picture = null; - if (file != null) { - picture = uploadPicture(file); - } - - Integer state = record.getState(); - if (state == null) { - record.setState(0); - } - - Long id = record.getId(); - if (id == null) { - record.setBottomPicture(picture); - - record.setCreatetime(new Date()); - record.setUpdatetime(new Date()); - specialCardMapper.insert(record); - } else { - // 淇敼 - SpecialCard resultObj = specialCardMapper.selectByPrimaryKey(id); - if (resultObj == null) { - throw new SpecialCardException(1, "淇敼鍐呭宸蹭笉瀛樺湪"); - } - - // 鍒犻櫎鍥剧墖 - Boolean delPicture = record.getDelPicture(); - if (delPicture != null && delPicture) { - removePicture(resultObj.getBottomPicture()); - resultObj.setBottomPicture(null); - } - - if (picture != null && picture.trim().length() > 0) { - // 鍒犻櫎鑰佸浘 - removePicture(resultObj.getBottomPicture()); - // 瀛樺偍鏂板浘 - record.setBottomPicture(picture); - } else { - record.setBottomPicture(resultObj.getBottomPicture()); - } - - record.setCreatetime(resultObj.getCreatetime()); - record.setUpdatetime(new Date()); - specialCardMapper.updateByPrimaryKey(record); - } - } - - /** - * web娈垫椂闂磋浆鎹� - * @param record - */ - public void conversionTime(SpecialCard record) throws SpecialCardException, Exception { - // 鏄惁鏃堕棿鎺у埗 - if(!record.isTimeTask()) { - record.setStartTime(null); - record.setEndTime(null); - } else { - String startTime_str = record.getStartTime_str(); - String endTime_str = record.getEndTime_str(); - - if ((startTime_str == null|| startTime_str.trim().length() == 0) - && (endTime_str == null || endTime_str.trim().length() == 0)) { - throw new SpecialCardException(1, "璇疯緭鍏ユ帶鍒舵椂闂�"); - } else { - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); - if (startTime_str != null && startTime_str.trim().length() > 0) { - startTime_str = startTime_str.replaceAll("T", " "); - record.setStartTime(format.parse(startTime_str)); - } - - if (endTime_str != null && endTime_str.trim().length() > 0) { - endTime_str = endTime_str.replaceAll("T", " "); - record.setEndTime(format.parse(endTime_str)); - } - } - } - } - - - /** - * 涓婁紶鍥剧墖 - * @param file - * @return - * @throws Exception - */ - public String uploadPicture(MultipartFile file) throws Exception { - - // 鏂囦欢瑙f瀽 - InputStream inputStream = file.getInputStream(); - String contentType = file.getContentType(); - String type = contentType.substring(contentType.indexOf("/") + 1); - - // 鏂囦欢璺緞 - String filePath="/img/SpecialCard/"+UUID.randomUUID().toString().replace("-", "") + "." + type; - // 鎵ц涓婁紶 - String fileLink= COSManager.getInstance().uploadFile(inputStream, filePath).getUrl(); - - return fileLink; - } - - /** - * 鍒犻櫎鍥剧墖-涓嶆洿鏂版暟鎹簱 - * @param record - * @throws Exception - */ - public void removePicture(String picture) throws Exception { - if (picture != null && picture.trim().length() > 0) { - COSManager.getInstance().deleteFile(picture); - } - } - - - @Override - @Transactional(rollbackFor=Exception.class) - public int deleteBatchByPrimaryKey(List<Long> list) throws Exception{ - specialService.deleteBatchByCardID(list); - return specialCardMapper.deleteBatchByPrimaryKey(list); - } - - @Override - public List<SpecialCard> listQuery(long start, int count, String key, Integer sort) { - - List<SpecialCard> listObj = specialCardMapper.listQuery(start, count, key); - if (listObj == null || listObj.size() == 0) { - return null; - } - - for (SpecialCard specialCard: listObj) { - long totalSpecial= specialService.countlistQueryByCard(specialCard.getId(), null, null); - specialCard.setTotalSpecial(totalSpecial); - - Date startTime = specialCard.getStartTime(); - Date endTime = specialCard.getEndTime(); - if (startTime == null && endTime == null) { - specialCard.setTimeTask(false); - specialCard.setStartTime_str(""); - specialCard.setEndTime_str(""); - } else { - specialCard.setTimeTask(true); - - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm"); - if (startTime == null) { - specialCard.setStartTime_str(""); - } else { - specialCard.setStartTime_str(sdf.format(startTime)); - } - - if (endTime == null) { - specialCard.setEndTime_str(""); - } else { - specialCard.setEndTime_str(sdf.format(endTime)); - } - } - - Long placeId = specialCard.getPlaceId(); - if (placeId != null) { - SpecialPlace specialPlace = specialPlaceService.selectByPrimaryKey(placeId); - if (specialPlace != null) { - specialCard.setPlaceName(specialPlace.getName()); - } - } - - } - - return listObj; - } - - @Override - public long countlistQuery(String key) { - return specialCardMapper.countlistQuery(key); - } - - @Override - public String getbottomPicture(String placeKey) { - return specialCardMapper.getbottomPicture(placeKey); - } - - - - -} +package com.yeshi.fanli.service.impl.homemodule; + +import java.io.InputStream; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.UUID; + +import javax.annotation.Resource; + +import com.yeshi.fanli.entity.SystemEnum; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; +import org.yeshi.utils.tencentcloud.COSManager; + +import com.yeshi.fanli.dao.mybatis.homemodule.SpecialCardMapper; +import com.yeshi.fanli.entity.bus.homemodule.SpecialCard; +import com.yeshi.fanli.entity.bus.homemodule.SpecialPlace; +import com.yeshi.fanli.exception.homemodule.SpecialCardException; +import com.yeshi.fanli.service.inter.config.BusinessSystemService; +import com.yeshi.fanli.service.inter.homemodule.SpecialCardService; +import com.yeshi.fanli.service.inter.homemodule.SpecialPlaceService; +import com.yeshi.fanli.service.inter.homemodule.SpecialService; +import com.yeshi.fanli.util.FilePathEnum; +import com.yeshi.fanli.util.StringUtil; + + +@Service +public class SpecialCardServiceImpl implements SpecialCardService { + + @Resource + private SpecialCardMapper specialCardMapper; + + @Resource + private SpecialService specialService; + + @Resource + private SpecialPlaceService specialPlaceService; + + + @Override + public void saveObject(MultipartFile file, SpecialCard record) throws SpecialCardException, Exception{ + + String name = record.getName(); + if (name == null || name.trim().length() == 0) { + throw new SpecialCardException(1, "鍚嶇О涓嶈兘涓虹┖"); + } + + Long placeId = record.getPlaceId(); + if (placeId == null || placeId == 0) { + throw new SpecialCardException(1, "浣跨敤浣嶇疆涓嶈兘涓虹┖"); + } + + // 鏃堕棿浠诲姟鎺у埗 + handleTime(record); + + + // 鍥剧墖涓婁紶 + String picture = null; + if (file != null) { + picture = uploadPicture(file); + } + + Integer state = record.getState(); + if (state == null) { + record.setState(0); + } + + Long id = record.getId(); + if (id == null) { + record.setBottomPicture(picture); + + record.setCreatetime(new Date()); + record.setUpdatetime(new Date()); + specialCardMapper.insert(record); + } else { + // 淇敼 + SpecialCard resultObj = specialCardMapper.selectByPrimaryKey(id); + if (resultObj == null) { + throw new SpecialCardException(1, "淇敼鍐呭宸蹭笉瀛樺湪"); + } + + // 鍒犻櫎鍥剧墖 + Boolean delPicture = record.getDelPicture(); + if (delPicture != null && delPicture) { + removePicture(resultObj.getBottomPicture()); + resultObj.setBottomPicture(null); + } + + if (picture != null && picture.trim().length() > 0) { + // 鍒犻櫎鑰佸浘 + removePicture(resultObj.getBottomPicture()); + // 瀛樺偍鏂板浘 + record.setBottomPicture(picture); + } else { + record.setBottomPicture(resultObj.getBottomPicture()); + } + + record.setCreatetime(resultObj.getCreatetime()); + record.setUpdatetime(new Date()); + specialCardMapper.updateByPrimaryKey(record); + } + } + + /** + * web娈垫椂闂磋浆鎹� + * + * @param record + */ + private void handleTime(SpecialCard record) throws SpecialCardException, Exception { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + + String startTime_str = record.getStartTime_str(); + if (!StringUtil.isNullOrEmpty(startTime_str)) { + startTime_str = startTime_str.replaceAll("T", " "); + record.setStartTime(format.parse(startTime_str)); + } + + String endTime_str = record.getEndTime_str(); + if (!StringUtil.isNullOrEmpty(endTime_str)) { + endTime_str = endTime_str.replaceAll("T", " "); + record.setEndTime(format.parse(endTime_str)); + } + + if (record.getEndTime() != null && record.getStartTime() != null + && record.getStartTime().getTime() > record.getEndTime().getTime()) { + throw new SpecialCardException(1, "璧峰鏃堕棿涓嶈兘灏忎簬缁撴潫鏃堕棿"); + } + } + + + + /** + * 涓婁紶鍥剧墖 + * @param file + * @return + * @throws Exception + */ + public String uploadPicture(MultipartFile file) throws Exception { + + // 鏂囦欢瑙f瀽 + InputStream inputStream = file.getInputStream(); + String contentType = file.getContentType(); + String type = contentType.substring(contentType.indexOf("/") + 1); + + // 鏂囦欢璺緞 + String filePath=FilePathEnum.specialCard.getPath() +UUID.randomUUID().toString().replace("-", "") + "." + type; + // 鎵ц涓婁紶 + String fileLink= COSManager.getInstance().uploadFile(inputStream, filePath).getUrl(); + + return fileLink; + } + + /** + * 鍒犻櫎鍥剧墖-涓嶆洿鏂版暟鎹簱 + * @throws Exception + */ + public void removePicture(String picture) throws Exception { + if (picture != null && picture.trim().length() > 0) { + COSManager.getInstance().deleteFile(picture); + } + } + + + @Override + @Transactional(rollbackFor=Exception.class) + public int deleteBatchByPrimaryKey(List<Long> list) throws Exception{ + specialService.deleteBatchByCardID(list); + return specialCardMapper.deleteBatchByPrimaryKey(list); + } + + @Override + public List<SpecialCard> listQuery(long start, int count, String key, Integer sort, List<Long> listPid, SystemEnum system) { + + List<SpecialCard> listObj = specialCardMapper.listQuery(start, count, key, listPid,system); + if (listObj == null || listObj.size() == 0) { + return null; + } + + for (SpecialCard specialCard: listObj) { + long totalSpecial= specialService.countlistQueryByCard(specialCard.getId(), null, null); + specialCard.setTotalSpecial(totalSpecial); + + // 灏嗙姸鎬佸彉鍖� + if (specialCard.getState() != null && specialCard.getState() == 0) { + specialCard.setState(1); + } else { + specialCard.setState(0); + } + + + Date startTime = specialCard.getStartTime(); + Date endTime = specialCard.getEndTime(); + if (startTime == null && endTime == null) { + specialCard.setStartTime_str(""); + specialCard.setEndTime_str(""); + } else { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm"); + if (startTime == null) { + specialCard.setStartTime_str(""); + } else { + specialCard.setStartTime_str(sdf.format(startTime)); + } + + if (endTime == null) { + specialCard.setEndTime_str(""); + } else { + specialCard.setEndTime_str(sdf.format(endTime)); + } + } + + Long placeId = specialCard.getPlaceId(); + if (placeId != null) { + SpecialPlace specialPlace = specialPlaceService.selectByPrimaryKey(placeId); + if (specialPlace != null) { + specialCard.setPlaceName(specialPlace.getName()); + } + } + } + return listObj; + } + + @Override + public long countlistQuery(String key, List<Long> listPid, SystemEnum system) { + return specialCardMapper.countlistQuery(key, listPid,system); + } + + @Override + public String getbottomPicture(String placeKey, SystemEnum system) { + return specialCardMapper.getbottomPicture(placeKey,system); + } + + + @Override + public void switchState(Long id) throws SpecialCardException { + if (id == null) { + throw new SpecialCardException(1, "璇蜂紶閫掓纭弬鏁�"); + } + + SpecialCard resultObj = specialCardMapper.selectByPrimaryKey(id); + if (resultObj == null) { + throw new SpecialCardException(1, "姝ゅ唴瀹瑰凡涓嶅瓨鍦�"); + } + + Integer state = resultObj.getState(); + if (state == null || state == 0) { + state = 1; + } else { + state = 0; + } + + SpecialCard updateObj = new SpecialCard(); + updateObj.setId(id); + updateObj.setState(state); + specialCardMapper.updateByPrimaryKeySelective(updateObj); + } + + +} -- Gitblit v1.8.0