From 51a4ff5d777028d52a19c314a99f796334cb7b51 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 23 十一月 2019 18:30:01 +0800 Subject: [PATCH] 配置文件修改 --- fanli/src/main/java/com/yeshi/fanli/service/impl/brand/BrandInfoServiceImpl.java | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 101 insertions(+), 12 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/brand/BrandInfoServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/brand/BrandInfoServiceImpl.java index 513f76e..1eafeef 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/brand/BrandInfoServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/brand/BrandInfoServiceImpl.java @@ -10,12 +10,14 @@ import javax.annotation.Resource; import org.springframework.cache.annotation.Cacheable; +import org.springframework.core.task.TaskExecutor; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import org.yeshi.utils.tencentcloud.COSManager; import com.yeshi.fanli.dao.brand.BrandShopCaheDao; import com.yeshi.fanli.dao.mybatis.brand.BrandInfoMapper; +import com.yeshi.fanli.dto.ConfigParamsDTO; import com.yeshi.fanli.dto.pdd.PDDGoodsDetail; import com.yeshi.fanli.entity.brand.BrandGoodsCahe; import com.yeshi.fanli.entity.brand.BrandInfo; @@ -68,12 +70,24 @@ @Resource private BrandShopCaheService brandShopCaheService; + @Resource(name = "taskExecutor") + private TaskExecutor executor; + + @Override public void saveObject(MultipartFile file, BrandInfo record) throws BrandInfoException { String name = record.getName(); - if (name == null || name.trim().length() == 0) + if (StringUtil.isNullOrEmpty(name)) throw new BrandInfoException(1, "鍚嶇О涓嶈兘涓虹┖"); + String shopKey = record.getShopKey(); + if (StringUtil.isNullOrEmpty(shopKey)) + record.setShopKey(name); + + String searchKey = record.getSearchKey(); + if (StringUtil.isNullOrEmpty(searchKey)) + record.setSearchKey(name); + Integer state = record.getState(); if (state == null) record.setState(0); @@ -100,19 +114,44 @@ if (picture != null && picture.trim().length() > 0) { // 鍒犻櫎鑰佸浘 - if (picture != null && picture.trim().length() > 0 && !Constant.IS_TEST) { - COSManager.getInstance().deleteFile(picture); + if (resultObj.getIcon() != null && resultObj.getIcon().trim().length() > 0 && !Constant.IS_TEST) { + COSManager.getInstance().deleteFile(resultObj.getIcon()); }; // 瀛樺偍鏂板浘 record.setIcon(picture); } else { record.setIcon(resultObj.getIcon()); } - - record.setGoodsTotal(resultObj.getGoodsTotal()); + if (state == 0){ + record.setGoodsTotal(0); + } else { + record.setGoodsTotal(resultObj.getGoodsTotal()); + } record.setCreateTime(resultObj.getCreateTime()); record.setUpdateTime(new Date()); brandInfoMapper.updateByPrimaryKey(record); + + + if (state == 0){ + executor.execute(new Runnable() { + @Override + public void run() { + brandGoodsCaheService.removeByBrandId(id); + brandShopCaheService.removeByBrandId(id); + } + }); + } + } + + if (state == 1) { + executor.execute(new Runnable() { + @Override + public void run() { + int goodsTotal = brandGoodsCaheService.addBrandGoods(record); + record.setGoodsTotal(goodsTotal); + brandInfoMapper.updateByPrimaryKeySelective(record); + } + }); } } @@ -140,6 +179,16 @@ @Override public int deleteBatchByPrimaryKey(List<Long> list) { + executor.execute(new Runnable() { + @Override + public void run() { + for (Long id: list) { + brandGoodsCaheService.removeByBrandId(id); + brandShopCaheService.removeByBrandId(id); + } + } + }); + return brandInfoMapper.deleteBatchByPrimaryKey(list); } @@ -205,6 +254,45 @@ return brandClassShopService.countBrandShopinfo(cid); } + + @Override + public void removeAgoByDate(Date date) { + // 鍒犻櫎鍟嗗搧 + brandGoodsCaheService.removeAgoByDate(date); + + // 鍒犻櫎搴楅摵 + brandShopCaheService.removeAgoByDate(date); + + long count = brandInfoMapper.countValidByCid(null); + if (count == 0) + return; + + for (int page = 0; page < (count / 100) + 1; page++) { + updateTotalGoods(page * 100, 100); + } + } + + /** + * 鏇存柊鍟嗗搧鏁伴噺 + * @param start + * @param count + */ + private void updateTotalGoods(long start, int count) { + List<BrandInfo> list = brandInfoMapper.listValidAll(start, count); + if (list == null || list.size() == 0) + return; + + for (BrandInfo brandInfo : list) { + long goodsTotal = brandGoodsCaheService.countByBrandId(brandInfo.getId()); + + BrandInfo updateInfo = new BrandInfo(); + updateInfo.setId(brandInfo.getId()); + updateInfo.setGoodsTotal((int)goodsTotal); + brandInfoMapper.updateByPrimaryKeySelective(updateInfo); + } + } + + @Override public void addShopAndGoods(long start, int count) { List<BrandInfo> list = brandInfoMapper.listValidAll(start, count); @@ -212,8 +300,9 @@ return; for (BrandInfo brandInfo : list) { - String key = brandInfo.getName(); - if (StringUtil.isNullOrEmpty(key)) + String name = brandInfo.getName(); + String searchKey = brandInfo.getSearchKey(); + if (StringUtil.isNullOrEmpty(name) && StringUtil.isNullOrEmpty(searchKey)) continue; // 娣诲姞鍟嗗搧 @@ -243,7 +332,7 @@ return brandInfoMapper.listValidByCidToApp(cid); } - @Cacheable(value = "brandCache", key = "'listValidToApp-'+#start+'-'+#start +'-'+#cid") +// @Cacheable(value = "brandCache", key = "'listValidToApp-'+#start+'-'+#start +'-'+#cid") @Override public List<BrandInfoVO> listValidToApp(long start, int count, Long cid) { List<BrandInfoVO> list = brandInfoMapper.listBrandInfoVO(start, count, cid); @@ -252,7 +341,7 @@ BigDecimal fanLiRate = hongBaoManageService.getFanLiRate(); BigDecimal shareRate = hongBaoManageService.getShareRate(); - + ConfigParamsDTO configParamsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE); List<BrandInfoVO> listInfo = new ArrayList<BrandInfoVO>(); for (int i = 0; i < list.size(); i++) { BrandInfoVO brand = list.get(i); @@ -267,19 +356,19 @@ for (BrandGoodsCahe brandGoods : listGoods) { JDGoods goodsJD = brandGoods.getGoodsJD(); if (goodsJD != null) { - listGoodsVO.add(GoodsDetailVOFactory.convertJDGoods(goodsJD, fanLiRate, shareRate)); + listGoodsVO.add(GoodsDetailVOFactory.convertJDGoods(goodsJD, configParamsDTO)); continue; } TaoBaoGoodsBrief goodsTB = brandGoods.getGoodsTB(); if (goodsTB != null) { - listGoodsVO.add(GoodsDetailVOFactory.convertTaoBao(goodsTB, null, fanLiRate, shareRate)); + listGoodsVO.add(GoodsDetailVOFactory.convertTaoBao(goodsTB, configParamsDTO)); continue; } PDDGoodsDetail goodsPDD = brandGoods.getGoodsPDD(); if (goodsPDD != null) { - listGoodsVO.add(GoodsDetailVOFactory.convertPDDGoods(goodsPDD, fanLiRate, shareRate)); + listGoodsVO.add(GoodsDetailVOFactory.convertPDDGoods(goodsPDD, configParamsDTO)); continue; } } -- Gitblit v1.8.0