From f4a0f2acc63d7785eab108419a4e16f5f688cb95 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 18 一月 2020 12:06:27 +0800 Subject: [PATCH] 用户注册信息 --- fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/HomeNavbarServiceImpl.java | 253 ++++++++++++++++++++++++++++++-------------------- 1 files changed, 150 insertions(+), 103 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 7de7bc6..820aeb2 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 @@ -2,28 +2,28 @@ import java.io.InputStream; import java.text.SimpleDateFormat; -import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.UUID; import javax.annotation.Resource; -import javax.transaction.Transactional; -import org.apache.commons.beanutils.PropertyUtils; +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.HomeNavbarMapper; -import com.yeshi.fanli.dao.mybatis.homemodule.SuperHomeNavbarMapper; +import com.yeshi.fanli.entity.bus.clazz.GoodsClass; 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.entity.bus.homemodule.HomeNavbar.NavbarTypeEnum; +import com.yeshi.fanli.entity.bus.homemodule.SwiperBanner; import com.yeshi.fanli.exception.homemodule.HomeNavbarException; -import com.yeshi.fanli.service.inter.config.BusinessSystemService; +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; @@ -31,17 +31,21 @@ public class HomeNavbarServiceImpl implements HomeNavbarService { @Resource - private BusinessSystemService businessSystemService; - @Resource private HomeNavbarMapper homeNavbarMapper; - @Resource - private SuperHomeNavbarMapper superHomeNavbarMapper; - + @Resource + private GoodsClassService goodsClassService; + + @Resource + private SwiperBannerService swiperBannerService; + @Override @Transactional public int deleteBatchByPrimaryKey(List<Long> list) { - superHomeNavbarMapper.deleteBatchByNavbarIds(list); + if (list == null || list.size() == 0) { + return 0; + } + for (Long id: list) { HomeNavbar homeNavbar = homeNavbarMapper.selectByPrimaryKey(id); if (homeNavbar !=null) { @@ -52,7 +56,6 @@ } } } - return homeNavbarMapper.deleteBatchByPrimaryKey(list); } @@ -66,6 +69,44 @@ 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, "璇烽�夋嫨鍒嗙被"); + } + + 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) { + throw new HomeNavbarException(1, "璇疯緭鍏Rl閾炬帴"); + } + } else { + throw new HomeNavbarException(1, "绫诲瀷鐨勫�间笉姝g‘"); + } + + + Long swiperBannerId = record.getSwiperBannerId(); + if (swiperBannerId != null && swiperBannerId == 0) { + record.setSwiperBannerId(null); + } + // 鏃堕棿杞崲 conversionTime(record); @@ -73,6 +114,16 @@ 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(); @@ -85,9 +136,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 { // 淇敼 @@ -106,13 +160,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 @@ -126,7 +183,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(); @@ -149,7 +206,7 @@ * web娈垫椂闂磋浆鎹� * @param record */ - public void conversionTime(HomeNavbar record) throws ActivityException, Exception { + public void conversionTime(HomeNavbar record) throws HomeNavbarException, Exception { // 鏄惁鏃堕棿鎺у埗 if(!record.isTimeTask()) { record.setStartTime(null); @@ -160,7 +217,7 @@ if ((startTime_str == null|| startTime_str.trim().length() == 0) && (endTime_str == null || endTime_str.trim().length() == 0)) { - throw new ActivityException(1, "璇疯緭鍏ユ帶鍒舵椂闂�"); + throw new HomeNavbarException(1, "璇疯緭鍏ユ帶鍒舵椂闂�"); } else { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); if (startTime_str != null && startTime_str.trim().length() > 0) { @@ -177,7 +234,7 @@ } @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, "浼犻�掔殑绫诲瀷涓嶆纭�"); @@ -187,101 +244,57 @@ 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> listQueryAndBusinessSystem(long start, int count, String key) { - - List<HomeNavbar> listObj = homeNavbarMapper.listQuery(start, count, key); - if (listObj == null || listObj.size() == 0) { - return null; - } - - List<BusinessSystem> systemList = businessSystemService.getBusinessSystems(); - - List<Long> listId = new ArrayList<Long>(); - for (HomeNavbar homeNavbar: listObj) { - listId.add(homeNavbar.getId()); - } - List<SuperHomeNavbar> listSuper = superHomeNavbarMapper.listByNavbarIds(listId); - - if (listSuper == null || listSuper.size() == 0) { - - for (HomeNavbar homeNavbar: listObj) { - homeNavbar.setSystemList(systemList); - } - - } else { - for (HomeNavbar homeNavbar: listObj) { - - Long id = homeNavbar.getId(); - List<BusinessSystem> newList = new ArrayList<BusinessSystem>(); - - // 鏄惁鏈夊叧鑱旂郴缁熼�夐」 - for (BusinessSystem dsystem : systemList) { - - BusinessSystem newsystem = new BusinessSystem(); - try { - PropertyUtils.copyProperties(newsystem, dsystem); - } catch (Exception e) { - e.printStackTrace(); - } - - if (listSuper != null && listSuper.size() > 0) { - Long systemId = newsystem.getId(); - - for (SuperHomeNavbar superHomeNavbar : listSuper) { - HomeNavbar navbar = superHomeNavbar.getHomeNavbar(); - BusinessSystem system = superHomeNavbar.getSystem(); - - // 褰撳墠涓撻 銆佸綋鍓嶇郴缁� - if (navbar != null && system != null && id == navbar.getId() - && systemId == system.getId()) { - newsystem.setCheck(1); - break; - } - } - - } - - if (newsystem.getCheck() != 1) { - newsystem.setCheck(0); - } - - newList.add(newsystem); - } - - homeNavbar.setSystemList(newList); - } - } - - return listObj; - } @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; } @@ -311,19 +324,53 @@ homeNavbar.setEndTime_str(sdf.format(endTime)); } } + + Long classId = homeNavbar.getClassId(); + if (classId != null) { + GoodsClass goodsClass = goodsClassService.selectByPrimaryKey(classId); + if(goodsClass != null) { + homeNavbar.setClassName(goodsClass.getName()); + } + } + + Long swiperBannerId = homeNavbar.getSwiperBannerId(); + if (swiperBannerId != null) { + SwiperBanner swiperBanner = swiperBannerService.selectByPrimaryKey(swiperBannerId); + if(swiperBanner != null) { + homeNavbar.setSwiperName(swiperBanner.getTitle()); + } + } else { + // 鍒濆鍖� + homeNavbar.setSwiperBannerId(0L); + } } return listObj; } @Override - public long countlistQuery(String key) { - return homeNavbarMapper.countListQuery(key); + public long countlistQuery(String key, Integer sex) { + return homeNavbarMapper.countListQuery(key, sex); } @Override - public List<HomeNavbar> listQueryEffective() { + @Cacheable(value = "configCache", key = "'listQueryEffectiveNavbar'") + 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) { -- Gitblit v1.8.0