Browse Source

feature:新增写入收益获得画意值方法、绘画写入画意消耗记录方法

feature-1.1
Penny 3 years ago
parent
commit
58155f95ff
  1. 24
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/enums/GoldEnum.java
  2. 32
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorProfitServiceImpl.java
  3. 36
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/StableDiffusionServiceImpl.java

24
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/enums/GoldEnum.java

@ -0,0 +1,24 @@
package com.bnyer.img.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author chengkun
* @date 2023/05/16 17:46
*/
@Getter
@AllArgsConstructor
public enum GoldEnum {
PAINT("0","AI绘画消耗"),
COUPLE_HEAD("1","情侣头像消耗"),
SIGN("2","签到获得"),
INVITE("3","邀请获得"),
DOWNLOAD_IMG("4","下载图片获得"),
EXCHANGE("5","意心兑换获得"),
BUY_VIP("6","购买会员获得");
private String code;
private String value;
}

32
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorProfitServiceImpl.java

@ -5,15 +5,20 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.bnyer.common.core.constant.RedisKeyConstant;
import com.bnyer.common.core.domain.CreatorProfit;
import com.bnyer.common.core.domain.GoldLog;
import com.bnyer.common.core.domain.InviteLog;
import com.bnyer.common.core.domain.TiktokUser;
import com.bnyer.common.core.dto.CreatorProfitAdInsertDto;
import com.bnyer.common.core.dto.ProfitInOrEndDto;
import com.bnyer.common.redis.service.RedisService;
import com.bnyer.common.redis.service.RedissonService;
import com.bnyer.img.enums.GoldEnum;
import com.bnyer.img.mapper.CreatorProfitMapper;
import com.bnyer.img.mapper.InviteLogMapper;
import com.bnyer.img.service.CreatorProfitService;
import com.bnyer.img.service.GoldLogService;
import com.bnyer.img.service.TiktokImgService;
import com.bnyer.img.service.TiktokUserService;
import com.bnyer.img.vo.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@ -45,6 +50,12 @@ public class CreatorProfitServiceImpl implements CreatorProfitService {
@Autowired
private RedissonService redissonService;
@Autowired
private TiktokUserService tiktokUserService;
@Autowired
private GoldLogService goldLogService;
@Override
public boolean checkCreatorProfitExist(String mark) {
CreatorProfit creatorProfit = creatorProfitMapper.checkCreatorProfitExist(mark);
@ -121,6 +132,27 @@ public class CreatorProfitServiceImpl implements CreatorProfitService {
}
int insert = creatorProfitMapper.insert(creatorProfit);
log.info("新增艺术家【{}】图片【{}】应用【{}】平台【{}】收益记录", creatorProfit.getCreatorId(), creatorProfit.getImgId(), creatorProfit.getAppType(), creatorProfit.getPlatform());
//更新用户画意值数量
TiktokUser tiktokUser = tiktokUserService.getUserById(params.getUserId());
tiktokUser.setGoldNum(tiktokUser.getGoldNum() + 2);
tiktokUserService.updateTiktokUser(tiktokUser);
//新增用户画意值记录
GoldLog goldLog = new GoldLog();
goldLog.setGoldNum(2);
goldLog.setUserId(params.getUserId());
goldLog.setReason(GoldEnum.DOWNLOAD_IMG.getValue());
switch (params.getPlatform()){
case "0":
goldLog.setSource("1");
break;
case "1":
goldLog.setSource("2");
break;
case "2":
goldLog.setSource("3");
break;
}
goldLogService.insert(goldLog);
return insert;
}

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

@ -5,25 +5,20 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.bnyer.common.core.constant.RedisKeyConstant;
import com.bnyer.common.core.constant.TiktokConstant;
import com.bnyer.common.core.domain.AiPaint;
import com.bnyer.common.core.domain.FhUser;
import com.bnyer.common.core.domain.TiktokUser;
import com.bnyer.common.core.domain.WxUser;
import com.bnyer.common.core.domain.*;
import com.bnyer.common.core.dto.TextToImgDto;
import com.bnyer.common.core.dto.TextToImgLoveDto;
import com.bnyer.common.core.enums.EnumUserClientType;
import com.bnyer.common.core.exception.ServiceException;
import com.bnyer.common.core.utils.StringUtils;
import com.bnyer.common.core.utils.TranslateUtils;
import com.bnyer.common.core.utils.file.Base64ToMultipartFileUtils;
import com.bnyer.common.core.vo.TextToImgVo;
import com.bnyer.common.core.vo.UserInfoVo;
import com.bnyer.common.redis.service.RedisService;
import com.bnyer.common.security.utils.SecurityUtils;
import com.bnyer.file.api.RemoteFileService;
import com.bnyer.img.config.StableDiffusionConfig;
import com.bnyer.img.config.TencentTranslateConfig;
import com.bnyer.img.enums.AiPaintButtonEnum;
import com.bnyer.img.enums.GoldEnum;
import com.bnyer.img.service.*;
import com.tencentcloudapi.aiart.v20221229.AiartClient;
import com.tencentcloudapi.aiart.v20221229.models.ResultConfig;
@ -42,7 +37,6 @@ import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.multipart.MultipartFile;
import java.text.SimpleDateFormat;
import java.util.*;
@Service
@ -76,6 +70,9 @@ public class StableDiffusionServiceImpl implements StableDiffusionService {
@Autowired
private FhUserService fhUserService;
@Autowired
private GoldLogService goldLogService;
private String translate(String text){
try{
Credential cred = new Credential(tencentTranslateConfig.getSecretId(), tencentTranslateConfig.getSecretKey());
@ -218,6 +215,13 @@ public class StableDiffusionServiceImpl implements StableDiffusionService {
paint.setPainterId(param.getPainterId());
paint.setPainterName(param.getPainterName());
aiPaintService.insert(paint);
//写入画意值消耗记录
GoldLog goldLog = new GoldLog();
goldLog.setGoldNum(param.getGoldNum());
goldLog.setUserId(param.getPainterId());
goldLog.setSource(param.getPlatform());
goldLog.setReason(GoldEnum.PAINT.getValue());
goldLogService.insert(goldLog);
}
img.setPaintId(paintId);
img.setPaintTime(paintTime);
@ -302,7 +306,6 @@ public class StableDiffusionServiceImpl implements StableDiffusionService {
String imgStr = remoteFileService.uploadQiNiu(file,7).getData();
//保存生辰该图片到ai绘画表
AiPaint paint = new AiPaint();
//paint.setId(); 主键改成雪花算法后启用
paintId = IdUtil.getSnowflakeNextIdStr();
paintTime = new Date();
paint.setPaintId(paintId);
@ -325,6 +328,13 @@ public class StableDiffusionServiceImpl implements StableDiffusionService {
paint.setPainterId(param.getPainterId());
paint.setPainterName(param.getPainterName());
aiPaintService.insert(paint);
//写入画意值消耗记录
GoldLog goldLog = new GoldLog();
goldLog.setGoldNum(param.getGoldNum());
goldLog.setUserId(param.getPainterId());
goldLog.setSource(param.getPlatform());
goldLog.setReason(GoldEnum.PAINT.getValue());
goldLogService.insert(goldLog);
}
img.setPaintId(paintId);
img.setPaintTime(paintTime);
@ -377,6 +387,14 @@ public class StableDiffusionServiceImpl implements StableDiffusionService {
default:
throw new ServiceException("用户类型错误!", TiktokConstant.USER_TYPE_ERROR);
}
//写入画意值消耗记录
GoldLog goldLog = new GoldLog();
goldLog.setGoldNum(param.getGoldNum());
goldLog.setUserId(param.getPainterId());
goldLog.setSource(param.getPlatform());
goldLog.setReason(GoldEnum.COUPLE_HEAD.getValue());
goldLogService.insert(goldLog);
//描述词处理
//内容提示词
String contentPrompt = param.getPrompt();

Loading…
Cancel
Save