From 28cf328a098334b51a3e9d2d56f983fb8c862211 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 23 五月 2020 09:54:38 +0800 Subject: [PATCH] 足迹、收藏订单兼容新需求 --- fanli/src/main/java/com/yeshi/fanli/service/impl/goods/GoodsSubClassServiceImpl.java | 102 ++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 77 insertions(+), 25 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/GoodsSubClassServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/GoodsSubClassServiceImpl.java index d984973..f47eea4 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/GoodsSubClassServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/GoodsSubClassServiceImpl.java @@ -18,10 +18,15 @@ import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.clazz.GoodsClass; import com.yeshi.fanli.entity.bus.clazz.GoodsSubClass; -import com.yeshi.fanli.exception.GoodsSubClassException; +import com.yeshi.fanli.entity.bus.clazz.GoodsSubClassLabel; +import com.yeshi.fanli.entity.bus.clazz.GoodsSubClassLabelMap; +import com.yeshi.fanli.exception.goods.GoodsSubClassException; +import com.yeshi.fanli.service.inter.clazz.GoodsSubClassLabelService; import com.yeshi.fanli.service.inter.goods.GoodsSubClassService; import com.yeshi.fanli.service.inter.goods.TaoBaoClassService; import com.yeshi.fanli.service.inter.lable.LabelClassService; +import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.FilePathEnum; import com.yeshi.fanli.util.StringUtil; @Service @@ -36,6 +41,9 @@ @Resource private TaoBaoClassService taoBaoClassService; + + @Resource + private GoodsSubClassLabelService goodsSubClassLabelService; @Override public int deleteByPrimaryKey(Long id) { @@ -63,10 +71,10 @@ } @Override - @Transactional + @Transactional(rollbackFor=Exception.class) public void deleteByRootId(Long id) throws Exception { - List<GoodsSubClass> subClassList = goodsSubClassMapper.queryByRootId(id, null); + List<GoodsSubClass> subClassList = goodsSubClassMapper.queryByRootId(id, null, null); if (subClassList != null && subClassList.size() > 0) { for (GoodsSubClass goodsSubClass : subClassList) { deleteSub(goodsSubClass.getId()); @@ -75,7 +83,7 @@ } @Override - @Transactional + @Transactional(rollbackFor=Exception.class) public void deleteByPrimaryKeyBatch(List<String> recordIds) throws Exception { if (recordIds != null && recordIds.size() > 0) { for (String recordId : recordIds) { @@ -85,7 +93,7 @@ } @Override - @Transactional + @Transactional(rollbackFor=Exception.class) public void deleteSub(Long recordId) throws Exception { GoodsSubClass goodsSubClass = goodsSubClassMapper.selectByPrimaryKey(recordId); @@ -122,13 +130,16 @@ } @Override - public void saveObject(MultipartFile file, MultipartFile file2, GoodsSubClass record, Integer type, Long pid) - throws GoodsSubClassException, Exception { + public void saveObject(MultipartFile file, MultipartFile file2, GoodsSubClass record, Integer type, Long pid, + Long labelId) throws GoodsSubClassException, Exception { String name = record.getName(); if (name == null || name.trim().length() == 0) { throw new GoodsSubClassException(1, "鍒嗙被鍚嶇О涓嶈兘涓虹┖"); } + + if (StringUtil.isNullOrEmpty(record.getMonth())) + record.setMonth(null); // 鍥剧墖涓婁紶 String picture = null; @@ -188,6 +199,8 @@ record.setIosClick(0L); record.setCreatetime(new Date()); record.setUpdatetime(new Date()); + if (labelId != null) + record.setClassLabel(new GoodsSubClassLabel(labelId)); if (params == null || params.trim().length() == 0 || "null".equalsIgnoreCase(params)) { // 鎼滅储鏉′欢:鏈夊埜銆佸湪鍞环20-200銆佺墰鐨櫍杞诲井 @@ -195,6 +208,13 @@ } goodsSubClassMapper.insert(record); + + if (labelId != null) { + GoodsSubClassLabelMap map = new GoodsSubClassLabelMap(); + map.setGoodsSubClass(record); + map.setLabel(new GoodsSubClassLabel(labelId)); + goodsSubClassLabelService.addSubClassLabelMap(map); + } } else { // 淇敼 @@ -205,7 +225,8 @@ if (picture != null && picture.trim().length() > 0) { // 鍒犻櫎鑰佸浘 - removePicture(resultObj.getPicture()); + if (!Constant.IS_TEST) + removePicture(resultObj.getPicture()); // 瀛樺偍鏂板浘 record.setPicture(picture); } else { @@ -214,7 +235,8 @@ if (pictureSecond != null && pictureSecond.trim().length() > 0) { // 鍒犻櫎鑰佸浘 - removePicture(resultObj.getPictureSecond()); + if (!Constant.IS_TEST) + removePicture(resultObj.getPictureSecond()); // 瀛樺偍鏂板浘 record.setPictureSecond(pictureSecond); } else { @@ -228,20 +250,31 @@ record.setAndroidClick(resultObj.getAndroidClick()); record.setCreatetime(resultObj.getCreatetime()); record.setUpdatetime(new Date()); + if (labelId != null) { + GoodsSubClassLabelMap map = new GoodsSubClassLabelMap(); + map.setGoodsSubClass(record); + map.setLabel(new GoodsSubClassLabel(labelId)); + try { + goodsSubClassLabelService.addSubClassLabelMap(map); + } catch (Exception e) { + } + } + goodsSubClassMapper.updateByPrimaryKey(record); } // 淇濆瓨娣樺疂鍟嗗搧鍒嗙被id String taobaoCids = record.getTaobaoCids(); + List<Long> tbCidList = new ArrayList<>(); if (!StringUtil.isNullOrEmpty(taobaoCids) && !"null".equalsIgnoreCase(taobaoCids)) { - List<Long> tbCidList = new ArrayList<>(); + String[] sts = taobaoCids.split(","); for (String st : sts) { String cid = st.split("-")[st.split("-").length - 1]; tbCidList.add(Long.parseLong(cid)); } - taoBaoClassService.saveSub(record.getId(), tbCidList); } + taoBaoClassService.saveSub(record.getId(), tbCidList); } /** @@ -259,7 +292,7 @@ String type = contentType.substring(contentType.indexOf("/") + 1); // 鏂囦欢璺緞 - String filePath = "/img/GoodsSubClass/" + UUID.randomUUID().toString().replace("-", "") + "." + type; + String filePath =FilePathEnum.goodsSubClass.getPath() + UUID.randomUUID().toString().replace("-", "") + "." + type; // 鎵ц涓婁紶 String fileLink = COSManager.getInstance().uploadFile(inputStream, filePath).getUrl(); @@ -283,30 +316,49 @@ */ @Override public int removePicture(GoodsSubClass record) throws Exception { - - String fileUrl = record.getPicture(); - int result = -2; - boolean deleteFile = true; - + String fileUrl = record.getPicture(); if (StringUtil.isNullOrEmpty(fileUrl)) { return result; } - deleteFile = COSManager.getInstance().deleteFile(fileUrl); - + boolean deleteFile = COSManager.getInstance().deleteFile(fileUrl);; if (deleteFile) { record.setPicture(null); // 鏇存柊鏁版嵁搴� result = goodsSubClassMapper.updateByPrimaryKey(record); } - return result; } + + @Override + public void switchState(Long id) throws GoodsSubClassException { + if (id == null) { + throw new GoodsSubClassException(1, "璇蜂紶閫掓纭弬鏁�"); + } + GoodsSubClass resultObj = goodsSubClassMapper.selectByPrimaryKey(id); + if (resultObj == null) { + throw new GoodsSubClassException(1, "姝ゅ唴瀹瑰凡涓嶅瓨鍦�"); + } + + Integer state = resultObj.getState(); + if (state == null || state == 0) { + state = 1; + } else { + state = 0; + } + + GoodsSubClass updateObj = new GoodsSubClass(); + updateObj.setId(id); + updateObj.setState(state); + goodsSubClassMapper.updateByPrimaryKeySelective(updateObj); + } + + @Override public List<GoodsSubClass> queryByRootId(Long rootId, Integer state) throws Exception { - return goodsSubClassMapper.queryByRootId(rootId, state); + return goodsSubClassMapper.queryByRootId(rootId, state, null); } @Override @@ -325,14 +377,14 @@ } @Override - public List<GoodsSubClass> getGoodsSecondClass(Long rootId, Integer state) throws Exception { - return goodsSubClassMapper.queryByRootId(rootId, state); + public List<GoodsSubClass> getGoodsSecondClass(Long rootId, Integer state, Integer month) throws Exception { + return goodsSubClassMapper.queryByRootId(rootId, state, month); } @Override @Cacheable(value = "classCache", key = "'getSubClassCache-'+#rootId +'-'+#state") - public List<GoodsSubClass> getSubClassCache(Long rootId, Integer state) throws Exception { - return getGoodsSecondClass(rootId, state); + public List<GoodsSubClass> getSubClassCache(Long rootId, Integer state, Integer month) throws Exception { + return getGoodsSecondClass(rootId, state, month); } @Override -- Gitblit v1.8.0