From 1da17d215d48e3e3aa9e8d7a3ef526904764f408 Mon Sep 17 00:00:00 2001 From: yujian <yujian> Date: 星期一, 08 四月 2019 14:06:12 +0800 Subject: [PATCH] 1.5.3部分需求 提交 --- fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/HomeNavbarServiceImpl.java | 255 +++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 196 insertions(+), 59 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/HomeNavbarServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/HomeNavbarServiceImpl.java index b499d5d..7de7bc6 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/HomeNavbarServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/HomeNavbarServiceImpl.java @@ -1,6 +1,7 @@ package com.yeshi.fanli.service.impl.homemodule; import java.io.InputStream; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -19,6 +20,8 @@ import com.yeshi.fanli.entity.bus.homemodule.HomeNavbar; import com.yeshi.fanli.entity.bus.homemodule.SuperHomeNavbar; import com.yeshi.fanli.entity.system.BusinessSystem; +import com.yeshi.fanli.exception.ActivityException; +import com.yeshi.fanli.exception.homemodule.HomeNavbarException; import com.yeshi.fanli.service.inter.config.BusinessSystemService; import com.yeshi.fanli.service.inter.homemodule.HomeNavbarService; import com.yeshi.fanli.util.StringUtil; @@ -35,36 +38,6 @@ private SuperHomeNavbarMapper superHomeNavbarMapper; - @Override - public int deleteByPrimaryKey(Long id) { - return homeNavbarMapper.deleteByPrimaryKey(id); - } - - @Override - public int insert(HomeNavbar record) { - return homeNavbarMapper.insert(record); - } - - @Override - public int insertSelective(HomeNavbar record) { - return homeNavbarMapper.insertSelective(record); - } - - @Override - public HomeNavbar selectByPrimaryKey(Long id) { - return homeNavbarMapper.selectByPrimaryKey(id); - } - - @Override - public int updateByPrimaryKeySelective(HomeNavbar record) { - return homeNavbarMapper.updateByPrimaryKeySelective(record); - } - - @Override - public int updateByPrimaryKey(HomeNavbar record) { - return homeNavbarMapper.updateByPrimaryKey(record); - } - @Override @Transactional public int deleteBatchByPrimaryKey(List<Long> list) { @@ -83,18 +56,160 @@ return homeNavbarMapper.deleteBatchByPrimaryKey(list); } - @Override - public int getMaxOrder() { - return homeNavbarMapper.getMaxOrder(); - } + @Override - public List<HomeNavbar> getChangeOrder(Integer type, Integer order) { - return homeNavbarMapper.getChangeOrder(type, order); + public void saveObject(MultipartFile file, HomeNavbar record) throws HomeNavbarException, Exception{ + + String name = record.getName(); + if (name == null || name.trim().length() == 0) { + throw new HomeNavbarException(1, "瀵艰埅鍚嶇О涓嶈兘涓虹┖"); + } + + // 鏃堕棿杞崲 + conversionTime(record); + + // 鍥剧墖涓婁紶 + String picture = null; + if (file != null) { + picture = uploadPicture(file); + } + + Long id = record.getId(); + if (id == null) { + record.setPicture(picture); + record.setCreatetime(new Date()); + record.setUpdatetime(new Date()); + + Integer state = record.getState(); + if (state == null) { + record.setState(0); + } + int maxOrder = homeNavbarMapper.getMaxOrder(); + record.setOrderby(maxOrder + 1); + + homeNavbarMapper.insert(record); + } else { + // 淇敼 + HomeNavbar resultObj = homeNavbarMapper.selectByPrimaryKey(id); + if (resultObj == null) { + throw new HomeNavbarException(1, "淇敼鍐呭宸蹭笉瀛樺湪"); + } + + if (picture != null && picture.trim().length() > 0) { + // 鍒犻櫎鑰佸浘 + removePicture(resultObj.getPicture()); + // 瀛樺偍鏂板浘 + record.setPicture(picture); + } else { + record.setPicture(resultObj.getPicture()); + } + + record.setOrderby(resultObj.getOrderby()); + record.setCreatetime(resultObj.getCreatetime()); + record.setUpdatetime(new Date()); + homeNavbarMapper.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/HomeNavbar/"+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); + } + } + + + /** + * web娈垫椂闂磋浆鎹� + * @param record + */ + public void conversionTime(HomeNavbar record) throws ActivityException, 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 ActivityException(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)); + } + } + } + } + @Override - public List<HomeNavbar> listQuery(long start, int count, String key) { + public void updateOrder(Long id, Integer moveType) throws HomeNavbarException, Exception{ + + if (moveType == null || (!moveType.equals(1) && !moveType.equals(-1))) { + throw new HomeNavbarException(1, "浼犻�掔殑绫诲瀷涓嶆纭�"); + } + + if (id == null) { + throw new HomeNavbarException(1, "ID涓嶈兘涓虹┖"); + } + + HomeNavbar resultObj = homeNavbarMapper.selectByPrimaryKey(id); + if (resultObj == null) { + throw new HomeNavbarException(1, "鎿嶄綔鏁版嵁宸蹭笉瀛樺湪"); + } + + Integer oldOrder = resultObj.getOrderby(); + HomeNavbar changeObj = homeNavbarMapper.getChangeOrder(moveType, oldOrder); + + if (changeObj == null ) { + throw new HomeNavbarException(1, "宸茬粡鍦ㄦ渶杈圭紭锛屾棤鍙氦鎹㈢殑浣嶇疆"); + } + // 浜ゆ崲鎺掑簭搴忓彿 + resultObj.setOrderby(changeObj.getOrderby()); + changeObj.setOrderby(oldOrder); + + homeNavbarMapper.updateByPrimaryKeySelective(changeObj); + homeNavbarMapper.updateByPrimaryKeySelective(resultObj); + + } + + + @Override + public List<HomeNavbar> listQueryAndBusinessSystem(long start, int count, String key) { List<HomeNavbar> listObj = homeNavbarMapper.listQuery(start, count, key); if (listObj == null || listObj.size() == 0) { @@ -162,35 +277,57 @@ return listObj; } + + @Override + public List<HomeNavbar> listQuery(long start, int count, String key) { + + List<HomeNavbar> listObj = homeNavbarMapper.listQuery(start, count, key); + if (listObj == null || listObj.size() == 0) { + return null; + } + + for (HomeNavbar homeNavbar: listObj) { + + Date startTime = homeNavbar.getStartTime(); + Date endTime = homeNavbar.getEndTime(); + + if (startTime == null && endTime == null) { + homeNavbar.setTimeTask(false); + homeNavbar.setStartTime_str(""); + homeNavbar.setEndTime_str(""); + } else { + homeNavbar.setTimeTask(true); + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm"); + if (startTime == null) { + homeNavbar.setStartTime_str(""); + } else { + homeNavbar.setStartTime_str(sdf.format(startTime)); + } + + if (endTime == null) { + homeNavbar.setEndTime_str(""); + } else { + homeNavbar.setEndTime_str(sdf.format(endTime)); + } + } + } + return listObj; + } + @Override public long countlistQuery(String key) { return homeNavbarMapper.countListQuery(key); } + @Override + public List<HomeNavbar> listQueryEffective() { + return homeNavbarMapper.listQueryEffective(); + } @Override - public void uploadPicture(MultipartFile file, HomeNavbar homeNavbar) throws Exception { - - InputStream inputStream = file.getInputStream(); - String contentType = file.getContentType(); - String type = contentType.substring(contentType.indexOf("/") + 1); - // 涓婁紶鏂囦欢鐩稿浣嶇疆 - String fileUrl="HomeNavbar/"+UUID.randomUUID().toString().replace("-", "") + "." + type; - - /* 淇敼鍥剧墖鏃讹紝鍏堝垹闄ゅ凡瀛樺湪鍥剧墖 */ - String picture = homeNavbar.getPicture(); - if (!StringUtil.isNullOrEmpty(picture)) { - COSManager.getInstance().deleteFile(picture); - } - - String uploadFilePath = COSManager.getInstance().uploadFile(inputStream, fileUrl).getUrl(); - /* 鏇存柊鏁版嵁搴撲俊鎭� */ - if (!StringUtil.isNullOrEmpty(uploadFilePath)) { - homeNavbar.setUpdatetime(new Date()); - homeNavbar.setPicture(uploadFilePath); - updateByPrimaryKeySelective(homeNavbar); - } + public HomeNavbar getEffectiveByClassId(Long classId) { + return homeNavbarMapper.getEffectiveByClassId(classId); } - } -- Gitblit v1.8.0