From e8118d72ccf4b14096ddb9a1176b0311031aa1fe Mon Sep 17 00:00:00 2001 From: Penny <2500338766@qq.com> Date: Tue, 25 Apr 2023 20:49:51 +0800 Subject: [PATCH] =?UTF-8?q?feature-img-1.0:sd=E6=96=B9=E6=B3=95=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bnyer-common/bnyer-common-core/pom.xml | 4 +- .../bnyer/common/security/auth/AuthLogic.java | 6 ++- .../interceptor/HeaderInterceptor.java | 3 +- .../common/security/utils/SecurityUtils.java | 44 ++++++++++++------- .../img/config/StableDiffusionConfig.java | 24 ++++++++++ .../impl/StableDiffusionServiceImpl.java | 13 ++++-- 6 files changed, 68 insertions(+), 26 deletions(-) create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/StableDiffusionConfig.java diff --git a/bnyer-common/bnyer-common-core/pom.xml b/bnyer-common/bnyer-common-core/pom.xml index 82e9f4f..0c67d44 100644 --- a/bnyer-common/bnyer-common-core/pom.xml +++ b/bnyer-common/bnyer-common-core/pom.xml @@ -139,12 +139,12 @@ com.tencentcloudapi tencentcloud-sdk-java-common - LATEST + 3.1.715 com.tencentcloudapi tencentcloud-sdk-java-tmt - LATEST + 3.1.715 diff --git a/bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/auth/AuthLogic.java b/bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/auth/AuthLogic.java index 3753b2a..1875f1e 100644 --- a/bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/auth/AuthLogic.java +++ b/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"); diff --git a/bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/interceptor/HeaderInterceptor.java b/bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/interceptor/HeaderInterceptor.java index b1097c2..ddda529 100644 --- a/bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/interceptor/HeaderInterceptor.java +++ b/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); diff --git a/bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/utils/SecurityUtils.java b/bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/utils/SecurityUtils.java index 96c597b..b1716c7 100644 --- a/bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/utils/SecurityUtils.java +++ b/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())); } /** diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/StableDiffusionConfig.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/StableDiffusionConfig.java new file mode 100644 index 0000000..29f053e --- /dev/null +++ b/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; + +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/StableDiffusionServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/StableDiffusionServiceImpl.java index f1d9516..6a3d31f 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/StableDiffusionServiceImpl.java +++ b/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 images = jsonObject.getJSONArray("images").toJavaList(String.class);