Commit 079a1636 authored by liqin's avatar liqin 💬

bug fixed

parent ff5319fb
......@@ -13,6 +13,34 @@ import java.io.IOException;
public class ImageUtil {
/**
* JAVA添加文字水印
*
* @param srcImage 目标图片
* @param waterImage 水印图片
* @return
*/
public static byte[] watermarkImageSimple(BufferedImage srcImage, BufferedImage waterImage) {
Graphics2D graphics = srcImage.createGraphics();
graphics.drawImage(waterImage, srcImage.getWidth() - 100, 0, waterImage.getWidth(), waterImage.getHeight(), null);
graphics.dispose();
ImageWriter writer = ImageIO.getImageWritersByFormatName("jpg").next();
ImageWriteParam imgWriteParams = new javax.imageio.plugins.jpeg.JPEGImageWriteParam(null);
imgWriteParams.setCompressionMode(ImageWriteParam.MODE_DISABLED);
imgWriteParams.setCompressionQuality(1.0f);
imgWriteParams.setProgressiveMode(ImageWriteParam.MODE_DISABLED);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
IIOImage iIamge = new IIOImage(waterImage, null, null);
try {
writer.setOutput(ImageIO.createImageOutputStream(baos));
writer.write(null, iIamge, imgWriteParams);
} catch (IOException e) {
e.printStackTrace();
}
return baos.toByteArray();
}
/**
* JAVA添加文字水印
*
......
......@@ -33,6 +33,20 @@
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>4.6.17</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
......
package cn.wisenergy.web.admin.controller.app;
import cn.wisenergy.common.enums.ResultEnum;
import cn.hutool.extra.qrcode.QrCodeUtil;
import cn.wisenergy.common.utils.*;
import cn.wisenergy.model.app.User;
import cn.wisenergy.model.app.UsersDto;
import cn.wisenergy.service.app.UserService;
import cn.wisenergy.web.sms.BaseException;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
......@@ -14,11 +13,17 @@ import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.ClassPathResource;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
......@@ -118,12 +123,24 @@ public class LoginController {
return (Map) ResultUtils.returnDataSuccess(userDtoJson);
}
@ApiOperation(value = "二维码邀请注册", notes = "二维码邀请注册", httpMethod = "POST")
@ApiImplicitParams({
@ApiImplicitParam(name = "userId", value = "用户手机号", required = true, dataType = "String")
})
@PostMapping("/registerByQrCode")
public byte[] registerByQrCode(@RequestParam String userId, HttpServletRequest request) throws IOException {
User user = this.usersService.getById(userId);
if (user != null) {
String regFullUrl = request.getScheme() + "://" + request.getServerName() + ":"+request.getServerPort()
+ "/regist?beInvitedCode=" + user.getInviteCode();
final InputStream is = new ClassPathResource("templates/background.jpg").getInputStream();
BufferedImage srcImage = ImageIO.read(is);
BufferedImage waterImage = QrCodeUtil.generate(regFullUrl,100, 100);
return ImageUtil.watermarkImageSimple(srcImage, waterImage);
}
return null;
}
//用户注册
@ApiOperation(value = "用户注册", notes = "用户注册", httpMethod = "POST", produces = "application/json; charset=UTF-8")
@ApiImplicitParams({
@ApiImplicitParam(name = "userId", value = "用户手机号", required = true, dataType = "String"),
......
package cn.wisenergy.common.config.file;
package cn.wisenergy.web.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
......@@ -17,13 +17,13 @@ public class FileUploadConfig {
* 重新定义文件上传对象【springBoot request转化成MultipartHttpServletRequest】
* @return
*/
// @Bean(name = "multipartResolver")
// public MultipartResolver multipartResolver() {
// CommonsMultipartResolver resolver = new CommonsMultipartResolver();
// resolver.setDefaultEncoding("UTF-8");
// resolver.setResolveLazily(true);
// resolver.setMaxInMemorySize(40960);
// resolver.setMaxUploadSize(512 * 1024 * 1024);
// return resolver;
// }
@Bean(name = "multipartResolver")
public MultipartResolver multipartResolver() {
CommonsMultipartResolver resolver = new CommonsMultipartResolver();
resolver.setDefaultEncoding("UTF-8");
resolver.setResolveLazily(true);
resolver.setMaxInMemorySize(40960);
resolver.setMaxUploadSize(512 * 1024 * 1024);
return resolver;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment