|
|
@@ -2,38 +2,25 @@ package com.izouma.wenlvju.service.performance;
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
-import com.izouma.wenlvju.config.Constants;
|
|
|
import com.izouma.wenlvju.domain.ArtType;
|
|
|
import com.izouma.wenlvju.domain.Award;
|
|
|
-import com.izouma.wenlvju.domain.performance.Participant;
|
|
|
import com.izouma.wenlvju.domain.performance.Programme;
|
|
|
import com.izouma.wenlvju.domain.performance.ProgrammeAward;
|
|
|
import com.izouma.wenlvju.dto.AwardDTO;
|
|
|
import com.izouma.wenlvju.dto.PageQuery;
|
|
|
import com.izouma.wenlvju.dto.ProgrammeAwardDTO;
|
|
|
import com.izouma.wenlvju.enums.ProgrammeStatus;
|
|
|
-import com.izouma.wenlvju.exception.BusinessException;
|
|
|
import com.izouma.wenlvju.repo.ArtTypeRepo;
|
|
|
import com.izouma.wenlvju.repo.AwardRepo;
|
|
|
-import com.izouma.wenlvju.repo.performance.ParticipantRepo;
|
|
|
import com.izouma.wenlvju.repo.performance.ProgrammeAwardRepo;
|
|
|
import com.izouma.wenlvju.repo.performance.ProgrammeRepo;
|
|
|
-import com.izouma.wenlvju.service.storage.StorageService;
|
|
|
import com.izouma.wenlvju.utils.JpaUtils;
|
|
|
import com.izouma.wenlvju.utils.ObjUtils;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
-import net.coobird.thumbnailator.Thumbnails;
|
|
|
import org.springframework.data.domain.Page;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import javax.imageio.ImageIO;
|
|
|
-import java.awt.*;
|
|
|
-import java.awt.geom.Ellipse2D;
|
|
|
-import java.awt.image.BufferedImage;
|
|
|
-import java.io.*;
|
|
|
-import java.net.URL;
|
|
|
import java.util.*;
|
|
|
-import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
|
@@ -44,8 +31,6 @@ public class ProgrammeAwardService {
|
|
|
private ArtTypeRepo artTypeRepo;
|
|
|
private ProgrammeRepo programmeRepo;
|
|
|
private AwardRepo awardRepo;
|
|
|
- private ParticipantRepo participantRepo;
|
|
|
- private StorageService storageService;
|
|
|
|
|
|
public Page<ProgrammeAward> all(PageQuery pageQuery) {
|
|
|
return programmeAwardRepo.findAll(JpaUtils.toSpecification(pageQuery, ProgrammeAward.class), JpaUtils.toPageRequest(pageQuery));
|
|
|
@@ -296,7 +281,6 @@ public class ProgrammeAwardService {
|
|
|
// throw new BusinessException("有节目未评分");
|
|
|
// }
|
|
|
|
|
|
-
|
|
|
Map<Long, List<Programme>> programmeMap = programmeList.stream()
|
|
|
.peek(programme -> {
|
|
|
if (ObjectUtil.isNull(programme.getScore())) {
|
|
|
@@ -350,69 +334,4 @@ public class ProgrammeAwardService {
|
|
|
});
|
|
|
// programmeAwardRepo.saveAll(programmeAwards);
|
|
|
}
|
|
|
-
|
|
|
- public String createAward(String path) throws IOException {
|
|
|
-// Participant participant = participantRepo.findById(participantId).orElseThrow(new BusinessException("无记录"));
|
|
|
- BufferedImage shareImg = ImageIO.read(this.getClass().getResourceAsStream("/static/certificate.jpeg"));
|
|
|
- BufferedImage result = new BufferedImage(1100, 778, BufferedImage.TYPE_INT_RGB);
|
|
|
- Graphics2D g = result.createGraphics();
|
|
|
- g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
|
|
|
- g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
|
|
|
- g.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
|
|
|
- g.setComposite(AlphaComposite.SrcOver);
|
|
|
- g.drawImage(shareImg, 0, 0, null);
|
|
|
-
|
|
|
- // 头像
|
|
|
- BufferedImage avatar = ImageIO
|
|
|
- .read(new URL(Optional.ofNullable("http://yskj.njlyw.cn:8081/files/image/2021-11-04-19-07-50IkiRAgFj.jpg")
|
|
|
- .orElse(Constants.DEFAULT_AVATAR)));
|
|
|
-// int size = Math.min(avatar.getWidth(), avatar.getHeight());
|
|
|
-// BufferedImage subImg = avatar
|
|
|
-// .getSubimage((avatar.getWidth() - size) / 2, (avatar.getHeight() - size) / 2, size, size);
|
|
|
- BufferedImage avatarImg = new BufferedImage(68 * 2, 78 * 2, BufferedImage.TYPE_INT_ARGB);
|
|
|
- Graphics2D g2 = avatarImg.createGraphics();
|
|
|
- g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
|
|
|
- g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
|
|
|
- g2.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
|
|
|
- g2.setComposite(AlphaComposite.SrcOver);
|
|
|
- g2.setBackground(Color.GREEN);
|
|
|
-// g2.setClip(new Ellipse2D.Float(0, 0, 68 * 2, 76 * 2));
|
|
|
- g2.drawImage(avatar, 0, 0, 68 * 2, 78 * 2, null);
|
|
|
-
|
|
|
- g.drawImage(avatarImg, 420 * 2, 50 * 2, 68 * 2, 78 * 2, null);
|
|
|
-
|
|
|
- // 文字
|
|
|
- g.setColor(new Color(0, 0, 0)); //根据图片的背景设置水印颜色
|
|
|
- Font font = new Font("黑体", Font.PLAIN, 30);
|
|
|
- String content = "陆俊旗小朋友:";
|
|
|
- // 加水印
|
|
|
- g.setFont(font); //设置字体
|
|
|
- //设置水印的坐标
|
|
|
- g.drawString(content, 160, 330); //画出水印
|
|
|
-
|
|
|
- String content1 = "在2021“宁艺之星”社会艺术水平考级展演(览)中,表现优";
|
|
|
- //设置水印的坐标
|
|
|
- g.drawString(content1, 215, 390);
|
|
|
- String content2 = "秀,被评为“一等奖”,特发此证,以资鼓励。";
|
|
|
- g.drawString(content2, 160, 450);
|
|
|
-
|
|
|
- g.dispose();
|
|
|
- ByteArrayOutputStream out = new ByteArrayOutputStream(1024);
|
|
|
- Thumbnails.of(result)
|
|
|
- .scale(1)
|
|
|
- .outputQuality(.9f)
|
|
|
- .outputFormat("jpg")
|
|
|
- .toOutputStream(out);
|
|
|
- ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
|
|
|
-
|
|
|
-
|
|
|
- File file = new File("/Users/qiufangchao/Desktop/1.jpg");
|
|
|
- byte[] buffer = new byte[in.available()];
|
|
|
- in.read(buffer);
|
|
|
- OutputStream outStream = new FileOutputStream(file);
|
|
|
- outStream.write(buffer);
|
|
|
-// return storageService.uploadFromInputStream(in, path + "test.jpg");
|
|
|
-
|
|
|
- return "ok";
|
|
|
- }
|
|
|
}
|