package com.qs.mp.quartz.task; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.qs.mp.admin.domain.Goods; import com.qs.mp.admin.service.IGoodsService; import com.qs.mp.admin.service.impl.GoodsServiceImpl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; /** * 图片相关处理任务 * * @author Cup * @date 2022/4/18 */ @Component("pictureTask") public class PictureTask { protected final Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName()); @Autowired private IGoodsService goodsService; public void detailPictureReplace(Long goodsId) { List goodsList = new ArrayList<>(); Goods goods = goodsService.getById(goodsId); if (goods != null) { goodsList.add(goods); pictureReplace(goodsList); } } public void detailPictureReplace() { List goodsList = goodsService.list(); if (CollectionUtils.isNotEmpty(goodsList)) { pictureReplace(goodsList); } } /** * 商品详情图片处理方法 */ private void pictureReplace(List goodsList) { if (CollectionUtils.isNotEmpty(goodsList)) { List params = new ArrayList<>(); for (Goods goods : goodsList) { String desc = goods.getDescription(); if (StringUtils.isBlank(desc)) { continue; } // 将字符串中所有的.jpg和.png 替换为.jpg_s和.png_s String result = desc.replaceAll(".jpg\"", ".jpg_s\"").replaceAll(".jpeg\"", ".jpeg_s\"").replaceAll(".png\"", ".png_s\""); Goods param = new Goods(); param.setGoodsId(goods.getGoodsId()); param.setDescription(result); params.add(param); } // 批量修改商品详情图片 if (CollectionUtils.isNotEmpty(params)) { goodsService.updateBatchById(params); } } } }