diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/CdkLog.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/CdkLog.java index 19a692f..c8329ad 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/CdkLog.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/CdkLog.java @@ -36,6 +36,13 @@ public class CdkLog implements Serializable { @ApiModelProperty(value="兑换码") private String cdk; + /** + * 兑换次数 + */ + @TableField(value = "paint_num") + @ApiModelProperty(value="兑换次数") + private int paintNum; + /** * 用户id */ diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/PaintCdk.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/PaintCdk.java index 345eb90..f756d5a 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/PaintCdk.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/PaintCdk.java @@ -41,7 +41,7 @@ public class PaintCdk implements Serializable { */ @TableField(value = "paint_num") @ApiModelProperty(value="兑换次数") - private String paintNum; + private int paintNum; /** * 是否显示 (0->隐藏;1->显示) diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/PaintCdkUseDto.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/PaintCdkUseDto.java index f5d66f8..002fbf7 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/PaintCdkUseDto.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/PaintCdkUseDto.java @@ -23,6 +23,10 @@ public class PaintCdkUseDto implements Serializable { private Long userId; @NotNull(message = "平台渠道不能为空!") - @ApiModelProperty(value="平台(0->通用;1->抖音;2->快手;3->微信)") + @ApiModelProperty(value="平台(0->hub;1->抖音;2->快手;3->微信)") private String source; + + @NotNull(message = "应用不能为空!") + @ApiModelProperty(value="应用(0->次元意境)") + private String appType; } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java index 756463d..f98e478 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java @@ -456,7 +456,7 @@ public class TiktokMiniController extends BaseController { @ApiOperation(value="使用cdk") @PostMapping(value = "/useCdk") public AjaxResult useCdk(@Validated @RequestBody @ApiParam("ai绘画对象") PaintCdkUseDto dto){ - paintCdkService.useCdk(dto.getCdk(),dto.getSource(),dto.getUserId()); + paintCdkService.useCdk(dto.getCdk(),dto.getSource(),dto.getUserId(),dto.getAppType()); return AjaxResult.success(); } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/PaintCdkService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/PaintCdkService.java index 7d93b98..18c9e97 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/PaintCdkService.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/PaintCdkService.java @@ -24,6 +24,7 @@ public interface PaintCdkService { * @param cdk 兑换码 * @param source 平台 * @param userId 用户id + * @param appType 应用 */ - void useCdk(String cdk,String source,Long userId); + void useCdk(String cdk,String source,Long userId,String appType); } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/StableDiffusionService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/StableDiffusionService.java index 6b386b6..5b9cec4 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/StableDiffusionService.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/StableDiffusionService.java @@ -6,7 +6,21 @@ import com.bnyer.common.core.vo.TextToImgVo; public interface StableDiffusionService { + /** + * 文生图 + * @param param + * @return + */ TextToImgVo textToImg(TextToImgDto param); void imgToImg(); + + /** + * 增加ai绘画次数 + * @param appType 应用 + * @param platform 平台 + * @param userId 用户id + * @param paintNUm 绘画次数 + */ + void addPlatformUserAiPaintNum(String appType,String platform,Long userId,int paintNUm); } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/PaintCdkServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/PaintCdkServiceImpl.java index b496cc7..7e77930 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/PaintCdkServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/PaintCdkServiceImpl.java @@ -8,6 +8,7 @@ import com.bnyer.common.core.utils.uuid.IdUtils; import com.bnyer.img.mapper.CdkLogMapper; import com.bnyer.img.mapper.PaintCdkMapper; import com.bnyer.img.service.PaintCdkService; +import com.bnyer.img.service.StableDiffusionService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -25,6 +26,9 @@ public class PaintCdkServiceImpl implements PaintCdkService { @Autowired private CdkLogMapper cdkLogMapper; + @Autowired + private StableDiffusionService stableDiffusionService; + @Override @Transactional(rollbackFor = Exception.class) public void generatorCdk(String source,int paintNum) { @@ -53,19 +57,21 @@ public class PaintCdkServiceImpl implements PaintCdkService { @Override @Transactional(rollbackFor = Exception.class) - public void useCdk(String cdk, String source,Long userId) { + public void useCdk(String cdk, String source,Long userId,String appType) { //检查cdk是否被使用过 PaintCdk paintCdk = checkCdk(cdk, source); if(paintCdk == null){ - throw new ServiceException("该兑换码已被使用!"); + throw new ServiceException("该兑换码不存在或已被使用!"); }else{ - //TODO 增加用户绘画次数 + //增加用户绘画次数 + stableDiffusionService.addPlatformUserAiPaintNum(appType,source,userId,paintCdk.getPaintNum()); //修改cdk状态 paintCdk.setIsUse("1"); paintCdkMapper.updateById(paintCdk); //写入使用记录 CdkLog cdkLog = new CdkLog(); cdkLog.setCreateTime(new Date()); + cdkLog.setPaintNum(paintCdk.getPaintNum()); cdkLog.setSource(source); cdkLog.setIsShow("1"); cdkLog.setCdk(cdk); 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 6a3d31f..fc2fbb3 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 @@ -140,7 +140,7 @@ public class StableDiffusionServiceImpl implements StableDiffusionService { paint.setHeight(param.getHeight() == null ? "512" : String.valueOf(param.getHeight())); paint.setWidth(param.getWidth() == null ? "512" : String.valueOf(param.getWidth())); paint.setIsShow("1"); - paint.setSource("1"); + paint.setSource(param.getPlatform()); paint.setPainterId(param.getPainterId()); paint.setPainterName(param.getPainterName()); aiPaintService.insert(paint); @@ -176,4 +176,14 @@ public class StableDiffusionServiceImpl implements StableDiffusionService { public void imgToImg() { } + + @Override + public void addPlatformUserAiPaintNum(String appType, String platform, Long userId, int patinNum) { + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); + String date = df.format(new Date()); + String hashKey = appType+":"+platform+":"+userId; + log.info("日期【{}】应用【{}】平台【{}】用户【{}】ai绘画次数+【{}】",date,appType,platform,userId,patinNum); + String redisKey = RedisKeyConstant.PLATFORM_USER_AI_PAINT_KEY + date; + redisService.hashIncr(redisKey, hashKey, -patinNum); + } } diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CdkLogMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CdkLogMapper.xml index 89ac854..5685480 100644 --- a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CdkLogMapper.xml +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CdkLogMapper.xml @@ -6,6 +6,7 @@ + @@ -13,6 +14,6 @@ - id, cdk, user_id, `source`, is_show, create_time + id, cdk, user_id, `source`, is_show, create_time,paint_num \ No newline at end of file