From 69bee82b81626b82b7f39f0e459e4f56b1699b51 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 13 三月 2019 12:02:16 +0800 Subject: [PATCH] 正式数据库修改 --- fanli/src/main/java/com/yeshi/fanli/service/impl/goods/GoodsClassServiceImpl.java | 80 +++++++++++++++++++++++++++++++++++++--- 1 files changed, 74 insertions(+), 6 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/GoodsClassServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/GoodsClassServiceImpl.java index e62f65f..6932fa8 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/GoodsClassServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/GoodsClassServiceImpl.java @@ -8,8 +8,8 @@ import java.text.MessageFormat; import java.util.ArrayList; import java.util.Collection; -import java.util.Date; import java.util.HashMap; +import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Properties; @@ -26,23 +26,27 @@ import org.springframework.orm.hibernate4.HibernateCallback; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; +import org.yeshi.utils.tencentcloud.COSManager; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; import com.yeshi.fanli.dao.goods.GoodsClassDao; import com.yeshi.fanli.dao.mybatis.GoodsClassMapper; import com.yeshi.fanli.dao.mybatis.lable.LabelClassMapper; import com.yeshi.fanli.entity.admin.GoodsClassAdmin; import com.yeshi.fanli.entity.bus.clazz.GoodsClass; +import com.yeshi.fanli.entity.bus.clazz.GoodsSubClass; import com.yeshi.fanli.entity.bus.su.clazz.SuperGoodsClass; import com.yeshi.fanli.entity.system.System; import com.yeshi.fanli.service.inter.config.SystemService; import com.yeshi.fanli.service.inter.goods.ClassRecommendGoodsService; import com.yeshi.fanli.service.inter.goods.GoodsClassService; import com.yeshi.fanli.service.inter.goods.GoodsSecondClassService; +import com.yeshi.fanli.service.inter.goods.GoodsSubClassService; import com.yeshi.fanli.service.inter.goods.SuperGoodsClassService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.Utils; -import org.yeshi.utils.tencentcloud.COSManager; @Service public class GoodsClassServiceImpl implements GoodsClassService { @@ -67,6 +71,10 @@ @Resource private LabelClassMapper labelClassMapper; + + + @Resource + private GoodsSubClassService goodsSubClassService; public GoodsClass getGoodsClass(long gcid) { @@ -549,7 +557,6 @@ public void removePicture(GoodsClass record) throws Exception { String fileUrl = record.getPicture(); - boolean deleteFile = true; if (StringUtil.isNullOrEmpty(fileUrl)) { @@ -557,15 +564,76 @@ } deleteFile = COSManager.getInstance().deleteFile(fileUrl); - if (deleteFile) { record.setPicture(null); // 鏇存柊鏁版嵁搴� updateGoodsClass(record); } - - return; } + @Override + @Cacheable(value="classCache",key="'getListClassCache-'+#systemId") + public List<GoodsClass> getListClassCache(Long systemId) throws Exception { + List<SuperGoodsClass> superGoodsClassList = superGoodsClassService.getSuperGoodsClassBySystemId(systemId); + + if (superGoodsClassList == null || superGoodsClassList.size() == 0) { + return null; + } + + List<GoodsClass> goodsClassList = new ArrayList<GoodsClass>(); + for (SuperGoodsClass superGoodsClass : superGoodsClassList) { + GoodsClass goodsClass = superGoodsClass.getGoodsClass(); + goodsClassList.add(goodsClass); + } + + return goodsClassList; + } + + + @Override + @Cacheable(value="classCache",key="'getClassListAllCache-'+#systemId") + public List<Map<String, Object>> getClassListAllCache(Long systemId) throws Exception { + + List<GoodsClass> goodsClassList = goodsClassMapper.listGoodsClassBySystemId(systemId); + if (goodsClassList == null || goodsClassList.size() == 0) { + return null; + } + + List<Long> listID = new ArrayList<Long>(); + for (GoodsClass coodsClass : goodsClassList) { + listID.add(coodsClass.getId()); + } + + List<GoodsSubClass> listSub = goodsSubClassService.queryByListCid(listID); + + Gson gson = new GsonBuilder().create(); + + List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); + for (GoodsClass goodsClass : goodsClassList) { + + List<GoodsSubClass> subClassList = new ArrayList<GoodsSubClass>(); + + if (listSub != null && listSub.size() > 0) { + Iterator<GoodsSubClass> iterator = listSub.iterator(); + while (iterator.hasNext()) { + GoodsSubClass goodsSubClass = iterator.next(); + GoodsClass goodsClassInner = goodsSubClass.getRootClass(); + if (goodsClass.getId() == goodsClassInner.getId()) { + // 瀵瑰簲涓嬪瓙鍒嗙被 + subClassList.add(goodsSubClass); + iterator.remove(); + } + } + } + + Map<String, Object> map = new HashMap<String, Object>(); + map.put("gclass", goodsClass); + map.put("subList", gson.toJson(subClassList)); + + list.add(map); + } + + return list; + } } -- Gitblit v1.8.0