Commit 079a1636 authored by liqin's avatar liqin 💬

bug fixed

parent ff5319fb
...@@ -13,6 +13,34 @@ import java.io.IOException; ...@@ -13,6 +13,34 @@ import java.io.IOException;
public class ImageUtil { 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添加文字水印 * JAVA添加文字水印
* *
......
...@@ -33,6 +33,20 @@ ...@@ -33,6 +33,20 @@
<groupId>com.aliyun</groupId> <groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId> <artifactId>aliyun-java-sdk-core</artifactId>
</dependency> </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> <dependency>
<groupId>javax.servlet</groupId> <groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId> <artifactId>javax.servlet-api</artifactId>
......
package cn.wisenergy.web.admin.controller.app; 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.common.utils.*;
import cn.wisenergy.model.app.User; import cn.wisenergy.model.app.User;
import cn.wisenergy.model.app.UsersDto; import cn.wisenergy.model.app.UsersDto;
import cn.wisenergy.service.app.UserService; import cn.wisenergy.service.app.UserService;
import cn.wisenergy.web.sms.BaseException;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
...@@ -14,11 +13,17 @@ import io.swagger.annotations.ApiOperation; ...@@ -14,11 +13,17 @@ import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; 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.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest; 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.HashMap;
import java.util.Map; import java.util.Map;
...@@ -118,12 +123,24 @@ public class LoginController { ...@@ -118,12 +123,24 @@ public class LoginController {
return (Map) ResultUtils.returnDataSuccess(userDtoJson); 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") @ApiOperation(value = "用户注册", notes = "用户注册", httpMethod = "POST", produces = "application/json; charset=UTF-8")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "userId", value = "用户手机号", required = true, dataType = "String"), @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.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
...@@ -17,13 +17,13 @@ public class FileUploadConfig { ...@@ -17,13 +17,13 @@ public class FileUploadConfig {
* 重新定义文件上传对象【springBoot request转化成MultipartHttpServletRequest】 * 重新定义文件上传对象【springBoot request转化成MultipartHttpServletRequest】
* @return * @return
*/ */
// @Bean(name = "multipartResolver") @Bean(name = "multipartResolver")
// public MultipartResolver multipartResolver() { public MultipartResolver multipartResolver() {
// CommonsMultipartResolver resolver = new CommonsMultipartResolver(); CommonsMultipartResolver resolver = new CommonsMultipartResolver();
// resolver.setDefaultEncoding("UTF-8"); resolver.setDefaultEncoding("UTF-8");
// resolver.setResolveLazily(true); resolver.setResolveLazily(true);
// resolver.setMaxInMemorySize(40960); resolver.setMaxInMemorySize(40960);
// resolver.setMaxUploadSize(512 * 1024 * 1024); resolver.setMaxUploadSize(512 * 1024 * 1024);
// return resolver; 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