@@ -69,13 +69,17 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
// 1、获取用户信息
AuthPrincipalVo userHolder = UserContext . getUserHolder ( ) ;
Long accountId = userHolder . getId ( ) ;
if ( ! GenerateModeEnum . getGenerateModeList ( ) . contains ( generateThroughImageTextDTO . getGenerateType ( ) ) ) {
throw new BusinessException ( " unknown.generate.type " ) ;
}
// 2、判断必须入参是否为非空
Generate generate = new Generate ( ) ;
generate . setAccountId ( accountId ) ;
generate . setLevel1Type ( generateThroughImageTextDTO . getLevel1Type ( ) ) ;
// 当level1type是sketchboard时, 存数据库需要加上当前性别
generate . setGenerateType ( generate . getLevel1Type ( ) . equals ( SKETCH_BOARD . getRealName ( ) ) ?
generateThroughImageTextDTO . getGend er ( ) + " _ " + generateThroughImageTextDTO . getGenerateType ( ) :
generateThroughImageTextDTO . getGenerateType ( ) + " ( " + generateThroughImageTextDTO . getGend er ( ) + " ) " :
generateThroughImageTextDTO . getGenerateType ( ) ) ;
generate . setModelName ( StringUtil . isNullOrEmpty ( generateThroughImageTextDTO . getVersion ( ) ) ? ModelNameEnum . MODEL_0 . getCode ( ) : generateThroughImageTextDTO . getVersion ( ) ) ;
generate . setCreateDate ( DateUtil . getByTimeZone ( generateThroughImageTextDTO . getTimeZone ( ) ) ) ;
@@ -93,7 +97,9 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
save ( generate ) ;
// 4、向模型发起请求
int mode = GenerateModeEnum . TEXT . getValue ( ) . equals ( generate . getGenerateType ( ) ) ? GenerateModeEnum . TEXT . getCode ( ) : GenerateModeEnum . TEXT_IMAGE . getCode ( ) ;
int mode = GenerateModeEnum . TEXT . getValue ( ) . equals ( generateThroughImageTextDTO . getGenerateType ( ) ) ?
GenerateModeEnum . TEXT . getCode ( ) :
GenerateModeEnum . TEXT_IMAGE . getCode ( ) ;
String category = generateThroughImageTextDTO . getLevel1Type ( ) . equals ( SKETCH_BOARD . getRealName ( ) ) ? " sketch " :
generateThroughImageTextDTO . getLevel1Type ( ) . equals ( PRINT_BOARD . getRealName ( ) ) ? " print " : " moodboard " ;
List < String > generatedSketchUrl = pythonService . generateSketchOrPrint ( accountId , Objects . isNull ( elementId ) ? null : collectionElement . getUrl ( ) ,
@@ -106,13 +112,21 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
List < GenerateCollectionItemVO > generatedCollectionItems = new ArrayList < > ( ) ;
generatedSketchUrl . forEach ( item - > {
GenerateDetail generateDetail = new GenerateDetail ( ) ;
GenerateCollectionItemVO generateCollectionItemVO = new GenerateCollectionItemVO ( ) ;
String md5 = MD5Utils . encryptFile ( minioUtil . getPresignedUrl ( item , 24 * 60 ) , Boolean . FALSE ) ;
// 通过MD5值和level1Type,判断不同level1Type下相同的图片是否被like过
List < Map < String , Long > > libraryIdList = generateDetailMapper . getLibraryIdThroughMD5 ( md5 , generateThroughImageTextDTO . getLevel1Type ( ) ) ;
if ( ! libraryIdList . isEmpty ( ) ) {
generateDetail . setIsLike ( ( byte ) 1 ) ;
generateDetail . setLibraryId ( libraryIdList . get ( 0 ) . get ( " library_id " ) ) ;
generateCollectionItemVO . setIsLiked ( Boolean . TRUE ) ;
}
generateDetail . setUrl ( item ) ;
generateDetail . setGenerateId ( generate . getId ( ) ) ;
generateDetail . setCreateDate ( DateUtil . getByTimeZone ( generateThroughImageTextDTO . getTimeZone ( ) ) ) ;
generateDetail . setMd5 ( MD5Utils . encryptFile ( minioUtil . getPresignedUrl ( item , 24 * 60 ) , Boolean . FALSE ) ) ;
generateDetail . setMd5 ( md5 ) ;
generateDetailMapper . insert ( generateDetail ) ;
GenerateCollectionItemVO generateCollectionItemVO = new GenerateCollectionItemVO ( ) ;
generateCollectionItemVO . setGenerateItemId ( generateDetail . getId ( ) ) ;
generateCollectionItemVO . setGenerateItemUrl ( minioUtil . getPresignedUrl ( item , 24 * 60 ) ) ;
generatedCollectionItems . add ( generateCollectionItemVO ) ;