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