PictureTask.java 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package com.qs.mp.quartz.task;
  2. import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
  3. import com.baomidou.mybatisplus.core.toolkit.StringUtils;
  4. import com.qs.mp.admin.domain.Goods;
  5. import com.qs.mp.admin.service.IGoodsService;
  6. import com.qs.mp.admin.service.impl.GoodsServiceImpl;
  7. import org.slf4j.Logger;
  8. import org.slf4j.LoggerFactory;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Component;
  11. import org.springframework.transaction.annotation.Transactional;
  12. import java.util.ArrayList;
  13. import java.util.List;
  14. /**
  15. * 图片相关处理任务
  16. *
  17. * @author Cup
  18. * @date 2022/4/18
  19. */
  20. @Component("pictureTask")
  21. public class PictureTask {
  22. protected final Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName());
  23. @Autowired
  24. private IGoodsService goodsService;
  25. public void detailPictureReplace(Long goodsId) {
  26. List<Goods> goodsList = new ArrayList<>();
  27. Goods goods = goodsService.getById(goodsId);
  28. if (goods != null) {
  29. goodsList.add(goods);
  30. pictureReplace(goodsList);
  31. }
  32. }
  33. public void detailPictureReplace() {
  34. List<Goods> goodsList = goodsService.list();
  35. if (CollectionUtils.isNotEmpty(goodsList)) {
  36. pictureReplace(goodsList);
  37. }
  38. }
  39. /**
  40. * 商品详情图片处理方法
  41. */
  42. private void pictureReplace(List<Goods> goodsList) {
  43. if (CollectionUtils.isNotEmpty(goodsList)) {
  44. List<Goods> params = new ArrayList<>();
  45. for (Goods goods : goodsList) {
  46. String desc = goods.getDescription();
  47. if (StringUtils.isBlank(desc)) {
  48. continue;
  49. }
  50. // 将字符串中所有的.jpg和.png 替换为.jpg_s和.png_s
  51. String result = desc.replaceAll(".jpg\"", ".jpg_s\"").replaceAll(".jpeg\"", ".jpeg_s\"").replaceAll(".png\"", ".png_s\"");
  52. Goods param = new Goods();
  53. param.setGoodsId(goods.getGoodsId());
  54. param.setDescription(result);
  55. params.add(param);
  56. }
  57. // 批量修改商品详情图片
  58. if (CollectionUtils.isNotEmpty(params)) {
  59. goodsService.updateBatchById(params);
  60. }
  61. }
  62. }
  63. }