From aa552facf6d833acab0d3e3e29bda2a0fb826ffe Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期一, 25 十一月 2019 16:14:13 +0800
Subject: [PATCH] 品牌缓存生效
---
fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/HomeNavbarServiceImpl.java | 97 ++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 81 insertions(+), 16 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..e9d1021 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
@@ -73,14 +73,24 @@
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) {
@@ -105,6 +115,16 @@
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();
if (id == null) {
record.setPicture(picture);
@@ -115,9 +135,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 +159,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
@@ -207,7 +233,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, "浼犻�掔殑绫诲瀷涓嶆纭�");
@@ -217,32 +243,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> 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;
}
@@ -296,8 +347,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,6 +356,20 @@
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