From 58155f95ff6ccc89ec7466441e58cd4c3f6c48a6 Mon Sep 17 00:00:00 2001 From: Penny <2500338766@qq.com> Date: Wed, 17 May 2023 00:46:57 +0800 Subject: [PATCH] =?UTF-8?q?feature:=E6=96=B0=E5=A2=9E=E5=86=99=E5=85=A5?= =?UTF-8?q?=E6=94=B6=E7=9B=8A=E8=8E=B7=E5=BE=97=E7=94=BB=E6=84=8F=E5=80=BC?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E3=80=81=E7=BB=98=E7=94=BB=E5=86=99=E5=85=A5?= =?UTF-8?q?=E7=94=BB=E6=84=8F=E6=B6=88=E8=80=97=E8=AE=B0=E5=BD=95=E6=96=B9?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/bnyer/img/enums/GoldEnum.java | 24 +++++++++++++ .../impl/CreatorProfitServiceImpl.java | 32 +++++++++++++++++ .../impl/StableDiffusionServiceImpl.java | 36 ++++++++++++++----- 3 files changed, 83 insertions(+), 9 deletions(-) create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/enums/GoldEnum.java diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/enums/GoldEnum.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/enums/GoldEnum.java new file mode 100644 index 0000000..d1595c1 --- /dev/null +++ b/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; +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorProfitServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorProfitServiceImpl.java index 2d9b524..58c7dc8 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorProfitServiceImpl.java +++ b/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; } 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 21fa298..8e57802 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 @@ -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();