From 8cb7ec4a35a38ae91d0eed17cde711e81d2b2bbf Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期二, 14 五月 2019 11:37:49 +0800
Subject: [PATCH] 合并
---
fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SwiperPictureServiceImpl.java | 203 +++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 167 insertions(+), 36 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SwiperPictureServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SwiperPictureServiceImpl.java
index ac5dca1..c18d7fd 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SwiperPictureServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SwiperPictureServiceImpl.java
@@ -1,23 +1,27 @@
package com.yeshi.fanli.service.impl.homemodule;
import java.io.InputStream;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
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.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
+import org.yeshi.utils.tencentcloud.COSManager;
import com.yeshi.fanli.dao.mybatis.homemodule.SwiperPictureMapper;
import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture;
+import com.yeshi.fanli.entity.common.JumpDetailV2;
import com.yeshi.fanli.exception.banner.SwiperPictureException;
+import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService;
import com.yeshi.fanli.util.StringUtil;
-
-import org.yeshi.utils.tencentcloud.COSManager;
@Service
public class SwiperPictureServiceImpl implements SwiperPictureService {
@@ -25,15 +29,10 @@
@Resource
private SwiperPictureMapper swiperPictureMapper;
- @Override
- public int deleteByPrimaryKey(Long id) throws SwiperPictureException{
- return swiperPictureMapper.deleteByPrimaryKey(id);
- }
+ @Resource
+ private JumpDetailV2Service jumpDetailV2Service;
+
- @Override
- public int insert(SwiperPicture record) throws SwiperPictureException{
- return swiperPictureMapper.insert(record);
- }
@Override
public int insertSelective(SwiperPicture record) throws SwiperPictureException{
@@ -65,6 +64,143 @@
return swiperPictureMapper.countQueryByBannerID(bannerId);
}
+
+ @Override
+ public void saveObject(MultipartFile file, SwiperPicture record, String jumpType) throws SwiperPictureException, Exception{
+
+ if (record == null) {
+ throw new SwiperPictureException(1, "鍙傛暟涓嶈兘涓虹┖");
+ }
+
+ Long bannerId = record.getBannerId();
+ if (bannerId == null) {
+ throw new SwiperPictureException(1, "鏍囪瘑绠$悊ID涓嶈兘涓虹┖");
+ }
+
+ String params = record.getParams();
+ if (params == null || params.trim().length() == 0 || "null".equalsIgnoreCase(params) ) {
+ record.setParams(null);
+ } else if (!StringUtil.isJson(params)) {
+ throw new SwiperPictureException(1, "璺宠浆鍙傛暟闈濲SON鏍煎紡");
+ }
+
+ if (!StringUtil.isNullOrEmpty(jumpType)) {
+ List<JumpDetailV2> listByType = jumpDetailV2Service.listByType(jumpType);
+ if (listByType !=null && listByType.size() > 0) {
+ record.setJumpDetail(listByType.get(0));
+ }
+ }
+
+ try {
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+ String startTime_str = record.getStartTime_str();
+ if (startTime_str != null && startTime_str.trim().length() > 0) {
+ startTime_str = startTime_str.replaceAll("T", " ");
+ record.setStartTime(format.parse(startTime_str));
+ }
+
+ String endTime_str = record.getEndTime_str();
+ if (endTime_str != null && endTime_str.trim().length() > 0) {
+ endTime_str = endTime_str.replaceAll("T", " ");
+ record.setEndTime(format.parse(endTime_str));
+ }
+
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+
+ String remark = record.getRemark();
+ if (remark != null && (remark.trim().length() == 0 || remark.equalsIgnoreCase("null"))) {
+ record.setRemark(null);
+ }
+
+
+ String picture = null;
+ if (file != null) {
+ picture = uploadPicture(file);
+ }
+
+ Long id = record.getId();
+
+ if (id == null) {
+ int maxOrder = swiperPictureMapper.getMaxOrderByBannerID(bannerId);
+ record.setOrder(maxOrder + 1);
+
+ Integer state = record.getState();
+ // 榛樿鍋滅敤
+ if (state == null) {
+ record.setState(1);
+ }
+
+ Integer autoControl = record.getAutoControl();
+ if (autoControl == null) {
+ // 榛樿闈炵郴缁熸帶鍒�
+ record.setAutoControl(1);
+ }
+ record.setCreatetime(new Date());
+ record.setUpdatetime(new Date());
+ record.setSrc(picture);
+
+ swiperPictureMapper.insert(record);
+ } else {
+ // 淇敼
+ SwiperPicture resultObj = swiperPictureMapper.selectByPrimaryKey(id);
+ if (resultObj == null) {
+ throw new SwiperPictureException(1, "鍙傛暟涓嶈兘涓虹┖");
+ }
+
+ if (picture != null && picture.trim().length() > 0) {
+ // 鍒犻櫎宸插瓨鍦ㄥ浘鐗�
+ removePicture(resultObj);
+
+ record.setSrc(picture);
+ } else {
+ record.setSrc(resultObj.getSrc());
+ }
+
+ record.setOrder(resultObj.getOrder());
+ record.setCreatetime(resultObj.getCreatetime());
+ record.setUpdatetime(new Date());
+
+ swiperPictureMapper.updateByPrimaryKey(record);
+ }
+ }
+
+
+ /**
+ * 涓婁紶鍥剧墖
+ * @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/swiperPic/"+UUID.randomUUID().toString().replace("-", "") + "." + type;
+ // 鎵ц涓婁紶
+ String fileLink= COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
+
+ return fileLink;
+ }
+
+
+ /**
+ * 鍒犻櫎鍥剧墖-涓嶆洿鏂版暟鎹簱
+ * @param record
+ * @throws Exception
+ */
+ public void removePicture(SwiperPicture record) throws Exception {
+ String picture = record.getSrc();
+ if (picture != null && picture.trim().length() > 0) {
+ COSManager.getInstance().deleteFile(picture);
+ }
+ }
+
@Override
@Transactional
public int deleteBatchByPrimaryKey(List<Long> list) throws SwiperPictureException{
@@ -90,30 +226,6 @@
return swiperPictureMapper.queryByListBannerID(list);
}
- @Override
- public void uploadPicture(MultipartFile file, SwiperPicture record) throws Exception {
-
- InputStream inputStream = file.getInputStream();
- String contentType = file.getContentType();
- String type = contentType.substring(contentType.indexOf("/") + 1);
- // 涓婁紶鏂囦欢鐩稿浣嶇疆
- String fileUrl="swiperPic/"+UUID.randomUUID().toString().replace("-", "") + "." + type;
-
- /* 淇敼鍥剧墖鏃讹紝鍏堝垹闄ゅ凡瀛樺湪鍥剧墖 */
- String src = record.getSrc();
- if (!StringUtil.isNullOrEmpty(src)) {
- COSManager.getInstance().deleteFile(src);
- }
-
- String uploadFilePath = COSManager.getInstance().uploadFile(inputStream, fileUrl).getUrl();
-
- /* 鏇存柊鏁版嵁搴撲俊鎭� */
- if (!StringUtil.isNullOrEmpty(uploadFilePath)) {
- record.setSrc(uploadFilePath);
- record.setUpdatetime(new Date());
- updateByPrimaryKeySelective(record);
- }
- }
@Override
public List<SwiperPicture> getOrderByBannerID(Long bannerId, Integer type, Integer order) throws SwiperPictureException {
@@ -126,8 +238,27 @@
}
@Override
+ @Cacheable(value = "bannerCache", key = "'getByBannerCard-'+#card")
public List<SwiperPicture> getByBannerCard(String card) throws SwiperPictureException {
- return swiperPictureMapper.getByBannerCard(card);
+ List<SwiperPicture> list = swiperPictureMapper.getByBannerCard(card);
+ if (list != null && list.size() > 0) {
+ for (SwiperPicture swiperPicture: list) {
+ boolean needLogin = swiperPicture.isJumpNeedLogin();
+ JumpDetailV2 jumpDetail = swiperPicture.getJumpDetail();
+ if (jumpDetail != null) {
+ jumpDetail.setNeedLogin(needLogin);
+ swiperPicture.setJumpDetail(jumpDetail);
+ }
+ }
+ }
+ return list;
+ }
+
+
+ @Override
+ @Cacheable(value = "bannerCache", key = "'getByBannerId-'+#bannerId")
+ public List<SwiperPicture> getByBannerId(Long bannerId) throws SwiperPictureException {
+ return swiperPictureMapper.getByBannerId(bannerId);
}
}
--
Gitblit v1.8.0