Browse Source

feature-img-1.0:sd方法优化

feature-1.0-img
Penny 3 years ago
parent
commit
e8118d72cc
  1. 4
      bnyer-common/bnyer-common-core/pom.xml
  2. 6
      bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/auth/AuthLogic.java
  3. 3
      bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/interceptor/HeaderInterceptor.java
  4. 44
      bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/utils/SecurityUtils.java
  5. 24
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/StableDiffusionConfig.java
  6. 13
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/StableDiffusionServiceImpl.java

4
bnyer-common/bnyer-common-core/pom.xml

@ -139,12 +139,12 @@
<dependency>
<groupId>com.tencentcloudapi</groupId>
<artifactId>tencentcloud-sdk-java-common</artifactId>
<version>LATEST</version>
<version>3.1.715</version>
</dependency>
<dependency>
<groupId>com.tencentcloudapi</groupId>
<artifactId>tencentcloud-sdk-java-tmt</artifactId>
<version>LATEST</version>
<version>3.1.715</version>
</dependency>
</dependencies>

6
bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/auth/AuthLogic.java

@ -39,7 +39,8 @@ public class AuthLogic
*/
public void logout()
{
String token = SecurityUtils.getToken(TokenConstants.AUTHENTICATION);
// String token = SecurityUtils.getToken(TokenConstants.AUTHENTICATION);
String token = SecurityUtils.getToken();
if (token == null)
{
return;
@ -70,7 +71,8 @@ public class AuthLogic
*/
public LoginUser getLoginUser()
{
String token = SecurityUtils.getToken(TokenConstants.AUTHENTICATION);
// String token = SecurityUtils.getToken(TokenConstants.AUTHENTICATION);
String token = SecurityUtils.getToken();
if (token == null)
{
throw new NotLoginException("未提供token");

3
bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/interceptor/HeaderInterceptor.java

@ -34,7 +34,8 @@ public class HeaderInterceptor implements AsyncHandlerInterceptor
SecurityContextHolder.setUserName(ServletUtils.getHeader(request, SecurityConstants.DETAILS_USERNAME));
SecurityContextHolder.setUserKey(ServletUtils.getHeader(request, SecurityConstants.USER_KEY));
String token = SecurityUtils.getToken(TokenConstants.AUTHENTICATION);
//String token = SecurityUtils.getToken(TokenConstants.AUTHENTICATION);
String token = SecurityUtils.getToken();
if (StringUtils.isNotEmpty(token))
{
LoginUser loginUser = AuthUtil.getLoginUser(token);

44
bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/utils/SecurityUtils.java

@ -54,25 +54,35 @@ public class SecurityUtils
/**
* 获取请求token
*/
public static String getToken(String authType)
// public static String getToken(String authType)
// {
// //PC
// switch (authType) {
// case TokenConstants.AUTHENTICATION:
// return getToken(Objects.requireNonNull(ServletUtils.getRequest()));
// //抖音
// case TokenConstants.TIKTOK_APP_AUTH:
// return getTiktokToken(Objects.requireNonNull(ServletUtils.getRequest()));
// //快手
// case TokenConstants.FASTHAND_APP_AUTH:
// return getFhToken(Objects.requireNonNull(ServletUtils.getRequest()));
// //微信
// case TokenConstants.WECHAT_APP_AUTH:
// return getWechatToken(Objects.requireNonNull(ServletUtils.getRequest()));
// //艺术家端
// default:
// return getCreatorToken(Objects.requireNonNull(ServletUtils.getRequest()));
// }
//
// }
/**
* 获取请求token
*/
public static String getToken()
{
//PC
if(authType.equals(TokenConstants.AUTHENTICATION)){
return getToken(Objects.requireNonNull(ServletUtils.getRequest()));
//抖音
}else if(authType.equals(TokenConstants.TIKTOK_APP_AUTH)){
return getTiktokToken(Objects.requireNonNull(ServletUtils.getRequest()));
//快手
}else if(authType.equals(TokenConstants.FASTHAND_APP_AUTH)){
return getFhToken(Objects.requireNonNull(ServletUtils.getRequest()));
//微信
}else if(authType.equals(TokenConstants.WECHAT_APP_AUTH)){
return getWechatToken(Objects.requireNonNull(ServletUtils.getRequest()));
//艺术家端
}else{
return getCreatorToken(Objects.requireNonNull(ServletUtils.getRequest()));
}
return getToken(Objects.requireNonNull(ServletUtils.getRequest()));
}
/**

24
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/StableDiffusionConfig.java

@ -0,0 +1,24 @@
package com.bnyer.img.config;
import lombok.Getter;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.context.annotation.Configuration;
/**
* stable-diffusion配置类
* @author chengkun
* @date 2022/04/27 16:40
*/
@Configuration
@ConfigurationProperties(prefix = "sd")
@Getter
@RefreshScope
public class StableDiffusionConfig {
@Value("${sd.txt2ImgUrl}")
public String txt2ImgUrl;
}

13
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/StableDiffusionServiceImpl.java

@ -11,6 +11,7 @@ import com.bnyer.common.core.utils.file.Base64ToMultipartFileUtils;
import com.bnyer.common.core.vo.TextToImgVo;
import com.bnyer.common.redis.service.RedisService;
import com.bnyer.file.api.RemoteFileService;
import com.bnyer.img.config.StableDiffusionConfig;
import com.bnyer.img.config.TencentTranslateConfig;
import com.bnyer.img.service.AiPaintService;
import com.bnyer.img.service.StableDiffusionService;
@ -52,6 +53,9 @@ public class StableDiffusionServiceImpl implements StableDiffusionService {
@Autowired
private TencentTranslateConfig tencentTranslateConfig;
@Autowired
private StableDiffusionConfig stableDiffusionConfig;
private String translate(String text){
try{
Credential cred = new Credential(tencentTranslateConfig.getSecretId(), tencentTranslateConfig.getSecretKey());
@ -71,6 +75,7 @@ public class StableDiffusionServiceImpl implements StableDiffusionService {
req.setProjectId(Long.parseLong(tencentTranslateConfig.getProjectId()));
// 返回的resp是一个TextTranslateResponse的实例,与请求对象对应
TextTranslateResponse resp = client.TextTranslate(req);
log.info("翻译后的文本为:【{}】",JSON.toJSONString(resp.getTargetText()));
return resp.getTargetText();
} catch (TencentCloudSDKException e) {
log.error("调用腾讯api失败"+e.toString());
@ -106,10 +111,10 @@ public class StableDiffusionServiceImpl implements StableDiffusionService {
map.put("sampler_index","DPM++ 2S a Karras");
//map.put("sampler_index",param.getSamplerIndex());
map.put("steps",25);
map.put("negative_prompt","nsfw");
log.info("请求stable_diffusion请求体为:【{}】", JSON.toJSONString(map));
JSONObject jsonObject = restTemplate.postForObject("http://localhost:7860/sdapi/v1/txt2img", map, JSONObject.class);
log.info("请求stable_diffusion响应体的为:【{}】", JSON.toJSONString(jsonObject));
map.put("negative_prompt","easynegative");
//log.info("请求stable_diffusion请求体为:【{}】", JSON.toJSONString(map));
JSONObject jsonObject = restTemplate.postForObject(stableDiffusionConfig.getTxt2ImgUrl(), map, JSONObject.class);
//log.info("请求stable_diffusion响应体的为:【{}】", JSON.toJSONString(jsonObject));
TextToImgVo img = new TextToImgVo();
if(jsonObject != null && jsonObject.getJSONArray("images").size() > 0){
List<String> images = jsonObject.getJSONArray("images").toJavaList(String.class);

Loading…
Cancel
Save