From 98b1a0affd69bbe63223c21fdd2c404e8bedfccb Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 20 五月 2020 17:25:08 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into 2.1.2 --- fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/HomeNavbarServiceImpl.java | 207 +++++++++++++++++++++++++++++++++++---------------- 1 files changed, 140 insertions(+), 67 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 c0eb969..a47bb46 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 @@ -20,9 +20,11 @@ import com.yeshi.fanli.entity.bus.homemodule.HomeNavbar.NavbarTypeEnum; import com.yeshi.fanli.entity.bus.homemodule.SwiperBanner; import com.yeshi.fanli.exception.homemodule.HomeNavbarException; +import com.yeshi.fanli.exception.homemodule.SpecialException; import com.yeshi.fanli.service.inter.goods.GoodsClassService; import com.yeshi.fanli.service.inter.homemodule.HomeNavbarService; import com.yeshi.fanli.service.inter.homemodule.SwiperBannerService; +import com.yeshi.fanli.util.FilePathEnum; import com.yeshi.fanli.util.StringUtil; @@ -68,19 +70,23 @@ throw new HomeNavbarException(1, "瀵艰埅鍚嶇О涓嶈兘涓虹┖"); } - String startTime_str = record.getStartTime_str(); - if (record.isTimeTask() && (startTime_str == null || startTime_str.length() == 0)) { - throw new HomeNavbarException(1, "鎺у埗鏃堕棿涓嶈兘涓虹┖"); - } - + Integer sex = null; NavbarTypeEnum type = record.getType(); if (NavbarTypeEnum.category.equals(type)) { Long classId = record.getClassId(); if (classId == null) { throw new HomeNavbarException(1, "璇烽�夋嫨鍒嗙被"); } - record.setUrl(null); + GoodsClass goodsClass = goodsClassService.getGoodsClass(record.getClassId()); + if (goodsClass == null) { + throw new HomeNavbarException(1, "鍒嗙被涓嶅瓨鍦�"); + } + sex = goodsClass.getSex(); + if (sex == null) { + throw new HomeNavbarException(1, "鍒嗙被鏈寚瀹氶�傜敤鐗堟湰"); + } + record.setUrl(null); } else if(NavbarTypeEnum.weex.equals(type) || NavbarTypeEnum.web.equals(type)) { String url = record.getUrl(); if (url == null || url.trim().length() == 0) { @@ -97,12 +103,22 @@ } // 鏃堕棿杞崲 - conversionTime(record); + handleTime(record); // 鍥剧墖涓婁紶 String picture = null; if (file != null) { picture = uploadPicture(file); + } + + Boolean isDefault = record.getIsDefault(); + if (isDefault == null) { + record.setIsDefault(false); + } + + Boolean isFixed = record.getIsFixed(); + if (isFixed == null) { + record.setIsFixed(false); } Long id = record.getId(); @@ -115,9 +131,12 @@ if (state == null) { record.setState(0); } - int maxOrder = homeNavbarMapper.getMaxOrder(); - record.setOrderby(maxOrder + 1); + record.setOrderby(homeNavbarMapper.getDefaultMaxOrder() + 1); + record.setOrderMan(homeNavbarMapper.getManMaxOrder() + 1); + record.setOrderWoman(homeNavbarMapper.getWomanMaxOrder() + 1); + + record.setIsFixed(false);//鐩墠鏃犲浐瀹氶」 homeNavbarMapper.insert(record); } else { // 淇敼 @@ -136,13 +155,16 @@ } record.setOrderby(resultObj.getOrderby()); + record.setOrderMan(resultObj.getOrderMan()); + record.setOrderWoman(resultObj.getOrderWoman()); record.setCreatetime(resultObj.getCreatetime()); record.setUpdatetime(new Date()); + record.setIsFixed(false);//鐩墠鏃犲浐瀹氶」 homeNavbarMapper.updateByPrimaryKey(record); } } - + /** * 涓婁紶鍥剧墖 * @param file @@ -156,7 +178,7 @@ String type = contentType.substring(contentType.indexOf("/") + 1); // 鏂囦欢璺緞 - String filePath="/img/HomeNavbar/"+UUID.randomUUID().toString().replace("-", "") + "." + type; + String filePath= FilePathEnum.homeNavbar.getPath() +UUID.randomUUID().toString().replace("-", "") + "." + type; // 鎵ц涓婁紶 String fileLink= COSManager.getInstance().uploadFile(inputStream, filePath).getUrl(); @@ -174,40 +196,36 @@ } } - + /** * web娈垫椂闂磋浆鎹� + * * @param record */ - public void conversionTime(HomeNavbar record) throws HomeNavbarException, 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 HomeNavbarException(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)); - } - } + private void handleTime(HomeNavbar record) throws SpecialException, 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 SpecialException(1, "璧峰鏃堕棿涓嶈兘灏忎簬缁撴潫鏃堕棿"); } } + @Override - public void updateOrder(Long id, Integer moveType) throws HomeNavbarException, Exception{ + public void updateOrder(Long id, Integer moveType, Integer sex) throws HomeNavbarException, Exception{ if (moveType == null || (!moveType.equals(1) && !moveType.equals(-1))) { throw new HomeNavbarException(1, "浼犻�掔殑绫诲瀷涓嶆纭�"); @@ -217,60 +235,76 @@ 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 (sex == null) { + sex = GoodsClass.SEX_DEFAULT; + } + + HomeNavbar changeObj = null; + if (GoodsClass.SEX_ALL == sex || GoodsClass.SEX_DEFAULT == sex) { + Integer orderby = resultObj.getOrderby(); + changeObj = homeNavbarMapper.getDefaultChangeOrder(moveType, orderby); + if (changeObj == null ) { + throw new HomeNavbarException(1, "宸茬粡鍦ㄦ渶杈圭紭锛屾棤鍙氦鎹㈢殑浣嶇疆"); + } + resultObj.setOrderby(changeObj.getOrderby()); + changeObj.setOrderby(orderby); + } else if (GoodsClass.SEX_MAN == sex) { + Integer orderMan = resultObj.getOrderMan(); + changeObj = homeNavbarMapper.getManChangeOrder(moveType, orderMan); + if (changeObj == null ) { + throw new HomeNavbarException(1, "宸茬粡鍦ㄦ渶杈圭紭锛屾棤鍙氦鎹㈢殑浣嶇疆"); + } + resultObj.setOrderMan(changeObj.getOrderMan()); + changeObj.setOrderMan(orderMan); + } else if (GoodsClass.SEX_WOMAN == sex) { + Integer orderWoman = resultObj.getOrderWoman(); + changeObj = homeNavbarMapper.getWomanChangeOrder(moveType, orderWoman); + if (changeObj == null ) { + throw new HomeNavbarException(1, "宸茬粡鍦ㄦ渶杈圭紭锛屾棤鍙氦鎹㈢殑浣嶇疆"); + } + resultObj.setOrderWoman(changeObj.getOrderWoman()); + changeObj.setOrderWoman(orderWoman); + } if (changeObj == null ) { - throw new HomeNavbarException(1, "宸茬粡鍦ㄦ渶杈圭紭锛屾棤鍙氦鎹㈢殑浣嶇疆"); + throw new HomeNavbarException(1, "鏃犲彲浜ゆ崲鐨勪綅缃�"); } - // 浜ゆ崲鎺掑簭搴忓彿 - resultObj.setOrderby(changeObj.getOrderby()); - changeObj.setOrderby(oldOrder); homeNavbarMapper.updateByPrimaryKeySelective(changeObj); homeNavbarMapper.updateByPrimaryKeySelective(resultObj); - } @Override - public List<HomeNavbar> listQuery(long start, int count, String key) { + public List<HomeNavbar> listQuery(long start, int count, String key, Integer sex) { - List<HomeNavbar> listObj = homeNavbarMapper.listQuery(start, count, key); + List<HomeNavbar> listObj = homeNavbarMapper.listQuery(start, count, key, sex); if (listObj == null || listObj.size() == 0) { return null; } + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm"); + for (HomeNavbar homeNavbar: listObj) { - Date startTime = homeNavbar.getStartTime(); - Date endTime = homeNavbar.getEndTime(); - - if (startTime == null && endTime == null) { - homeNavbar.setTimeTask(false); + if (startTime == null) { homeNavbar.setStartTime_str(""); + } else { + homeNavbar.setStartTime_str(sdf.format(startTime)); + } + + Date endTime = homeNavbar.getEndTime(); + if (endTime == null) { 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)); - } + homeNavbar.setEndTime_str(sdf.format(endTime)); } Long classId = homeNavbar.getClassId(); @@ -296,8 +330,8 @@ } @Override - public long countlistQuery(String key) { - return homeNavbarMapper.countListQuery(key); + public long countlistQuery(String key, Integer sex) { + return homeNavbarMapper.countListQuery(key, sex); } @Override @@ -305,10 +339,49 @@ public List<HomeNavbar> listQueryEffectiveNavbar() { return homeNavbarMapper.listQueryEffective(); } + + + @Override + @Cacheable(value = "configCache", key = "'listQueryDefaultNavbar-'+#sex") + public List<HomeNavbar> listQueryDefaultNavbar(Integer sex) { + return homeNavbarMapper.listQueryDefaultNavbar(sex); + } + + + @Override + @Cacheable(value = "configCache", key = "'listQueryFixedNavbar'") + public List<HomeNavbar> listQueryFixedNavbar() { + return homeNavbarMapper.listQueryFixedNavbar(); + } @Override public HomeNavbar getEffectiveByClassId(Long classId) { return homeNavbarMapper.getEffectiveByClassId(classId); } + + @Override + public void switchState(Long id) throws HomeNavbarException { + if (id == null) { + throw new HomeNavbarException(1, "璇蜂紶閫掓纭弬鏁�"); + } + + HomeNavbar resultObj = homeNavbarMapper.selectByPrimaryKey(id); + if (resultObj == null) { + throw new HomeNavbarException(1, "姝ゅ唴瀹瑰凡涓嶅瓨鍦�"); + } + + Integer state = resultObj.getState(); + if (state == null || state == 0) { + state = 1; + } else { + state = 0; + } + + HomeNavbar updateObj = new HomeNavbar(); + updateObj.setId(id); + updateObj.setState(state); + homeNavbarMapper.updateByPrimaryKeySelective(updateObj); + } + } -- Gitblit v1.8.0